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/depositSolWithSlippage.d.ts export declare const DEPOSIT_SOL_WITH_SLIPPAGE_DISCRIMINATOR = 25; export declare function getDepositSolWithSlippageDiscriminatorBytes(): ReadonlyUint8Array; export type DepositSolWithSlippageInstruction = string, TAccountWithdrawAuthority extends string | AccountMeta = string, TAccountReserveStake extends string | AccountMeta = string, TAccountPayer extends string | AccountMeta = string, TAccountUserPoolTokenAccount extends string | AccountMeta = string, TAccountFeeAccount extends string | AccountMeta = string, TAccountReferralFeeAccount extends string | AccountMeta = string, TAccountPoolMint extends string | AccountMeta = string, TAccountSystemProgram extends string | AccountMeta = "11111111111111111111111111111111", TAccountTokenProgram extends string | AccountMeta = "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", TAccountSolDepositAuthority extends string | AccountMeta = string, TRemainingAccounts extends readonly AccountMeta[] = []> = Instruction & InstructionWithData & InstructionWithAccounts<[TAccountStakePool extends string ? WritableAccount : TAccountStakePool, TAccountWithdrawAuthority extends string ? ReadonlyAccount : TAccountWithdrawAuthority, TAccountReserveStake extends string ? WritableAccount : TAccountReserveStake, TAccountPayer extends string ? ReadonlySignerAccount & AccountSignerMeta : TAccountPayer, TAccountUserPoolTokenAccount extends string ? WritableAccount : TAccountUserPoolTokenAccount, TAccountFeeAccount extends string ? WritableAccount : TAccountFeeAccount, TAccountReferralFeeAccount extends string ? WritableAccount : TAccountReferralFeeAccount, TAccountPoolMint extends string ? WritableAccount : TAccountPoolMint, TAccountSystemProgram extends string ? ReadonlyAccount : TAccountSystemProgram, TAccountTokenProgram extends string ? ReadonlyAccount : TAccountTokenProgram, TAccountSolDepositAuthority extends string ? ReadonlyAccount : TAccountSolDepositAuthority, ...TRemainingAccounts]>; export type DepositSolWithSlippageInstructionData = { discriminator: number; lamportsIn: bigint; minimumPoolTokensOut: bigint; }; export type DepositSolWithSlippageInstructionDataArgs = { lamportsIn: number | bigint; minimumPoolTokensOut: number | bigint; }; export declare function getDepositSolWithSlippageInstructionDataEncoder(): FixedSizeEncoder; export declare function getDepositSolWithSlippageInstructionDataDecoder(): FixedSizeDecoder; export declare function getDepositSolWithSlippageInstructionDataCodec(): FixedSizeCodec; export type DepositSolWithSlippageAsyncInput = { /** Stake pool */ stakePool: Address; /** Stake pool withdraw authority */ withdrawAuthority?: Address; /** Reserve stake */ reserveStake: Address; /** Payer */ payer: TransactionSigner; /** User pool token account */ userPoolTokenAccount: Address; /** Fee account */ feeAccount: Address; /** Referral fee account */ referralFeeAccount: Address; /** Pool mint */ poolMint: Address; /** System program */ systemProgram?: Address; /** Token program */ tokenProgram?: Address; /** Stake pool sol deposit authority */ solDepositAuthority: Address | TransactionSigner; lamportsIn: DepositSolWithSlippageInstructionDataArgs["lamportsIn"]; minimumPoolTokensOut: DepositSolWithSlippageInstructionDataArgs["minimumPoolTokensOut"]; }; /** * Deposit SOL directly into the pool's reserve account, 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. `[]` Stake pool withdraw authority * 2. `[w]` Reserve stake account, to deposit SOL * 3. `[s]` Account providing the lamports to be deposited into the pool * 4. `[w]` User account to receive pool tokens * 5. `[w]` Account to receive fee tokens * 6. `[w]` Account to receive a portion of fee as referral fees * 7. `[w]` Pool token mint account * 8. `[]` System program account * 9. `[]` Token program id * 10. `[s]` (Optional) Stake pool sol deposit authority. */ export declare function getDepositSolWithSlippageInstructionAsync(input: DepositSolWithSlippageAsyncInput, config?: { programAddress?: TProgramAddress; }): Promise ? ReadonlySignerAccount & AccountSignerMeta : TAccountSolDepositAuthority>>; export type DepositSolWithSlippageInput = { /** Stake pool */ stakePool: Address; /** Stake pool withdraw authority */ withdrawAuthority: Address; /** Reserve stake */ reserveStake: Address; /** Payer */ payer: TransactionSigner; /** User pool token account */ userPoolTokenAccount: Address; /** Fee account */ feeAccount: Address; /** Referral fee account */ referralFeeAccount: Address; /** Pool mint */ poolMint: Address; /** System program */ systemProgram?: Address; /** Token program */ tokenProgram?: Address; /** Stake pool sol deposit authority */ solDepositAuthority: Address | TransactionSigner; lamportsIn: DepositSolWithSlippageInstructionDataArgs["lamportsIn"]; minimumPoolTokensOut: DepositSolWithSlippageInstructionDataArgs["minimumPoolTokensOut"]; }; /** * Deposit SOL directly into the pool's reserve account, 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. `[]` Stake pool withdraw authority * 2. `[w]` Reserve stake account, to deposit SOL * 3. `[s]` Account providing the lamports to be deposited into the pool * 4. `[w]` User account to receive pool tokens * 5. `[w]` Account to receive fee tokens * 6. `[w]` Account to receive a portion of fee as referral fees * 7. `[w]` Pool token mint account * 8. `[]` System program account * 9. `[]` Token program id * 10. `[s]` (Optional) Stake pool sol deposit authority. */ export declare function getDepositSolWithSlippageInstruction(input: DepositSolWithSlippageInput, config?: { programAddress?: TProgramAddress; }): DepositSolWithSlippageInstruction ? ReadonlySignerAccount & AccountSignerMeta : TAccountSolDepositAuthority>; export type ParsedDepositSolWithSlippageInstruction = { programAddress: Address; accounts: { /** Stake pool */ stakePool: TAccountMetas[0]; /** Stake pool withdraw authority */ withdrawAuthority: TAccountMetas[1]; /** Reserve stake */ reserveStake: TAccountMetas[2]; /** Payer */ payer: TAccountMetas[3]; /** User pool token account */ userPoolTokenAccount: TAccountMetas[4]; /** Fee account */ feeAccount: TAccountMetas[5]; /** Referral fee account */ referralFeeAccount: TAccountMetas[6]; /** Pool mint */ poolMint: TAccountMetas[7]; /** System program */ systemProgram: TAccountMetas[8]; /** Token program */ tokenProgram: TAccountMetas[9]; /** Stake pool sol deposit authority */ solDepositAuthority: TAccountMetas[10]; }; data: DepositSolWithSlippageInstructionData; }; export declare function parseDepositSolWithSlippageInstruction(instruction: Instruction & InstructionWithAccounts & InstructionWithData): ParsedDepositSolWithSlippageInstruction; //#endregion //# sourceMappingURL=depositSolWithSlippage.d.ts.map