diff options
| author | Adam Soltys <[email protected]> | 2026-10-27 12:24:17 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2026-10-27 12:24:17 -0700 |
| commit | c2f8c3281f02f29c19025553addfbd7638256b74 (patch) | |
| tree | e4dc0f4103f1dc781bdd31af347a8025119b2aad /bridge/server.js | |
| parent | f8d35dbd39d31f0ab7e2885ac7a7799596dd29fe (diff) | |
| download | coinosv3-server-c2f8c3281f02f29c19025553addfbd7638256b74.tar.gz coinosv3-server-c2f8c3281f02f29c19025553addfbd7638256b74.zip | |
names: one payment, one delivery — an idempotency record and a per-payment lock around forward(), the first try queued before it runs
- state.delivered[saleHash] is saved once a delivery succeeds; any later
caller (retry tick, settle loop, /admin/forward) returns without paying
- a sale already being delivered refuses a second concurrent caller (stays
queued) instead of racing it
- the settle loop queues a payment BEFORE its first try, so a restart
mid-delivery no longer loses it (the retry finds it; the records keep it
from paying twice)
- the retry tick no longer overwrites the queue with its snapshot (it
dropped payments queued while it ran)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01QjVvE4YAcK3AGwV7kZXeN4
Diffstat (limited to 'bridge/server.js')
0 files changed, 0 insertions, 0 deletions
