import { SwapParameters2, SwapParameters2Args } from "../types/swapParameters2.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/swap2.d.ts declare const SWAP2_DISCRIMINATOR: ReadonlyUint8Array; declare function getSwap2DiscriminatorBytes(): ReadonlyUint8Array; type Swap2Instruction = 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 Swap2InstructionData = { discriminator: ReadonlyUint8Array; params: SwapParameters2; }; type Swap2InstructionDataArgs = { params: SwapParameters2Args; }; declare function getSwap2InstructionDataEncoder(): FixedSizeEncoder; declare function getSwap2InstructionDataDecoder(): FixedSizeDecoder; declare function getSwap2InstructionDataCodec(): FixedSizeCodec; type Swap2AsyncInput = { 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: Swap2InstructionDataArgs["params"]; }; declare function getSwap2InstructionAsync(input: Swap2AsyncInput, config?: { programAddress?: TProgramAddress; }): Promise>; type Swap2Input = { 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: Swap2InstructionDataArgs["params"]; }; declare function getSwap2Instruction(input: Swap2Input, config?: { programAddress?: TProgramAddress; }): Swap2Instruction; type ParsedSwap2Instruction = { 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: Swap2InstructionData; }; declare function parseSwap2Instruction(instruction: Instruction & InstructionWithAccounts & InstructionWithData): ParsedSwap2Instruction; //#endregion export { ParsedSwap2Instruction, SWAP2_DISCRIMINATOR, Swap2AsyncInput, Swap2Input, Swap2Instruction, Swap2InstructionData, Swap2InstructionDataArgs, getSwap2DiscriminatorBytes, getSwap2Instruction, getSwap2InstructionAsync, getSwap2InstructionDataCodec, getSwap2InstructionDataDecoder, getSwap2InstructionDataEncoder, parseSwap2Instruction }; //# sourceMappingURL=swap2.d.ts.map