diff --git a/apps/machine/electron/main.ts b/apps/machine/electron/main.ts index df82c01..26a82ac 100644 --- a/apps/machine/electron/main.ts +++ b/apps/machine/electron/main.ts @@ -412,8 +412,9 @@ function startCommandPoller(): void { error: result.error, }) + // Only remediate the original tx if ALL requested bills were dispensed let refRemediated = false - if (parsed.ref_txid) { + if (parsed.ref_txid && result.dispensed) { refRemediated = remediateTransaction(parsed.ref_txid, txid) } diff --git a/apps/machine/src/stores/atm.ts b/apps/machine/src/stores/atm.ts index 513e3ca..1bcd1ec 100644 --- a/apps/machine/src/stores/atm.ts +++ b/apps/machine/src/stores/atm.ts @@ -104,9 +104,9 @@ async function handleManagementCommand( error: result.error, }) - // Remediate referenced failed transaction + // Only remediate the original tx if ALL requested bills were dispensed let refRemediated = false - if (request.ref_txid && isElectron && window.electronAPI) { + if (request.ref_txid && result.dispensed && isElectron && window.electronAPI) { refRemediated = await window.electronAPI.remediateTransaction(request.ref_txid, txid) if (refRemediated) { console.log('[ATM] Remediated failed tx:', request.ref_txid)