UNPKG

@raydium-io/raydium-sdk-v2

Version:

An SDK for building applications on top of Raydium.

162 lines (131 loc) 4.21 kB
import { PublicKey, Signer } from "@solana/web3.js"; import { ComputeBudgetConfig, TxTipConfig } from "../type"; import { TxVersion } from "@/common"; import BN from "bn.js"; import { LaunchpadPool, LaunchpadConfig, PlatformConfig } from "./layout"; export interface CreateLunchPad<T = TxVersion.LEGACY> { mintA: PublicKey; name: string; symbol: string; buyAmount: BN; platformId?: PublicKey; programId?: PublicKey; // default mainnet authProgramId?: PublicKey; // default mainnet decimals?: number; // default 6 mintBDecimals?: number; // default 9 curType?: number; // default 0 configId: PublicKey; configInfo?: LaunchpadConfigInfo; minMintAAmount?: BN; // default calculated by realtime rpc data slippage?: BN; uri: string; migrateType: "amm" | "cpmm"; supply?: BN; totalSellA?: BN; totalFundRaisingB?: BN; totalLockedAmount?: BN; cliffPeriod?: BN; unlockPeriod?: BN; shareFeeRate?: BN; shareFeeReceiver?: PublicKey; platformFeeRate?: BN; // for preload usage createOnly?: boolean; computeBudgetConfig?: ComputeBudgetConfig; txTipConfig?: TxTipConfig; txVersion?: T; feePayer?: PublicKey; associatedOnly?: boolean; checkCreateATAOwner?: boolean; extraSigners?: Signer[]; } export interface BuyToken<T = TxVersion.LEGACY> { mintA: PublicKey; buyAmount: BN; programId?: PublicKey; // default mainnet authProgramId?: PublicKey; // default mainnet mintB?: PublicKey; // default SOL poolInfo?: LaunchpadPoolInfo; // default calculated from mint minMintAAmount?: BN; // default calculated by realtime rpc data slippage?: BN; shareFeeRate?: BN; shareFeeReceiver?: PublicKey; configInfo?: LaunchpadConfigInfo; // for preload usage platformFeeRate?: BN; // for preload usage computeBudgetConfig?: ComputeBudgetConfig; txTipConfig?: TxTipConfig; txVersion?: T; feePayer?: PublicKey; associatedOnly?: boolean; checkCreateATAOwner?: boolean; } export interface SellToken<T = TxVersion.LEGACY> { mintA: PublicKey; sellAmount: BN; slippage?: BN; programId?: PublicKey; // default mainnet authProgramId?: PublicKey; // default mainnet poolInfo?: LaunchpadPoolInfo; // default calculated from mint mintB?: PublicKey; // default SOL minAmountB?: BN; // default SOL decimals 9 shareFeeRate?: BN; shareFeeReceiver?: PublicKey; configInfo?: LaunchpadConfigInfo; // for preload usage platformFeeRate?: BN; // for preload usage computeBudgetConfig?: ComputeBudgetConfig; txTipConfig?: TxTipConfig; txVersion?: T; feePayer?: PublicKey; associatedOnly?: boolean; checkCreateATAOwner?: boolean; } export interface CreatePlatform<T = TxVersion.LEGACY> { programId?: PublicKey; platformAdmin: PublicKey; platformClaimFeeWallet: PublicKey; platformLockNftWallet: PublicKey; migrateCpLockNftScale: { platformScale: BN; creatorScale: BN; burnScale: BN; }; feeRate: BN; name: string; web: string; img: string; computeBudgetConfig?: ComputeBudgetConfig; txTipConfig?: TxTipConfig; txVersion?: T; feePayer?: PublicKey; } export interface UpdatePlatform<T = TxVersion.LEGACY> { programId?: PublicKey; platformAdmin: PublicKey; platformId?: PublicKey; updateInfo: | { type: "updateClaimFeeWallet"; value: PublicKey } | { type: "updateFeeRate"; value: BN } | { type: "updateName" | "updateImg" | "updateWeb"; value: string }; computeBudgetConfig?: ComputeBudgetConfig; txTipConfig?: TxTipConfig; txVersion?: T; feePayer?: PublicKey; } export interface ClaimPlatformFee<T = TxVersion.LEGACY> { programId?: PublicKey; authProgramId?: PublicKey; platformId: PublicKey; platformClaimFeeWallet: PublicKey; poolId: PublicKey; mintB?: PublicKey; vaultB?: PublicKey; mintBProgram?: PublicKey; computeBudgetConfig?: ComputeBudgetConfig; txTipConfig?: TxTipConfig; txVersion?: T; feePayer?: PublicKey; associatedOnly?: boolean; checkCreateATAOwner?: boolean; } export type LaunchpadPoolInfo = ReturnType<typeof LaunchpadPool.decode>; export type LaunchpadConfigInfo = ReturnType<typeof LaunchpadConfig.decode>; export type LaunchpadPlatformInfo = ReturnType<typeof PlatformConfig.decode>;