2 Commits

Author SHA1 Message Date
Jon Staab 65f7179557 fix: Address review findings (CRITICAL/HIGH)
CRITICAL fixes:
- Stop passing mint URLs as relay URLs in initNDK (protocol mismatch)
- Add unit tests for buildTransactionHistory (dedup, fallback, sort)

HIGH fixes:
- Restore .claude entry in .gitignore
- Add warning logging for skipped malformed proof tags in nutzap parsing
- Add error handling + 30s timeout to NDK initialization
- Add unit tests for formatCSV and escapeField
- Export escapeField for testability

Also: add test script to package.json, include test/ in tsconfig

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 05:59:23 -07:00
Jon Staab def3157f9b Add Nostr ecash transaction history CLI
- CLI tool to export NIP-60 (Cashu Wallet) and NIP-61 (Nutzap) transaction history as CSV
- Fetches and decrypts kind:17375 wallet, kind:7375 token, kind:7376 history, kind:9321 nutzap, and kind:7377 redemption events
- Accepts NOSTR_SECRET_KEY env var and optional --mints flag
- Outputs CSV to stdout with columns: date,type,amount,unit,mint,token_id,memo
- Progress and errors go to stderr
2026-04-11 05:35:36 -07:00