pump-swap-core-v1
Version:
This is core SDK for pumpdotfun offical AMM pool - PumpSwap
1,649 lines (1,648 loc) • 69.6 kB
JSON
{
"address": "pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA",
"metadata": {
"name": "pumpAmm",
"version": "0.1.0",
"spec": "0.1.0",
"description": "Created with Anchor & https://github.com/vvizardev"
},
"instructions": [
{
"name": "buy",
"discriminator": [
102,
6,
61,
18,
1,
218,
235,
234
],
"accounts": [
{
"name": "pool"
},
{
"name": "user",
"writable": true,
"signer": true
},
{
"name": "globalConfig"
},
{
"name": "baseMint",
"relations": [
"pool"
]
},
{
"name": "quoteMint",
"relations": [
"pool"
]
},
{
"name": "userBaseTokenAccount",
"writable": true
},
{
"name": "userQuoteTokenAccount",
"writable": true
},
{
"name": "poolBaseTokenAccount",
"writable": true,
"relations": [
"pool"
]
},
{
"name": "poolQuoteTokenAccount",
"writable": true,
"relations": [
"pool"
]
},
{
"name": "protocolFeeRecipient"
},
{
"name": "protocolFeeRecipientTokenAccount",
"writable": true,
"pda": {
"seeds": [
{
"kind": "account",
"path": "protocolFeeRecipient"
},
{
"kind": "account",
"path": "quoteTokenProgram"
},
{
"kind": "account",
"path": "quoteMint"
}
],
"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": "baseTokenProgram"
},
{
"name": "quoteTokenProgram"
},
{
"name": "systemProgram",
"address": "11111111111111111111111111111111"
},
{
"name": "associatedTokenProgram",
"address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
},
{
"name": "eventAuthority",
"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": "baseAmountOut",
"type": "u64"
},
{
"name": "maxQuoteAmountIn",
"type": "u64"
}
]
},
{
"name": "createConfig",
"discriminator": [
201,
207,
243,
114,
75,
111,
47,
189
],
"accounts": [
{
"name": "admin",
"writable": true,
"signer": true,
"address": "px7JjkgjgQXMMHi2ff9QB68zmp4TDxwzeuTqpC48Pmm"
},
{
"name": "globalConfig",
"writable": true,
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108,
95,
99,
111,
110,
102,
105,
103
]
}
]
}
},
{
"name": "systemProgram",
"address": "11111111111111111111111111111111"
},
{
"name": "eventAuthority",
"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": "lpFeeBasisPoints",
"type": "u64"
},
{
"name": "protocolFeeBasisPoints",
"type": "u64"
},
{
"name": "protocolFeeRecipients",
"type": {
"array": [
"pubkey",
8
]
}
}
]
},
{
"name": "createPool",
"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": "baseMint"
},
{
"kind": "account",
"path": "quoteMint"
}
]
}
},
{
"name": "globalConfig"
},
{
"name": "creator",
"writable": true,
"signer": true
},
{
"name": "baseMint"
},
{
"name": "quoteMint"
},
{
"name": "lpMint",
"writable": true,
"pda": {
"seeds": [
{
"kind": "const",
"value": [
112,
111,
111,
108,
95,
108,
112,
95,
109,
105,
110,
116
]
},
{
"kind": "account",
"path": "pool"
}
]
}
},
{
"name": "userBaseTokenAccount",
"writable": true
},
{
"name": "userQuoteTokenAccount",
"writable": true
},
{
"name": "userPoolTokenAccount",
"writable": true,
"pda": {
"seeds": [
{
"kind": "account",
"path": "creator"
},
{
"kind": "account",
"path": "token2022Program"
},
{
"kind": "account",
"path": "lpMint"
}
],
"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": "poolBaseTokenAccount",
"writable": true,
"pda": {
"seeds": [
{
"kind": "account",
"path": "pool"
},
{
"kind": "account",
"path": "baseTokenProgram"
},
{
"kind": "account",
"path": "baseMint"
}
],
"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": "poolQuoteTokenAccount",
"writable": true,
"pda": {
"seeds": [
{
"kind": "account",
"path": "pool"
},
{
"kind": "account",
"path": "quoteTokenProgram"
},
{
"kind": "account",
"path": "quoteMint"
}
],
"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": "systemProgram",
"address": "11111111111111111111111111111111"
},
{
"name": "token2022Program",
"address": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"
},
{
"name": "baseTokenProgram"
},
{
"name": "quoteTokenProgram"
},
{
"name": "associatedTokenProgram",
"address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
},
{
"name": "eventAuthority",
"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": "baseAmountIn",
"type": "u64"
},
{
"name": "quoteAmountIn",
"type": "u64"
}
]
},
{
"name": "deposit",
"discriminator": [
242,
35,
198,
137,
82,
225,
242,
182
],
"accounts": [
{
"name": "pool",
"writable": true
},
{
"name": "globalConfig"
},
{
"name": "user",
"signer": true
},
{
"name": "baseMint",
"relations": [
"pool"
]
},
{
"name": "quoteMint",
"relations": [
"pool"
]
},
{
"name": "lpMint",
"writable": true,
"relations": [
"pool"
]
},
{
"name": "userBaseTokenAccount",
"writable": true
},
{
"name": "userQuoteTokenAccount",
"writable": true
},
{
"name": "userPoolTokenAccount",
"writable": true
},
{
"name": "poolBaseTokenAccount",
"writable": true,
"relations": [
"pool"
]
},
{
"name": "poolQuoteTokenAccount",
"writable": true,
"relations": [
"pool"
]
},
{
"name": "tokenProgram",
"address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
},
{
"name": "token2022Program",
"address": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"
},
{
"name": "eventAuthority",
"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": "lpTokenAmountOut",
"type": "u64"
},
{
"name": "maxBaseAmountIn",
"type": "u64"
},
{
"name": "maxQuoteAmountIn",
"type": "u64"
}
]
},
{
"name": "disable",
"discriminator": [
185,
173,
187,
90,
216,
15,
238,
233
],
"accounts": [
{
"name": "admin",
"signer": true,
"relations": [
"globalConfig"
]
},
{
"name": "globalConfig",
"writable": true
},
{
"name": "eventAuthority",
"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": "disableCreatePool",
"type": "bool"
},
{
"name": "disableDeposit",
"type": "bool"
},
{
"name": "disableWithdraw",
"type": "bool"
},
{
"name": "disableBuy",
"type": "bool"
},
{
"name": "disableSell",
"type": "bool"
}
]
},
{
"name": "extendAccount",
"discriminator": [
234,
102,
194,
203,
150,
72,
62,
229
],
"accounts": [
{
"name": "account",
"writable": true
},
{
"name": "user",
"signer": true
},
{
"name": "systemProgram",
"address": "11111111111111111111111111111111"
},
{
"name": "eventAuthority",
"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": "globalConfig"
},
{
"name": "baseMint",
"relations": [
"pool"
]
},
{
"name": "quoteMint",
"relations": [
"pool"
]
},
{
"name": "userBaseTokenAccount",
"writable": true
},
{
"name": "userQuoteTokenAccount",
"writable": true
},
{
"name": "poolBaseTokenAccount",
"writable": true,
"relations": [
"pool"
]
},
{
"name": "poolQuoteTokenAccount",
"writable": true,
"relations": [
"pool"
]
},
{
"name": "protocolFeeRecipient"
},
{
"name": "protocolFeeRecipientTokenAccount",
"writable": true,
"pda": {
"seeds": [
{
"kind": "account",
"path": "protocolFeeRecipient"
},
{
"kind": "account",
"path": "quoteTokenProgram"
},
{
"kind": "account",
"path": "quoteMint"
}
],
"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": "baseTokenProgram"
},
{
"name": "quoteTokenProgram"
},
{
"name": "systemProgram",
"address": "11111111111111111111111111111111"
},
{
"name": "associatedTokenProgram",
"address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
},
{
"name": "eventAuthority",
"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": "baseAmountIn",
"type": "u64"
},
{
"name": "minQuoteAmountOut",
"type": "u64"
}
]
},
{
"name": "updateAdmin",
"discriminator": [
161,
176,
40,
213,
60,
184,
179,
228
],
"accounts": [
{
"name": "admin",
"signer": true,
"relations": [
"globalConfig"
]
},
{
"name": "globalConfig",
"writable": true
},
{
"name": "newAdmin",
"signer": true
},
{
"name": "eventAuthority",
"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": "updateFeeConfig",
"discriminator": [
104,
184,
103,
242,
88,
151,
107,
20
],
"accounts": [
{
"name": "admin",
"signer": true,
"relations": [
"globalConfig"
]
},
{
"name": "globalConfig",
"writable": true
},
{
"name": "eventAuthority",
"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": "lpFeeBasisPoints",
"type": "u64"
},
{
"name": "protocolFeeBasisPoints",
"type": "u64"
},
{
"name": "protocolFeeRecipients",
"type": {
"array": [
"pubkey",
8
]
}
}
]
},
{
"name": "withdraw",
"discriminator": [
183,
18,
70,
156,
148,
109,
161,
34
],
"accounts": [
{
"name": "pool",
"writable": true
},
{
"name": "globalConfig"
},
{
"name": "user",
"signer": true
},
{
"name": "baseMint",
"relations": [
"pool"
]
},
{
"name": "quoteMint",
"relations": [
"pool"
]
},
{
"name": "lpMint",
"writable": true,
"relations": [
"pool"
]
},
{
"name": "userBaseTokenAccount",
"writable": true
},
{
"name": "userQuoteTokenAccount",
"writable": true
},
{
"name": "userPoolTokenAccount",
"writable": true
},
{
"name": "poolBaseTokenAccount",
"writable": true,
"relations": [
"pool"
]
},
{
"name": "poolQuoteTokenAccount",
"writable": true,
"relations": [
"pool"
]
},
{
"name": "tokenProgram",
"address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
},
{
"name": "token2022Program",
"address": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"
},
{
"name": "eventAuthority",
"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": "lpTokenAmountIn",
"type": "u64"
},
{
"name": "minBaseAmountOut",
"type": "u64"
},
{
"name": "minQuoteAmountOut",
"type": "u64"
}
]
}
],
"accounts": [
{
"name": "GlobalConfig",
"discriminator": [
149,
8,
156,
202,
160,
252,
176,
217
]
},
{
"name": "Pool",
"discriminator": [
241,
154,
109,
4,
17,
177,
109,
188
]
}
],
"events": [
{
"name": "BuyEvent",
"discriminator": [
103,
244,
82,
31,
44,
245,
119,
119
]
},
{
"name": "CreateConfigEvent",
"discriminator": [
107,
52,
89,
129,
55,
226,
81,
22
]
},
{
"name": "CreatePoolEvent",
"discriminator": [
177,
49,
12,
210,
160,
118,
167,
116
]
},
{
"name": "DepositEvent",
"discriminator": [
120,
248,
61,
83,
31,
142,
107,
144
]
},
{
"name": "DisableEvent",
"discriminator": [
107,
253,
193,
76,
228,
202,
27,
104
]
},
{
"name": "ExtendAccountEvent",
"discriminator": [
97,
97,
215,
144,
93,
146,
22,
124
]
},
{
"name": "SellEvent",
"discriminator": [
62,
47,
55,
10,
165,
3,
220,
42
]
},
{
"name": "UpdateAdminEvent",
"discriminator": [
225,
152,
171,
87,
246,
63,
66,
234
]
},
{
"name": "UpdateFeeConfigEvent",
"discriminator": [
90,
23,
65,
35,
62,
244,
188,
208
]
},
{
"name": "WithdrawEvent",
"discriminator": [
22,
9,
133,
26,
160,
44,
71,
192
]
}
],
"errors": [
{
"code": 6000,
"name": "FeeBasisPointsExceedsMaximum"
},
{
"code": 6001,
"name": "ZeroBaseAmount"
},
{
"code": 6002,
"name": "ZeroQuoteAmount"
},
{
"code": 6003,
"name": "TooLittlePoolTokenLiquidity"
},
{
"code": 6004,
"name": "ExceededSlippage"
},
{
"code": 6005,
"name": "InvalidAdmin"
},
{
"code": 6006,
"name": "UnsupportedBaseMint"
},
{
"code": 6007,
"name": "UnsupportedQuoteMint"
},
{
"code": 6008,
"name": "InvalidBaseMint"
},
{
"code": 6009,
"name": "InvalidQuoteMint"
},
{
"code": 6010,
"name": "InvalidLpMint"
},
{
"code": 6011,
"name": "AllProtocolFeeRecipientsShouldBeNonZero"
},
{
"code": 6012,
"name": "UnsortedNotUniqueProtocolFeeRecipients"
},
{
"code": 6013,
"name": "InvalidProtocolFeeRecipient"
},
{
"code": 6014,
"name": "InvalidPoolBaseTokenAccount"
},
{
"code": 6015,
"name": "InvalidPoolQuoteTokenAccount"
},
{
"code": 6016,
"name": "BuyMoreBaseAmountThanPoolReserves"
},
{
"code": 6017,
"name": "DisabledCreatePool"
},
{
"code": 6018,
"name": "DisabledDeposit"
},
{
"code": 6019,
"name": "DisabledWithdraw"
},
{
"code": 6020,
"name": "DisabledBuy"
},
{
"code": 6021,
"name": "DisabledSell"
},
{
"code": 6022,
"name": "SameMint"
},
{
"code": 6023,
"name": "Overflow"
},
{
"code": 6024,
"name": "Truncation"
},
{
"code": 6025,
"name": "DivisionByZero"
},
{
"code": 6026,
"name": "NewSizeLessThanCurrentSize"
},
{
"code": 6027,
"name": "AccountTypeNotSupported"
}
],
"types": [
{
"name": "BuyEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "timestamp",
"type": "i64"
},
{
"name": "baseAmountOut",
"type": "u64"
},
{
"name": "maxQuoteAmountIn",
"type": "u64"
},
{
"name": "userBaseTokenReserves",
"type": "u64"
},
{
"name": "userQuoteTokenReserves",
"type": "u64"
},
{
"name": "poolBaseTokenReserves",
"type": "u64"
},
{
"name": "poolQuoteTokenReserves",
"type": "u64"
},
{
"name": "quoteAmountIn",
"type": "u64"
},
{
"name": "lpFeeBasisPoints",
"type": "u64"
},
{
"name": "lpFee",
"type": "u64"
},