@pump-fun/pump-swap-sdk
Version:
Official SDK for interacting with Pump Swap AMM protocol on Solana
127 lines (125 loc) • 4.84 kB
JavaScript
;
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
// If the importer is in node compatibility mode or this is not an ESM
// file that has been converted to a CommonJS file using a Babel-
// compatible transform (i.e. "__esModule" has not been set), then set
// "default" to the CommonJS "module.exports" for node compatibility.
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
mod
));
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// src/sdk/pda.ts
var pda_exports = {};
__export(pda_exports, {
CANONICAL_POOL_INDEX: () => CANONICAL_POOL_INDEX,
PUMP_AMM_PROGRAM_ID: () => PUMP_AMM_PROGRAM_ID,
PUMP_AMM_PROGRAM_ID_PUBKEY: () => PUMP_AMM_PROGRAM_ID_PUBKEY,
PUMP_MINT: () => PUMP_MINT,
PUMP_PROGRAM_ID: () => PUMP_PROGRAM_ID,
PUMP_PROGRAM_ID_PUBKEY: () => PUMP_PROGRAM_ID_PUBKEY,
canonicalPumpPoolPda: () => canonicalPumpPoolPda,
globalConfigPda: () => globalConfigPda,
globalVolumeAccumulatorPda: () => globalVolumeAccumulatorPda,
lpMintAta: () => lpMintAta,
lpMintPda: () => lpMintPda,
poolPda: () => poolPda,
pumpAmmEventAuthorityPda: () => pumpAmmEventAuthorityPda,
pumpPoolAuthorityPda: () => pumpPoolAuthorityPda,
userVolumeAccumulatorPda: () => userVolumeAccumulatorPda
});
module.exports = __toCommonJS(pda_exports);
var import_web3 = require("@solana/web3.js");
var import_bn = __toESM(require("bn.js"));
var import_spl_token = require("@solana/spl-token");
var PUMP_AMM_PROGRAM_ID = "pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA";
var PUMP_AMM_PROGRAM_ID_PUBKEY = new import_web3.PublicKey(PUMP_AMM_PROGRAM_ID);
var PUMP_PROGRAM_ID = "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P";
var PUMP_PROGRAM_ID_PUBKEY = new import_web3.PublicKey(PUMP_PROGRAM_ID);
var CANONICAL_POOL_INDEX = 0;
var PUMP_MINT = new import_web3.PublicKey(
"pumpCmXqMfrsAkQ5r49WcJnRayYRqmXz6ae8H7H9Dfn"
);
function globalConfigPda(programId = PUMP_AMM_PROGRAM_ID_PUBKEY) {
return import_web3.PublicKey.findProgramAddressSync(
[Buffer.from("global_config")],
programId
);
}
function poolPda(index, owner, baseMint, quoteMint, programId = PUMP_AMM_PROGRAM_ID_PUBKEY) {
return import_web3.PublicKey.findProgramAddressSync(
[
Buffer.from("pool"),
new import_bn.default(index).toArrayLike(Buffer, "le", 2),
owner.toBuffer(),
baseMint.toBuffer(),
quoteMint.toBuffer()
],
programId
);
}
function lpMintPda(pool, programId = PUMP_AMM_PROGRAM_ID_PUBKEY) {
return import_web3.PublicKey.findProgramAddressSync(
[Buffer.from("pool_lp_mint"), pool.toBuffer()],
programId
);
}
function lpMintAta(lpMint, owner) {
return (0, import_spl_token.getAssociatedTokenAddressSync)(
lpMint,
owner,
true,
import_spl_token.TOKEN_2022_PROGRAM_ID
);
}
function pumpPoolAuthorityPda(mint, pumpProgramId = PUMP_PROGRAM_ID_PUBKEY) {
return import_web3.PublicKey.findProgramAddressSync(
[Buffer.from("pool-authority"), mint.toBuffer()],
pumpProgramId
);
}
function canonicalPumpPoolPda(mint, programId = PUMP_AMM_PROGRAM_ID_PUBKEY, pumpProgramId = PUMP_PROGRAM_ID_PUBKEY) {
const [pumpPoolAuthority] = pumpPoolAuthorityPda(mint, pumpProgramId);
return poolPda(
CANONICAL_POOL_INDEX,
pumpPoolAuthority,
mint,
import_spl_token.NATIVE_MINT,
programId
);
}
function pumpAmmEventAuthorityPda(programId = PUMP_AMM_PROGRAM_ID_PUBKEY) {
return import_web3.PublicKey.findProgramAddressSync(
[Buffer.from("__event_authority")],
programId
);
}
function globalVolumeAccumulatorPda(programId = PUMP_AMM_PROGRAM_ID_PUBKEY) {
return import_web3.PublicKey.findProgramAddressSync(
[Buffer.from("global_volume_accumulator")],
programId
);
}
function userVolumeAccumulatorPda(user, programId = PUMP_AMM_PROGRAM_ID_PUBKEY) {
return import_web3.PublicKey.findProgramAddressSync(
[Buffer.from("user_volume_accumulator"), user.toBuffer()],
programId
);
}