import { SwapParameters, SwapParametersArgs } from "../types/swapParameters.js"; import "../types/index.js"; import { CP_AMM_PROGRAM_ADDRESS } from "../programs/cpAmm.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/swap.d.ts declare const SWAP_DISCRIMINATOR: ReadonlyUint8Array; declare function getSwapDiscriminatorBytes(): ReadonlyUint8Array; type SwapInstruction = string, TAccountPool extends string | AccountMeta = string, TAccountInputTokenAccount extends string | AccountMeta = string, TAccountOutputTokenAccount extends string | AccountMeta = string, TAccountTokenAVault extends string | AccountMeta = string, TAccountTokenBVault extends string | AccountMeta = string, TAccountTokenAMint extends string | AccountMeta = string, TAccountTokenBMint extends string | AccountMeta = string, TAccountPayer extends string | AccountMeta = string, TAccountTokenAProgram extends string | AccountMeta = "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", TAccountTokenBProgram extends string | AccountMeta = "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", TAccountReferralTokenAccount extends string | AccountMeta = string, TAccountEventAuthority extends string | AccountMeta = string, TAccountProgram extends string | AccountMeta = "cpamdpZCGKUy5JxQXB4dcpGPiikHawvSWAd6mEn1sGG", TRemainingAccounts extends readonly AccountMeta[] = []> = Instruction & InstructionWithData & InstructionWithAccounts<[TAccountPoolAuthority extends string ? ReadonlyAccount : TAccountPoolAuthority, TAccountPool extends string ? WritableAccount : TAccountPool, TAccountInputTokenAccount extends string ? WritableAccount : TAccountInputTokenAccount, TAccountOutputTokenAccount extends string ? WritableAccount : TAccountOutputTokenAccount, TAccountTokenAVault extends string ? WritableAccount : TAccountTokenAVault, TAccountTokenBVault extends string ? WritableAccount : TAccountTokenBVault, TAccountTokenAMint extends string ? ReadonlyAccount : TAccountTokenAMint, TAccountTokenBMint extends string ? ReadonlyAccount : TAccountTokenBMint, TAccountPayer extends string ? ReadonlySignerAccount & AccountSignerMeta : TAccountPayer, TAccountTokenAProgram extends string ? ReadonlyAccount : TAccountTokenAProgram, TAccountTokenBProgram extends string ? ReadonlyAccount : TAccountTokenBProgram, TAccountReferralTokenAccount extends string ? WritableAccount : TAccountReferralTokenAccount, TAccountEventAuthority extends string ? ReadonlyAccount : TAccountEventAuthority, TAccountProgram extends string ? ReadonlyAccount : TAccountProgram, ...TRemainingAccounts]>; type SwapInstructionData = { discriminator: ReadonlyUint8Array; params: SwapParameters; }; type SwapInstructionDataArgs = { params: SwapParametersArgs; }; declare function getSwapInstructionDataEncoder(): FixedSizeEncoder; declare function getSwapInstructionDataDecoder(): FixedSizeDecoder; declare function getSwapInstructionDataCodec(): FixedSizeCodec; type SwapAsyncInput = { poolAuthority?: Address; /** Pool account */ pool: Address; /** The user token account for input token */ inputTokenAccount: Address; /** The user token account for output token */ outputTokenAccount: Address; /** The vault token account for input token */ tokenAVault?: Address; /** The vault token account for output token */ tokenBVault?: Address; /** The mint of token a */ tokenAMint: Address; /** The mint of token b */ tokenBMint: Address; /** The user performing the swap */ payer: TransactionSigner; /** Token a program */ tokenAProgram?: Address; /** Token b program */ tokenBProgram?: Address; /** referral token account */ referralTokenAccount?: Address; eventAuthority?: Address; program?: Address; params: SwapInstructionDataArgs["params"]; }; declare function getSwapInstructionAsync(input: SwapAsyncInput, config?: { programAddress?: TProgramAddress; }): Promise>; type SwapInput = { poolAuthority: Address; /** Pool account */ pool: Address; /** The user token account for input token */ inputTokenAccount: Address; /** The user token account for output token */ outputTokenAccount: Address; /** The vault token account for input token */ tokenAVault: Address; /** The vault token account for output token */ tokenBVault: Address; /** The mint of token a */ tokenAMint: Address; /** The mint of token b */ tokenBMint: Address; /** The user performing the swap */ payer: TransactionSigner; /** Token a program */ tokenAProgram?: Address; /** Token b program */ tokenBProgram?: Address; /** referral token account */ referralTokenAccount?: Address; eventAuthority: Address; program?: Address; params: SwapInstructionDataArgs["params"]; }; declare function getSwapInstruction(input: SwapInput, config?: { programAddress?: TProgramAddress; }): SwapInstruction; type ParsedSwapInstruction = { programAddress: Address; accounts: { poolAuthority: TAccountMetas[0]; /** Pool account */ pool: TAccountMetas[1]; /** The user token account for input token */ inputTokenAccount: TAccountMetas[2]; /** The user token account for output token */ outputTokenAccount: TAccountMetas[3]; /** The vault token account for input token */ tokenAVault: TAccountMetas[4]; /** The vault token account for output token */ tokenBVault: TAccountMetas[5]; /** The mint of token a */ tokenAMint: TAccountMetas[6]; /** The mint of token b */ tokenBMint: TAccountMetas[7]; /** The user performing the swap */ payer: TAccountMetas[8]; /** Token a program */ tokenAProgram: TAccountMetas[9]; /** Token b program */ tokenBProgram: TAccountMetas[10]; /** referral token account */ referralTokenAccount?: TAccountMetas[11] | undefined; eventAuthority: TAccountMetas[12]; program: TAccountMetas[13]; }; data: SwapInstructionData; }; declare function parseSwapInstruction(instruction: Instruction & InstructionWithAccounts & InstructionWithData): ParsedSwapInstruction; //#endregion export { ParsedSwapInstruction, SWAP_DISCRIMINATOR, SwapAsyncInput, SwapInput, SwapInstruction, SwapInstructionData, SwapInstructionDataArgs, getSwapDiscriminatorBytes, getSwapInstruction, getSwapInstructionAsync, getSwapInstructionDataCodec, getSwapInstructionDataDecoder, getSwapInstructionDataEncoder, parseSwapInstruction }; //# sourceMappingURL=swap.d.ts.map