/** * This code was AUTOGENERATED using the Codama library. * Please DO NOT EDIT THIS FILE, instead use visitors * to add features, then rerun Codama to update it. * * @see https://github.com/codama-idl/codama */ import { type AccountMeta, type AccountSignerMeta, type Address, type FixedSizeCodec, type FixedSizeDecoder, type FixedSizeEncoder, type Instruction, type InstructionWithAccounts, type InstructionWithData, type ReadonlyAccount, type ReadonlyUint8Array, type TransactionSigner, type WritableSignerAccount } from "@solana/kit"; import { YVAULTS_PROGRAM_ADDRESS } from "../programs"; export declare const ORCA_SWAP_DISCRIMINATOR: Uint8Array; export declare function getOrcaSwapDiscriminatorBytes(): ReadonlyUint8Array; export type OrcaSwapInstruction = string, TAccountTokenATokenProgram extends string | AccountMeta = string, TAccountTokenBTokenProgram extends string | AccountMeta = string, TAccountMemoProgram extends string | AccountMeta = string, TAccountTokenAuthority extends string | AccountMeta = string, TAccountWhirlpool extends string | AccountMeta = string, TAccountTokenOwnerAccountA extends string | AccountMeta = string, TAccountTokenVaultA extends string | AccountMeta = string, TAccountTokenOwnerAccountB extends string | AccountMeta = string, TAccountTokenVaultB extends string | AccountMeta = string, TAccountTokenMintA extends string | AccountMeta = string, TAccountTokenMintB extends string | AccountMeta = string, TAccountTickArray0 extends string | AccountMeta = string, TAccountTickArray1 extends string | AccountMeta = string, TAccountTickArray2 extends string | AccountMeta = string, TAccountOracle extends string | AccountMeta = string, TAccountWhirlpoolProgram extends string | AccountMeta = string, TRemainingAccounts extends readonly AccountMeta[] = []> = Instruction & InstructionWithData & InstructionWithAccounts<[ TAccountFunder extends string ? WritableSignerAccount & AccountSignerMeta : TAccountFunder, TAccountTokenATokenProgram extends string ? ReadonlyAccount : TAccountTokenATokenProgram, TAccountTokenBTokenProgram extends string ? ReadonlyAccount : TAccountTokenBTokenProgram, TAccountMemoProgram extends string ? ReadonlyAccount : TAccountMemoProgram, TAccountTokenAuthority extends string ? ReadonlyAccount : TAccountTokenAuthority, TAccountWhirlpool extends string ? ReadonlyAccount : TAccountWhirlpool, TAccountTokenOwnerAccountA extends string ? ReadonlyAccount : TAccountTokenOwnerAccountA, TAccountTokenVaultA extends string ? ReadonlyAccount : TAccountTokenVaultA, TAccountTokenOwnerAccountB extends string ? ReadonlyAccount : TAccountTokenOwnerAccountB, TAccountTokenVaultB extends string ? ReadonlyAccount : TAccountTokenVaultB, TAccountTokenMintA extends string ? ReadonlyAccount : TAccountTokenMintA, TAccountTokenMintB extends string ? ReadonlyAccount : TAccountTokenMintB, TAccountTickArray0 extends string ? ReadonlyAccount : TAccountTickArray0, TAccountTickArray1 extends string ? ReadonlyAccount : TAccountTickArray1, TAccountTickArray2 extends string ? ReadonlyAccount : TAccountTickArray2, TAccountOracle extends string ? ReadonlyAccount : TAccountOracle, TAccountWhirlpoolProgram extends string ? ReadonlyAccount : TAccountWhirlpoolProgram, ...TRemainingAccounts ]>; export type OrcaSwapInstructionData = { discriminator: ReadonlyUint8Array; amount: bigint; otherAmountThreshold: bigint; sqrtPriceLimit: bigint; amountSpecifiedIsInput: boolean; aToB: boolean; }; export type OrcaSwapInstructionDataArgs = { amount: number | bigint; otherAmountThreshold: number | bigint; sqrtPriceLimit: number | bigint; amountSpecifiedIsInput: boolean; aToB: boolean; }; export declare function getOrcaSwapInstructionDataEncoder(): FixedSizeEncoder; export declare function getOrcaSwapInstructionDataDecoder(): FixedSizeDecoder; export declare function getOrcaSwapInstructionDataCodec(): FixedSizeCodec; export type OrcaSwapInput = { funder: TransactionSigner; tokenATokenProgram: Address; tokenBTokenProgram: Address; memoProgram: Address; tokenAuthority: Address; whirlpool: Address; tokenOwnerAccountA: Address; tokenVaultA: Address; tokenOwnerAccountB: Address; tokenVaultB: Address; tokenMintA: Address; tokenMintB: Address; tickArray0: Address; tickArray1: Address; tickArray2: Address; oracle: Address; whirlpoolProgram: Address; amount: OrcaSwapInstructionDataArgs["amount"]; otherAmountThreshold: OrcaSwapInstructionDataArgs["otherAmountThreshold"]; sqrtPriceLimit: OrcaSwapInstructionDataArgs["sqrtPriceLimit"]; amountSpecifiedIsInput: OrcaSwapInstructionDataArgs["amountSpecifiedIsInput"]; aToB: OrcaSwapInstructionDataArgs["aToB"]; }; export declare function getOrcaSwapInstruction(input: OrcaSwapInput, config?: { programAddress?: TProgramAddress; }): OrcaSwapInstruction; export type ParsedOrcaSwapInstruction = { programAddress: Address; accounts: { funder: TAccountMetas[0]; tokenATokenProgram: TAccountMetas[1]; tokenBTokenProgram: TAccountMetas[2]; memoProgram: TAccountMetas[3]; tokenAuthority: TAccountMetas[4]; whirlpool: TAccountMetas[5]; tokenOwnerAccountA: TAccountMetas[6]; tokenVaultA: TAccountMetas[7]; tokenOwnerAccountB: TAccountMetas[8]; tokenVaultB: TAccountMetas[9]; tokenMintA: TAccountMetas[10]; tokenMintB: TAccountMetas[11]; tickArray0: TAccountMetas[12]; tickArray1: TAccountMetas[13]; tickArray2: TAccountMetas[14]; oracle: TAccountMetas[15]; whirlpoolProgram: TAccountMetas[16]; }; data: OrcaSwapInstructionData; }; export declare function parseOrcaSwapInstruction(instruction: Instruction & InstructionWithAccounts & InstructionWithData): ParsedOrcaSwapInstruction; //# sourceMappingURL=orcaSwap.d.ts.map