From 5a09eb2ada59ce8f461f42cbbf92394dec872c98 Mon Sep 17 00:00:00 2001 From: Pritam Gembali Date: Tue, 14 Apr 2026 23:13:25 +0530 Subject: [PATCH] fix(abstract-eth): remove unreachable _counter undefined guard _counter is typed as `number` and initialized to 0 in the constructor, making the `_counter === undefined` check in validateBaseTransactionFields permanently unreachable dead code. Remove it and the associated test assertions that relied on the dead guard. Ticket: CGD-576 --- modules/abstract-eth/src/lib/transactionBuilder.ts | 3 --- .../test/unit/transactionBuilder/walletInitialization.ts | 4 ---- 2 files changed, 7 deletions(-) diff --git a/modules/abstract-eth/src/lib/transactionBuilder.ts b/modules/abstract-eth/src/lib/transactionBuilder.ts index 0fa6380f95..5c28e9fc1b 100644 --- a/modules/abstract-eth/src/lib/transactionBuilder.ts +++ b/modules/abstract-eth/src/lib/transactionBuilder.ts @@ -386,9 +386,6 @@ export abstract class TransactionBuilder extends BaseTransactionBuilder { if (this._common === undefined) { throw new BuildTransactionError('Invalid transaction: network common'); } - if (this._counter === undefined) { - throw new BuildTransactionError('Invalid transaction: missing address counter'); - } } /** @inheritdoc */ diff --git a/modules/sdk-coin-eth/test/unit/transactionBuilder/walletInitialization.ts b/modules/sdk-coin-eth/test/unit/transactionBuilder/walletInitialization.ts index 53a73a51ae..e97358d79a 100644 --- a/modules/sdk-coin-eth/test/unit/transactionBuilder/walletInitialization.ts +++ b/modules/sdk-coin-eth/test/unit/transactionBuilder/walletInitialization.ts @@ -340,20 +340,16 @@ describe('Eth Transaction builder wallet initialization', function () { it('a transaction to build', async () => { const txBuilder: any = getBuilder('eth'); - txBuilder.counter(undefined); txBuilder.type(TransactionType.WalletInitialization); assert.throws(() => txBuilder.validateTransaction(), /Invalid transaction: missing fee/); txBuilder.fee({ fee: '10', gasLimit: '1000', }); - assert.throws(() => txBuilder.validateTransaction(), /Invalid transaction: missing address counter/); - assert.throws(() => txBuilder.validateTransaction(), /Invalid transaction: missing address counter/); const source = { prv: sourcePrv, }; const sourceKeyPair = new KeyPair(source); - assert.throws(() => txBuilder.validateTransaction(), /Invalid transaction: missing address counter/); txBuilder.counter(1); assert.throws(() => txBuilder.validateTransaction(), /wrong number of owners -- required: 3, found: 0/); txBuilder.owner(sourceKeyPair.getAddress());