UNPKG

@orca-so/wavebreak

Version:

The wavebreak JS client for interacting with the wavebreak program.

70 lines (69 loc) 6.87 kB
import { AccountMeta, AccountSignerMeta, Address, Codec, Decoder, Encoder, Instruction, InstructionWithAccounts, InstructionWithData, Option, OptionOrNullable, ReadonlyAccount, ReadonlyUint8Array, TransactionSigner, WritableAccount, WritableSignerAccount } from '@solana/kit'; import { WAVEBREAK_PROGRAM_ADDRESS } from '../programs'; export declare const TOKEN_SELL_EXACT_OUT_DISCRIMINATOR = 11; export declare function getTokenSellExactOutDiscriminatorBytes(): ReadonlyUint8Array; export type TokenSellExactOutInstruction<TProgram extends string = typeof WAVEBREAK_PROGRAM_ADDRESS, TAccountSeller extends string | AccountMeta<string> = string, TAccountBondingCurve extends string | AccountMeta<string> = string, TAccountBaseMint extends string | AccountMeta<string> = string, TAccountBaseAta extends string | AccountMeta<string> = string, TAccountQuoteMint extends string | AccountMeta<string> = string, TAccountQuoteVault extends string | AccountMeta<string> = string, TAccountQuoteAta extends string | AccountMeta<string> = string, TAccountSystemProgram extends string | AccountMeta<string> = "11111111111111111111111111111111", TAccountAtaProgram extends string | AccountMeta<string> = "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL", TAccountBaseTokenProgram extends string | AccountMeta<string> = string, TAccountQuoteTokenProgram extends string | AccountMeta<string> = string, TRemainingAccounts extends readonly AccountMeta<string>[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[ TAccountSeller extends string ? WritableSignerAccount<TAccountSeller> & AccountSignerMeta<TAccountSeller> : TAccountSeller, TAccountBondingCurve extends string ? WritableAccount<TAccountBondingCurve> : TAccountBondingCurve, TAccountBaseMint extends string ? WritableAccount<TAccountBaseMint> : TAccountBaseMint, TAccountBaseAta extends string ? WritableAccount<TAccountBaseAta> : TAccountBaseAta, TAccountQuoteMint extends string ? ReadonlyAccount<TAccountQuoteMint> : TAccountQuoteMint, TAccountQuoteVault extends string ? WritableAccount<TAccountQuoteVault> : TAccountQuoteVault, TAccountQuoteAta extends string ? WritableAccount<TAccountQuoteAta> : TAccountQuoteAta, TAccountSystemProgram extends string ? ReadonlyAccount<TAccountSystemProgram> : TAccountSystemProgram, TAccountAtaProgram extends string ? ReadonlyAccount<TAccountAtaProgram> : TAccountAtaProgram, TAccountBaseTokenProgram extends string ? ReadonlyAccount<TAccountBaseTokenProgram> : TAccountBaseTokenProgram, TAccountQuoteTokenProgram extends string ? ReadonlyAccount<TAccountQuoteTokenProgram> : TAccountQuoteTokenProgram, ...TRemainingAccounts ]>; export type TokenSellExactOutInstructionData = { discriminator: number; amountOut: bigint; allowPartialFill: boolean; priceThreshold: Option<readonly [bigint, bigint]>; }; export type TokenSellExactOutInstructionDataArgs = { amountOut: number | bigint; allowPartialFill: boolean; priceThreshold: OptionOrNullable<readonly [number | bigint, number | bigint]>; }; export declare function getTokenSellExactOutInstructionDataEncoder(): Encoder<TokenSellExactOutInstructionDataArgs>; export declare function getTokenSellExactOutInstructionDataDecoder(): Decoder<TokenSellExactOutInstructionData>; export declare function getTokenSellExactOutInstructionDataCodec(): Codec<TokenSellExactOutInstructionDataArgs, TokenSellExactOutInstructionData>; export type TokenSellExactOutInput<TAccountSeller extends string = string, TAccountBondingCurve extends string = string, TAccountBaseMint extends string = string, TAccountBaseAta extends string = string, TAccountQuoteMint extends string = string, TAccountQuoteVault extends string = string, TAccountQuoteAta extends string = string, TAccountSystemProgram extends string = string, TAccountAtaProgram extends string = string, TAccountBaseTokenProgram extends string = string, TAccountQuoteTokenProgram extends string = string> = { seller: TransactionSigner<TAccountSeller>; bondingCurve: Address<TAccountBondingCurve>; baseMint: Address<TAccountBaseMint>; baseAta: Address<TAccountBaseAta>; quoteMint: Address<TAccountQuoteMint>; quoteVault: Address<TAccountQuoteVault>; quoteAta: Address<TAccountQuoteAta>; systemProgram?: Address<TAccountSystemProgram>; ataProgram?: Address<TAccountAtaProgram>; baseTokenProgram: Address<TAccountBaseTokenProgram>; quoteTokenProgram: Address<TAccountQuoteTokenProgram>; amountOut: TokenSellExactOutInstructionDataArgs["amountOut"]; allowPartialFill: TokenSellExactOutInstructionDataArgs["allowPartialFill"]; priceThreshold: TokenSellExactOutInstructionDataArgs["priceThreshold"]; }; export declare function getTokenSellExactOutInstruction<TAccountSeller extends string, TAccountBondingCurve extends string, TAccountBaseMint extends string, TAccountBaseAta extends string, TAccountQuoteMint extends string, TAccountQuoteVault extends string, TAccountQuoteAta extends string, TAccountSystemProgram extends string, TAccountAtaProgram extends string, TAccountBaseTokenProgram extends string, TAccountQuoteTokenProgram extends string, TProgramAddress extends Address = typeof WAVEBREAK_PROGRAM_ADDRESS>(input: TokenSellExactOutInput<TAccountSeller, TAccountBondingCurve, TAccountBaseMint, TAccountBaseAta, TAccountQuoteMint, TAccountQuoteVault, TAccountQuoteAta, TAccountSystemProgram, TAccountAtaProgram, TAccountBaseTokenProgram, TAccountQuoteTokenProgram>, config?: { programAddress?: TProgramAddress; }): TokenSellExactOutInstruction<TProgramAddress, TAccountSeller, TAccountBondingCurve, TAccountBaseMint, TAccountBaseAta, TAccountQuoteMint, TAccountQuoteVault, TAccountQuoteAta, TAccountSystemProgram, TAccountAtaProgram, TAccountBaseTokenProgram, TAccountQuoteTokenProgram>; export type ParsedTokenSellExactOutInstruction<TProgram extends string = typeof WAVEBREAK_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = { programAddress: Address<TProgram>; accounts: { seller: TAccountMetas[0]; bondingCurve: TAccountMetas[1]; baseMint: TAccountMetas[2]; baseAta: TAccountMetas[3]; quoteMint: TAccountMetas[4]; quoteVault: TAccountMetas[5]; quoteAta: TAccountMetas[6]; systemProgram: TAccountMetas[7]; ataProgram: TAccountMetas[8]; baseTokenProgram: TAccountMetas[9]; quoteTokenProgram: TAccountMetas[10]; }; data: TokenSellExactOutInstructionData; }; export declare function parseTokenSellExactOutInstruction<TProgram extends string, TAccountMetas extends readonly AccountMeta[]>(instruction: Instruction<TProgram> & InstructionWithAccounts<TAccountMetas> & InstructionWithData<ReadonlyUint8Array>): ParsedTokenSellExactOutInstruction<TProgram, TAccountMetas>;