Skip to content

feat(cutover): orchestrate cash wallet migration with client-aware presentation - #370

Merged
islandbitcoin merged 33 commits into
tmp/bridge-rebase-pr-readyfrom
eng-345/cash-wallet-cutover-fixes
May 25, 2026
Merged

feat(cutover): orchestrate cash wallet migration with client-aware presentation#370
islandbitcoin merged 33 commits into
tmp/bridge-rebase-pr-readyfrom
eng-345/cash-wallet-cutover-fixes

Conversation

@forge0x

@forge0x forge0x commented May 25, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Implements ENG-345 cash-wallet cutover orchestration: migration state persistence, candidate discovery/preflight, batch planning, checkpointed worker steps, lifecycle/operator controls, and verification tooling.
  • Adds client-aware GraphQL presentation so legacy clients continue seeing USD wallets/balances/history while capable clients using X-Flash-Client-Capabilities: cash-wallet-usdt-v1 see active USDT wallets.
  • Preserves old-client USD mutation routing after cutover and adds regression coverage for legacy balance compatibility.

Manual verification

  • Bruno no-header me query after cutover COMPLETE: legacy USD wallet returned with balance: 1000 for the $10 test account.
  • Bruno header-included me query with X-Flash-Client-Capabilities: cash-wallet-usdt-v1: USDT wallet returned with balance: 10000000.

Test plan

  • Merge rehearsal into origin/tmp/bridge-rebase-pr-ready completed with no conflicts.
  • PATH="$HOME/.nvm/versions/node/v20.20.0/bin:$PATH" yarn build
  • PATH="$HOME/.nvm/versions/node/v20.20.0/bin:$PATH" bash -lc '. ./.env && LOGLEVEL=warn ./node_modules/.bin/jest --config ./test/flash/unit/jest.config.js --bail --verbose test/flash/unit/app/cash-wallet-cutover test/flash/unit/graphql/cash-wallet-cutover.spec.ts test/flash/unit/graphql/wallet-balance-validation.spec.ts test/flash/unit/graphql/shared/types/object/usd-wallet.spec.ts --forceExit'
  • Targeted ESLint on touched cutover, GraphQL, server, and regression test files.
  • git diff --check

Known unrelated local failures

  • Full yarn test:unit still fails in existing Bridge reconciliation tests.
  • yarn tsc-check still fails on broader existing test type debt around Bridge specs/cutover fixtures.

@linear

linear Bot commented May 25, 2026

Copy link
Copy Markdown

ENG-345

@islandbitcoin islandbitcoin changed the title feat(cutover): add client-aware cash wallet presentation feat(cutover): orchestrate cash wallet migration with client-aware presentation May 25, 2026
@forge0x
forge0x force-pushed the tmp/bridge-rebase-pr-ready branch from 5f28872 to 2dc9197 Compare May 25, 2026 20:11
forge0x added 27 commits May 25, 2026 16:12
@forge0x
forge0x force-pushed the eng-345/cash-wallet-cutover-fixes branch from 64c709d to 29827ed Compare May 25, 2026 20:12
@islandbitcoin
islandbitcoin merged commit b99fdf4 into tmp/bridge-rebase-pr-ready May 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants