import { SPL_STAKE_POOL_PROGRAM_ADDRESS } from "../programs/splStakePool.js"; import "../programs/index.js"; import { AccountMeta, AccountSignerMeta, Address, FixedSizeCodec, FixedSizeDecoder, FixedSizeEncoder, Instruction, InstructionWithAccounts, InstructionWithData, ReadonlyAccount, ReadonlySignerAccount, ReadonlyUint8Array, TransactionSigner, WritableAccount } from "@solana/kit"; //#region src/generated/instructions/removeValidatorFromPool.d.ts export declare const REMOVE_VALIDATOR_FROM_POOL_DISCRIMINATOR = 2; export declare function getRemoveValidatorFromPoolDiscriminatorBytes(): ReadonlyUint8Array; export type RemoveValidatorFromPoolInstruction = string, TAccountStaker extends string | AccountMeta = string, TAccountWithdrawAuthority extends string | AccountMeta = string, TAccountValidatorStakeList extends string | AccountMeta = string, TAccountStakeAccount extends string | AccountMeta = string, TAccountTransientStakeAccount extends string | AccountMeta = string, TAccountClockSysvar extends string | AccountMeta = "SysvarC1ock11111111111111111111111111111111", TAccountStakeProgram extends string | AccountMeta = "Stake11111111111111111111111111111111111111", TRemainingAccounts extends readonly AccountMeta[] = []> = Instruction & InstructionWithData & InstructionWithAccounts<[TAccountStakePool extends string ? WritableAccount : TAccountStakePool, TAccountStaker extends string ? ReadonlySignerAccount & AccountSignerMeta : TAccountStaker, TAccountWithdrawAuthority extends string ? ReadonlyAccount : TAccountWithdrawAuthority, TAccountValidatorStakeList extends string ? WritableAccount : TAccountValidatorStakeList, TAccountStakeAccount extends string ? WritableAccount : TAccountStakeAccount, TAccountTransientStakeAccount extends string ? WritableAccount : TAccountTransientStakeAccount, TAccountClockSysvar extends string ? ReadonlyAccount : TAccountClockSysvar, TAccountStakeProgram extends string ? ReadonlyAccount : TAccountStakeProgram, ...TRemainingAccounts]>; export type RemoveValidatorFromPoolInstructionData = { discriminator: number; }; export type RemoveValidatorFromPoolInstructionDataArgs = {}; export declare function getRemoveValidatorFromPoolInstructionDataEncoder(): FixedSizeEncoder; export declare function getRemoveValidatorFromPoolInstructionDataDecoder(): FixedSizeDecoder; export declare function getRemoveValidatorFromPoolInstructionDataCodec(): FixedSizeCodec; export type RemoveValidatorFromPoolAsyncInput = { /** Stake pool */ stakePool: Address; /** Staker */ staker: TransactionSigner; /** Stake pool withdraw authority */ withdrawAuthority?: Address; /** Validator stake list storage account */ validatorStakeList: Address; /** Stake account to remove from the pool */ stakeAccount: Address; /** Transient stake account, to deactivate if necessary */ transientStakeAccount: Address; /** Sysvar clock */ clockSysvar?: Address; /** Stake program id */ stakeProgram?: Address; }; /** * (Staker only) Removes validator from the pool, deactivating its stake * Only succeeds if the validator stake account has the minimum of * `max(crate::MINIMUM_ACTIVE_STAKE, * solana_program::stake::tools::get_minimum_delegation())`. plus the * rent-exempt amount. * 0. `[w]` Stake pool * 1. `[s]` Staker * 2. `[]` Stake pool withdraw authority * 3. `[w]` Validator stake list storage account * 4. `[w]` Stake account to remove from the pool * 5. `[w]` Transient stake account, to deactivate if necessary * 6. `[]` Sysvar clock * 7. `[]` Stake program id, */ export declare function getRemoveValidatorFromPoolInstructionAsync(input: RemoveValidatorFromPoolAsyncInput, config?: { programAddress?: TProgramAddress; }): Promise>; export type RemoveValidatorFromPoolInput = { /** Stake pool */ stakePool: Address; /** Staker */ staker: TransactionSigner; /** Stake pool withdraw authority */ withdrawAuthority: Address; /** Validator stake list storage account */ validatorStakeList: Address; /** Stake account to remove from the pool */ stakeAccount: Address; /** Transient stake account, to deactivate if necessary */ transientStakeAccount: Address; /** Sysvar clock */ clockSysvar?: Address; /** Stake program id */ stakeProgram?: Address; }; /** * (Staker only) Removes validator from the pool, deactivating its stake * Only succeeds if the validator stake account has the minimum of * `max(crate::MINIMUM_ACTIVE_STAKE, * solana_program::stake::tools::get_minimum_delegation())`. plus the * rent-exempt amount. * 0. `[w]` Stake pool * 1. `[s]` Staker * 2. `[]` Stake pool withdraw authority * 3. `[w]` Validator stake list storage account * 4. `[w]` Stake account to remove from the pool * 5. `[w]` Transient stake account, to deactivate if necessary * 6. `[]` Sysvar clock * 7. `[]` Stake program id, */ export declare function getRemoveValidatorFromPoolInstruction(input: RemoveValidatorFromPoolInput, config?: { programAddress?: TProgramAddress; }): RemoveValidatorFromPoolInstruction; export type ParsedRemoveValidatorFromPoolInstruction = { programAddress: Address; accounts: { /** Stake pool */ stakePool: TAccountMetas[0]; /** Staker */ staker: TAccountMetas[1]; /** Stake pool withdraw authority */ withdrawAuthority: TAccountMetas[2]; /** Validator stake list storage account */ validatorStakeList: TAccountMetas[3]; /** Stake account to remove from the pool */ stakeAccount: TAccountMetas[4]; /** Transient stake account, to deactivate if necessary */ transientStakeAccount: TAccountMetas[5]; /** Sysvar clock */ clockSysvar: TAccountMetas[6]; /** Stake program id */ stakeProgram: TAccountMetas[7]; }; data: RemoveValidatorFromPoolInstructionData; }; export declare function parseRemoveValidatorFromPoolInstruction(instruction: Instruction & InstructionWithAccounts & InstructionWithData): ParsedRemoveValidatorFromPoolInstruction; //#endregion //# sourceMappingURL=removeValidatorFromPool.d.ts.map