Set up RUB, USDT and USDC accounts automatically #73

Merged
tech merged 4 commits from wallet-72 into main 2026-10-23 11:10:47 +00:00
Owner

New and returning customers could reach an empty wallet because account creation was not part of onboarding. Ensure RUB, USDT and USDC accounts after identity intake during signup and activation resend, and on authenticated wallet loads so existing customers receive missing defaults automatically. Preserve existing ledgers, extra currencies, funds and saved bindings. Replayed bound creates resume interrupted provider wallet/route setup without duplicate accounts.

Accounts and transfer screens now show clear preparation, failure and working retry states in English and Russian. Currency-account setup no longer directs customers to support. The backend owns creation and the existing frontend service/model/provider boundaries remain intact. Setup outcome counters and duration metrics use no customer or financial labels.

Dependency: Sendico PR #2970. Deploy its Ledger/index first, then Product Edge, then this SXCHNGE backend/frontend. The provider capability is required before any create request; unsupported providers fail safely. Existing users are repaired on their next wallet load, rather than by scanning dormant customers.

Validation passed: TESTCONTAINERS_RYUK_DISABLED=true GOFLAGS='-p=2' make test (all backend integration checks and 242 frontend tests); make lint-backend; flutter gen-l10n; frontend/app flutter analyze; changed-Dart format check; focused race-enabled creation/retry/ownership tests; and git diff --check. An independent make test-frontend run also passed all 242 tests. Plain full-suite attempts encountered dependency DNS and Docker cleanup-helper/startup timeouts; the final run disabled only the failing helper and retained each test's existing container cleanup, integration assertions, race detector and timeouts. The live local currency catalog contains RUB (2), USDT (6) and USDC (6). No security scan was requested.

UX review, measurement boundaries, rollout and limitations are documented in docs/payments.md and docs/ux/exchange-workspace.md. Native screen-reader/device QA and a deployed end-to-end signup remain release checks. Closes #72.

New and returning customers could reach an empty wallet because account creation was not part of onboarding. Ensure RUB, USDT and USDC accounts after identity intake during signup and activation resend, and on authenticated wallet loads so existing customers receive missing defaults automatically. Preserve existing ledgers, extra currencies, funds and saved bindings. Replayed bound creates resume interrupted provider wallet/route setup without duplicate accounts. Accounts and transfer screens now show clear preparation, failure and working retry states in English and Russian. Currency-account setup no longer directs customers to support. The backend owns creation and the existing frontend service/model/provider boundaries remain intact. Setup outcome counters and duration metrics use no customer or financial labels. Dependency: [Sendico PR #2970](https://git.sendico.io/tech/sendico/pulls/2970). Deploy its Ledger/index first, then Product Edge, then this SXCHNGE backend/frontend. The provider capability is required before any create request; unsupported providers fail safely. Existing users are repaired on their next wallet load, rather than by scanning dormant customers. Validation passed: TESTCONTAINERS_RYUK_DISABLED=true GOFLAGS='-p=2' make test (all backend integration checks and 242 frontend tests); make lint-backend; flutter gen-l10n; frontend/app flutter analyze; changed-Dart format check; focused race-enabled creation/retry/ownership tests; and git diff --check. An independent make test-frontend run also passed all 242 tests. Plain full-suite attempts encountered dependency DNS and Docker cleanup-helper/startup timeouts; the final run disabled only the failing helper and retained each test's existing container cleanup, integration assertions, race detector and timeouts. The live local currency catalog contains RUB (2), USDT (6) and USDC (6). No security scan was requested. UX review, measurement boundaries, rollout and limitations are documented in docs/payments.md and docs/ux/exchange-workspace.md. Native screen-reader/device QA and a deployed end-to-end signup remain release checks. Closes #72.
tech added the backendfrontend labels 2026-10-23 10:57:45 +00:00
tech self-assigned this 2026-10-23 10:57:45 +00:00
tech added 3 commits 2026-10-23 10:57:45 +00:00
tech added 1 commit 2026-10-23 10:58:30 +00:00
tech merged commit 3b551f1565 into main 2026-10-23 11:10:47 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: tech/sxchnge#73