From af82f7d39944bf32a565ac695b57f7174af7598c Mon Sep 17 00:00:00 2001 From: natsoni Date: Mon, 30 Jun 2025 17:44:02 +0200 Subject: [PATCH] Fix redeem witness script filling in tx preview --- frontend/src/app/shared/transaction.utils.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/frontend/src/app/shared/transaction.utils.ts b/frontend/src/app/shared/transaction.utils.ts index f0280448c..e8f29672f 100644 --- a/frontend/src/app/shared/transaction.utils.ts +++ b/frontend/src/app/shared/transaction.utils.ts @@ -938,7 +938,7 @@ export function addInnerScriptsToVin(vin: Vin): void { if (vin.prevout.scriptpubkey_type === 'p2sh') { const redeemScript = vin.scriptsig_asm.split(' ').reverse()[0]; vin.inner_redeemscript_asm = convertScriptSigAsm(redeemScript); - if (vin.witness && vin.witness.length) { + if (vin.witness && vin.witness.length > 2) { const witnessScript = vin.witness[vin.witness.length - 1]; vin.inner_witnessscript_asm = convertScriptSigAsm(witnessScript); } @@ -1134,9 +1134,11 @@ function fromBuffer(buffer: Uint8Array, network: string, inputs?: { key: Uint8Ar } vin.scriptsig = (vin.scriptsig || '') + uint8ArrayToHexString(pushOpcode) + uint8ArrayToHexString(redeemScript); vin.scriptsig_asm = convertScriptSigAsm(vin.scriptsig); + vin.inner_redeemscript_asm = vin.scriptsig_asm.split(' ').reverse()[0]; } if (groups.witnessScript && !finalizedWitness) { vin.witness = (vin.witness || []).concat(uint8ArrayToHexString(groups.witnessScript.value)); + vin.inner_witnessscript_asm = convertScriptSigAsm(vin.witness[vin.witness.length - 1]); }