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/depositStakeWithSlippage.d.ts export declare const DEPOSIT_STAKE_WITH_SLIPPAGE_DISCRIMINATOR = 23; export declare function getDepositStakeWithSlippageDiscriminatorBytes(): ReadonlyUint8Array; export type DepositStakeWithSlippageInstruction = 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 DepositStakeWithSlippageInstructionData = { discriminator: number; minimumPoolTokensOut: bigint; }; export type DepositStakeWithSlippageInstructionDataArgs = { minimumPoolTokensOut: number | bigint; }; export declare function getDepositStakeWithSlippageInstructionDataEncoder(): FixedSizeEncoder; export declare function getDepositStakeWithSlippageInstructionDataDecoder(): FixedSizeDecoder; export declare function getDepositStakeWithSlippageInstructionDataCodec(): FixedSizeCodec; export type DepositStakeWithSlippageAsyncInput = { 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; minimumPoolTokensOut: DepositStakeWithSlippageInstructionDataArgs["minimumPoolTokensOut"]; }; /** * Deposit some stake into the pool, with a specified slippage * constraint. The output is a "pool" token representing ownership * into the pool. Inputs are converted at 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 getDepositStakeWithSlippageInstructionAsync(input: DepositStakeWithSlippageAsyncInput, config?: { programAddress?: TProgramAddress; }): Promise ? ReadonlySignerAccount & AccountSignerMeta : TAccountDepositAuthority, TAccountWithdrawAuthority, TAccountStakeToMerge, TAccountValidatorStakeAccount, TAccountReserveStake, TAccountUserPoolTokenAccount, TAccountFeeAccount, TAccountReferralFeeAccount, TAccountPoolMint, TAccountClockSysvar, TAccountStakeHistorySysvar, TAccountTokenProgram, TAccountStakeProgram>>; export type DepositStakeWithSlippageInput = { 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; minimumPoolTokensOut: DepositStakeWithSlippageInstructionDataArgs["minimumPoolTokensOut"]; }; /** * Deposit some stake into the pool, with a specified slippage * constraint. The output is a "pool" token representing ownership * into the pool. Inputs are converted at 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 getDepositStakeWithSlippageInstruction(input: DepositStakeWithSlippageInput, config?: { programAddress?: TProgramAddress; }): DepositStakeWithSlippageInstruction ? ReadonlySignerAccount & AccountSignerMeta : TAccountDepositAuthority, TAccountWithdrawAuthority, TAccountStakeToMerge, TAccountValidatorStakeAccount, TAccountReserveStake, TAccountUserPoolTokenAccount, TAccountFeeAccount, TAccountReferralFeeAccount, TAccountPoolMint, TAccountClockSysvar, TAccountStakeHistorySysvar, TAccountTokenProgram, TAccountStakeProgram>; export type ParsedDepositStakeWithSlippageInstruction = { 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: DepositStakeWithSlippageInstructionData; }; export declare function parseDepositStakeWithSlippageInstruction(instruction: Instruction & InstructionWithAccounts & InstructionWithData): ParsedDepositStakeWithSlippageInstruction; //#endregion //# sourceMappingURL=depositStakeWithSlippage.d.ts.map