diff --git a/modules/sdk-core/src/bitgo/staking/iStakingWallet.ts b/modules/sdk-core/src/bitgo/staking/iStakingWallet.ts index 63f64cb6f3..a400edcf94 100644 --- a/modules/sdk-core/src/bitgo/staking/iStakingWallet.ts +++ b/modules/sdk-core/src/bitgo/staking/iStakingWallet.ts @@ -159,6 +159,13 @@ export interface StakeOptions { depositSignature?: string; } +export interface TronStakeOptions extends StakeOptions { + /** + * Tron staking resource type (Energy or Bandwidth) + */ + resourceType?: string; +} + export interface UnstakeOptions { amount: string; clientId?: string; @@ -273,7 +280,7 @@ export interface StakingSignOptions { export interface IStakingWallet { readonly walletId: string; readonly coin: string; - stake(options: StakeOptions): Promise; + stake(options: StakeOptions | TronStakeOptions): Promise; unstake(options: UnstakeOptions | EthUnstakeOptions): Promise; switchValidator(options: SwitchValidatorOptions): Promise; claimRewards(options: ClaimRewardsOptions): Promise; diff --git a/modules/sdk-core/src/bitgo/staking/stakingWallet.ts b/modules/sdk-core/src/bitgo/staking/stakingWallet.ts index 678a4780e5..7ee2f13c07 100644 --- a/modules/sdk-core/src/bitgo/staking/stakingWallet.ts +++ b/modules/sdk-core/src/bitgo/staking/stakingWallet.ts @@ -19,6 +19,7 @@ import { EthUnstakeOptions, ClaimRewardsOptions, StakingTxRequestPrebuildTransactionResult, + TronStakeOptions, } from './iStakingWallet'; import { BitGoBase } from '../bitgoBase'; import { IWallet, PrebuildTransactionResult } from '../wallet'; @@ -55,7 +56,7 @@ export class StakingWallet implements IStakingWallet { * @param options - stake options * @return StakingRequest */ - async stake(options: StakeOptions): Promise { + async stake(options: StakeOptions | TronStakeOptions): Promise { return await this.createStakingRequest(options, 'STAKE'); } @@ -283,7 +284,13 @@ export class StakingWallet implements IStakingWallet { } private async createStakingRequest( - options: StakeOptions | UnstakeOptions | EthUnstakeOptions | SwitchValidatorOptions | ClaimRewardsOptions, + options: + | StakeOptions + | UnstakeOptions + | EthUnstakeOptions + | SwitchValidatorOptions + | ClaimRewardsOptions + | TronStakeOptions, type: string ): Promise { return await this.bitgo