JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 89
  • Score
    100M100P100Q70484F
  • License ISC

Package Exports

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (pumpdotfun-repumped-sdk) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    pumpdotfun-repumped-sdk

    High-level TypeScript SDK for Pump Fun Fixed and reworked https://github.com/rckprtr/pumpdotfun-sdk. Fixed buy, sell and create functions. Also added support for new events. Works on devnet (demo below) and mainnet-beta.
    Bundled via Rollup – ESM & CJS builds in dist/.


    ✨ Features

    Module Highlights
    PumpFunSDK one-liner entry point, injects Anchor Program & Connection
    TradeModule createAndBuy, buy, sell, tx builders, slippage helpers
    TokenModule metadata upload (IPFS helper), ATA creation, mint helpers
    PdaModule utility PDAs: global, event-authority, bonding-curve, metadata, etc.
    EventModule typed event listeners with automatic deserialization
    IDL exports IDL JSON and type PumpFun helper

    📦 Install

    TODO npm

    npm install pumpdotfun-repumped-sdk

    🔨 Quick Start (Devnet)

    import "dotenv/config";
    import {
      Connection,
      Keypair,
      LAMPORTS_PER_SOL,
      PublicKey,
    } from "@solana/web3.js";
    import { AnchorProvider, Wallet } from "@coral-xyz/anchor";
    
    import {
      PumpFunSDK,
      DEFAULT_DECIMALS,
    } from "pumpdotfun-repumped-sdk/dist/esm/index.mjs"; // ESM build
    import { getSPLBalance } from "pumpdotfun-repumped-sdk/dist/esm/utils.mjs";
    
    const DEVNET_RPC  = "https://api.devnet.solana.com";
    const SLIPPAGE_BPS = 100n;                         // 1 %
    const PRIORITY_FEE = { unitLimit: 250_000, unitPrice: 250_000 };
    
    const secret = JSON.parse(process.env.WALLET!);     // `[...,64]`
    const wallet = Keypair.fromSecretKey(Uint8Array.from(secret));
    
    async function printSOL(conn: Connection, pk: PublicKey, label = "") {
      const sol = (await conn.getBalance(pk)) / LAMPORTS_PER_SOL;
      console.log(`${label} SOL:`, sol.toFixed(4));
    }
    
    async function main() {
      const connection = new Connection(DEVNET_RPC, "confirmed");
      const provider   = new AnchorProvider(connection, new Wallet(wallet), {
        commitment: "confirmed",
      });
      const sdk  = new PumpFunSDK(provider);
      const mint = Keypair.generate();                 // fresh token mint
    
      await printSOL(connection, wallet.publicKey, "user");
    
      /* 1️⃣  create + first buy */
      const img  = await import("node:fs/promises").then(fs =>
        fs.readFile("example/images/test.png")
      );
      const blob = new Blob([img], { type: "image/png" });
      await sdk.trade.createAndBuy(
        wallet,
        mint,
        { name: "DEV-TEST", symbol: "DVT", description: "Devnet demo", file: blob },
        0.0001 * LAMPORTS_PER_SOL,
        SLIPPAGE_BPS,
        PRIORITY_FEE
      );
      console.log("pump.fun link →",
        `https://pump.fun/${mint.publicKey}?cluster=devnet`);
    
      /* 2️⃣  second buy */
      await sdk.trade.buy(
        wallet,
        mint.publicKey,
        0.0002 * LAMPORTS_PER_SOL,
        SLIPPAGE_BPS,
        PRIORITY_FEE
      );
      const bal = await getSPLBalance(connection, mint.publicKey, wallet.publicKey);
      console.log("Token balance:", bal / 10 ** DEFAULT_DECIMALS);
    
      /* 3️⃣  sell all */
      await sdk.trade.sell(
        wallet,
        mint.publicKey,
        BigInt(bal),
        SLIPPAGE_BPS,
        PRIORITY_FEE
      );
      await printSOL(connection, wallet.publicKey, "user after sell");
    }
    
    main().catch(console.error);

    Switch DEVNET_RPC to a mainnet endpoint and pass the mainnet program ID to PumpFunSDK if you want to run live.