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, WritableSignerAccount } from "@solana/kit"; //#region src/generated/instructions/depositSol.d.ts export declare const DEPOSIT_SOL_DISCRIMINATOR = 14; export declare function getDepositSolDiscriminatorBytes(): ReadonlyUint8Array; export type DepositSolInstruction = string, TAccountWithdrawAuthority extends string | AccountMeta = string, TAccountReserveStake extends string | AccountMeta = string, TAccountPayer extends string | AccountMeta = string, TAccountUserPoolTokenAccount extends string | AccountMeta = string, TAccountManagerFeeAccount extends string | AccountMeta = string, TAccountReferralPoolAccount extends string | AccountMeta = string, TAccountPoolMint extends string | AccountMeta = string, TAccountSystemProgram extends string | AccountMeta = "11111111111111111111111111111111", TAccountTokenProgram extends string | AccountMeta = "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", TAccountDepositAuthority 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 ? WritableSignerAccount & AccountSignerMeta : TAccountPayer, TAccountUserPoolTokenAccount extends string ? WritableAccount : TAccountUserPoolTokenAccount, TAccountManagerFeeAccount extends string ? WritableAccount : TAccountManagerFeeAccount, TAccountReferralPoolAccount extends string ? WritableAccount : TAccountReferralPoolAccount, TAccountPoolMint extends string ? WritableAccount : TAccountPoolMint, TAccountSystemProgram extends string ? ReadonlyAccount : TAccountSystemProgram, TAccountTokenProgram extends string ? ReadonlyAccount : TAccountTokenProgram, TAccountDepositAuthority extends string ? ReadonlySignerAccount & AccountSignerMeta : TAccountDepositAuthority, ...TRemainingAccounts]>; export type DepositSolInstructionData = { discriminator: number; args: bigint; }; export type DepositSolInstructionDataArgs = { args: number | bigint; }; export declare function getDepositSolInstructionDataEncoder(): FixedSizeEncoder; export declare function getDepositSolInstructionDataDecoder(): FixedSizeDecoder; export declare function getDepositSolInstructionDataCodec(): FixedSizeCodec; export type DepositSolAsyncInput = { /** Stake pool */ stakePool: Address; /** Stake pool withdraw authority */ withdrawAuthority?: Address; /** Reserve stake account, to deposit SOL */ reserveStake: Address; /** Account providing the lamports to be deposited into the pool */ payer: TransactionSigner; /** User account to receive pool tokens */ userPoolTokenAccount: Address; /** Account to receive fee tokens */ managerFeeAccount: Address; /** Account to receive a portion of fee as referral fees */ referralPoolAccount: Address; /** Pool token mint account */ poolMint: Address; /** System program account */ systemProgram?: Address; /** Token program id */ tokenProgram?: Address; /** (Optional) Stake pool sol deposit authority. */ depositAuthority?: TransactionSigner; args: DepositSolInstructionDataArgs["args"]; }; /** * Deposit SOL directly into the pool's reserve account. The output is a * "pool" token representing ownership into the pool. Inputs are * converted to 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 getDepositSolInstructionAsync(input: DepositSolAsyncInput, config?: { programAddress?: TProgramAddress; }): Promise>; export type DepositSolInput = { /** Stake pool */ stakePool: Address; /** Stake pool withdraw authority */ withdrawAuthority: Address; /** Reserve stake account, to deposit SOL */ reserveStake: Address; /** Account providing the lamports to be deposited into the pool */ payer: TransactionSigner; /** User account to receive pool tokens */ userPoolTokenAccount: Address; /** Account to receive fee tokens */ managerFeeAccount: Address; /** Account to receive a portion of fee as referral fees */ referralPoolAccount: Address; /** Pool token mint account */ poolMint: Address; /** System program account */ systemProgram?: Address; /** Token program id */ tokenProgram?: Address; /** (Optional) Stake pool sol deposit authority. */ depositAuthority?: TransactionSigner; args: DepositSolInstructionDataArgs["args"]; }; /** * Deposit SOL directly into the pool's reserve account. The output is a * "pool" token representing ownership into the pool. Inputs are * converted to 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 getDepositSolInstruction(input: DepositSolInput, config?: { programAddress?: TProgramAddress; }): DepositSolInstruction; export type ParsedDepositSolInstruction = { programAddress: Address; accounts: { /** Stake pool */ stakePool: TAccountMetas[0]; /** Stake pool withdraw authority */ withdrawAuthority: TAccountMetas[1]; /** Reserve stake account, to deposit SOL */ reserveStake: TAccountMetas[2]; /** Account providing the lamports to be deposited into the pool */ payer: TAccountMetas[3]; /** User account to receive pool tokens */ userPoolTokenAccount: TAccountMetas[4]; /** Account to receive fee tokens */ managerFeeAccount: TAccountMetas[5]; /** Account to receive a portion of fee as referral fees */ referralPoolAccount: TAccountMetas[6]; /** Pool token mint account */ poolMint: TAccountMetas[7]; /** System program account */ systemProgram: TAccountMetas[8]; /** Token program id */ tokenProgram: TAccountMetas[9]; /** (Optional) Stake pool sol deposit authority. */ depositAuthority?: TAccountMetas[10] | undefined; }; data: DepositSolInstructionData; }; export declare function parseDepositSolInstruction(instruction: Instruction & InstructionWithAccounts & InstructionWithData): ParsedDepositSolInstruction; //#endregion //# sourceMappingURL=depositSol.d.ts.map