diff options
| author | Adam Soltys <[email protected]> | 2026-08-03 10:38:04 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2026-08-03 10:38:04 -0700 |
| commit | a9268a81c9538ddc9b2f122fb4a75f47ec129353 (patch) | |
| tree | 24702ee4010d37a1b3bef1b4fff71b1b440ed2c3 /server | |
| parent | 239f1fd498b4511d8c6a1f4ae4c8cc3b5aeb7b5f (diff) | |
| download | coinos-server-a9268a81c9538ddc9b2f122fb4a75f47ec129353.tar.gz coinos-server-a9268a81c9538ddc9b2f122fb4a75f47ec129353.zip | |
payments: guard tip credit and self-referential autowithdraw
Clamp a non-internal receipt's tip to the settled amount so a tip
mutated larger than the amount actually received can't produce a
negative, reversible payment record on the recipient.
Also reject an autowithdraw whose destination resolves back to the
sender: that self-send re-fires completePayment and, since the balance
nets out, never drops below threshold, looping unbounded. The route's
create() already has the equivalent self-send guard; the internal
pay() helper lacked it.
Co-Authored-By: Claude Opus 4.8 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Dpqu6wizYe1c1g4k5Gd8JK
Diffstat (limited to 'server')
0 files changed, 0 insertions, 0 deletions
