UNPKG

pumpfun-swap-sdk

Version:

SDK for interacting with the PumpFun AMM on Solana

78 lines (77 loc) 6.44 kB
import { BN } from '@coral-xyz/anchor'; import { Connection, PublicKey, TransactionInstruction } from '@solana/web3.js'; import { BuyBaseInputResult, BuyQuoteInputResult, DepositBaseResult, DepositQuoteResult, SellBaseInputResult, SellQuoteInputResult, WithdrawResult } from '../types/sdk'; export declare class PumpAmmInternalSdk { private readonly connection; private readonly program; private readonly globalConfig; constructor(connection: Connection, programId?: string); programId(): PublicKey; globalConfigKey(): PublicKey; poolKey(index: number, creator: PublicKey, baseMint: PublicKey, quoteMint: PublicKey): [PublicKey, number]; lpMintKey(pool: PublicKey): [PublicKey, number]; fetchGlobalConfigAccount(): Promise<{ admin: PublicKey; lpFeeBasisPoints: BN; protocolFeeBasisPoints: BN; disableFlags: number; protocolFeeRecipients: PublicKey[]; }>; fetchPool(pool: PublicKey): Promise<{ poolBump: number; index: number; creator: PublicKey; baseMint: PublicKey; quoteMint: PublicKey; lpMint: PublicKey; poolBaseTokenAccount: PublicKey; poolQuoteTokenAccount: PublicKey; lpSupply: BN; }>; createPoolInstructionsInternal(index: number, creator: PublicKey, baseMint: PublicKey, quoteMint: PublicKey, baseIn: BN, quoteIn: BN, userBaseTokenAccount?: PublicKey | undefined, userQuoteTokenAccount?: PublicKey | undefined): Promise<TransactionInstruction[]>; depositInstructionsInternal(pool: PublicKey, lpToken: BN, maxBase: BN, maxQuote: BN, user: PublicKey, userBaseTokenAccount?: PublicKey | undefined, userQuoteTokenAccount?: PublicKey | undefined, userPoolTokenAccount?: PublicKey | undefined): Promise<TransactionInstruction[]>; private withWsolAccounts; private withWsolAccount; private accountExists; depositBaseInputInternal(pool: PublicKey, base: BN, slippage: number): Promise<DepositBaseResult>; depositQuoteInputInternal(pool: PublicKey, quote: BN, slippage: number): Promise<DepositQuoteResult>; withdrawInstructionsInternal(pool: PublicKey, lpTokenAmountIn: BN, minBaseAmountOut: BN, minQuoteAmountOut: BN, user: PublicKey, userBaseTokenAccount?: PublicKey | undefined, userQuoteTokenAccount?: PublicKey | undefined, userPoolTokenAccount?: PublicKey | undefined): Promise<TransactionInstruction[]>; withdrawInputsInternal(pool: PublicKey, lpAmount: BN, slippage: number): Promise<WithdrawResult>; getPoolBaseAndQuoteAmounts(pool: PublicKey): Promise<{ fetchedPool: { poolBump: number; index: number; creator: PublicKey; baseMint: PublicKey; quoteMint: PublicKey; lpMint: PublicKey; poolBaseTokenAccount: PublicKey; poolQuoteTokenAccount: PublicKey; lpSupply: BN; }; poolBaseAmount: BN; poolQuoteAmount: BN; }>; private liquidityAccounts; buyInstructionsInternal(pool: PublicKey, baseOut: BN, maxQuoteIn: BN, user: PublicKey, protocolFeeRecipient?: PublicKey | undefined, userBaseTokenAccount?: PublicKey | undefined, userQuoteTokenAccount?: PublicKey | undefined): Promise<TransactionInstruction[]>; buyInstructionsInternalNoPool(index: number, creator: PublicKey, baseMint: PublicKey, quoteMint: PublicKey, baseOut: BN, maxQuoteIn: BN, user: PublicKey, protocolFeeRecipient?: PublicKey | undefined, userBaseTokenAccount?: PublicKey | undefined, userQuoteTokenAccount?: PublicKey | undefined): Promise<TransactionInstruction[]>; buyBaseInput(pool: PublicKey, base: BN, slippage: number, user: PublicKey, protocolFeeRecipient?: PublicKey | undefined, userBaseTokenAccount?: PublicKey | undefined, userQuoteTokenAccount?: PublicKey | undefined): Promise<TransactionInstruction[]>; buyQuoteInput(pool: PublicKey, quote: BN, slippage: number, user: PublicKey, protocolFeeRecipient?: PublicKey | undefined, userBaseTokenAccount?: PublicKey | undefined, userQuoteTokenAccount?: PublicKey | undefined): Promise<TransactionInstruction[]>; buyAutocompleteQuoteFromBase(pool: PublicKey, base: BN, slippage: number): Promise<BN>; buyAutocompleteBaseFromQuote(pool: PublicKey, quote: BN, slippage: number): Promise<BN>; buyBaseInputInternal(pool: PublicKey, base: BN, slippage: number): Promise<BuyBaseInputResult>; buyQuoteInputInternal(pool: PublicKey, quote: BN, slippage: number): Promise<BuyQuoteInputResult>; buyQuoteInputInternalNoPool(quote: BN, slippage: number, poolBaseAmount: BN, poolQuoteAmount: BN): Promise<BuyQuoteInputResult>; sellInstructionsInternal(pool: PublicKey, baseAmountIn: BN, minQuoteAmountOut: BN, user: PublicKey, protocolFeeRecipient?: PublicKey | undefined, userBaseTokenAccount?: PublicKey | undefined, userQuoteTokenAccount?: PublicKey | undefined): Promise<TransactionInstruction[]>; sellInstructionsInternalNoPool(index: number, creator: PublicKey, baseMint: PublicKey, quoteMint: PublicKey, baseAmountIn: BN, minQuoteAmountOut: BN, user: PublicKey, protocolFeeRecipient?: PublicKey | undefined, userBaseTokenAccount?: PublicKey | undefined, userQuoteTokenAccount?: PublicKey | undefined): Promise<TransactionInstruction[]>; sellBaseInput(pool: PublicKey, base: BN, slippage: number, user: PublicKey, protocolFeeRecipient?: PublicKey | undefined, userBaseTokenAccount?: PublicKey | undefined, userQuoteTokenAccount?: PublicKey | undefined): Promise<TransactionInstruction[]>; sellQuoteInput(pool: PublicKey, quote: BN, slippage: number, user: PublicKey, protocolFeeRecipient?: PublicKey | undefined, userBaseTokenAccount?: PublicKey | undefined, userQuoteTokenAccount?: PublicKey | undefined): Promise<TransactionInstruction[]>; sellAutocompleteQuoteFromBase(pool: PublicKey, base: BN, slippage: number): Promise<BN>; sellAutocompleteBaseFromQuote(pool: PublicKey, quote: BN, slippage: number): Promise<BN>; sellBaseInputInternal(pool: PublicKey, base: BN, slippage: number): Promise<SellBaseInputResult>; sellBaseInputInternalNoPool(base: BN, slippage: number, poolBaseAmount: BN, poolQuoteAmount: BN): Promise<SellBaseInputResult>; sellQuoteInputInternal(pool: PublicKey, quote: BN, slippage: number): Promise<SellQuoteInputResult>; extendAccount(account: PublicKey, user: PublicKey): Promise<TransactionInstruction>; private swapAccounts; private getMintTokenPrograms; }