From 270258078224978b9e9d2aae80a58a2df6debea9 Mon Sep 17 00:00:00 2001 From: Otto Allmendinger Date: Tue, 28 Jan 2025 10:22:29 +0100 Subject: [PATCH] fix(abstract-utxo): fix presignTransaction for descriptor wallets Short circuit presignTransaction for descriptor wallets Issue: BTC-1801 --- modules/abstract-utxo/src/abstractUtxoCoin.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/modules/abstract-utxo/src/abstractUtxoCoin.ts b/modules/abstract-utxo/src/abstractUtxoCoin.ts index 8501a0a781..a60290804c 100644 --- a/modules/abstract-utxo/src/abstractUtxoCoin.ts +++ b/modules/abstract-utxo/src/abstractUtxoCoin.ts @@ -74,7 +74,8 @@ import { toBip32Triple, UtxoKeychain, UtxoNamedKeychains } from './keychains'; import { verifyKeySignature, verifyUserPublicKey } from './verifyKey'; import { getPolicyForEnv } from './descriptor/validatePolicy'; import { signTransaction } from './transaction/signTransaction'; -import { UtxoWallet } from './wallet'; +import { isUtxoWalletData, UtxoWallet } from './wallet'; +import { isDescriptorWalletData } from './descriptor/descriptorWallet'; import ScriptType2Of3 = utxolib.bitgo.outputScripts.ScriptType2Of3; @@ -1094,6 +1095,9 @@ export abstract class AbstractUtxoCoin extends BaseCoin { } async presignTransaction(params: PresignTransactionOptions): Promise { + if (params.walletData && isUtxoWalletData(params.walletData) && isDescriptorWalletData(params.walletData)) { + return params; + } // In the case that we have a 'psbt-lite' transaction format, we want to indicate in signing to not fail const txHex = (params.txHex ?? params.txPrebuild?.txHex) as string; if (