fix(examples): mint and buy script (#141)

* fix(examples): remove hardcoded token mints

* feat(core): update pump idls

* feat(examples): add track volume bool to mint script

* feat(examples): add extend acc instr to mint
This commit is contained in:
Anton
2025-10-25 15:01:04 +02:00
committed by GitHub
parent 25c376dd02
commit d64b51da44
9 changed files with 927 additions and 14 deletions
+449 -4
View File
@@ -620,7 +620,6 @@
},
{
"name": "fee_config",
"optional": true,
"pda": {
"seeds": [
{
@@ -684,7 +683,6 @@
},
{
"name": "fee_program",
"optional": true,
"address": "pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ"
}
],
@@ -707,6 +705,434 @@
}
]
},
{
"name": "buy_exact_quote_in",
"docs": [
"Given a budget of spendable_quote_in, buy at least min_base_amount_out",
"Fees will be deducted from spendable_quote_in",
"",
"f(quote) = tokens, where tokens >= min_base_amount_out",
"",
"Make sure the payer has enough SOL to cover creation of the following accounts (unless already created):",
"- protocol_fee_recipient_token_account: rent.minimum_balance(TokenAccount::LEN)",
"- coin_creator_vault_ata: rent.minimum_balance(TokenAccount::LEN)",
"- user_volume_accumulator: rent.minimum_balance(UserVolumeAccumulator::LEN)"
],
"discriminator": [
198,
46,
21,
82,
180,
217,
232,
112
],
"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",
"address": "pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA"
},
{
"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"
}
]
}
},
{
"name": "fee_config",
"pda": {
"seeds": [
{
"kind": "const",
"value": [
102,
101,
101,
95,
99,
111,
110,
102,
105,
103
]
},
{
"kind": "const",
"value": [
12,
20,
222,
252,
130,
94,
198,
118,
148,
37,
8,
24,
187,
101,
64,
101,
244,
41,
141,
49,
86,
213,
113,
180,
212,
248,
9,
12,
24,
233,
168,
99
]
}
],
"program": {
"kind": "account",
"path": "fee_program"
}
}
},
{
"name": "fee_program",
"address": "pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ"
}
],
"args": [
{
"name": "spendable_quote_in",
"type": "u64"
},
{
"name": "min_base_amount_out",
"type": "u64"
},
{
"name": "track_volume",
"type": {
"defined": {
"name": "OptionBool"
}
}
}
]
},
{
"name": "claim_token_incentives",
"discriminator": [
@@ -2279,7 +2705,6 @@
},
{
"name": "fee_config",
"optional": true,
"pda": {
"seeds": [
{
@@ -2343,7 +2768,6 @@
},
{
"name": "fee_program",
"optional": true,
"address": "pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ"
}
],
@@ -3465,6 +3889,16 @@
{
"code": 6038,
"name": "InvalidIncentiveMint"
},
{
"code": 6039,
"name": "BuyNotEnoughQuoteTokensToCoverFees",
"msg": "buy: Not enough quote tokens to cover for fees."
},
{
"code": 6040,
"name": "BuySlippageBelowMinBaseAmountOut",
"msg": "buy: slippage - would buy less tokens than expected min_base_amount_out"
}
],
"types": [
@@ -3574,6 +4008,9 @@
},
{
"name": "BuyEvent",
"docs": [
"ix_name: \"buy\" | \"buy_exact_quote_in\""
],
"type": {
"kind": "struct",
"fields": [
@@ -3688,6 +4125,14 @@
{
"name": "last_update_timestamp",
"type": "i64"
},
{
"name": "min_base_amount_out",
"type": "u64"
},
{
"name": "ix_name",
"type": "string"
}
]
}