mirror of
https://github.com/PR0M3TH3AN/bitvid.git
synced 2026-10-27 16:02:26 +00:00
Two things: 1. Platform fee address → [email protected] (verified live: allowsNostr + nostrPubkey, 1-sat min, working callback). coinos is Nostr-native and PUBLISHES zap receipts, unlike strike.me whose flaky LNURL + never-published receipts caused the platform-share pay timeouts and the missing zap tallies. The 30% platform fee is unchanged — only the rail. 2. Double-pay guard (bug found while diagnosing): on a `pay_invoice` timeout, nwcClient's nip44->nip04 encryption-fallback resent the request — but a timeout is ambiguous (the wallet may already be paying), so the resend could DOUBLE-SPEND. shouldRetryWithFallback now refuses to auto-resend any spending method (pay_invoice/pay_keysend/multi_pay_*) on timeout; read-only methods and explicit unsupported-encryption rejections (wallet never paid) stay retryable. The manual "Send again" retry is the safe path for a real payment timeout. Tests: tests/nwc-pay-timeout-no-double-spend.test.mjs (4). Lint + build green. Co-Authored-By: Claude Fable 5 <[email protected]>