Skip to content

Commit 5325cd6

Browse files
committed
refactor(sdk-coin-sol): change marinade and jito flags to enum
BREAKING CHANGE: the `isMarinade` setter in transaction builders has been removed. Existing calls to `txBuilder.isMarinade` will have to be replaced with `txBuilder.stakingType(StakingType.MARINADE)`. Ticket: SC-2620
1 parent bb9af1e commit 5325cd6

11 files changed

+490
-396
lines changed

examples/ts/sol/stake-jito.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,8 @@ async function main() {
5959
.sender(account.publicKey.toBase58())
6060
.stakingAddress(JITO_STAKE_POOL_ADDRESS)
6161
.validator(JITO_STAKE_POOL_ADDRESS)
62-
.isJito(true)
63-
.jitoParams({
62+
.stakingTypeParams({
63+
type: 'JITO',
6464
stakePoolData: {
6565
managerFeeAccount: stakePoolAccount.account.data.managerFeeAccount.toString(),
6666
poolMint: stakePoolAccount.account.data.poolMint.toString(),

modules/sdk-coin-sol/src/lib/iface.ts

Lines changed: 24 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -120,18 +120,27 @@ export interface Approve {
120120
};
121121
}
122122

123+
export enum StakingType {
124+
NATIVE = 'NATIVE',
125+
MARINADE = 'MARINADE',
126+
JITO = 'JITO',
127+
}
128+
129+
export interface JitoStakingActivateParams {
130+
stakePoolData: DepositSolStakePoolData;
131+
}
132+
133+
export type StakingActivateExtraParams = JitoStakingActivateParams;
134+
123135
export interface StakingActivate {
124136
type: InstructionBuilderTypes.StakingActivate;
125137
params: {
126138
fromAddress: string;
127139
stakingAddress: string;
128140
amount: string;
129141
validator: string;
130-
isMarinade?: boolean;
131-
isJito?: boolean;
132-
jitoParams?: {
133-
stakePoolData: DepositSolStakePoolData;
134-
};
142+
stakingType: StakingType;
143+
extraParams?: StakingActivateExtraParams;
135144
};
136145
}
137146

@@ -140,20 +149,23 @@ export interface StakingDelegate {
140149
params: { stakingAddress: string; fromAddress: string; validator: string };
141150
}
142151

152+
export interface JitoStakingDeactivateParams {
153+
stakePoolData: WithdrawStakeStakePoolData;
154+
validatorAddress: string;
155+
transferAuthorityAddress: string;
156+
}
157+
158+
export type StakingDeactivateExtraParams = JitoStakingDeactivateParams;
159+
143160
export interface StakingDeactivate {
144161
type: InstructionBuilderTypes.StakingDeactivate;
145162
params: {
146163
fromAddress: string;
147164
stakingAddress: string;
148165
amount?: string;
149166
unstakingAddress?: string;
150-
isMarinade?: boolean;
151-
isJito?: boolean;
152-
jitoParams?: {
153-
stakePoolData: WithdrawStakeStakePoolData;
154-
validatorAddress: string;
155-
transferAuthorityAddress: string;
156-
};
167+
stakingType: StakingType;
168+
extraParams?: StakingDeactivateExtraParams;
157169
recipients?: Recipient[];
158170
};
159171
}

0 commit comments

Comments
 (0)