0.0.1-beta.36 • Published 8 months ago

@pump-fun/pump-swap-sdk v0.0.1-beta.36

Weekly downloads
-
License
MIT
Repository
github
Last release
8 months ago

Pump Swap SDK

The SDK is structured as follows:

  • PumpAmmSdk is the high level SDK, useful for UI integrations.
  • PumpAmmInternalSdk is the low level SDK, useful for programmatic integrations, allowing full customization of instructions.
  • PumpAmmAdminSdk is the SDK which allows access to admin-protected instructions.

Installation

npm install @pump-fun/pump-swap-sdk

Usage

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

0.0.1-beta.36

8 months ago

0.0.1-beta.35

8 months ago

0.0.1-beta.34

8 months ago

0.0.1-beta.33

8 months ago

0.0.1-beta.32

8 months ago

0.0.1-beta.31

8 months ago

0.0.1-beta.30

8 months ago

0.0.1-beta.29

8 months ago

0.0.1-beta.28

8 months ago

0.0.1-beta.27

8 months ago

0.0.1-beta.26

8 months ago

0.0.1-beta.25

9 months ago

0.0.1-beta.24

9 months ago

0.0.1-beta.23

9 months ago

0.0.1-beta.22

10 months ago

0.0.1-beta.21

10 months ago

0.0.1-beta.20

11 months ago

0.0.1-beta.19

11 months ago

0.0.1-beta.18

11 months ago

0.0.1-beta.17

11 months ago

0.0.1-beta.16

11 months ago

0.0.1-beta.15

11 months ago

0.0.1-beta.14

11 months ago

0.0.1-beta.13

11 months ago

0.0.1-beta.12

11 months ago

0.0.1-beta.11

11 months ago

0.0.1-beta.10

11 months ago

0.0.1-beta.9

11 months ago

0.0.1-local.8

11 months ago

0.0.1-beta.8

11 months ago

0.0.1-beta.7

12 months ago

0.0.1-beta.6.1

12 months ago

0.0.1-beta.6

12 months ago

0.0.1-beta.5

12 months ago

0.0.1-beta.4

12 months ago

0.0.1-beta.3

12 months ago

0.0.1-beta.2

12 months ago

0.0.1-beta

12 months ago

1.0.0

1 year ago