From 3b6317af39705541cca88e7b2c81d4800e37a7ec Mon Sep 17 00:00:00 2001 From: Sakshi Joshi Date: Thu, 18 Jun 2026 12:32:30 +0530 Subject: [PATCH] feat(sdk-core): add PolyxSwitchValidatorOptions for multi-nomination switch TICKET: SI-842 --- modules/sdk-core/src/bitgo/staking/iStakingWallet.ts | 10 +++++++++- modules/sdk-core/src/bitgo/staking/stakingWallet.ts | 6 +++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/modules/sdk-core/src/bitgo/staking/iStakingWallet.ts b/modules/sdk-core/src/bitgo/staking/iStakingWallet.ts index 6c423a306f..0283d2c969 100644 --- a/modules/sdk-core/src/bitgo/staking/iStakingWallet.ts +++ b/modules/sdk-core/src/bitgo/staking/iStakingWallet.ts @@ -227,6 +227,12 @@ export interface TaoSwitchValidatorOptions extends SwitchValidatorOptions { netUID: string; } +export interface PolyxSwitchValidatorOptions { + delegationId: string; + validators: string[]; + clientId?: string; +} + export interface ClaimRewardsOptions { amount: string; clientId?: string; @@ -322,7 +328,9 @@ export interface IStakingWallet { options: StakeOptions | TronStakeOptions | TaoStakeOptions | VetStakeOptions | StoryStakeOptions | XdcStakeOptions ): Promise; unstake(options: UnstakeOptions | EthUnstakeOptions): Promise; - switchValidator(options: SwitchValidatorOptions | TaoSwitchValidatorOptions): Promise; + switchValidator( + options: SwitchValidatorOptions | TaoSwitchValidatorOptions | PolyxSwitchValidatorOptions + ): Promise; claimRewards(options: ClaimRewardsOptions): Promise; getStakingRequest(stakingRequestId: string): Promise; getTransactionsReadyToSign(stakingRequestId: string): Promise; diff --git a/modules/sdk-core/src/bitgo/staking/stakingWallet.ts b/modules/sdk-core/src/bitgo/staking/stakingWallet.ts index 0521aed59e..1ce798e2a8 100644 --- a/modules/sdk-core/src/bitgo/staking/stakingWallet.ts +++ b/modules/sdk-core/src/bitgo/staking/stakingWallet.ts @@ -23,6 +23,7 @@ import { TronStakeOptions, TaoStakeOptions, TaoSwitchValidatorOptions, + PolyxSwitchValidatorOptions, VetStakeOptions, StoryStakeOptions, XdcStakeOptions, @@ -84,7 +85,9 @@ export class StakingWallet implements IStakingWallet { * @param options - switch validator options * @return StakingRequest */ - async switchValidator(options: SwitchValidatorOptions | TaoSwitchValidatorOptions): Promise { + async switchValidator( + options: SwitchValidatorOptions | TaoSwitchValidatorOptions | PolyxSwitchValidatorOptions + ): Promise { return await this.createStakingRequest(options, 'SWITCH_VALIDATOR'); } @@ -325,6 +328,7 @@ export class StakingWallet implements IStakingWallet { | TronStakeOptions | TaoStakeOptions | TaoSwitchValidatorOptions + | PolyxSwitchValidatorOptions | VetStakeOptions | StoryStakeOptions | XdcStakeOptions,