SkateSpots/src
shakespeare.diy c6e74cc189 Wallet audit: warn about at-risk balance before removing a mint (1.2.39)
Audited the wallet surface (real money: Cashu proofs, Lightning, NWC).
Most of it is solid — the Cashu singleton init with browser-CORS mint
probing/auto-heal, the send/receive token flows, the Lightning receive
path (double-tap guard + redeemed-quote listener cleanup + actionable
CORS errors), and the melt-based send all check out and match the zap
path.

One real money-loss gap: removing a mint calls
mintRepository.deleteMint(), which drops that mint's proofs from the
device — so removing a mint you still hold sats in strands those funds.
There are two remove-mint dialogs and they disagreed:

  • MintPrivacyManager already warned with the concrete at-risk balance.
  • CashuWallet's dialog showed only a generic static "make sure you've
    withdrawn funds" line — no balance, no escalation — so a user could
    delete a mint holding sats with effectively no warning.

Brought CashuWallet up to (slightly past) parity: when the mint being
removed has a non-zero balance it now shows a loud red warning with the
exact sats at risk and relabels the button "Remove anyway"; empty mints
keep the mild yellow note. Deletion is still allowed (a permanently
offline mint must be removable even with a stuck balance) — it's now an
informed choice, not a silent one.

Co-authored-by: shakespeare.diy <assistant@shakespeare.diy>
2026-09-08 00:15:07 +07:00
..
components Wallet audit: warn about at-risk balance before removing a mint (1.2.39) 2026-09-08 00:15:07 +07:00
contexts fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
hooks Lab/Marketplace/Stash audit: useLabProfile picks newest revision (1.2.38) 2026-09-08 00:09:00 +07:00
i18n Remove non-functional NoGood Radio everywhere (unused hook, i18n keys, onboarding refs) 2026-08-27 10:04:50 +07:00
lib fix(amber): stop passive decryption from storming Amber on navigation (1.2.16) 2026-09-07 14:57:35 +07:00
pages Map audit: fix dead trusted-first sort + broken stash-card borders (1.2.36) 2026-09-07 23:03:34 +07:00
test Fix 78 pre-existing TypeScript errors surfaced by npm test 2026-09-03 21:18:02 +07:00
App.test.tsx New project created with Shakespeare 2026-06-15 19:49:07 +07:00
App.tsx Add first-launch beta disclaimer dialog + footer BETA badge 2026-08-01 12:14:42 +07:00
AppRouter.tsx Add tour editing — the gap flagged in the addressable-events audit (1.2.33) 2026-09-07 22:42:34 +07:00
index.css Hide visible scrollbar on mobile for a clean, app-like feel 2026-09-03 14:49:43 +07:00
main.tsx Fix native white screen: relative asset base + boot crash guard 2026-07-24 18:21:57 +07:00
vite-env.d.ts fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00