diff options
| author | Adam Soltys <[email protected]> | 2026-06-18 08:06:43 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2026-06-18 08:27:11 -0700 |
| commit | 3a60e3a49a031c8efea067b3c142b086bb6f5847 (patch) | |
| tree | d015773dfaa93b8f1f0bd23e46952cb7d4ef77e3 /docker/postgres.Dockerfile | |
| parent | fbf0c4f45249875b0b95eeb1beedd811b176a245 (diff) | |
| download | coinos-server-3a60e3a49a031c8efea067b3c142b086bb6f5847.tar.gz coinos-server-3a60e3a49a031c8efea067b3c142b086bb6f5847.zip | |
payments: don't let check() reverse an in-flight lightning send
check() skipped pending payments younger than 10s, but xpay retries for
30s (retry_for: 30). During that window listpays can transiently show all
parts failed before the winning part lands, so check() could reverse a
payment sendLightning was still driving; the part then completed and
finalize() ran against an already-removed record.
- check(): raise the skip threshold 10s -> 60s so sendLightning finishes
finalize()/reverse() and removes the payment from `pending` before
check() ever touches it.
- finalize(): if the record is gone, raise a clear error instead of a
cryptic null-deref.
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Diffstat (limited to 'docker/postgres.Dockerfile')
0 files changed, 0 insertions, 0 deletions
