From 4e9da2d1685817d149280b69a26c19803741277f Mon Sep 17 00:00:00 2001 From: lemon Date: Mon, 1 Jun 2026 15:13:24 -0700 Subject: [PATCH] wallet: prune rediscovered spent silent outputs --- src/hooks/useHdWalletSp.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/hooks/useHdWalletSp.ts b/src/hooks/useHdWalletSp.ts index c72d4e14..629ca7fe 100644 --- a/src/hooks/useHdWalletSp.ts +++ b/src/hooks/useHdWalletSp.ts @@ -591,10 +591,13 @@ export function useHdWalletSp(): UseHdWalletSpResult { } const opt = optimisticRef.current!; + const spentKeys = new Set(freshArchive.map((u) => `${u.txid}:${u.vout}`)); optimisticRef.current = { version: SP_STORAGE_VERSION, scanHeight: opt.scanHeight, - utxos: mergeUtxos(opt.utxos, freshActive), + utxos: mergeUtxos(opt.utxos, freshActive).filter( + (u) => !spentKeys.has(`${u.txid}:${u.vout}`), + ), spent: mergeUtxos(opt.spent ?? [], freshArchive), }; matchesFound += blockMatches.length;