From dfe673965fea15f51ddd67147d08d6c487536887 Mon Sep 17 00:00:00 2001 From: Bhuvan R Date: Mon, 20 Apr 2026 10:23:42 +0530 Subject: [PATCH] fix: token consolidation fix for TRX TSS wallets TICKET: CHALO-423 TICKET: CHALO-423 --- modules/sdk-coin-trx/src/trxToken.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/modules/sdk-coin-trx/src/trxToken.ts b/modules/sdk-coin-trx/src/trxToken.ts index f9e2894b70..f91193c7f8 100644 --- a/modules/sdk-coin-trx/src/trxToken.ts +++ b/modules/sdk-coin-trx/src/trxToken.ts @@ -94,8 +94,18 @@ export class TrxToken extends Trx { } async verifyTransaction(params: VerifyTransactionOptions): Promise { - const { txPrebuild: txPrebuild, txParams: txParams } = params; + const { txPrebuild: txPrebuild, txParams: txParams, walletType } = params; assert(txPrebuild.txHex, new Error('missing required tx prebuild property txHex')); + + // For TSS wallets, TRC20 token transfers are TriggerSmartContract transactions. + // Trx.verifyTransaction already returns true for TriggerSmartContract in TSS mode + // (only TransferContract/native TRX gets validated against recipients there). + // We apply the same convention here: the TSS signing protocol itself provides + // cryptographic guarantees; recipients-based verification is not applicable. + if (walletType === 'tss') { + return true; + } + const rawTx = txPrebuild.txHex; const txBuilder = getBuilder(this.getChain()).from(rawTx);