From 5db704c583904a941e4a99f9c43fef2128207e92 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Sun, 1 Mar 2026 12:45:52 -0800 Subject: wallet check --- lib/ark.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/ark.ts b/lib/ark.ts index 25d39d4d..23824a62 100644 --- a/lib/ark.ts +++ b/lib/ark.ts @@ -115,13 +115,15 @@ export const sendArk = async (address: string, amount: number) => { setTimeout(() => reject(new Error("Ark send timed out")), 60000), ); const send = async () => { - const w = await getWallet(); + let w = await getWallet(); try { return await w.sendBitcoin({ address, amount }); } catch (e: any) { - if (/insufficient funds/i.test(e.message)) { - l("ark send got insufficient funds, refreshing wallet and retrying"); + if (/insufficient funds/i.test(e.message) || /VTXO_RECOVERABLE/i.test(e.message) || /VTXO_ALREADY_SPENT/i.test(e.message) || /VTXO_ALREADY_REGISTERED/i.test(e.message)) { + l("ark send failed:", e.message, "— recreating wallet and retrying"); + wallet = null; await refreshArkWallet(true); + w = await getWallet(); return w.sendBitcoin({ address, amount }); } throw e; -- cgit v1.2.3