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/depositStake.d.ts export declare const DEPOSIT_STAKE_DISCRIMINATOR = 9; export declare function getDepositStakeDiscriminatorBytes(): ReadonlyUint8Array; export type DepositStakeInstruction = string, TAccountValidatorList extends string | AccountMeta = string, TAccountDepositAuthority extends string | AccountMeta = string, TAccountWithdrawAuthority extends string | AccountMeta = string, TAccountStakeToMerge extends string | AccountMeta = string, TAccountValidatorStakeAccount extends string | AccountMeta = string, TAccountReserveStake extends string | AccountMeta = string, TAccountUserPoolTokenAccount extends string | AccountMeta = string, TAccountFeeAccount extends string | AccountMeta = string, TAccountReferralFeeAccount extends string | AccountMeta = string, TAccountPoolMint extends string | AccountMeta = string, TAccountClockSysvar extends string | AccountMeta = "SysvarC1ock11111111111111111111111111111111", TAccountStakeHistorySysvar extends string | AccountMeta = "SysvarStakeHistory1111111111111111111111111", TAccountTokenProgram extends string | AccountMeta = "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", TAccountStakeProgram extends string | AccountMeta = "Stake11111111111111111111111111111111111111", TRemainingAccounts extends readonly AccountMeta[] = []> = Instruction & InstructionWithData & InstructionWithAccounts<[TAccountStakePool extends string ? WritableAccount : TAccountStakePool, TAccountValidatorList extends string ? WritableAccount : TAccountValidatorList, TAccountDepositAuthority extends string ? ReadonlyAccount : TAccountDepositAuthority, TAccountWithdrawAuthority extends string ? ReadonlyAccount : TAccountWithdrawAuthority, TAccountStakeToMerge extends string ? WritableAccount : TAccountStakeToMerge, TAccountValidatorStakeAccount extends string ? WritableAccount : TAccountValidatorStakeAccount, TAccountReserveStake extends string ? WritableAccount : TAccountReserveStake, TAccountUserPoolTokenAccount extends string ? WritableAccount : TAccountUserPoolTokenAccount, TAccountFeeAccount extends string ? WritableAccount : TAccountFeeAccount, TAccountReferralFeeAccount extends string ? WritableAccount : TAccountReferralFeeAccount, TAccountPoolMint extends string ? WritableAccount : TAccountPoolMint, TAccountClockSysvar extends string ? ReadonlyAccount : TAccountClockSysvar, TAccountStakeHistorySysvar extends string ? ReadonlyAccount : TAccountStakeHistorySysvar, TAccountTokenProgram extends string ? ReadonlyAccount : TAccountTokenProgram, TAccountStakeProgram extends string ? ReadonlyAccount : TAccountStakeProgram, ...TRemainingAccounts]>; export type DepositStakeInstructionData = { discriminator: number; }; export type DepositStakeInstructionDataArgs = {}; export declare function getDepositStakeInstructionDataEncoder(): FixedSizeEncoder; export declare function getDepositStakeInstructionDataDecoder(): FixedSizeDecoder; export declare function getDepositStakeInstructionDataCodec(): FixedSizeCodec; export type DepositStakeAsyncInput = { stakePool: Address; validatorList: Address; depositAuthority: Address | TransactionSigner; withdrawAuthority?: Address; stakeToMerge: Address; validatorStakeAccount: Address; reserveStake: Address; userPoolTokenAccount: Address; feeAccount: Address; referralFeeAccount: Address; poolMint: Address; clockSysvar?: Address; stakeHistorySysvar?: Address; tokenProgram?: Address; stakeProgram?: Address; }; /** * Deposit some stake into the pool. The output is a "pool" token * representing ownership into the pool. Inputs are converted to the * current ratio. * 0. `[w]` Stake pool * 1. `[w]` Validator stake list storage account * 2. `[s]/[]` Stake pool deposit authority * 3. `[]` Stake pool withdraw authority * 4. `[w]` Stake account to join the pool (withdraw authority for the * stake account should be first set to the stake pool deposit * authority) * 5. `[w]` Validator stake account for the stake account to be merged * with * 6. `[w]` Reserve stake account, to withdraw rent exempt reserve * 7. `[w]` User account to receive pool tokens * 8. `[w]` Account to receive pool fee tokens * 9. `[w]` Account to receive a portion of pool fee tokens as referral * fees * 10. `[w]` Pool token mint account * 11. '[]' Sysvar clock account * 12. '[]' Sysvar stake history account * 13. `[]` Pool token program id, * 14. `[]` Stake program id, */ export declare function getDepositStakeInstructionAsync(input: DepositStakeAsyncInput, config?: { programAddress?: TProgramAddress; }): Promise ? ReadonlySignerAccount & AccountSignerMeta : TAccountDepositAuthority, TAccountWithdrawAuthority, TAccountStakeToMerge, TAccountValidatorStakeAccount, TAccountReserveStake, TAccountUserPoolTokenAccount, TAccountFeeAccount, TAccountReferralFeeAccount, TAccountPoolMint, TAccountClockSysvar, TAccountStakeHistorySysvar, TAccountTokenProgram, TAccountStakeProgram>>; export type DepositStakeInput = { stakePool: Address; validatorList: Address; depositAuthority: Address | TransactionSigner; withdrawAuthority: Address; stakeToMerge: Address; validatorStakeAccount: Address; reserveStake: Address; userPoolTokenAccount: Address; feeAccount: Address; referralFeeAccount: Address; poolMint: Address; clockSysvar?: Address; stakeHistorySysvar?: Address; tokenProgram?: Address; stakeProgram?: Address; }; /** * Deposit some stake into the pool. The output is a "pool" token * representing ownership into the pool. Inputs are converted to the * current ratio. * 0. `[w]` Stake pool * 1. `[w]` Validator stake list storage account * 2. `[s]/[]` Stake pool deposit authority * 3. `[]` Stake pool withdraw authority * 4. `[w]` Stake account to join the pool (withdraw authority for the * stake account should be first set to the stake pool deposit * authority) * 5. `[w]` Validator stake account for the stake account to be merged * with * 6. `[w]` Reserve stake account, to withdraw rent exempt reserve * 7. `[w]` User account to receive pool tokens * 8. `[w]` Account to receive pool fee tokens * 9. `[w]` Account to receive a portion of pool fee tokens as referral * fees * 10. `[w]` Pool token mint account * 11. '[]' Sysvar clock account * 12. '[]' Sysvar stake history account * 13. `[]` Pool token program id, * 14. `[]` Stake program id, */ export declare function getDepositStakeInstruction(input: DepositStakeInput, config?: { programAddress?: TProgramAddress; }): DepositStakeInstruction ? ReadonlySignerAccount & AccountSignerMeta : TAccountDepositAuthority, TAccountWithdrawAuthority, TAccountStakeToMerge, TAccountValidatorStakeAccount, TAccountReserveStake, TAccountUserPoolTokenAccount, TAccountFeeAccount, TAccountReferralFeeAccount, TAccountPoolMint, TAccountClockSysvar, TAccountStakeHistorySysvar, TAccountTokenProgram, TAccountStakeProgram>; export type ParsedDepositStakeInstruction = { programAddress: Address; accounts: { stakePool: TAccountMetas[0]; validatorList: TAccountMetas[1]; depositAuthority: TAccountMetas[2]; withdrawAuthority: TAccountMetas[3]; stakeToMerge: TAccountMetas[4]; validatorStakeAccount: TAccountMetas[5]; reserveStake: TAccountMetas[6]; userPoolTokenAccount: TAccountMetas[7]; feeAccount: TAccountMetas[8]; referralFeeAccount: TAccountMetas[9]; poolMint: TAccountMetas[10]; clockSysvar: TAccountMetas[11]; stakeHistorySysvar: TAccountMetas[12]; tokenProgram: TAccountMetas[13]; stakeProgram: TAccountMetas[14]; }; data: DepositStakeInstructionData; }; export declare function parseDepositStakeInstruction(instruction: Instruction & InstructionWithAccounts & InstructionWithData): ParsedDepositStakeInstruction; //#endregion //# sourceMappingURL=depositStake.d.ts.map