@orca-so/wavebreak
Version:
The wavebreak JS client for interacting with the wavebreak program.
70 lines (69 loc) • 6.81 kB
TypeScript
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_BUY_EXACT_IN_DISCRIMINATOR = 8;
export declare function getTokenBuyExactInDiscriminatorBytes(): ReadonlyUint8Array;
export type TokenBuyExactInInstruction<TProgram extends string = typeof WAVEBREAK_PROGRAM_ADDRESS, TAccountBuyer 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<[
TAccountBuyer extends string ? WritableSignerAccount<TAccountBuyer> & AccountSignerMeta<TAccountBuyer> : TAccountBuyer,
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 TokenBuyExactInInstructionData = {
discriminator: number;
amountIn: bigint;
allowPartialFill: boolean;
priceThreshold: Option<readonly [bigint, bigint]>;
};
export type TokenBuyExactInInstructionDataArgs = {
amountIn: number | bigint;
allowPartialFill: boolean;
priceThreshold: OptionOrNullable<readonly [number | bigint, number | bigint]>;
};
export declare function getTokenBuyExactInInstructionDataEncoder(): Encoder<TokenBuyExactInInstructionDataArgs>;
export declare function getTokenBuyExactInInstructionDataDecoder(): Decoder<TokenBuyExactInInstructionData>;
export declare function getTokenBuyExactInInstructionDataCodec(): Codec<TokenBuyExactInInstructionDataArgs, TokenBuyExactInInstructionData>;
export type TokenBuyExactInInput<TAccountBuyer 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> = {
buyer: TransactionSigner<TAccountBuyer>;
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>;
amountIn: TokenBuyExactInInstructionDataArgs["amountIn"];
allowPartialFill: TokenBuyExactInInstructionDataArgs["allowPartialFill"];
priceThreshold: TokenBuyExactInInstructionDataArgs["priceThreshold"];
};
export declare function getTokenBuyExactInInstruction<TAccountBuyer 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: TokenBuyExactInInput<TAccountBuyer, TAccountBondingCurve, TAccountBaseMint, TAccountBaseAta, TAccountQuoteMint, TAccountQuoteVault, TAccountQuoteAta, TAccountSystemProgram, TAccountAtaProgram, TAccountBaseTokenProgram, TAccountQuoteTokenProgram>, config?: {
programAddress?: TProgramAddress;
}): TokenBuyExactInInstruction<TProgramAddress, TAccountBuyer, TAccountBondingCurve, TAccountBaseMint, TAccountBaseAta, TAccountQuoteMint, TAccountQuoteVault, TAccountQuoteAta, TAccountSystemProgram, TAccountAtaProgram, TAccountBaseTokenProgram, TAccountQuoteTokenProgram>;
export type ParsedTokenBuyExactInInstruction<TProgram extends string = typeof WAVEBREAK_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
programAddress: Address<TProgram>;
accounts: {
buyer: 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: TokenBuyExactInInstructionData;
};
export declare function parseTokenBuyExactInInstruction<TProgram extends string, TAccountMetas extends readonly AccountMeta[]>(instruction: Instruction<TProgram> & InstructionWithAccounts<TAccountMetas> & InstructionWithData<ReadonlyUint8Array>): ParsedTokenBuyExactInInstruction<TProgram, TAccountMetas>;