e5fe8568b0d3dbc5b7477622d94279965f119ba1
Prisma cascade on destinationAccountId silently wiped transfer rows without running TransactionsService.remove(), leaving the surviving account with a balance that reflected a transfer that no longer existed. AccountsService.remove() now iterates related transfers and reverses the counter-party delta inside the same $transaction before deleting the account. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Description
Languages
TypeScript
97.4%
CSS
1.1%
Dockerfile
0.7%
JavaScript
0.6%
HTML
0.1%