MR !155 (merged) follow-ups (https://gitlab.hola.tech/holatech1/moanapay/-/merge_requests/155)
- note_12356: separate idempotency conflict from passcode errors (409 no longer treated as PASSCODE_NOT_SET)
- note_12357: replay winner when concurrent duplicate fails after account lock wait
- note_12358: reject sub-cent USD amounts before ledger write
- note_12361: acquire opposite-direction transfer account locks in user-id order (deadlock 40P01)
- note_12362: serve maxCards from backend and refresh list before claiming limit
- note_12363: clamp USD amounts to ledger precision on screen, sheet and receipt
- wallet disconnect: disconnect AppKit alongside wagmi, tear down stale sessions before Connect
- admin-action-log: remove redundant json transformer that broke non-null details rows
MR !156 (merged) follow-up (https://gitlab.hola.tech/holatech1/moanapay/-/merge_requests/156)
- note_12365: allow admin KYC override from verified identity fields when Sumsub OCR has no number
Verification
- BE focused suites: 148/148 pass (assets, transfers, kyc, card-account)
- FE suites: 165/165 pass
- FE type-check: clean
- Maestro: fe/.maestro/mr155156-followup/verify.yaml verifies rounded send amount and card limit against real local backend (127.0.0.1:18865)
- Send screen shows 10.01 (not 10.019) for QR payload amount=10.019
- Transaction history shows "Send Successfull - 10.01 USD"
- Card account returns maxCards: 5 and 2 ACTIVE cards (1111, 2222)
Original review links:
- https://gitlab.hola.tech/holatech1/moanapay/-/merge_requests/155#note_12356
- https://gitlab.hola.tech/holatech1/moanapay/-/merge_requests/155#note_12357
- https://gitlab.hola.tech/holatech1/moanapay/-/merge_requests/155#note_12358
- https://gitlab.hola.tech/holatech1/moanapay/-/merge_requests/155#note_12361
- https://gitlab.hola.tech/holatech1/moanapay/-/merge_requests/155#note_12362
- https://gitlab.hola.tech/holatech1/moanapay/-/merge_requests/155#note_12363
- https://gitlab.hola.tech/holatech1/moanapay/-/merge_requests/156#note_12365