aboutsummaryrefslogtreecommitdiffstats
path: root/bridge/server.js
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2026-10-27 12:24:17 -0700
committerAdam Soltys <[email protected]>2026-10-27 12:24:17 -0700
commitc2f8c3281f02f29c19025553addfbd7638256b74 (patch)
treee4dc0f4103f1dc781bdd31af347a8025119b2aad /bridge/server.js
parentf8d35dbd39d31f0ab7e2885ac7a7799596dd29fe (diff)
downloadcoinosv3-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