Commit Graph
6 Commits
Author SHA1 Message Date
jwinterm 6506ce1e18 fix: reconciler hardening, decimal formatting, webhook retries
- Advisory lock: wrap per-invoice processing in try/finally so lock is
  ALWAYS released, even on exception. Previously, any error between lock
  acquisition and release would leak the lock, causing the invoice to be
  silently skipped forever on subsequent cycles.

- Error logging: wallet RPC errors now logged at ERROR level (was DEBUG),
  making silent reconciliation failures visible in production logs.

- Transfer protection: don't delete stored transfers when wallet-rpc
  returns an empty response (transient RPC glitch). Only prune when we
  actually got transfer data back.

- Wallet restore height: new wallets generated from keys now look back
  ~2 days (1440 blocks) instead of starting at current height. Prevents
  missing payments that arrived before the wallet was first opened on a
  given wallet-rpc instance.

- Decimal formatting: _format_xmr_fixed() now strips trailing zeros
  instead of always showing 12 decimal places (0.033554999694 → 0.033555).

- Invoice amount rounding: fiat-converted amounts now use ROUND_UP with
  5 decimal places (was ROUND_DOWN with 12), preventing undercharging.

- Webhook retries: BTCPay webhook delivery now retries up to 3 times
  with 1s/2s backoff on 5xx or network errors. Timeout increased 5s→10s.
  Failures logged at ERROR level (was WARNING/DEBUG).
2026-03-28 11:50:51 -04:00
jwinterm 3eabad598d Add OPEN_REGISTRATION gate, signup request form, favicon 2026-03-09 13:02:21 -04:00
xmrcheckout 39083eafb4 invoices: search by amount and refine archive copy 2026-01-09 14:01:02 +00:00
xmrcheckout 6a3156991a Add optional post-confirmation continue URL 2026-01-08 16:43:11 +00:00
xmrcheckout 6eb8d381c9 BTCPay: add paid/receipt flow and redirect support 2026-01-08 16:43:11 +00:00
xmrcheckout 3465c2054b Add api 2026-01-04 16:26:37 +01:00