From 15b2ad1e3b6ab1dbe7b664c49c59e1c605bc2475 Mon Sep 17 00:00:00 2001 From: Harit Kapadia Date: Thu, 18 Sep 2025 17:48:47 -0400 Subject: [PATCH] fix(sdk-coin-sol): remove inputs and outputs for jito deactivate Ticket: SC-3175 --- modules/sdk-coin-sol/src/lib/transaction.ts | 6 ++- .../stakingActivateBuilder.ts | 41 ++++++++++--------- .../stakingDeactivateBuilder.ts | 2 + 3 files changed, 29 insertions(+), 20 deletions(-) diff --git a/modules/sdk-coin-sol/src/lib/transaction.ts b/modules/sdk-coin-sol/src/lib/transaction.ts index 19dc8d3b6a..f5ba4bc969 100644 --- a/modules/sdk-coin-sol/src/lib/transaction.ts +++ b/modules/sdk-coin-sol/src/lib/transaction.ts @@ -371,7 +371,11 @@ export class Transaction extends BaseTransaction { } break; case InstructionBuilderTypes.StakingDeactivate: - if (instruction.params.amount && instruction.params.unstakingAddress) { + if ( + instruction.params.amount && + instruction.params.unstakingAddress && + instruction.params.stakingType !== SolStakingTypeEnum.JITO + ) { inputs.push({ address: instruction.params.stakingAddress, value: instruction.params.amount, diff --git a/modules/sdk-coin-sol/test/unit/transactionBuilder/stakingActivateBuilder.ts b/modules/sdk-coin-sol/test/unit/transactionBuilder/stakingActivateBuilder.ts index b4ea532f2e..10c5922f73 100644 --- a/modules/sdk-coin-sol/test/unit/transactionBuilder/stakingActivateBuilder.ts +++ b/modules/sdk-coin-sol/test/unit/transactionBuilder/stakingActivateBuilder.ts @@ -105,18 +105,20 @@ describe('Sol Staking Activate Builder', () => { }, }, ]); - tx.inputs.length.should.equal(1); - tx.inputs[0].should.deepEqual({ - address: wallet.pub, - value: amount, - coin: 'tsol', - }); - tx.outputs.length.should.equal(1); - tx.outputs[0].should.deepEqual({ - address: stakeAccount.pub, - value: amount, - coin: 'tsol', - }); + tx.inputs.should.deepEqual([ + { + address: wallet.pub, + value: amount, + coin: 'tsol', + }, + ]); + tx.outputs.should.deepEqual([ + { + address: stakeAccount.pub, + value: amount, + coin: 'tsol', + }, + ]); }; const signBuilderNativeOrMarinade = (txBuilder: StakingActivateBuilder) => { @@ -203,13 +205,14 @@ describe('Sol Staking Activate Builder', () => { }); txJson.instructionsData.should.deepEqual(expectedInstructions); - tx.inputs.length.should.equal(1); - tx.inputs[0].should.deepEqual({ - address: wallet.pub, - value: amount, - coin: 'tsol', - }); - tx.outputs.length.should.equal(0); + tx.inputs.should.deepEqual([ + { + address: wallet.pub, + value: amount, + coin: 'tsol', + }, + ]); + tx.outputs.should.deepEqual([]); }; describe('Succeed', () => { diff --git a/modules/sdk-coin-sol/test/unit/transactionBuilder/stakingDeactivateBuilder.ts b/modules/sdk-coin-sol/test/unit/transactionBuilder/stakingDeactivateBuilder.ts index 7e120453ee..d381fca2a1 100644 --- a/modules/sdk-coin-sol/test/unit/transactionBuilder/stakingDeactivateBuilder.ts +++ b/modules/sdk-coin-sol/test/unit/transactionBuilder/stakingDeactivateBuilder.ts @@ -346,6 +346,8 @@ describe('Sol Staking Deactivate Builder', () => { }, }, ]); + tx.inputs.should.deepEqual([]); + tx.outputs.should.deepEqual([]); }, knownRawTx: testData.JITO_STAKING_DEACTIVATE_SIGNED_TX, });