diff options
| author | Adam Soltys <[email protected]> | 2026-05-20 22:29:35 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2026-05-20 22:29:35 -0700 |
| commit | fe767002dd59f000d54fd09c9d617d69b9a5c894 (patch) | |
| tree | 0eec59481f66c122a2c1ef56966d829317650af6 /scripts/cln_schema.sql | |
| parent | 51107ed4b4079238ed1f657ec7231943f3c08696 (diff) | |
| download | coinos-server-fe767002dd59f000d54fd09c9d617d69b9a5c894.tar.gz coinos-server-fe767002dd59f000d54fd09c9d617d69b9a5c894.zip | |
tighten LEAKED DEBIT guard: don't false-alarm on successful-via-fallback paths
The first deployment surfaced two LEAKED DEBIT lines that were actually
clean finalizes via the new failed_parts listpays-fallback path — exactly
the path that recovers payments that would have been stuck under the old
code (joho33's case). The leak guard's `outcome !== "finalized"` check
was too narrow: any path that finalizes the payment, regardless of how
it got there, is a success.
Bucket outcomes explicitly:
- finalizedOutcomes — clean successes (finalize ran, ref set)
- safeNonFinalized — reverse ran, OR debit left in pending for check()
to reconcile (these aren't leaks)
- anything else — actually stranded (finalize-threw-*, unknown) → err
Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
Diffstat (limited to 'scripts/cln_schema.sql')
0 files changed, 0 insertions, 0 deletions
