@pump-fun/pump-swap-sdk
Version:
Official SDK for interacting with Pump Swap AMM protocol on Solana
54 lines (51 loc) • 4.81 kB
TypeScript
import { G as GlobalConfig, P as Pool, i as GlobalVolumeAccumulator, U as UserVolumeAccumulator, k as CreatePoolSolanaState, m as LiquiditySolanaState, a as DepositQuoteAndLpTokenFromBaseResult, c as DepositBaseAndLpTokenFromQuoteResult, f as WithdrawAutocompleteResult, n as CollectCoinCreatorFeeSolanaState, l as SwapSolanaState } from '../sdk-CtszEpqH.js';
import { Connection, PublicKey, AccountInfo, TransactionInstruction } from '@solana/web3.js';
import BN from 'bn.js';
import '@solana/spl-token';
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<GlobalConfig>;
fetchPool(pool: PublicKey): Promise<Pool>;
decodeGlobalConfig(globalConfigAccountInfo: AccountInfo<Buffer>): GlobalConfig;
decodePool(poolAccountInfo: AccountInfo<Buffer>): Pool;
fetchGlobalVolumeAccumulator(): Promise<GlobalVolumeAccumulator>;
decodeGlobalVolumeAccumulator(globalVolumeAccumulatorAccountInfo: AccountInfo<Buffer>): GlobalVolumeAccumulator;
fetchUserVolumeAccumulator(user: PublicKey): Promise<UserVolumeAccumulator | null>;
decodeUserVolumeAccumulator(userVolumeAccumulatorAccountInfo: AccountInfo<Buffer>): UserVolumeAccumulator;
createPoolInstructions(createPoolSolanaState: CreatePoolSolanaState, baseIn: BN, quoteIn: BN): Promise<TransactionInstruction[]>;
createAutocompleteInitialPoolPrice(initialBase: BN, initialQuote: BN): Promise<BN>;
depositInstructions(liquiditySolanaState: LiquiditySolanaState, lpToken: BN, slippage: number): Promise<TransactionInstruction[]>;
depositAutocompleteQuoteAndLpTokenFromBase(liquiditySolanaState: LiquiditySolanaState, base: BN, slippage: number): DepositQuoteAndLpTokenFromBaseResult;
depositAutocompleteBaseAndLpTokenFromQuote(liquiditySolanaState: LiquiditySolanaState, quote: BN, slippage: number): DepositBaseAndLpTokenFromQuoteResult;
withdrawInstructions(liquiditySolanaState: LiquiditySolanaState, lpToken: BN, slippage: number): Promise<TransactionInstruction[]>;
withdrawAutoCompleteBaseAndQuoteFromLpToken(liquiditySolanaState: LiquiditySolanaState, lpAmount: BN, slippage: number): WithdrawAutocompleteResult;
extendAccount(account: PublicKey, user: PublicKey): Promise<TransactionInstruction>;
collectCoinCreatorFee(collectCoinCreatorFeeSolanaState: CollectCoinCreatorFeeSolanaState): Promise<TransactionInstruction[]>;
getCoinCreatorVaultBalance(coinCreator: PublicKey): Promise<BN>;
coinCreatorVaultAuthorityPda(coinCreator: PublicKey): PublicKey;
coinCreatorVaultAta(coinCreatorVaultAuthority: PublicKey, quoteMint: PublicKey, quoteTokenProgram: PublicKey): PublicKey;
setCoinCreator(pool: PublicKey): Promise<TransactionInstruction>;
createPoolSolanaState(index: number, creator: PublicKey, baseMint: PublicKey, quoteMint: PublicKey, userBaseTokenAccount?: PublicKey | undefined, userQuoteTokenAccount?: PublicKey | undefined): Promise<CreatePoolSolanaState>;
swapSolanaState(poolKey: PublicKey, user: PublicKey, userBaseTokenAccount?: PublicKey | undefined, userQuoteTokenAccount?: PublicKey | undefined): Promise<SwapSolanaState>;
liquiditySolanaState(poolKey: PublicKey, user: PublicKey, userBaseTokenAccount?: PublicKey | undefined, userQuoteTokenAccount?: PublicKey | undefined, userPoolTokenAccount?: PublicKey | undefined): Promise<LiquiditySolanaState>;
collectCoinCreatorFeeSolanaState(coinCreator: PublicKey, coinCreatorTokenAccount?: PublicKey | undefined): Promise<CollectCoinCreatorFeeSolanaState>;
claimTokenIncentives(user: PublicKey, payer: PublicKey): Promise<TransactionInstruction[]>;
getTotalUnclaimedTokens(user: PublicKey): Promise<BN>;
getCurrentDayTokens(user: PublicKey): Promise<BN>;
syncUserVolumeAccumulator(user: PublicKey): Promise<TransactionInstruction>;
initUserVolumeAccumulator({ payer, user, }: {
payer: PublicKey;
user: PublicKey;
}): Promise<TransactionInstruction>;
closeUserVolumeAccumulator(user: PublicKey): Promise<TransactionInstruction>;
buyBaseInput(swapSolanaState: SwapSolanaState, base: BN, slippage: number): Promise<TransactionInstruction[]>;
buyQuoteInput(swapSolanaState: SwapSolanaState, quote: BN, slippage: number): Promise<TransactionInstruction[]>;
sellBaseInput(swapSolanaState: SwapSolanaState, base: BN, slippage: number): Promise<TransactionInstruction[]>;
sellQuoteInput(swapSolanaState: SwapSolanaState, quote: BN, slippage: number): Promise<TransactionInstruction[]>;
}
export { PumpAmmSdk };