UNPKG

@orca-so/wavebreak

Version:

The wavebreak JS client for interacting with the wavebreak program.

125 lines (124 loc) 9.54 kB
import { Address, Codec, Decoder, Encoder, IAccountMeta, IAccountSignerMeta, IInstruction, IInstructionWithAccounts, IInstructionWithData, ReadonlyAccount, ReadonlyUint8Array, TransactionSigner, WritableAccount, WritableSignerAccount } from '@solana/kit'; import { WAVEBREAK_PROGRAM_ADDRESS } from '../programs'; import { GraduationMethod, GraduationMethodArgs } from '../types'; export declare const BONDING_CURVE_INITIALIZE_DISCRIMINATOR = 48; export declare function getBondingCurveInitializeDiscriminatorBytes(): ReadonlyUint8Array; export type BondingCurveInitializeInstruction<TProgram extends string = typeof WAVEBREAK_PROGRAM_ADDRESS, TAccountAuthority 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, TAccountAuthorityConfig 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", TRemainingAccounts extends readonly IAccountMeta<string>[] = []> = IInstruction<TProgram> & IInstructionWithData<Uint8Array> & IInstructionWithAccounts<[ TAccountAuthority extends string ? WritableSignerAccount<TAccountAuthority> & IAccountSignerMeta<TAccountAuthority> : TAccountAuthority, TAccountBondingCurve extends string ? WritableAccount<TAccountBondingCurve> : TAccountBondingCurve, TAccountBaseMint extends string ? ReadonlyAccount<TAccountBaseMint> : TAccountBaseMint, TAccountQuoteMint extends string ? ReadonlyAccount<TAccountQuoteMint> : TAccountQuoteMint, TAccountQuoteVault extends string ? WritableAccount<TAccountQuoteVault> : TAccountQuoteVault, TAccountAuthorityConfig extends string ? ReadonlyAccount<TAccountAuthorityConfig> : TAccountAuthorityConfig, TAccountSystemProgram extends string ? ReadonlyAccount<TAccountSystemProgram> : TAccountSystemProgram, TAccountBaseTokenProgram extends string ? ReadonlyAccount<TAccountBaseTokenProgram> : TAccountBaseTokenProgram, TAccountQuoteTokenProgram extends string ? ReadonlyAccount<TAccountQuoteTokenProgram> : TAccountQuoteTokenProgram, TAccountAtaProgram extends string ? ReadonlyAccount<TAccountAtaProgram> : TAccountAtaProgram, ...TRemainingAccounts ]>; export type BondingCurveInitializeInstructionData = { discriminator: number; startPrice: bigint; endPrice: bigint; controlPoints: Array<number>; creator: Address; graduationMethods: Array<GraduationMethod>; swapFeeBps: number; quoteFeeBps: number; baseFeeBps: number; launchSlot: bigint; creatorReward: bigint; graduationReward: bigint; graduationTarget: bigint; graduationSlot: bigint; minReserveBps: number; buyRequiresPermission: boolean; buyPermissionBitmap: ReadonlyUint8Array; sellRequiresPermission: boolean; sellPermissionBitmap: ReadonlyUint8Array; maxBuyAmount: bigint; maxSellAmount: bigint; retainMintAuthority: boolean; baseAllocationBps: number; }; export type BondingCurveInitializeInstructionDataArgs = { startPrice: number | bigint; endPrice: number | bigint; controlPoints: Array<number>; creator: Address; graduationMethods: Array<GraduationMethodArgs>; swapFeeBps: number; quoteFeeBps: number; baseFeeBps: number; launchSlot: number | bigint; creatorReward: number | bigint; graduationReward: number | bigint; graduationTarget: number | bigint; graduationSlot: number | bigint; minReserveBps: number; buyRequiresPermission: boolean; buyPermissionBitmap: ReadonlyUint8Array; sellRequiresPermission: boolean; sellPermissionBitmap: ReadonlyUint8Array; maxBuyAmount: number | bigint; maxSellAmount: number | bigint; retainMintAuthority: boolean; baseAllocationBps: number; }; export declare function getBondingCurveInitializeInstructionDataEncoder(): Encoder<BondingCurveInitializeInstructionDataArgs>; export declare function getBondingCurveInitializeInstructionDataDecoder(): Decoder<BondingCurveInitializeInstructionData>; export declare function getBondingCurveInitializeInstructionDataCodec(): Codec<BondingCurveInitializeInstructionDataArgs, BondingCurveInitializeInstructionData>; export type BondingCurveInitializeInput<TAccountAuthority extends string = string, TAccountBondingCurve extends string = string, TAccountBaseMint extends string = string, TAccountQuoteMint extends string = string, TAccountQuoteVault extends string = string, TAccountAuthorityConfig extends string = string, TAccountSystemProgram extends string = string, TAccountBaseTokenProgram extends string = string, TAccountQuoteTokenProgram extends string = string, TAccountAtaProgram extends string = string> = { authority: TransactionSigner<TAccountAuthority>; bondingCurve: Address<TAccountBondingCurve>; baseMint: Address<TAccountBaseMint>; quoteMint: Address<TAccountQuoteMint>; quoteVault: Address<TAccountQuoteVault>; authorityConfig: Address<TAccountAuthorityConfig>; systemProgram?: Address<TAccountSystemProgram>; baseTokenProgram: Address<TAccountBaseTokenProgram>; quoteTokenProgram: Address<TAccountQuoteTokenProgram>; ataProgram?: Address<TAccountAtaProgram>; startPrice: BondingCurveInitializeInstructionDataArgs["startPrice"]; endPrice: BondingCurveInitializeInstructionDataArgs["endPrice"]; controlPoints: BondingCurveInitializeInstructionDataArgs["controlPoints"]; creator: BondingCurveInitializeInstructionDataArgs["creator"]; graduationMethods: BondingCurveInitializeInstructionDataArgs["graduationMethods"]; swapFeeBps: BondingCurveInitializeInstructionDataArgs["swapFeeBps"]; quoteFeeBps: BondingCurveInitializeInstructionDataArgs["quoteFeeBps"]; baseFeeBps: BondingCurveInitializeInstructionDataArgs["baseFeeBps"]; launchSlot: BondingCurveInitializeInstructionDataArgs["launchSlot"]; creatorReward: BondingCurveInitializeInstructionDataArgs["creatorReward"]; graduationReward: BondingCurveInitializeInstructionDataArgs["graduationReward"]; graduationTarget: BondingCurveInitializeInstructionDataArgs["graduationTarget"]; graduationSlot: BondingCurveInitializeInstructionDataArgs["graduationSlot"]; minReserveBps: BondingCurveInitializeInstructionDataArgs["minReserveBps"]; buyRequiresPermission: BondingCurveInitializeInstructionDataArgs["buyRequiresPermission"]; buyPermissionBitmap: BondingCurveInitializeInstructionDataArgs["buyPermissionBitmap"]; sellRequiresPermission: BondingCurveInitializeInstructionDataArgs["sellRequiresPermission"]; sellPermissionBitmap: BondingCurveInitializeInstructionDataArgs["sellPermissionBitmap"]; maxBuyAmount: BondingCurveInitializeInstructionDataArgs["maxBuyAmount"]; maxSellAmount: BondingCurveInitializeInstructionDataArgs["maxSellAmount"]; retainMintAuthority: BondingCurveInitializeInstructionDataArgs["retainMintAuthority"]; baseAllocationBps: BondingCurveInitializeInstructionDataArgs["baseAllocationBps"]; }; export declare function getBondingCurveInitializeInstruction<TAccountAuthority extends string, TAccountBondingCurve extends string, TAccountBaseMint extends string, TAccountQuoteMint extends string, TAccountQuoteVault extends string, TAccountAuthorityConfig extends string, TAccountSystemProgram extends string, TAccountBaseTokenProgram extends string, TAccountQuoteTokenProgram extends string, TAccountAtaProgram extends string, TProgramAddress extends Address = typeof WAVEBREAK_PROGRAM_ADDRESS>(input: BondingCurveInitializeInput<TAccountAuthority, TAccountBondingCurve, TAccountBaseMint, TAccountQuoteMint, TAccountQuoteVault, TAccountAuthorityConfig, TAccountSystemProgram, TAccountBaseTokenProgram, TAccountQuoteTokenProgram, TAccountAtaProgram>, config?: { programAddress?: TProgramAddress; }): BondingCurveInitializeInstruction<TProgramAddress, TAccountAuthority, TAccountBondingCurve, TAccountBaseMint, TAccountQuoteMint, TAccountQuoteVault, TAccountAuthorityConfig, TAccountSystemProgram, TAccountBaseTokenProgram, TAccountQuoteTokenProgram, TAccountAtaProgram>; export type ParsedBondingCurveInitializeInstruction<TProgram extends string = typeof WAVEBREAK_PROGRAM_ADDRESS, TAccountMetas extends readonly IAccountMeta[] = readonly IAccountMeta[]> = { programAddress: Address<TProgram>; accounts: { authority: TAccountMetas[0]; bondingCurve: TAccountMetas[1]; baseMint: TAccountMetas[2]; quoteMint: TAccountMetas[3]; quoteVault: TAccountMetas[4]; authorityConfig: TAccountMetas[5]; systemProgram: TAccountMetas[6]; baseTokenProgram: TAccountMetas[7]; quoteTokenProgram: TAccountMetas[8]; ataProgram: TAccountMetas[9]; }; data: BondingCurveInitializeInstructionData; }; export declare function parseBondingCurveInitializeInstruction<TProgram extends string, TAccountMetas extends readonly IAccountMeta[]>(instruction: IInstruction<TProgram> & IInstructionWithAccounts<TAccountMetas> & IInstructionWithData<Uint8Array>): ParsedBondingCurveInitializeInstruction<TProgram, TAccountMetas>;