@pump-fun/pump-swap-sdk
Version:
Official SDK for interacting with Pump Swap AMM protocol on Solana
2,302 lines (2,292 loc) • 149 kB
JavaScript
"use strict";
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/pumpAmm.ts
var pumpAmm_exports = {};
__export(pumpAmm_exports, {
PumpAmmSdk: () => PumpAmmSdk
});
module.exports = __toCommonJS(pumpAmm_exports);
// src/sdk/deposit.ts
var import_bn = __toESM(require("bn.js"));
function depositToken0Internal(token0, slippage, token0Reserve, token1Reserve, totalLpTokens) {
if (slippage < 0 || slippage > 100) {
throw new Error("Slippage must be between 0 and 100 (0% to 100%)");
}
const token1 = token0.mul(token1Reserve).div(token0Reserve);
const slippageFactor = new import_bn.default((1 + slippage / 100) * 1e9);
const maxToken0 = token0.mul(slippageFactor).div(new import_bn.default(1e9));
const maxToken1 = token1.mul(slippageFactor).div(new import_bn.default(1e9));
const lpToken = token0.mul(totalLpTokens).div(token0Reserve);
return {
token1,
lpToken,
maxToken0,
maxToken1
};
}
function ceilDiv(numerator, denominator) {
return numerator.add(denominator).sub(new import_bn.default(1)).div(denominator);
}
function depositLpToken(lpToken, slippage, baseReserve, quoteReserve, totalLpTokens) {
if (totalLpTokens.isZero()) {
throw new Error("Division by zero: totalLpTokens cannot be zero");
}
const baseAmountIn = ceilDiv(baseReserve.mul(lpToken), totalLpTokens);
const quoteAmountIn = ceilDiv(quoteReserve.mul(lpToken), totalLpTokens);
const slippageFactor = new import_bn.default((1 + slippage / 100) * 1e9);
const slippageDenominator = new import_bn.default(1e9);
const maxBase = baseAmountIn.mul(slippageFactor).div(slippageDenominator);
const maxQuote = quoteAmountIn.mul(slippageFactor).div(slippageDenominator);
return {
maxBase,
maxQuote
};
}
// src/sdk/pumpAmmInternal.ts
var import_web34 = require("@solana/web3.js");
// src/sdk/pda.ts
var import_web3 = require("@solana/web3.js");
var import_bn2 = __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 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_bn2.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 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
);
}
// src/sdk/pumpAmmInternal.ts
var import_spl_token2 = require("@solana/spl-token");
// src/sdk/withdraw.ts
var import_bn3 = __toESM(require("bn.js"));
function withdrawInternal(lpAmount, slippage, baseReserve, quoteReserve, totalLpTokens) {
if (lpAmount.isZero() || totalLpTokens.isZero()) {
throw new Error("LP amount or total LP tokens cannot be zero.");
}
const base = baseReserve.mul(lpAmount).div(totalLpTokens);
const quote = quoteReserve.mul(lpAmount).div(totalLpTokens);
const scaleFactor = new import_bn3.default(1e9);
const slippageFactor = new import_bn3.default((1 - slippage / 100) * 1e9);
const minBase = base.mul(slippageFactor).div(scaleFactor);
const minQuote = quote.mul(slippageFactor).div(scaleFactor);
return {
base,
quote,
minBase,
minQuote
};
}
// src/sdk/buy.ts
var import_bn5 = __toESM(require("bn.js"));
// src/sdk/util.ts
var import_bn4 = __toESM(require("bn.js"));
var import_anchor = require("@coral-xyz/anchor");
// src/idl/pump_amm.json
var pump_amm_default = {
address: "pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA",
metadata: {
name: "pump_amm",
version: "0.1.0",
spec: "0.1.0",
description: "Created with Anchor"
},
instructions: [
{
name: "admin_set_coin_creator",
docs: [
"Overrides the coin creator for a canonical pump pool"
],
discriminator: [
242,
40,
117,
145,
73,
96,
105,
104
],
accounts: [
{
name: "admin_set_coin_creator_authority",
signer: true,
relations: [
"global_config"
]
},
{
name: "global_config"
},
{
name: "pool",
writable: true
},
{
name: "event_authority",
pda: {
seeds: [
{
kind: "const",
value: [
95,
95,
101,
118,
101,
110,
116,
95,
97,
117,
116,
104,
111,
114,
105,
116,
121
]
}
]
}
},
{
name: "program"
}
],
args: [
{
name: "coin_creator",
type: "pubkey"
}
]
},
{
name: "admin_update_token_incentives",
discriminator: [
209,
11,
115,
87,
213,
23,
124,
204
],
accounts: [
{
name: "admin",
writable: true,
signer: true,
relations: [
"global_config"
]
},
{
name: "global_config",
pda: {
seeds: [
{
kind: "const",
value: [
103,
108,
111,
98,
97,
108,
95,
99,
111,
110,
102,
105,
103
]
}
]
}
},
{
name: "global_volume_accumulator",
writable: true,
pda: {
seeds: [
{
kind: "const",
value: [
103,
108,
111,
98,
97,
108,
95,
118,
111,
108,
117,
109,
101,
95,
97,
99,
99,
117,
109,
117,
108,
97,
116,
111,
114
]
}
]
}
},
{
name: "mint"
},
{
name: "global_incentive_token_account",
writable: true,
pda: {
seeds: [
{
kind: "account",
path: "global_volume_accumulator"
},
{
kind: "account",
path: "token_program"
},
{
kind: "account",
path: "mint"
}
],
program: {
kind: "const",
value: [
140,
151,
37,
143,
78,
36,
137,
241,
187,
61,
16,
41,
20,
142,
13,
131,
11,
90,
19,
153,
218,
255,
16,
132,
4,
142,
123,
216,
219,
233,
248,
89
]
}
}
},
{
name: "associated_token_program",
address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
},
{
name: "system_program",
address: "11111111111111111111111111111111"
},
{
name: "token_program"
},
{
name: "event_authority",
pda: {
seeds: [
{
kind: "const",
value: [
95,
95,
101,
118,
101,
110,
116,
95,
97,
117,
116,
104,
111,
114,
105,
116,
121
]
}
]
}
},
{
name: "program"
}
],
args: [
{
name: "start_time",
type: "i64"
},
{
name: "end_time",
type: "i64"
},
{
name: "seconds_in_a_day",
type: "i64"
},
{
name: "day_number",
type: "u64"
},
{
name: "token_supply_per_day",
type: "u64"
}
]
},
{
name: "buy",
discriminator: [
102,
6,
61,
18,
1,
218,
235,
234
],
accounts: [
{
name: "pool"
},
{
name: "user",
writable: true,
signer: true
},
{
name: "global_config"
},
{
name: "base_mint",
relations: [
"pool"
]
},
{
name: "quote_mint",
relations: [
"pool"
]
},
{
name: "user_base_token_account",
writable: true
},
{
name: "user_quote_token_account",
writable: true
},
{
name: "pool_base_token_account",
writable: true,
relations: [
"pool"
]
},
{
name: "pool_quote_token_account",
writable: true,
relations: [
"pool"
]
},
{
name: "protocol_fee_recipient"
},
{
name: "protocol_fee_recipient_token_account",
writable: true,
pda: {
seeds: [
{
kind: "account",
path: "protocol_fee_recipient"
},
{
kind: "account",
path: "quote_token_program"
},
{
kind: "account",
path: "quote_mint"
}
],
program: {
kind: "const",
value: [
140,
151,
37,
143,
78,
36,
137,
241,
187,
61,
16,
41,
20,
142,
13,
131,
11,
90,
19,
153,
218,
255,
16,
132,
4,
142,
123,
216,
219,
233,
248,
89
]
}
}
},
{
name: "base_token_program"
},
{
name: "quote_token_program"
},
{
name: "system_program",
address: "11111111111111111111111111111111"
},
{
name: "associated_token_program",
address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
},
{
name: "event_authority",
pda: {
seeds: [
{
kind: "const",
value: [
95,
95,
101,
118,
101,
110,
116,
95,
97,
117,
116,
104,
111,
114,
105,
116,
121
]
}
]
}
},
{
name: "program"
},
{
name: "coin_creator_vault_ata",
writable: true,
pda: {
seeds: [
{
kind: "account",
path: "coin_creator_vault_authority"
},
{
kind: "account",
path: "quote_token_program"
},
{
kind: "account",
path: "quote_mint"
}
],
program: {
kind: "const",
value: [
140,
151,
37,
143,
78,
36,
137,
241,
187,
61,
16,
41,
20,
142,
13,
131,
11,
90,
19,
153,
218,
255,
16,
132,
4,
142,
123,
216,
219,
233,
248,
89
]
}
}
},
{
name: "coin_creator_vault_authority",
pda: {
seeds: [
{
kind: "const",
value: [
99,
114,
101,
97,
116,
111,
114,
95,
118,
97,
117,
108,
116
]
},
{
kind: "account",
path: "pool.coin_creator",
account: "Pool"
}
]
}
},
{
name: "global_volume_accumulator",
writable: true,
pda: {
seeds: [
{
kind: "const",
value: [
103,
108,
111,
98,
97,
108,
95,
118,
111,
108,
117,
109,
101,
95,
97,
99,
99,
117,
109,
117,
108,
97,
116,
111,
114
]
}
]
}
},
{
name: "user_volume_accumulator",
writable: true,
pda: {
seeds: [
{
kind: "const",
value: [
117,
115,
101,
114,
95,
118,
111,
108,
117,
109,
101,
95,
97,
99,
99,
117,
109,
117,
108,
97,
116,
111,
114
]
},
{
kind: "account",
path: "user"
}
]
}
}
],
args: [
{
name: "base_amount_out",
type: "u64"
},
{
name: "max_quote_amount_in",
type: "u64"
},
{
name: "track_volume",
type: {
defined: {
name: "OptionBool"
}
}
}
]
},
{
name: "claim_token_incentives",
discriminator: [
16,
4,
71,
28,
204,
1,
40,
27
],
accounts: [
{
name: "user"
},
{
name: "user_ata",
writable: true,
pda: {
seeds: [
{
kind: "account",
path: "user"
},
{
kind: "account",
path: "token_program"
},
{
kind: "account",
path: "mint"
}
],
program: {
kind: "const",
value: [
140,
151,
37,
143,
78,
36,
137,
241,
187,
61,
16,
41,
20,
142,
13,
131,
11,
90,
19,
153,
218,
255,
16,
132,
4,
142,
123,
216,
219,
233,
248,
89
]
}
}
},
{
name: "global_volume_accumulator",
pda: {
seeds: [
{
kind: "const",
value: [
103,
108,
111,
98,
97,
108,
95,
118,
111,
108,
117,
109,
101,
95,
97,
99,
99,
117,
109,
117,
108,
97,
116,
111,
114
]
}
]
}
},
{
name: "global_incentive_token_account",
writable: true,
pda: {
seeds: [
{
kind: "account",
path: "global_volume_accumulator"
},
{
kind: "account",
path: "token_program"
},
{
kind: "account",
path: "mint"
}
],
program: {
kind: "const",
value: [
140,
151,
37,
143,
78,
36,
137,
241,
187,
61,
16,
41,
20,
142,
13,
131,
11,
90,
19,
153,
218,
255,
16,
132,
4,
142,
123,
216,
219,
233,
248,
89
]
}
}
},
{
name: "user_volume_accumulator",
writable: true,
pda: {
seeds: [
{
kind: "const",
value: [
117,
115,
101,
114,
95,
118,
111,
108,
117,
109,
101,
95,
97,
99,
99,
117,
109,
117,
108,
97,
116,
111,
114
]
},
{
kind: "account",
path: "user"
}
]
}
},
{
name: "mint",
relations: [
"global_volume_accumulator"
]
},
{
name: "token_program"
},
{
name: "system_program",
address: "11111111111111111111111111111111"
},
{
name: "associated_token_program",
address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
},
{
name: "event_authority",
pda: {
seeds: [
{
kind: "const",
value: [
95,
95,
101,
118,
101,
110,
116,
95,
97,
117,
116,
104,
111,
114,
105,
116,
121
]
}
]
}
},
{
name: "program"
},
{
name: "payer",
writable: true,
signer: true
}
],
args: []
},
{
name: "close_user_volume_accumulator",
discriminator: [
249,
69,
164,
218,
150,
103,
84,
138
],
accounts: [
{
name: "user",
writable: true,
signer: true
},
{
name: "user_volume_accumulator",
writable: true,
pda: {
seeds: [
{
kind: "const",
value: [
117,
115,
101,
114,
95,
118,
111,
108,
117,
109,
101,
95,
97,
99,
99,
117,
109,
117,
108,
97,
116,
111,
114
]
},
{
kind: "account",
path: "user"
}
]
}
},
{
name: "event_authority",
pda: {
seeds: [
{
kind: "const",
value: [
95,
95,
101,
118,
101,
110,
116,
95,
97,
117,
116,
104,
111,
114,
105,
116,
121
]
}
]
}
},
{
name: "program"
}
],
args: []
},
{
name: "collect_coin_creator_fee",
discriminator: [
160,
57,
89,
42,
181,
139,
43,
66
],
accounts: [
{
name: "quote_mint"
},
{
name: "quote_token_program"
},
{
name: "coin_creator"
},
{
name: "coin_creator_vault_authority",
pda: {
seeds: [
{
kind: "const",
value: [
99,
114,
101,
97,
116,
111,
114,
95,
118,
97,
117,
108,
116
]
},
{
kind: "account",
path: "coin_creator"
}
]
}
},
{
name: "coin_creator_vault_ata",
writable: true,
pda: {
seeds: [
{
kind: "account",
path: "coin_creator_vault_authority"
},
{
kind: "account",
path: "quote_token_program"
},
{
kind: "account",
path: "quote_mint"
}
],
program: {
kind: "const",
value: [
140,
151,
37,
143,
78,
36,
137,
241,
187,
61,
16,
41,
20,
142,
13,
131,
11,
90,
19,
153,
218,
255,
16,
132,
4,
142,
123,
216,
219,
233,
248,
89
]
}
}
},
{
name: "coin_creator_token_account",
writable: true
},
{
name: "event_authority",
pda: {
seeds: [
{
kind: "const",
value: [
95,
95,
101,
118,
101,
110,
116,
95,
97,
117,
116,
104,
111,
114,
105,
116,
121
]
}
]
}
},
{
name: "program"
}
],
args: []
},
{
name: "create_config",
discriminator: [
201,
207,
243,
114,
75,
111,
47,
189
],
accounts: [
{
name: "admin",
writable: true,
signer: true,
address: "8LWu7QM2dGR1G8nKDHthckea57bkCzXyBTAKPJUBDHo8"
},
{
name: "global_config",
writable: true,
pda: {
seeds: [
{
kind: "const",
value: [
103,
108,
111,
98,
97,
108,
95,
99,
111,
110,
102,
105,
103
]
}
]
}
},
{
name: "system_program",
address: "11111111111111111111111111111111"
},
{
name: "event_authority",
pda: {
seeds: [
{
kind: "const",
value: [
95,
95,
101,
118,
101,
110,
116,
95,
97,
117,
116,
104,
111,
114,
105,
116,
121
]
}
]
}
},
{
name: "program"
}
],
args: [
{
name: "lp_fee_basis_points",
type: "u64"
},
{
name: "protocol_fee_basis_points",
type: "u64"
},
{
name: "protocol_fee_recipients",
type: {
array: [
"pubkey",
8
]
}
},
{
name: "coin_creator_fee_basis_points",
type: "u64"
},
{
name: "admin_set_coin_creator_authority",
type: "pubkey"
}
]
},
{
name: "create_pool",
discriminator: [
233,
146,
209,
142,
207,
104,
64,
188
],
accounts: [
{
name: "pool",
writable: true,
pda: {
seeds: [
{
kind: "const",
value: [
112,
111,
111,
108
]
},
{
kind: "arg",
path: "index"
},
{
kind: "account",
path: "creator"
},
{
kind: "account",
path: "base_mint"
},
{
kind: "account",
path: "quote_mint"
}
]
}
},
{
name: "global_config"
},
{
name: "creator",
writable: true,
signer: true
},
{
name: "base_mint"
},
{
name: "quote_mint"
},
{
name: "lp_mint",
writable: true,
pda: {
seeds: [
{
kind: "const",
value: [
112,
111,
111,
108,
95,
108,
112,
95,
109,
105,
110,
116
]
},
{
kind: "account",
path: "pool"
}
]
}
},
{
name: "user_base_token_account",
writable: true
},
{
name: "user_quote_token_account",
writable: true
},
{
name: "user_pool_token_account",
writable: true,
pda: {
seeds: [
{
kind: "account",
path: "creator"
},
{
kind: "account",
path: "token_2022_program"
},
{
kind: "account",
path: "lp_mint"
}
],
program: {
kind: "const",
value: [
140,
151,
37,
143,
78,
36,
137,
241,
187,
61,
16,
41,
20,
142,
13,
131,
11,
90,
19,
153,
218,
255,
16,
132,
4,
142,
123,
216,
219,
233,
248,
89
]
}
}
},
{
name: "pool_base_token_account",
writable: true,
pda: {
seeds: [
{
kind: "account",
path: "pool"
},
{
kind: "account",
path: "base_token_program"
},
{
kind: "account",
path: "base_mint"
}
],
program: {
kind: "const",
value: [
140,
151,
37,
143,
78,
36,
137,
241,
187,
61,
16,
41,
20,
142,
13,
131,
11,
90,
19,
153,
218,
255,
16,
132,
4,
142,
123,
216,
219,
233,
248,
89
]
}
}
},
{
name: "pool_quote_token_account",
writable: true,
pda: {
seeds: [
{
kind: "account",
path: "pool"
},
{
kind: "account",
path: "quote_token_program"
},
{
kind: "account",
path: "quote_mint"
}
],
program: {
kind: "const",
value: [
140,
151,
37,
143,
78,
36,
137,
241,
187,
61,
16,
41,
20,
142,
13,
131,
11,
90,
19,
153,
218,
255,
16,
132,
4,
142,
123,
216,
219,
233,
248,
89
]
}
}
},
{
name: "system_program",
address: "11111111111111111111111111111111"
},
{
name: "token_2022_program",
address: "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"
},
{
name: "base_token_program"
},
{
name: "quote_token_program"
},
{
name: "associated_token_program",
address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
},
{
name: "event_authority",
pda: {
seeds: [
{
kind: "const",
value: [
95,
95,
101,
118,
101,
110,
116,
95,
97,
117,
116,
104,
111,
114,
105,
116,
121
]
}
]
}
},
{
name: "program"
}
],
args: [
{
name: "index",
type: "u16"
},
{
name: "base_amount_in",
type: "u64"
},
{
name: "quote_amount_in",
type: "u64"
},
{
name: "coin_creator",
type: "pubkey"
}
]
},
{
name: "deposit",
discriminator: [
242,
35,
198,
137,
82,
225,
242,
182
],
accounts: [
{
name: "pool",
writable: true
},
{
name: "global_config"
},
{
name: "user",
signer: true
},
{
name: "base_mint",
relations: [
"pool"
]
},
{
name: "quote_mint",
relations: [
"pool"
]
},
{
name: "lp_mint",
writable: true,
relations: [
"pool"
]
},
{
name: "user_base_token_account",
writable: true
},
{
name: "user_quote_token_account",
writable: true
},
{
name: "user_pool_token_account",
writable: true
},
{
name: "pool_base_token_account",
writable: true,
relations: [
"pool"
]
},
{
name: "pool_quote_token_account",
writable: true,
relations: [
"pool"
]
},
{
name: "token_program",
address: "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
},
{
name: "token_2022_program",
address: "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"
},
{
name: "event_authority",
pda: {
seeds: [
{
kind: "const",
value: [
95,
95,
101,
118,
101,
110,
116,
95,
97,
117,
116,
104,
111,
114,
105,
116,
121
]
}
]
}
},
{
name: "program"
}
],
args: [
{
name: "lp_token_amount_out",
type: "u64"
},
{
name: "max_base_amount_in",
type: "u64"
},
{
name: "max_quote_amount_in",
type: "u64"
}
]
},
{
name: "disable",
discriminator: [
185,
173,
187,
90,
216,
15,
238,
233
],
accounts: [
{
name: "admin",
signer: true,
relations: [
"global_config"
]
},
{
name: "global_config",
writable: true
},
{
name: "event_authority",
pda: {
seeds: [
{
kind: "const",
value: [
95,
95,
101,
118,
101,
110,
116,
95,
97,
117,
116,
104,
111,
114,
105,
116,
121
]
}
]
}
},
{
name: "program"
}
],
args: [
{
name: "disable_create_pool",
type: "bool"
},
{
name: "disable_deposit",
type: "bool"
},
{
name: "disable_withdraw",
type: "bool"
},
{
name: "disable_buy",
type: "bool"
},
{
name: "disable_sell",
type: "bool"
}
]
},
{
name: "extend_account",
discriminator: [
234,
102,
194,
203,
150,
72,
62,
229
],
accounts: [
{
name: "account",
writable: true
},
{
name: "user",
signer: true
},
{
name: "system_program",
address: "11111111111111111111111111111111"
},
{
name: "event_authority",
pda: {
seeds: [
{
kind: "const",
value: [
95,
95,
101,
118,
101,
110,
116,
95,
97,
117,
116,
104,
111,
114,
105,
116,
121
]
}
]
}
},
{
name: "program"
}
],
args: []
},
{
name: "init_user_volume_accumulator",
discriminator: [
94,
6,
202,
115,
255,
96,
232,
183
],
accounts: [
{
name: "payer",
writable: true,
signer: true
},
{
name: "user"
},
{
name: "user_volume_accumulator",
writable: true,
pda: {
seeds: [
{
kind: "const",
value: [
117,
115,
101,
114,
95,
118,
111,
108,
117,
109,
101,
95,
97,
99,
99,
117,
109,
117,
108,
97,
116,
111,
114
]
},
{
kind: "account",
path: "user"
}
]
}
},
{
name: "system_program",
address: "11111111111111111111111111111111"
},
{
name: "event_authority",
pda: {
seeds: [
{
kind: "const",
value: [
95,
95,
101,
118,
101,
110,
116,
95,
97,
117,
116,
104,
111,
114,
105,
116,
121
]
}
]
}
},
{
name: "program"
}
],
args: []
},
{
name: "sell",
discriminator: [
51,
230,
133,
164,
1,
127,
131,
173
],
accounts: [
{
name: "pool"
},
{
name: "user",
writable: true,
signer: true
},
{
name: "global_config"
},
{
name: "base_mint",
relations: [
"pool"
]
},
{
name: "quote_mint",
relations: [
"pool"
]
},
{
name: "user_base_token_account",
writable: true
},
{
name: "user_quote_token_account",
writable: true
},
{
name: "pool_base_token_account",
writable: true,
relations: [
"pool"
]
},
{
name: "pool_quote_token_account",
writable: true,
relations: [
"pool"
]
},
{
name: "protocol_fee_recipient"
},
{
name: "protocol_fee_recipient_token_account",
writable: true,
pda: {
seeds: [
{
kind: "account",
path: "protocol_fee_recipient"
},
{
kind: "account",
path: "quote_token_program"
},
{
kind: "account",
path: "quote_mint"
}
],
program: {
kind: "const",
value: [
140,
151,
37,
143,
78,
36,
137,
241,
187,
61,
16,
41,
20,
142,
13,
131,
11,
90,
19,
153,
218,
255,
16,
132,
4,
142,
123,
216,
219,
233,
248,
89
]
}
}
},
{
name: "base_token_program"
},
{
name: "quote_token_program"
},
{
name: "system_program",
address: "11111111111111111111111111111111"
},
{
name: "associated_token_program",
address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
},
{
name: "event_authority",
pda: {
seeds: [
{
kind: "const",
value: [
95,
95,
101,
118,
101,
110,
116,
95,
97,
117,
116,
104,
111,
114,
105,
116,
121
]
}
]
}
},
{
name: "program"
},
{
name: "coin_creator_vault_ata",
writable: true,
pda: {
seeds: [
{
kind: "account",
path: "coin_creator_vault_authority"
},
{
kind: "account",
path: "quote_token_program"
},
{
kind: "account",
path: "quote_mint"
}
],
program: {
kind: "const",