0.0.1-beta.36 • Published 6 months ago
@pump-fun/pump-swap-sdk v0.0.1-beta.36
Pump Swap SDK
The SDK is structured as follows:
PumpAmmSdkis the high level SDK, useful for UI integrations.PumpAmmInternalSdkis the low level SDK, useful for programmatic integrations, allowing full customization of instructions.PumpAmmAdminSdkis the SDK which allows access to admin-protected instructions.
Installation
npm install @pump-fun/pump-swap-sdkUsage
import { PumpAmmSdk, Direction, Pool } from "@pump/swap-sdk";
// or
import PumpAmmSdk from "@pump/swap-sdk";
// Initialize SDK
const pumpAmmSdk = new PumpAmmSdk();Create pool
// Create a (base, quote) pool
const createPoolInstructions = await pumpAmmSdk.createPoolInstructions(
index,
creator,
baseMint,
quoteMint,
baseIn,
quoteIn,
);
// Get initial pool price for UI
const initialPoolPrice = pumpAmmSdk.createAutocompleteInitialPoolPrice(
initialBase,
initialQuote,
);
// Build and send transaction
const transaction = transactionFromInstructions(createPoolInstructions);
const signature = await sendAndConfirmTransaction(transaction);Deposit
For depositing into a (quote, base) pool:
// When base input changes
const { quote, lpToken } =
await pumpAmmSdk.depositAutocompleteQuoteAndLpTokenFromBase(
pool,
base,
slippage,
);
// When quote input changes
const { base, lpToken } =
await pumpAmmSdk.depositAutocompleteBaseAndLpTokenFromQuote(
pool,
quote,
slippage,
);
// Execute deposit
const depositInstructions = await pumpAmmSdk.depositInstructions(
pool,
lpToken,
slippage,
user,
);
const transaction = transactionFromInstructions(depositInstructions);
const signature = await sendAndConfirmTransaction(transaction);Swap
The SDK supports bi-directional swaps using the Direction enum:
// Quote to Base swap (⬇️)
const baseAmount = await pumpAmmSdk.swapAutocompleteBaseFromQuote(
pool,
quoteAmount,
slippage,
Direction.QuoteToBase,
);
// Base to Quote swap (⬆️)
const quoteAmount = await pumpAmmSdk.swapAutocompleteQuoteFromBase(
pool,
baseAmount,
slippage,
Direction.BaseToQuote,
);
// Execute swap
const swapInstructions = await pumpAmmSdk.swapInstructions(
pool,
baseAmount,
slippage,
Direction.QuoteToBase,
user,
);
const transaction = transactionFromInstructions(swapInstructions);
const signature = await sendAndConfirmTransaction(transaction);Withdraw
// Get expected output amounts
const { base, quote } = pumpAmmSdk.withdrawAutocompleteBaseAndQuoteFromLpToken(
pool,
lpToken,
slippage,
);
// Execute withdrawal
const withdrawInstructions = await pumpAmmSdk.withdrawInstructions(
pool,
lpToken,
slippage,
user,
);
const transaction = transactionFromInstructions(withdrawInstructions);
const signature = await sendAndConfirmTransaction(transaction);License
MIT
Links
- Website
- Documentation Coming
0.0.1-beta.36
6 months ago
0.0.1-beta.35
6 months ago
0.0.1-beta.34
6 months ago
0.0.1-beta.33
6 months ago
0.0.1-beta.32
6 months ago
0.0.1-beta.31
6 months ago
0.0.1-beta.30
6 months ago
0.0.1-beta.29
6 months ago
0.0.1-beta.28
6 months ago
0.0.1-beta.27
6 months ago
0.0.1-beta.26
6 months ago
0.0.1-beta.25
6 months ago
0.0.1-beta.24
6 months ago
0.0.1-beta.23
7 months ago
0.0.1-beta.22
8 months ago
0.0.1-beta.21
8 months ago
0.0.1-beta.20
8 months ago
0.0.1-beta.19
8 months ago
0.0.1-beta.18
8 months ago
0.0.1-beta.17
8 months ago
0.0.1-beta.16
9 months ago
0.0.1-beta.15
9 months ago
0.0.1-beta.14
9 months ago
0.0.1-beta.13
9 months ago
0.0.1-beta.12
9 months ago
0.0.1-beta.11
9 months ago
0.0.1-beta.10
9 months ago
0.0.1-beta.9
9 months ago
0.0.1-local.8
9 months ago
0.0.1-beta.8
9 months ago
0.0.1-beta.7
9 months ago
0.0.1-beta.6.1
9 months ago
0.0.1-beta.6
9 months ago
0.0.1-beta.5
10 months ago
0.0.1-beta.4
10 months ago
0.0.1-beta.3
10 months ago
0.0.1-beta.2
10 months ago
0.0.1-beta
10 months ago
1.0.0
10 months ago