Files
pumpfun-bonkfun-bot_github/idl/pump_fees.json
T
55ae2afd82 feat(pumpfun): resync with the 2026-09-15 program upgrade (#202)
* feat(idl): refresh to upstream 8109141 and decode omitted OptionU64 args

Vendors pump.json, pump_amm.json and pump_fees.json from
pump-fun/pump-public-docs@8109141 (holder rewards coins, cashback
deprecation). create_v2 gains two trailing optionals: creator_fee_bps
(OptionU64) and is_holder_reward (OptionBool).

_is_optional_type only recognised OptionBool, so a create_v2 that omits
creator_fee_bps failed the whole decode and the coin dropped out of the
instruction path — the same failure #184 fixed for is_cashback_enabled.
Reproduced against two live mainnet create_v2 transactions captured
2026-09-15: one omits creator_fee_bps (157-byte instruction data), one
sends it (156 bytes) — both are added as getTransaction fixtures under
learning-examples/.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* fix(learning-examples): accept 125-byte bonding curves in dataSize filters

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* docs(learning-examples): replace unrun/recycled curve-size claims with dated live measurements

The 45s/205-update/24-curve figures and the logsSubscribe/same-tx
extend_account claim in the two graduating-token docstrings were
carried over from before the 125/151 filter change and never
re-verified under it. Replaced with fresh 2026-09-15 measurements: a
length-unfiltered programSubscribe run, a direct 125->151 transition
observed on one curve, and a live run of the Geyser script's own
two-group build_subscribe_request confirming both filter groups
actually deliver. Unreproduced claims are now marked UNVERIFIED
in-line instead of stated flatly.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* fix(learning-examples): stop enumerating bonding-curve dataSize lengths

extend_account can grow a curve to any length the program allows, so the
CURVE_ACCOUNT_LENS = (125, 151) allowlist in both graduating-token scripts
was whack-a-mole -- a live 256-byte curve was already missed. Drop the
dataSize/datasize server-side filter entirely (discriminator + complete
memcmp already restrict delivery to BondingCurve accounts) and replace the
allowlist with a MIN_CURVE_LEN client-side floor. Collapse the Geyser
script's two named filter groups back to one now that there's no length to
fan out over. Extend verify_curve_account_sizes.py to assert neither script
constructs a dataSize filter and that 125/151/256-byte curves all decode.

Measured live 2026-09-15, filtered vs unfiltered subscribed simultaneously
so both see identical trade activity: ~0.6-0.7% extra traffic on WebSocket,
statistically zero on Geyser -- dropping the filter is effectively free.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* fix(learning-examples): remove untraceable bandwidth figure, session wording

Review of the dataSize-enumeration fix found a docstring figure (90s window,
2/224/866 updates at 256/125/151 bytes) that no command in the fix report
actually produced -- it was a byproduct of the discarded sequential-window
run, never written down with its command+output. Drop it and rely only on
the properly-documented 120s simultaneous measurement already backing the
rest of the paragraph.

Also replace two "carried from an earlier session" UNVERIFIED markers with
the repo's own convention (UNVERIFIED: <what>, no reference to how or when
the file was edited), and give both the update and byte ratio (1.006x /
1.007x) instead of a single derived percentage.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* feat(pumpfun): surface is_holder_reward and creator_fee_bps on TokenInfo

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* fix(pumpfun): verify the USDC half of the creator_fee_bps claim

The comment on TokenInfo.creator_fee_bps stated flatly that SOL- and
USDC-paired coins always carry bps 0, but only the SOL half had been
observed live. Found 10 USDC-paired bonding curves (via Dune's indexed
CreateEvent table) and read each one directly through
PumpFunCurveManager.get_pool_state: all 10 show creator_fee_bps=0,
matching every custom-pair coin observed showing nonzero. Dated the
verification in the comment instead of leaving it an unmarked claim.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* feat(examples): create holder-reward coins; mark cashback legacy-only

create_v2 now rejects is_cashback_enabled=[true] with 6082
CashbackDeprecated as of the 2026-09-15 upgrade. Add ENABLE_HOLDER_REWARD
to mint_and_buy_v2.py so the trailing create_v2 args can reach
is_holder_reward instead, and relabel the still-live cashback code paths
in core.py, instruction_builder.py and curve_manager.py with the
deprecation date. No cashback account handling is removed anywhere -
existing cashback coins keep trading and accruing exactly as before.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* feat(pumpfun): resolve quote mints to their real token program

A 2026-09-15 pump.fun upgrade lets create_v2 pair a coin with a Token-2022
quote mint (error 6064 now accepts "SPL Token or Token-2022"), and such
coins already trade on mainnet. quote_token_program() only knew WSOL/USDC
and silently defaulted everything else to SPL Token, deriving associated
token accounts that don't exist on chain for any other quote mint.

Add an async resolver that reads a mint's owner from chain and caches it
for the process, pre-seeded with WSOL/USDC so they stay free. The bot
warms this cache once at startup for every configured quote mint; the
hot path (event parsing, address resolution) only ever reads the cache,
preserving extreme_fast_mode's zero-RPC contract between detection and
submission. quote_token_program() itself is untouched so its
existing call sites keep their non-optional Pubkey return.

Also fixes the standalone pump_v2.py learning-examples helper, which had
the same bug in a form that ignored its argument entirely, and gives
simulate_bot_buy_path.py a quote_amounts entry so it can exercise a
non-SOL-paired coin instead of unconditionally skipping it.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* feat(core): name Anchor error codes when reporting a reverted transaction

confirm_transaction only answers whether a transaction landed; meta.err
carries the revert. Logging it raw as {'InstructionError': [idx,
{'Custom': n}]} told an operator nothing, and pump.fun's 2026-09-15
upgrade added 22 new error codes to the pump program and 10 to
pump-amm, so an unnamed number is now more likely to be wrong than
useful. IDLParser.describe_error_code() looks a Custom(N) code up in
an IDL's error table; SolanaClient logs the match alongside the raw
meta.err at both revert sites, so a buy reverting with
BuybackFeeRecipientMissing (issue #175) now prints "6062
BuybackFeeRecipientMissing" instead of a bare 6062.

SolanaClient is shared across pump.fun and letsbonk.fun and has no
record of which program a given transaction invoked, so this only
checks pump.fun's table -- the program the bot's own buy_v2/sell_v2
call directly. A revert on a different program is described against
the wrong table if the code number collides, or left unnamed
otherwise; see the docstring on _describe_program_error.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* fix(core): correct get_account_info's return type annotation

It was typed dict[str, Any] but solana-py's AsyncClient.get_account_info
actually returns a solders Account object. Every real caller already
reads attributes (.data, .owner) rather than subscripting, so this was
latent rather than a live bug -- but the wrong annotation is what let
those callers work by accident, and would mislead anyone who trusted
the type and reached for result["owner"] instead.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* fix(core): tag the revert description with the table it came from

The name appended to a reverted transaction's log line looked like a
fact about whichever program actually reverted, but it is only ever
looked up in pump.fun's error table. This bot also trades letsbonk.fun,
so a letsbonk revert whose numeric code happens to also exist in
pump's table would get a confident, wrong name -- worse than the bare
number it replaced, since a wrong name stops the reader from checking.
Prefixing the description with "pump.fun IDL:" carries the same
limitation the docstring already stated out to the log line itself, so
it's visible without reading the source.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* docs: resync CLAUDE.md and README.md with the 2026-09-15 program upgrade

The bonding curve is 125 bytes now (not 151, no more padding), create_v2
takes eight args instead of six, cashback creation is deprecated (6082
CashbackDeprecated) while existing cashback coins keep trading, quote
assets are no longer just SOL/USDC (QuoteControl, not Global, is the
authoritative mint registry), and holder-reward coins were undocumented
entirely. Add verify_curve_account_sizes.py to both docs' verification
lists, retire the superseded CU comments in instruction_builder.py (the
180k/120k limits are untouched), and fix two stale cashback comments plus
a docstring in client.py that showed a msg suffix code 6062 doesn't have.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* fix(trading): refresh quote_token_program_id alongside quote_mint

_refresh_quote_mint synced token_info.quote_mint from freshly-read curve
state but left quote_token_program_id at its construction-time value. A
stale non-None program id wins the `or` in
PumpFunAddressProvider.resolve_quote, so a curve refresh that reveals a
Token-2022 quote mint still resolves the associated_quote_* ATAs under SPL
Token -- an address that does not exist on chain.

cached_quote_token_program is a synchronous dict read, so this keeps
extreme_fast_mode's zero-RPC-call contract between detection and
submission.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* fix(examples): resolve the quote mint's real token program in manual buy/sell

manual_buy.py and manual_sell.py derived the quote ATA's owning program
through pump_v2.quote_token_program, which defaults any mint outside the
WSOL/USDC map to SPL Token. A pump.fun upgrade verified 2026-09-15 lets
create_v2 pair a coin with a Token-2022 quote mint (error 6064 now accepts
"SPL Token or Token-2022"), so that default derives an ATA that does not
exist on a Token-2022-quoted coin -- and these scripts submit real
transactions, so the failure burns one.

Both now call pump_v2.resolve_quote_token_program (free for WSOL/USDC via
its cache, one RPC call otherwise) and thread the resolved program into
both the buy_v2/sell_v2 instruction and the quote ATA creation.

Verified against a real Token-2022-quoted pump.fun coin found via Dune
(pumpdotfun_solana.pump_evt_createevent, mint G5Ve125Poi7KoDRP5uLsgu5NQdm3KoqfyUkq4cqtTo4r,
quote_mint Xsc9qvGR1efVDFGLrVsmkzv3qi45LTBjeUKSPmx9qEh, confirmed Token-2022-owned
by RPC read): the old default derives associated_quote_bonding_curve
FViEZvbcYjoSwGE2b37HiCXmPT3N7kSd1nQavFzcD7Yb, which does not exist on chain;
the fixed resolution derives DfxcBKXTLDqobNEmR5JkaBeoKqNbJE1vKbtQVbowXz4x,
which exists on chain and is owned by the Token-2022 program.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* fix(core): correct get_multiple_accounts's return type annotation

Declared as list[Any] while it actually returns a list of solders Account
objects (or None for missing accounts) -- the same stale-annotation
pattern already corrected on get_account_info.

Checked the one caller, PumpFunCurveManager.get_pool_state_and_token_program,
which already unpacks the two entries and reads .data / .owner off them
directly rather than subscripting -- no live bug behind the wrong
annotation here.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* refactor(examples): use the public decode API in the optional-args verifier

check_omitted_option_u64_decodes and check_option_u64_present_decodes
reached into IDLParser._decode_instruction_args behind # noqa: SLF001
instead of the public decode_instruction(data, keys, accounts) already
used by every other check in this file. The fixtures already carry valid
accounts/keys (previously discarded as data, _, _), so the public method
expresses the same check -- confirmed it returns byte-for-byte identical
decoded args as the private call did.

Confirmed the check stays load-bearing: reverting _is_optional_type to a
narrow == "OptionBool" comparison drops the verifier to 2/7 checks passed,
exit 1, including the two checks touched here.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* docs: correct unverified claims from the final branch review

Text-only fixes from the whole-branch review — no code defects found.

- CLAUDE.md: create_v2 trailing-arg claim was circular (sourced from our own
  minter script) and wrong — the three committed fixtures show 0, 1 and 2
  trailing args, never 3. Rewritten with the counted byte lengths and dated;
  the unobserved 3-arg form is now marked UNVERIFIED instead of asserted.
- src/interfaces/core.py, CLAUDE.md: corrected an inflated "25 SOL-paired"
  sample to the actual 21 (25 coins captured live, 4 of them custom-pair).
- instruction_builder.py: buy_v2/sell_v2 CU comments cited figures from a
  task brief that were never re-measured on this branch. Re-measured via
  simulate_v2_trades.py on 2026-09-15 (106,677 / ~77,196 CU) and updated the
  comments; the configured 180k/120k limits are unchanged.
- simulate_bot_buy_path.py: removed a working-session reference ("this
  task") from a comment.
- get_graduating_tokens.py, get_graduating_tokens_geyser.py's sibling docs
  (pump_v2.py, fetch_price.py, get_bonding_curve_status.py,
  verify_pumpportal_buy_path.py): made the curve-length story consistent
  (125/151/256, don't enumerate lengths) instead of a stale "125 or 151"
  framing; resolved an UNVERIFIED marker that mint_and_buy_v2.py already
  answers (extend_account can share a transaction with create_v2); removed
  a redundant restated clause in the bandwidth-measurement paragraph.

Verified: all 7 verify_*/simulate offline+mainnet checks still exit 0,
buy_v2/sell_v2 account counts unchanged at 27/26.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* fix(trading): resolve quote-mint decimals instead of defaulting to 9

quote_decimals()/quote_units_per_token() defaulted every quote mint outside
the WSOL/USDC map to SOL's 9 decimals, mis-scaling max_sol_cost/min_sol_output
by up to 1000x for a custom Token-2022 quote mint (verified: 6 decimals).
Extend resolve_quote_token_program's existing mint-account fetch to also
parse and cache decimals from the same read (byte offset 44, shared by SPL
Token and Token-2022), so the fix costs zero extra RPC calls and the
zero-RPC extreme_fast_mode contract holds. Mirrored the same treatment in
learning-examples/pump_v2.py's standalone copy.

Also decode is_holder_reward in the instruction-only create_v2 parse path
(a landed transaction proves it, since the program rejects the flag when
globally disabled) while leaving creator_fee_bps at its default, since
upstream docs say it's ignored for SOL/USDC-paired coins and nothing reads
it today.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* fix(examples): strengthen optional-arg verifier assertions

Fix verify_create_v2_optional_args.py to properly assert value equality
rather than just presence when checking optional arguments:

- check_omitted_option_u64_decodes: verify both creator_fee_bps and
  is_holder_reward are exactly None (not just present in dict)
- check_option_u64_present_decodes: decode the fixture, verify
  creator_fee_bps shape is {"field_0": <value>}, and assert the actual
  value (0) rather than just non-null
- Fixture decodes to creator_fee_bps={'field_0': 0}, is_holder_reward=None

Also fix README.md line 166: "Three examples" → "Four examples" to match
the four verification commands listed.

Temporary revert of idl_parser.py's _is_optional_type confirms the
strengthened assertions are load-bearing: changing from startswith("Option")
back to == "OptionBool" causes 4 of 7 checks to fail.
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EkvFUgSiZoaF7w4xugrgBc

---------

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-16 09:36:44 +02:00

6482 lines
130 KiB
JSON

{
"address": "pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ",
"metadata": {
"name": "pump_fees",
"version": "0.1.0",
"spec": "0.1.0",
"description": "Created with Anchor"
},
"instructions": [
{
"name": "admin_cto_sharing_config",
"discriminator": [
60,
100,
144,
156,
64,
138,
182,
37
],
"accounts": [
{
"name": "pool_authority",
"signer": true,
"pda": {
"seeds": [
{
"kind": "const",
"value": [
112,
111,
111,
108,
45,
97,
117,
116,
104,
111,
114,
105,
116,
121
]
},
{
"kind": "account",
"path": "mint"
}
],
"program": {
"kind": "const",
"value": [
1,
86,
224,
246,
147,
102,
90,
207,
68,
219,
21,
104,
191,
23,
91,
170,
81,
137,
203,
151,
245,
210,
255,
59,
101,
93,
43,
182,
253,
109,
24,
176
]
}
}
},
{
"name": "authority",
"signer": true
},
{
"name": "global",
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
1,
86,
224,
246,
147,
102,
90,
207,
68,
219,
21,
104,
191,
23,
91,
170,
81,
137,
203,
151,
245,
210,
255,
59,
101,
93,
43,
182,
253,
109,
24,
176
]
}
}
},
{
"name": "mint",
"relations": [
"sharing_config"
]
},
{
"name": "sharing_config",
"writable": true,
"pda": {
"seeds": [
{
"kind": "const",
"value": [
115,
104,
97,
114,
105,
110,
103,
45,
99,
111,
110,
102,
105,
103
]
},
{
"kind": "account",
"path": "mint"
}
]
}
},
{
"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": "pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ"
}
],
"args": [
{
"name": "new_admin",
"type": {
"option": "pubkey"
}
}
]
},
{
"name": "claim_social_fee_pda",
"discriminator": [
225,
21,
251,
133,
161,
30,
199,
226
],
"accounts": [
{
"name": "recipient",
"writable": true
},
{
"name": "social_fee_pda",
"writable": true
},
{
"name": "fee_program_global",
"pda": {
"seeds": [
{
"kind": "const",
"value": [
102,
101,
101,
45,
112,
114,
111,
103,
114,
97,
109,
45,
103,
108,
111,
98,
97,
108
]
}
]
}
},
{
"name": "social_claim_authority",
"signer": true,
"relations": [
"fee_program_global"
]
},
{
"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": "user_id",
"type": "string"
},
{
"name": "platform",
"type": "u8"
}
],
"returns": {
"option": {
"defined": {
"name": "SocialFeePdaClaimed"
}
}
}
},
{
"name": "claim_social_fee_pda_v2",
"discriminator": [
17,
77,
240,
134,
58,
188,
53,
149
],
"accounts": [
{
"name": "recipient",
"writable": true
},
{
"name": "social_fee_pda",
"writable": true
},
{
"name": "quote_mint",
"docs": [
"Quote mint for claim"
],
"writable": true
},
{
"name": "associated_social_fee_pda",
"writable": true,
"pda": {
"seeds": [
{
"kind": "account",
"path": "social_fee_pda"
},
{
"kind": "account",
"path": "quote_token_program"
},
{
"kind": "account",
"path": "quote_mint"
}
],
"program": {
"kind": "account",
"path": "associated_token_program"
}
}
},
{
"name": "associated_recipient",
"writable": true,
"pda": {
"seeds": [
{
"kind": "account",
"path": "recipient"
},
{
"kind": "account",
"path": "quote_token_program"
},
{
"kind": "account",
"path": "quote_mint"
}
],
"program": {
"kind": "account",
"path": "associated_token_program"
}
}
},
{
"name": "quote_token_program"
},
{
"name": "associated_token_program",
"address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
},
{
"name": "fee_program_global",
"pda": {
"seeds": [
{
"kind": "const",
"value": [
102,
101,
101,
45,
112,
114,
111,
103,
114,
97,
109,
45,
103,
108,
111,
98,
97,
108
]
}
]
}
},
{
"name": "social_claim_authority",
"signer": true,
"relations": [
"fee_program_global"
]
},
{
"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": "user_id",
"type": "string"
},
{
"name": "platform",
"type": "u8"
}
],
"returns": {
"option": {
"defined": {
"name": "SocialFeePdaClaimed"
}
}
}
},
{
"name": "crank_donation_fee_pda",
"discriminator": [
220,
10,
189,
167,
169,
17,
25,
69
],
"accounts": [
{
"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": "pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ"
},
{
"name": "payer",
"docs": [
"Pays rent when [`temp_wsol_token_account`] is created (`init_if_needed`); receives rent when it is closed after the relay CPI."
],
"writable": true,
"signer": true
},
{
"name": "system_program",
"address": "11111111111111111111111111111111"
},
{
"name": "token_program",
"address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
},
{
"name": "associated_token_program",
"address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
},
{
"name": "rent",
"address": "SysvarRent111111111111111111111111111111111"
},
{
"name": "fee_program_global",
"pda": {
"seeds": [
{
"kind": "const",
"value": [
102,
101,
101,
45,
112,
114,
111,
103,
114,
97,
109,
45,
103,
108,
111,
98,
97,
108
]
}
]
}
},
{
"name": "donation_fee_pda",
"writable": true,
"pda": {
"seeds": [
{
"kind": "const",
"value": [
100,
111,
110,
97,
116,
105,
111,
110,
45,
102,
101,
101,
45,
112,
100,
97
]
},
{
"kind": "account",
"path": "donation_fee_pda.base_mint",
"account": "DonationFeePda"
},
{
"kind": "account",
"path": "donation_fee_pda.config_id",
"account": "DonationFeePda"
}
]
}
},
{
"name": "quote_mint",
"docs": [
"Quote mint from donation fee pda."
],
"writable": true
},
{
"name": "donation_fee_pda_ata",
"docs": [
"WSOL ATA owned by `donation_fee_pda`."
],
"writable": true,
"pda": {
"seeds": [
{
"kind": "account",
"path": "donation_fee_pda"
},
{
"kind": "const",
"value": [
6,
221,
246,
225,
215,
101,
161,
147,
217,
203,
225,
70,
206,
235,
121,
172,
28,
180,
133,
237,
95,
91,
55,
145,
58,
140,
245,
133,
126,
255,
0,
169
]
},
{
"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": "donation_relay_program",
"address": "RLAYHr9TRFcKB2ubYQhspcnXiaGpaVzNQvHytt47RZu"
},
{
"name": "donation_relay_event_authority"
},
{
"name": "mint_whitelist"
},
{
"name": "epoch_tracker",
"writable": true
},
{
"name": "debouncer",
"writable": true
},
{
"name": "debouncer_ata",
"writable": true
}
],
"args": []
},
{
"name": "create_donation_fee_pda",
"discriminator": [
244,
139,
16,
88,
14,
255,
122,
26
],
"accounts": [
{
"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": "pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ"
},
{
"name": "payer",
"writable": true,
"signer": true
},
{
"name": "system_program",
"address": "11111111111111111111111111111111"
},
{
"name": "fee_program_global",
"pda": {
"seeds": [
{
"kind": "const",
"value": [
102,
101,
101,
45,
112,
114,
111,
103,
114,
97,
109,
45,
103,
108,
111,
98,
97,
108
]
}
]
}
},
{
"name": "donation_fee_pda",
"writable": true,
"pda": {
"seeds": [
{
"kind": "const",
"value": [
100,
111,
110,
97,
116,
105,
111,
110,
45,
102,
101,
101,
45,
112,
100,
97
]
},
{
"kind": "account",
"path": "base_mint"
},
{
"kind": "account",
"path": "config_id"
}
]
}
},
{
"name": "config_id",
"docs": [
"stored on the PDA, so distinct `config_id`s for the same `base_mint` derive distinct addresses."
]
},
{
"name": "base_mint"
},
{
"name": "bonding_curve",
"pda": {
"seeds": [
{
"kind": "const",
"value": [
98,
111,
110,
100,
105,
110,
103,
45,
99,
117,
114,
118,
101
]
},
{
"kind": "account",
"path": "base_mint"
}
],
"program": {
"kind": "const",
"value": [
1,
86,
224,
246,
147,
102,
90,
207,
68,
219,
21,
104,
191,
23,
91,
170,
81,
137,
203,
151,
245,
210,
255,
59,
101,
93,
43,
182,
253,
109,
24,
176
]
}
}
},
{
"name": "pool"
},
{
"name": "sharing_config",
"docs": [
"(derived from `[SHARING_CONFIG_SEED, base_mint]`)"
],
"pda": {
"seeds": [
{
"kind": "const",
"value": [
115,
104,
97,
114,
105,
110,
103,
45,
99,
111,
110,
102,
105,
103
]
},
{
"kind": "account",
"path": "base_mint"
}
]
}
}
],
"args": []
},
{
"name": "create_fee_sharing_config",
"docs": [
"Create Fee Sharing Config"
],
"discriminator": [
195,
78,
86,
76,
111,
52,
251,
213
],
"accounts": [
{
"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": "pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ"
},
{
"name": "payer",
"writable": true,
"signer": true
},
{
"name": "global",
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
1,
86,
224,
246,
147,
102,
90,
207,
68,
219,
21,
104,
191,
23,
91,
170,
81,
137,
203,
151,
245,
210,
255,
59,
101,
93,
43,
182,
253,
109,
24,
176
]
}
}
},
{
"name": "mint"
},
{
"name": "sharing_config",
"writable": true,
"pda": {
"seeds": [
{
"kind": "const",
"value": [
115,
104,
97,
114,
105,
110,
103,
45,
99,
111,
110,
102,
105,
103
]
},
{
"kind": "account",
"path": "mint"
}
]
}
},
{
"name": "system_program",
"address": "11111111111111111111111111111111"
},
{
"name": "bonding_curve",
"writable": true,
"pda": {
"seeds": [
{
"kind": "const",
"value": [
98,
111,
110,
100,
105,
110,
103,
45,
99,
117,
114,
118,
101
]
},
{
"kind": "account",
"path": "mint"
}
],
"program": {
"kind": "const",
"value": [
1,
86,
224,
246,
147,
102,
90,
207,
68,
219,
21,
104,
191,
23,
91,
170,
81,
137,
203,
151,
245,
210,
255,
59,
101,
93,
43,
182,
253,
109,
24,
176
]
}
}
},
{
"name": "pump_program",
"address": "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P"
},
{
"name": "pump_event_authority",
"pda": {
"seeds": [
{
"kind": "const",
"value": [
95,
95,
101,
118,
101,
110,
116,
95,
97,
117,
116,
104,
111,
114,
105,
116,
121
]
}
],
"program": {
"kind": "const",
"value": [
1,
86,
224,
246,
147,
102,
90,
207,
68,
219,
21,
104,
191,
23,
91,
170,
81,
137,
203,
151,
245,
210,
255,
59,
101,
93,
43,
182,
253,
109,
24,
176
]
}
}
},
{
"name": "pool",
"writable": true,
"optional": true
},
{
"name": "pump_amm_program",
"optional": true,
"address": "pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA"
},
{
"name": "pump_amm_event_authority",
"optional": true,
"pda": {
"seeds": [
{
"kind": "const",
"value": [
95,
95,
101,
118,
101,
110,
116,
95,
97,
117,
116,
104,
111,
114,
105,
116,
121
]
}
],
"program": {
"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
]
}
}
}
],
"args": []
},
{
"name": "create_social_fee_pda",
"discriminator": [
144,
224,
59,
211,
78,
248,
202,
220
],
"accounts": [
{
"name": "payer",
"writable": true,
"signer": true
},
{
"name": "social_fee_pda",
"writable": true
},
{
"name": "system_program",
"address": "11111111111111111111111111111111"
},
{
"name": "fee_program_global",
"pda": {
"seeds": [
{
"kind": "const",
"value": [
102,
101,
101,
45,
112,
114,
111,
103,
114,
97,
109,
45,
103,
108,
111,
98,
97,
108
]
}
]
}
},
{
"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": "user_id",
"type": "string"
},
{
"name": "platform",
"type": "u8"
}
]
},
{
"name": "extend_fee_config",
"docs": [
"Realloc the fee_config PDA to [`FeeConfig::CURRENT_SIZE`] (signer pays rent delta)."
],
"discriminator": [
68,
179,
244,
90,
173,
56,
17,
217
],
"accounts": [
{
"name": "fee_config",
"writable": true
},
{
"name": "user",
"signer": true
},
{
"name": "config_program_id"
},
{
"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": "get_fees",
"docs": [
"Get Fees"
],
"discriminator": [
231,
37,
126,
85,
207,
91,
63,
52
],
"accounts": [
{
"name": "fee_config",
"pda": {
"seeds": [
{
"kind": "const",
"value": [
102,
101,
101,
95,
99,
111,
110,
102,
105,
103
]
},
{
"kind": "account",
"path": "config_program_id"
}
]
}
},
{
"name": "config_program_id"
}
],
"args": [
{
"name": "is_pump_pool",
"type": "bool"
},
{
"name": "market_cap_lamports",
"type": "u128"
},
{
"name": "trade_size_lamports",
"type": "u64"
},
{
"name": "is_new_quote_mint",
"type": {
"defined": {
"name": "OptionBool"
}
}
}
],
"returns": {
"defined": {
"name": "Fees"
}
}
},
{
"name": "get_fees_with_quote_mint",
"discriminator": [
154,
237,
138,
92,
162,
2,
162,
187
],
"accounts": [
{
"name": "fee_config",
"pda": {
"seeds": [
{
"kind": "const",
"value": [
102,
101,
101,
95,
99,
111,
110,
102,
105,
103
]
},
{
"kind": "account",
"path": "config_program_id"
}
]
}
},
{
"name": "config_program_id"
}
],
"args": [
{
"name": "is_pump_pool",
"type": "bool"
},
{
"name": "market_cap_lamports",
"type": "u128"
},
{
"name": "quote_mint",
"type": "pubkey"
}
],
"returns": {
"defined": {
"name": "Fees"
}
}
},
{
"name": "initialize_buyback",
"discriminator": [
250,
129,
236,
160,
227,
36,
103,
134
],
"accounts": [
{
"name": "payer",
"writable": true,
"signer": true
},
{
"name": "buyback_vault",
"writable": true
},
{
"name": "buyback_vault_ata",
"writable": true,
"pda": {
"seeds": [
{
"kind": "account",
"path": "buyback_vault"
},
{
"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": "system_program",
"address": "11111111111111111111111111111111"
},
{
"name": "associated_token_program",
"address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
},
{
"name": "mint"
},
{
"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": "index",
"type": "u8"
}
]
},
{
"name": "initialize_fee_config",
"docs": [
"Initialize FeeConfig admin"
],
"discriminator": [
62,
162,
20,
133,
121,
65,
145,
27
],
"accounts": [
{
"name": "admin",
"writable": true,
"signer": true,
"address": "8LWu7QM2dGR1G8nKDHthckea57bkCzXyBTAKPJUBDHo8"
},
{
"name": "fee_config",
"writable": true,
"pda": {
"seeds": [
{
"kind": "const",
"value": [
102,
101,
101,
95,
99,
111,
110,
102,
105,
103
]
},
{
"kind": "account",
"path": "config_program_id"
}
]
}
},
{
"name": "system_program",
"address": "11111111111111111111111111111111"
},
{
"name": "config_program_id"
},
{
"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": "initialize_fee_program_global",
"discriminator": [
35,
215,
130,
84,
233,
56,
124,
167
],
"accounts": [
{
"name": "authority",
"writable": true,
"signer": true,
"relations": [
"pump_global"
]
},
{
"name": "pump_global",
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
1,
86,
224,
246,
147,
102,
90,
207,
68,
219,
21,
104,
191,
23,
91,
170,
81,
137,
203,
151,
245,
210,
255,
59,
101,
93,
43,
182,
253,
109,
24,
176
]
}
}
},
{
"name": "fee_program_global",
"writable": true,
"pda": {
"seeds": [
{
"kind": "const",
"value": [
102,
101,
101,
45,
112,
114,
111,
103,
114,
97,
109,
45,
103,
108,
111,
98,
97,
108
]
}
]
}
},
{
"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": "social_claim_authority",
"type": "pubkey"
},
{
"name": "disable_flags",
"type": "u8"
},
{
"name": "claim_rate_limit",
"type": "u64"
}
]
},
{
"name": "revoke_fee_sharing_authority",
"docs": [
"Revoke Fee Sharing Authority"
],
"discriminator": [
18,
233,
158,
39,
185,
207,
58,
104
],
"accounts": [],
"args": []
},
{
"name": "set_authority",
"discriminator": [
133,
250,
37,
21,
110,
163,
26,
121
],
"accounts": [
{
"name": "authority",
"writable": true,
"signer": true,
"relations": [
"fee_program_global"
]
},
{
"name": "fee_program_global",
"writable": true,
"pda": {
"seeds": [
{
"kind": "const",
"value": [
102,
101,
101,
45,
112,
114,
111,
103,
114,
97,
109,
45,
103,
108,
111,
98,
97,
108
]
}
]
}
},
{
"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": "new_authority",
"type": "pubkey"
}
]
},
{
"name": "set_claim_rate_limit",
"discriminator": [
185,
211,
159,
174,
212,
49,
88,
4
],
"accounts": [
{
"name": "authority",
"writable": true,
"signer": true,
"relations": [
"fee_program_global"
]
},
{
"name": "fee_program_global",
"writable": true,
"pda": {
"seeds": [
{
"kind": "const",
"value": [
102,
101,
101,
45,
112,
114,
111,
103,
114,
97,
109,
45,
103,
108,
111,
98,
97,
108
]
}
]
}
},
{
"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": "claim_rate_limit",
"type": "u64"
}
]
},
{
"name": "set_disable_flags",
"discriminator": [
194,
217,
112,
35,
114,
222,
51,
190
],
"accounts": [
{
"name": "authority",
"writable": true,
"signer": true,
"relations": [
"fee_program_global"
]
},
{
"name": "fee_program_global",
"writable": true,
"pda": {
"seeds": [
{
"kind": "const",
"value": [
102,
101,
101,
45,
112,
114,
111,
103,
114,
97,
109,
45,
103,
108,
111,
98,
97,
108
]
}
]
}
},
{
"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_flags",
"type": "u8"
}
]
},
{
"name": "set_exotic_flat_fees",
"discriminator": [
30,
234,
149,
138,
252,
230,
39,
73
],
"accounts": [
{
"name": "fee_config",
"writable": true,
"pda": {
"seeds": [
{
"kind": "const",
"value": [
102,
101,
101,
95,
99,
111,
110,
102,
105,
103
]
},
{
"kind": "account",
"path": "config_program_id"
}
]
}
},
{
"name": "admin",
"writable": true,
"signer": true,
"relations": [
"fee_config"
]
},
{
"name": "config_program_id"
},
{
"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": "exotic_flat_fees",
"type": {
"defined": {
"name": "Fees"
}
}
}
]
},
{
"name": "set_social_claim_authority",
"discriminator": [
147,
54,
184,
154,
136,
237,
185,
153
],
"accounts": [
{
"name": "authority",
"writable": true,
"signer": true,
"relations": [
"fee_program_global"
]
},
{
"name": "fee_program_global",
"writable": true,
"pda": {
"seeds": [
{
"kind": "const",
"value": [
102,
101,
101,
45,
112,
114,
111,
103,
114,
97,
109,
45,
103,
108,
111,
98,
97,
108
]
}
]
}
},
{
"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": "social_claim_authority",
"type": "pubkey"
}
]
},
{
"name": "sweep_buyback",
"discriminator": [
138,
33,
204,
38,
207,
161,
159,
226
],
"accounts": [
{
"name": "destination",
"writable": true
},
{
"name": "authority",
"writable": true,
"signer": true,
"relations": [
"buyback_vault"
]
},
{
"name": "buyback_vault",
"writable": true
},
{
"name": "buyback_vault_ata",
"writable": true,
"pda": {
"seeds": [
{
"kind": "account",
"path": "buyback_vault"
},
{
"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": "destination_ata",
"writable": true,
"pda": {
"seeds": [
{
"kind": "account",
"path": "destination"
},
{
"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": "system_program",
"address": "11111111111111111111111111111111"
},
{
"name": "associated_token_program",
"address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
},
{
"name": "mint"
},
{
"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": "index",
"type": "u8"
}
]
},
{
"name": "transfer_fee_sharing_authority",
"docs": [
"Transfer Fee Sharing Authority"
],
"discriminator": [
202,
10,
75,
200,
164,
34,
210,
96
],
"accounts": [],
"args": []
},
{
"name": "update_admin",
"docs": [
"Update admin (only callable by admin)"
],
"discriminator": [
161,
176,
40,
213,
60,
184,
179,
228
],
"accounts": [
{
"name": "admin",
"signer": true,
"relations": [
"fee_config"
]
},
{
"name": "fee_config",
"writable": true,
"pda": {
"seeds": [
{
"kind": "const",
"value": [
102,
101,
101,
95,
99,
111,
110,
102,
105,
103
]
},
{
"kind": "account",
"path": "config_program_id"
}
]
}
},
{
"name": "new_admin"
},
{
"name": "config_program_id"
},
{
"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": "update_buyback_authority",
"discriminator": [
66,
98,
113,
202,
121,
37,
219,
107
],
"accounts": [
{
"name": "authority",
"writable": true,
"signer": true,
"relations": [
"fee_program_global"
]
},
{
"name": "fee_program_global",
"writable": true,
"pda": {
"seeds": [
{
"kind": "const",
"value": [
102,
101,
101,
45,
112,
114,
111,
103,
114,
97,
109,
45,
103,
108,
111,
98,
97,
108
]
}
]
}
},
{
"name": "buyback_vault",
"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": "index",
"type": "u8"
},
{
"name": "new_authority",
"type": "pubkey"
}
]
},
{
"name": "update_buyback_claim_rate_limit",
"discriminator": [
186,
95,
135,
190,
255,
199,
137,
170
],
"accounts": [
{
"name": "authority",
"writable": true,
"signer": true,
"relations": [
"fee_program_global"
]
},
{
"name": "fee_program_global",
"writable": true,
"pda": {
"seeds": [
{
"kind": "const",
"value": [
102,
101,
101,
45,
112,
114,
111,
103,
114,
97,
109,
45,
103,
108,
111,
98,
97,
108
]
}
]
}
},
{
"name": "buyback_vault",
"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": "index",
"type": "u8"
},
{
"name": "claim_rate_limit",
"type": "i64"
}
]
},
{
"name": "update_fee_config",
"docs": [
"Set/Replace fee parameters entirely (only callable by admin)"
],
"discriminator": [
104,
184,
103,
242,
88,
151,
107,
20
],
"accounts": [
{
"name": "fee_config",
"writable": true,
"pda": {
"seeds": [
{
"kind": "const",
"value": [
102,
101,
101,
95,
99,
111,
110,
102,
105,
103
]
},
{
"kind": "account",
"path": "config_program_id"
}
]
}
},
{
"name": "admin",
"signer": true,
"relations": [
"fee_config"
]
},
{
"name": "config_program_id"
},
{
"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": "fee_tiers",
"type": {
"vec": {
"defined": {
"name": "FeeTier"
}
}
}
},
{
"name": "flat_fees",
"type": {
"defined": {
"name": "Fees"
}
}
}
]
},
{
"name": "update_fee_shares",
"docs": [
"Update Fee Shares, make sure to distribute all the fees before calling this"
],
"discriminator": [
189,
13,
136,
99,
187,
164,
237,
35
],
"accounts": [
{
"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": "pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ"
},
{
"name": "authority",
"signer": true
},
{
"name": "global",
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
1,
86,
224,
246,
147,
102,
90,
207,
68,
219,
21,
104,
191,
23,
91,
170,
81,
137,
203,
151,
245,
210,
255,
59,
101,
93,
43,
182,
253,
109,
24,
176
]
}
}
},
{
"name": "mint",
"relations": [
"sharing_config"
]
},
{
"name": "sharing_config",
"writable": true,
"pda": {
"seeds": [
{
"kind": "const",
"value": [
115,
104,
97,
114,
105,
110,
103,
45,
99,
111,
110,
102,
105,
103
]
},
{
"kind": "account",
"path": "mint"
}
]
}
},
{
"name": "bonding_curve",
"pda": {
"seeds": [
{
"kind": "const",
"value": [
98,
111,
110,
100,
105,
110,
103,
45,
99,
117,
114,
118,
101
]
},
{
"kind": "account",
"path": "mint"
}
],
"program": {
"kind": "const",
"value": [
1,
86,
224,
246,
147,
102,
90,
207,
68,
219,
21,
104,
191,
23,
91,
170,
81,
137,
203,
151,
245,
210,
255,
59,
101,
93,
43,
182,
253,
109,
24,
176
]
}
}
},
{
"name": "pump_creator_vault",
"writable": true,
"pda": {
"seeds": [
{
"kind": "const",
"value": [
99,
114,
101,
97,
116,
111,
114,
45,
118,
97,
117,
108,
116
]
},
{
"kind": "account",
"path": "sharing_config"
}
],
"program": {
"kind": "const",
"value": [
1,
86,
224,
246,
147,
102,
90,
207,
68,
219,
21,
104,
191,
23,
91,
170,
81,
137,
203,
151,
245,
210,
255,
59,
101,
93,
43,
182,
253,
109,
24,
176
]
}
}
},
{
"name": "system_program",
"address": "11111111111111111111111111111111"
},
{
"name": "pump_program",
"address": "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P"
},
{
"name": "pump_event_authority",
"pda": {
"seeds": [
{
"kind": "const",
"value": [
95,
95,
101,
118,
101,
110,
116,
95,
97,
117,
116,
104,
111,
114,
105,
116,
121
]
}
],
"program": {
"kind": "const",
"value": [
1,
86,
224,
246,
147,
102,
90,
207,
68,
219,
21,
104,
191,
23,
91,
170,
81,
137,
203,
151,
245,
210,
255,
59,
101,
93,
43,
182,
253,
109,
24,
176
]
}
}
},
{
"name": "pump_amm_program",
"address": "pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA"
},
{
"name": "amm_event_authority",
"pda": {
"seeds": [
{
"kind": "const",
"value": [
95,
95,
101,
118,
101,
110,
116,
95,
97,
117,
116,
104,
111,
114,
105,
116,
121
]
}
],
"program": {
"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
]
}
}
},
{
"name": "wsol_mint",
"address": "So11111111111111111111111111111111111111112"
},
{
"name": "token_program",
"address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
},
{
"name": "associated_token_program",
"address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
},
{
"name": "coin_creator_vault_authority",
"writable": true,
"pda": {
"seeds": [
{
"kind": "const",
"value": [
99,
114,
101,
97,
116,
111,
114,
95,
118,
97,
117,
108,
116
]
},
{
"kind": "account",
"path": "sharing_config"
}
],
"program": {
"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
]
}
}
},
{
"name": "coin_creator_vault_ata",
"writable": true
}
],
"args": [
{
"name": "shareholders",
"type": {
"vec": {
"defined": {
"name": "Shareholder"
}
}
}
}
]
},
{
"name": "update_fee_shares_v2",
"docs": [
"Update Fee Shares, make sure to distribute all the fees before calling this"
],
"discriminator": [
111,
251,
49,
6,
78,
78,
106,
18
],
"accounts": [
{
"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": "pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ"
},
{
"name": "authority",
"writable": true,
"signer": true
},
{
"name": "global",
"pda": {
"seeds": [
{
"kind": "const",
"value": [
103,
108,
111,
98,
97,
108
]
}
],
"program": {
"kind": "const",
"value": [
1,
86,
224,
246,
147,
102,
90,
207,
68,
219,
21,
104,
191,
23,
91,
170,
81,
137,
203,
151,
245,
210,
255,
59,
101,
93,
43,
182,
253,
109,
24,
176
]
}
}
},
{
"name": "mint",
"relations": [
"sharing_config"
]
},
{
"name": "sharing_config",
"writable": true,
"pda": {
"seeds": [
{
"kind": "const",
"value": [
115,
104,
97,
114,
105,
110,
103,
45,
99,
111,
110,
102,
105,
103
]
},
{
"kind": "account",
"path": "mint"
}
]
}
},
{
"name": "bonding_curve",
"pda": {
"seeds": [
{
"kind": "const",
"value": [
98,
111,
110,
100,
105,
110,
103,
45,
99,
117,
114,
118,
101
]
},
{
"kind": "account",
"path": "mint"
}
],
"program": {
"kind": "const",
"value": [
1,
86,
224,
246,
147,
102,
90,
207,
68,
219,
21,
104,
191,
23,
91,
170,
81,
137,
203,
151,
245,
210,
255,
59,
101,
93,
43,
182,
253,
109,
24,
176
]
}
}
},
{
"name": "pump_creator_vault",
"writable": true,
"pda": {
"seeds": [
{
"kind": "const",
"value": [
99,
114,
101,
97,
116,
111,
114,
45,
118,
97,
117,
108,
116
]
},
{
"kind": "account",
"path": "sharing_config"
}
],
"program": {
"kind": "const",
"value": [
1,
86,
224,
246,
147,
102,
90,
207,
68,
219,
21,
104,
191,
23,
91,
170,
81,
137,
203,
151,
245,
210,
255,
59,
101,
93,
43,
182,
253,
109,
24,
176
]
}
}
},
{
"name": "pump_creator_vault_ata",
"writable": true,
"pda": {
"seeds": [
{
"kind": "account",
"path": "pump_creator_vault"
},
{
"kind": "account",
"path": "token_program"
},
{
"kind": "account",
"path": "quote_mint"
}
],
"program": {
"kind": "account",
"path": "associated_token_program"
}
}
},
{
"name": "system_program",
"address": "11111111111111111111111111111111"
},
{
"name": "pump_program",
"address": "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P"
},
{
"name": "pump_event_authority",
"pda": {
"seeds": [
{
"kind": "const",
"value": [
95,
95,
101,
118,
101,
110,
116,
95,
97,
117,
116,
104,
111,
114,
105,
116,
121
]
}
],
"program": {
"kind": "const",
"value": [
1,
86,
224,
246,
147,
102,
90,
207,
68,
219,
21,
104,
191,
23,
91,
170,
81,
137,
203,
151,
245,
210,
255,
59,
101,
93,
43,
182,
253,
109,
24,
176
]
}
}
},
{
"name": "pump_amm_program",
"address": "pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA"
},
{
"name": "amm_event_authority",
"pda": {
"seeds": [
{
"kind": "const",
"value": [
95,
95,
101,
118,
101,
110,
116,
95,
97,
117,
116,
104,
111,
114,
105,
116,
121
]
}
],
"program": {
"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
]
}
}
},
{
"name": "quote_mint"
},
{
"name": "token_program"
},
{
"name": "associated_token_program",
"address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
},
{
"name": "coin_creator_vault_authority",
"writable": true,
"pda": {
"seeds": [
{
"kind": "const",
"value": [
99,
114,
101,
97,
116,
111,
114,
95,
118,
97,
117,
108,
116
]
},
{
"kind": "account",
"path": "sharing_config"
}
],
"program": {
"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
]
}
}
},
{
"name": "coin_creator_vault_ata",
"writable": true,
"pda": {
"seeds": [
{
"kind": "account",
"path": "coin_creator_vault_authority"
},
{
"kind": "account",
"path": "token_program"
},
{
"kind": "account",
"path": "quote_mint"
}
],
"program": {
"kind": "account",
"path": "associated_token_program"
}
}
}
],
"args": [
{
"name": "shareholders",
"type": {
"vec": {
"defined": {
"name": "Shareholder"
}
}
}
}
]
},
{
"name": "update_stable_fee_config",
"docs": [
"Set/Replace fee parameters entirely (only callable by admin)"
],
"discriminator": [
107,
169,
100,
179,
134,
155,
146,
221
],
"accounts": [
{
"name": "fee_config",
"writable": true,
"pda": {
"seeds": [
{
"kind": "const",
"value": [
102,
101,
101,
95,
99,
111,
110,
102,
105,
103
]
},
{
"kind": "account",
"path": "config_program_id"
}
]
}
},
{
"name": "admin",
"signer": true,
"relations": [
"fee_config"
]
},
{
"name": "config_program_id"
},
{
"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": "fee_tiers",
"type": {
"vec": {
"defined": {
"name": "FeeTier"
}
}
}
}
]
},
{
"name": "upsert_fee_tiers",
"docs": [
"Update or expand fee tiers (only callable by admin)"
],
"discriminator": [
227,
23,
150,
12,
77,
86,
94,
4
],
"accounts": [
{
"name": "fee_config",
"writable": true,
"pda": {
"seeds": [
{
"kind": "const",
"value": [
102,
101,
101,
95,
99,
111,
110,
102,
105,
103
]
},
{
"kind": "account",
"path": "config_program_id"
}
]
}
},
{
"name": "admin",
"signer": true,
"relations": [
"fee_config"
]
},
{
"name": "config_program_id"
},
{
"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": "fee_tiers",
"type": {
"vec": {
"defined": {
"name": "FeeTier"
}
}
}
},
{
"name": "offset",
"type": "u8"
}
]
},
{
"name": "upsert_stable_fee_tiers",
"docs": [
"Update or expand fee tiers (only callable by admin)"
],
"discriminator": [
181,
160,
162,
252,
74,
76,
224,
221
],
"accounts": [
{
"name": "fee_config",
"writable": true,
"pda": {
"seeds": [
{
"kind": "const",
"value": [
102,
101,
101,
95,
99,
111,
110,
102,
105,
103
]
},
{
"kind": "account",
"path": "config_program_id"
}
]
}
},
{
"name": "admin",
"signer": true,
"relations": [
"fee_config"
]
},
{
"name": "config_program_id"
},
{
"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": "fee_tiers",
"type": {
"vec": {
"defined": {
"name": "FeeTier"
}
}
}
},
{
"name": "offset",
"type": "u8"
}
]
}
],
"accounts": [
{
"name": "BondingCurve",
"discriminator": [
23,
183,
248,
55,
96,
216,
172,
96
]
},
{
"name": "BuybackVault",
"discriminator": [
153,
166,
71,
144,
179,
189,
137,
251
]
},
{
"name": "DonationFeePda",
"discriminator": [
246,
197,
96,
9,
193,
30,
93,
115
]
},
{
"name": "FeeConfig",
"discriminator": [
143,
52,
146,
187,
219,
123,
76,
155
]
},
{
"name": "FeeProgramGlobal",
"discriminator": [
162,
165,
245,
49,
29,
37,
55,
242
]
},
{
"name": "Global",
"discriminator": [
167,
232,
232,
177,
200,
108,
114,
127
]
},
{
"name": "Pool",
"discriminator": [
241,
154,
109,
4,
17,
177,
109,
188
]
},
{
"name": "SharingConfig",
"discriminator": [
216,
74,
9,
0,
56,
140,
93,
75
]
},
{
"name": "SocialFeePda",
"discriminator": [
139,
96,
53,
17,
42,
169,
206,
150
]
}
],
"events": [
{
"name": "CreateFeeSharingConfigEvent",
"discriminator": [
133,
105,
170,
200,
184,
116,
251,
88
]
},
{
"name": "DonationFeePdaCranked",
"discriminator": [
30,
208,
107,
93,
177,
0,
223,
78
]
},
{
"name": "DonationFeePdaCreated",
"discriminator": [
94,
20,
137,
239,
35,
77,
225,
235
]
},
{
"name": "ExtendFeeConfigEvent",
"discriminator": [
226,
203,
224,
35,
153,
10,
88,
51
]
},
{
"name": "InitializeFeeConfigEvent",
"discriminator": [
89,
138,
244,
230,
10,
56,
226,
126
]
},
{
"name": "InitializeFeeProgramGlobalEvent",
"discriminator": [
40,
233,
156,
78,
95,
0,
8,
199
]
},
{
"name": "ResetFeeSharingConfigEvent",
"discriminator": [
203,
204,
151,
226,
120,
55,
214,
243
]
},
{
"name": "SetAuthorityEvent",
"discriminator": [
18,
175,
132,
66,
208,
201,
87,
242
]
},
{
"name": "SetClaimRateLimitEvent",
"discriminator": [
13,
143,
143,
235,
181,
19,
51,
40
]
},
{
"name": "SetDisableFlagsEvent",
"discriminator": [
5,
8,
179,
65,
49,
55,
145,
126
]
},
{
"name": "SetExoticFlatFeesEvent",
"discriminator": [
195,
138,
108,
15,
8,
77,
68,
9
]
},
{
"name": "SetSocialClaimAuthorityEvent",
"discriminator": [
60,
118,
127,
132,
239,
52,
254,
14
]
},
{
"name": "SocialFeePdaClaimed",
"discriminator": [
50,
18,
193,
65,
237,
210,
234,
236
]
},
{
"name": "SocialFeePdaCreated",
"discriminator": [
183,
183,
218,
147,
24,
124,
137,
169
]
},
{
"name": "SweepBuybackEvent",
"discriminator": [
43,
56,
42,
214,
153,
57,
166,
137
]
},
{
"name": "UpdateAdminEvent",
"discriminator": [
225,
152,
171,
87,
246,
63,
66,
234
]
},
{
"name": "UpdateFeeConfigEvent",
"discriminator": [
90,
23,
65,
35,
62,
244,
188,
208
]
},
{
"name": "UpdateFeeSharesEvent",
"discriminator": [
21,
186,
196,
184,
91,
228,
225,
203
]
},
{
"name": "UpdateStableFeeConfigEvent",
"discriminator": [
94,
5,
43,
237,
103,
147,
232,
245
]
},
{
"name": "UpsertFeeTiersEvent",
"discriminator": [
171,
89,
169,
187,
122,
186,
33,
204
]
},
{
"name": "UpsertStableFeeTiersEvent",
"discriminator": [
232,
237,
237,
52,
98,
146,
73,
243
]
}
],
"errors": [
{
"code": 6000,
"name": "UnauthorizedProgram",
"msg": "Only Pump and PumpSwap programs can call this instruction"
},
{
"code": 6001,
"name": "InvalidAdmin",
"msg": "Invalid admin"
},
{
"code": 6002,
"name": "NoFeeTiers",
"msg": "No fee tiers provided"
},
{
"code": 6003,
"name": "TooManyFeeTiers",
"msg": "format"
},
{
"code": 6004,
"name": "OffsetNotContinuous",
"msg": "The offset should be <= fee_config.fee_tiers.len()"
},
{
"code": 6005,
"name": "FeeTiersNotSorted",
"msg": "Fee tiers must be sorted by market cap threshold (ascending)"
},
{
"code": 6006,
"name": "InvalidFeeTotal",
"msg": "Fee total must not exceed 10_000bps"
},
{
"code": 6007,
"name": "InvalidSharingConfig",
"msg": "Invalid Sharing Config"
},
{
"code": 6008,
"name": "InvalidPool",
"msg": "Invalid Pool"
},
{
"code": 6009,
"name": "SharingConfigAdminRevoked",
"msg": "Sharing config authority has been revoked - sharing config can only be updated once"
},
{
"code": 6010,
"name": "NoShareholders",
"msg": "No shareholders provided"
},
{
"code": 6011,
"name": "TooManyShareholders",
"msg": "format"
},
{
"code": 6012,
"name": "DuplicateShareholder",
"msg": "Duplicate shareholder address"
},
{
"code": 6013,
"name": "NotEnoughRemainingAccounts",
"msg": "Not enough remaining accounts"
},
{
"code": 6014,
"name": "InvalidShareTotal",
"msg": "Invalid share total - must equal 10_000 basis points"
},
{
"code": 6015,
"name": "ShareCalculationOverflow",
"msg": "Share calculation overflow"
},
{
"code": 6016,
"name": "NotAuthorized",
"msg": "The given account is not authorized to execute this instruction."
},
{
"code": 6017,
"name": "ZeroShareNotAllowed",
"msg": "Shareholder cannot have zero share"
},
{
"code": 6018,
"name": "SharingConfigNotActive",
"msg": "Fee sharing config is not active"
},
{
"code": 6019,
"name": "AmmAccountsRequiredForGraduatedCoin",
"msg": "AMM accounts are required for graduated coins"
},
{
"code": 6020,
"name": "ShareholderAccountMismatch",
"msg": "Remaining account key doesn't match shareholder address"
},
{
"code": 6021,
"name": "FeatureDeactivated",
"msg": "Feature is currently deactivated"
},
{
"code": 6022,
"name": "UserIdTooLong",
"msg": "User ID exceeds maximum length"
},
{
"code": 6023,
"name": "DeprecatedInstruction",
"msg": "Instruction is deprecated"
},
{
"code": 6024,
"name": "FeeSharesAlreadyUpdated",
"msg": "Reward split can only be updated once"
},
{
"code": 6025,
"name": "MathOverflow",
"msg": "Math overflow"
},
{
"code": 6026,
"name": "InvalidBuybackIndex",
"msg": "Invalid buybackindex"
},
{
"code": 6027,
"name": "ClaimRateLimitExceeded",
"msg": "Claim rate limit exceeded"
},
{
"code": 6028,
"name": "InvalidFeeConfigAccount",
"msg": "Account is not a valid FeeConfig for this instruction"
},
{
"code": 6029,
"name": "AccountTypeNotSupported",
"msg": "Account type not supported"
},
{
"code": 6030,
"name": "InvalidMint",
"msg": "Mint does not match quote mint"
},
{
"code": 6031,
"name": "UnsupportedQuoteMint",
"msg": "Unsupported quote mint"
},
{
"code": 6032,
"name": "InvalidRemainingAccounts",
"msg": "Invalid remaining accounts"
}
],
"types": [
{
"name": "BondingCurve",
"type": {
"kind": "struct",
"fields": [
{
"name": "virtual_token_reserves",
"type": "u64"
},
{
"name": "virtual_quote_reserves",
"type": "u64"
},
{
"name": "real_token_reserves",
"type": "u64"
},
{
"name": "real_quote_reserves",
"type": "u64"
},
{
"name": "token_total_supply",
"type": "u64"
},
{
"name": "complete",
"type": "bool"
},
{
"name": "creator",
"type": "pubkey"
},
{
"name": "is_mayhem_mode",
"type": "bool"
}
]
}
},
{
"name": "BuybackVault",
"type": {
"kind": "struct",
"fields": [
{
"name": "authority",
"type": "pubkey"
},
{
"name": "total_claimed",
"type": "u64"
},
{
"name": "total_claimed_token1",
"type": "u64"
},
{
"name": "total_claimed_token2",
"type": "u64"
},
{
"name": "last_claimed",
"type": "i64"
},
{
"name": "claim_rate_limit",
"type": "i64"
},
{
"name": "_reserved",
"type": {
"array": [
"u8",
128
]
}
}
]
}
},
{
"name": "ConfigStatus",
"type": {
"kind": "enum",
"variants": [
{
"name": "Paused"
},
{
"name": "Active"
}
]
}
},
{
"name": "CreateFeeSharingConfigEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "timestamp",
"type": "i64"
},
{
"name": "mint",
"type": "pubkey"
},
{
"name": "bonding_curve",
"type": "pubkey"
},
{
"name": "pool",
"type": {
"option": "pubkey"
}
},
{
"name": "sharing_config",
"type": "pubkey"
},
{
"name": "admin",
"type": "pubkey"
},
{
"name": "initial_shareholders",
"type": {
"vec": {
"defined": {
"name": "Shareholder"
}
}
}
},
{
"name": "status",
"type": {
"defined": {
"name": "ConfigStatus"
}
}
}
]
}
},
{
"name": "DonationFeePda",
"docs": [
"Escrow PDA for donation relay: one per (mint, donation campaign `config_id`)."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "bump",
"type": "u8"
},
{
"name": "version",
"type": "u8"
},
{
"name": "config_id",
"type": "pubkey"
},
{
"name": "base_mint",
"type": "pubkey"
},
{
"name": "quote_mint",
"type": "pubkey"
},
{
"name": "creator",
"type": "pubkey"
},
{
"name": "total_donated",
"type": "u64"
},
{
"name": "last_crank_ts",
"type": "i64"
},
{
"name": "_reserved",
"type": {
"array": [
"u8",
64
]
}
}
]
}
},
{
"name": "DonationFeePdaCranked",
"type": {
"kind": "struct",
"fields": [
{
"name": "timestamp",
"type": "i64"
},
{
"name": "signer",
"type": "pubkey"
},
{
"name": "donation_fee_pda",
"type": "pubkey"
},
{
"name": "config_id",
"type": "pubkey"
},
{
"name": "base_mint",
"type": "pubkey"
},
{
"name": "quote_mint",
"type": "pubkey"
},
{
"name": "creator",
"type": "pubkey"
},
{
"name": "amount",
"type": "u64"
}
]
}
},
{
"name": "DonationFeePdaCreated",
"type": {
"kind": "struct",
"fields": [
{
"name": "timestamp",
"type": "i64"
},
{
"name": "created_by",
"type": "pubkey"
},
{
"name": "donation_fee_pda",
"type": "pubkey"
},
{
"name": "config_id",
"type": "pubkey"
},
{
"name": "base_mint",
"type": "pubkey"
},
{
"name": "quote_mint",
"type": "pubkey"
},
{
"name": "creator",
"type": "pubkey"
}
]
}
},
{
"name": "ExtendFeeConfigEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "fee_config",
"type": "pubkey"
},
{
"name": "user",
"type": "pubkey"
},
{
"name": "current_size",
"type": "u64"
},
{
"name": "new_size",
"type": "u64"
},
{
"name": "timestamp",
"type": "i64"
}
]
}
},
{
"name": "FeeConfig",
"type": {
"kind": "struct",
"fields": [
{
"name": "bump",
"docs": [
"The bump for the PDA"
],
"type": "u8"
},
{
"name": "admin",
"docs": [
"The admin account that can update the fee config"
],
"type": "pubkey"
},
{
"name": "flat_fees",
"docs": [
"The flat fees for non-pump pools"
],
"type": {
"defined": {
"name": "Fees"
}
}
},
{
"name": "fee_tiers",
"docs": [
"The fee tiers"
],
"type": {
"vec": {
"defined": {
"name": "FeeTier"
}
}
}
},
{
"name": "stable_fee_tiers",
"docs": [
"The fee tiers"
],
"type": {
"vec": {
"defined": {
"name": "FeeTier"
}
}
}
},
{
"name": "exotic_flat_fees",
"type": {
"defined": {
"name": "Fees"
}
}
}
]
}
},
{
"name": "FeeProgramGlobal",
"type": {
"kind": "struct",
"fields": [
{
"name": "bump",
"type": "u8"
},
{
"name": "authority",
"type": "pubkey"
},
{
"name": "disable_flags",
"type": "u8"
},
{
"name": "social_claim_authority",
"type": "pubkey"
},
{
"name": "claim_rate_limit",
"type": "u64"
},
{
"name": "_reserved",
"type": {
"array": [
"u8",
256
]
}
}
]
}
},
{
"name": "FeeTier",
"type": {
"kind": "struct",
"fields": [
{
"name": "market_cap_lamports_threshold",
"type": "u128"
},
{
"name": "fees",
"type": {
"defined": {
"name": "Fees"
}
}
}
]
}
},
{
"name": "Fees",
"type": {
"kind": "struct",
"fields": [
{
"name": "lp_fee_bps",
"type": "u64"
},
{
"name": "protocol_fee_bps",
"type": "u64"
},
{
"name": "creator_fee_bps",
"type": "u64"
}
]
}
},
{
"name": "Global",
"type": {
"kind": "struct",
"fields": [
{
"name": "initialized",
"type": "bool"
},
{
"name": "authority",
"type": "pubkey"
},
{
"name": "fee_recipient",
"type": "pubkey"
},
{
"name": "initial_virtual_token_reserves",
"type": "u64"
},
{
"name": "initial_virtual_sol_reserves",
"type": "u64"
},
{
"name": "initial_real_token_reserves",
"type": "u64"
},
{
"name": "token_total_supply",
"type": "u64"
},
{
"name": "fee_basis_points",
"type": "u64"
},
{
"name": "withdraw_authority",
"type": "pubkey"
},
{
"name": "enable_migrate",
"type": "bool"
},
{
"name": "pool_migration_fee",
"type": "u64"
},
{
"name": "creator_fee_basis_points",
"type": "u64"
},
{
"name": "fee_recipients",
"type": {
"array": [
"pubkey",
7
]
}
},
{
"name": "set_creator_authority",
"type": "pubkey"
},
{
"name": "admin_set_creator_authority",
"type": "pubkey"
},
{
"name": "create_v2_enabled",
"type": "bool"
},
{
"name": "whitelist_pda",
"type": "pubkey"
},
{
"name": "reserved_fee_recipient",
"type": "pubkey"
},
{
"name": "mayhem_mode_enabled",
"type": "bool"
},
{
"name": "reserved_fee_recipients",
"type": {
"array": [
"pubkey",
7
]
}
}
]
}
},
{
"name": "InitializeFeeConfigEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "timestamp",
"type": "i64"
},
{
"name": "admin",
"type": "pubkey"
},
{
"name": "fee_config",
"type": "pubkey"
}
]
}
},
{
"name": "InitializeFeeProgramGlobalEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "timestamp",
"type": "i64"
},
{
"name": "authority",
"type": "pubkey"
},
{
"name": "social_claim_authority",
"type": "pubkey"
},
{
"name": "disable_flags",
"type": "u8"
},
{
"name": "claim_rate_limit",
"type": "u64"
}
]
}
},
{
"name": "OptionBool",
"type": {
"kind": "struct",
"fields": [
"bool"
]
}
},
{
"name": "Pool",
"type": {
"kind": "struct",
"fields": [
{
"name": "pool_bump",
"type": "u8"
},
{
"name": "index",
"type": "u16"
},
{
"name": "creator",
"type": "pubkey"
},
{
"name": "base_mint",
"type": "pubkey"
},
{
"name": "quote_mint",
"type": "pubkey"
},
{
"name": "lp_mint",
"type": "pubkey"
},
{
"name": "pool_base_token_account",
"type": "pubkey"
},
{
"name": "pool_quote_token_account",
"type": "pubkey"
},
{
"name": "lp_supply",
"type": "u64"
},
{
"name": "coin_creator",
"type": "pubkey"
},
{
"name": "is_mayhem_mode",
"type": "bool"
},
{
"name": "is_cashback_coin",
"type": "bool"
},
{
"name": "virtual_quote_reserves",
"type": "i128"
}
]
}
},
{
"name": "ResetFeeSharingConfigEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "timestamp",
"type": "i64"
},
{
"name": "mint",
"type": "pubkey"
},
{
"name": "sharing_config",
"type": "pubkey"
},
{
"name": "old_admin",
"type": "pubkey"
},
{
"name": "old_shareholders",
"type": {
"vec": {
"defined": {
"name": "Shareholder"
}
}
}
},
{
"name": "new_admin",
"type": "pubkey"
},
{
"name": "new_shareholders",
"type": {
"vec": {
"defined": {
"name": "Shareholder"
}
}
}
},
{
"name": "old_version",
"type": "u8"
},
{
"name": "new_version",
"type": "u8"
}
]
}
},
{
"name": "SetAuthorityEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "timestamp",
"type": "i64"
},
{
"name": "old_authority",
"type": "pubkey"
},
{
"name": "new_authority",
"type": "pubkey"
}
]
}
},
{
"name": "SetClaimRateLimitEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "timestamp",
"type": "i64"
},
{
"name": "claim_rate_limit",
"type": "u64"
}
]
}
},
{
"name": "SetDisableFlagsEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "timestamp",
"type": "i64"
},
{
"name": "disable_flags",
"type": "u8"
}
]
}
},
{
"name": "SetExoticFlatFeesEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "timestamp",
"type": "i64"
},
{
"name": "admin",
"type": "pubkey"
},
{
"name": "fee_config",
"type": "pubkey"
},
{
"name": "exotic_flat_fees",
"type": {
"defined": {
"name": "Fees"
}
}
}
]
}
},
{
"name": "SetSocialClaimAuthorityEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "timestamp",
"type": "i64"
},
{
"name": "social_claim_authority",
"type": "pubkey"
}
]
}
},
{
"name": "Shareholder",
"type": {
"kind": "struct",
"fields": [
{
"name": "address",
"type": "pubkey"
},
{
"name": "share_bps",
"type": "u16"
}
]
}
},
{
"name": "SharingConfig",
"type": {
"kind": "struct",
"fields": [
{
"name": "bump",
"type": "u8"
},
{
"name": "version",
"type": "u8"
},
{
"name": "status",
"type": {
"defined": {
"name": "ConfigStatus"
}
}
},
{
"name": "mint",
"type": "pubkey"
},
{
"name": "admin",
"type": "pubkey"
},
{
"name": "admin_revoked",
"type": "bool"
},
{
"name": "shareholders",
"type": {
"vec": {
"defined": {
"name": "Shareholder"
}
}
}
}
]
}
},
{
"name": "SocialFeePda",
"docs": [
"Platform identifier: 0=pump, 1=twitter, etc."
],
"type": {
"kind": "struct",
"fields": [
{
"name": "bump",
"type": "u8"
},
{
"name": "version",
"type": "u8"
},
{
"name": "user_id",
"docs": [
"Max 20 characters to fit u64::MAX (18,446,744,073,709,551,615) as a string.",
"Actual storage: 4 bytes (length prefix) + 20 bytes (content) = 24 bytes."
],
"type": "string"
},
{
"name": "platform",
"type": "u8"
},
{
"name": "total_claimed",
"type": "u64"
},
{
"name": "last_claimed",
"type": "u64"
},
{
"name": "total_stable_claimed",
"type": "u64"
},
{
"name": "_reserved",
"type": {
"array": [
"u8",
120
]
}
}
]
}
},
{
"name": "SocialFeePdaClaimed",
"type": {
"kind": "struct",
"fields": [
{
"name": "timestamp",
"type": "i64"
},
{
"name": "user_id",
"type": "string"
},
{
"name": "platform",
"type": "u8"
},
{
"name": "social_fee_pda",
"type": "pubkey"
},
{
"name": "recipient",
"type": "pubkey"
},
{
"name": "social_claim_authority",
"type": "pubkey"
},
{
"name": "amount_claimed",
"type": "u64"
},
{
"name": "claimable_before",
"type": "u64"
},
{
"name": "lifetime_claimed",
"type": "u64"
},
{
"name": "recipient_balance_before",
"type": "u64"
},
{
"name": "recipient_balance_after",
"type": "u64"
},
{
"name": "quote_mint",
"type": "pubkey"
},
{
"name": "lifetime_stable_claimed",
"type": "u64"
}
]
}
},
{
"name": "SocialFeePdaCreated",
"type": {
"kind": "struct",
"fields": [
{
"name": "timestamp",
"type": "i64"
},
{
"name": "user_id",
"type": "string"
},
{
"name": "platform",
"type": "u8"
},
{
"name": "social_fee_pda",
"type": "pubkey"
},
{
"name": "created_by",
"type": "pubkey"
}
]
}
},
{
"name": "SweepBuybackEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "index",
"type": "u8"
},
{
"name": "sol_amount",
"type": "u64"
},
{
"name": "token_amount",
"type": "u64"
},
{
"name": "destination",
"type": "pubkey"
},
{
"name": "buyback_vault",
"type": "pubkey"
},
{
"name": "mint",
"type": "pubkey"
}
]
}
},
{
"name": "UpdateAdminEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "timestamp",
"type": "i64"
},
{
"name": "old_admin",
"type": "pubkey"
},
{
"name": "new_admin",
"type": "pubkey"
}
]
}
},
{
"name": "UpdateFeeConfigEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "timestamp",
"type": "i64"
},
{
"name": "admin",
"type": "pubkey"
},
{
"name": "fee_config",
"type": "pubkey"
},
{
"name": "fee_tiers",
"type": {
"vec": {
"defined": {
"name": "FeeTier"
}
}
}
},
{
"name": "flat_fees",
"type": {
"defined": {
"name": "Fees"
}
}
}
]
}
},
{
"name": "UpdateFeeSharesEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "timestamp",
"type": "i64"
},
{
"name": "mint",
"type": "pubkey"
},
{
"name": "sharing_config",
"type": "pubkey"
},
{
"name": "admin",
"type": "pubkey"
},
{
"name": "new_shareholders",
"type": {
"vec": {
"defined": {
"name": "Shareholder"
}
}
}
},
{
"name": "version",
"type": "u8"
}
]
}
},
{
"name": "UpdateStableFeeConfigEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "timestamp",
"type": "i64"
},
{
"name": "admin",
"type": "pubkey"
},
{
"name": "fee_config",
"type": "pubkey"
},
{
"name": "stable_fee_tiers",
"type": {
"vec": {
"defined": {
"name": "FeeTier"
}
}
}
},
{
"name": "flat_fees",
"type": {
"defined": {
"name": "Fees"
}
}
}
]
}
},
{
"name": "UpsertFeeTiersEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "timestamp",
"type": "i64"
},
{
"name": "admin",
"type": "pubkey"
},
{
"name": "fee_config",
"type": "pubkey"
},
{
"name": "fee_tiers",
"type": {
"vec": {
"defined": {
"name": "FeeTier"
}
}
}
},
{
"name": "offset",
"type": "u8"
}
]
}
},
{
"name": "UpsertStableFeeTiersEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "timestamp",
"type": "i64"
},
{
"name": "admin",
"type": "pubkey"
},
{
"name": "fee_config",
"type": "pubkey"
},
{
"name": "stable_fee_tiers",
"type": {
"vec": {
"defined": {
"name": "FeeTier"
}
}
}
},
{
"name": "offset",
"type": "u8"
}
]
}
}
],
"constants": [
{
"name": "AMM_CREATOR_VAULT_AUTHORITY_SEED",
"type": {
"array": [
"u8",
13
]
},
"value": "[99, 114, 101, 97, 116, 111, 114, 95, 118, 97, 117, 108, 116]"
},
{
"name": "BUYBACK_VAULT_SEED",
"type": {
"array": [
"u8",
13
]
},
"value": "[98, 117, 121, 98, 97, 99, 107, 45, 118, 97, 117, 108, 116]"
},
{
"name": "DEBOUNCER_V1",
"type": "bytes",
"value": "[100, 101, 98, 111, 117, 110, 99, 101, 114, 95, 118, 49]"
},
{
"name": "DONATION_FEE_PDA_SEED",
"type": {
"array": [
"u8",
16
]
},
"value": "[100, 111, 110, 97, 116, 105, 111, 110, 45, 102, 101, 101, 45, 112, 100, 97]"
},
{
"name": "EPOCH_TRACKER_V1",
"type": "bytes",
"value": "[101, 112, 111, 99, 104, 95, 116, 114, 97, 99, 107, 101, 114, 95, 118, 49]"
},
{
"name": "FEE_CONFIG_SEED",
"type": "bytes",
"value": "[102, 101, 101, 95, 99, 111, 110, 102, 105, 103]"
},
{
"name": "FEE_PROGRAM_GLOBAL_SEED",
"type": {
"array": [
"u8",
18
]
},
"value": "[102, 101, 101, 45, 112, 114, 111, 103, 114, 97, 109, 45, 103, 108, 111, 98, 97, 108]"
},
{
"name": "IX_DONATE_PUBKEY_CONFIG_ID_WITH_PAYER_V1",
"type": {
"array": [
"u8",
8
]
},
"value": "[120, 217, 57, 241, 135, 104, 139, 184]"
},
{
"name": "MAX_BUYBACK_INDEX",
"type": "u8",
"value": "8"
},
{
"name": "MINT_WHITELIST_V1",
"type": "bytes",
"value": "[109, 105, 110, 116, 95, 119, 104, 105, 116, 101, 108, 105, 115, 116, 95, 118, 49]"
},
{
"name": "PUMP_CREATOR_VAULT_SEED",
"type": {
"array": [
"u8",
13
]
},
"value": "[99, 114, 101, 97, 116, 111, 114, 45, 118, 97, 117, 108, 116]"
},
{
"name": "PUMP_GLOBAL_SEED",
"docs": [
"Bonding Curve Program Global Seed"
],
"type": {
"array": [
"u8",
6
]
},
"value": "[103, 108, 111, 98, 97, 108]"
},
{
"name": "SHARING_CONFIG_SEED",
"type": {
"array": [
"u8",
14
]
},
"value": "[115, 104, 97, 114, 105, 110, 103, 45, 99, 111, 110, 102, 105, 103]"
},
{
"name": "SOCIAL_FEE_PDA_SEED",
"type": {
"array": [
"u8",
14
]
},
"value": "[115, 111, 99, 105, 97, 108, 45, 102, 101, 101, 45, 112, 100, 97]"
}
]
}