UNPKG

pumpfun-swap-sdk

Version:

SDK for interacting with the PumpFun AMM on Solana

42 lines (41 loc) 3.35 kB
import { BN } from '@coral-xyz/anchor'; import { Connection, PublicKey, TransactionInstruction } from '@solana/web3.js'; import { DepositBaseAndLpTokenFromQuoteResult, DepositQuoteAndLpTokenFromBaseResult, Direction, WithdrawAutocompleteResult } from '../types/sdk'; export declare class PumpAmmSdk { private readonly pumpAmmInternalSdk; 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; }>; createPoolInstructions(index: number, creator: PublicKey, baseMint: PublicKey, quoteMint: PublicKey, baseIn: BN, quoteIn: BN, userBaseTokenAccount?: PublicKey | undefined, userQuoteTokenAccount?: PublicKey | undefined): Promise<TransactionInstruction[]>; createAutocompleteInitialPoolPrice(initialBase: BN, initialQuote: BN): Promise<BN>; depositInstructions(pool: PublicKey, lpToken: BN, slippage: number, user: PublicKey, userBaseTokenAccount?: PublicKey | undefined, userQuoteTokenAccount?: PublicKey | undefined, userPoolTokenAccount?: PublicKey | undefined): Promise<TransactionInstruction[]>; depositAutocompleteQuoteAndLpTokenFromBase(pool: PublicKey, base: BN, slippage: number): Promise<DepositQuoteAndLpTokenFromBaseResult>; depositAutocompleteBaseAndLpTokenFromQuote(pool: PublicKey, quote: BN, slippage: number): Promise<DepositBaseAndLpTokenFromQuoteResult>; withdrawInstructions(pool: PublicKey, lpToken: BN, slippage: number, user: PublicKey, userBaseTokenAccount?: PublicKey | undefined, userQuoteTokenAccount?: PublicKey | undefined, userPoolTokenAccount?: PublicKey | undefined): Promise<TransactionInstruction[]>; withdrawAutoCompleteBaseAndQuoteFromLpToken(pool: PublicKey, lpAmount: BN, slippage: number): Promise<WithdrawAutocompleteResult>; swapBaseInstructions(pool: PublicKey, base: BN, slippage: number, direction: Direction, user: PublicKey, protocolFeeRecipient?: PublicKey | undefined, userBaseTokenAccount?: PublicKey | undefined, userQuoteTokenAccount?: PublicKey | undefined): Promise<TransactionInstruction[]>; swapQuoteInstructions(pool: PublicKey, quote: BN, slippage: number, direction: Direction, user: PublicKey, protocolFeeRecipient?: PublicKey | undefined, userBaseTokenAccount?: PublicKey | undefined, userQuoteTokenAccount?: PublicKey | undefined): Promise<TransactionInstruction[]>; swapAutocompleteQuoteFromBase(pool: PublicKey, base: BN, slippage: number, direction: Direction): Promise<BN>; swapAutocompleteBaseFromQuote(pool: PublicKey, quote: BN, slippage: number, direction: Direction): Promise<BN>; extendAccount(account: PublicKey, user: PublicKey): Promise<TransactionInstruction>; }