From c67dbe14d1216634e77cde90705d3b492e4d03b1 Mon Sep 17 00:00:00 2001 From: Marzooqa Naeema Kather Date: Mon, 31 Aug 2026 13:04:09 +0530 Subject: [PATCH] fix(sdk-core): temporarily disable assertSignableConsistency call (WCI-1398) The assertSignableConsistency check in ecdsaMPCv2 was producing false positives for legacy EVM transactions because fromSerializedData defaults to mainnet chain ID when v=0 (unsigned). A follow-up PR will re-enable the check with the correct Common object. TICKET: WCI-1398 --- modules/sdk-core/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.ts | 8 -------- 1 file changed, 8 deletions(-) diff --git a/modules/sdk-core/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.ts b/modules/sdk-core/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.ts index 7cb9b2fb24..478107d3ef 100644 --- a/modules/sdk-core/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.ts +++ b/modules/sdk-core/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.ts @@ -52,7 +52,6 @@ import { } from '../baseTypes'; import { shouldUsePreHashedSignable } from '../preHashedSignable'; import { shouldVerifyWithSerializedTxHex } from '../serializedTxHexVerify'; -import { isCoinWithSignableConsistency } from '../signableConsistency'; import { BaseEcdsaUtils } from './base'; import { EcdsaMPCv2KeyGenSendFn, KeyGenSenderForEnterprise } from './ecdsaMPCv2KeyGenSender'; import { envRequiresBitgoPubGpgKeyConfig, isBitgoMpcPubKey } from '../../../tss/bitgoPubKeys'; @@ -959,13 +958,6 @@ export class EcdsaMPCv2Utils extends BaseEcdsaUtils { wallet: this.wallet, walletType: this.wallet.multisigType(), }); - // Gap 2 fix (WCI-1398): verifyTransaction sees serializedTxHex but signing uses - // signableHex — both are server-supplied independently. For coins that implement - // the consistency check, derive signableHex from serializedTxHex and confirm they - // match before signing. - if (shouldVerifyWithSerializedTxHex(this.baseCoin) && isCoinWithSignableConsistency(this.baseCoin)) { - this.baseCoin.assertSignableConsistency(unsignedTx.serializedTxHex, unsignedTx.signableHex); - } } else { await this.baseCoin.verifyTransaction({ txPrebuild: { txHex: unsignedTx.signableHex },