From 40fc5fe98c08357dff41539de48532d554aa73cb Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Sat, 14 Feb 2026 15:46:09 -0800 Subject: custodial ark sends --- src/lib/ark.ts | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'src/lib') diff --git a/src/lib/ark.ts b/src/lib/ark.ts index b9902a5a..dcc42868 100644 --- a/src/lib/ark.ts +++ b/src/lib/ark.ts @@ -125,7 +125,19 @@ export const sendArk = async (address: string, amount: number) => { arkSending = true; try { - const txid = await wallet.sendBitcoin({ address, amount }); + let txid; + try { + txid = await wallet.sendBitcoin({ address, amount }); + } catch (e: any) { + if (e?.message?.includes("VTXO_ALREADY_REGISTERED")) { + await wallet.settle(); + const vtxos = await wallet.getVtxos({ spendableOnly: false }); + if (vtxos?.length) addProcessedVtxos(vtxos.map(vtxoKey)); + txid = await wallet.sendBitcoin({ address, amount }); + } else { + throw e; + } + } // Mark post-send VTXOs as processed so notifyIncomingFunds // ignores change VTXOs from this send -- cgit v1.2.3