UNPKG

@orca-so/wavebreak

Version:

The wavebreak JS client for interacting with the wavebreak program.

98 lines (97 loc) 8.46 kB
import { Address, Codec, Decoder, Encoder, IAccountMeta, IAccountSignerMeta, IInstruction, IInstructionWithAccounts, IInstructionWithData, Option, OptionOrNullable, ReadonlyAccount, TransactionSigner, WritableAccount, WritableSignerAccount } from '@solana/kit'; import { WAVEBREAK_PROGRAM_ADDRESS } from '../programs'; import { GraduationMethod, GraduationMethodArgs } from '../types'; export declare const CREATE_LAUNCH_DISCRIMINATOR = 41; export declare function getCreateLaunchDiscriminatorBytes(): import('@solana/kit').ReadonlyUint8Array; export type CreateLaunchInstruction<TProgram extends string = typeof WAVEBREAK_PROGRAM_ADDRESS, TAccountCreator extends string | IAccountMeta<string> = string, TAccountBondingCurve extends string | IAccountMeta<string> = string, TAccountBaseMint extends string | IAccountMeta<string> = string, TAccountQuoteMint extends string | IAccountMeta<string> = string, TAccountQuoteVault extends string | IAccountMeta<string> = string, TAccountMintConfig extends string | IAccountMeta<string> = string, TAccountMetadata extends string | IAccountMeta<string> = string, TAccountSystemProgram extends string | IAccountMeta<string> = "11111111111111111111111111111111", TAccountBaseTokenProgram extends string | IAccountMeta<string> = string, TAccountQuoteTokenProgram extends string | IAccountMeta<string> = string, TAccountAtaProgram extends string | IAccountMeta<string> = "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL", TAccountMetaplexProgram extends string | IAccountMeta<string> = string, TRemainingAccounts extends readonly IAccountMeta<string>[] = []> = IInstruction<TProgram> & IInstructionWithData<Uint8Array> & IInstructionWithAccounts<[ TAccountCreator extends string ? WritableSignerAccount<TAccountCreator> & IAccountSignerMeta<TAccountCreator> : TAccountCreator, TAccountBondingCurve extends string ? WritableAccount<TAccountBondingCurve> : TAccountBondingCurve, TAccountBaseMint extends string ? WritableSignerAccount<TAccountBaseMint> & IAccountSignerMeta<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 CreateLaunchInstructionData = { discriminator: number; name: string; symbol: string; uri: string; startPrice: Option<bigint>; endPrice: Option<bigint>; controlPoints: Option<Array<number>>; graduationTarget: Option<bigint>; graduationMethods: Option<Array<GraduationMethod>>; launchSlot: Option<bigint>; graduationSlot: Option<bigint>; baseAllocationBps: Option<number>; }; export type CreateLaunchInstructionDataArgs = { name: string; symbol: string; uri: string; startPrice: OptionOrNullable<number | bigint>; endPrice: OptionOrNullable<number | bigint>; controlPoints: OptionOrNullable<Array<number>>; graduationTarget: OptionOrNullable<number | bigint>; graduationMethods: OptionOrNullable<Array<GraduationMethodArgs>>; launchSlot: OptionOrNullable<number | bigint>; graduationSlot: OptionOrNullable<number | bigint>; baseAllocationBps: OptionOrNullable<number>; }; export declare function getCreateLaunchInstructionDataEncoder(): Encoder<CreateLaunchInstructionDataArgs>; export declare function getCreateLaunchInstructionDataDecoder(): Decoder<CreateLaunchInstructionData>; export declare function getCreateLaunchInstructionDataCodec(): Codec<CreateLaunchInstructionDataArgs, CreateLaunchInstructionData>; export type CreateLaunchInput<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: CreateLaunchInstructionDataArgs["name"]; symbol: CreateLaunchInstructionDataArgs["symbol"]; uri: CreateLaunchInstructionDataArgs["uri"]; startPrice: CreateLaunchInstructionDataArgs["startPrice"]; endPrice: CreateLaunchInstructionDataArgs["endPrice"]; controlPoints: CreateLaunchInstructionDataArgs["controlPoints"]; graduationTarget: CreateLaunchInstructionDataArgs["graduationTarget"]; graduationMethods: CreateLaunchInstructionDataArgs["graduationMethods"]; launchSlot: CreateLaunchInstructionDataArgs["launchSlot"]; graduationSlot: CreateLaunchInstructionDataArgs["graduationSlot"]; baseAllocationBps: CreateLaunchInstructionDataArgs["baseAllocationBps"]; }; export declare function getCreateLaunchInstruction<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: CreateLaunchInput<TAccountCreator, TAccountBondingCurve, TAccountBaseMint, TAccountQuoteMint, TAccountQuoteVault, TAccountMintConfig, TAccountMetadata, TAccountSystemProgram, TAccountBaseTokenProgram, TAccountQuoteTokenProgram, TAccountAtaProgram, TAccountMetaplexProgram>, config?: { programAddress?: TProgramAddress; }): CreateLaunchInstruction<TProgramAddress, TAccountCreator, TAccountBondingCurve, TAccountBaseMint, TAccountQuoteMint, TAccountQuoteVault, TAccountMintConfig, TAccountMetadata, TAccountSystemProgram, TAccountBaseTokenProgram, TAccountQuoteTokenProgram, TAccountAtaProgram, TAccountMetaplexProgram>; export type ParsedCreateLaunchInstruction<TProgram extends string = typeof WAVEBREAK_PROGRAM_ADDRESS, TAccountMetas extends readonly IAccountMeta[] = readonly IAccountMeta[]> = { 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: CreateLaunchInstructionData; }; export declare function parseCreateLaunchInstruction<TProgram extends string, TAccountMetas extends readonly IAccountMeta[]>(instruction: IInstruction<TProgram> & IInstructionWithAccounts<TAccountMetas> & IInstructionWithData<Uint8Array>): ParsedCreateLaunchInstruction<TProgram, TAccountMetas>;