@orca-so/wavebreak
Version:
The wavebreak JS client for interacting with the wavebreak program.
171 lines (170 loc) • 6.25 kB
TypeScript
import { Address, Codec, Decoder, Encoder, GetDiscriminatedUnionVariant, GetDiscriminatedUnionVariantContent, ReadonlyUint8Array } from '@solana/kit';
import { BondingCurveCreationType, BondingCurveCreationTypeArgs, GraduationMethodData, GraduationMethodDataArgs } from '.';
export type Event = {
__kind: "BondingCurveCreated";
creationType: BondingCurveCreationType;
baseMint: Address;
quoteMint: Address;
creator: Address;
startPrice: bigint;
endPrice: bigint;
controlPoints: Array<number>;
swapFeeBps: number;
quoteFeeBps: number;
baseFeeBps: number;
baseAllocationBps: number;
launchSlot: bigint;
creatorReward: bigint;
graduationMethods: Array<GraduationMethodData>;
graduationTarget: bigint;
graduationSlot: bigint;
graduationReward: bigint;
retainMintAuthority: boolean;
minReserveBps: number;
buyRequiresPermission: boolean;
buyPermissionBitmap: ReadonlyUint8Array;
maxBuyAmount: bigint;
sellRequiresPermission: boolean;
sellPermissionBitmap: ReadonlyUint8Array;
maxSellAmount: bigint;
quoteTokenProgram: Address;
baseTokenProgram: Address;
quoteTokenDecimals: number;
baseTokenDecimals: number;
} | {
__kind: "TokenBought";
buyer: Address;
baseMint: Address;
quoteMint: Address;
amountIn: bigint;
amountOut: bigint;
priceBefore: bigint;
priceAfter: bigint;
quoteAmountBefore: bigint;
quoteAmountAfter: bigint;
baseAmountBefore: bigint;
baseAmountAfter: bigint;
protocolFee: bigint;
} | {
__kind: "TokenSold";
seller: Address;
baseMint: Address;
quoteMint: Address;
amountIn: bigint;
amountOut: bigint;
priceBefore: bigint;
priceAfter: bigint;
quoteAmountBefore: bigint;
quoteAmountAfter: bigint;
baseAmountBefore: bigint;
baseAmountAfter: bigint;
protocolFee: bigint;
} | {
__kind: "TokenRefunded";
signer: Address;
baseMint: Address;
quoteMint: Address;
price: bigint;
quoteAmount: bigint;
baseAmount: bigint;
} | {
__kind: "BondingCurveGraduated";
graduator: Address;
baseMint: Address;
quoteMint: Address;
finalPrice: bigint;
graduationMethods: Array<GraduationMethodData>;
} | {
__kind: "BondingCurveClosed";
bondingCurve: Address;
};
export type EventArgs = {
__kind: "BondingCurveCreated";
creationType: BondingCurveCreationTypeArgs;
baseMint: Address;
quoteMint: Address;
creator: Address;
startPrice: number | bigint;
endPrice: number | bigint;
controlPoints: Array<number>;
swapFeeBps: number;
quoteFeeBps: number;
baseFeeBps: number;
baseAllocationBps: number;
launchSlot: number | bigint;
creatorReward: number | bigint;
graduationMethods: Array<GraduationMethodDataArgs>;
graduationTarget: number | bigint;
graduationSlot: number | bigint;
graduationReward: number | bigint;
retainMintAuthority: boolean;
minReserveBps: number;
buyRequiresPermission: boolean;
buyPermissionBitmap: ReadonlyUint8Array;
maxBuyAmount: number | bigint;
sellRequiresPermission: boolean;
sellPermissionBitmap: ReadonlyUint8Array;
maxSellAmount: number | bigint;
quoteTokenProgram: Address;
baseTokenProgram: Address;
quoteTokenDecimals: number;
baseTokenDecimals: number;
} | {
__kind: "TokenBought";
buyer: Address;
baseMint: Address;
quoteMint: Address;
amountIn: number | bigint;
amountOut: number | bigint;
priceBefore: number | bigint;
priceAfter: number | bigint;
quoteAmountBefore: number | bigint;
quoteAmountAfter: number | bigint;
baseAmountBefore: number | bigint;
baseAmountAfter: number | bigint;
protocolFee: number | bigint;
} | {
__kind: "TokenSold";
seller: Address;
baseMint: Address;
quoteMint: Address;
amountIn: number | bigint;
amountOut: number | bigint;
priceBefore: number | bigint;
priceAfter: number | bigint;
quoteAmountBefore: number | bigint;
quoteAmountAfter: number | bigint;
baseAmountBefore: number | bigint;
baseAmountAfter: number | bigint;
protocolFee: number | bigint;
} | {
__kind: "TokenRefunded";
signer: Address;
baseMint: Address;
quoteMint: Address;
price: number | bigint;
quoteAmount: number | bigint;
baseAmount: number | bigint;
} | {
__kind: "BondingCurveGraduated";
graduator: Address;
baseMint: Address;
quoteMint: Address;
finalPrice: number | bigint;
graduationMethods: Array<GraduationMethodDataArgs>;
} | {
__kind: "BondingCurveClosed";
bondingCurve: Address;
};
export declare function getEventEncoder(): Encoder<EventArgs>;
export declare function getEventDecoder(): Decoder<Event>;
export declare function getEventCodec(): Codec<EventArgs, Event>;
export declare function event(kind: "BondingCurveCreated", data: GetDiscriminatedUnionVariantContent<EventArgs, "__kind", "BondingCurveCreated">): GetDiscriminatedUnionVariant<EventArgs, "__kind", "BondingCurveCreated">;
export declare function event(kind: "TokenBought", data: GetDiscriminatedUnionVariantContent<EventArgs, "__kind", "TokenBought">): GetDiscriminatedUnionVariant<EventArgs, "__kind", "TokenBought">;
export declare function event(kind: "TokenSold", data: GetDiscriminatedUnionVariantContent<EventArgs, "__kind", "TokenSold">): GetDiscriminatedUnionVariant<EventArgs, "__kind", "TokenSold">;
export declare function event(kind: "TokenRefunded", data: GetDiscriminatedUnionVariantContent<EventArgs, "__kind", "TokenRefunded">): GetDiscriminatedUnionVariant<EventArgs, "__kind", "TokenRefunded">;
export declare function event(kind: "BondingCurveGraduated", data: GetDiscriminatedUnionVariantContent<EventArgs, "__kind", "BondingCurveGraduated">): GetDiscriminatedUnionVariant<EventArgs, "__kind", "BondingCurveGraduated">;
export declare function event(kind: "BondingCurveClosed", data: GetDiscriminatedUnionVariantContent<EventArgs, "__kind", "BondingCurveClosed">): GetDiscriminatedUnionVariant<EventArgs, "__kind", "BondingCurveClosed">;
export declare function isEvent<K extends Event["__kind"]>(kind: K, value: Event): value is Event & {
__kind: K;
};