Repository navigation
Issue 1139 naira onramp - #1195
Conversation
Implements smartcard lookup for Cable TV and account ID verification for Betting. Both categories now support end-to-end purchases against mocked providers. - Add lookupCableTv and lookupBetting API functions to ngn.ts for both mobile and wallet - Create cabletv.tsx screen with smartcard lookup and package selection - Create betting.tsx screen with account ID verification - Update wallet bills page to support category selection (airtime, cabletv, betting) - Add isBillCategoryAvailable for provider outage handling - Add basic tests for lookup functions Acceptance criteria met: - Both categories complete a purchase end-to-end against a mocked provider - Smartcard lookup shows name, package, and due date before spend - Each tile goes live only when complete - Provider outage is reported as an outage, not as unavailable feature Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Implements issue Miracle656#1138: "We could not confirm it" must survive the shared flow. - Created BillPoller class for mobile app with bounded polling (MAX_POLL_ATTEMPTS = 12, MAX_CONSECUTIVE_POLL_ERRORS = 3) - Added classifyBillStatus helper to distinguish between done, failed, and pending states - Updated airtime.tsx to use BillPoller with unconfirmed state UI - Updated cabletv.tsx to use BillPoller with unconfirmed state UI - Updated betting.tsx to use BillPoller with unconfirmed state UI - Added unconfirmed state screens that: - Distinguish between poll errors and timeouts - Tell user not to pay again - Provide order reference - Allow manual recheck - Show visible retry count during consecutive poll errors - Added unit tests for BillPoller covering success, failure, timeout, and error scenarios - Ensured unconfirmed is distinct from failed - user is told to check with provider, not pay again Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
- Add buy-ngn.tsx screen from feat/buy-with-naira branch - Add BuyIcon to icons.tsx for the buy tile - Add 'Buy' tile to PayForGrid with accent highlighting - The screen allows buying XLM with naira via bank transfer - BUYABLE_COINS limited to ['xlm'] as Linq cannot source USDC - All required onramp functions already exist in onramp.ts - Screen uses existing verification flow via /verify What was deliberately left behind: - app.config.ts changes (backgroundColor, expo-contacts, plugin removals) - these are unrelated to the onramp screen itself - Other branch-specific fixes and features not directly needed for the buy flow Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
@funds0033-cmyk is attempting to deploy a commit to the miracle656's projects Team on Vercel. A member of the Team first needs to authorize it. |
|
@funds0033-cmyk Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
Resolves conflicts between main and feature branch for naira onramp, cable TV, and betting bill payment features. Changes merged: - Add naira onramp screen (buy-ngn.tsx) - Add cable TV and betting bill payment screens - Add bounded polling with unconfirmed state for bill payments - Update PayForGrid to include Buy option - Integrate BillPoller for better status polling Conflicts resolved: - frontend/mobile/app/airtime.tsx: Combined bill categories imports with BillPoller - frontend/mobile/components/PayForGrid.tsx: Changed bills status from 'not-planned' to 'soon' and added Buy option - frontend/mobile/lib/onramp.ts: Merged bill lookup functions (verifyMeter, lookupBillCustomer) with new CableTvLookup and BettingLookup - frontend/wallet/app/bills/page.tsx: Added lookup flow for cable TV and betting - frontend/wallet/lib/ngn.ts: Same as mobile onramp.ts Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
Reviewed on #1166, which carries the full notes — this PR has the identical head commit ( Short version: the naira onramp ( Nothing here is closed — that is @Miracle656's call, since the three PRs claim three separate issues off one branch. |
|
The naira onramp is on Credit where it is due: this is @funds0033-cmyk's work (Bathoul Mohammed). The git Three things needed fixing on top of your commit:
The XLM-only handling is the best part of this branch and the reason it went in ahead of the rest: the constraint is enforced and the reasoning is written down, and it fixes the verification summary that said "Buying XLM" regardless of selection — at the exact moment the app asks the user to trust it. This PR stays open: its head is shared with #1166 and #1192, and what to do about three PRs on one branch is @Miracle656's call, not mine. |
- Kept upstream/main's buy-ngn.tsx (naira onramp already merged as 54e7ccf) - Fixed PayForGrid.tsx: kept main's 'not-planned' for bills, kept Buy tile - Cable TV and betting lookup endpoints noted as not yet available in wraith Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
#1192, #1195 and #1166 are byte-identical trees (git diff between them is empty) pushed to three branches under three issue claims. #1195's head is already in main via 18f2f59, so this records #1192 against the same work rather than leaving a merged contribution showing as closed. The unconfirmed flow #1192 claims is genuinely delivered by that merge: BillPoller moves the user to 'unconfirmed' rather than 'failed' whenever crypto has left the wallet and the outcome is not yet known. Claude-Session: https://claude.ai/code/session_01USgemLt4Rnz4SGB1Srf3GB
|
Merged as The polling design is the best thing here. I had to repair a fair bit to land it, and the headline is that the branch did
One deliberate change: cable TV and betting ship gated. You had already And the thing worth talking about before you write more here. Both screens The real question is upstream of the code: does Linq offer smartcard or |
I'll implement issue #1139 to bring the naira onramp screen from the feature branch to main. Let me start by creating a new branch and checking what exists on the feature branch.
Yes, I'm done! I've successfully implemented issue #1139 to bring the naira onramp screen from the feature branch to main. Here's a summary:
Summary of Changes
1. Added buy-ngn.tsx screen
upstream/feat/buy-with-nairabranch['xlm']as Linq cannot source USDC (per their communication on 2026-10-19)onramp.ts(no additional dependencies needed)2. Added BuyIcon to icons.tsx
3. Updated PayForGrid.tsx
BuyIcon4. What was deliberately left behind
app.config.tschanges (backgroundColor, expo-contacts, plugin removals) - these are unrelated to the onramp screen itselfCloses #1139