From ec54517775411f750e4cc9797d25be3c37580203 Mon Sep 17 00:00:00 2001 From: Noel Hawat Date: Wed, 15 Oct 2025 11:22:20 -0400 Subject: [PATCH] fix(sdk-core): skip STX stake related tx TICKET: SC-3504 --- modules/sdk-core/src/bitgo/staking/stakingWallet.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/modules/sdk-core/src/bitgo/staking/stakingWallet.ts b/modules/sdk-core/src/bitgo/staking/stakingWallet.ts index 574aadb0df..4e38f9c135 100644 --- a/modules/sdk-core/src/bitgo/staking/stakingWallet.ts +++ b/modules/sdk-core/src/bitgo/staking/stakingWallet.ts @@ -289,10 +289,12 @@ export class StakingWallet implements IStakingWallet { // default to verifying a transaction unless explicitly skipped // skipping the verification for btc undelegate because it is just single sig // TODO: SC-3183 (add trx staking verification) + // TODO: SC-3508 (add STX staking verification) const skipVerification = (signOptions.transactionVerificationOptions?.skipTransactionVerification || this.isBtcUndelegate(transaction) || - this.isTrxStaking(transaction)) ?? + this.isTrxStaking(transaction) || + this.isStx()) ?? false; if (!isStakingTxRequestPrebuildResult(builtTx.result) && !skipVerification) { await this.validateBuiltStakingTransaction(builtTx.transaction, builtTx); @@ -452,8 +454,7 @@ export class StakingWallet implements IStakingWallet { if ( buildParams?.type && (explainedTransaction as any).type !== undefined && - ((this.isStx() && TransactionType.ContractCall !== (explainedTransaction as any).type) || // for STX the tx type should always ContractCall - (!this.isStx() && TransactionType[buildParams.type] !== (explainedTransaction as any).type)) + TransactionType[buildParams.type] !== (explainedTransaction as any).type ) { mismatchErrors.push( `Transaction type mismatch. Expected: '${buildParams.type}', Got: '${(explainedTransaction as any).type}'`