Files
zeekayandHanzo Dev 6099f82d56 bank: live-mode exchange via forexd + Playwright e2e for the sandbox loop
exchangeRate() sources the price by mode in one place: sandbox keeps
the deterministic reference tables; live deals through forexd at its
canonical GET /v1/{provider}/rate/{base}/{quote} (provider from
FOREX_PROVIDER, default kraken — our spot crypto+fiat backend) and
503s when FOREX_SERVICE_URL is unset, never falling back to sandbox
prices. Both exchange handlers now call it; the ledger mechanics are
unchanged.

Adds a real Playwright suite (app/dash/e2e) that boots bankd + the
dash and drives the loop end to end — membership ladder from live
/plans, demo login, testnet faucet, crypto send with txHash,
invalid-address rejection. 7 tests, green from a cold boot; one
worker since the sandbox is a shared ledger. pnpm test:e2e.

Co-authored-by: Hanzo Dev <[email protected]>
2026-08-21 13:09:54 -07:00

22 lines
454 B
JSON

{
"compilerOptions": {
"target": "ES2022",
"module": "ESNext",
"moduleResolution": "bundler",
"jsx": "react-jsx",
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"resolveJsonModule": true,
"isolatedModules": true,
"noEmit": true,
"paths": {
"@/*": [
"./src/*"
]
}
},
"include": ["src", "e2e", "playwright.config.ts"]
}