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/addValidatorToPool.d.ts export declare const ADD_VALIDATOR_TO_POOL_DISCRIMINATOR = 1; export declare function getAddValidatorToPoolDiscriminatorBytes(): ReadonlyUint8Array; export type AddValidatorToPoolInstruction = string, TAccountStaker extends string | AccountMeta = string, TAccountReserveStakeAccount extends string | AccountMeta = string, TAccountWithdrawAuthority extends string | AccountMeta = string, TAccountValidatorStakeList extends string | AccountMeta = string, TAccountNewStakeAccount extends string | AccountMeta = string, TAccountValidatorVoteAccount extends string | AccountMeta = string, TAccountRentSysvar extends string | AccountMeta = "SysvarRent111111111111111111111111111111111", TAccountClockSysvar extends string | AccountMeta = "SysvarC1ock11111111111111111111111111111111", TAccountStakeHistorySysvar extends string | AccountMeta = "SysvarStakeHistory1111111111111111111111111", TAccountStakeConfigSysvar extends string | AccountMeta = "StakeConfig11111111111111111111111111111111", TAccountSystemProgram extends string | AccountMeta = "11111111111111111111111111111111", TAccountStakeProgram extends string | AccountMeta = "Stake11111111111111111111111111111111111111", TRemainingAccounts extends readonly AccountMeta[] = []> = Instruction & InstructionWithData & InstructionWithAccounts<[TAccountStakePool extends string ? WritableAccount : TAccountStakePool, TAccountStaker extends string ? ReadonlySignerAccount & AccountSignerMeta : TAccountStaker, TAccountReserveStakeAccount extends string ? WritableAccount : TAccountReserveStakeAccount, TAccountWithdrawAuthority extends string ? ReadonlyAccount : TAccountWithdrawAuthority, TAccountValidatorStakeList extends string ? WritableAccount : TAccountValidatorStakeList, TAccountNewStakeAccount extends string ? WritableAccount : TAccountNewStakeAccount, TAccountValidatorVoteAccount extends string ? ReadonlyAccount : TAccountValidatorVoteAccount, TAccountRentSysvar extends string ? ReadonlyAccount : TAccountRentSysvar, TAccountClockSysvar extends string ? ReadonlyAccount : TAccountClockSysvar, TAccountStakeHistorySysvar extends string ? ReadonlyAccount : TAccountStakeHistorySysvar, TAccountStakeConfigSysvar extends string ? ReadonlyAccount : TAccountStakeConfigSysvar, TAccountSystemProgram extends string ? ReadonlyAccount : TAccountSystemProgram, TAccountStakeProgram extends string ? ReadonlyAccount : TAccountStakeProgram, ...TRemainingAccounts]>; export type AddValidatorToPoolInstructionData = { discriminator: number; args: number; }; export type AddValidatorToPoolInstructionDataArgs = { args: number; }; export declare function getAddValidatorToPoolInstructionDataEncoder(): FixedSizeEncoder; export declare function getAddValidatorToPoolInstructionDataDecoder(): FixedSizeDecoder; export declare function getAddValidatorToPoolInstructionDataCodec(): FixedSizeCodec; export type AddValidatorToPoolAsyncInput = { /** Stake pool */ stakePool: Address; /** Staker */ staker: TransactionSigner; /** Reserve stake account */ reserveStakeAccount: Address; /** Stake pool withdraw authority */ withdrawAuthority?: Address; /** Validator stake list storage account */ validatorStakeList: Address; /** Stake account to add to the pool */ newStakeAccount: Address; /** Validator this stake account will be delegated to */ validatorVoteAccount: Address; /** Rent sysvar */ rentSysvar?: Address; /** Clock sysvar */ clockSysvar?: Address; /** Stake history sysvar */ stakeHistorySysvar?: Address; /** Stake config sysvar */ stakeConfigSysvar?: Address; /** System program */ systemProgram?: Address; /** Stake program */ stakeProgram?: Address; args: AddValidatorToPoolInstructionDataArgs["args"]; }; /** * (Staker only) Adds stake account delegated to validator to the pool's * list of managed validators. * The stake account will have the rent-exempt amount plus * `max( * crate::MINIMUM_ACTIVE_STAKE, * solana_program::stake::tools::get_minimum_delegation() * )`. * It is funded from the stake pool reserve. * 0. `[w]` Stake pool * 1. `[s]` Staker * 2. `[w]` Reserve stake account * 3. `[]` Stake pool withdraw authority * 4. `[w]` Validator stake list storage account * 5. `[w]` Stake account to add to the pool * 6. `[]` Validator this stake account will be delegated to * 7. `[]` Rent sysvar * 8. `[]` Clock sysvar * 9. '[]' Stake history sysvar * 10. '[]' Stake config sysvar * 11. `[]` System program * 12. `[]` Stake program * User data: optional non-zero `u32` seed used for generating the * validator stake address */ export declare function getAddValidatorToPoolInstructionAsync(input: AddValidatorToPoolAsyncInput, config?: { programAddress?: TProgramAddress; }): Promise>; export type AddValidatorToPoolInput = { /** Stake pool */ stakePool: Address; /** Staker */ staker: TransactionSigner; /** Reserve stake account */ reserveStakeAccount: Address; /** Stake pool withdraw authority */ withdrawAuthority: Address; /** Validator stake list storage account */ validatorStakeList: Address; /** Stake account to add to the pool */ newStakeAccount: Address; /** Validator this stake account will be delegated to */ validatorVoteAccount: Address; /** Rent sysvar */ rentSysvar?: Address; /** Clock sysvar */ clockSysvar?: Address; /** Stake history sysvar */ stakeHistorySysvar?: Address; /** Stake config sysvar */ stakeConfigSysvar?: Address; /** System program */ systemProgram?: Address; /** Stake program */ stakeProgram?: Address; args: AddValidatorToPoolInstructionDataArgs["args"]; }; /** * (Staker only) Adds stake account delegated to validator to the pool's * list of managed validators. * The stake account will have the rent-exempt amount plus * `max( * crate::MINIMUM_ACTIVE_STAKE, * solana_program::stake::tools::get_minimum_delegation() * )`. * It is funded from the stake pool reserve. * 0. `[w]` Stake pool * 1. `[s]` Staker * 2. `[w]` Reserve stake account * 3. `[]` Stake pool withdraw authority * 4. `[w]` Validator stake list storage account * 5. `[w]` Stake account to add to the pool * 6. `[]` Validator this stake account will be delegated to * 7. `[]` Rent sysvar * 8. `[]` Clock sysvar * 9. '[]' Stake history sysvar * 10. '[]' Stake config sysvar * 11. `[]` System program * 12. `[]` Stake program * User data: optional non-zero `u32` seed used for generating the * validator stake address */ export declare function getAddValidatorToPoolInstruction(input: AddValidatorToPoolInput, config?: { programAddress?: TProgramAddress; }): AddValidatorToPoolInstruction; export type ParsedAddValidatorToPoolInstruction = { programAddress: Address; accounts: { /** Stake pool */ stakePool: TAccountMetas[0]; /** Staker */ staker: TAccountMetas[1]; /** Reserve stake account */ reserveStakeAccount: TAccountMetas[2]; /** Stake pool withdraw authority */ withdrawAuthority: TAccountMetas[3]; /** Validator stake list storage account */ validatorStakeList: TAccountMetas[4]; /** Stake account to add to the pool */ newStakeAccount: TAccountMetas[5]; /** Validator this stake account will be delegated to */ validatorVoteAccount: TAccountMetas[6]; /** Rent sysvar */ rentSysvar: TAccountMetas[7]; /** Clock sysvar */ clockSysvar: TAccountMetas[8]; /** Stake history sysvar */ stakeHistorySysvar: TAccountMetas[9]; /** Stake config sysvar */ stakeConfigSysvar: TAccountMetas[10]; /** System program */ systemProgram: TAccountMetas[11]; /** Stake program */ stakeProgram: TAccountMetas[12]; }; data: AddValidatorToPoolInstructionData; }; export declare function parseAddValidatorToPoolInstruction(instruction: Instruction & InstructionWithAccounts & InstructionWithData): ParsedAddValidatorToPoolInstruction; //#endregion //# sourceMappingURL=addValidatorToPool.d.ts.map