Telegram (ask questions / claim the issue here first): https://t.me/+DOylgFv1jyJlNzM0
Why this matters
src/controllers/remittanceController.ts submitRemittanceTransaction reads status then later calls updateRemittanceStatus (lines 147-158) with no row lock or idempotency. Two concurrent submits both see status 'pending', both submit the signed XDR to Stellar, and the route has neither validateBody nor idempotencyMiddleware.
Acceptance criteria
Files to touch
- src/controllers/remittanceController.ts
- src/routes/remittanceRoutes.ts
- src/services/remittanceService.ts
- src/schemas/remittanceSchemas.ts
Out of scope
- Changing the remittance state machine
- Adding new remittance statuses
Why this matters
src/controllers/remittanceController.ts submitRemittanceTransaction reads status then later calls updateRemittanceStatus (lines 147-158) with no row lock or idempotency. Two concurrent submits both see status 'pending', both submit the signed XDR to Stellar, and the route has neither validateBody nor idempotencyMiddleware.
Acceptance criteria
Files to touch
Out of scope