aboutsummaryrefslogtreecommitdiffstats
path: root/lib/utils.ts
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2026-08-03 10:38:04 -0700
committerAdam Soltys <[email protected]>2026-08-03 10:38:04 -0700
commita9268a81c9538ddc9b2f122fb4a75f47ec129353 (patch)
tree24702ee4010d37a1b3bef1b4fff71b1b440ed2c3 /lib/utils.ts
parent239f1fd498b4511d8c6a1f4ae4c8cc3b5aeb7b5f (diff)
downloadcoinos-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 'lib/utils.ts')
0 files changed, 0 insertions, 0 deletions