@orca-so/wavebreak
Version:
The wavebreak JS client for interacting with the wavebreak program.
95 lines (94 loc) • 8.32 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';
import { GraduationMethod, GraduationMethodArgs } from '../types';
export declare const CREATE_PRESALE_DISCRIMINATOR = 42;
export declare function getCreatePresaleDiscriminatorBytes(): ReadonlyUint8Array;
export type CreatePresaleInstruction<TProgram extends string = typeof WAVEBREAK_PROGRAM_ADDRESS, TAccountCreator extends string | AccountMeta<string> = string, TAccountBondingCurve extends string | AccountMeta<string> = string, TAccountBaseMint extends string | AccountMeta<string> = string, TAccountQuoteMint extends string | AccountMeta<string> = string, TAccountQuoteVault extends string | AccountMeta<string> = string, TAccountMintConfig extends string | AccountMeta<string> = string, TAccountMetadata extends string | AccountMeta<string> = string, TAccountSystemProgram extends string | AccountMeta<string> = "11111111111111111111111111111111", TAccountBaseTokenProgram extends string | AccountMeta<string> = string, TAccountQuoteTokenProgram extends string | AccountMeta<string> = string, TAccountAtaProgram extends string | AccountMeta<string> = "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL", TAccountMetaplexProgram extends string | AccountMeta<string> = string, TRemainingAccounts extends readonly AccountMeta<string>[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[
TAccountCreator extends string ? WritableSignerAccount<TAccountCreator> & AccountSignerMeta<TAccountCreator> : TAccountCreator,
TAccountBondingCurve extends string ? WritableAccount<TAccountBondingCurve> : TAccountBondingCurve,
TAccountBaseMint extends string ? WritableSignerAccount<TAccountBaseMint> & AccountSignerMeta<TAccountBaseMint> : TAccountBaseMint,
TAccountQuoteMint extends string ? ReadonlyAccount<TAccountQuoteMint> : TAccountQuoteMint,
TAccountQuoteVault extends string ? WritableAccount<TAccountQuoteVault> : TAccountQuoteVault,
TAccountMintConfig extends string ? ReadonlyAccount<TAccountMintConfig> : TAccountMintConfig,
TAccountMetadata extends string ? WritableAccount<TAccountMetadata> : TAccountMetadata,
TAccountSystemProgram extends string ? ReadonlyAccount<TAccountSystemProgram> : TAccountSystemProgram,
TAccountBaseTokenProgram extends string ? ReadonlyAccount<TAccountBaseTokenProgram> : TAccountBaseTokenProgram,
TAccountQuoteTokenProgram extends string ? ReadonlyAccount<TAccountQuoteTokenProgram> : TAccountQuoteTokenProgram,
TAccountAtaProgram extends string ? ReadonlyAccount<TAccountAtaProgram> : TAccountAtaProgram,
TAccountMetaplexProgram extends string ? ReadonlyAccount<TAccountMetaplexProgram> : TAccountMetaplexProgram,
...TRemainingAccounts
]>;
export type CreatePresaleInstructionData = {
discriminator: number;
name: string;
symbol: string;
uri: string;
tokenPrice: Option<bigint>;
graduationTarget: Option<bigint>;
graduationMethods: Option<Array<GraduationMethod>>;
launchTime: Option<bigint>;
graduationTime: Option<bigint>;
minReserveBps: Option<number>;
baseAllocationBps: Option<number>;
};
export type CreatePresaleInstructionDataArgs = {
name: string;
symbol: string;
uri: string;
tokenPrice: OptionOrNullable<number | bigint>;
graduationTarget: OptionOrNullable<number | bigint>;
graduationMethods: OptionOrNullable<Array<GraduationMethodArgs>>;
launchTime: OptionOrNullable<number | bigint>;
graduationTime: OptionOrNullable<number | bigint>;
minReserveBps: OptionOrNullable<number>;
baseAllocationBps: OptionOrNullable<number>;
};
export declare function getCreatePresaleInstructionDataEncoder(): Encoder<CreatePresaleInstructionDataArgs>;
export declare function getCreatePresaleInstructionDataDecoder(): Decoder<CreatePresaleInstructionData>;
export declare function getCreatePresaleInstructionDataCodec(): Codec<CreatePresaleInstructionDataArgs, CreatePresaleInstructionData>;
export type CreatePresaleInput<TAccountCreator extends string = string, TAccountBondingCurve extends string = string, TAccountBaseMint extends string = string, TAccountQuoteMint extends string = string, TAccountQuoteVault extends string = string, TAccountMintConfig extends string = string, TAccountMetadata extends string = string, TAccountSystemProgram extends string = string, TAccountBaseTokenProgram extends string = string, TAccountQuoteTokenProgram extends string = string, TAccountAtaProgram extends string = string, TAccountMetaplexProgram extends string = string> = {
creator: TransactionSigner<TAccountCreator>;
bondingCurve: Address<TAccountBondingCurve>;
baseMint: TransactionSigner<TAccountBaseMint>;
quoteMint: Address<TAccountQuoteMint>;
quoteVault: Address<TAccountQuoteVault>;
mintConfig: Address<TAccountMintConfig>;
metadata: Address<TAccountMetadata>;
systemProgram?: Address<TAccountSystemProgram>;
baseTokenProgram: Address<TAccountBaseTokenProgram>;
quoteTokenProgram: Address<TAccountQuoteTokenProgram>;
ataProgram?: Address<TAccountAtaProgram>;
metaplexProgram: Address<TAccountMetaplexProgram>;
name: CreatePresaleInstructionDataArgs["name"];
symbol: CreatePresaleInstructionDataArgs["symbol"];
uri: CreatePresaleInstructionDataArgs["uri"];
tokenPrice: CreatePresaleInstructionDataArgs["tokenPrice"];
graduationTarget: CreatePresaleInstructionDataArgs["graduationTarget"];
graduationMethods: CreatePresaleInstructionDataArgs["graduationMethods"];
launchTime: CreatePresaleInstructionDataArgs["launchTime"];
graduationTime: CreatePresaleInstructionDataArgs["graduationTime"];
minReserveBps: CreatePresaleInstructionDataArgs["minReserveBps"];
baseAllocationBps: CreatePresaleInstructionDataArgs["baseAllocationBps"];
};
export declare function getCreatePresaleInstruction<TAccountCreator extends string, TAccountBondingCurve extends string, TAccountBaseMint extends string, TAccountQuoteMint extends string, TAccountQuoteVault extends string, TAccountMintConfig extends string, TAccountMetadata extends string, TAccountSystemProgram extends string, TAccountBaseTokenProgram extends string, TAccountQuoteTokenProgram extends string, TAccountAtaProgram extends string, TAccountMetaplexProgram extends string, TProgramAddress extends Address = typeof WAVEBREAK_PROGRAM_ADDRESS>(input: CreatePresaleInput<TAccountCreator, TAccountBondingCurve, TAccountBaseMint, TAccountQuoteMint, TAccountQuoteVault, TAccountMintConfig, TAccountMetadata, TAccountSystemProgram, TAccountBaseTokenProgram, TAccountQuoteTokenProgram, TAccountAtaProgram, TAccountMetaplexProgram>, config?: {
programAddress?: TProgramAddress;
}): CreatePresaleInstruction<TProgramAddress, TAccountCreator, TAccountBondingCurve, TAccountBaseMint, TAccountQuoteMint, TAccountQuoteVault, TAccountMintConfig, TAccountMetadata, TAccountSystemProgram, TAccountBaseTokenProgram, TAccountQuoteTokenProgram, TAccountAtaProgram, TAccountMetaplexProgram>;
export type ParsedCreatePresaleInstruction<TProgram extends string = typeof WAVEBREAK_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
programAddress: Address<TProgram>;
accounts: {
creator: TAccountMetas[0];
bondingCurve: TAccountMetas[1];
baseMint: TAccountMetas[2];
quoteMint: TAccountMetas[3];
quoteVault: TAccountMetas[4];
mintConfig: TAccountMetas[5];
metadata: TAccountMetas[6];
systemProgram: TAccountMetas[7];
baseTokenProgram: TAccountMetas[8];
quoteTokenProgram: TAccountMetas[9];
ataProgram: TAccountMetas[10];
metaplexProgram: TAccountMetas[11];
};
data: CreatePresaleInstructionData;
};
export declare function parseCreatePresaleInstruction<TProgram extends string, TAccountMetas extends readonly AccountMeta[]>(instruction: Instruction<TProgram> & InstructionWithAccounts<TAccountMetas> & InstructionWithData<ReadonlyUint8Array>): ParsedCreatePresaleInstruction<TProgram, TAccountMetas>;