import { PublicKey, PublicKeyInitData, AccountInfo, TransactionInstruction, Connection } from '@solana/web3.js'; import BN from 'bn.js'; import { Buffer as Buffer$1 } from 'buffer'; import { Program } from '@coral-xyz/anchor'; /** * Program IDL in camelCase format in order to be used in JS/TS. * * Note that this is only a type helper and is not the actual IDL. The original * IDL can be found at `target/idl/pump.json`. */ type Pump = { "address": "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P"; "metadata": { "name": "pump"; "version": "0.1.0"; "spec": "0.1.0"; "description": "Created with Anchor"; }; "instructions": [ { "name": "addQuoteControlMint"; "discriminator": [ 2, 14, 61, 138, 170, 142, 14, 95 ]; "accounts": [ { "name": "authority"; "writable": true; "signer": true; }, { "name": "global"; "pda": { "seeds": [ { "kind": "const"; "value": [ 103, 108, 111, 98, 97, 108 ]; } ]; }; }, { "name": "quoteControl"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 113, 117, 111, 116, 101, 45, 99, 111, 110, 116, 114, 111, 108 ]; } ]; }; }, { "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": "quoteMint"; "type": "pubkey"; }, { "name": "initialVirtualQuoteReserves"; "type": "u64"; } ]; }, { "name": "addQuoteMint"; "discriminator": [ 111, 121, 21, 56, 40, 24, 94, 209 ]; "accounts": [ { "name": "global"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 103, 108, 111, 98, 97, 108 ]; } ]; }; }, { "name": "authority"; "writable": true; "signer": true; "relations": [ "global" ]; }, { "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": "quoteMint"; "type": "pubkey"; } ]; }, { "name": "adminCto"; "discriminator": [ 125, 126, 214, 134, 77, 229, 188, 89 ]; "accounts": [ { "name": "adminSetCreatorAuthority"; "writable": true; "signer": true; "relations": [ "global" ]; }, { "name": "global"; "pda": { "seeds": [ { "kind": "const"; "value": [ 103, 108, 111, 98, 97, 108 ]; } ]; }; }, { "name": "mint"; }, { "name": "quoteMint"; }, { "name": "quoteTokenProgram"; }, { "name": "associatedTokenProgram"; "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"; }, { "name": "systemProgram"; "address": "11111111111111111111111111111111"; }, { "name": "bondingCurve"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 98, 111, 110, 100, 105, 110, 103, 45, 99, 117, 114, 118, 101 ]; }, { "kind": "account"; "path": "mint"; } ]; }; }, { "name": "currentCreator"; "docs": [ "Not declared writable: a pre-creator (legacy) curve stores the zero key, which is the", "system program, whose write lock the runtime always demotes. Callers MUST still pass this", "account as writable whenever it is a wallet, so the outgoing creator can be paid from its", "vaults; otherwise the instruction fails with `CtoCreatorAccountNotWritable`. A creator that", "is not a system-owned wallet (a program, a sysvar, a pump-fees or other program-owned", "account) is skipped, its vault balances stay collectable, and it may be passed read-only." ]; }, { "name": "currentCreatorQuoteTokenAccount"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "currentCreator"; }, { "kind": "account"; "path": "quoteTokenProgram"; }, { "kind": "account"; "path": "quoteMint"; } ]; "program": { "kind": "account"; "path": "associatedTokenProgram"; }; }; }, { "name": "creatorVault"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 99, 114, 101, 97, 116, 111, 114, 45, 118, 97, 117, 108, 116 ]; }, { "kind": "account"; "path": "currentCreator"; } ]; }; }, { "name": "creatorVaultQuoteTokenAccount"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "creatorVault"; }, { "kind": "account"; "path": "quoteTokenProgram"; }, { "kind": "account"; "path": "quoteMint"; } ]; "program": { "kind": "account"; "path": "associatedTokenProgram"; }; }; }, { "name": "holderCreatorVault"; "docs": [ "`[\"creator-vault\", find_program_address([\"holder-rewards\", mint], pump)]`. The sweep", "destination on the holder path of a fee-shared coin, ignored otherwise. Re-derived in the", "handler before it is written to; kept out of the seeds constraints to stay under the sBPF", "stack frame." ]; "writable": true; }, { "name": "holderCreatorVaultQuoteTokenAccount"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "holderCreatorVault"; }, { "kind": "account"; "path": "quoteTokenProgram"; }, { "kind": "account"; "path": "quoteMint"; } ]; "program": { "kind": "account"; "path": "associatedTokenProgram"; }; }; }, { "name": "pumpAmm"; "address": "pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA"; }, { "name": "ammGlobalConfig"; "pda": { "seeds": [ { "kind": "const"; "value": [ 103, 108, 111, 98, 97, 108, 95, 99, 111, 110, 102, 105, 103 ]; } ]; "program": { "kind": "account"; "path": "pumpAmm"; }; }; }, { "name": "poolAuthority"; "pda": { "seeds": [ { "kind": "const"; "value": [ 112, 111, 111, 108, 45, 97, 117, 116, 104, 111, 114, 105, 116, 121 ]; }, { "kind": "account"; "path": "mint"; } ]; }; }, { "name": "pool"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 112, 111, 111, 108 ]; }, { "kind": "const"; "value": [ 0, 0 ]; }, { "kind": "account"; "path": "poolAuthority"; }, { "kind": "account"; "path": "mint"; }, { "kind": "account"; "path": "quoteMint"; } ]; "program": { "kind": "account"; "path": "pumpAmm"; }; }; }, { "name": "pumpAmmEventAuthority"; "pda": { "seeds": [ { "kind": "const"; "value": [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ]; } ]; "program": { "kind": "account"; "path": "pumpAmm"; }; }; }, { "name": "coinCreatorVaultAuthority"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 99, 114, 101, 97, 116, 111, 114, 95, 118, 97, 117, 108, 116 ]; }, { "kind": "account"; "path": "currentCreator"; } ]; "program": { "kind": "account"; "path": "pumpAmm"; }; }; }, { "name": "coinCreatorVaultAta"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "coinCreatorVaultAuthority"; }, { "kind": "account"; "path": "quoteTokenProgram"; }, { "kind": "account"; "path": "quoteMint"; } ]; "program": { "kind": "account"; "path": "associatedTokenProgram"; }; }; }, { "name": "sharingConfig"; "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"; } ]; "program": { "kind": "account"; "path": "pumpFees"; }; }; }, { "name": "pumpFees"; "address": "pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ"; }, { "name": "pumpFeesEventAuthority"; "pda": { "seeds": [ { "kind": "const"; "value": [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ]; } ]; "program": { "kind": "account"; "path": "pumpFees"; }; }; }, { "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": "isHolderReward"; "type": { "option": "bool"; }; }, { "name": "creatorFeeBps"; "type": { "option": "u64"; }; }, { "name": "newCreator"; "type": { "option": "pubkey"; }; } ]; }, { "name": "adminSetIdlAuthority"; "discriminator": [ 8, 217, 96, 231, 144, 104, 192, 5 ]; "accounts": [ { "name": "authority"; "signer": true; "relations": [ "global" ]; }, { "name": "global"; "pda": { "seeds": [ { "kind": "const"; "value": [ 103, 108, 111, 98, 97, 108 ]; } ]; }; }, { "name": "idlAccount"; "writable": true; }, { "name": "systemProgram"; "address": "11111111111111111111111111111111"; }, { "name": "programSigner"; "pda": { "seeds": []; }; }, { "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": "idlAuthority"; "type": "pubkey"; } ]; }, { "name": "adminUpdateTokenIncentives"; "discriminator": [ 209, 11, 115, 87, 213, 23, 124, 204 ]; "accounts": [ { "name": "authority"; "writable": true; "signer": true; "relations": [ "global" ]; }, { "name": "global"; "pda": { "seeds": [ { "kind": "const"; "value": [ 103, 108, 111, 98, 97, 108 ]; } ]; }; }, { "name": "globalVolumeAccumulator"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 103, 108, 111, 98, 97, 108, 95, 118, 111, 108, 117, 109, 101, 95, 97, 99, 99, 117, 109, 117, 108, 97, 116, 111, 114 ]; } ]; }; }, { "name": "mint"; }, { "name": "globalIncentiveTokenAccount"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "globalVolumeAccumulator"; }, { "kind": "account"; "path": "tokenProgram"; }, { "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": "associatedTokenProgram"; "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"; }, { "name": "systemProgram"; "address": "11111111111111111111111111111111"; }, { "name": "tokenProgram"; }, { "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": "startTime"; "type": "i64"; }, { "name": "endTime"; "type": "i64"; }, { "name": "secondsInADay"; "type": "i64"; }, { "name": "dayNumber"; "type": "u64"; }, { "name": "pumpTokenSupplyPerDay"; "type": "u64"; } ]; }, { "name": "buy"; "docs": [ "Buys tokens from a bonding curve." ]; "discriminator": [ 102, 6, 61, 18, 1, 218, 235, 234 ]; "accounts": [ { "name": "global"; "pda": { "seeds": [ { "kind": "const"; "value": [ 103, 108, 111, 98, 97, 108 ]; } ]; }; }, { "name": "feeRecipient"; "writable": true; }, { "name": "mint"; }, { "name": "bondingCurve"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 98, 111, 110, 100, 105, 110, 103, 45, 99, 117, 114, 118, 101 ]; }, { "kind": "account"; "path": "mint"; } ]; }; }, { "name": "associatedBondingCurve"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "bondingCurve"; }, { "kind": "account"; "path": "tokenProgram"; }, { "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": "associatedUser"; "writable": true; }, { "name": "user"; "writable": true; "signer": true; }, { "name": "systemProgram"; "address": "11111111111111111111111111111111"; }, { "name": "tokenProgram"; }, { "name": "creatorVault"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 99, 114, 101, 97, 116, 111, 114, 45, 118, 97, 117, 108, 116 ]; }, { "kind": "account"; "path": "bonding_curve.creator"; "account": "bondingCurve"; } ]; }; }, { "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"; "address": "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P"; }, { "name": "globalVolumeAccumulator"; "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": "userVolumeAccumulator"; "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": "feeConfig"; "pda": { "seeds": [ { "kind": "const"; "value": [ 102, 101, 101, 95, 99, 111, 110, 102, 105, 103 ]; }, { "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 ]; } ]; "program": { "kind": "account"; "path": "feeProgram"; }; }; }, { "name": "feeProgram"; "address": "pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ"; } ]; "args": [ { "name": "amount"; "type": "u64"; }, { "name": "maxSolCost"; "type": "u64"; }, { "name": "trackVolume"; "type": { "defined": { "name": "optionBool"; }; }; } ]; }, { "name": "buyExactQuoteInV2"; "discriminator": [ 194, 171, 28, 70, 104, 77, 91, 47 ]; "accounts": [ { "name": "global"; "pda": { "seeds": [ { "kind": "const"; "value": [ 103, 108, 111, 98, 97, 108 ]; } ]; }; }, { "name": "baseMint"; }, { "name": "quoteMint"; }, { "name": "baseTokenProgram"; }, { "name": "quoteTokenProgram"; }, { "name": "associatedTokenProgram"; "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"; }, { "name": "feeRecipient"; "writable": true; }, { "name": "associatedQuoteFeeRecipient"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "feeRecipient"; }, { "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": "buybackFeeRecipient"; "writable": true; }, { "name": "associatedQuoteBuybackFeeRecipient"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "buybackFeeRecipient"; }, { "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": "bondingCurve"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 98, 111, 110, 100, 105, 110, 103, 45, 99, 117, 114, 118, 101 ]; }, { "kind": "account"; "path": "baseMint"; } ]; }; }, { "name": "associatedBaseBondingCurve"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "bondingCurve"; }, { "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": "associatedQuoteBondingCurve"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "bondingCurve"; }, { "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": "user"; "writable": true; "signer": true; }, { "name": "associatedBaseUser"; "writable": true; }, { "name": "associatedQuoteUser"; "docs": [ "canonical SPL associated-token PDA. Validated in handlers via", "`validate_user_quote_token_account` for non-legacy mints; ignored for legacy (SOL) trades." ]; "writable": true; }, { "name": "creatorVault"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 99, 114, 101, 97, 116, 111, 114, 45, 118, 97, 117, 108, 116 ]; }, { "kind": "account"; "path": "bonding_curve.creator"; "account": "bondingCurve"; } ]; }; }, { "name": "associatedCreatorVault"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "creatorVault"; }, { "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": "sharingConfig"; "docs": [ "seeds; the account is intentionally not deserialized here because it may be uninitialized", "for mints that have not created a fee sharing config. Handlers must check", "`data_is_empty()` / owner before reading." ]; "pda": { "seeds": [ { "kind": "const"; "value": [ 115, 104, 97, 114, 105, 110, 103, 45, 99, 111, 110, 102, 105, 103 ]; }, { "kind": "account"; "path": "baseMint"; } ]; "program": { "kind": "const"; "value": [ 12, 53, 255, 169, 5, 90, 142, 86, 141, 168, 247, 188, 7, 86, 21, 39, 76, 241, 201, 44, 164, 31, 64, 0, 156, 81, 106, 164, 20, 194, 124, 112 ]; }; }; }, { "name": "globalVolumeAccumulator"; "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": "userVolumeAccumulator"; "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": "associatedUserVolumeAccumulator"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "userVolumeAccumulator"; }, { "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": "feeConfig"; "pda": { "seeds": [ { "kind": "const"; "value": [ 102, 101, 101, 95, 99, 111, 110, 102, 105, 103 ]; }, { "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 ]; } ]; "program": { "kind": "account"; "path": "feeProgram"; }; }; }, { "name": "feeProgram"; "address": "pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ"; }, { "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"; "address": "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P"; } ]; "args": [ { "name": "spendableQuoteIn"; "type": "u64"; }, { "name": "minTokensOut"; "type": "u64"; } ]; }, { "name": "buyExactSolIn"; "docs": [ "Given a budget of spendable SOL, buy at least min_tokens_out tokens.", "Fees are deducted from spendable_sol_in.", "", "# Quote formulas", "Where:", "- total_fee_bps = protocol_fee_bps + creator_fee_bps (creator_fee_bps is 0 if no creator)", "- floor(a/b) = a / b (integer division)", "- ceil(a/b) = (a + b - 1) / b", "", "SOL → tokens quote", "To calculate tokens_out for a given spendable_sol_in:", "1. net_sol = floor(spendable_sol_in * 10_000 / (10_000 + total_fee_bps))", "2. fees = ceil(net_sol * protocol_fee_bps / 10_000) + ceil(net_sol * creator_fee_bps / 10_000) (creator_fee_bps is 0 if no creator)", "3. if net_sol + fees > spendable_sol_in: net_sol = net_sol - (net_sol + fees - spendable_sol_in)", "4. tokens_out = floor((net_sol - 1) * virtual_token_reserves / (virtual_sol_reserves + net_sol - 1))", "", "Reverse quote (tokens → SOL)", "To calculate spendable_sol_in for a desired number of tokens:", "1. net_sol = ceil(tokens * virtual_sol_reserves / (virtual_token_reserves - tokens)) + 1", "2. spendable_sol_in = ceil(net_sol * (10_000 + total_fee_bps) / 10_000)", "", "Rent", "Separately make sure the instruction's payer has enough SOL to cover rent for:", "- creator_vault: rent.minimum_balance(0)", "- user_volume_accumulator: rent.minimum_balance(UserVolumeAccumulator::LEN)" ]; "discriminator": [ 56, 252, 116, 8, 158, 223, 205, 95 ]; "accounts": [ { "name": "global"; "pda": { "seeds": [ { "kind": "const"; "value": [ 103, 108, 111, 98, 97, 108 ]; } ]; }; }, { "name": "feeRecipient"; "writable": true; }, { "name": "mint"; }, { "name": "bondingCurve"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 98, 111, 110, 100, 105, 110, 103, 45, 99, 117, 114, 118, 101 ]; }, { "kind": "account"; "path": "mint"; } ]; }; }, { "name": "associatedBondingCurve"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "bondingCurve"; }, { "kind": "account"; "path": "tokenProgram"; }, { "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": "associatedUser"; "writable": true; }, { "name": "user"; "writable": true; "signer": true; }, { "name": "systemProgram"; "address": "11111111111111111111111111111111"; }, { "name": "tokenProgram"; }, { "name": "creatorVault"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 99, 114, 101, 97, 116, 111, 114, 45, 118, 97, 117, 108, 116 ]; }, { "kind": "account"; "path": "bonding_curve.creator"; "account": "bondingCurve"; } ]; }; }, { "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"; "address": "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P"; }, { "name": "globalVolumeAccumulator"; "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": "userVolumeAccumulator"; "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": "feeConfig"; "pda": { "seeds": [ { "kind": "const"; "value": [ 102, 101, 101, 95, 99, 111, 110, 102, 105, 103 ]; }, { "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 ]; } ]; "program": { "kind": "account"; "path": "feeProgram"; }; }; }, { "name": "feeProgram"; "address": "pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ"; } ]; "args": [ { "name": "spendableSolIn"; "type": "u64"; }, { "name": "minTokensOut"; "type": "u64"; }, { "name": "trackVolume"; "type": { "defined": { "name": "optionBool"; }; }; } ]; }, { "name": "buyV2"; "discriminator": [ 184, 23, 238, 97, 103, 197, 211, 61 ]; "accounts": [ { "name": "global"; "pda": { "seeds": [ { "kind": "const"; "value": [ 103, 108, 111, 98, 97, 108 ]; } ]; }; }, { "name": "baseMint"; }, { "name": "quoteMint"; }, { "name": "baseTokenProgram"; }, { "name": "quoteTokenProgram"; }, { "name": "associatedTokenProgram"; "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"; }, { "name": "feeRecipient"; "writable": true; }, { "name": "associatedQuoteFeeRecipient"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "feeRecipient"; }, { "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": "buybackFeeRecipient"; "writable": true; }, { "name": "associatedQuoteBuybackFeeRecipient"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "buybackFeeRecipient"; }, { "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": "bondingCurve"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 98, 111, 110, 100, 105, 110, 103, 45, 99, 117, 114, 118, 101 ]; }, { "kind": "account"; "path": "baseMint"; } ]; }; }, { "name": "associatedBaseBondingCurve"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "bondingCurve"; }, { "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": "associatedQuoteBondingCurve"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "bondingCurve"; }, { "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": "user"; "writable": true; "signer": true; }, { "name": "associatedBaseUser"; "writable": true; }, { "name": "associatedQuoteUser"; "docs": [ "canonical SPL associated-token PDA. Validated in handlers via", "`validate_user_quote_token_account` for non-legacy mints; ignored for legacy (SOL) trades." ]; "writable": true; }, { "name": "creatorVault"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 99, 114, 101, 97, 116, 111, 114, 45, 118, 97, 117, 108, 116 ]; }, { "kind": "account"; "path": "bonding_curve.creator"; "account": "bondingCurve"; } ]; }; }, { "name": "associatedCreatorVault"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "creatorVault"; }, { "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": "sharingConfig"; "docs": [ "seeds; the account is intentionally not deserialized here because it may be uninitialized", "for mints that have not created a fee sharing config. Handlers must check", "`data_is_empty()` / owner before reading." ]; "pda": { "seeds": [ { "kind": "const"; "value": [ 115, 104, 97, 114, 105, 110, 103, 45, 99, 111, 110, 102, 105, 103 ]; }, { "kind": "account"; "path": "baseMint"; } ]; "program": { "kind": "const"; "value": [ 12, 53, 255, 169, 5, 90, 142, 86, 141, 168, 247, 188, 7, 86, 21, 39, 76, 241, 201, 44, 164, 31, 64, 0, 156, 81, 106, 164, 20, 194, 124, 112 ]; }; }; }, { "name": "globalVolumeAccumulator"; "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": "userVolumeAccumulator"; "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": "associatedUserVolumeAccumulator"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "userVolumeAccumulator"; }, { "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": "feeConfig"; "pda": { "seeds": [ { "kind": "const"; "value": [ 102, 101, 101, 95, 99, 111, 110, 102, 105, 103 ]; }, { "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 ]; } ]; "program": { "kind": "account"; "path": "feeProgram"; }; }; }, { "name": "feeProgram"; "address": "pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ"; }, { "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"; "address": "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P"; } ]; "args": [ { "name": "amount"; "type": "u64"; }, { "name": "maxSolCost"; "type": "u64"; } ]; }, { "name": "claimCashback"; "discriminator": [ 37, 58, 35, 126, 190, 53, 228, 197 ]; "accounts": [ { "name": "user"; "writable": true; }, { "name": "userVolumeAccumulator"; "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": "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"; "address": "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P"; } ]; "args": []; }, { "name": "claimCashbackV2"; "docs": [ "Pays out the user's accrued cashback. For a token quote, `associated_quote_user` may be", "any token account of `quote_mint` owned by `user`, not only the associated one." ]; "discriminator": [ 122, 243, 204, 65, 94, 116, 29, 55 ]; "accounts": [ { "name": "user"; "writable": true; }, { "name": "userVolumeAccumulator"; "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": "quoteMint"; }, { "name": "quoteTokenProgram"; }, { "name": "associatedTokenProgram"; "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"; }, { "name": "associatedUserVolumeAccumulator"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "userVolumeAccumulator"; }, { "kind": "account"; "path": "quoteTokenProgram"; }, { "kind": "account"; "path": "quoteMint"; } ]; "program": { "kind": "account"; "path": "associatedTokenProgram"; }; }; }, { "name": "associatedQuoteUser"; "writable": 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"; "address": "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P"; } ]; "args": []; }, { "name": "claimTokenIncentives"; "discriminator": [ 16, 4, 71, 28, 204, 1, 40, 27 ]; "accounts": [ { "name": "user"; }, { "name": "userAta"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "user"; }, { "kind": "account"; "path": "tokenProgram"; }, { "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": "globalVolumeAccumulator"; "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": "globalIncentiveTokenAccount"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "globalVolumeAccumulator"; }, { "kind": "account"; "path": "tokenProgram"; }, { "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": "userVolumeAccumulator"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 117, 115, 101, 114, 95, 118, 111, 108, 117, 109, 101, 95, 97, 99, 99, 117, 109, 117, 108, 97, 116, 111, 114 ]; }, { "kind": "account"; "path": "user"; } ]; }; }, { "name": "mint"; "relations": [ "globalVolumeAccumulator" ]; }, { "name": "tokenProgram"; }, { "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"; "address": "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P"; }, { "name": "payer"; "writable": true; "signer": true; } ]; "args": []; }, { "name": "closeUserVolumeAccumulator"; "discriminator": [ 249, 69, 164, 218, 150, 103, 84, 138 ]; "accounts": [ { "name": "user"; "writable": true; "signer": true; }, { "name": "userVolumeAccumulator"; "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": "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": "collectCreatorFee"; "docs": [ "Collects creator_fee from creator_vault to the coin creator account" ]; "discriminator": [ 20, 22, 86, 123, 198, 28, 219, 132 ]; "accounts": [ { "name": "creator"; "writable": true; }, { "name": "creatorVault"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 99, 114, 101, 97, 116, 111, 114, 45, 118, 97, 117, 108, 116 ]; }, { "kind": "account"; "path": "creator"; } ]; }; }, { "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": "collectCreatorFeeV2"; "docs": [ "Collects creator_fee from creator_vault to the coin creator account" ]; "discriminator": [ 207, 17, 138, 242, 4, 34, 19, 56 ]; "accounts": [ { "name": "creator"; "writable": true; }, { "name": "creatorTokenAccount"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "creator"; }, { "kind": "account"; "path": "quoteTokenProgram"; }, { "kind": "account"; "path": "quoteMint"; } ]; "program": { "kind": "account"; "path": "associatedTokenProgram"; }; }; }, { "name": "creatorVault"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 99, 114, 101, 97, 116, 111, 114, 45, 118, 97, 117, 108, 116 ]; }, { "kind": "account"; "path": "creator"; } ]; }; }, { "name": "creatorVaultTokenAccount"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "creatorVault"; }, { "kind": "account"; "path": "quoteTokenProgram"; }, { "kind": "account"; "path": "quoteMint"; } ]; "program": { "kind": "account"; "path": "associatedTokenProgram"; }; }; }, { "name": "quoteMint"; }, { "name": "quoteTokenProgram"; }, { "name": "associatedTokenProgram"; "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"; }, { "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": "create"; "docs": [ "Creates a new coin and bonding curve." ]; "discriminator": [ 24, 30, 200, 40, 5, 28, 7, 119 ]; "accounts": [ { "name": "mint"; "writable": true; "signer": true; }, { "name": "mintAuthority"; "pda": { "seeds": [ { "kind": "const"; "value": [ 109, 105, 110, 116, 45, 97, 117, 116, 104, 111, 114, 105, 116, 121 ]; } ]; }; }, { "name": "bondingCurve"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 98, 111, 110, 100, 105, 110, 103, 45, 99, 117, 114, 118, 101 ]; }, { "kind": "account"; "path": "mint"; } ]; }; }, { "name": "associatedBondingCurve"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "bondingCurve"; }, { "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": "mint"; } ]; "program": { "kind": "const"; "value": [ 140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142, 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216, 219, 233, 248, 89 ]; }; }; }, { "name": "global"; "pda": { "seeds": [ { "kind": "const"; "value": [ 103, 108, 111, 98, 97, 108 ]; } ]; }; }, { "name": "mplTokenMetadata"; "address": "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"; }, { "name": "metadata"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 109, 101, 116, 97, 100, 97, 116, 97 ]; }, { "kind": "const"; "value": [ 11, 112, 101, 177, 227, 209, 124, 69, 56, 157, 82, 127, 107, 4, 195, 205, 88, 184, 108, 115, 26, 160, 253, 181, 73, 182, 209, 188, 3, 248, 41, 70 ]; }, { "kind": "account"; "path": "mint"; } ]; "program": { "kind": "account"; "path": "mplTokenMetadata"; }; }; }, { "name": "user"; "writable": true; "signer": true; }, { "name": "systemProgram"; "address": "11111111111111111111111111111111"; }, { "name": "tokenProgram"; "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"; }, { "name": "associatedTokenProgram"; "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"; }, { "name": "rent"; "address": "SysvarRent111111111111111111111111111111111"; }, { "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": "name"; "type": "string"; }, { "name": "symbol"; "type": "string"; }, { "name": "uri"; "type": "string"; }, { "name": "creator"; "type": "pubkey"; } ]; }, { "name": "createV2"; "docs": [ "Creates a new spl-22 coin and bonding curve.", "", "Remaining accounts select the quote mint (none = SOL): `quote_mint`,", "`associated_quote_bonding_curve`, `quote_token_program` (SPL Token or Token-2022; must own", "the mint), plus an optional fourth account, the `quote-control` PDA, read only when `Global`", "does not whitelist the mint. A mint admitted through quote-control seeds the curve's", "virtual quote reserves from its quote-control entry instead of `Global`, and cannot be", "used with `is_mayhem_mode` (`MayhemModeQuoteMintNotAllowed`). The Token-2022", "native mint is rejected, and a Token-2022 quote mint may only carry the xStock operable", "extension set (metadata pointer/metadata, permanent delegate, initialized default account", "state, scaled UI amount, pausable, confidential-transfer mint, and a transfer hook with no", "program). The trailing `creator_fee_bps` argument (EOF-tolerant) sets the coin's own creator", "fee rate for a quote mint admitted through quote-control, and then requires", "`Global.creator_fee_configurable`, a non-cashback coin and a value in", "`1..=Global.max_configurable_creator_fee_bps`; on a SOL or `Global`-whitelisted quote it is", "ignored, and omitted or zero stores 0 so the pump-fees schedule rate applies.", "`is_cashback_enabled` is deprecated and must be false. `is_holder_reward` (EOF-tolerant,", "gated by `Global.is_holder_reward_enabled`) sets the creator to the `holder-rewards` PDA", "of the mint, so creator fees accrue to its creator vault, are collected onto the PDA with", "`collect_creator_fee*` and paid out through `distribute_fee_to_holders`." ]; "discriminator": [ 214, 144, 76, 236, 95, 139, 49, 180 ]; "accounts": [ { "name": "mint"; "writable": true; "signer": true; }, { "name": "mintAuthority"; "pda": { "seeds": [ { "kind": "const"; "value": [ 109, 105, 110, 116, 45, 97, 117, 116, 104, 111, 114, 105, 116, 121 ]; } ]; }; }, { "name": "bondingCurve"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 98, 111, 110, 100, 105, 110, 103, 45, 99, 117, 114, 118, 101 ]; }, { "kind": "account"; "path": "mint"; } ]; }; }, { "name": "associatedBondingCurve"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "bondingCurve"; }, { "kind": "account"; "path": "tokenProgram"; }, { "kind": "account"; "path": "mint"; } ]; "program": { "kind": "const"; "value": [ 140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142, 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216, 219, 233, 248, 89 ]; }; }; }, { "name": "global"; "pda": { "seeds": [ { "kind": "const"; "value": [ 103, 108, 111, 98, 97, 108 ]; } ]; }; }, { "name": "user"; "writable": true; "signer": true; }, { "name": "systemProgram"; "address": "11111111111111111111111111111111"; }, { "name": "tokenProgram"; "address": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"; }, { "name": "associatedTokenProgram"; "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"; }, { "name": "mayhemProgramId"; "writable": true; "address": "MAyhSmzXzV1pTf7LsNkrNwkWKTo4ougAJ1PPg47MD4e"; }, { "name": "globalParams"; "pda": { "seeds": [ { "kind": "const"; "value": [ 103, 108, 111, 98, 97, 108, 45, 112, 97, 114, 97, 109, 115 ]; } ]; "program": { "kind": "const"; "value": [ 5, 42, 229, 215, 167, 218, 167, 36, 166, 234, 176, 167, 41, 84, 145, 133, 90, 212, 160, 103, 22, 96, 103, 76, 78, 3, 69, 89, 128, 61, 101, 163 ]; }; }; }, { "name": "solVault"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 115, 111, 108, 45, 118, 97, 117, 108, 116 ]; } ]; "program": { "kind": "const"; "value": [ 5, 42, 229, 215, 167, 218, 167, 36, 166, 234, 176, 167, 41, 84, 145, 133, 90, 212, 160, 103, 22, 96, 103, 76, 78, 3, 69, 89, 128, 61, 101, 163 ]; }; }; }, { "name": "mayhemState"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 109, 97, 121, 104, 101, 109, 45, 115, 116, 97, 116, 101 ]; }, { "kind": "account"; "path": "mint"; } ]; "program": { "kind": "const"; "value": [ 5, 42, 229, 215, 167, 218, 167, 36, 166, 234, 176, 167, 41, 84, 145, 133, 90, 212, 160, 103, 22, 96, 103, 76, 78, 3, 69, 89, 128, 61, 101, 163 ]; }; }; }, { "name": "mayhemTokenVault"; "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": "name"; "type": "string"; }, { "name": "symbol"; "type": "string"; }, { "name": "uri"; "type": "string"; }, { "name": "creator"; "type": "pubkey"; }, { "name": "isMayhemMode"; "type": "bool"; }, { "name": "isCashbackEnabled"; "type": { "defined": { "name": "optionBool"; }; }; }, { "name": "creatorFeeBps"; "type": { "defined": { "name": "optionU64"; }; }; }, { "name": "isHolderReward"; "type": { "defined": { "name": "optionBool"; }; }; } ]; }, { "name": "distributeCreatorFees"; "docs": [ "Distributes creator fees to shareholders based on their share percentages", "The creator vault needs to have at least the minimum distributable amount to distribute fees", "This can be checked with the get_minimum_distributable_fee instruction" ]; "discriminator": [ 165, 114, 103, 0, 121, 206, 247, 81 ]; "accounts": [ { "name": "mint"; "relations": [ "sharingConfig" ]; }, { "name": "bondingCurve"; "pda": { "seeds": [ { "kind": "const"; "value": [ 98, 111, 110, 100, 105, 110, 103, 45, 99, 117, 114, 118, 101 ]; }, { "kind": "account"; "path": "mint"; } ]; }; }, { "name": "sharingConfig"; "pda": { "seeds": [ { "kind": "const"; "value": [ 115, 104, 97, 114, 105, 110, 103, 45, 99, 111, 110, 102, 105, 103 ]; }, { "kind": "account"; "path": "mint"; } ]; "program": { "kind": "const"; "value": [ 12, 53, 255, 169, 5, 90, 142, 86, 141, 168, 247, 188, 7, 86, 21, 39, 76, 241, 201, 44, 164, 31, 64, 0, 156, 81, 106, 164, 20, 194, 124, 112 ]; }; }; }, { "name": "creatorVault"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 99, 114, 101, 97, 116, 111, 114, 45, 118, 97, 117, 108, 116 ]; }, { "kind": "account"; "path": "bonding_curve.creator"; "account": "bondingCurve"; } ]; }; }, { "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"; "address": "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P"; } ]; "args": []; "returns": { "defined": { "name": "distributeCreatorFeesEvent"; }; }; }, { "name": "distributeCreatorFeesV2"; "discriminator": [ 255, 203, 19, 79, 244, 68, 8, 159 ]; "accounts": [ { "name": "payer"; "writable": true; "signer": true; }, { "name": "mint"; "relations": [ "sharingConfig" ]; }, { "name": "bondingCurve"; "pda": { "seeds": [ { "kind": "const"; "value": [ 98, 111, 110, 100, 105, 110, 103, 45, 99, 117, 114, 118, 101 ]; }, { "kind": "account"; "path": "mint"; } ]; }; }, { "name": "sharingConfig"; "pda": { "seeds": [ { "kind": "const"; "value": [ 115, 104, 97, 114, 105, 110, 103, 45, 99, 111, 110, 102, 105, 103 ]; }, { "kind": "account"; "path": "mint"; } ]; "program": { "kind": "const"; "value": [ 12, 53, 255, 169, 5, 90, 142, 86, 141, 168, 247, 188, 7, 86, 21, 39, 76, 241, 201, 44, 164, 31, 64, 0, 156, 81, 106, 164, 20, 194, 124, 112 ]; }; }; }, { "name": "creatorVault"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 99, 114, 101, 97, 116, 111, 114, 45, 118, 97, 117, 108, 116 ]; }, { "kind": "account"; "path": "bonding_curve.creator"; "account": "bondingCurve"; } ]; }; }, { "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"; "address": "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P"; }, { "name": "creatorVaultQuoteTokenAccount"; "docs": [ "Deserialized manually in the handler for non-legacy quote mints." ]; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "creatorVault"; }, { "kind": "account"; "path": "quoteTokenProgram"; }, { "kind": "account"; "path": "quoteMint"; } ]; "program": { "kind": "account"; "path": "associatedTokenProgram"; }; }; }, { "name": "quoteMint"; }, { "name": "quoteTokenProgram"; }, { "name": "associatedTokenProgram"; "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"; } ]; "args": [ { "name": "initializeAta"; "type": "bool"; } ]; "returns": { "defined": { "name": "distributeCreatorFeesEvent"; }; }; }, { "name": "distributeFeeToHolders"; "docs": [ "Pays fees collected on the `holder-rewards` PDA (via `collect_creator_fee*` with the PDA", "as creator) out to holders: `amounts[i]` goes to remaining accounts `[2i]` (owner) /", "`[2i + 1]` (its quote ATA, created if missing). `holder_rewards_token_account` is any", "quote token account owned by the PDA (normally its ATA): the source on a token quote, and", "on a SOL quote a parked WSOL account closed into the PDA first; pass the program id when", "there is none. Signed by `Global.holder_reward_claim_authority`." ]; "discriminator": [ 98, 54, 145, 97, 2, 70, 173, 43 ]; "accounts": [ { "name": "global"; "pda": { "seeds": [ { "kind": "const"; "value": [ 103, 108, 111, 98, 97, 108 ]; } ]; }; }, { "name": "holderRewardClaimAuthority"; "writable": true; "signer": true; "relations": [ "global" ]; }, { "name": "mint"; }, { "name": "holderRewards"; "docs": [ "deliver the collected fees here (lamports on a SOL quote)" ]; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 104, 111, 108, 100, 101, 114, 45, 114, 101, 119, 97, 114, 100, 115 ]; }, { "kind": "account"; "path": "mint"; } ]; }; }, { "name": "holderRewardsTokenAccount"; "writable": true; "optional": true; }, { "name": "quoteMint"; }, { "name": "quoteTokenProgram"; }, { "name": "associatedTokenProgram"; "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"; }, { "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": "amounts"; "type": { "vec": "u64"; }; } ]; }, { "name": "extendAccount"; "docs": [ "Extends the size of program-owned accounts" ]; "discriminator": [ 234, 102, 194, 203, 150, 72, 62, 229 ]; "accounts": [ { "name": "account"; "writable": true; }, { "name": "user"; "writable": true; "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": "getMinimumDistributableFee"; "docs": [ "Permissionless instruction to check the minimum required fees for distribution", "Returns the minimum required balance from the creator_vault and whether distribution can proceed" ]; "discriminator": [ 117, 225, 127, 202, 134, 95, 68, 35 ]; "accounts": [ { "name": "mint"; "relations": [ "sharingConfig" ]; }, { "name": "bondingCurve"; "pda": { "seeds": [ { "kind": "const"; "value": [ 98, 111, 110, 100, 105, 110, 103, 45, 99, 117, 114, 118, 101 ]; }, { "kind": "account"; "path": "mint"; } ]; }; }, { "name": "sharingConfig"; "pda": { "seeds": [ { "kind": "const"; "value": [ 115, 104, 97, 114, 105, 110, 103, 45, 99, 111, 110, 102, 105, 103 ]; }, { "kind": "account"; "path": "mint"; } ]; "program": { "kind": "const"; "value": [ 12, 53, 255, 169, 5, 90, 142, 86, 141, 168, 247, 188, 7, 86, 21, 39, 76, 241, 201, 44, 164, 31, 64, 0, 156, 81, 106, 164, 20, 194, 124, 112 ]; }; }; }, { "name": "creatorVault"; "pda": { "seeds": [ { "kind": "const"; "value": [ 99, 114, 101, 97, 116, 111, 114, 45, 118, 97, 117, 108, 116 ]; }, { "kind": "account"; "path": "bonding_curve.creator"; "account": "bondingCurve"; } ]; }; } ]; "args": []; "returns": { "defined": { "name": "minimumDistributableFeeEvent"; }; }; }, { "name": "initUserVolumeAccumulator"; "discriminator": [ 94, 6, 202, 115, 255, 96, 232, 183 ]; "accounts": [ { "name": "payer"; "writable": true; "signer": true; }, { "name": "user"; }, { "name": "userVolumeAccumulator"; "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": "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": "initialize"; "docs": [ "Creates the global state." ]; "discriminator": [ 175, 175, 109, 31, 13, 152, 155, 237 ]; "accounts": [ { "name": "global"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 103, 108, 111, 98, 97, 108 ]; } ]; }; }, { "name": "user"; "writable": true; "signer": true; }, { "name": "systemProgram"; "address": "11111111111111111111111111111111"; } ]; "args": []; }, { "name": "initializeQuoteControl"; "discriminator": [ 239, 73, 245, 173, 209, 177, 84, 66 ]; "accounts": [ { "name": "quoteControl"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 113, 117, 111, 116, 101, 45, 99, 111, 110, 116, 114, 111, 108 ]; } ]; }; }, { "name": "user"; "writable": true; "signer": true; }, { "name": "systemProgram"; "address": "11111111111111111111111111111111"; } ]; "args": []; }, { "name": "migrate"; "docs": [ "Migrates liquidity to pump_amm if the bonding curve is complete" ]; "discriminator": [ 155, 234, 231, 146, 236, 158, 162, 30 ]; "accounts": [ { "name": "global"; "pda": { "seeds": [ { "kind": "const"; "value": [ 103, 108, 111, 98, 97, 108 ]; } ]; }; }, { "name": "withdrawAuthority"; "writable": true; "relations": [ "global" ]; }, { "name": "mint"; }, { "name": "bondingCurve"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 98, 111, 110, 100, 105, 110, 103, 45, 99, 117, 114, 118, 101 ]; }, { "kind": "account"; "path": "mint"; } ]; }; }, { "name": "associatedBondingCurve"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "bondingCurve"; }, { "kind": "account"; "path": "mint"; }, { "kind": "account"; "path": "mint"; } ]; "program": { "kind": "const"; "value": [ 140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142, 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216, 219, 233, 248, 89 ]; }; }; }, { "name": "user"; "writable": true; "signer": true; }, { "name": "systemProgram"; "address": "11111111111111111111111111111111"; }, { "name": "tokenProgram"; "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"; }, { "name": "pumpAmm"; "address": "pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA"; }, { "name": "pool"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 112, 111, 111, 108 ]; }, { "kind": "const"; "value": [ 0, 0 ]; }, { "kind": "account"; "path": "poolAuthority"; }, { "kind": "account"; "path": "mint"; }, { "kind": "account"; "path": "wsolMint"; } ]; "program": { "kind": "account"; "path": "pumpAmm"; }; }; }, { "name": "poolAuthority"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 112, 111, 111, 108, 45, 97, 117, 116, 104, 111, 114, 105, 116, 121 ]; }, { "kind": "account"; "path": "mint"; } ]; }; }, { "name": "poolAuthorityMintAccount"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "poolAuthority"; }, { "kind": "account"; "path": "mint"; }, { "kind": "account"; "path": "mint"; } ]; "program": { "kind": "account"; "path": "associatedTokenProgram"; }; }; }, { "name": "poolAuthorityWsolAccount"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "poolAuthority"; }, { "kind": "account"; "path": "tokenProgram"; }, { "kind": "account"; "path": "wsolMint"; } ]; "program": { "kind": "account"; "path": "associatedTokenProgram"; }; }; }, { "name": "ammGlobalConfig"; "pda": { "seeds": [ { "kind": "const"; "value": [ 103, 108, 111, 98, 97, 108, 95, 99, 111, 110, 102, 105, 103 ]; } ]; "program": { "kind": "account"; "path": "pumpAmm"; }; }; }, { "name": "wsolMint"; "address": "So11111111111111111111111111111111111111112"; }, { "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"; } ]; "program": { "kind": "account"; "path": "pumpAmm"; }; }; }, { "name": "userPoolTokenAccount"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "poolAuthority"; }, { "kind": "account"; "path": "token2022Program"; }, { "kind": "account"; "path": "lpMint"; } ]; "program": { "kind": "account"; "path": "associatedTokenProgram"; }; }; }, { "name": "poolBaseTokenAccount"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "pool"; }, { "kind": "account"; "path": "mint"; }, { "kind": "account"; "path": "mint"; } ]; "program": { "kind": "account"; "path": "associatedTokenProgram"; }; }; }, { "name": "poolQuoteTokenAccount"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "pool"; }, { "kind": "account"; "path": "tokenProgram"; }, { "kind": "account"; "path": "wsolMint"; } ]; "program": { "kind": "account"; "path": "associatedTokenProgram"; }; }; }, { "name": "token2022Program"; "address": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"; }, { "name": "associatedTokenProgram"; "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"; }, { "name": "pumpAmmEventAuthority"; "pda": { "seeds": [ { "kind": "const"; "value": [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ]; } ]; "program": { "kind": "account"; "path": "pumpAmm"; }; }; }, { "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"; "address": "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P"; }, { "name": "rent"; "address": "SysvarRent111111111111111111111111111111111"; } ]; "args": []; }, { "name": "migrateBondingCurveCreator"; "discriminator": [ 87, 124, 52, 191, 52, 38, 214, 232 ]; "accounts": [ { "name": "mint"; "relations": [ "sharingConfig" ]; }, { "name": "bondingCurve"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 98, 111, 110, 100, 105, 110, 103, 45, 99, 117, 114, 118, 101 ]; }, { "kind": "account"; "path": "mint"; } ]; }; }, { "name": "sharingConfig"; "pda": { "seeds": [ { "kind": "const"; "value": [ 115, 104, 97, 114, 105, 110, 103, 45, 99, 111, 110, 102, 105, 103 ]; }, { "kind": "account"; "path": "mint"; } ]; "program": { "kind": "const"; "value": [ 12, 53, 255, 169, 5, 90, 142, 86, 141, 168, 247, 188, 7, 86, 21, 39, 76, 241, 201, 44, 164, 31, 64, 0, 156, 81, 106, 164, 20, 194, 124, 112 ]; }; }; }, { "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": "migrateV2"; "docs": [ "Migrates liquidity to pump_amm if the bonding curve is complete" ]; "discriminator": [ 187, 203, 18, 31, 206, 237, 254, 41 ]; "accounts": [ { "name": "global"; "pda": { "seeds": [ { "kind": "const"; "value": [ 103, 108, 111, 98, 97, 108 ]; } ]; }; }, { "name": "withdrawAuthority"; "writable": true; "relations": [ "global" ]; }, { "name": "baseMint"; }, { "name": "quoteMint"; }, { "name": "bondingCurve"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 98, 111, 110, 100, 105, 110, 103, 45, 99, 117, 114, 118, 101 ]; }, { "kind": "account"; "path": "baseMint"; } ]; }; }, { "name": "associatedBaseBondingCurve"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "bondingCurve"; }, { "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": "associatedQuoteBondingCurve"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "bondingCurve"; }, { "kind": "account"; "path": "quoteTokenProgram"; }, { "kind": "account"; "path": "quoteMint"; } ]; "program": { "kind": "account"; "path": "associatedTokenProgram"; }; }; }, { "name": "user"; "writable": true; "signer": true; }, { "name": "systemProgram"; "address": "11111111111111111111111111111111"; }, { "name": "pumpAmm"; "address": "pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA"; }, { "name": "pool"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 112, 111, 111, 108 ]; }, { "kind": "const"; "value": [ 0, 0 ]; }, { "kind": "account"; "path": "poolAuthority"; }, { "kind": "account"; "path": "baseMint"; }, { "kind": "account"; "path": "quoteMint"; } ]; "program": { "kind": "account"; "path": "pumpAmm"; }; }; }, { "name": "poolAuthority"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 112, 111, 111, 108, 45, 97, 117, 116, 104, 111, 114, 105, 116, 121 ]; }, { "kind": "account"; "path": "baseMint"; } ]; }; }, { "name": "poolAuthorityMintAccount"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "poolAuthority"; }, { "kind": "account"; "path": "baseTokenProgram"; }, { "kind": "account"; "path": "baseMint"; } ]; "program": { "kind": "account"; "path": "associatedTokenProgram"; }; }; }, { "name": "poolAuthorityQuoteAccount"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "poolAuthority"; }, { "kind": "account"; "path": "quoteTokenProgram"; }, { "kind": "account"; "path": "quoteMint"; } ]; "program": { "kind": "account"; "path": "associatedTokenProgram"; }; }; }, { "name": "ammGlobalConfig"; "pda": { "seeds": [ { "kind": "const"; "value": [ 103, 108, 111, 98, 97, 108, 95, 99, 111, 110, 102, 105, 103 ]; } ]; "program": { "kind": "account"; "path": "pumpAmm"; }; }; }, { "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"; } ]; "program": { "kind": "account"; "path": "pumpAmm"; }; }; }, { "name": "userPoolTokenAccount"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "poolAuthority"; }, { "kind": "account"; "path": "token2022Program"; }, { "kind": "account"; "path": "lpMint"; } ]; "program": { "kind": "account"; "path": "associatedTokenProgram"; }; }; }, { "name": "poolBaseTokenAccount"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "pool"; }, { "kind": "account"; "path": "baseTokenProgram"; }, { "kind": "account"; "path": "baseMint"; } ]; "program": { "kind": "account"; "path": "associatedTokenProgram"; }; }; }, { "name": "poolQuoteTokenAccount"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "pool"; }, { "kind": "account"; "path": "quoteTokenProgram"; }, { "kind": "account"; "path": "quoteMint"; } ]; "program": { "kind": "account"; "path": "associatedTokenProgram"; }; }; }, { "name": "baseTokenProgram"; }, { "name": "quoteTokenProgram"; }, { "name": "token2022Program"; "address": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"; }, { "name": "associatedTokenProgram"; "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"; }, { "name": "pumpAmmEventAuthority"; }, { "name": "rent"; "address": "SysvarRent111111111111111111111111111111111"; }, { "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": "removeQuoteControlMint"; "discriminator": [ 223, 7, 253, 26, 81, 165, 218, 166 ]; "accounts": [ { "name": "authority"; "writable": true; "signer": true; }, { "name": "global"; "pda": { "seeds": [ { "kind": "const"; "value": [ 103, 108, 111, 98, 97, 108 ]; } ]; }; }, { "name": "quoteControl"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 113, 117, 111, 116, 101, 45, 99, 111, 110, 116, 114, 111, 108 ]; } ]; }; }, { "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": "quoteMint"; "type": "pubkey"; } ]; }, { "name": "removeQuoteMint"; "discriminator": [ 177, 65, 223, 38, 88, 209, 158, 155 ]; "accounts": [ { "name": "global"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 103, 108, 111, 98, 97, 108 ]; } ]; }; }, { "name": "authority"; "writable": true; "signer": true; "relations": [ "global" ]; }, { "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": "quoteMint"; "type": "pubkey"; } ]; }, { "name": "sell"; "docs": [ "Sells tokens into a bonding curve.", "For cashback coins, pass as remaining_accounts: [0] user_volume_accumulator,", "[1] bonding_curve_v2. If provided and valid, creator_fee goes to user_volume_accumulator.", "Otherwise, falls back to transferring creator_fee to creator_vault." ]; "discriminator": [ 51, 230, 133, 164, 1, 127, 131, 173 ]; "accounts": [ { "name": "global"; "pda": { "seeds": [ { "kind": "const"; "value": [ 103, 108, 111, 98, 97, 108 ]; } ]; }; }, { "name": "feeRecipient"; "writable": true; }, { "name": "mint"; }, { "name": "bondingCurve"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 98, 111, 110, 100, 105, 110, 103, 45, 99, 117, 114, 118, 101 ]; }, { "kind": "account"; "path": "mint"; } ]; }; }, { "name": "associatedBondingCurve"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "bondingCurve"; }, { "kind": "account"; "path": "tokenProgram"; }, { "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": "associatedUser"; "writable": true; }, { "name": "user"; "writable": true; "signer": true; }, { "name": "systemProgram"; "address": "11111111111111111111111111111111"; }, { "name": "creatorVault"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 99, 114, 101, 97, 116, 111, 114, 45, 118, 97, 117, 108, 116 ]; }, { "kind": "account"; "path": "bonding_curve.creator"; "account": "bondingCurve"; } ]; }; }, { "name": "tokenProgram"; }, { "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"; "address": "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P"; }, { "name": "feeConfig"; "pda": { "seeds": [ { "kind": "const"; "value": [ 102, 101, 101, 95, 99, 111, 110, 102, 105, 103 ]; }, { "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 ]; } ]; "program": { "kind": "account"; "path": "feeProgram"; }; }; }, { "name": "feeProgram"; "address": "pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ"; } ]; "args": [ { "name": "amount"; "type": "u64"; }, { "name": "minSolOutput"; "type": "u64"; } ]; }, { "name": "sellV2"; "discriminator": [ 93, 246, 130, 60, 231, 233, 64, 178 ]; "accounts": [ { "name": "global"; "pda": { "seeds": [ { "kind": "const"; "value": [ 103, 108, 111, 98, 97, 108 ]; } ]; }; }, { "name": "baseMint"; }, { "name": "quoteMint"; }, { "name": "baseTokenProgram"; }, { "name": "quoteTokenProgram"; }, { "name": "associatedTokenProgram"; "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"; }, { "name": "feeRecipient"; "writable": true; }, { "name": "associatedQuoteFeeRecipient"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "feeRecipient"; }, { "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": "buybackFeeRecipient"; "writable": true; }, { "name": "associatedQuoteBuybackFeeRecipient"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "buybackFeeRecipient"; }, { "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": "bondingCurve"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 98, 111, 110, 100, 105, 110, 103, 45, 99, 117, 114, 118, 101 ]; }, { "kind": "account"; "path": "baseMint"; } ]; }; }, { "name": "associatedBaseBondingCurve"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "bondingCurve"; }, { "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": "associatedQuoteBondingCurve"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "bondingCurve"; }, { "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": "user"; "writable": true; "signer": true; }, { "name": "associatedBaseUser"; "writable": true; }, { "name": "associatedQuoteUser"; "docs": [ "canonical SPL associated-token PDA. Validated in `sell_v2_ix` via", "`validate_user_quote_token_account` for non-legacy mints; ignored for legacy (SOL) trades." ]; "writable": true; }, { "name": "creatorVault"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 99, 114, 101, 97, 116, 111, 114, 45, 118, 97, 117, 108, 116 ]; }, { "kind": "account"; "path": "bonding_curve.creator"; "account": "bondingCurve"; } ]; }; }, { "name": "associatedCreatorVault"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "creatorVault"; }, { "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": "sharingConfig"; "docs": [ "seeds; the account is intentionally not deserialized here because it may be uninitialized", "for mints that have not created a fee sharing config. Handlers must check", "`data_is_empty()` / owner before reading." ]; "pda": { "seeds": [ { "kind": "const"; "value": [ 115, 104, 97, 114, 105, 110, 103, 45, 99, 111, 110, 102, 105, 103 ]; }, { "kind": "account"; "path": "baseMint"; } ]; "program": { "kind": "const"; "value": [ 12, 53, 255, 169, 5, 90, 142, 86, 141, 168, 247, 188, 7, 86, 21, 39, 76, 241, 201, 44, 164, 31, 64, 0, 156, 81, 106, 164, 20, 194, 124, 112 ]; }; }; }, { "name": "userVolumeAccumulator"; "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": "associatedUserVolumeAccumulator"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "userVolumeAccumulator"; }, { "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": "feeConfig"; "pda": { "seeds": [ { "kind": "const"; "value": [ 102, 101, 101, 95, 99, 111, 110, 102, 105, 103 ]; }, { "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 ]; } ]; "program": { "kind": "account"; "path": "feeProgram"; }; }; }, { "name": "feeProgram"; "address": "pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ"; }, { "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"; "address": "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P"; } ]; "args": [ { "name": "amount"; "type": "u64"; }, { "name": "minSolOutput"; "type": "u64"; } ]; }, { "name": "setCreator"; "docs": [ "Allows Global::set_creator_authority to set the bonding curve creator from Metaplex metadata or input argument" ]; "discriminator": [ 254, 148, 255, 112, 207, 142, 170, 165 ]; "accounts": [ { "name": "setCreatorAuthority"; "signer": true; "relations": [ "global" ]; }, { "name": "global"; "pda": { "seeds": [ { "kind": "const"; "value": [ 103, 108, 111, 98, 97, 108 ]; } ]; }; }, { "name": "mint"; }, { "name": "metadata"; "pda": { "seeds": [ { "kind": "const"; "value": [ 109, 101, 116, 97, 100, 97, 116, 97 ]; }, { "kind": "const"; "value": [ 11, 112, 101, 177, 227, 209, 124, 69, 56, 157, 82, 127, 107, 4, 195, 205, 88, 184, 108, 115, 26, 160, 253, 181, 73, 182, 209, 188, 3, 248, 41, 70 ]; }, { "kind": "account"; "path": "mint"; } ]; "program": { "kind": "const"; "value": [ 11, 112, 101, 177, 227, 209, 124, 69, 56, 157, 82, 127, 107, 4, 195, 205, 88, 184, 108, 115, 26, 160, 253, 181, 73, 182, 209, 188, 3, 248, 41, 70 ]; }; }; }, { "name": "bondingCurve"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 98, 111, 110, 100, 105, 110, 103, 45, 99, 117, 114, 118, 101 ]; }, { "kind": "account"; "path": "mint"; } ]; }; }, { "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": "creator"; "type": "pubkey"; } ]; }, { "name": "setMayhemVirtualParams"; "discriminator": [ 61, 169, 188, 191, 153, 149, 42, 97 ]; "accounts": [ { "name": "solVaultAuthority"; "writable": true; "signer": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 115, 111, 108, 45, 118, 97, 117, 108, 116 ]; } ]; "program": { "kind": "const"; "value": [ 5, 42, 229, 215, 167, 218, 167, 36, 166, 234, 176, 167, 41, 84, 145, 133, 90, 212, 160, 103, 22, 96, 103, 76, 78, 3, 69, 89, 128, 61, 101, 163 ]; }; }; }, { "name": "mayhemTokenVault"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "solVaultAuthority"; }, { "kind": "account"; "path": "tokenProgram"; }, { "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": "mint"; }, { "name": "global"; "pda": { "seeds": [ { "kind": "const"; "value": [ 103, 108, 111, 98, 97, 108 ]; } ]; }; }, { "name": "bondingCurve"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 98, 111, 110, 100, 105, 110, 103, 45, 99, 117, 114, 118, 101 ]; }, { "kind": "account"; "path": "mint"; } ]; }; }, { "name": "tokenProgram"; "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": "setMetaplexCreator"; "docs": [ "Syncs the bonding curve creator with the Metaplex metadata creator if it exists" ]; "discriminator": [ 138, 96, 174, 217, 48, 85, 197, 246 ]; "accounts": [ { "name": "mint"; }, { "name": "metadata"; "pda": { "seeds": [ { "kind": "const"; "value": [ 109, 101, 116, 97, 100, 97, 116, 97 ]; }, { "kind": "const"; "value": [ 11, 112, 101, 177, 227, 209, 124, 69, 56, 157, 82, 127, 107, 4, 195, 205, 88, 184, 108, 115, 26, 160, 253, 181, 73, 182, 209, 188, 3, 248, 41, 70 ]; }, { "kind": "account"; "path": "mint"; } ]; "program": { "kind": "const"; "value": [ 11, 112, 101, 177, 227, 209, 124, 69, 56, 157, 82, 127, 107, 4, 195, 205, 88, 184, 108, 115, 26, 160, 253, 181, 73, 182, 209, 188, 3, 248, 41, 70 ]; }; }; }, { "name": "bondingCurve"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 98, 111, 110, 100, 105, 110, 103, 45, 99, 117, 114, 118, 101 ]; }, { "kind": "account"; "path": "mint"; } ]; }; }, { "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": "setParams"; "docs": [ "Sets the global state parameters." ]; "discriminator": [ 27, 234, 178, 52, 147, 2, 187, 141 ]; "accounts": [ { "name": "global"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 103, 108, 111, 98, 97, 108 ]; } ]; }; }, { "name": "authority"; "writable": true; "signer": true; "relations": [ "global" ]; }, { "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": "initialVirtualTokenReserves"; "type": "u64"; }, { "name": "initialVirtualSolReserves"; "type": "u64"; }, { "name": "initialRealTokenReserves"; "type": "u64"; }, { "name": "tokenTotalSupply"; "type": "u64"; }, { "name": "feeBasisPoints"; "type": "u64"; }, { "name": "withdrawAuthority"; "type": "pubkey"; }, { "name": "enableMigrate"; "type": "bool"; }, { "name": "poolMigrationFee"; "type": "u64"; }, { "name": "creatorFeeBasisPoints"; "type": "u64"; }, { "name": "setCreatorAuthority"; "type": "pubkey"; }, { "name": "adminSetCreatorAuthority"; "type": "pubkey"; } ]; }, { "name": "setQuoteControlAdmin"; "discriminator": [ 62, 79, 161, 211, 165, 170, 214, 210 ]; "accounts": [ { "name": "global"; "pda": { "seeds": [ { "kind": "const"; "value": [ 103, 108, 111, 98, 97, 108 ]; } ]; }; }, { "name": "authority"; "signer": true; "relations": [ "global" ]; }, { "name": "quoteControl"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 113, 117, 111, 116, 101, 45, 99, 111, 110, 116, 114, 111, 108 ]; } ]; }; }, { "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": "newAdmin"; "type": "pubkey"; } ]; }, { "name": "setReservedFeeRecipients"; "discriminator": [ 111, 172, 162, 232, 114, 89, 213, 142 ]; "accounts": [ { "name": "global"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 103, 108, 111, 98, 97, 108 ]; } ]; }; }, { "name": "authority"; "signer": true; "relations": [ "global" ]; }, { "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": "whitelistPda"; "type": "pubkey"; } ]; }, { "name": "setVirtualQuoteReserves"; "discriminator": [ 101, 135, 191, 104, 9, 88, 20, 96 ]; "accounts": [ { "name": "global"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 103, 108, 111, 98, 97, 108 ]; } ]; }; }, { "name": "authority"; "writable": true; "signer": true; "relations": [ "global" ]; }, { "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": "initialVirtualQuoteReserves"; "type": "u64"; } ]; }, { "name": "syncUserVolumeAccumulator"; "discriminator": [ 86, 31, 192, 87, 163, 87, 79, 238 ]; "accounts": [ { "name": "user"; }, { "name": "globalVolumeAccumulator"; "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": "userVolumeAccumulator"; "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": "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": "toggleCashbackEnabled"; "discriminator": [ 115, 103, 224, 255, 189, 89, 86, 195 ]; "accounts": [ { "name": "global"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 103, 108, 111, 98, 97, 108 ]; } ]; }; }, { "name": "authority"; "writable": true; "signer": true; "relations": [ "global" ]; }, { "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": "enabled"; "type": "bool"; } ]; }, { "name": "toggleCreateV2"; "discriminator": [ 28, 255, 230, 240, 172, 107, 203, 171 ]; "accounts": [ { "name": "global"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 103, 108, 111, 98, 97, 108 ]; } ]; }; }, { "name": "authority"; "writable": true; "signer": true; "relations": [ "global" ]; }, { "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": "enabled"; "type": "bool"; } ]; }, { "name": "toggleMayhemMode"; "discriminator": [ 1, 9, 111, 208, 100, 31, 255, 163 ]; "accounts": [ { "name": "global"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 103, 108, 111, 98, 97, 108 ]; } ]; }; }, { "name": "authority"; "writable": true; "signer": true; "relations": [ "global" ]; }, { "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": "enabled"; "type": "bool"; } ]; }, { "name": "updateBuybackConfig"; "discriminator": [ 251, 224, 171, 146, 160, 26, 113, 233 ]; "accounts": [ { "name": "global"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 103, 108, 111, 98, 97, 108 ]; } ]; }; }, { "name": "authority"; "writable": true; "signer": true; "relations": [ "global" ]; }, { "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": "buybackBasisPoints"; "type": { "option": "u64"; }; } ]; }, { "name": "updateCreatorFeeConfig"; "discriminator": [ 61, 175, 160, 249, 66, 66, 136, 175 ]; "accounts": [ { "name": "global"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 103, 108, 111, 98, 97, 108 ]; } ]; }; }, { "name": "authority"; "writable": true; "signer": true; "relations": [ "global" ]; }, { "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": "creatorFeeConfigurable"; "type": "bool"; }, { "name": "maxConfigurableCreatorFeeBps"; "type": "u64"; } ]; }, { "name": "updateGlobalAuthority"; "discriminator": [ 227, 181, 74, 196, 208, 21, 97, 213 ]; "accounts": [ { "name": "global"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 103, 108, 111, 98, 97, 108 ]; } ]; }; }, { "name": "authority"; "signer": true; "relations": [ "global" ]; }, { "name": "newAuthority"; }, { "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": "updateHolderRewardConfig"; "discriminator": [ 225, 252, 66, 4, 199, 35, 236, 16 ]; "accounts": [ { "name": "global"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 103, 108, 111, 98, 97, 108 ]; } ]; }; }, { "name": "authority"; "writable": true; "signer": true; "relations": [ "global" ]; }, { "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": "isHolderRewardEnabled"; "type": "bool"; }, { "name": "holderRewardClaimAuthority"; "type": "pubkey"; } ]; } ]; "accounts": [ { "name": "bondingCurve"; "discriminator": [ 23, 183, 248, 55, 96, 216, 172, 96 ]; }, { "name": "feeConfig"; "discriminator": [ 143, 52, 146, 187, 219, 123, 76, 155 ]; }, { "name": "global"; "discriminator": [ 167, 232, 232, 177, 200, 108, 114, 127 ]; }, { "name": "globalVolumeAccumulator"; "discriminator": [ 202, 42, 246, 43, 142, 190, 30, 255 ]; }, { "name": "quoteControl"; "discriminator": [ 56, 244, 35, 238, 193, 213, 162, 201 ]; }, { "name": "sharingConfig"; "discriminator": [ 216, 74, 9, 0, 56, 140, 93, 75 ]; }, { "name": "userVolumeAccumulator"; "discriminator": [ 86, 255, 112, 14, 102, 53, 154, 250 ]; } ]; "events": [ { "name": "addQuoteControlMintEvent"; "discriminator": [ 164, 175, 87, 74, 88, 45, 33, 62 ]; }, { "name": "adminCtoEvent"; "discriminator": [ 110, 124, 226, 98, 170, 255, 17, 120 ]; }, { "name": "adminSetIdlAuthorityEvent"; "discriminator": [ 245, 59, 70, 34, 75, 185, 109, 92 ]; }, { "name": "adminUpdateTokenIncentivesEvent"; "discriminator": [ 147, 250, 108, 120, 247, 29, 67, 222 ]; }, { "name": "claimCashbackEvent"; "discriminator": [ 226, 214, 246, 33, 7, 242, 147, 229 ]; }, { "name": "claimTokenIncentivesEvent"; "discriminator": [ 79, 172, 246, 49, 205, 91, 206, 232 ]; }, { "name": "closeUserVolumeAccumulatorEvent"; "discriminator": [ 146, 159, 189, 172, 146, 88, 56, 244 ]; }, { "name": "collectCreatorFeeEvent"; "discriminator": [ 122, 2, 127, 1, 14, 191, 12, 175 ]; }, { "name": "completeEvent"; "discriminator": [ 95, 114, 97, 156, 212, 46, 152, 8 ]; }, { "name": "completePumpAmmMigrationEvent"; "discriminator": [ 189, 233, 93, 185, 92, 148, 234, 148 ]; }, { "name": "createEvent"; "discriminator": [ 27, 114, 169, 77, 222, 235, 99, 118 ]; }, { "name": "distributeCreatorFeesEvent"; "discriminator": [ 165, 55, 129, 112, 4, 179, 202, 40 ]; }, { "name": "distributeFeeToHoldersEvent"; "discriminator": [ 227, 190, 215, 206, 176, 180, 165, 132 ]; }, { "name": "extendAccountEvent"; "discriminator": [ 97, 97, 215, 144, 93, 146, 22, 124 ]; }, { "name": "initUserVolumeAccumulatorEvent"; "discriminator": [ 134, 36, 13, 72, 232, 101, 130, 216 ]; }, { "name": "migrateBondingCurveCreatorEvent"; "discriminator": [ 155, 167, 104, 220, 213, 108, 243, 3 ]; }, { "name": "minimumDistributableFeeEvent"; "discriminator": [ 168, 216, 132, 239, 235, 182, 49, 52 ]; }, { "name": "removeQuoteControlMintEvent"; "discriminator": [ 46, 33, 86, 134, 0, 213, 209, 48 ]; }, { "name": "reservedFeeRecipientsEvent"; "discriminator": [ 43, 188, 250, 18, 221, 75, 187, 95 ]; }, { "name": "setCreatorEvent"; "discriminator": [ 237, 52, 123, 37, 245, 251, 72, 210 ]; }, { "name": "setMetaplexCreatorEvent"; "discriminator": [ 142, 203, 6, 32, 127, 105, 191, 162 ]; }, { "name": "setParamsEvent"; "discriminator": [ 223, 195, 159, 246, 62, 48, 143, 131 ]; }, { "name": "setQuoteControlAdminEvent"; "discriminator": [ 74, 248, 141, 69, 202, 81, 30, 247 ]; }, { "name": "syncUserVolumeAccumulatorEvent"; "discriminator": [ 197, 122, 167, 124, 116, 81, 91, 255 ]; }, { "name": "tradeEvent"; "discriminator": [ 189, 219, 127, 211, 78, 230, 97, 238 ]; }, { "name": "updateCreatorFeeConfigEvent"; "discriminator": [ 152, 198, 124, 124, 106, 246, 127, 191 ]; }, { "name": "updateGlobalAuthorityEvent"; "discriminator": [ 182, 195, 137, 42, 35, 206, 207, 247 ]; }, { "name": "updateMayhemVirtualParamsEvent"; "discriminator": [ 117, 123, 228, 182, 161, 168, 220, 214 ]; } ]; "errors": [ { "code": 6000; "name": "notAuthorized"; "msg": "The given account is not authorized to execute this instruction."; }, { "code": 6001; "name": "alreadyInitialized"; "msg": "The program is already initialized."; }, { "code": 6002; "name": "tooMuchSolRequired"; "msg": "slippage: Too much SOL required to buy the given amount of tokens."; }, { "code": 6003; "name": "tooLittleSolReceived"; "msg": "slippage: Too little SOL received to sell the given amount of tokens."; }, { "code": 6004; "name": "mintDoesNotMatchBondingCurve"; "msg": "The mint does not match the bonding curve."; }, { "code": 6005; "name": "bondingCurveComplete"; "msg": "The bonding curve has completed and liquidity migrated to raydium."; }, { "code": 6006; "name": "bondingCurveNotComplete"; "msg": "The bonding curve has not completed."; }, { "code": 6007; "name": "notInitialized"; "msg": "The program is not initialized."; }, { "code": 6008; "name": "withdrawTooFrequent"; "msg": "Withdraw too frequent"; }, { "code": 6009; "name": "newSizeShouldBeGreaterThanCurrentSize"; "msg": "new_size should be > current_size"; }, { "code": 6010; "name": "accountTypeNotSupported"; "msg": "Account type not supported"; }, { "code": 6011; "name": "initialRealTokenReservesShouldBeLessThanTokenTotalSupply"; "msg": "initial_real_token_reserves should be less than token_total_supply"; }, { "code": 6012; "name": "initialVirtualTokenReservesShouldBeGreaterThanInitialRealTokenReserves"; "msg": "initial_virtual_token_reserves should be greater than initial_real_token_reserves"; }, { "code": 6013; "name": "feeBasisPointsGreaterThanMaximum"; "msg": "fee_basis_points greater than maximum"; }, { "code": 6014; "name": "allZerosWithdrawAuthority"; "msg": "Withdraw authority cannot be set to System Program ID"; }, { "code": 6015; "name": "poolMigrationFeeShouldBeLessThanFinalRealSolReserves"; "msg": "pool_migration_fee should be less than final_real_sol_reserves"; }, { "code": 6016; "name": "poolMigrationFeeShouldBeGreaterThanCreatorFeePlusMaxMigrateFees"; "msg": "pool_migration_fee should be greater than creator_fee + MAX_MIGRATE_FEES"; }, { "code": 6017; "name": "disabledWithdraw"; "msg": "Migrate instruction is disabled"; }, { "code": 6018; "name": "disabledMigrate"; "msg": "Migrate instruction is disabled"; }, { "code": 6019; "name": "invalidCreator"; "msg": "Invalid creator pubkey"; }, { "code": 6020; "name": "buyZeroAmount"; "msg": "Buy zero amount"; }, { "code": 6021; "name": "notEnoughTokensToBuy"; "msg": "Not enough tokens to buy"; }, { "code": 6022; "name": "sellZeroAmount"; "msg": "Sell zero amount"; }, { "code": 6023; "name": "notEnoughTokensToSell"; "msg": "Not enough tokens to sell"; }, { "code": 6024; "name": "overflow"; "msg": "overflow"; }, { "code": 6025; "name": "truncation"; "msg": "truncation"; }, { "code": 6026; "name": "divisionByZero"; "msg": "Division by zero"; }, { "code": 6027; "name": "notEnoughRemainingAccounts"; "msg": "Not enough remaining accounts"; }, { "code": 6028; "name": "allFeeRecipientsShouldBeNonZero"; "msg": "All fee recipients should be non-zero"; }, { "code": 6029; "name": "unsortedNotUniqueFeeRecipients"; "msg": "Unsorted or not unique fee recipients"; }, { "code": 6030; "name": "creatorShouldNotBeZero"; "msg": "Creator should not be zero"; }, { "code": 6031; "name": "startTimeInThePast"; }, { "code": 6032; "name": "endTimeInThePast"; }, { "code": 6033; "name": "endTimeBeforeStartTime"; }, { "code": 6034; "name": "timeRangeTooLarge"; }, { "code": 6035; "name": "endTimeBeforeCurrentDay"; }, { "code": 6036; "name": "supplyUpdateForFinishedRange"; }, { "code": 6037; "name": "dayIndexAfterEndIndex"; }, { "code": 6038; "name": "dayInActiveRange"; }, { "code": 6039; "name": "invalidIncentiveMint"; }, { "code": 6040; "name": "buyNotEnoughSolToCoverRent"; "msg": "Buy: Not enough SOL to cover for rent exemption."; }, { "code": 6041; "name": "buyNotEnoughSolToCoverFees"; "msg": "Buy: Not enough SOL to cover for fees."; }, { "code": 6042; "name": "buySlippageBelowMinTokensOut"; "msg": "Slippage: Would buy less tokens than expected min_tokens_out"; }, { "code": 6043; "name": "nameTooLong"; }, { "code": 6044; "name": "symbolTooLong"; }, { "code": 6045; "name": "uriTooLong"; }, { "code": 6046; "name": "createV2Disabled"; }, { "code": 6047; "name": "cpitializeMayhemFailed"; }, { "code": 6048; "name": "mayhemModeDisabled"; }, { "code": 6049; "name": "creatorMigratedToSharingConfig"; "msg": "creator has been migrated to sharing config"; }, { "code": 6050; "name": "unableToDistributeCreatorVaultMigratedToSharingConfig"; "msg": "creator_vault has been migrated to sharing config, use pump:distribute_creator_fees instead"; }, { "code": 6051; "name": "sharingConfigNotActive"; "msg": "Sharing config is not active"; }, { "code": 6052; "name": "unableToDistributeCreatorFeesToExecutableRecipient"; "msg": "The recipient account is executable, so it cannot receive lamports, remove it from the team first"; }, { "code": 6053; "name": "BondingCurveAndSharingConfigCreatorMismatch"; "msg": "Bonding curve creator does not match sharing config"; }, { "code": 6054; "name": "shareholdersAndRemainingAccountsMismatch"; "msg": "Remaining accounts do not match shareholders, make sure to pass exactly the same pubkeys in the same order"; }, { "code": 6055; "name": "invalidShareBps"; "msg": "Share bps must be greater than 0"; }, { "code": 6056; "name": "cashbackNotEnabled"; "msg": "Cashback is not enabled"; }, { "code": 6057; "name": "buybackFeeRecipientNotAuthorized"; "msg": "Buyback fee recipient not authorized"; }, { "code": 6058; "name": "allBuybackFeeRecipientsShouldBeNonZero"; }, { "code": 6059; "name": "notUniqueBuybackFeeRecipients"; }, { "code": 6060; "name": "buybackBasisPointsOutOfRange"; "msg": "buyback_basis_points must be <= 10_000"; }, { "code": 6061; "name": "wrongBuybackFeeRecipientsCount"; "msg": "buyback fee recipients require exactly 8 remaining accounts (or none)"; }, { "code": 6062; "name": "buybackFeeRecipientMissing"; }, { "code": 6063; "name": "unsupportedQuoteMint"; "msg": "Unsupported quote mint"; }, { "code": 6064; "name": "invalidQuoteTokenProgram"; "msg": "Create v2: quote token program must be SPL Token or Token-2022"; }, { "code": 6065; "name": "invalidAssociatedQuoteBondingCurve"; "msg": "Create v2: associated quote bonding curve address does not match derivation"; }, { "code": 6066; "name": "quoteMintWhitelistFull"; "msg": "Quote mint whitelist is full"; }, { "code": 6067; "name": "quoteMintAlreadyWhitelisted"; "msg": "Quote mint is already whitelisted"; }, { "code": 6068; "name": "quoteMintNotWhitelisted"; "msg": "Quote mint is not in the whitelist"; }, { "code": 6069; "name": "quoteMintNotEligibleForWhitelist"; "msg": "Quote mint cannot be added or removed via whitelist (default or native SOL mint)"; }, { "code": 6070; "name": "unableToDistributeCreatorFeesToUninitializedAccount"; "msg": "Unable to distribute creator fees to uninitialized account"; }, { "code": 6071; "name": "mayhemModeQuoteMintNotAllowed"; "msg": "Mayhem mode quote mint not allowed"; }, { "code": 6072; "name": "missingCashbackAccounts"; "msg": "Cashback trade is missing the required remaining accounts"; }, { "code": 6073; "name": "invalidCashbackAccumulator"; "msg": "Cashback user_volume_accumulator account is invalid"; }, { "code": 6074; "name": "invalidBondingCurveV2"; "msg": "bonding_curve_v2 remaining account is missing or invalid"; }, { "code": 6075; "name": "invalidQuoteControl"; "msg": "quote_control remaining account does not match derivation or is uninitialized"; }, { "code": 6076; "name": "invalidCashbackRecipient"; "msg": "Cashback recipient token account is not owned by user"; }, { "code": 6077; "name": "creatorFeeNotConfigurable"; "msg": "Configurable creator fees are disabled"; }, { "code": 6078; "name": "creatorFeeBpsOutOfRange"; "msg": "Creator fee basis points must be between 1 and the configured maximum"; }, { "code": 6079; "name": "creatorFeeNotEditable"; "msg": "Creator fee is not editable for this bonding curve"; }, { "code": 6080; "name": "creatorFeeNotAllowedForCashbackCoin"; "msg": "Creator fee cannot be configured for a cashback coin"; }, { "code": 6081; "name": "bondingCurveAlreadyMigrated"; "msg": "Bonding curve has already migrated"; }, { "code": 6082; "name": "cashbackDeprecated"; "msg": "Cashback coins can no longer be created"; }, { "code": 6083; "name": "holderRewardCreatorImmutable"; "msg": "The creator of a holder-reward coin cannot be changed"; }, { "code": 6084; "name": "holderRewardDisabled"; "msg": "Holder-reward coins are disabled"; }, { "code": 6085; "name": "holderRewardRecipientsMismatch"; "msg": "Holder-reward amounts and recipient accounts do not match"; }, { "code": 6086; "name": "holderRewardsRentFloor"; "msg": "The holder-rewards PDA cannot be left below its rent-exempt minimum"; }, { "code": 6087; "name": "holderRewardTokenAccountMissing"; "msg": "A holder-rewards token account is required on a token quote"; }, { "code": 6088; "name": "ctoNotAllowedForMayhemCoin"; "msg": "CTO is not allowed on a mayhem-mode coin"; }, { "code": 6089; "name": "ctoNewCreatorRequired"; "msg": "new_creator is required unless converting to holder rewards"; }, { "code": 6090; "name": "ctoNewCreatorNotAllowed"; "msg": "new_creator must be omitted when converting to holder rewards"; }, { "code": 6091; "name": "creatorFeeNotConfigurableForQuote"; "msg": "Creator fee is not configurable on a SOL or whitelisted quote; the fee schedule applies"; }, { "code": 6092; "name": "ctoCreatorAccountNotWritable"; "msg": "current_creator must be passed writable so the outgoing creator can be paid"; }, { "code": 6093; "name": "ctoSharedVaultFrozen"; "msg": "A frozen sharing-config vault account holds a balance; thaw it before the holder conversion"; } ]; "types": [ { "name": "addQuoteControlMintEvent"; "type": { "kind": "struct"; "fields": [ { "name": "quoteControl"; "type": "pubkey"; }, { "name": "authority"; "type": "pubkey"; }, { "name": "quoteMint"; "type": "pubkey"; }, { "name": "initialVirtualQuoteReserves"; "type": "u64"; }, { "name": "timestamp"; "type": "i64"; } ]; }; }, { "name": "adminCtoEvent"; "type": { "kind": "struct"; "fields": [ { "name": "timestamp"; "type": "i64"; }, { "name": "authority"; "type": "pubkey"; }, { "name": "mint"; "type": "pubkey"; }, { "name": "bondingCurve"; "type": "pubkey"; }, { "name": "oldCreator"; "type": "pubkey"; }, { "name": "newCreator"; "type": "pubkey"; }, { "name": "isHolderReward"; "type": "bool"; }, { "name": "isCashbackCoin"; "type": "bool"; }, { "name": "oldCreatorFeeBps"; "type": "u64"; }, { "name": "newCreatorFeeBps"; "type": "u64"; }, { "name": "sharingConfigReset"; "type": "bool"; }, { "name": "sweptToHolderVault"; "type": "u64"; }, { "name": "poolUpdated"; "type": "bool"; } ]; }; }, { "name": "adminSetIdlAuthorityEvent"; "type": { "kind": "struct"; "fields": [ { "name": "idlAuthority"; "type": "pubkey"; } ]; }; }, { "name": "adminUpdateTokenIncentivesEvent"; "type": { "kind": "struct"; "fields": [ { "name": "startTime"; "type": "i64"; }, { "name": "endTime"; "type": "i64"; }, { "name": "dayNumber"; "type": "u64"; }, { "name": "tokenSupplyPerDay"; "type": "u64"; }, { "name": "mint"; "type": "pubkey"; }, { "name": "secondsInADay"; "type": "i64"; }, { "name": "timestamp"; "type": "i64"; } ]; }; }, { "name": "bondingCurve"; "type": { "kind": "struct"; "fields": [ { "name": "virtualTokenReserves"; "type": "u64"; }, { "name": "virtualQuoteReserves"; "type": "u64"; }, { "name": "realTokenReserves"; "type": "u64"; }, { "name": "realQuoteReserves"; "type": "u64"; }, { "name": "tokenTotalSupply"; "type": "u64"; }, { "name": "complete"; "type": "bool"; }, { "name": "creator"; "type": "pubkey"; }, { "name": "isMayhemMode"; "type": "bool"; }, { "name": "isCashbackCoin"; "type": "bool"; }, { "name": "quoteMint"; "type": "pubkey"; }, { "name": "creatorFeeBps"; "type": "u64"; }, { "name": "canEditCreatorFee"; "type": "bool"; }, { "name": "isHolderReward"; "type": "bool"; } ]; }; }, { "name": "claimCashbackEvent"; "type": { "kind": "struct"; "fields": [ { "name": "user"; "type": "pubkey"; }, { "name": "amount"; "type": "u64"; }, { "name": "timestamp"; "type": "i64"; }, { "name": "totalClaimed"; "type": "u64"; }, { "name": "totalCashbackEarned"; "type": "u64"; } ]; }; }, { "name": "claimTokenIncentivesEvent"; "type": { "kind": "struct"; "fields": [ { "name": "user"; "type": "pubkey"; }, { "name": "mint"; "type": "pubkey"; }, { "name": "amount"; "type": "u64"; }, { "name": "timestamp"; "type": "i64"; }, { "name": "totalClaimedTokens"; "type": "u64"; }, { "name": "currentSolVolume"; "type": "u64"; } ]; }; }, { "name": "closeUserVolumeAccumulatorEvent"; "type": { "kind": "struct"; "fields": [ { "name": "user"; "type": "pubkey"; }, { "name": "timestamp"; "type": "i64"; }, { "name": "totalUnclaimedTokens"; "type": "u64"; }, { "name": "totalClaimedTokens"; "type": "u64"; }, { "name": "currentSolVolume"; "type": "u64"; }, { "name": "lastUpdateTimestamp"; "type": "i64"; } ]; }; }, { "name": "collectCreatorFeeEvent"; "type": { "kind": "struct"; "fields": [ { "name": "timestamp"; "type": "i64"; }, { "name": "creator"; "type": "pubkey"; }, { "name": "creatorFee"; "type": "u64"; }, { "name": "quoteMint"; "type": "pubkey"; } ]; }; }, { "name": "completeEvent"; "type": { "kind": "struct"; "fields": [ { "name": "user"; "type": "pubkey"; }, { "name": "mint"; "type": "pubkey"; }, { "name": "bondingCurve"; "type": "pubkey"; }, { "name": "timestamp"; "type": "i64"; }, { "name": "quoteMint"; "type": "pubkey"; } ]; }; }, { "name": "completePumpAmmMigrationEvent"; "type": { "kind": "struct"; "fields": [ { "name": "user"; "type": "pubkey"; }, { "name": "mint"; "type": "pubkey"; }, { "name": "mintAmount"; "type": "u64"; }, { "name": "solAmount"; "docs": [ "The variable is interpreted as `amount` in the offchain services", "It is amount in terms of quoteMint for the bondingCurve", "The rename is not done yet to avoid breaking changes in offchain services." ]; "type": "u64"; }, { "name": "poolMigrationFee"; "type": "u64"; }, { "name": "bondingCurve"; "type": "pubkey"; }, { "name": "timestamp"; "type": "i64"; }, { "name": "pool"; "type": "pubkey"; }, { "name": "quoteMint"; "type": "pubkey"; } ]; }; }, { "name": "configStatus"; "type": { "kind": "enum"; "variants": [ { "name": "paused"; }, { "name": "active"; } ]; }; }, { "name": "createEvent"; "type": { "kind": "struct"; "fields": [ { "name": "name"; "type": "string"; }, { "name": "symbol"; "type": "string"; }, { "name": "uri"; "type": "string"; }, { "name": "mint"; "type": "pubkey"; }, { "name": "bondingCurve"; "type": "pubkey"; }, { "name": "user"; "type": "pubkey"; }, { "name": "creator"; "type": "pubkey"; }, { "name": "timestamp"; "type": "i64"; }, { "name": "virtualTokenReserves"; "type": "u64"; }, { "name": "virtualSolReserves"; "type": "u64"; }, { "name": "realTokenReserves"; "type": "u64"; }, { "name": "tokenTotalSupply"; "type": "u64"; }, { "name": "tokenProgram"; "type": "pubkey"; }, { "name": "isMayhemMode"; "type": "bool"; }, { "name": "isCashbackEnabled"; "type": "bool"; }, { "name": "quoteMint"; "type": "pubkey"; }, { "name": "virtualQuoteReserves"; "type": "u64"; }, { "name": "creatorFeeBps"; "type": "u64"; }, { "name": "isHolderReward"; "type": "bool"; } ]; }; }, { "name": "distributeCreatorFeesEvent"; "type": { "kind": "struct"; "fields": [ { "name": "timestamp"; "type": "i64"; }, { "name": "mint"; "type": "pubkey"; }, { "name": "bondingCurve"; "type": "pubkey"; }, { "name": "sharingConfig"; "type": "pubkey"; }, { "name": "admin"; "type": "pubkey"; }, { "name": "shareholders"; "type": { "vec": { "defined": { "name": "shareholder"; }; }; }; }, { "name": "distributed"; "type": "u64"; }, { "name": "quoteMint"; "type": "pubkey"; } ]; }; }, { "name": "distributeFeeToHoldersEvent"; "type": { "kind": "struct"; "fields": [ { "name": "timestamp"; "type": "i64"; }, { "name": "mint"; "type": "pubkey"; }, { "name": "quoteMint"; "type": "pubkey"; }, { "name": "recipients"; "type": "u64"; }, { "name": "total"; "type": "u64"; } ]; }; }, { "name": "extendAccountEvent"; "type": { "kind": "struct"; "fields": [ { "name": "account"; "type": "pubkey"; }, { "name": "user"; "type": "pubkey"; }, { "name": "currentSize"; "type": "u64"; }, { "name": "newSize"; "type": "u64"; }, { "name": "timestamp"; "type": "i64"; } ]; }; }, { "name": "feeConfig"; "type": { "kind": "struct"; "fields": [ { "name": "bump"; "type": "u8"; }, { "name": "admin"; "type": "pubkey"; }, { "name": "flatFees"; "type": { "defined": { "name": "fees"; }; }; }, { "name": "feeTiers"; "type": { "vec": { "defined": { "name": "feeTier"; }; }; }; }, { "name": "stableFeeTiers"; "type": { "vec": { "defined": { "name": "feeTier"; }; }; }; }, { "name": "exoticFlatFees"; "type": { "defined": { "name": "fees"; }; }; } ]; }; }, { "name": "feeTier"; "type": { "kind": "struct"; "fields": [ { "name": "marketCapLamportsThreshold"; "type": "u128"; }, { "name": "fees"; "type": { "defined": { "name": "fees"; }; }; } ]; }; }, { "name": "fees"; "type": { "kind": "struct"; "fields": [ { "name": "lpFeeBps"; "type": "u64"; }, { "name": "protocolFeeBps"; "type": "u64"; }, { "name": "creatorFeeBps"; "type": "u64"; } ]; }; }, { "name": "global"; "type": { "kind": "struct"; "fields": [ { "name": "initialized"; "docs": [ "Unused" ]; "type": "bool"; }, { "name": "authority"; "type": "pubkey"; }, { "name": "feeRecipient"; "type": "pubkey"; }, { "name": "initialVirtualTokenReserves"; "type": "u64"; }, { "name": "initialVirtualSolReserves"; "type": "u64"; }, { "name": "initialRealTokenReserves"; "type": "u64"; }, { "name": "tokenTotalSupply"; "type": "u64"; }, { "name": "feeBasisPoints"; "type": "u64"; }, { "name": "withdrawAuthority"; "type": "pubkey"; }, { "name": "enableMigrate"; "docs": [ "Unused" ]; "type": "bool"; }, { "name": "poolMigrationFee"; "type": "u64"; }, { "name": "creatorFeeBasisPoints"; "type": "u64"; }, { "name": "feeRecipients"; "type": { "array": [ "pubkey", 7 ]; }; }, { "name": "setCreatorAuthority"; "type": "pubkey"; }, { "name": "adminSetCreatorAuthority"; "type": "pubkey"; }, { "name": "createV2Enabled"; "type": "bool"; }, { "name": "whitelistPda"; "type": "pubkey"; }, { "name": "reservedFeeRecipient"; "type": "pubkey"; }, { "name": "mayhemModeEnabled"; "type": "bool"; }, { "name": "reservedFeeRecipients"; "type": { "array": [ "pubkey", 7 ]; }; }, { "name": "isCashbackEnabled"; "type": "bool"; }, { "name": "buybackFeeRecipients"; "type": { "array": [ "pubkey", 8 ]; }; }, { "name": "buybackBasisPoints"; "type": "u64"; }, { "name": "initialVirtualQuoteReserves"; "type": "u64"; }, { "name": "whitelistedQuoteMints"; "type": { "array": [ "pubkey", 1 ]; }; }, { "name": "creatorFeeConfigurable"; "type": "bool"; }, { "name": "maxConfigurableCreatorFeeBps"; "type": "u64"; }, { "name": "holderRewardClaimAuthority"; "type": "pubkey"; }, { "name": "isHolderRewardEnabled"; "type": "bool"; } ]; }; }, { "name": "globalVolumeAccumulator"; "type": { "kind": "struct"; "fields": [ { "name": "startTime"; "type": "i64"; }, { "name": "endTime"; "type": "i64"; }, { "name": "secondsInADay"; "type": "i64"; }, { "name": "mint"; "type": "pubkey"; }, { "name": "totalTokenSupply"; "type": { "array": [ "u64", 30 ]; }; }, { "name": "solVolumes"; "type": { "array": [ "u64", 30 ]; }; } ]; }; }, { "name": "initUserVolumeAccumulatorEvent"; "type": { "kind": "struct"; "fields": [ { "name": "payer"; "type": "pubkey"; }, { "name": "user"; "type": "pubkey"; }, { "name": "timestamp"; "type": "i64"; } ]; }; }, { "name": "migrateBondingCurveCreatorEvent"; "type": { "kind": "struct"; "fields": [ { "name": "timestamp"; "type": "i64"; }, { "name": "mint"; "type": "pubkey"; }, { "name": "bondingCurve"; "type": "pubkey"; }, { "name": "sharingConfig"; "type": "pubkey"; }, { "name": "oldCreator"; "type": "pubkey"; }, { "name": "newCreator"; "type": "pubkey"; } ]; }; }, { "name": "minimumDistributableFeeEvent"; "type": { "kind": "struct"; "fields": [ { "name": "minimumRequired"; "type": "u64"; }, { "name": "distributableFees"; "type": "u64"; }, { "name": "canDistribute"; "type": "bool"; } ]; }; }, { "name": "optionBool"; "type": { "kind": "struct"; "fields": [ "bool" ]; }; }, { "name": "optionU64"; "type": { "kind": "struct"; "fields": [ "u64" ]; }; }, { "name": "quoteControl"; "type": { "kind": "struct"; "fields": [ { "name": "admin"; "type": "pubkey"; }, { "name": "reserved"; "type": { "array": [ "u8", 64 ]; }; }, { "name": "mints"; "type": { "vec": { "defined": { "name": "quoteControlMint"; }; }; }; } ]; }; }, { "name": "quoteControlMint"; "type": { "kind": "struct"; "fields": [ { "name": "mint"; "type": "pubkey"; }, { "name": "initialVirtualQuoteReserves"; "type": "u64"; } ]; }; }, { "name": "removeQuoteControlMintEvent"; "type": { "kind": "struct"; "fields": [ { "name": "quoteControl"; "type": "pubkey"; }, { "name": "authority"; "type": "pubkey"; }, { "name": "quoteMint"; "type": "pubkey"; }, { "name": "timestamp"; "type": "i64"; } ]; }; }, { "name": "reservedFeeRecipientsEvent"; "type": { "kind": "struct"; "fields": [ { "name": "timestamp"; "type": "i64"; }, { "name": "reservedFeeRecipient"; "type": "pubkey"; }, { "name": "reservedFeeRecipients"; "type": { "array": [ "pubkey", 7 ]; }; } ]; }; }, { "name": "setCreatorEvent"; "type": { "kind": "struct"; "fields": [ { "name": "timestamp"; "type": "i64"; }, { "name": "mint"; "type": "pubkey"; }, { "name": "bondingCurve"; "type": "pubkey"; }, { "name": "creator"; "type": "pubkey"; } ]; }; }, { "name": "setMetaplexCreatorEvent"; "type": { "kind": "struct"; "fields": [ { "name": "timestamp"; "type": "i64"; }, { "name": "mint"; "type": "pubkey"; }, { "name": "bondingCurve"; "type": "pubkey"; }, { "name": "metadata"; "type": "pubkey"; }, { "name": "creator"; "type": "pubkey"; } ]; }; }, { "name": "setParamsEvent"; "type": { "kind": "struct"; "fields": [ { "name": "initialVirtualTokenReserves"; "type": "u64"; }, { "name": "initialVirtualSolReserves"; "type": "u64"; }, { "name": "initialRealTokenReserves"; "type": "u64"; }, { "name": "finalRealSolReserves"; "type": "u64"; }, { "name": "tokenTotalSupply"; "type": "u64"; }, { "name": "feeBasisPoints"; "type": "u64"; }, { "name": "withdrawAuthority"; "type": "pubkey"; }, { "name": "enableMigrate"; "type": "bool"; }, { "name": "poolMigrationFee"; "type": "u64"; }, { "name": "creatorFeeBasisPoints"; "type": "u64"; }, { "name": "feeRecipients"; "type": { "array": [ "pubkey", 8 ]; }; }, { "name": "timestamp"; "type": "i64"; }, { "name": "setCreatorAuthority"; "type": "pubkey"; }, { "name": "adminSetCreatorAuthority"; "type": "pubkey"; } ]; }; }, { "name": "setQuoteControlAdminEvent"; "type": { "kind": "struct"; "fields": [ { "name": "quoteControl"; "type": "pubkey"; }, { "name": "authority"; "type": "pubkey"; }, { "name": "oldAdmin"; "type": "pubkey"; }, { "name": "newAdmin"; "type": "pubkey"; }, { "name": "timestamp"; "type": "i64"; } ]; }; }, { "name": "shareholder"; "type": { "kind": "struct"; "fields": [ { "name": "address"; "type": "pubkey"; }, { "name": "shareBps"; "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": "adminRevoked"; "type": "bool"; }, { "name": "shareholders"; "type": { "vec": { "defined": { "name": "shareholder"; }; }; }; } ]; }; }, { "name": "syncUserVolumeAccumulatorEvent"; "type": { "kind": "struct"; "fields": [ { "name": "user"; "type": "pubkey"; }, { "name": "totalClaimedTokensBefore"; "type": "u64"; }, { "name": "totalClaimedTokensAfter"; "type": "u64"; }, { "name": "timestamp"; "type": "i64"; } ]; }; }, { "name": "tradeEvent"; "docs": [ "ix_name: \"buy\" | \"sell\" | \"buy_exact_sol_in\"" ]; "type": { "kind": "struct"; "fields": [ { "name": "mint"; "type": "pubkey"; }, { "name": "solAmount"; "type": "u64"; }, { "name": "tokenAmount"; "type": "u64"; }, { "name": "isBuy"; "type": "bool"; }, { "name": "user"; "type": "pubkey"; }, { "name": "timestamp"; "type": "i64"; }, { "name": "virtualSolReserves"; "type": "u64"; }, { "name": "virtualTokenReserves"; "type": "u64"; }, { "name": "realSolReserves"; "type": "u64"; }, { "name": "realTokenReserves"; "type": "u64"; }, { "name": "feeRecipient"; "type": "pubkey"; }, { "name": "feeBasisPoints"; "type": "u64"; }, { "name": "fee"; "type": "u64"; }, { "name": "creator"; "type": "pubkey"; }, { "name": "creatorFeeBasisPoints"; "type": "u64"; }, { "name": "creatorFee"; "type": "u64"; }, { "name": "trackVolume"; "type": "bool"; }, { "name": "totalUnclaimedTokens"; "type": "u64"; }, { "name": "totalClaimedTokens"; "type": "u64"; }, { "name": "currentSolVolume"; "type": "u64"; }, { "name": "lastUpdateTimestamp"; "type": "i64"; }, { "name": "ixName"; "type": "string"; }, { "name": "mayhemMode"; "type": "bool"; }, { "name": "cashbackFeeBasisPoints"; "type": "u64"; }, { "name": "cashback"; "type": "u64"; }, { "name": "buybackFeeBasisPoints"; "type": "u64"; }, { "name": "buybackFee"; "type": "u64"; }, { "name": "shareholders"; "type": { "vec": { "defined": { "name": "shareholder"; }; }; }; }, { "name": "quoteMint"; "type": "pubkey"; }, { "name": "quoteAmount"; "type": "u64"; }, { "name": "virtualQuoteReserves"; "type": "u64"; }, { "name": "realQuoteReserves"; "type": "u64"; }, { "name": "holderRewardsBps"; "type": "u64"; }, { "name": "holderRewards"; "type": "u64"; } ]; }; }, { "name": "updateCreatorFeeConfigEvent"; "type": { "kind": "struct"; "fields": [ { "name": "timestamp"; "type": "i64"; }, { "name": "authority"; "type": "pubkey"; }, { "name": "creatorFeeConfigurable"; "type": "bool"; }, { "name": "maxConfigurableCreatorFeeBps"; "type": "u64"; } ]; }; }, { "name": "updateGlobalAuthorityEvent"; "type": { "kind": "struct"; "fields": [ { "name": "global"; "type": "pubkey"; }, { "name": "authority"; "type": "pubkey"; }, { "name": "newAuthority"; "type": "pubkey"; }, { "name": "timestamp"; "type": "i64"; } ]; }; }, { "name": "updateMayhemVirtualParamsEvent"; "type": { "kind": "struct"; "fields": [ { "name": "timestamp"; "type": "i64"; }, { "name": "mint"; "type": "pubkey"; }, { "name": "virtualTokenReserves"; "type": "u64"; }, { "name": "virtualSolReserves"; "type": "u64"; }, { "name": "newVirtualTokenReserves"; "type": "u64"; }, { "name": "newVirtualSolReserves"; "type": "u64"; }, { "name": "realTokenReserves"; "type": "u64"; }, { "name": "realSolReserves"; "type": "u64"; } ]; }; }, { "name": "userVolumeAccumulator"; "type": { "kind": "struct"; "fields": [ { "name": "user"; "type": "pubkey"; }, { "name": "needsClaim"; "type": "bool"; }, { "name": "totalUnclaimedTokens"; "type": "u64"; }, { "name": "totalClaimedTokens"; "type": "u64"; }, { "name": "currentSolVolume"; "type": "u64"; }, { "name": "lastUpdateTimestamp"; "type": "i64"; }, { "name": "hasTotalClaimedTokens"; "type": "bool"; }, { "name": "cashbackEarned"; "type": "u64"; }, { "name": "totalCashbackClaimed"; "type": "u64"; }, { "name": "stableCashbackEarned"; "type": "u64"; }, { "name": "totalStableCashbackClaimed"; "type": "u64"; } ]; }; } ]; }; var address = "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P"; var metadata = { name: "pump", version: "0.1.0", spec: "0.1.0", description: "Created with Anchor" }; var instructions = [ { name: "add_quote_control_mint", discriminator: [ 2, 14, 61, 138, 170, 142, 14, 95 ], accounts: [ { name: "authority", writable: true, signer: true }, { name: "global", pda: { seeds: [ { kind: "const", value: [ 103, 108, 111, 98, 97, 108 ] } ] } }, { name: "quote_control", writable: true, pda: { seeds: [ { kind: "const", value: [ 113, 117, 111, 116, 101, 45, 99, 111, 110, 116, 114, 111, 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: "quote_mint", type: "pubkey" }, { name: "initial_virtual_quote_reserves", type: "u64" } ] }, { name: "add_quote_mint", discriminator: [ 111, 121, 21, 56, 40, 24, 94, 209 ], accounts: [ { name: "global", writable: true, pda: { seeds: [ { kind: "const", value: [ 103, 108, 111, 98, 97, 108 ] } ] } }, { name: "authority", writable: true, signer: true, relations: [ "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: "quote_mint", type: "pubkey" } ] }, { name: "admin_cto", discriminator: [ 125, 126, 214, 134, 77, 229, 188, 89 ], accounts: [ { name: "admin_set_creator_authority", writable: true, signer: true, relations: [ "global" ] }, { name: "global", pda: { seeds: [ { kind: "const", value: [ 103, 108, 111, 98, 97, 108 ] } ] } }, { name: "mint" }, { name: "quote_mint" }, { name: "quote_token_program" }, { name: "associated_token_program", address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL" }, { 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" } ] } }, { name: "current_creator", docs: [ "Not declared writable: a pre-creator (legacy) curve stores the zero key, which is the", "system program, whose write lock the runtime always demotes. Callers MUST still pass this", "account as writable whenever it is a wallet, so the outgoing creator can be paid from its", "vaults; otherwise the instruction fails with `CtoCreatorAccountNotWritable`. A creator that", "is not a system-owned wallet (a program, a sysvar, a pump-fees or other program-owned", "account) is skipped, its vault balances stay collectable, and it may be passed read-only." ] }, { name: "current_creator_quote_token_account", writable: true, pda: { seeds: [ { kind: "account", path: "current_creator" }, { kind: "account", path: "quote_token_program" }, { kind: "account", path: "quote_mint" } ], program: { kind: "account", path: "associated_token_program" } } }, { name: "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: "current_creator" } ] } }, { name: "creator_vault_quote_token_account", writable: true, pda: { seeds: [ { kind: "account", path: "creator_vault" }, { kind: "account", path: "quote_token_program" }, { kind: "account", path: "quote_mint" } ], program: { kind: "account", path: "associated_token_program" } } }, { name: "holder_creator_vault", docs: [ "`[\"creator-vault\", find_program_address([\"holder-rewards\", mint], pump)]`. The sweep", "destination on the holder path of a fee-shared coin, ignored otherwise. Re-derived in the", "handler before it is written to; kept out of the seeds constraints to stay under the sBPF", "stack frame." ], writable: true }, { name: "holder_creator_vault_quote_token_account", writable: true, pda: { seeds: [ { kind: "account", path: "holder_creator_vault" }, { kind: "account", path: "quote_token_program" }, { kind: "account", path: "quote_mint" } ], program: { kind: "account", path: "associated_token_program" } } }, { name: "pump_amm", address: "pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA" }, { name: "amm_global_config", pda: { seeds: [ { kind: "const", value: [ 103, 108, 111, 98, 97, 108, 95, 99, 111, 110, 102, 105, 103 ] } ], program: { kind: "account", path: "pump_amm" } } }, { name: "pool_authority", pda: { seeds: [ { kind: "const", value: [ 112, 111, 111, 108, 45, 97, 117, 116, 104, 111, 114, 105, 116, 121 ] }, { kind: "account", path: "mint" } ] } }, { name: "pool", writable: true, pda: { seeds: [ { kind: "const", value: [ 112, 111, 111, 108 ] }, { kind: "const", value: [ 0, 0 ] }, { kind: "account", path: "pool_authority" }, { kind: "account", path: "mint" }, { kind: "account", path: "quote_mint" } ], program: { kind: "account", path: "pump_amm" } } }, { name: "pump_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: "account", path: "pump_amm" } } }, { 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: "current_creator" } ], program: { kind: "account", path: "pump_amm" } } }, { 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: "account", path: "associated_token_program" } } }, { 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" } ], program: { kind: "account", path: "pump_fees" } } }, { name: "pump_fees", address: "pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ" }, { name: "pump_fees_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: "account", path: "pump_fees" } } }, { 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: "is_holder_reward", type: { option: "bool" } }, { name: "creator_fee_bps", type: { option: "u64" } }, { name: "new_creator", type: { option: "pubkey" } } ] }, { name: "admin_set_idl_authority", discriminator: [ 8, 217, 96, 231, 144, 104, 192, 5 ], accounts: [ { name: "authority", signer: true, relations: [ "global" ] }, { name: "global", pda: { seeds: [ { kind: "const", value: [ 103, 108, 111, 98, 97, 108 ] } ] } }, { name: "idl_account", writable: true }, { name: "system_program", address: "11111111111111111111111111111111" }, { name: "program_signer", pda: { seeds: [ ] } }, { 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: "idl_authority", type: "pubkey" } ] }, { name: "admin_update_token_incentives", discriminator: [ 209, 11, 115, 87, 213, 23, 124, 204 ], accounts: [ { name: "authority", writable: true, signer: true, relations: [ "global" ] }, { name: "global", pda: { seeds: [ { kind: "const", value: [ 103, 108, 111, 98, 97, 108 ] } ] } }, { name: "global_volume_accumulator", writable: true, pda: { seeds: [ { kind: "const", value: [ 103, 108, 111, 98, 97, 108, 95, 118, 111, 108, 117, 109, 101, 95, 97, 99, 99, 117, 109, 117, 108, 97, 116, 111, 114 ] } ] } }, { name: "mint" }, { name: "global_incentive_token_account", writable: true, pda: { seeds: [ { kind: "account", path: "global_volume_accumulator" }, { kind: "account", path: "token_program" }, { kind: "account", path: "mint" } ], program: { kind: "const", value: [ 140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142, 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216, 219, 233, 248, 89 ] } } }, { name: "associated_token_program", address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL" }, { name: "system_program", address: "11111111111111111111111111111111" }, { name: "token_program" }, { name: "event_authority", pda: { seeds: [ { kind: "const", value: [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ] } ] } }, { name: "program" } ], args: [ { name: "start_time", type: "i64" }, { name: "end_time", type: "i64" }, { name: "seconds_in_a_day", type: "i64" }, { name: "day_number", type: "u64" }, { name: "pump_token_supply_per_day", type: "u64" } ] }, { name: "buy", docs: [ "Buys tokens from a bonding curve." ], discriminator: [ 102, 6, 61, 18, 1, 218, 235, 234 ], accounts: [ { name: "global", pda: { seeds: [ { kind: "const", value: [ 103, 108, 111, 98, 97, 108 ] } ] } }, { name: "fee_recipient", writable: true }, { name: "mint" }, { 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" } ] } }, { name: "associated_bonding_curve", writable: true, pda: { seeds: [ { kind: "account", path: "bonding_curve" }, { kind: "account", path: "token_program" }, { kind: "account", path: "mint" } ], program: { kind: "const", value: [ 140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142, 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216, 219, 233, 248, 89 ] } } }, { name: "associated_user", writable: true }, { name: "user", writable: true, signer: true }, { name: "system_program", address: "11111111111111111111111111111111" }, { name: "token_program" }, { name: "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: "bonding_curve.creator", account: "BondingCurve" } ] } }, { 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: "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P" }, { name: "global_volume_accumulator", pda: { seeds: [ { kind: "const", value: [ 103, 108, 111, 98, 97, 108, 95, 118, 111, 108, 117, 109, 101, 95, 97, 99, 99, 117, 109, 117, 108, 97, 116, 111, 114 ] } ] } }, { name: "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: [ 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 ] } ], program: { kind: "account", path: "fee_program" } } }, { name: "fee_program", address: "pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ" } ], args: [ { name: "amount", type: "u64" }, { name: "max_sol_cost", type: "u64" }, { name: "track_volume", type: { defined: { name: "OptionBool" } } } ] }, { name: "buy_exact_quote_in_v2", discriminator: [ 194, 171, 28, 70, 104, 77, 91, 47 ], accounts: [ { name: "global", pda: { seeds: [ { kind: "const", value: [ 103, 108, 111, 98, 97, 108 ] } ] } }, { name: "base_mint" }, { name: "quote_mint" }, { name: "base_token_program" }, { name: "quote_token_program" }, { name: "associated_token_program", address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL" }, { name: "fee_recipient", writable: true }, { name: "associated_quote_fee_recipient", writable: true, pda: { seeds: [ { kind: "account", path: "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: "buyback_fee_recipient", writable: true }, { name: "associated_quote_buyback_fee_recipient", writable: true, pda: { seeds: [ { kind: "account", path: "buyback_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: "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: "base_mint" } ] } }, { name: "associated_base_bonding_curve", writable: true, pda: { seeds: [ { kind: "account", path: "bonding_curve" }, { kind: "account", path: "base_token_program" }, { kind: "account", path: "base_mint" } ], program: { kind: "const", value: [ 140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142, 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216, 219, 233, 248, 89 ] } } }, { name: "associated_quote_bonding_curve", writable: true, pda: { seeds: [ { kind: "account", path: "bonding_curve" }, { 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: "user", writable: true, signer: true }, { name: "associated_base_user", writable: true }, { name: "associated_quote_user", docs: [ "canonical SPL associated-token PDA. Validated in handlers via", "`validate_user_quote_token_account` for non-legacy mints; ignored for legacy (SOL) trades." ], writable: true }, { name: "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: "bonding_curve.creator", account: "BondingCurve" } ] } }, { name: "associated_creator_vault", writable: true, pda: { seeds: [ { kind: "account", path: "creator_vault" }, { 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: "sharing_config", docs: [ "seeds; the account is intentionally not deserialized here because it may be uninitialized", "for mints that have not created a fee sharing config. Handlers must check", "`data_is_empty()` / owner before reading." ], pda: { seeds: [ { kind: "const", value: [ 115, 104, 97, 114, 105, 110, 103, 45, 99, 111, 110, 102, 105, 103 ] }, { kind: "account", path: "base_mint" } ], program: { kind: "const", value: [ 12, 53, 255, 169, 5, 90, 142, 86, 141, 168, 247, 188, 7, 86, 21, 39, 76, 241, 201, 44, 164, 31, 64, 0, 156, 81, 106, 164, 20, 194, 124, 112 ] } } }, { name: "global_volume_accumulator", pda: { seeds: [ { kind: "const", value: [ 103, 108, 111, 98, 97, 108, 95, 118, 111, 108, 117, 109, 101, 95, 97, 99, 99, 117, 109, 117, 108, 97, 116, 111, 114 ] } ] } }, { name: "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: "associated_user_volume_accumulator", writable: true, pda: { seeds: [ { kind: "account", path: "user_volume_accumulator" }, { 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: "fee_config", pda: { seeds: [ { kind: "const", value: [ 102, 101, 101, 95, 99, 111, 110, 102, 105, 103 ] }, { 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 ] } ], program: { kind: "account", path: "fee_program" } } }, { name: "fee_program", address: "pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ" }, { 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", address: "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P" } ], args: [ { name: "spendable_quote_in", type: "u64" }, { name: "min_tokens_out", type: "u64" } ] }, { name: "buy_exact_sol_in", docs: [ "Given a budget of spendable SOL, buy at least min_tokens_out tokens.", "Fees are deducted from spendable_sol_in.", "", "# Quote formulas", "Where:", "- total_fee_bps = protocol_fee_bps + creator_fee_bps (creator_fee_bps is 0 if no creator)", "- floor(a/b) = a / b (integer division)", "- ceil(a/b) = (a + b - 1) / b", "", "SOL → tokens quote", "To calculate tokens_out for a given spendable_sol_in:", "1. net_sol = floor(spendable_sol_in * 10_000 / (10_000 + total_fee_bps))", "2. fees = ceil(net_sol * protocol_fee_bps / 10_000) + ceil(net_sol * creator_fee_bps / 10_000) (creator_fee_bps is 0 if no creator)", "3. if net_sol + fees > spendable_sol_in: net_sol = net_sol - (net_sol + fees - spendable_sol_in)", "4. tokens_out = floor((net_sol - 1) * virtual_token_reserves / (virtual_sol_reserves + net_sol - 1))", "", "Reverse quote (tokens → SOL)", "To calculate spendable_sol_in for a desired number of tokens:", "1. net_sol = ceil(tokens * virtual_sol_reserves / (virtual_token_reserves - tokens)) + 1", "2. spendable_sol_in = ceil(net_sol * (10_000 + total_fee_bps) / 10_000)", "", "Rent", "Separately make sure the instruction's payer has enough SOL to cover rent for:", "- creator_vault: rent.minimum_balance(0)", "- user_volume_accumulator: rent.minimum_balance(UserVolumeAccumulator::LEN)" ], discriminator: [ 56, 252, 116, 8, 158, 223, 205, 95 ], accounts: [ { name: "global", pda: { seeds: [ { kind: "const", value: [ 103, 108, 111, 98, 97, 108 ] } ] } }, { name: "fee_recipient", writable: true }, { name: "mint" }, { 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" } ] } }, { name: "associated_bonding_curve", writable: true, pda: { seeds: [ { kind: "account", path: "bonding_curve" }, { kind: "account", path: "token_program" }, { kind: "account", path: "mint" } ], program: { kind: "const", value: [ 140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142, 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216, 219, 233, 248, 89 ] } } }, { name: "associated_user", writable: true }, { name: "user", writable: true, signer: true }, { name: "system_program", address: "11111111111111111111111111111111" }, { name: "token_program" }, { name: "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: "bonding_curve.creator", account: "BondingCurve" } ] } }, { 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: "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P" }, { name: "global_volume_accumulator", pda: { seeds: [ { kind: "const", value: [ 103, 108, 111, 98, 97, 108, 95, 118, 111, 108, 117, 109, 101, 95, 97, 99, 99, 117, 109, 117, 108, 97, 116, 111, 114 ] } ] } }, { name: "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: [ 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 ] } ], program: { kind: "account", path: "fee_program" } } }, { name: "fee_program", address: "pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ" } ], args: [ { name: "spendable_sol_in", type: "u64" }, { name: "min_tokens_out", type: "u64" }, { name: "track_volume", type: { defined: { name: "OptionBool" } } } ] }, { name: "buy_v2", discriminator: [ 184, 23, 238, 97, 103, 197, 211, 61 ], accounts: [ { name: "global", pda: { seeds: [ { kind: "const", value: [ 103, 108, 111, 98, 97, 108 ] } ] } }, { name: "base_mint" }, { name: "quote_mint" }, { name: "base_token_program" }, { name: "quote_token_program" }, { name: "associated_token_program", address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL" }, { name: "fee_recipient", writable: true }, { name: "associated_quote_fee_recipient", writable: true, pda: { seeds: [ { kind: "account", path: "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: "buyback_fee_recipient", writable: true }, { name: "associated_quote_buyback_fee_recipient", writable: true, pda: { seeds: [ { kind: "account", path: "buyback_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: "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: "base_mint" } ] } }, { name: "associated_base_bonding_curve", writable: true, pda: { seeds: [ { kind: "account", path: "bonding_curve" }, { kind: "account", path: "base_token_program" }, { kind: "account", path: "base_mint" } ], program: { kind: "const", value: [ 140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142, 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216, 219, 233, 248, 89 ] } } }, { name: "associated_quote_bonding_curve", writable: true, pda: { seeds: [ { kind: "account", path: "bonding_curve" }, { 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: "user", writable: true, signer: true }, { name: "associated_base_user", writable: true }, { name: "associated_quote_user", docs: [ "canonical SPL associated-token PDA. Validated in handlers via", "`validate_user_quote_token_account` for non-legacy mints; ignored for legacy (SOL) trades." ], writable: true }, { name: "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: "bonding_curve.creator", account: "BondingCurve" } ] } }, { name: "associated_creator_vault", writable: true, pda: { seeds: [ { kind: "account", path: "creator_vault" }, { 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: "sharing_config", docs: [ "seeds; the account is intentionally not deserialized here because it may be uninitialized", "for mints that have not created a fee sharing config. Handlers must check", "`data_is_empty()` / owner before reading." ], pda: { seeds: [ { kind: "const", value: [ 115, 104, 97, 114, 105, 110, 103, 45, 99, 111, 110, 102, 105, 103 ] }, { kind: "account", path: "base_mint" } ], program: { kind: "const", value: [ 12, 53, 255, 169, 5, 90, 142, 86, 141, 168, 247, 188, 7, 86, 21, 39, 76, 241, 201, 44, 164, 31, 64, 0, 156, 81, 106, 164, 20, 194, 124, 112 ] } } }, { name: "global_volume_accumulator", pda: { seeds: [ { kind: "const", value: [ 103, 108, 111, 98, 97, 108, 95, 118, 111, 108, 117, 109, 101, 95, 97, 99, 99, 117, 109, 117, 108, 97, 116, 111, 114 ] } ] } }, { name: "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: "associated_user_volume_accumulator", writable: true, pda: { seeds: [ { kind: "account", path: "user_volume_accumulator" }, { 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: "fee_config", pda: { seeds: [ { kind: "const", value: [ 102, 101, 101, 95, 99, 111, 110, 102, 105, 103 ] }, { 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 ] } ], program: { kind: "account", path: "fee_program" } } }, { name: "fee_program", address: "pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ" }, { 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", address: "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P" } ], args: [ { name: "amount", type: "u64" }, { name: "max_sol_cost", type: "u64" } ] }, { name: "claim_cashback", discriminator: [ 37, 58, 35, 126, 190, 53, 228, 197 ], accounts: [ { name: "user", writable: true }, { name: "user_volume_accumulator", writable: true, pda: { seeds: [ { kind: "const", value: [ 117, 115, 101, 114, 95, 118, 111, 108, 117, 109, 101, 95, 97, 99, 99, 117, 109, 117, 108, 97, 116, 111, 114 ] }, { kind: "account", path: "user" } ] } }, { name: "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", address: "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P" } ], args: [ ] }, { name: "claim_cashback_v2", docs: [ "Pays out the user's accrued cashback. For a token quote, `associated_quote_user` may be", "any token account of `quote_mint` owned by `user`, not only the associated one." ], discriminator: [ 122, 243, 204, 65, 94, 116, 29, 55 ], accounts: [ { name: "user", writable: true }, { name: "user_volume_accumulator", writable: true, pda: { seeds: [ { kind: "const", value: [ 117, 115, 101, 114, 95, 118, 111, 108, 117, 109, 101, 95, 97, 99, 99, 117, 109, 117, 108, 97, 116, 111, 114 ] }, { kind: "account", path: "user" } ] } }, { name: "quote_mint" }, { name: "quote_token_program" }, { name: "associated_token_program", address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL" }, { name: "associated_user_volume_accumulator", writable: true, pda: { seeds: [ { kind: "account", path: "user_volume_accumulator" }, { kind: "account", path: "quote_token_program" }, { kind: "account", path: "quote_mint" } ], program: { kind: "account", path: "associated_token_program" } } }, { name: "associated_quote_user", writable: true }, { name: "system_program", address: "11111111111111111111111111111111" }, { name: "event_authority", pda: { seeds: [ { kind: "const", value: [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ] } ] } }, { name: "program", address: "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P" } ], args: [ ] }, { name: "claim_token_incentives", discriminator: [ 16, 4, 71, 28, 204, 1, 40, 27 ], accounts: [ { name: "user" }, { name: "user_ata", writable: true, pda: { seeds: [ { kind: "account", path: "user" }, { kind: "account", path: "token_program" }, { kind: "account", path: "mint" } ], program: { kind: "const", value: [ 140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142, 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216, 219, 233, 248, 89 ] } } }, { name: "global_volume_accumulator", pda: { seeds: [ { kind: "const", value: [ 103, 108, 111, 98, 97, 108, 95, 118, 111, 108, 117, 109, 101, 95, 97, 99, 99, 117, 109, 117, 108, 97, 116, 111, 114 ] } ] } }, { name: "global_incentive_token_account", writable: true, pda: { seeds: [ { kind: "account", path: "global_volume_accumulator" }, { kind: "account", path: "token_program" }, { kind: "account", path: "mint" } ], program: { kind: "const", value: [ 140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142, 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216, 219, 233, 248, 89 ] } } }, { name: "user_volume_accumulator", writable: true, pda: { seeds: [ { kind: "const", value: [ 117, 115, 101, 114, 95, 118, 111, 108, 117, 109, 101, 95, 97, 99, 99, 117, 109, 117, 108, 97, 116, 111, 114 ] }, { kind: "account", path: "user" } ] } }, { name: "mint", relations: [ "global_volume_accumulator" ] }, { name: "token_program" }, { name: "system_program", address: "11111111111111111111111111111111" }, { name: "associated_token_program", address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL" }, { name: "event_authority", pda: { seeds: [ { kind: "const", value: [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ] } ] } }, { name: "program", address: "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P" }, { name: "payer", writable: true, signer: true } ], args: [ ] }, { name: "close_user_volume_accumulator", discriminator: [ 249, 69, 164, 218, 150, 103, 84, 138 ], accounts: [ { name: "user", writable: true, signer: true }, { name: "user_volume_accumulator", writable: true, pda: { seeds: [ { kind: "const", value: [ 117, 115, 101, 114, 95, 118, 111, 108, 117, 109, 101, 95, 97, 99, 99, 117, 109, 117, 108, 97, 116, 111, 114 ] }, { kind: "account", path: "user" } ] } }, { name: "event_authority", pda: { seeds: [ { kind: "const", value: [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ] } ] } }, { name: "program" } ], args: [ ] }, { name: "collect_creator_fee", docs: [ "Collects creator_fee from creator_vault to the coin creator account" ], discriminator: [ 20, 22, 86, 123, 198, 28, 219, 132 ], accounts: [ { name: "creator", writable: true }, { name: "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: "creator" } ] } }, { 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: "collect_creator_fee_v2", docs: [ "Collects creator_fee from creator_vault to the coin creator account" ], discriminator: [ 207, 17, 138, 242, 4, 34, 19, 56 ], accounts: [ { name: "creator", writable: true }, { name: "creator_token_account", writable: true, pda: { seeds: [ { kind: "account", path: "creator" }, { kind: "account", path: "quote_token_program" }, { kind: "account", path: "quote_mint" } ], program: { kind: "account", path: "associated_token_program" } } }, { name: "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: "creator" } ] } }, { name: "creator_vault_token_account", writable: true, pda: { seeds: [ { kind: "account", path: "creator_vault" }, { kind: "account", path: "quote_token_program" }, { kind: "account", path: "quote_mint" } ], program: { kind: "account", path: "associated_token_program" } } }, { name: "quote_mint" }, { name: "quote_token_program" }, { name: "associated_token_program", address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL" }, { 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: "create", docs: [ "Creates a new coin and bonding curve." ], discriminator: [ 24, 30, 200, 40, 5, 28, 7, 119 ], accounts: [ { name: "mint", writable: true, signer: true }, { name: "mint_authority", pda: { seeds: [ { kind: "const", value: [ 109, 105, 110, 116, 45, 97, 117, 116, 104, 111, 114, 105, 116, 121 ] } ] } }, { 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" } ] } }, { name: "associated_bonding_curve", writable: true, pda: { seeds: [ { kind: "account", path: "bonding_curve" }, { 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: "mint" } ], program: { kind: "const", value: [ 140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142, 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216, 219, 233, 248, 89 ] } } }, { name: "global", pda: { seeds: [ { kind: "const", value: [ 103, 108, 111, 98, 97, 108 ] } ] } }, { name: "mpl_token_metadata", address: "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s" }, { name: "metadata", writable: true, pda: { seeds: [ { kind: "const", value: [ 109, 101, 116, 97, 100, 97, 116, 97 ] }, { kind: "const", value: [ 11, 112, 101, 177, 227, 209, 124, 69, 56, 157, 82, 127, 107, 4, 195, 205, 88, 184, 108, 115, 26, 160, 253, 181, 73, 182, 209, 188, 3, 248, 41, 70 ] }, { kind: "account", path: "mint" } ], program: { kind: "account", path: "mpl_token_metadata" } } }, { name: "user", 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: "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: "name", type: "string" }, { name: "symbol", type: "string" }, { name: "uri", type: "string" }, { name: "creator", type: "pubkey" } ] }, { name: "create_v2", docs: [ "Creates a new spl-22 coin and bonding curve.", "", "Remaining accounts select the quote mint (none = SOL): `quote_mint`,", "`associated_quote_bonding_curve`, `quote_token_program` (SPL Token or Token-2022; must own", "the mint), plus an optional fourth account, the `quote-control` PDA, read only when `Global`", "does not whitelist the mint. A mint admitted through quote-control seeds the curve's", "virtual quote reserves from its quote-control entry instead of `Global`, and cannot be", "used with `is_mayhem_mode` (`MayhemModeQuoteMintNotAllowed`). The Token-2022", "native mint is rejected, and a Token-2022 quote mint may only carry the xStock operable", "extension set (metadata pointer/metadata, permanent delegate, initialized default account", "state, scaled UI amount, pausable, confidential-transfer mint, and a transfer hook with no", "program). The trailing `creator_fee_bps` argument (EOF-tolerant) sets the coin's own creator", "fee rate for a quote mint admitted through quote-control, and then requires", "`Global.creator_fee_configurable`, a non-cashback coin and a value in", "`1..=Global.max_configurable_creator_fee_bps`; on a SOL or `Global`-whitelisted quote it is", "ignored, and omitted or zero stores 0 so the pump-fees schedule rate applies.", "`is_cashback_enabled` is deprecated and must be false. `is_holder_reward` (EOF-tolerant,", "gated by `Global.is_holder_reward_enabled`) sets the creator to the `holder-rewards` PDA", "of the mint, so creator fees accrue to its creator vault, are collected onto the PDA with", "`collect_creator_fee*` and paid out through `distribute_fee_to_holders`." ], discriminator: [ 214, 144, 76, 236, 95, 139, 49, 180 ], accounts: [ { name: "mint", writable: true, signer: true }, { name: "mint_authority", pda: { seeds: [ { kind: "const", value: [ 109, 105, 110, 116, 45, 97, 117, 116, 104, 111, 114, 105, 116, 121 ] } ] } }, { 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" } ] } }, { name: "associated_bonding_curve", writable: true, pda: { seeds: [ { kind: "account", path: "bonding_curve" }, { kind: "account", path: "token_program" }, { kind: "account", path: "mint" } ], program: { kind: "const", value: [ 140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142, 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216, 219, 233, 248, 89 ] } } }, { name: "global", pda: { seeds: [ { kind: "const", value: [ 103, 108, 111, 98, 97, 108 ] } ] } }, { name: "user", writable: true, signer: true }, { name: "system_program", address: "11111111111111111111111111111111" }, { name: "token_program", address: "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" }, { name: "associated_token_program", address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL" }, { name: "mayhem_program_id", writable: true, address: "MAyhSmzXzV1pTf7LsNkrNwkWKTo4ougAJ1PPg47MD4e" }, { name: "global_params", pda: { seeds: [ { kind: "const", value: [ 103, 108, 111, 98, 97, 108, 45, 112, 97, 114, 97, 109, 115 ] } ], program: { kind: "const", value: [ 5, 42, 229, 215, 167, 218, 167, 36, 166, 234, 176, 167, 41, 84, 145, 133, 90, 212, 160, 103, 22, 96, 103, 76, 78, 3, 69, 89, 128, 61, 101, 163 ] } } }, { name: "sol_vault", writable: true, pda: { seeds: [ { kind: "const", value: [ 115, 111, 108, 45, 118, 97, 117, 108, 116 ] } ], program: { kind: "const", value: [ 5, 42, 229, 215, 167, 218, 167, 36, 166, 234, 176, 167, 41, 84, 145, 133, 90, 212, 160, 103, 22, 96, 103, 76, 78, 3, 69, 89, 128, 61, 101, 163 ] } } }, { name: "mayhem_state", writable: true, pda: { seeds: [ { kind: "const", value: [ 109, 97, 121, 104, 101, 109, 45, 115, 116, 97, 116, 101 ] }, { kind: "account", path: "mint" } ], program: { kind: "const", value: [ 5, 42, 229, 215, 167, 218, 167, 36, 166, 234, 176, 167, 41, 84, 145, 133, 90, 212, 160, 103, 22, 96, 103, 76, 78, 3, 69, 89, 128, 61, 101, 163 ] } } }, { name: "mayhem_token_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: "name", type: "string" }, { name: "symbol", type: "string" }, { name: "uri", type: "string" }, { name: "creator", type: "pubkey" }, { name: "is_mayhem_mode", type: "bool" }, { name: "is_cashback_enabled", type: { defined: { name: "OptionBool" } } }, { name: "creator_fee_bps", type: { defined: { name: "OptionU64" } } }, { name: "is_holder_reward", type: { defined: { name: "OptionBool" } } } ] }, { name: "distribute_creator_fees", docs: [ "Distributes creator fees to shareholders based on their share percentages", "The creator vault needs to have at least the minimum distributable amount to distribute fees", "This can be checked with the get_minimum_distributable_fee instruction" ], discriminator: [ 165, 114, 103, 0, 121, 206, 247, 81 ], accounts: [ { name: "mint", relations: [ "sharing_config" ] }, { 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" } ] } }, { name: "sharing_config", pda: { seeds: [ { kind: "const", value: [ 115, 104, 97, 114, 105, 110, 103, 45, 99, 111, 110, 102, 105, 103 ] }, { kind: "account", path: "mint" } ], program: { kind: "const", value: [ 12, 53, 255, 169, 5, 90, 142, 86, 141, 168, 247, 188, 7, 86, 21, 39, 76, 241, 201, 44, 164, 31, 64, 0, 156, 81, 106, 164, 20, 194, 124, 112 ] } } }, { name: "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: "bonding_curve.creator", account: "BondingCurve" } ] } }, { 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", address: "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P" } ], args: [ ], returns: { defined: { name: "DistributeCreatorFeesEvent" } } }, { name: "distribute_creator_fees_v2", discriminator: [ 255, 203, 19, 79, 244, 68, 8, 159 ], accounts: [ { name: "payer", writable: true, signer: true }, { name: "mint", relations: [ "sharing_config" ] }, { 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" } ] } }, { name: "sharing_config", pda: { seeds: [ { kind: "const", value: [ 115, 104, 97, 114, 105, 110, 103, 45, 99, 111, 110, 102, 105, 103 ] }, { kind: "account", path: "mint" } ], program: { kind: "const", value: [ 12, 53, 255, 169, 5, 90, 142, 86, 141, 168, 247, 188, 7, 86, 21, 39, 76, 241, 201, 44, 164, 31, 64, 0, 156, 81, 106, 164, 20, 194, 124, 112 ] } } }, { name: "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: "bonding_curve.creator", account: "BondingCurve" } ] } }, { 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", address: "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P" }, { name: "creator_vault_quote_token_account", docs: [ "Deserialized manually in the handler for non-legacy quote mints." ], writable: true, pda: { seeds: [ { kind: "account", path: "creator_vault" }, { kind: "account", path: "quote_token_program" }, { kind: "account", path: "quote_mint" } ], program: { kind: "account", path: "associated_token_program" } } }, { name: "quote_mint" }, { name: "quote_token_program" }, { name: "associated_token_program", address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL" } ], args: [ { name: "initialize_ata", type: "bool" } ], returns: { defined: { name: "DistributeCreatorFeesEvent" } } }, { name: "distribute_fee_to_holders", docs: [ "Pays fees collected on the `holder-rewards` PDA (via `collect_creator_fee*` with the PDA", "as creator) out to holders: `amounts[i]` goes to remaining accounts `[2i]` (owner) /", "`[2i + 1]` (its quote ATA, created if missing). `holder_rewards_token_account` is any", "quote token account owned by the PDA (normally its ATA): the source on a token quote, and", "on a SOL quote a parked WSOL account closed into the PDA first; pass the program id when", "there is none. Signed by `Global.holder_reward_claim_authority`." ], discriminator: [ 98, 54, 145, 97, 2, 70, 173, 43 ], accounts: [ { name: "global", pda: { seeds: [ { kind: "const", value: [ 103, 108, 111, 98, 97, 108 ] } ] } }, { name: "holder_reward_claim_authority", writable: true, signer: true, relations: [ "global" ] }, { name: "mint" }, { name: "holder_rewards", docs: [ "deliver the collected fees here (lamports on a SOL quote)" ], writable: true, pda: { seeds: [ { kind: "const", value: [ 104, 111, 108, 100, 101, 114, 45, 114, 101, 119, 97, 114, 100, 115 ] }, { kind: "account", path: "mint" } ] } }, { name: "holder_rewards_token_account", writable: true, optional: true }, { name: "quote_mint" }, { name: "quote_token_program" }, { name: "associated_token_program", address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL" }, { 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: "amounts", type: { vec: "u64" } } ] }, { name: "extend_account", docs: [ "Extends the size of program-owned accounts" ], discriminator: [ 234, 102, 194, 203, 150, 72, 62, 229 ], accounts: [ { name: "account", writable: true }, { name: "user", writable: true, signer: true }, { name: "system_program", address: "11111111111111111111111111111111" }, { name: "event_authority", pda: { seeds: [ { kind: "const", value: [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ] } ] } }, { name: "program" } ], args: [ ] }, { name: "get_minimum_distributable_fee", docs: [ "Permissionless instruction to check the minimum required fees for distribution", "Returns the minimum required balance from the creator_vault and whether distribution can proceed" ], discriminator: [ 117, 225, 127, 202, 134, 95, 68, 35 ], accounts: [ { name: "mint", relations: [ "sharing_config" ] }, { 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" } ] } }, { name: "sharing_config", pda: { seeds: [ { kind: "const", value: [ 115, 104, 97, 114, 105, 110, 103, 45, 99, 111, 110, 102, 105, 103 ] }, { kind: "account", path: "mint" } ], program: { kind: "const", value: [ 12, 53, 255, 169, 5, 90, 142, 86, 141, 168, 247, 188, 7, 86, 21, 39, 76, 241, 201, 44, 164, 31, 64, 0, 156, 81, 106, 164, 20, 194, 124, 112 ] } } }, { name: "creator_vault", pda: { seeds: [ { kind: "const", value: [ 99, 114, 101, 97, 116, 111, 114, 45, 118, 97, 117, 108, 116 ] }, { kind: "account", path: "bonding_curve.creator", account: "BondingCurve" } ] } } ], args: [ ], returns: { defined: { name: "MinimumDistributableFeeEvent" } } }, { name: "init_user_volume_accumulator", discriminator: [ 94, 6, 202, 115, 255, 96, 232, 183 ], accounts: [ { name: "payer", writable: true, signer: true }, { name: "user" }, { name: "user_volume_accumulator", writable: true, pda: { seeds: [ { kind: "const", value: [ 117, 115, 101, 114, 95, 118, 111, 108, 117, 109, 101, 95, 97, 99, 99, 117, 109, 117, 108, 97, 116, 111, 114 ] }, { kind: "account", path: "user" } ] } }, { name: "system_program", address: "11111111111111111111111111111111" }, { name: "event_authority", pda: { seeds: [ { kind: "const", value: [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ] } ] } }, { name: "program" } ], args: [ ] }, { name: "initialize", docs: [ "Creates the global state." ], discriminator: [ 175, 175, 109, 31, 13, 152, 155, 237 ], accounts: [ { name: "global", writable: true, pda: { seeds: [ { kind: "const", value: [ 103, 108, 111, 98, 97, 108 ] } ] } }, { name: "user", writable: true, signer: true }, { name: "system_program", address: "11111111111111111111111111111111" } ], args: [ ] }, { name: "initialize_quote_control", discriminator: [ 239, 73, 245, 173, 209, 177, 84, 66 ], accounts: [ { name: "quote_control", writable: true, pda: { seeds: [ { kind: "const", value: [ 113, 117, 111, 116, 101, 45, 99, 111, 110, 116, 114, 111, 108 ] } ] } }, { name: "user", writable: true, signer: true }, { name: "system_program", address: "11111111111111111111111111111111" } ], args: [ ] }, { name: "migrate", docs: [ "Migrates liquidity to pump_amm if the bonding curve is complete" ], discriminator: [ 155, 234, 231, 146, 236, 158, 162, 30 ], accounts: [ { name: "global", pda: { seeds: [ { kind: "const", value: [ 103, 108, 111, 98, 97, 108 ] } ] } }, { name: "withdraw_authority", writable: true, relations: [ "global" ] }, { name: "mint" }, { 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" } ] } }, { name: "associated_bonding_curve", writable: true, pda: { seeds: [ { kind: "account", path: "bonding_curve" }, { kind: "account", path: "mint" }, { kind: "account", path: "mint" } ], program: { kind: "const", value: [ 140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142, 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216, 219, 233, 248, 89 ] } } }, { name: "user", writable: true, signer: true }, { name: "system_program", address: "11111111111111111111111111111111" }, { name: "token_program", address: "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" }, { name: "pump_amm", address: "pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA" }, { name: "pool", writable: true, pda: { seeds: [ { kind: "const", value: [ 112, 111, 111, 108 ] }, { kind: "const", value: [ 0, 0 ] }, { kind: "account", path: "pool_authority" }, { kind: "account", path: "mint" }, { kind: "account", path: "wsol_mint" } ], program: { kind: "account", path: "pump_amm" } } }, { name: "pool_authority", writable: true, pda: { seeds: [ { kind: "const", value: [ 112, 111, 111, 108, 45, 97, 117, 116, 104, 111, 114, 105, 116, 121 ] }, { kind: "account", path: "mint" } ] } }, { name: "pool_authority_mint_account", writable: true, pda: { seeds: [ { kind: "account", path: "pool_authority" }, { kind: "account", path: "mint" }, { kind: "account", path: "mint" } ], program: { kind: "account", path: "associated_token_program" } } }, { name: "pool_authority_wsol_account", writable: true, pda: { seeds: [ { kind: "account", path: "pool_authority" }, { kind: "account", path: "token_program" }, { kind: "account", path: "wsol_mint" } ], program: { kind: "account", path: "associated_token_program" } } }, { name: "amm_global_config", pda: { seeds: [ { kind: "const", value: [ 103, 108, 111, 98, 97, 108, 95, 99, 111, 110, 102, 105, 103 ] } ], program: { kind: "account", path: "pump_amm" } } }, { name: "wsol_mint", address: "So11111111111111111111111111111111111111112" }, { name: "lp_mint", writable: true, pda: { seeds: [ { kind: "const", value: [ 112, 111, 111, 108, 95, 108, 112, 95, 109, 105, 110, 116 ] }, { kind: "account", path: "pool" } ], program: { kind: "account", path: "pump_amm" } } }, { name: "user_pool_token_account", writable: true, pda: { seeds: [ { kind: "account", path: "pool_authority" }, { kind: "account", path: "token_2022_program" }, { kind: "account", path: "lp_mint" } ], program: { kind: "account", path: "associated_token_program" } } }, { name: "pool_base_token_account", writable: true, pda: { seeds: [ { kind: "account", path: "pool" }, { kind: "account", path: "mint" }, { kind: "account", path: "mint" } ], program: { kind: "account", path: "associated_token_program" } } }, { name: "pool_quote_token_account", writable: true, pda: { seeds: [ { kind: "account", path: "pool" }, { kind: "account", path: "token_program" }, { kind: "account", path: "wsol_mint" } ], program: { kind: "account", path: "associated_token_program" } } }, { name: "token_2022_program", address: "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" }, { name: "associated_token_program", address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL" }, { name: "pump_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: "account", path: "pump_amm" } } }, { 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: "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P" }, { name: "rent", address: "SysvarRent111111111111111111111111111111111" } ], args: [ ] }, { name: "migrate_bonding_curve_creator", discriminator: [ 87, 124, 52, 191, 52, 38, 214, 232 ], accounts: [ { name: "mint", relations: [ "sharing_config" ] }, { 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" } ] } }, { name: "sharing_config", pda: { seeds: [ { kind: "const", value: [ 115, 104, 97, 114, 105, 110, 103, 45, 99, 111, 110, 102, 105, 103 ] }, { kind: "account", path: "mint" } ], program: { kind: "const", value: [ 12, 53, 255, 169, 5, 90, 142, 86, 141, 168, 247, 188, 7, 86, 21, 39, 76, 241, 201, 44, 164, 31, 64, 0, 156, 81, 106, 164, 20, 194, 124, 112 ] } } }, { 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: "migrate_v2", docs: [ "Migrates liquidity to pump_amm if the bonding curve is complete" ], discriminator: [ 187, 203, 18, 31, 206, 237, 254, 41 ], accounts: [ { name: "global", pda: { seeds: [ { kind: "const", value: [ 103, 108, 111, 98, 97, 108 ] } ] } }, { name: "withdraw_authority", writable: true, relations: [ "global" ] }, { name: "base_mint" }, { name: "quote_mint" }, { 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: "base_mint" } ] } }, { name: "associated_base_bonding_curve", writable: true, pda: { seeds: [ { kind: "account", path: "bonding_curve" }, { kind: "account", path: "base_token_program" }, { kind: "account", path: "base_mint" } ], program: { kind: "const", value: [ 140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142, 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216, 219, 233, 248, 89 ] } } }, { name: "associated_quote_bonding_curve", writable: true, pda: { seeds: [ { kind: "account", path: "bonding_curve" }, { kind: "account", path: "quote_token_program" }, { kind: "account", path: "quote_mint" } ], program: { kind: "account", path: "associated_token_program" } } }, { name: "user", writable: true, signer: true }, { name: "system_program", address: "11111111111111111111111111111111" }, { name: "pump_amm", address: "pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA" }, { name: "pool", writable: true, pda: { seeds: [ { kind: "const", value: [ 112, 111, 111, 108 ] }, { kind: "const", value: [ 0, 0 ] }, { kind: "account", path: "pool_authority" }, { kind: "account", path: "base_mint" }, { kind: "account", path: "quote_mint" } ], program: { kind: "account", path: "pump_amm" } } }, { name: "pool_authority", writable: true, pda: { seeds: [ { kind: "const", value: [ 112, 111, 111, 108, 45, 97, 117, 116, 104, 111, 114, 105, 116, 121 ] }, { kind: "account", path: "base_mint" } ] } }, { name: "pool_authority_mint_account", writable: true, pda: { seeds: [ { kind: "account", path: "pool_authority" }, { kind: "account", path: "base_token_program" }, { kind: "account", path: "base_mint" } ], program: { kind: "account", path: "associated_token_program" } } }, { name: "pool_authority_quote_account", writable: true, pda: { seeds: [ { kind: "account", path: "pool_authority" }, { kind: "account", path: "quote_token_program" }, { kind: "account", path: "quote_mint" } ], program: { kind: "account", path: "associated_token_program" } } }, { name: "amm_global_config", pda: { seeds: [ { kind: "const", value: [ 103, 108, 111, 98, 97, 108, 95, 99, 111, 110, 102, 105, 103 ] } ], program: { kind: "account", path: "pump_amm" } } }, { name: "lp_mint", writable: true, pda: { seeds: [ { kind: "const", value: [ 112, 111, 111, 108, 95, 108, 112, 95, 109, 105, 110, 116 ] }, { kind: "account", path: "pool" } ], program: { kind: "account", path: "pump_amm" } } }, { name: "user_pool_token_account", writable: true, pda: { seeds: [ { kind: "account", path: "pool_authority" }, { kind: "account", path: "token_2022_program" }, { kind: "account", path: "lp_mint" } ], program: { kind: "account", path: "associated_token_program" } } }, { name: "pool_base_token_account", writable: true, pda: { seeds: [ { kind: "account", path: "pool" }, { kind: "account", path: "base_token_program" }, { kind: "account", path: "base_mint" } ], program: { kind: "account", path: "associated_token_program" } } }, { name: "pool_quote_token_account", writable: true, pda: { seeds: [ { kind: "account", path: "pool" }, { kind: "account", path: "quote_token_program" }, { kind: "account", path: "quote_mint" } ], program: { kind: "account", path: "associated_token_program" } } }, { name: "base_token_program" }, { name: "quote_token_program" }, { name: "token_2022_program", address: "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" }, { name: "associated_token_program", address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL" }, { name: "pump_amm_event_authority" }, { name: "rent", address: "SysvarRent111111111111111111111111111111111" }, { 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: "remove_quote_control_mint", discriminator: [ 223, 7, 253, 26, 81, 165, 218, 166 ], accounts: [ { name: "authority", writable: true, signer: true }, { name: "global", pda: { seeds: [ { kind: "const", value: [ 103, 108, 111, 98, 97, 108 ] } ] } }, { name: "quote_control", writable: true, pda: { seeds: [ { kind: "const", value: [ 113, 117, 111, 116, 101, 45, 99, 111, 110, 116, 114, 111, 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: "quote_mint", type: "pubkey" } ] }, { name: "remove_quote_mint", discriminator: [ 177, 65, 223, 38, 88, 209, 158, 155 ], accounts: [ { name: "global", writable: true, pda: { seeds: [ { kind: "const", value: [ 103, 108, 111, 98, 97, 108 ] } ] } }, { name: "authority", writable: true, signer: true, relations: [ "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: "quote_mint", type: "pubkey" } ] }, { name: "sell", docs: [ "Sells tokens into a bonding curve.", "For cashback coins, pass as remaining_accounts: [0] user_volume_accumulator,", "[1] bonding_curve_v2. If provided and valid, creator_fee goes to user_volume_accumulator.", "Otherwise, falls back to transferring creator_fee to creator_vault." ], discriminator: [ 51, 230, 133, 164, 1, 127, 131, 173 ], accounts: [ { name: "global", pda: { seeds: [ { kind: "const", value: [ 103, 108, 111, 98, 97, 108 ] } ] } }, { name: "fee_recipient", writable: true }, { name: "mint" }, { 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" } ] } }, { name: "associated_bonding_curve", writable: true, pda: { seeds: [ { kind: "account", path: "bonding_curve" }, { kind: "account", path: "token_program" }, { kind: "account", path: "mint" } ], program: { kind: "const", value: [ 140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142, 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216, 219, 233, 248, 89 ] } } }, { name: "associated_user", writable: true }, { name: "user", writable: true, signer: true }, { name: "system_program", address: "11111111111111111111111111111111" }, { name: "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: "bonding_curve.creator", account: "BondingCurve" } ] } }, { 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", address: "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P" }, { name: "fee_config", pda: { seeds: [ { kind: "const", value: [ 102, 101, 101, 95, 99, 111, 110, 102, 105, 103 ] }, { 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 ] } ], program: { kind: "account", path: "fee_program" } } }, { name: "fee_program", address: "pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ" } ], args: [ { name: "amount", type: "u64" }, { name: "min_sol_output", type: "u64" } ] }, { name: "sell_v2", discriminator: [ 93, 246, 130, 60, 231, 233, 64, 178 ], accounts: [ { name: "global", pda: { seeds: [ { kind: "const", value: [ 103, 108, 111, 98, 97, 108 ] } ] } }, { name: "base_mint" }, { name: "quote_mint" }, { name: "base_token_program" }, { name: "quote_token_program" }, { name: "associated_token_program", address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL" }, { name: "fee_recipient", writable: true }, { name: "associated_quote_fee_recipient", writable: true, pda: { seeds: [ { kind: "account", path: "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: "buyback_fee_recipient", writable: true }, { name: "associated_quote_buyback_fee_recipient", writable: true, pda: { seeds: [ { kind: "account", path: "buyback_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: "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: "base_mint" } ] } }, { name: "associated_base_bonding_curve", writable: true, pda: { seeds: [ { kind: "account", path: "bonding_curve" }, { kind: "account", path: "base_token_program" }, { kind: "account", path: "base_mint" } ], program: { kind: "const", value: [ 140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142, 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216, 219, 233, 248, 89 ] } } }, { name: "associated_quote_bonding_curve", writable: true, pda: { seeds: [ { kind: "account", path: "bonding_curve" }, { 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: "user", writable: true, signer: true }, { name: "associated_base_user", writable: true }, { name: "associated_quote_user", docs: [ "canonical SPL associated-token PDA. Validated in `sell_v2_ix` via", "`validate_user_quote_token_account` for non-legacy mints; ignored for legacy (SOL) trades." ], writable: true }, { name: "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: "bonding_curve.creator", account: "BondingCurve" } ] } }, { name: "associated_creator_vault", writable: true, pda: { seeds: [ { kind: "account", path: "creator_vault" }, { 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: "sharing_config", docs: [ "seeds; the account is intentionally not deserialized here because it may be uninitialized", "for mints that have not created a fee sharing config. Handlers must check", "`data_is_empty()` / owner before reading." ], pda: { seeds: [ { kind: "const", value: [ 115, 104, 97, 114, 105, 110, 103, 45, 99, 111, 110, 102, 105, 103 ] }, { kind: "account", path: "base_mint" } ], program: { kind: "const", value: [ 12, 53, 255, 169, 5, 90, 142, 86, 141, 168, 247, 188, 7, 86, 21, 39, 76, 241, 201, 44, 164, 31, 64, 0, 156, 81, 106, 164, 20, 194, 124, 112 ] } } }, { 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: "associated_user_volume_accumulator", writable: true, pda: { seeds: [ { kind: "account", path: "user_volume_accumulator" }, { 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: "fee_config", pda: { seeds: [ { kind: "const", value: [ 102, 101, 101, 95, 99, 111, 110, 102, 105, 103 ] }, { 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 ] } ], program: { kind: "account", path: "fee_program" } } }, { name: "fee_program", address: "pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ" }, { 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", address: "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P" } ], args: [ { name: "amount", type: "u64" }, { name: "min_sol_output", type: "u64" } ] }, { name: "set_creator", docs: [ "Allows Global::set_creator_authority to set the bonding curve creator from Metaplex metadata or input argument" ], discriminator: [ 254, 148, 255, 112, 207, 142, 170, 165 ], accounts: [ { name: "set_creator_authority", signer: true, relations: [ "global" ] }, { name: "global", pda: { seeds: [ { kind: "const", value: [ 103, 108, 111, 98, 97, 108 ] } ] } }, { name: "mint" }, { name: "metadata", pda: { seeds: [ { kind: "const", value: [ 109, 101, 116, 97, 100, 97, 116, 97 ] }, { kind: "const", value: [ 11, 112, 101, 177, 227, 209, 124, 69, 56, 157, 82, 127, 107, 4, 195, 205, 88, 184, 108, 115, 26, 160, 253, 181, 73, 182, 209, 188, 3, 248, 41, 70 ] }, { kind: "account", path: "mint" } ], program: { kind: "const", value: [ 11, 112, 101, 177, 227, 209, 124, 69, 56, 157, 82, 127, 107, 4, 195, 205, 88, 184, 108, 115, 26, 160, 253, 181, 73, 182, 209, 188, 3, 248, 41, 70 ] } } }, { 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" } ] } }, { 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: "creator", type: "pubkey" } ] }, { name: "set_mayhem_virtual_params", discriminator: [ 61, 169, 188, 191, 153, 149, 42, 97 ], accounts: [ { name: "sol_vault_authority", writable: true, signer: true, pda: { seeds: [ { kind: "const", value: [ 115, 111, 108, 45, 118, 97, 117, 108, 116 ] } ], program: { kind: "const", value: [ 5, 42, 229, 215, 167, 218, 167, 36, 166, 234, 176, 167, 41, 84, 145, 133, 90, 212, 160, 103, 22, 96, 103, 76, 78, 3, 69, 89, 128, 61, 101, 163 ] } } }, { name: "mayhem_token_vault", writable: true, pda: { seeds: [ { kind: "account", path: "sol_vault_authority" }, { 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: "mint" }, { name: "global", pda: { seeds: [ { kind: "const", value: [ 103, 108, 111, 98, 97, 108 ] } ] } }, { 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" } ] } }, { name: "token_program", address: "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" }, { name: "event_authority", pda: { seeds: [ { kind: "const", value: [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ] } ] } }, { name: "program" } ], args: [ ] }, { name: "set_metaplex_creator", docs: [ "Syncs the bonding curve creator with the Metaplex metadata creator if it exists" ], discriminator: [ 138, 96, 174, 217, 48, 85, 197, 246 ], accounts: [ { name: "mint" }, { name: "metadata", pda: { seeds: [ { kind: "const", value: [ 109, 101, 116, 97, 100, 97, 116, 97 ] }, { kind: "const", value: [ 11, 112, 101, 177, 227, 209, 124, 69, 56, 157, 82, 127, 107, 4, 195, 205, 88, 184, 108, 115, 26, 160, 253, 181, 73, 182, 209, 188, 3, 248, 41, 70 ] }, { kind: "account", path: "mint" } ], program: { kind: "const", value: [ 11, 112, 101, 177, 227, 209, 124, 69, 56, 157, 82, 127, 107, 4, 195, 205, 88, 184, 108, 115, 26, 160, 253, 181, 73, 182, 209, 188, 3, 248, 41, 70 ] } } }, { 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" } ] } }, { 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: "set_params", docs: [ "Sets the global state parameters." ], discriminator: [ 27, 234, 178, 52, 147, 2, 187, 141 ], accounts: [ { name: "global", writable: true, pda: { seeds: [ { kind: "const", value: [ 103, 108, 111, 98, 97, 108 ] } ] } }, { name: "authority", writable: true, signer: true, relations: [ "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: "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: "set_creator_authority", type: "pubkey" }, { name: "admin_set_creator_authority", type: "pubkey" } ] }, { name: "set_quote_control_admin", discriminator: [ 62, 79, 161, 211, 165, 170, 214, 210 ], accounts: [ { name: "global", pda: { seeds: [ { kind: "const", value: [ 103, 108, 111, 98, 97, 108 ] } ] } }, { name: "authority", signer: true, relations: [ "global" ] }, { name: "quote_control", writable: true, pda: { seeds: [ { kind: "const", value: [ 113, 117, 111, 116, 101, 45, 99, 111, 110, 116, 114, 111, 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_admin", type: "pubkey" } ] }, { name: "set_reserved_fee_recipients", discriminator: [ 111, 172, 162, 232, 114, 89, 213, 142 ], accounts: [ { name: "global", writable: true, pda: { seeds: [ { kind: "const", value: [ 103, 108, 111, 98, 97, 108 ] } ] } }, { name: "authority", signer: true, relations: [ "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: "whitelist_pda", type: "pubkey" } ] }, { name: "set_virtual_quote_reserves", discriminator: [ 101, 135, 191, 104, 9, 88, 20, 96 ], accounts: [ { name: "global", writable: true, pda: { seeds: [ { kind: "const", value: [ 103, 108, 111, 98, 97, 108 ] } ] } }, { name: "authority", writable: true, signer: true, relations: [ "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: "initial_virtual_quote_reserves", type: "u64" } ] }, { name: "sync_user_volume_accumulator", discriminator: [ 86, 31, 192, 87, 163, 87, 79, 238 ], accounts: [ { name: "user" }, { name: "global_volume_accumulator", pda: { seeds: [ { kind: "const", value: [ 103, 108, 111, 98, 97, 108, 95, 118, 111, 108, 117, 109, 101, 95, 97, 99, 99, 117, 109, 117, 108, 97, 116, 111, 114 ] } ] } }, { name: "user_volume_accumulator", writable: true, pda: { seeds: [ { kind: "const", value: [ 117, 115, 101, 114, 95, 118, 111, 108, 117, 109, 101, 95, 97, 99, 99, 117, 109, 117, 108, 97, 116, 111, 114 ] }, { kind: "account", path: "user" } ] } }, { name: "event_authority", pda: { seeds: [ { kind: "const", value: [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ] } ] } }, { name: "program" } ], args: [ ] }, { name: "toggle_cashback_enabled", discriminator: [ 115, 103, 224, 255, 189, 89, 86, 195 ], accounts: [ { name: "global", writable: true, pda: { seeds: [ { kind: "const", value: [ 103, 108, 111, 98, 97, 108 ] } ] } }, { name: "authority", writable: true, signer: true, relations: [ "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: "enabled", type: "bool" } ] }, { name: "toggle_create_v2", discriminator: [ 28, 255, 230, 240, 172, 107, 203, 171 ], accounts: [ { name: "global", writable: true, pda: { seeds: [ { kind: "const", value: [ 103, 108, 111, 98, 97, 108 ] } ] } }, { name: "authority", writable: true, signer: true, relations: [ "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: "enabled", type: "bool" } ] }, { name: "toggle_mayhem_mode", discriminator: [ 1, 9, 111, 208, 100, 31, 255, 163 ], accounts: [ { name: "global", writable: true, pda: { seeds: [ { kind: "const", value: [ 103, 108, 111, 98, 97, 108 ] } ] } }, { name: "authority", writable: true, signer: true, relations: [ "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: "enabled", type: "bool" } ] }, { name: "update_buyback_config", discriminator: [ 251, 224, 171, 146, 160, 26, 113, 233 ], accounts: [ { name: "global", writable: true, pda: { seeds: [ { kind: "const", value: [ 103, 108, 111, 98, 97, 108 ] } ] } }, { name: "authority", writable: true, signer: true, relations: [ "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: "buyback_basis_points", type: { option: "u64" } } ] }, { name: "update_creator_fee_config", discriminator: [ 61, 175, 160, 249, 66, 66, 136, 175 ], accounts: [ { name: "global", writable: true, pda: { seeds: [ { kind: "const", value: [ 103, 108, 111, 98, 97, 108 ] } ] } }, { name: "authority", writable: true, signer: true, relations: [ "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: "creator_fee_configurable", type: "bool" }, { name: "max_configurable_creator_fee_bps", type: "u64" } ] }, { name: "update_global_authority", discriminator: [ 227, 181, 74, 196, 208, 21, 97, 213 ], accounts: [ { name: "global", writable: true, pda: { seeds: [ { kind: "const", value: [ 103, 108, 111, 98, 97, 108 ] } ] } }, { name: "authority", signer: true, relations: [ "global" ] }, { name: "new_authority" }, { 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_holder_reward_config", discriminator: [ 225, 252, 66, 4, 199, 35, 236, 16 ], accounts: [ { name: "global", writable: true, pda: { seeds: [ { kind: "const", value: [ 103, 108, 111, 98, 97, 108 ] } ] } }, { name: "authority", writable: true, signer: true, relations: [ "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: "is_holder_reward_enabled", type: "bool" }, { name: "holder_reward_claim_authority", type: "pubkey" } ] } ]; var accounts = [ { name: "BondingCurve", discriminator: [ 23, 183, 248, 55, 96, 216, 172, 96 ] }, { name: "FeeConfig", discriminator: [ 143, 52, 146, 187, 219, 123, 76, 155 ] }, { name: "Global", discriminator: [ 167, 232, 232, 177, 200, 108, 114, 127 ] }, { name: "GlobalVolumeAccumulator", discriminator: [ 202, 42, 246, 43, 142, 190, 30, 255 ] }, { name: "QuoteControl", discriminator: [ 56, 244, 35, 238, 193, 213, 162, 201 ] }, { name: "SharingConfig", discriminator: [ 216, 74, 9, 0, 56, 140, 93, 75 ] }, { name: "UserVolumeAccumulator", discriminator: [ 86, 255, 112, 14, 102, 53, 154, 250 ] } ]; var events = [ { name: "AddQuoteControlMintEvent", discriminator: [ 164, 175, 87, 74, 88, 45, 33, 62 ] }, { name: "AdminCtoEvent", discriminator: [ 110, 124, 226, 98, 170, 255, 17, 120 ] }, { name: "AdminSetIdlAuthorityEvent", discriminator: [ 245, 59, 70, 34, 75, 185, 109, 92 ] }, { name: "AdminUpdateTokenIncentivesEvent", discriminator: [ 147, 250, 108, 120, 247, 29, 67, 222 ] }, { name: "ClaimCashbackEvent", discriminator: [ 226, 214, 246, 33, 7, 242, 147, 229 ] }, { name: "ClaimTokenIncentivesEvent", discriminator: [ 79, 172, 246, 49, 205, 91, 206, 232 ] }, { name: "CloseUserVolumeAccumulatorEvent", discriminator: [ 146, 159, 189, 172, 146, 88, 56, 244 ] }, { name: "CollectCreatorFeeEvent", discriminator: [ 122, 2, 127, 1, 14, 191, 12, 175 ] }, { name: "CompleteEvent", discriminator: [ 95, 114, 97, 156, 212, 46, 152, 8 ] }, { name: "CompletePumpAmmMigrationEvent", discriminator: [ 189, 233, 93, 185, 92, 148, 234, 148 ] }, { name: "CreateEvent", discriminator: [ 27, 114, 169, 77, 222, 235, 99, 118 ] }, { name: "DistributeCreatorFeesEvent", discriminator: [ 165, 55, 129, 112, 4, 179, 202, 40 ] }, { name: "DistributeFeeToHoldersEvent", discriminator: [ 227, 190, 215, 206, 176, 180, 165, 132 ] }, { name: "ExtendAccountEvent", discriminator: [ 97, 97, 215, 144, 93, 146, 22, 124 ] }, { name: "InitUserVolumeAccumulatorEvent", discriminator: [ 134, 36, 13, 72, 232, 101, 130, 216 ] }, { name: "MigrateBondingCurveCreatorEvent", discriminator: [ 155, 167, 104, 220, 213, 108, 243, 3 ] }, { name: "MinimumDistributableFeeEvent", discriminator: [ 168, 216, 132, 239, 235, 182, 49, 52 ] }, { name: "RemoveQuoteControlMintEvent", discriminator: [ 46, 33, 86, 134, 0, 213, 209, 48 ] }, { name: "ReservedFeeRecipientsEvent", discriminator: [ 43, 188, 250, 18, 221, 75, 187, 95 ] }, { name: "SetCreatorEvent", discriminator: [ 237, 52, 123, 37, 245, 251, 72, 210 ] }, { name: "SetMetaplexCreatorEvent", discriminator: [ 142, 203, 6, 32, 127, 105, 191, 162 ] }, { name: "SetParamsEvent", discriminator: [ 223, 195, 159, 246, 62, 48, 143, 131 ] }, { name: "SetQuoteControlAdminEvent", discriminator: [ 74, 248, 141, 69, 202, 81, 30, 247 ] }, { name: "SyncUserVolumeAccumulatorEvent", discriminator: [ 197, 122, 167, 124, 116, 81, 91, 255 ] }, { name: "TradeEvent", discriminator: [ 189, 219, 127, 211, 78, 230, 97, 238 ] }, { name: "UpdateCreatorFeeConfigEvent", discriminator: [ 152, 198, 124, 124, 106, 246, 127, 191 ] }, { name: "UpdateGlobalAuthorityEvent", discriminator: [ 182, 195, 137, 42, 35, 206, 207, 247 ] }, { name: "UpdateMayhemVirtualParamsEvent", discriminator: [ 117, 123, 228, 182, 161, 168, 220, 214 ] } ]; var errors = [ { code: 6000, name: "NotAuthorized", msg: "The given account is not authorized to execute this instruction." }, { code: 6001, name: "AlreadyInitialized", msg: "The program is already initialized." }, { code: 6002, name: "TooMuchSolRequired", msg: "slippage: Too much SOL required to buy the given amount of tokens." }, { code: 6003, name: "TooLittleSolReceived", msg: "slippage: Too little SOL received to sell the given amount of tokens." }, { code: 6004, name: "MintDoesNotMatchBondingCurve", msg: "The mint does not match the bonding curve." }, { code: 6005, name: "BondingCurveComplete", msg: "The bonding curve has completed and liquidity migrated to raydium." }, { code: 6006, name: "BondingCurveNotComplete", msg: "The bonding curve has not completed." }, { code: 6007, name: "NotInitialized", msg: "The program is not initialized." }, { code: 6008, name: "WithdrawTooFrequent", msg: "Withdraw too frequent" }, { code: 6009, name: "NewSizeShouldBeGreaterThanCurrentSize", msg: "new_size should be > current_size" }, { code: 6010, name: "AccountTypeNotSupported", msg: "Account type not supported" }, { code: 6011, name: "InitialRealTokenReservesShouldBeLessThanTokenTotalSupply", msg: "initial_real_token_reserves should be less than token_total_supply" }, { code: 6012, name: "InitialVirtualTokenReservesShouldBeGreaterThanInitialRealTokenReserves", msg: "initial_virtual_token_reserves should be greater than initial_real_token_reserves" }, { code: 6013, name: "FeeBasisPointsGreaterThanMaximum", msg: "fee_basis_points greater than maximum" }, { code: 6014, name: "AllZerosWithdrawAuthority", msg: "Withdraw authority cannot be set to System Program ID" }, { code: 6015, name: "PoolMigrationFeeShouldBeLessThanFinalRealSolReserves", msg: "pool_migration_fee should be less than final_real_sol_reserves" }, { code: 6016, name: "PoolMigrationFeeShouldBeGreaterThanCreatorFeePlusMaxMigrateFees", msg: "pool_migration_fee should be greater than creator_fee + MAX_MIGRATE_FEES" }, { code: 6017, name: "DisabledWithdraw", msg: "Migrate instruction is disabled" }, { code: 6018, name: "DisabledMigrate", msg: "Migrate instruction is disabled" }, { code: 6019, name: "InvalidCreator", msg: "Invalid creator pubkey" }, { code: 6020, name: "BuyZeroAmount", msg: "Buy zero amount" }, { code: 6021, name: "NotEnoughTokensToBuy", msg: "Not enough tokens to buy" }, { code: 6022, name: "SellZeroAmount", msg: "Sell zero amount" }, { code: 6023, name: "NotEnoughTokensToSell", msg: "Not enough tokens to sell" }, { code: 6024, name: "Overflow", msg: "Overflow" }, { code: 6025, name: "Truncation", msg: "Truncation" }, { code: 6026, name: "DivisionByZero", msg: "Division by zero" }, { code: 6027, name: "NotEnoughRemainingAccounts", msg: "Not enough remaining accounts" }, { code: 6028, name: "AllFeeRecipientsShouldBeNonZero", msg: "All fee recipients should be non-zero" }, { code: 6029, name: "UnsortedNotUniqueFeeRecipients", msg: "Unsorted or not unique fee recipients" }, { code: 6030, name: "CreatorShouldNotBeZero", msg: "Creator should not be zero" }, { code: 6031, name: "StartTimeInThePast" }, { code: 6032, name: "EndTimeInThePast" }, { code: 6033, name: "EndTimeBeforeStartTime" }, { code: 6034, name: "TimeRangeTooLarge" }, { code: 6035, name: "EndTimeBeforeCurrentDay" }, { code: 6036, name: "SupplyUpdateForFinishedRange" }, { code: 6037, name: "DayIndexAfterEndIndex" }, { code: 6038, name: "DayInActiveRange" }, { code: 6039, name: "InvalidIncentiveMint" }, { code: 6040, name: "BuyNotEnoughSolToCoverRent", msg: "Buy: Not enough SOL to cover for rent exemption." }, { code: 6041, name: "BuyNotEnoughSolToCoverFees", msg: "Buy: Not enough SOL to cover for fees." }, { code: 6042, name: "BuySlippageBelowMinTokensOut", msg: "Slippage: Would buy less tokens than expected min_tokens_out" }, { code: 6043, name: "NameTooLong" }, { code: 6044, name: "SymbolTooLong" }, { code: 6045, name: "UriTooLong" }, { code: 6046, name: "CreateV2Disabled" }, { code: 6047, name: "CpitializeMayhemFailed" }, { code: 6048, name: "MayhemModeDisabled" }, { code: 6049, name: "CreatorMigratedToSharingConfig", msg: "creator has been migrated to sharing config" }, { code: 6050, name: "UnableToDistributeCreatorVaultMigratedToSharingConfig", msg: "creator_vault has been migrated to sharing config, use pump:distribute_creator_fees instead" }, { code: 6051, name: "SharingConfigNotActive", msg: "Sharing config is not active" }, { code: 6052, name: "UnableToDistributeCreatorFeesToExecutableRecipient", msg: "The recipient account is executable, so it cannot receive lamports, remove it from the team first" }, { code: 6053, name: "BondingCurveAndSharingConfigCreatorMismatch", msg: "Bonding curve creator does not match sharing config" }, { code: 6054, name: "ShareholdersAndRemainingAccountsMismatch", msg: "Remaining accounts do not match shareholders, make sure to pass exactly the same pubkeys in the same order" }, { code: 6055, name: "InvalidShareBps", msg: "Share bps must be greater than 0" }, { code: 6056, name: "CashbackNotEnabled", msg: "Cashback is not enabled" }, { code: 6057, name: "BuybackFeeRecipientNotAuthorized", msg: "Buyback fee recipient not authorized" }, { code: 6058, name: "AllBuybackFeeRecipientsShouldBeNonZero" }, { code: 6059, name: "NotUniqueBuybackFeeRecipients" }, { code: 6060, name: "BuybackBasisPointsOutOfRange", msg: "buyback_basis_points must be <= 10_000" }, { code: 6061, name: "WrongBuybackFeeRecipientsCount", msg: "buyback fee recipients require exactly 8 remaining accounts (or none)" }, { code: 6062, name: "BuybackFeeRecipientMissing" }, { code: 6063, name: "UnsupportedQuoteMint", msg: "Unsupported quote mint" }, { code: 6064, name: "InvalidQuoteTokenProgram", msg: "Create v2: quote token program must be SPL Token or Token-2022" }, { code: 6065, name: "InvalidAssociatedQuoteBondingCurve", msg: "Create v2: associated quote bonding curve address does not match derivation" }, { code: 6066, name: "QuoteMintWhitelistFull", msg: "Quote mint whitelist is full" }, { code: 6067, name: "QuoteMintAlreadyWhitelisted", msg: "Quote mint is already whitelisted" }, { code: 6068, name: "QuoteMintNotWhitelisted", msg: "Quote mint is not in the whitelist" }, { code: 6069, name: "QuoteMintNotEligibleForWhitelist", msg: "Quote mint cannot be added or removed via whitelist (default or native SOL mint)" }, { code: 6070, name: "UnableToDistributeCreatorFeesToUninitializedAccount", msg: "Unable to distribute creator fees to uninitialized account" }, { code: 6071, name: "MayhemModeQuoteMintNotAllowed", msg: "Mayhem mode quote mint not allowed" }, { code: 6072, name: "MissingCashbackAccounts", msg: "Cashback trade is missing the required remaining accounts" }, { code: 6073, name: "InvalidCashbackAccumulator", msg: "Cashback user_volume_accumulator account is invalid" }, { code: 6074, name: "InvalidBondingCurveV2", msg: "bonding_curve_v2 remaining account is missing or invalid" }, { code: 6075, name: "InvalidQuoteControl", msg: "quote_control remaining account does not match derivation or is uninitialized" }, { code: 6076, name: "InvalidCashbackRecipient", msg: "Cashback recipient token account is not owned by user" }, { code: 6077, name: "CreatorFeeNotConfigurable", msg: "Configurable creator fees are disabled" }, { code: 6078, name: "CreatorFeeBpsOutOfRange", msg: "Creator fee basis points must be between 1 and the configured maximum" }, { code: 6079, name: "CreatorFeeNotEditable", msg: "Creator fee is not editable for this bonding curve" }, { code: 6080, name: "CreatorFeeNotAllowedForCashbackCoin", msg: "Creator fee cannot be configured for a cashback coin" }, { code: 6081, name: "BondingCurveAlreadyMigrated", msg: "Bonding curve has already migrated" }, { code: 6082, name: "CashbackDeprecated", msg: "Cashback coins can no longer be created" }, { code: 6083, name: "HolderRewardCreatorImmutable", msg: "The creator of a holder-reward coin cannot be changed" }, { code: 6084, name: "HolderRewardDisabled", msg: "Holder-reward coins are disabled" }, { code: 6085, name: "HolderRewardRecipientsMismatch", msg: "Holder-reward amounts and recipient accounts do not match" }, { code: 6086, name: "HolderRewardsRentFloor", msg: "The holder-rewards PDA cannot be left below its rent-exempt minimum" }, { code: 6087, name: "HolderRewardTokenAccountMissing", msg: "A holder-rewards token account is required on a token quote" }, { code: 6088, name: "CtoNotAllowedForMayhemCoin", msg: "CTO is not allowed on a mayhem-mode coin" }, { code: 6089, name: "CtoNewCreatorRequired", msg: "new_creator is required unless converting to holder rewards" }, { code: 6090, name: "CtoNewCreatorNotAllowed", msg: "new_creator must be omitted when converting to holder rewards" }, { code: 6091, name: "CreatorFeeNotConfigurableForQuote", msg: "Creator fee is not configurable on a SOL or whitelisted quote; the fee schedule applies" }, { code: 6092, name: "CtoCreatorAccountNotWritable", msg: "current_creator must be passed writable so the outgoing creator can be paid" }, { code: 6093, name: "CtoSharedVaultFrozen", msg: "A frozen sharing-config vault account holds a balance; thaw it before the holder conversion" } ]; var types = [ { name: "AddQuoteControlMintEvent", type: { kind: "struct", fields: [ { name: "quote_control", type: "pubkey" }, { name: "authority", type: "pubkey" }, { name: "quote_mint", type: "pubkey" }, { name: "initial_virtual_quote_reserves", type: "u64" }, { name: "timestamp", type: "i64" } ] } }, { name: "AdminCtoEvent", type: { kind: "struct", fields: [ { name: "timestamp", type: "i64" }, { name: "authority", type: "pubkey" }, { name: "mint", type: "pubkey" }, { name: "bonding_curve", type: "pubkey" }, { name: "old_creator", type: "pubkey" }, { name: "new_creator", type: "pubkey" }, { name: "is_holder_reward", type: "bool" }, { name: "is_cashback_coin", type: "bool" }, { name: "old_creator_fee_bps", type: "u64" }, { name: "new_creator_fee_bps", type: "u64" }, { name: "sharing_config_reset", type: "bool" }, { name: "swept_to_holder_vault", type: "u64" }, { name: "pool_updated", type: "bool" } ] } }, { name: "AdminSetIdlAuthorityEvent", type: { kind: "struct", fields: [ { name: "idl_authority", type: "pubkey" } ] } }, { name: "AdminUpdateTokenIncentivesEvent", type: { kind: "struct", fields: [ { name: "start_time", type: "i64" }, { name: "end_time", type: "i64" }, { name: "day_number", type: "u64" }, { name: "token_supply_per_day", type: "u64" }, { name: "mint", type: "pubkey" }, { name: "seconds_in_a_day", type: "i64" }, { name: "timestamp", type: "i64" } ] } }, { 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: "is_cashback_coin", type: "bool" }, { name: "quote_mint", type: "pubkey" }, { name: "creator_fee_bps", type: "u64" }, { name: "can_edit_creator_fee", type: "bool" }, { name: "is_holder_reward", type: "bool" } ] } }, { name: "ClaimCashbackEvent", type: { kind: "struct", fields: [ { name: "user", type: "pubkey" }, { name: "amount", type: "u64" }, { name: "timestamp", type: "i64" }, { name: "total_claimed", type: "u64" }, { name: "total_cashback_earned", type: "u64" } ] } }, { name: "ClaimTokenIncentivesEvent", type: { kind: "struct", fields: [ { name: "user", type: "pubkey" }, { name: "mint", type: "pubkey" }, { name: "amount", type: "u64" }, { name: "timestamp", type: "i64" }, { name: "total_claimed_tokens", type: "u64" }, { name: "current_sol_volume", type: "u64" } ] } }, { name: "CloseUserVolumeAccumulatorEvent", type: { kind: "struct", fields: [ { name: "user", type: "pubkey" }, { name: "timestamp", type: "i64" }, { name: "total_unclaimed_tokens", type: "u64" }, { name: "total_claimed_tokens", type: "u64" }, { name: "current_sol_volume", type: "u64" }, { name: "last_update_timestamp", type: "i64" } ] } }, { name: "CollectCreatorFeeEvent", type: { kind: "struct", fields: [ { name: "timestamp", type: "i64" }, { name: "creator", type: "pubkey" }, { name: "creator_fee", type: "u64" }, { name: "quote_mint", type: "pubkey" } ] } }, { name: "CompleteEvent", type: { kind: "struct", fields: [ { name: "user", type: "pubkey" }, { name: "mint", type: "pubkey" }, { name: "bonding_curve", type: "pubkey" }, { name: "timestamp", type: "i64" }, { name: "quote_mint", type: "pubkey" } ] } }, { name: "CompletePumpAmmMigrationEvent", type: { kind: "struct", fields: [ { name: "user", type: "pubkey" }, { name: "mint", type: "pubkey" }, { name: "mint_amount", type: "u64" }, { name: "sol_amount", docs: [ "The variable is interpreted as `amount` in the offchain services", "It is amount in terms of quoteMint for the bondingCurve", "The rename is not done yet to avoid breaking changes in offchain services." ], type: "u64" }, { name: "pool_migration_fee", type: "u64" }, { name: "bonding_curve", type: "pubkey" }, { name: "timestamp", type: "i64" }, { name: "pool", type: "pubkey" }, { name: "quote_mint", type: "pubkey" } ] } }, { name: "ConfigStatus", type: { kind: "enum", variants: [ { name: "Paused" }, { name: "Active" } ] } }, { name: "CreateEvent", type: { kind: "struct", fields: [ { name: "name", type: "string" }, { name: "symbol", type: "string" }, { name: "uri", type: "string" }, { name: "mint", type: "pubkey" }, { name: "bonding_curve", type: "pubkey" }, { name: "user", type: "pubkey" }, { name: "creator", type: "pubkey" }, { name: "timestamp", type: "i64" }, { name: "virtual_token_reserves", type: "u64" }, { name: "virtual_sol_reserves", type: "u64" }, { name: "real_token_reserves", type: "u64" }, { name: "token_total_supply", type: "u64" }, { name: "token_program", type: "pubkey" }, { name: "is_mayhem_mode", type: "bool" }, { name: "is_cashback_enabled", type: "bool" }, { name: "quote_mint", type: "pubkey" }, { name: "virtual_quote_reserves", type: "u64" }, { name: "creator_fee_bps", type: "u64" }, { name: "is_holder_reward", type: "bool" } ] } }, { name: "DistributeCreatorFeesEvent", type: { kind: "struct", fields: [ { name: "timestamp", type: "i64" }, { name: "mint", type: "pubkey" }, { name: "bonding_curve", type: "pubkey" }, { name: "sharing_config", type: "pubkey" }, { name: "admin", type: "pubkey" }, { name: "shareholders", type: { vec: { defined: { name: "Shareholder" } } } }, { name: "distributed", type: "u64" }, { name: "quote_mint", type: "pubkey" } ] } }, { name: "DistributeFeeToHoldersEvent", type: { kind: "struct", fields: [ { name: "timestamp", type: "i64" }, { name: "mint", type: "pubkey" }, { name: "quote_mint", type: "pubkey" }, { name: "recipients", type: "u64" }, { name: "total", type: "u64" } ] } }, { name: "ExtendAccountEvent", type: { kind: "struct", fields: [ { name: "account", 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", type: "u8" }, { name: "admin", type: "pubkey" }, { name: "flat_fees", type: { defined: { name: "Fees" } } }, { name: "fee_tiers", type: { vec: { defined: { name: "FeeTier" } } } }, { name: "stable_fee_tiers", type: { vec: { defined: { name: "FeeTier" } } } }, { name: "exotic_flat_fees", type: { defined: { name: "Fees" } } } ] } }, { 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", docs: [ "Unused" ], 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", docs: [ "Unused" ], 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: "is_cashback_enabled", type: "bool" }, { name: "buyback_fee_recipients", type: { array: [ "pubkey", 8 ] } }, { name: "buyback_basis_points", type: "u64" }, { name: "initial_virtual_quote_reserves", type: "u64" }, { name: "whitelisted_quote_mints", type: { array: [ "pubkey", 1 ] } }, { name: "creator_fee_configurable", type: "bool" }, { name: "max_configurable_creator_fee_bps", type: "u64" }, { name: "holder_reward_claim_authority", type: "pubkey" }, { name: "is_holder_reward_enabled", type: "bool" } ] } }, { name: "GlobalVolumeAccumulator", type: { kind: "struct", fields: [ { name: "start_time", type: "i64" }, { name: "end_time", type: "i64" }, { name: "seconds_in_a_day", type: "i64" }, { name: "mint", type: "pubkey" }, { name: "total_token_supply", type: { array: [ "u64", 30 ] } }, { name: "sol_volumes", type: { array: [ "u64", 30 ] } } ] } }, { name: "InitUserVolumeAccumulatorEvent", type: { kind: "struct", fields: [ { name: "payer", type: "pubkey" }, { name: "user", type: "pubkey" }, { name: "timestamp", type: "i64" } ] } }, { name: "MigrateBondingCurveCreatorEvent", type: { kind: "struct", fields: [ { name: "timestamp", type: "i64" }, { name: "mint", type: "pubkey" }, { name: "bonding_curve", type: "pubkey" }, { name: "sharing_config", type: "pubkey" }, { name: "old_creator", type: "pubkey" }, { name: "new_creator", type: "pubkey" } ] } }, { name: "MinimumDistributableFeeEvent", type: { kind: "struct", fields: [ { name: "minimum_required", type: "u64" }, { name: "distributable_fees", type: "u64" }, { name: "can_distribute", type: "bool" } ] } }, { name: "OptionBool", type: { kind: "struct", fields: [ "bool" ] } }, { name: "OptionU64", type: { kind: "struct", fields: [ "u64" ] } }, { name: "QuoteControl", type: { kind: "struct", fields: [ { name: "admin", type: "pubkey" }, { name: "_reserved", type: { array: [ "u8", 64 ] } }, { name: "mints", type: { vec: { defined: { name: "QuoteControlMint" } } } } ] } }, { name: "QuoteControlMint", type: { kind: "struct", fields: [ { name: "mint", type: "pubkey" }, { name: "initial_virtual_quote_reserves", type: "u64" } ] } }, { name: "RemoveQuoteControlMintEvent", type: { kind: "struct", fields: [ { name: "quote_control", type: "pubkey" }, { name: "authority", type: "pubkey" }, { name: "quote_mint", type: "pubkey" }, { name: "timestamp", type: "i64" } ] } }, { name: "ReservedFeeRecipientsEvent", type: { kind: "struct", fields: [ { name: "timestamp", type: "i64" }, { name: "reserved_fee_recipient", type: "pubkey" }, { name: "reserved_fee_recipients", type: { array: [ "pubkey", 7 ] } } ] } }, { name: "SetCreatorEvent", type: { kind: "struct", fields: [ { name: "timestamp", type: "i64" }, { name: "mint", type: "pubkey" }, { name: "bonding_curve", type: "pubkey" }, { name: "creator", type: "pubkey" } ] } }, { name: "SetMetaplexCreatorEvent", type: { kind: "struct", fields: [ { name: "timestamp", type: "i64" }, { name: "mint", type: "pubkey" }, { name: "bonding_curve", type: "pubkey" }, { name: "metadata", type: "pubkey" }, { name: "creator", type: "pubkey" } ] } }, { name: "SetParamsEvent", type: { kind: "struct", fields: [ { name: "initial_virtual_token_reserves", type: "u64" }, { name: "initial_virtual_sol_reserves", type: "u64" }, { name: "initial_real_token_reserves", type: "u64" }, { name: "final_real_sol_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", 8 ] } }, { name: "timestamp", type: "i64" }, { name: "set_creator_authority", type: "pubkey" }, { name: "admin_set_creator_authority", type: "pubkey" } ] } }, { name: "SetQuoteControlAdminEvent", type: { kind: "struct", fields: [ { name: "quote_control", type: "pubkey" }, { name: "authority", type: "pubkey" }, { name: "old_admin", type: "pubkey" }, { name: "new_admin", type: "pubkey" }, { name: "timestamp", type: "i64" } ] } }, { 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: "SyncUserVolumeAccumulatorEvent", type: { kind: "struct", fields: [ { name: "user", type: "pubkey" }, { name: "total_claimed_tokens_before", type: "u64" }, { name: "total_claimed_tokens_after", type: "u64" }, { name: "timestamp", type: "i64" } ] } }, { name: "TradeEvent", docs: [ "ix_name: \"buy\" | \"sell\" | \"buy_exact_sol_in\"" ], type: { kind: "struct", fields: [ { name: "mint", type: "pubkey" }, { name: "sol_amount", type: "u64" }, { name: "token_amount", type: "u64" }, { name: "is_buy", type: "bool" }, { name: "user", type: "pubkey" }, { name: "timestamp", type: "i64" }, { name: "virtual_sol_reserves", type: "u64" }, { name: "virtual_token_reserves", type: "u64" }, { name: "real_sol_reserves", type: "u64" }, { name: "real_token_reserves", type: "u64" }, { name: "fee_recipient", type: "pubkey" }, { name: "fee_basis_points", type: "u64" }, { name: "fee", type: "u64" }, { name: "creator", type: "pubkey" }, { name: "creator_fee_basis_points", type: "u64" }, { name: "creator_fee", type: "u64" }, { name: "track_volume", type: "bool" }, { name: "total_unclaimed_tokens", type: "u64" }, { name: "total_claimed_tokens", type: "u64" }, { name: "current_sol_volume", type: "u64" }, { name: "last_update_timestamp", type: "i64" }, { name: "ix_name", type: "string" }, { name: "mayhem_mode", type: "bool" }, { name: "cashback_fee_basis_points", type: "u64" }, { name: "cashback", type: "u64" }, { name: "buyback_fee_basis_points", type: "u64" }, { name: "buyback_fee", type: "u64" }, { name: "shareholders", type: { vec: { defined: { name: "Shareholder" } } } }, { name: "quote_mint", type: "pubkey" }, { name: "quote_amount", type: "u64" }, { name: "virtual_quote_reserves", type: "u64" }, { name: "real_quote_reserves", type: "u64" }, { name: "holder_rewards_bps", type: "u64" }, { name: "holder_rewards", type: "u64" } ] } }, { name: "UpdateCreatorFeeConfigEvent", type: { kind: "struct", fields: [ { name: "timestamp", type: "i64" }, { name: "authority", type: "pubkey" }, { name: "creator_fee_configurable", type: "bool" }, { name: "max_configurable_creator_fee_bps", type: "u64" } ] } }, { name: "UpdateGlobalAuthorityEvent", type: { kind: "struct", fields: [ { name: "global", type: "pubkey" }, { name: "authority", type: "pubkey" }, { name: "new_authority", type: "pubkey" }, { name: "timestamp", type: "i64" } ] } }, { name: "UpdateMayhemVirtualParamsEvent", type: { kind: "struct", fields: [ { name: "timestamp", type: "i64" }, { name: "mint", type: "pubkey" }, { name: "virtual_token_reserves", type: "u64" }, { name: "virtual_sol_reserves", type: "u64" }, { name: "new_virtual_token_reserves", type: "u64" }, { name: "new_virtual_sol_reserves", type: "u64" }, { name: "real_token_reserves", type: "u64" }, { name: "real_sol_reserves", type: "u64" } ] } }, { name: "UserVolumeAccumulator", type: { kind: "struct", fields: [ { name: "user", type: "pubkey" }, { name: "needs_claim", type: "bool" }, { name: "total_unclaimed_tokens", type: "u64" }, { name: "total_claimed_tokens", type: "u64" }, { name: "current_sol_volume", type: "u64" }, { name: "last_update_timestamp", type: "i64" }, { name: "has_total_claimed_tokens", type: "bool" }, { name: "cashback_earned", type: "u64" }, { name: "total_cashback_claimed", type: "u64" }, { name: "stable_cashback_earned", type: "u64" }, { name: "total_stable_cashback_claimed", type: "u64" } ] } } ]; var pump = { address: address, metadata: metadata, instructions: instructions, accounts: accounts, events: events, errors: errors, types: types }; /** * Program IDL in camelCase format in order to be used in JS/TS. * * Note that this is only a type helper and is not the actual IDL. The original * IDL can be found at `target/idl/pump_fees.json`. */ type PumpFees = { "address": "pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ"; "metadata": { "name": "pumpFees"; "version": "0.1.0"; "spec": "0.1.0"; "description": "Created with Anchor"; }; "instructions": [ { "name": "adminCtoSharingConfig"; "discriminator": [ 60, 100, 144, 156, 64, 138, 182, 37 ]; "accounts": [ { "name": "poolAuthority"; "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": [ "sharingConfig" ]; }, { "name": "sharingConfig"; "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": "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"; "address": "pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ"; } ]; "args": [ { "name": "newAdmin"; "type": { "option": "pubkey"; }; } ]; }, { "name": "claimSocialFeePda"; "discriminator": [ 225, 21, 251, 133, 161, 30, 199, 226 ]; "accounts": [ { "name": "recipient"; "writable": true; }, { "name": "socialFeePda"; "writable": true; }, { "name": "feeProgramGlobal"; "pda": { "seeds": [ { "kind": "const"; "value": [ 102, 101, 101, 45, 112, 114, 111, 103, 114, 97, 109, 45, 103, 108, 111, 98, 97, 108 ]; } ]; }; }, { "name": "socialClaimAuthority"; "signer": true; "relations": [ "feeProgramGlobal" ]; }, { "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": "userId"; "type": "string"; }, { "name": "platform"; "type": "u8"; } ]; "returns": { "option": { "defined": { "name": "socialFeePdaClaimed"; }; }; }; }, { "name": "claimSocialFeePdaV2"; "discriminator": [ 17, 77, 240, 134, 58, 188, 53, 149 ]; "accounts": [ { "name": "recipient"; "writable": true; }, { "name": "socialFeePda"; "writable": true; }, { "name": "quoteMint"; "docs": [ "Quote mint for claim" ]; "writable": true; }, { "name": "associatedSocialFeePda"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "socialFeePda"; }, { "kind": "account"; "path": "quoteTokenProgram"; }, { "kind": "account"; "path": "quoteMint"; } ]; "program": { "kind": "account"; "path": "associatedTokenProgram"; }; }; }, { "name": "associatedRecipient"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "recipient"; }, { "kind": "account"; "path": "quoteTokenProgram"; }, { "kind": "account"; "path": "quoteMint"; } ]; "program": { "kind": "account"; "path": "associatedTokenProgram"; }; }; }, { "name": "quoteTokenProgram"; }, { "name": "associatedTokenProgram"; "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"; }, { "name": "feeProgramGlobal"; "pda": { "seeds": [ { "kind": "const"; "value": [ 102, 101, 101, 45, 112, 114, 111, 103, 114, 97, 109, 45, 103, 108, 111, 98, 97, 108 ]; } ]; }; }, { "name": "socialClaimAuthority"; "signer": true; "relations": [ "feeProgramGlobal" ]; }, { "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": "userId"; "type": "string"; }, { "name": "platform"; "type": "u8"; } ]; "returns": { "option": { "defined": { "name": "socialFeePdaClaimed"; }; }; }; }, { "name": "crankDonationFeePda"; "discriminator": [ 220, 10, 189, 167, 169, 17, 25, 69 ]; "accounts": [ { "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"; "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": "systemProgram"; "address": "11111111111111111111111111111111"; }, { "name": "tokenProgram"; "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"; }, { "name": "associatedTokenProgram"; "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"; }, { "name": "rent"; "address": "SysvarRent111111111111111111111111111111111"; }, { "name": "feeProgramGlobal"; "pda": { "seeds": [ { "kind": "const"; "value": [ 102, 101, 101, 45, 112, 114, 111, 103, 114, 97, 109, 45, 103, 108, 111, 98, 97, 108 ]; } ]; }; }, { "name": "donationFeePda"; "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": "quoteMint"; "docs": [ "Quote mint from donation fee pda." ]; "writable": true; }, { "name": "donationFeePdaAta"; "docs": [ "WSOL ATA owned by `donation_fee_pda`." ]; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "donationFeePda"; }, { "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": "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": "donationRelayProgram"; "address": "RLAYHr9TRFcKB2ubYQhspcnXiaGpaVzNQvHytt47RZu"; }, { "name": "donationRelayEventAuthority"; }, { "name": "mintWhitelist"; }, { "name": "epochTracker"; "writable": true; }, { "name": "debouncer"; "writable": true; }, { "name": "debouncerAta"; "writable": true; } ]; "args": []; }, { "name": "createDonationFeePda"; "discriminator": [ 244, 139, 16, 88, 14, 255, 122, 26 ]; "accounts": [ { "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"; "address": "pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ"; }, { "name": "payer"; "writable": true; "signer": true; }, { "name": "systemProgram"; "address": "11111111111111111111111111111111"; }, { "name": "feeProgramGlobal"; "pda": { "seeds": [ { "kind": "const"; "value": [ 102, 101, 101, 45, 112, 114, 111, 103, 114, 97, 109, 45, 103, 108, 111, 98, 97, 108 ]; } ]; }; }, { "name": "donationFeePda"; "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": "baseMint"; }, { "kind": "account"; "path": "configId"; } ]; }; }, { "name": "configId"; "docs": [ "stored on the PDA, so distinct `config_id`s for the same `base_mint` derive distinct addresses." ]; }, { "name": "baseMint"; }, { "name": "bondingCurve"; "pda": { "seeds": [ { "kind": "const"; "value": [ 98, 111, 110, 100, 105, 110, 103, 45, 99, 117, 114, 118, 101 ]; }, { "kind": "account"; "path": "baseMint"; } ]; "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": "sharingConfig"; "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": "baseMint"; } ]; }; } ]; "args": []; }, { "name": "createFeeSharingConfig"; "docs": [ "Create Fee Sharing Config" ]; "discriminator": [ 195, 78, 86, 76, 111, 52, 251, 213 ]; "accounts": [ { "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"; "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": "sharingConfig"; "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": "systemProgram"; "address": "11111111111111111111111111111111"; }, { "name": "bondingCurve"; "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": "pumpProgram"; "address": "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P"; }, { "name": "pumpEventAuthority"; "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": "pumpAmmProgram"; "optional": true; "address": "pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA"; }, { "name": "pumpAmmEventAuthority"; "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": "createSocialFeePda"; "discriminator": [ 144, 224, 59, 211, 78, 248, 202, 220 ]; "accounts": [ { "name": "payer"; "writable": true; "signer": true; }, { "name": "socialFeePda"; "writable": true; }, { "name": "systemProgram"; "address": "11111111111111111111111111111111"; }, { "name": "feeProgramGlobal"; "pda": { "seeds": [ { "kind": "const"; "value": [ 102, 101, 101, 45, 112, 114, 111, 103, 114, 97, 109, 45, 103, 108, 111, 98, 97, 108 ]; } ]; }; }, { "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": "userId"; "type": "string"; }, { "name": "platform"; "type": "u8"; } ]; }, { "name": "extendFeeConfig"; "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": "feeConfig"; "writable": true; }, { "name": "user"; "signer": true; }, { "name": "configProgramId"; }, { "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": "getFees"; "docs": [ "Get Fees" ]; "discriminator": [ 231, 37, 126, 85, 207, 91, 63, 52 ]; "accounts": [ { "name": "feeConfig"; "pda": { "seeds": [ { "kind": "const"; "value": [ 102, 101, 101, 95, 99, 111, 110, 102, 105, 103 ]; }, { "kind": "account"; "path": "configProgramId"; } ]; }; }, { "name": "configProgramId"; } ]; "args": [ { "name": "isPumpPool"; "type": "bool"; }, { "name": "marketCapLamports"; "type": "u128"; }, { "name": "tradeSizeLamports"; "type": "u64"; }, { "name": "isNewQuoteMint"; "type": { "defined": { "name": "optionBool"; }; }; } ]; "returns": { "defined": { "name": "fees"; }; }; }, { "name": "getFeesWithQuoteMint"; "discriminator": [ 154, 237, 138, 92, 162, 2, 162, 187 ]; "accounts": [ { "name": "feeConfig"; "pda": { "seeds": [ { "kind": "const"; "value": [ 102, 101, 101, 95, 99, 111, 110, 102, 105, 103 ]; }, { "kind": "account"; "path": "configProgramId"; } ]; }; }, { "name": "configProgramId"; } ]; "args": [ { "name": "isPumpPool"; "type": "bool"; }, { "name": "marketCapLamports"; "type": "u128"; }, { "name": "quoteMint"; "type": "pubkey"; } ]; "returns": { "defined": { "name": "fees"; }; }; }, { "name": "initializeBuyback"; "discriminator": [ 250, 129, 236, 160, 227, 36, 103, 134 ]; "accounts": [ { "name": "payer"; "writable": true; "signer": true; }, { "name": "buybackVault"; "writable": true; }, { "name": "buybackVaultAta"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "buybackVault"; }, { "kind": "account"; "path": "tokenProgram"; }, { "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": "systemProgram"; "address": "11111111111111111111111111111111"; }, { "name": "associatedTokenProgram"; "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"; }, { "name": "mint"; }, { "name": "tokenProgram"; }, { "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": "u8"; } ]; }, { "name": "initializeFeeConfig"; "docs": [ "Initialize FeeConfig admin" ]; "discriminator": [ 62, 162, 20, 133, 121, 65, 145, 27 ]; "accounts": [ { "name": "admin"; "writable": true; "signer": true; "address": "8LWu7QM2dGR1G8nKDHthckea57bkCzXyBTAKPJUBDHo8"; }, { "name": "feeConfig"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 102, 101, 101, 95, 99, 111, 110, 102, 105, 103 ]; }, { "kind": "account"; "path": "configProgramId"; } ]; }; }, { "name": "systemProgram"; "address": "11111111111111111111111111111111"; }, { "name": "configProgramId"; }, { "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": "initializeFeeProgramGlobal"; "discriminator": [ 35, 215, 130, 84, 233, 56, 124, 167 ]; "accounts": [ { "name": "authority"; "writable": true; "signer": true; "relations": [ "pumpGlobal" ]; }, { "name": "pumpGlobal"; "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": "feeProgramGlobal"; "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": "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": "socialClaimAuthority"; "type": "pubkey"; }, { "name": "disableFlags"; "type": "u8"; }, { "name": "claimRateLimit"; "type": "u64"; } ]; }, { "name": "revokeFeeSharingAuthority"; "docs": [ "Revoke Fee Sharing Authority" ]; "discriminator": [ 18, 233, 158, 39, 185, 207, 58, 104 ]; "accounts": []; "args": []; }, { "name": "setAuthority"; "discriminator": [ 133, 250, 37, 21, 110, 163, 26, 121 ]; "accounts": [ { "name": "authority"; "writable": true; "signer": true; "relations": [ "feeProgramGlobal" ]; }, { "name": "feeProgramGlobal"; "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": "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": "newAuthority"; "type": "pubkey"; } ]; }, { "name": "setClaimRateLimit"; "discriminator": [ 185, 211, 159, 174, 212, 49, 88, 4 ]; "accounts": [ { "name": "authority"; "writable": true; "signer": true; "relations": [ "feeProgramGlobal" ]; }, { "name": "feeProgramGlobal"; "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": "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": "claimRateLimit"; "type": "u64"; } ]; }, { "name": "setDisableFlags"; "discriminator": [ 194, 217, 112, 35, 114, 222, 51, 190 ]; "accounts": [ { "name": "authority"; "writable": true; "signer": true; "relations": [ "feeProgramGlobal" ]; }, { "name": "feeProgramGlobal"; "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": "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": "disableFlags"; "type": "u8"; } ]; }, { "name": "setExoticFlatFees"; "discriminator": [ 30, 234, 149, 138, 252, 230, 39, 73 ]; "accounts": [ { "name": "feeConfig"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 102, 101, 101, 95, 99, 111, 110, 102, 105, 103 ]; }, { "kind": "account"; "path": "configProgramId"; } ]; }; }, { "name": "admin"; "writable": true; "signer": true; "relations": [ "feeConfig" ]; }, { "name": "configProgramId"; }, { "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": "exoticFlatFees"; "type": { "defined": { "name": "fees"; }; }; } ]; }, { "name": "setSocialClaimAuthority"; "discriminator": [ 147, 54, 184, 154, 136, 237, 185, 153 ]; "accounts": [ { "name": "authority"; "writable": true; "signer": true; "relations": [ "feeProgramGlobal" ]; }, { "name": "feeProgramGlobal"; "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": "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": "socialClaimAuthority"; "type": "pubkey"; } ]; }, { "name": "sweepBuyback"; "discriminator": [ 138, 33, 204, 38, 207, 161, 159, 226 ]; "accounts": [ { "name": "destination"; "writable": true; }, { "name": "authority"; "writable": true; "signer": true; "relations": [ "buybackVault" ]; }, { "name": "buybackVault"; "writable": true; }, { "name": "buybackVaultAta"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "buybackVault"; }, { "kind": "account"; "path": "tokenProgram"; }, { "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": "destinationAta"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "destination"; }, { "kind": "account"; "path": "tokenProgram"; }, { "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": "systemProgram"; "address": "11111111111111111111111111111111"; }, { "name": "associatedTokenProgram"; "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"; }, { "name": "mint"; }, { "name": "tokenProgram"; }, { "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": "u8"; } ]; }, { "name": "transferFeeSharingAuthority"; "docs": [ "Transfer Fee Sharing Authority" ]; "discriminator": [ 202, 10, 75, 200, 164, 34, 210, 96 ]; "accounts": []; "args": []; }, { "name": "updateAdmin"; "docs": [ "Update admin (only callable by admin)" ]; "discriminator": [ 161, 176, 40, 213, 60, 184, 179, 228 ]; "accounts": [ { "name": "admin"; "signer": true; "relations": [ "feeConfig" ]; }, { "name": "feeConfig"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 102, 101, 101, 95, 99, 111, 110, 102, 105, 103 ]; }, { "kind": "account"; "path": "configProgramId"; } ]; }; }, { "name": "newAdmin"; }, { "name": "configProgramId"; }, { "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": "updateBuybackAuthority"; "discriminator": [ 66, 98, 113, 202, 121, 37, 219, 107 ]; "accounts": [ { "name": "authority"; "writable": true; "signer": true; "relations": [ "feeProgramGlobal" ]; }, { "name": "feeProgramGlobal"; "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": "buybackVault"; "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": "index"; "type": "u8"; }, { "name": "newAuthority"; "type": "pubkey"; } ]; }, { "name": "updateBuybackClaimRateLimit"; "discriminator": [ 186, 95, 135, 190, 255, 199, 137, 170 ]; "accounts": [ { "name": "authority"; "writable": true; "signer": true; "relations": [ "feeProgramGlobal" ]; }, { "name": "feeProgramGlobal"; "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": "buybackVault"; "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": "index"; "type": "u8"; }, { "name": "claimRateLimit"; "type": "i64"; } ]; }, { "name": "updateFeeConfig"; "docs": [ "Set/Replace fee parameters entirely (only callable by admin)" ]; "discriminator": [ 104, 184, 103, 242, 88, 151, 107, 20 ]; "accounts": [ { "name": "feeConfig"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 102, 101, 101, 95, 99, 111, 110, 102, 105, 103 ]; }, { "kind": "account"; "path": "configProgramId"; } ]; }; }, { "name": "admin"; "signer": true; "relations": [ "feeConfig" ]; }, { "name": "configProgramId"; }, { "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": "feeTiers"; "type": { "vec": { "defined": { "name": "feeTier"; }; }; }; }, { "name": "flatFees"; "type": { "defined": { "name": "fees"; }; }; } ]; }, { "name": "updateFeeShares"; "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": "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"; "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": [ "sharingConfig" ]; }, { "name": "sharingConfig"; "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": "bondingCurve"; "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": "pumpCreatorVault"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 99, 114, 101, 97, 116, 111, 114, 45, 118, 97, 117, 108, 116 ]; }, { "kind": "account"; "path": "sharingConfig"; } ]; "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": "systemProgram"; "address": "11111111111111111111111111111111"; }, { "name": "pumpProgram"; "address": "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P"; }, { "name": "pumpEventAuthority"; "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": "pumpAmmProgram"; "address": "pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA"; }, { "name": "ammEventAuthority"; "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": "wsolMint"; "address": "So11111111111111111111111111111111111111112"; }, { "name": "tokenProgram"; "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"; }, { "name": "associatedTokenProgram"; "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"; }, { "name": "coinCreatorVaultAuthority"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 99, 114, 101, 97, 116, 111, 114, 95, 118, 97, 117, 108, 116 ]; }, { "kind": "account"; "path": "sharingConfig"; } ]; "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": "coinCreatorVaultAta"; "writable": true; } ]; "args": [ { "name": "shareholders"; "type": { "vec": { "defined": { "name": "shareholder"; }; }; }; } ]; }, { "name": "updateFeeSharesV2"; "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": "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"; "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": [ "sharingConfig" ]; }, { "name": "sharingConfig"; "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": "bondingCurve"; "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": "pumpCreatorVault"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 99, 114, 101, 97, 116, 111, 114, 45, 118, 97, 117, 108, 116 ]; }, { "kind": "account"; "path": "sharingConfig"; } ]; "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": "pumpCreatorVaultAta"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "pumpCreatorVault"; }, { "kind": "account"; "path": "tokenProgram"; }, { "kind": "account"; "path": "quoteMint"; } ]; "program": { "kind": "account"; "path": "associatedTokenProgram"; }; }; }, { "name": "systemProgram"; "address": "11111111111111111111111111111111"; }, { "name": "pumpProgram"; "address": "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P"; }, { "name": "pumpEventAuthority"; "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": "pumpAmmProgram"; "address": "pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA"; }, { "name": "ammEventAuthority"; "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": "quoteMint"; }, { "name": "tokenProgram"; }, { "name": "associatedTokenProgram"; "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"; }, { "name": "coinCreatorVaultAuthority"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 99, 114, 101, 97, 116, 111, 114, 95, 118, 97, 117, 108, 116 ]; }, { "kind": "account"; "path": "sharingConfig"; } ]; "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": "coinCreatorVaultAta"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "coinCreatorVaultAuthority"; }, { "kind": "account"; "path": "tokenProgram"; }, { "kind": "account"; "path": "quoteMint"; } ]; "program": { "kind": "account"; "path": "associatedTokenProgram"; }; }; } ]; "args": [ { "name": "shareholders"; "type": { "vec": { "defined": { "name": "shareholder"; }; }; }; } ]; }, { "name": "updateStableFeeConfig"; "docs": [ "Set/Replace fee parameters entirely (only callable by admin)" ]; "discriminator": [ 107, 169, 100, 179, 134, 155, 146, 221 ]; "accounts": [ { "name": "feeConfig"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 102, 101, 101, 95, 99, 111, 110, 102, 105, 103 ]; }, { "kind": "account"; "path": "configProgramId"; } ]; }; }, { "name": "admin"; "signer": true; "relations": [ "feeConfig" ]; }, { "name": "configProgramId"; }, { "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": "feeTiers"; "type": { "vec": { "defined": { "name": "feeTier"; }; }; }; } ]; }, { "name": "upsertFeeTiers"; "docs": [ "Update or expand fee tiers (only callable by admin)" ]; "discriminator": [ 227, 23, 150, 12, 77, 86, 94, 4 ]; "accounts": [ { "name": "feeConfig"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 102, 101, 101, 95, 99, 111, 110, 102, 105, 103 ]; }, { "kind": "account"; "path": "configProgramId"; } ]; }; }, { "name": "admin"; "signer": true; "relations": [ "feeConfig" ]; }, { "name": "configProgramId"; }, { "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": "feeTiers"; "type": { "vec": { "defined": { "name": "feeTier"; }; }; }; }, { "name": "offset"; "type": "u8"; } ]; }, { "name": "upsertStableFeeTiers"; "docs": [ "Update or expand fee tiers (only callable by admin)" ]; "discriminator": [ 181, 160, 162, 252, 74, 76, 224, 221 ]; "accounts": [ { "name": "feeConfig"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 102, 101, 101, 95, 99, 111, 110, 102, 105, 103 ]; }, { "kind": "account"; "path": "configProgramId"; } ]; }; }, { "name": "admin"; "signer": true; "relations": [ "feeConfig" ]; }, { "name": "configProgramId"; }, { "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": "feeTiers"; "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": "virtualTokenReserves"; "type": "u64"; }, { "name": "virtualQuoteReserves"; "type": "u64"; }, { "name": "realTokenReserves"; "type": "u64"; }, { "name": "realQuoteReserves"; "type": "u64"; }, { "name": "tokenTotalSupply"; "type": "u64"; }, { "name": "complete"; "type": "bool"; }, { "name": "creator"; "type": "pubkey"; }, { "name": "isMayhemMode"; "type": "bool"; } ]; }; }, { "name": "buybackVault"; "type": { "kind": "struct"; "fields": [ { "name": "authority"; "type": "pubkey"; }, { "name": "totalClaimed"; "type": "u64"; }, { "name": "totalClaimedToken1"; "type": "u64"; }, { "name": "totalClaimedToken2"; "type": "u64"; }, { "name": "lastClaimed"; "type": "i64"; }, { "name": "claimRateLimit"; "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": "bondingCurve"; "type": "pubkey"; }, { "name": "pool"; "type": { "option": "pubkey"; }; }, { "name": "sharingConfig"; "type": "pubkey"; }, { "name": "admin"; "type": "pubkey"; }, { "name": "initialShareholders"; "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": "configId"; "type": "pubkey"; }, { "name": "baseMint"; "type": "pubkey"; }, { "name": "quoteMint"; "type": "pubkey"; }, { "name": "creator"; "type": "pubkey"; }, { "name": "totalDonated"; "type": "u64"; }, { "name": "lastCrankTs"; "type": "i64"; }, { "name": "reserved"; "type": { "array": [ "u8", 64 ]; }; } ]; }; }, { "name": "donationFeePdaCranked"; "type": { "kind": "struct"; "fields": [ { "name": "timestamp"; "type": "i64"; }, { "name": "signer"; "type": "pubkey"; }, { "name": "donationFeePda"; "type": "pubkey"; }, { "name": "configId"; "type": "pubkey"; }, { "name": "baseMint"; "type": "pubkey"; }, { "name": "quoteMint"; "type": "pubkey"; }, { "name": "creator"; "type": "pubkey"; }, { "name": "amount"; "type": "u64"; } ]; }; }, { "name": "donationFeePdaCreated"; "type": { "kind": "struct"; "fields": [ { "name": "timestamp"; "type": "i64"; }, { "name": "createdBy"; "type": "pubkey"; }, { "name": "donationFeePda"; "type": "pubkey"; }, { "name": "configId"; "type": "pubkey"; }, { "name": "baseMint"; "type": "pubkey"; }, { "name": "quoteMint"; "type": "pubkey"; }, { "name": "creator"; "type": "pubkey"; } ]; }; }, { "name": "extendFeeConfigEvent"; "type": { "kind": "struct"; "fields": [ { "name": "feeConfig"; "type": "pubkey"; }, { "name": "user"; "type": "pubkey"; }, { "name": "currentSize"; "type": "u64"; }, { "name": "newSize"; "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": "flatFees"; "docs": [ "The flat fees for non-pump pools" ]; "type": { "defined": { "name": "fees"; }; }; }, { "name": "feeTiers"; "docs": [ "The fee tiers" ]; "type": { "vec": { "defined": { "name": "feeTier"; }; }; }; }, { "name": "stableFeeTiers"; "docs": [ "The fee tiers" ]; "type": { "vec": { "defined": { "name": "feeTier"; }; }; }; }, { "name": "exoticFlatFees"; "type": { "defined": { "name": "fees"; }; }; } ]; }; }, { "name": "feeProgramGlobal"; "type": { "kind": "struct"; "fields": [ { "name": "bump"; "type": "u8"; }, { "name": "authority"; "type": "pubkey"; }, { "name": "disableFlags"; "type": "u8"; }, { "name": "socialClaimAuthority"; "type": "pubkey"; }, { "name": "claimRateLimit"; "type": "u64"; }, { "name": "reserved"; "type": { "array": [ "u8", 256 ]; }; } ]; }; }, { "name": "feeTier"; "type": { "kind": "struct"; "fields": [ { "name": "marketCapLamportsThreshold"; "type": "u128"; }, { "name": "fees"; "type": { "defined": { "name": "fees"; }; }; } ]; }; }, { "name": "fees"; "type": { "kind": "struct"; "fields": [ { "name": "lpFeeBps"; "type": "u64"; }, { "name": "protocolFeeBps"; "type": "u64"; }, { "name": "creatorFeeBps"; "type": "u64"; } ]; }; }, { "name": "global"; "type": { "kind": "struct"; "fields": [ { "name": "initialized"; "type": "bool"; }, { "name": "authority"; "type": "pubkey"; }, { "name": "feeRecipient"; "type": "pubkey"; }, { "name": "initialVirtualTokenReserves"; "type": "u64"; }, { "name": "initialVirtualSolReserves"; "type": "u64"; }, { "name": "initialRealTokenReserves"; "type": "u64"; }, { "name": "tokenTotalSupply"; "type": "u64"; }, { "name": "feeBasisPoints"; "type": "u64"; }, { "name": "withdrawAuthority"; "type": "pubkey"; }, { "name": "enableMigrate"; "type": "bool"; }, { "name": "poolMigrationFee"; "type": "u64"; }, { "name": "creatorFeeBasisPoints"; "type": "u64"; }, { "name": "feeRecipients"; "type": { "array": [ "pubkey", 7 ]; }; }, { "name": "setCreatorAuthority"; "type": "pubkey"; }, { "name": "adminSetCreatorAuthority"; "type": "pubkey"; }, { "name": "createV2Enabled"; "type": "bool"; }, { "name": "whitelistPda"; "type": "pubkey"; }, { "name": "reservedFeeRecipient"; "type": "pubkey"; }, { "name": "mayhemModeEnabled"; "type": "bool"; }, { "name": "reservedFeeRecipients"; "type": { "array": [ "pubkey", 7 ]; }; } ]; }; }, { "name": "initializeFeeConfigEvent"; "type": { "kind": "struct"; "fields": [ { "name": "timestamp"; "type": "i64"; }, { "name": "admin"; "type": "pubkey"; }, { "name": "feeConfig"; "type": "pubkey"; } ]; }; }, { "name": "initializeFeeProgramGlobalEvent"; "type": { "kind": "struct"; "fields": [ { "name": "timestamp"; "type": "i64"; }, { "name": "authority"; "type": "pubkey"; }, { "name": "socialClaimAuthority"; "type": "pubkey"; }, { "name": "disableFlags"; "type": "u8"; }, { "name": "claimRateLimit"; "type": "u64"; } ]; }; }, { "name": "optionBool"; "type": { "kind": "struct"; "fields": [ "bool" ]; }; }, { "name": "pool"; "type": { "kind": "struct"; "fields": [ { "name": "poolBump"; "type": "u8"; }, { "name": "index"; "type": "u16"; }, { "name": "creator"; "type": "pubkey"; }, { "name": "baseMint"; "type": "pubkey"; }, { "name": "quoteMint"; "type": "pubkey"; }, { "name": "lpMint"; "type": "pubkey"; }, { "name": "poolBaseTokenAccount"; "type": "pubkey"; }, { "name": "poolQuoteTokenAccount"; "type": "pubkey"; }, { "name": "lpSupply"; "type": "u64"; }, { "name": "coinCreator"; "type": "pubkey"; }, { "name": "isMayhemMode"; "type": "bool"; }, { "name": "isCashbackCoin"; "type": "bool"; }, { "name": "virtualQuoteReserves"; "type": "i128"; } ]; }; }, { "name": "resetFeeSharingConfigEvent"; "type": { "kind": "struct"; "fields": [ { "name": "timestamp"; "type": "i64"; }, { "name": "mint"; "type": "pubkey"; }, { "name": "sharingConfig"; "type": "pubkey"; }, { "name": "oldAdmin"; "type": "pubkey"; }, { "name": "oldShareholders"; "type": { "vec": { "defined": { "name": "shareholder"; }; }; }; }, { "name": "newAdmin"; "type": "pubkey"; }, { "name": "newShareholders"; "type": { "vec": { "defined": { "name": "shareholder"; }; }; }; }, { "name": "oldVersion"; "type": "u8"; }, { "name": "newVersion"; "type": "u8"; } ]; }; }, { "name": "setAuthorityEvent"; "type": { "kind": "struct"; "fields": [ { "name": "timestamp"; "type": "i64"; }, { "name": "oldAuthority"; "type": "pubkey"; }, { "name": "newAuthority"; "type": "pubkey"; } ]; }; }, { "name": "setClaimRateLimitEvent"; "type": { "kind": "struct"; "fields": [ { "name": "timestamp"; "type": "i64"; }, { "name": "claimRateLimit"; "type": "u64"; } ]; }; }, { "name": "setDisableFlagsEvent"; "type": { "kind": "struct"; "fields": [ { "name": "timestamp"; "type": "i64"; }, { "name": "disableFlags"; "type": "u8"; } ]; }; }, { "name": "setExoticFlatFeesEvent"; "type": { "kind": "struct"; "fields": [ { "name": "timestamp"; "type": "i64"; }, { "name": "admin"; "type": "pubkey"; }, { "name": "feeConfig"; "type": "pubkey"; }, { "name": "exoticFlatFees"; "type": { "defined": { "name": "fees"; }; }; } ]; }; }, { "name": "setSocialClaimAuthorityEvent"; "type": { "kind": "struct"; "fields": [ { "name": "timestamp"; "type": "i64"; }, { "name": "socialClaimAuthority"; "type": "pubkey"; } ]; }; }, { "name": "shareholder"; "type": { "kind": "struct"; "fields": [ { "name": "address"; "type": "pubkey"; }, { "name": "shareBps"; "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": "adminRevoked"; "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": "userId"; "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": "totalClaimed"; "type": "u64"; }, { "name": "lastClaimed"; "type": "u64"; }, { "name": "totalStableClaimed"; "type": "u64"; }, { "name": "reserved"; "type": { "array": [ "u8", 120 ]; }; } ]; }; }, { "name": "socialFeePdaClaimed"; "type": { "kind": "struct"; "fields": [ { "name": "timestamp"; "type": "i64"; }, { "name": "userId"; "type": "string"; }, { "name": "platform"; "type": "u8"; }, { "name": "socialFeePda"; "type": "pubkey"; }, { "name": "recipient"; "type": "pubkey"; }, { "name": "socialClaimAuthority"; "type": "pubkey"; }, { "name": "amountClaimed"; "type": "u64"; }, { "name": "claimableBefore"; "type": "u64"; }, { "name": "lifetimeClaimed"; "type": "u64"; }, { "name": "recipientBalanceBefore"; "type": "u64"; }, { "name": "recipientBalanceAfter"; "type": "u64"; }, { "name": "quoteMint"; "type": "pubkey"; }, { "name": "lifetimeStableClaimed"; "type": "u64"; } ]; }; }, { "name": "socialFeePdaCreated"; "type": { "kind": "struct"; "fields": [ { "name": "timestamp"; "type": "i64"; }, { "name": "userId"; "type": "string"; }, { "name": "platform"; "type": "u8"; }, { "name": "socialFeePda"; "type": "pubkey"; }, { "name": "createdBy"; "type": "pubkey"; } ]; }; }, { "name": "sweepBuybackEvent"; "type": { "kind": "struct"; "fields": [ { "name": "index"; "type": "u8"; }, { "name": "solAmount"; "type": "u64"; }, { "name": "tokenAmount"; "type": "u64"; }, { "name": "destination"; "type": "pubkey"; }, { "name": "buybackVault"; "type": "pubkey"; }, { "name": "mint"; "type": "pubkey"; } ]; }; }, { "name": "updateAdminEvent"; "type": { "kind": "struct"; "fields": [ { "name": "timestamp"; "type": "i64"; }, { "name": "oldAdmin"; "type": "pubkey"; }, { "name": "newAdmin"; "type": "pubkey"; } ]; }; }, { "name": "updateFeeConfigEvent"; "type": { "kind": "struct"; "fields": [ { "name": "timestamp"; "type": "i64"; }, { "name": "admin"; "type": "pubkey"; }, { "name": "feeConfig"; "type": "pubkey"; }, { "name": "feeTiers"; "type": { "vec": { "defined": { "name": "feeTier"; }; }; }; }, { "name": "flatFees"; "type": { "defined": { "name": "fees"; }; }; } ]; }; }, { "name": "updateFeeSharesEvent"; "type": { "kind": "struct"; "fields": [ { "name": "timestamp"; "type": "i64"; }, { "name": "mint"; "type": "pubkey"; }, { "name": "sharingConfig"; "type": "pubkey"; }, { "name": "admin"; "type": "pubkey"; }, { "name": "newShareholders"; "type": { "vec": { "defined": { "name": "shareholder"; }; }; }; }, { "name": "version"; "type": "u8"; } ]; }; }, { "name": "updateStableFeeConfigEvent"; "type": { "kind": "struct"; "fields": [ { "name": "timestamp"; "type": "i64"; }, { "name": "admin"; "type": "pubkey"; }, { "name": "feeConfig"; "type": "pubkey"; }, { "name": "stableFeeTiers"; "type": { "vec": { "defined": { "name": "feeTier"; }; }; }; }, { "name": "flatFees"; "type": { "defined": { "name": "fees"; }; }; } ]; }; }, { "name": "upsertFeeTiersEvent"; "type": { "kind": "struct"; "fields": [ { "name": "timestamp"; "type": "i64"; }, { "name": "admin"; "type": "pubkey"; }, { "name": "feeConfig"; "type": "pubkey"; }, { "name": "feeTiers"; "type": { "vec": { "defined": { "name": "feeTier"; }; }; }; }, { "name": "offset"; "type": "u8"; } ]; }; }, { "name": "upsertStableFeeTiersEvent"; "type": { "kind": "struct"; "fields": [ { "name": "timestamp"; "type": "i64"; }, { "name": "admin"; "type": "pubkey"; }, { "name": "feeConfig"; "type": "pubkey"; }, { "name": "stableFeeTiers"; "type": { "vec": { "defined": { "name": "feeTier"; }; }; }; }, { "name": "offset"; "type": "u8"; } ]; }; } ]; "constants": [ { "name": "ammCreatorVaultAuthoritySeed"; "type": { "array": [ "u8", 13 ]; }; "value": "[99, 114, 101, 97, 116, 111, 114, 95, 118, 97, 117, 108, 116]"; }, { "name": "buybackVaultSeed"; "type": { "array": [ "u8", 13 ]; }; "value": "[98, 117, 121, 98, 97, 99, 107, 45, 118, 97, 117, 108, 116]"; }, { "name": "debouncerV1"; "type": "bytes"; "value": "[100, 101, 98, 111, 117, 110, 99, 101, 114, 95, 118, 49]"; }, { "name": "donationFeePdaSeed"; "type": { "array": [ "u8", 16 ]; }; "value": "[100, 111, 110, 97, 116, 105, 111, 110, 45, 102, 101, 101, 45, 112, 100, 97]"; }, { "name": "epochTrackerV1"; "type": "bytes"; "value": "[101, 112, 111, 99, 104, 95, 116, 114, 97, 99, 107, 101, 114, 95, 118, 49]"; }, { "name": "feeConfigSeed"; "type": "bytes"; "value": "[102, 101, 101, 95, 99, 111, 110, 102, 105, 103]"; }, { "name": "feeProgramGlobalSeed"; "type": { "array": [ "u8", 18 ]; }; "value": "[102, 101, 101, 45, 112, 114, 111, 103, 114, 97, 109, 45, 103, 108, 111, 98, 97, 108]"; }, { "name": "ixDonatePubkeyConfigIdWithPayerV1"; "type": { "array": [ "u8", 8 ]; }; "value": "[120, 217, 57, 241, 135, 104, 139, 184]"; }, { "name": "maxBuybackIndex"; "type": "u8"; "value": "8"; }, { "name": "mintWhitelistV1"; "type": "bytes"; "value": "[109, 105, 110, 116, 95, 119, 104, 105, 116, 101, 108, 105, 115, 116, 95, 118, 49]"; }, { "name": "pumpCreatorVaultSeed"; "type": { "array": [ "u8", 13 ]; }; "value": "[99, 114, 101, 97, 116, 111, 114, 45, 118, 97, 117, 108, 116]"; }, { "name": "pumpGlobalSeed"; "docs": [ "Bonding Curve Program Global Seed" ]; "type": { "array": [ "u8", 6 ]; }; "value": "[103, 108, 111, 98, 97, 108]"; }, { "name": "sharingConfigSeed"; "type": { "array": [ "u8", 14 ]; }; "value": "[115, 104, 97, 114, 105, 110, 103, 45, 99, 111, 110, 102, 105, 103]"; }, { "name": "socialFeePdaSeed"; "type": { "array": [ "u8", 14 ]; }; "value": "[115, 111, 99, 105, 97, 108, 45, 102, 101, 101, 45, 112, 100, 97]"; } ]; }; /** * Platform identifiers for social handle mappings. */ declare enum Platform { Pump = 0, X = 1, GitHub = 2 } declare const stringToPlatform: (value: string) => Platform; declare const platformToString: (platform: Platform) => string; interface Global { initialized: boolean; authority: PublicKey; feeRecipient: PublicKey; initialVirtualTokenReserves: BN; initialVirtualSolReserves: BN; initialRealTokenReserves: BN; tokenTotalSupply: BN; feeBasisPoints: BN; withdrawAuthority: PublicKey; enableMigrate: boolean; poolMigrationFee: BN; creatorFeeBasisPoints: BN; feeRecipients: PublicKey[]; setCreatorAuthority: PublicKey; adminSetCreatorAuthority: PublicKey; createV2Enabled: boolean; whitelistPda: PublicKey; reservedFeeRecipient: PublicKey; mayhemModeEnabled: boolean; reservedFeeRecipients: PublicKey[]; isCashbackEnabled: boolean; buybackFeeRecipients: PublicKey[]; buybackBasisPoints: BN; initialVirtualQuoteReserves: BN; whitelistedQuoteMints: PublicKey[]; /** * Gate for per-coin creator fees. While `false`, every curve pays the * schedule's creator rate whatever its `creatorFeeBps` holds, and * `create_v2` / `set_creator_fee_bps` reject a nonzero rate (6077). * `false` on a `Global` account written before the field existed. */ creatorFeeConfigurable: boolean; /** * Inclusive ceiling for a configured `BondingCurve.creatorFeeBps`; the * program accepts `1..=max` (6078 outside it). Zero on accounts written * before the field existed. */ maxConfigurableCreatorFeeBps: BN; /** * The only signer `distribute_fee_to_holders` accepts. The zero key on a * `Global` account written before the field existed (or never configured). */ holderRewardClaimAuthority: PublicKey; /** * Gate for `create_v2`'s `is_holder_reward` and for a CTO's holder * conversion (6084 `HolderRewardDisabled` while `false`). `false` on a * `Global` account written before the field existed. */ isHolderRewardEnabled: boolean; } interface BondingCurve { virtualTokenReserves: BN; virtualQuoteReserves: BN; realTokenReserves: BN; realQuoteReserves: BN; tokenTotalSupply: BN; complete: boolean; creator: PublicKey; isMayhemMode: boolean; isCashbackCoin: boolean; quoteMint: PublicKey; /** * The coin's own creator fee rate in basis points. Zero means "not * configured": trades pay the pump-fees schedule's creator rate. Nonzero * replaces that rate while `Global.creatorFeeConfigurable` is on (protocol * and LP rates are untouched). Zero on curves shorter than * `BONDING_CURVE_SIZE`, which is every curve written before the field * existed. */ creatorFeeBps: BN; /** * Retired: nothing sets or reads it any more. A configured creator fee is * fixed at creation and changes only through a CTO (`admin_cto`), where the * CTO authority picks the new rate. Always `false` on curves the current * program wrote. */ canEditCreatorFee: boolean; /** * Whether the coin is a holder-reward coin: its `creator` is the coin's * `holderRewardsPda(mint)`, so every creator fee accrues to that PDA's * creator vault and is paid out to holders by `distribute_fee_to_holders`. * Set at `create_v2` (`is_holder_reward`) or by a CTO; permanent once set. * `false` on curves shorter than `BONDING_CURVE_SIZE`. */ isHolderReward: boolean; } /** * One quote mint admitted through the `QuoteControl` PDA and the * `virtualQuoteReserves` a curve quoted in it starts from (mints whitelisted * on `Global` use `Global.initialVirtualQuoteReserves` instead). */ interface QuoteControlMint { mint: PublicKey; initialVirtualQuoteReserves: BN; } /** * The pump `QuoteControl` PDA (`QUOTE_CONTROL_PDA`): the admin-managed list of * quote mints `create_v2` accepts in addition to SOL and the `Global` * whitelist. The account may not exist yet, which the program treats as an * empty list. `reserved` is the 64-byte area the program keeps in front of * `mints` for future fixed-size fields. */ interface QuoteControl { admin: PublicKey; reserved: number[]; mints: QuoteControlMint[]; } /** * Where a supported quote mint is admitted from: SOL itself, the * `Global.whitelistedQuoteMints` slots, or the `QuoteControl` PDA. */ type QuoteMintSource = "sol" | "global" | "quoteControl"; /** * A quote mint `create_v2` accepts right now, as enumerated by * `OnlinePumpSdk.fetchSupportedQuoteMints`. SOL is reported as `NATIVE_MINT`. * `initialVirtualQuoteReserves` is what a new curve quoted in it starts from * (see `initialVirtualQuoteReservesFor`). */ interface SupportedQuoteMint { mint: PublicKey; source: QuoteMintSource; initialVirtualQuoteReserves: BN; } /** * A `SupportedQuoteMint` plus what instruction builders need for it: the * program that owns the mint (every quote-side ATA is derived with it) and the * mint's decimals. */ interface ResolvedQuoteMint extends SupportedQuoteMint { quoteTokenProgram: PublicKey; decimals: number; } interface GlobalVolumeAccumulator { startTime: BN; endTime: BN; secondsInADay: BN; mint: PublicKey; totalTokenSupply: BN[]; solVolumes: BN[]; } interface UserVolumeAccumulator { user: PublicKey; needsClaim: boolean; totalUnclaimedTokens: BN; totalClaimedTokens: BN; currentSolVolume: BN; lastUpdateTimestamp: BN; hasTotalClaimedTokens: boolean; cashbackEarned: BN; totalCashbackClaimed: BN; stableCashbackEarned: BN; totalStableCashbackClaimed: BN; } interface UserVolumeAccumulatorTotalStats { totalUnclaimedTokens: BN; totalClaimedTokens: BN; currentSolVolume: BN; } interface FeeConfig { admin: PublicKey; /** Schedule for pools that are not canonical pump pools. */ flatFees: Fees; /** Market-cap tiers for SOL-quoted canonical pump pools and curves. */ feeTiers: FeeTier[]; /** * Market-cap tiers for canonical pump pools quoted in a listed stable * (USDC). Empty on accounts that predate the field. */ stableFeeTiers: FeeTier[]; /** * Flat schedule for canonical pump pools quoted in anything else. All-zero * means unset: the program then charges `flatFees`. */ exoticFlatFees: Fees; } interface FeeTier { marketCapLamportsThreshold: BN; fees: Fees; } interface Fees { lpFeeBps: BN; protocolFeeBps: BN; creatorFeeBps: BN; } interface Shareholder { address: PublicKey; shareBps: number; } interface SharingConfig { version: number; mint: PublicKey; admin: PublicKey; adminRevoked: boolean; shareholders: Shareholder[]; } interface DistributeCreatorFeesEvent { timestamp: BN; mint: PublicKey; sharingConfig: PublicKey; admin: PublicKey; shareholders: Shareholder[]; distributed: BN; quoteMint: PublicKey; } interface CollectCreatorFeeEventBc { timestamp: BN; creator: PublicKey; creatorFee: BN; quoteMint: PublicKey; } interface CollectCoinCreatorFeeEventAmm { timestamp: BN; coinCreator: PublicKey; coinCreatorFee: BN; coinCreatorVaultAta: PublicKey; coinCreatorTokenAccount: PublicKey; } interface CreatePoolEventAmm { timestamp: BN; index: number; creator: PublicKey; baseMint: PublicKey; quoteMint: PublicKey; baseMintDecimals: number; quoteMintDecimals: number; baseAmountIn: BN; quoteAmountIn: BN; poolBaseAmount: BN; poolQuoteAmount: BN; minimumLiquidity: BN; initialLiquidity: BN; lpTokenAmountOut: BN; poolBump: number; pool: PublicKey; lpMint: PublicKey; userBaseTokenAccount: PublicKey; userQuoteTokenAccount: PublicKey; coinCreator: PublicKey; isMayhemMode: boolean; /** * The pool's own creator fee rate in basis points, carried over from the * curve at migration (zero: the schedule rate). Zero in events emitted * before the field existed. */ creatorFeeBps: BN; /** * Retired flag, carried over from the curve at migration; nothing reads it. * `false` in events emitted before the field existed. */ canEditCreatorFee: boolean; /** * Whether the pool belongs to a holder-reward coin (its `coinCreator` is * the coin's holder-rewards PDA). `false` in events emitted before the * field existed. */ isHolderReward: boolean; } interface DepositEventAmm { timestamp: BN; lpTokenAmountOut: BN; maxBaseAmountIn: BN; maxQuoteAmountIn: BN; userBaseTokenReserves: BN; userQuoteTokenReserves: BN; poolBaseTokenReserves: BN; poolQuoteTokenReserves: BN; baseAmountIn: BN; quoteAmountIn: BN; lpMintSupply: BN; pool: PublicKey; user: PublicKey; userBaseTokenAccount: PublicKey; userQuoteTokenAccount: PublicKey; userPoolTokenAccount: PublicKey; } interface WithdrawEventAmm { timestamp: BN; lpTokenAmountIn: BN; minBaseAmountOut: BN; minQuoteAmountOut: BN; userBaseTokenReserves: BN; userQuoteTokenReserves: BN; poolBaseTokenReserves: BN; poolQuoteTokenReserves: BN; baseAmountOut: BN; quoteAmountOut: BN; lpMintSupply: BN; pool: PublicKey; user: PublicKey; userBaseTokenAccount: PublicKey; userQuoteTokenAccount: PublicKey; userPoolTokenAccount: PublicKey; } interface BuyEventAmm { timestamp: BN; baseAmountOut: BN; maxQuoteAmountIn: BN; userBaseTokenReserves: BN; userQuoteTokenReserves: BN; poolBaseTokenReserves: BN; poolQuoteTokenReserves: BN; quoteAmountIn: BN; lpFeeBasisPoints: BN; lpFee: BN; protocolFeeBasisPoints: BN; protocolFee: BN; quoteAmountInWithLpFee: BN; userQuoteAmountIn: BN; pool: PublicKey; user: PublicKey; userBaseTokenAccount: PublicKey; userQuoteTokenAccount: PublicKey; protocolFeeRecipient: PublicKey; protocolFeeRecipientTokenAccount: PublicKey; coinCreator: PublicKey; coinCreatorFeeBasisPoints: BN; coinCreatorFee: BN; trackVolume: boolean; totalUnclaimedTokens: BN; totalClaimedTokens: BN; currentSolVolume: BN; lastUpdateTimestamp: BN; minBaseAmountOut: BN; ixName: string; cashbackFeeBasisPoints: BN; cashback: BN; buybackFeeBasisPoints: BN; buybackFee: BN; virtualQuoteReserves: BN; canBoost: boolean; baseSupply: BN; /** * The creator fee rate / amount when the pool is a holder-reward pool * (equal to `coinCreatorFeeBasisPoints` / `coinCreatorFee`, which keep * reporting the fee); zero otherwise, and in events emitted before the * fields existed. */ holderRewardsBps: BN; holderRewards: BN; } interface SellEventAmm { timestamp: BN; baseAmountIn: BN; minQuoteAmountOut: BN; userBaseTokenReserves: BN; userQuoteTokenReserves: BN; poolBaseTokenReserves: BN; poolQuoteTokenReserves: BN; quoteAmountOut: BN; lpFeeBasisPoints: BN; lpFee: BN; protocolFeeBasisPoints: BN; protocolFee: BN; quoteAmountOutWithoutLpFee: BN; userQuoteAmountOut: BN; pool: PublicKey; user: PublicKey; userBaseTokenAccount: PublicKey; userQuoteTokenAccount: PublicKey; protocolFeeRecipient: PublicKey; protocolFeeRecipientTokenAccount: PublicKey; coinCreator: PublicKey; coinCreatorFeeBasisPoints: BN; coinCreatorFee: BN; cashbackFeeBasisPoints: BN; cashback: BN; buybackFeeBasisPoints: BN; buybackFee: BN; virtualQuoteReserves: BN; canBoost: boolean; baseSupply: BN; /** * The creator fee rate / amount when the pool is a holder-reward pool * (equal to `coinCreatorFeeBasisPoints` / `coinCreatorFee`, which keep * reporting the fee); zero otherwise, and in events emitted before the * fields existed. */ holderRewardsBps: BN; holderRewards: BN; } /** pump-amm `AdminCtoPoolEvent`: the pool side of a pump `admin_cto`. */ interface AdminCtoPoolEventAmm { timestamp: BN; baseMint: PublicKey; pool: PublicKey; oldCoinCreator: PublicKey; newCoinCreator: PublicKey; isHolderReward: boolean; isCashbackCoin: boolean; oldCreatorFeeBps: BN; newCreatorFeeBps: BN; } /** pump `AdminCtoEvent`: one community takeover, whatever path it took. */ interface AdminCtoEvent { timestamp: BN; /** `Global.adminSetCreatorAuthority`, the signer. */ authority: PublicKey; mint: PublicKey; bondingCurve: PublicKey; oldCreator: PublicKey; /** The wallet, the coin's SharingConfig PDA (fee-shared coin) or its holder-rewards PDA. */ newCreator: PublicKey; isHolderReward: boolean; isCashbackCoin: boolean; oldCreatorFeeBps: BN; newCreatorFeeBps: BN; /** Whether the coin's pump-fees SharingConfig was rewritten or terminated. */ sharingConfigReset: boolean; /** Quote units swept from a fee-shared coin's vaults into the holder-rewards creator vault. */ sweptToHolderVault: BN; /** Whether a canonical pump-amm pool existed and was updated through `admin_cto_pool`. */ poolUpdated: boolean; } interface CreateEventBc { name: string; symbol: string; uri: string; mint: PublicKey; bondingCurve: PublicKey; user: PublicKey; creator: PublicKey; timestamp: BN; virtualTokenReserves: BN; virtualSolReserves: BN; realTokenReserves: BN; tokenTotalSupply: BN; tokenProgram: PublicKey; isMayhemMode: boolean; isCashbackEnabled: boolean; quoteMint: PublicKey; virtualQuoteReserves: BN; /** * The creator fee rate the coin was created with (`create_v2`'s * `creator_fee_bps`; zero for the schedule rate, and always zero from * legacy `create`). Zero in events emitted before the field existed. */ creatorFeeBps: BN; /** * Whether the coin was created as a holder-reward coin (`create_v2`'s * `is_holder_reward`; always `false` from legacy `create`). `false` in * events emitted before the field existed. */ isHolderReward: boolean; } interface TradeEventBc { mint: PublicKey; solAmount: BN; tokenAmount: BN; isBuy: boolean; user: PublicKey; timestamp: BN; virtualSolReserves: BN; virtualTokenReserves: BN; realSolReserves: BN; realTokenReserves: BN; feeRecipient: PublicKey; feeBasisPoints: BN; fee: BN; creator: PublicKey; creatorFeeBasisPoints: BN; creatorFee: BN; trackVolume: boolean; totalUnclaimedTokens: BN; totalClaimedTokens: BN; currentSolVolume: BN; lastUpdateTimestamp: BN; ixName: string; mayhemMode: boolean; cashbackFeeBasisPoints: BN; cashback: BN; buybackFeeBasisPoints: BN; buybackFee: BN; shareholders: Shareholder[]; quoteMint: PublicKey; quoteAmount: BN; virtualQuoteReserves: BN; realQuoteReserves: BN; /** * The creator fee rate / amount when the coin is a holder-reward coin * (equal to `creatorFeeBasisPoints` / `creatorFee`, which keep reporting * the fee); zero otherwise, and in events emitted before the fields * existed. */ holderRewardsBps: BN; holderRewards: BN; } interface CompleteEventBc { user: PublicKey; mint: PublicKey; bondingCurve: PublicKey; timestamp: BN; quoteMint: PublicKey; } interface SetQuoteControlAdminEvent { quoteControl: PublicKey; authority: PublicKey; oldAdmin: PublicKey; newAdmin: PublicKey; timestamp: BN; } interface AddQuoteControlMintEvent { quoteControl: PublicKey; authority: PublicKey; quoteMint: PublicKey; initialVirtualQuoteReserves: BN; timestamp: BN; } interface RemoveQuoteControlMintEvent { quoteControl: PublicKey; authority: PublicKey; quoteMint: PublicKey; timestamp: BN; } interface UpdateCreatorFeeConfigEvent { timestamp: BN; authority: PublicKey; creatorFeeConfigurable: boolean; maxConfigurableCreatorFeeBps: BN; } /** pump `DistributeFeeToHoldersEvent`: one payout of a holder-reward coin. */ interface DistributeFeeToHoldersEvent { timestamp: BN; mint: PublicKey; /** The zero key for a SOL quote, else the quote mint. */ quoteMint: PublicKey; /** How many `(owner, ATA)` pairs were paid. */ recipients: BN; /** The sum of the amounts paid, in the quote's base units. */ total: BN; } interface ClaimCashbackEvent { user: PublicKey; amount: BN; timestamp: BN; totalClaimed: BN; totalCashbackEarned: BN; } interface MinimumDistributableFeeEvent { minimumRequired: BN; distributableFees: BN; canDistribute: boolean; } interface SocialFeePda { bump: number; version: number; userId: string; platform: number; totalClaimed: BN; lastClaimed: BN; totalStableClaimed: BN; } interface SocialFeePdaClaimedEvent { timestamp: BN; userId: string; platform: number; socialFeePda: PublicKey; recipient: PublicKey; socialClaimAuthority: PublicKey; amountClaimed: BN; claimableBefore: BN; lifetimeClaimed: BN; recipientBalanceBefore: BN; recipientBalanceAfter: BN; quoteMint: PublicKey; lifetimeStableClaimed: BN; } interface SocialFeePdaCreatedEvent { timestamp: BN; userId: string; platform: number; socialFeePda: PublicKey; createdBy: PublicKey; } interface DonationFeePda { bump: number; version: number; configId: PublicKey; baseMint: PublicKey; quoteMint: PublicKey; creator: PublicKey; totalDonated: BN; lastCrankTs: BN; reserved: number[]; } type ConfigStatus = { paused: Record; } | { active: Record; }; interface CreateFeeSharingConfigEvent { timestamp: BN; mint: PublicKey; bondingCurve: PublicKey; pool: PublicKey | null; sharingConfig: PublicKey; admin: PublicKey; initialShareholders: Shareholder[]; status: ConfigStatus; } interface UpdateFeeSharesEvent { timestamp: BN; mint: PublicKey; sharingConfig: PublicKey; admin: PublicKey; newShareholders: Shareholder[]; version: number; } interface UpdateAdminEvent { timestamp: BN; oldAdmin: PublicKey; newAdmin: PublicKey; } interface SetAuthorityEvent { timestamp: BN; oldAuthority: PublicKey; newAuthority: PublicKey; } interface ResetFeeSharingConfigEvent { timestamp: BN; mint: PublicKey; sharingConfig: PublicKey; oldAdmin: PublicKey; oldShareholders: Shareholder[]; newAdmin: PublicKey; newShareholders: Shareholder[]; oldVersion: number; newVersion: number; } interface DonationFeePdaCreatedEvent { timestamp: BN; createdBy: PublicKey; donationFeePda: PublicKey; configId: PublicKey; baseMint: PublicKey; quoteMint: PublicKey; creator: PublicKey; } /** * The `virtualQuoteReserves` a new curve quoted in `quoteMint` starts from, * the way `create_v2` seeds it: SOL (WSOL or the zero key) from * `Global.initialVirtualSolReserves`, a mint whitelisted on `Global` from * `Global.initialVirtualQuoteReserves` (even when quote control lists it too), * and a mint admitted through quote control from its entry. The Token-2022 * native mint always throws `UnsupportedQuoteMintError`: `create_v2` rejects * it before consulting either list. * * @param quoteControl - The decoded `QuoteControl` PDA, or `null` when the * account does not exist yet (an empty list). Pass it whenever the mint may * be a quote-control mint: a mint in neither list then throws * `UnsupportedQuoteMintError`, as `create_v2` would reject it. When omitted, * an unlisted mint falls back to `Global.initialVirtualQuoteReserves` — what * callers that predate quote control always got — and quote-control mints * are seeded wrong. */ declare function initialVirtualQuoteReservesFor(global: Global, quoteMint: PublicKey, quoteControl?: QuoteControl | null): BN; /** * The curve `create_v2` would initialize for `quoteMint`. * * @param quoteControl - See `initialVirtualQuoteReservesFor`; required for a * quote-control mint to be seeded correctly. * @param creatorFeeBps - The `creator_fee_bps` the create is sent with * (`createV2Instruction`'s `creatorFeeBps`); omitted or zero means the * schedule rate. `create_v2` always stores `canEditCreatorFee = false`. * @param isHolderReward - Whether the create is sent with `holderReward` * (`createV2Instruction`'s `holderReward`): the curve's creator is then the * coin's `holderRewardsPda(mint)`, which this function cannot derive without * the mint, so `creator` stays the zero key either way. */ declare function newBondingCurve(global: Global, quoteMint?: PublicKey, quoteControl?: QuoteControl | null, creatorFeeBps?: BN, isHolderReward?: boolean): BondingCurve; /** * @param params.quoteMint - Selects the quote when `bondingCurve` is `null` * (a curve about to be created); an existing curve's own `quoteMint` is * authoritative for fee selection. * @param params.quoteControl - The decoded `QuoteControl` PDA (or `null` when * it does not exist), needed to seed a new curve quoted in a quote-control * mint; see `initialVirtualQuoteReservesFor`. * @param params.creatorFeeBps - Used only when `bondingCurve` is `null`: the * `creator_fee_bps` the create is sent with, so the first buy is quoted at * the rate the program will charge. An existing curve's own `creatorFeeBps` * is authoritative. */ declare function getBuyTokenAmountFromSolAmount({ global, feeConfig, mintSupply, bondingCurve, amount, quoteMint, quoteControl, creatorFeeBps, }: { global: Global; feeConfig: FeeConfig | null; mintSupply: BN | null; bondingCurve: BondingCurve | null; amount: BN; quoteMint: PublicKey; quoteControl?: QuoteControl | null; creatorFeeBps?: BN; }): BN; /** * @param params.quoteMint - Selects the quote when `bondingCurve` is `null` * (a curve about to be created); an existing curve's own `quoteMint` is * authoritative for fee selection. * @param params.quoteControl - The decoded `QuoteControl` PDA (or `null` when * it does not exist), needed to seed a new curve quoted in a quote-control * mint; see `initialVirtualQuoteReservesFor`. * @param params.creatorFeeBps - Used only when `bondingCurve` is `null`; see * `getBuyTokenAmountFromSolAmount`. */ declare function getBuySolAmountFromTokenAmount({ global, feeConfig, mintSupply, bondingCurve, amount, quoteMint, quoteControl, creatorFeeBps, }: { global: Global; feeConfig: FeeConfig | null; mintSupply: BN | null; bondingCurve: BondingCurve | null; amount: BN; quoteMint: PublicKey; quoteControl?: QuoteControl | null; creatorFeeBps?: BN; }): BN; declare function getSellSolAmountFromTokenAmount({ global, feeConfig, mintSupply, bondingCurve, amount, }: { global: Global; feeConfig: FeeConfig | null; mintSupply: BN; bondingCurve: BondingCurve; amount: BN; }): BN; declare function bondingCurveMarketCap({ mintSupply, virtualQuoteReserves, virtualTokenReserves, }: { mintSupply: BN; virtualQuoteReserves: BN; virtualTokenReserves: BN; }): BN; /** * Quote mints pump-fees charges `feeTiers` for on a canonical pump pool or * curve: the zero key legacy bonding curves store for SOL, legacy WSOL and the * Token-2022 native mint. Mirrors `pump_fees::state::is_sol_like_quote_mint`. * * Deliberately wider than `isLegacyQuoteMint` (pda.ts): `create_v2` rejects * the Token-2022 native mint as a quote, so builders only ever treat WSOL and * the zero key as SOL, but the fee program classifies all three as SOL-like. */ declare const SOL_LIKE_QUOTE_MINTS: readonly PublicKey[]; /** * Quote mints pump-fees charges `stableFeeTiers` for on a canonical pump pool * or curve. Hardcoded on-chain (`pump_fees::state::STABLE_QUOTE_MINTS`), so * hardcoded here: widening it is a program upgrade. Devnet USDC * (`4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU`) is not listed on-chain and * is therefore not listed here — devnet USDC curves pay the exotic schedule. */ declare const STABLE_QUOTE_MINTS: readonly PublicKey[]; declare function isSolLikeQuoteMint(quoteMint: PublicKey): boolean; declare function isStableQuoteMint(quoteMint: PublicKey): boolean; /** * A quote mint that is neither SOL-like nor a listed stable, which pump-fees * charges `exoticFlatFees` for (or `flatFees` while that schedule is unset). */ declare function isExoticQuoteMint(quoteMint: PublicKey): boolean; interface CalculatedFeesBps { protocolFeeBps: BN; creatorFeeBps: BN; } declare function getFee({ global, feeConfig, mintSupply, bondingCurve, amount, isNewBondingCurve, }: { global: Global; feeConfig: FeeConfig | null; mintSupply: BN; bondingCurve: BondingCurve; amount: BN; isNewBondingCurve: boolean; }): BN; /** * The fee rates a bonding-curve trade pays. * * @param params.quoteMint - The curve's quote mint as stored on chain * (`bondingCurve.quoteMint`, `PublicKey.default` for SOL curves). Selects the * fee schedule the way pump-fees does; omitted (or a runtime `null`) means * SOL. * @param params.creatorFeeBps - The curve's own creator rate * (`bondingCurve.creatorFeeBps`). While `global.creatorFeeConfigurable` is on, * a nonzero value replaces the schedule's creator rate, as pump's * `compute_fees` does after the pump-fees CPI; zero, omitted (or a runtime * `null`) means the schedule rate. The protocol rate is never affected. */ declare function computeFeesBps({ global, feeConfig, mintSupply, virtualQuoteReserves, virtualTokenReserves, quoteMint, creatorFeeBps, }: { global: Global; feeConfig: FeeConfig | null; mintSupply: BN; virtualQuoteReserves: BN; virtualTokenReserves: BN; quoteMint?: PublicKey; creatorFeeBps?: BN; }): CalculatedFeesBps; /** * The fee schedule a canonical pump bonding curve (or its canonical pool) pays, * selected by quote mint the way `FeeConfig::fees_for_quote_mint` does with * `is_pump_pool = true`: SOL-like quotes pay the market-cap tier from * `feeTiers`, listed stables the tier from `stableFeeTiers`, everything else * `exoticFlatFees` — or `flatFees` while that schedule is unset (all-zero). * * @param params.marketCap - Market cap in the quote mint's base units (lamports * for SOL curves), as `bondingCurveMarketCap` computes it. */ declare function selectCurveFeeSchedule({ feeConfig, quoteMint, marketCap, }: { feeConfig: FeeConfig; quoteMint: PublicKey; marketCap: BN; }): Fees; declare function calculateFeeTier({ feeTiers, marketCap, }: { feeTiers: FeeTier[]; marketCap: BN; }): Fees; declare const GLOBAL_PDA: PublicKey; /** * The pump `QuoteControl` PDA (seeds `[b"quote-control"]`), which lists the * quote mints `create_v2` accepts beyond SOL and the `Global` whitelist. */ declare const QUOTE_CONTROL_PDA: PublicKey; declare const AMM_GLOBAL_PDA: PublicKey; declare const FEE_PROGRAM_GLOBAL_PDA: PublicKey; declare const PUMP_FEE_CONFIG_PDA: PublicKey; declare const GLOBAL_VOLUME_ACCUMULATOR_PDA: PublicKey; declare const AMM_GLOBAL_VOLUME_ACCUMULATOR_PDA: PublicKey; declare const PUMP_EVENT_AUTHORITY_PDA: PublicKey; declare const PUMP_AMM_EVENT_AUTHORITY_PDA: PublicKey; declare const PUMP_FEE_EVENT_AUTHORITY_PDA: PublicKey; declare function getEventAuthorityPda(programId: PublicKey): PublicKey; declare function bondingCurvePda(mint: PublicKeyInitData): PublicKey; declare function bondingCurveV2Pda(mint: PublicKeyInitData): PublicKey; declare function creatorVaultPda(creator: PublicKey): PublicKey; /** * The per-mint `holder-rewards` PDA (`["holder-rewards", mint]` under the pump * program): the creator of a holder-reward coin. Every creator fee of such a * coin accrues to `creatorVaultPda(holderRewardsPda(mint))` (and, after * graduation, to the pump-amm coin-creator vault of the same key); the * permissionless `collect_creator_fee*` move the vault onto the PDA and * `distribute_fee_to_holders` pays it out from there. */ declare function holderRewardsPda(mint: PublicKey): PublicKey; declare function pumpPoolAuthorityPda(mint: PublicKey): PublicKey; declare const CANONICAL_POOL_INDEX = 0; declare function canonicalPumpPoolPda(mint: PublicKey): PublicKey; declare function canonicalPumpPoolPdaWithQuote(mint: PublicKey, quoteMint: PublicKey): PublicKey; declare function boostVaultAuthorityPda(pool: PublicKey): PublicKey; declare function userVolumeAccumulatorPda(user: PublicKey, program?: PublicKey): PublicKey; declare const getGlobalParamsPda: () => PublicKey; declare const getMayhemStatePda: (mint: PublicKey) => PublicKey; declare const getSolVaultPda: () => PublicKey; declare const getTokenVaultPda: (mintPubkey: PublicKey) => PublicKey; declare const feeSharingConfigPda: (mint: PublicKey) => PublicKey; declare const isLegacyQuoteMint: (quoteMint: PublicKey) => boolean; /** * Normalizes a coin's quote mint to a usable mint address. * * Legacy SOL-quote coins store `PublicKey.default` (all zeros) as the * `quoteMint` on their bonding curve, so raw `bondingCurve.quoteMint` values * must be normalized before being used for PDA derivation. Maps * `undefined`/`null`/`PublicKey.default` to `NATIVE_MINT` and returns any * other quote mint unchanged. */ declare const normalizeQuoteMint: (quoteMint: PublicKey | undefined | null) => PublicKey; declare const quoteAta: (owner: PublicKey, quoteMint: PublicKey, quoteTokenProgram: PublicKey) => PublicKey; declare const ammCreatorVaultPda: (creator: PublicKey) => PublicKey; declare const socialFeePda: (userId: string, platform: number) => PublicKey; /** * The `DonationFeePda` for a given `(mint, configId)` pair. * This PDA is the on-chain donation escrow for a slice of the coin's creator * fees routed to a specific donate.gg `configId`. * * Seeds (must match `pump_fees::state::DONATION_FEE_PDA_SEED`): * `[b"donation-fee-pda", mint, configId]` * * @param mint - The base mint of the coin whose creator fees are being routed. * @param configId - The donate.gg config id this PDA escrows for. */ declare const donationFeePda: (mint: PublicKey, configId: PublicKey) => PublicKey; declare const DONATION_RELAY_PROGRAM_ID_MAINNET: PublicKey; declare const DONATION_RELAY_PROGRAM_ID_DEVNET: PublicKey; declare const donationRelayPda: (seeds: (Buffer$1 | Uint8Array)[], donationRelayProgramId: PublicKey) => PublicKey; /** * Donation Relay epoch tracker PDA — accumulates per-`(configId, quoteMint)` * epoch state. */ declare const donationRelayEpochTrackerPda: (configId: PublicKey, quoteMint: PublicKey, donationRelayProgramId: PublicKey) => PublicKey; /** * Donation Relay debouncer PDA — token escrow that accumulates per-`(configId, * quoteMint)` deposits between epoch closures. */ declare const donationRelayDebouncerPda: (configId: PublicKey, quoteMint: PublicKey, donationRelayProgramId: PublicKey) => PublicKey; declare const donationRelayMintWhitelistPda: (donationRelayProgramId: PublicKey) => PublicKey; declare const donationRelayEventAuthorityPda: (donationRelayProgramId: PublicKey) => PublicKey; /** * Program IDL in camelCase format in order to be used in JS/TS. * * Note that this is only a type helper and is not the actual IDL. The original * IDL can be found at `target/idl/pump_amm.json`. */ type PumpAmm = { "address": "pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA"; "metadata": { "name": "pumpAmm"; "version": "0.1.0"; "spec": "0.1.0"; "description": "Created with Anchor"; }; "instructions": [ { "name": "adminCtoPool"; "discriminator": [ 45, 61, 165, 151, 104, 0, 49, 189 ]; "accounts": [ { "name": "payer"; "writable": true; "signer": true; }, { "name": "globalConfig"; }, { "name": "pool"; "writable": true; }, { "name": "poolAuthority"; "signer": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 112, 111, 111, 108, 45, 97, 117, 116, 104, 111, 114, 105, 116, 121 ]; }, { "kind": "account"; "path": "pool.base_mint"; "account": "pool"; } ]; "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": "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": "coinCreator"; "type": "pubkey"; }, { "name": "isHolderReward"; "type": "bool"; }, { "name": "creatorFeeBps"; "type": { "option": "u64"; }; } ]; }, { "name": "adminUpdateTokenIncentives"; "discriminator": [ 209, 11, 115, 87, 213, 23, 124, 204 ]; "accounts": [ { "name": "admin"; "writable": true; "signer": true; "relations": [ "globalConfig" ]; }, { "name": "globalConfig"; "pda": { "seeds": [ { "kind": "const"; "value": [ 103, 108, 111, 98, 97, 108, 95, 99, 111, 110, 102, 105, 103 ]; } ]; }; }, { "name": "globalVolumeAccumulator"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 103, 108, 111, 98, 97, 108, 95, 118, 111, 108, 117, 109, 101, 95, 97, 99, 99, 117, 109, 117, 108, 97, 116, 111, 114 ]; } ]; }; }, { "name": "mint"; }, { "name": "globalIncentiveTokenAccount"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "globalVolumeAccumulator"; }, { "kind": "account"; "path": "tokenProgram"; }, { "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": "associatedTokenProgram"; "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"; }, { "name": "systemProgram"; "address": "11111111111111111111111111111111"; }, { "name": "tokenProgram"; }, { "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": "startTime"; "type": "i64"; }, { "name": "endTime"; "type": "i64"; }, { "name": "secondsInADay"; "type": "i64"; }, { "name": "dayNumber"; "type": "u64"; }, { "name": "tokenSupplyPerDay"; "type": "u64"; } ]; }, { "name": "boostBuyAndBurn"; "discriminator": [ 105, 68, 6, 175, 0, 7, 35, 162 ]; "accounts": [ { "name": "pool"; }, { "name": "authority"; "writable": true; "signer": true; }, { "name": "globalConfig"; "pda": { "seeds": [ { "kind": "const"; "value": [ 103, 108, 111, 98, 97, 108, 95, 99, 111, 110, 102, 105, 103 ]; } ]; }; }, { "name": "baseMint"; "writable": true; "relations": [ "pool" ]; }, { "name": "quoteMint"; "relations": [ "pool" ]; }, { "name": "poolBaseTokenAccount"; "writable": true; "relations": [ "pool" ]; }, { "name": "poolQuoteTokenAccount"; "writable": true; "relations": [ "pool" ]; }, { "name": "boostVaultAuthority"; "pda": { "seeds": [ { "kind": "const"; "value": [ 98, 111, 111, 115, 116, 95, 118, 97, 117, 108, 116 ]; }, { "kind": "account"; "path": "pool"; } ]; }; }, { "name": "boostVault"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "boostVaultAuthority"; }, { "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": "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": "quoteAmountIn"; "type": "u64"; }, { "name": "minBaseAmountBurned"; "type": "u64"; } ]; }, { "name": "buy"; "docs": [ "For cashback coins, optionally pass user_volume_accumulator_wsol_ata as remaining_accounts[0].", "If provided and valid, the ATA will be initialized if needed." ]; "discriminator": [ 102, 6, 61, 18, 1, 218, 235, 234 ]; "accounts": [ { "name": "pool"; "writable": true; }, { "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"; "address": "pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA"; }, { "name": "coinCreatorVaultAta"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "coinCreatorVaultAuthority"; }, { "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": "coinCreatorVaultAuthority"; "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": "globalVolumeAccumulator"; "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": "userVolumeAccumulator"; "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": "feeConfig"; "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": "feeProgram"; }; }; }, { "name": "feeProgram"; "address": "pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ"; } ]; "args": [ { "name": "baseAmountOut"; "type": "u64"; }, { "name": "maxQuoteAmountIn"; "type": "u64"; }, { "name": "trackVolume"; "type": { "defined": { "name": "optionBool"; }; }; } ]; }, { "name": "buyExactQuoteIn"; "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)", "", "For cashback coins, optionally pass user_volume_accumulator_wsol_ata as remaining_accounts[0].", "If provided and valid, the ATA will be initialized if needed." ]; "discriminator": [ 198, 46, 21, 82, 180, 217, 232, 112 ]; "accounts": [ { "name": "pool"; "writable": true; }, { "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"; "address": "pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA"; }, { "name": "coinCreatorVaultAta"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "coinCreatorVaultAuthority"; }, { "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": "coinCreatorVaultAuthority"; "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": "globalVolumeAccumulator"; "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": "userVolumeAccumulator"; "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": "feeConfig"; "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": "feeProgram"; }; }; }, { "name": "feeProgram"; "address": "pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ"; } ]; "args": [ { "name": "spendableQuoteIn"; "type": "u64"; }, { "name": "minBaseAmountOut"; "type": "u64"; }, { "name": "trackVolume"; "type": { "defined": { "name": "optionBool"; }; }; } ]; }, { "name": "claimCashback"; "docs": [ "Pays out the user's accrued cashback. `user_wsol_token_account` may be any token account", "of `quote_mint` owned by `user`, not only the associated one." ]; "discriminator": [ 37, 58, 35, 126, 190, 53, 228, 197 ]; "accounts": [ { "name": "user"; "writable": true; }, { "name": "userVolumeAccumulator"; "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": "quoteMint"; }, { "name": "quoteTokenProgram"; }, { "name": "userVolumeAccumulatorWsolTokenAccount"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "userVolumeAccumulator"; }, { "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": "userWsolTokenAccount"; "writable": 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"; "address": "pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA"; } ]; "args": []; }, { "name": "claimTokenIncentives"; "discriminator": [ 16, 4, 71, 28, 204, 1, 40, 27 ]; "accounts": [ { "name": "user"; }, { "name": "userAta"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "user"; }, { "kind": "account"; "path": "tokenProgram"; }, { "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": "globalVolumeAccumulator"; "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": "globalIncentiveTokenAccount"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "globalVolumeAccumulator"; }, { "kind": "account"; "path": "tokenProgram"; }, { "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": "userVolumeAccumulator"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 117, 115, 101, 114, 95, 118, 111, 108, 117, 109, 101, 95, 97, 99, 99, 117, 109, 117, 108, 97, 116, 111, 114 ]; }, { "kind": "account"; "path": "user"; } ]; }; }, { "name": "mint"; "relations": [ "globalVolumeAccumulator" ]; }, { "name": "tokenProgram"; }, { "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"; "address": "pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA"; }, { "name": "payer"; "writable": true; "signer": true; } ]; "args": []; }, { "name": "closeUserVolumeAccumulator"; "discriminator": [ 249, 69, 164, 218, 150, 103, 84, 138 ]; "accounts": [ { "name": "user"; "writable": true; "signer": true; }, { "name": "userVolumeAccumulator"; "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": "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": "collectCoinCreatorFee"; "discriminator": [ 160, 57, 89, 42, 181, 139, 43, 66 ]; "accounts": [ { "name": "quoteMint"; }, { "name": "quoteTokenProgram"; }, { "name": "coinCreator"; }, { "name": "coinCreatorVaultAuthority"; "pda": { "seeds": [ { "kind": "const"; "value": [ 99, 114, 101, 97, 116, 111, 114, 95, 118, 97, 117, 108, 116 ]; }, { "kind": "account"; "path": "coinCreator"; } ]; }; }, { "name": "coinCreatorVaultAta"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "coinCreatorVaultAuthority"; }, { "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": "coinCreatorTokenAccount"; "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": "createConfig"; "discriminator": [ 201, 207, 243, 114, 75, 111, 47, 189 ]; "accounts": [ { "name": "admin"; "writable": true; "signer": true; "address": "8LWu7QM2dGR1G8nKDHthckea57bkCzXyBTAKPJUBDHo8"; }, { "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": "coinCreatorFeeBasisPoints"; "type": "u64"; }, { "name": "adminSetCoinCreatorAuthority"; "type": "pubkey"; } ]; }, { "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": "coinCreator"; "type": "pubkey"; }, { "name": "isMayhemMode"; "type": "bool"; }, { "name": "isCashbackCoin"; "type": { "defined": { "name": "optionBool"; }; }; }, { "name": "creatorFeeBps"; "type": { "defined": { "name": "optionU64"; }; }; }, { "name": "canEditCreatorFee"; "type": { "defined": { "name": "optionBool"; }; }; }, { "name": "isHolderReward"; "type": { "defined": { "name": "optionBool"; }; }; } ]; }, { "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"; "writable": true; "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": "initBoost"; "discriminator": [ 140, 233, 33, 94, 132, 90, 194, 143 ]; "accounts": [ { "name": "pool"; "writable": true; }, { "name": "globalConfig"; "pda": { "seeds": [ { "kind": "const"; "value": [ 103, 108, 111, 98, 97, 108, 95, 99, 111, 110, 102, 105, 103 ]; } ]; }; }, { "name": "creator"; "writable": true; "signer": true; }, { "name": "baseMint"; "relations": [ "pool" ]; }, { "name": "quoteMint"; "relations": [ "pool" ]; }, { "name": "poolBaseTokenAccount"; "relations": [ "pool" ]; }, { "name": "poolQuoteTokenAccount"; "writable": true; "relations": [ "pool" ]; }, { "name": "boostVaultAuthority"; "pda": { "seeds": [ { "kind": "const"; "value": [ 98, 111, 111, 115, 116, 95, 118, 97, 117, 108, 116 ]; }, { "kind": "account"; "path": "pool"; } ]; }; }, { "name": "boostVault"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "boostVaultAuthority"; }, { "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": "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": "initUserVolumeAccumulator"; "discriminator": [ 94, 6, 202, 115, 255, 96, 232, 183 ]; "accounts": [ { "name": "payer"; "writable": true; "signer": true; }, { "name": "user"; }, { "name": "userVolumeAccumulator"; "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": "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": "migratePoolCoinCreator"; "docs": [ "Migrate Pool Coin Creator to Sharing Config" ]; "discriminator": [ 208, 8, 159, 4, 74, 175, 16, 58 ]; "accounts": [ { "name": "pool"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 112, 111, 111, 108 ]; }, { "kind": "account"; "path": "pool.index"; "account": "pool"; }, { "kind": "account"; "path": "pool.creator"; "account": "pool"; }, { "kind": "account"; "path": "pool.base_mint"; "account": "pool"; }, { "kind": "account"; "path": "pool.quote_mint"; "account": "pool"; } ]; }; }, { "name": "sharingConfig"; "pda": { "seeds": [ { "kind": "const"; "value": [ 115, 104, 97, 114, 105, 110, 103, 45, 99, 111, 110, 102, 105, 103 ]; }, { "kind": "account"; "path": "pool.base_mint"; "account": "pool"; } ]; "program": { "kind": "const"; "value": [ 12, 53, 255, 169, 5, 90, 142, 86, 141, 168, 247, 188, 7, 86, 21, 39, 76, 241, 201, 44, 164, 31, 64, 0, 156, 81, 106, 164, 20, 194, 124, 112 ]; }; }; }, { "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"; "writable": true; }, { "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"; "address": "pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA"; }, { "name": "coinCreatorVaultAta"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "coinCreatorVaultAuthority"; }, { "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": "coinCreatorVaultAuthority"; "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": "feeConfig"; "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": "feeProgram"; }; }; }, { "name": "feeProgram"; "address": "pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ"; } ]; "args": [ { "name": "baseAmountIn"; "type": "u64"; }, { "name": "minQuoteAmountOut"; "type": "u64"; } ]; }, { "name": "setBoostAuthority"; "discriminator": [ 227, 149, 76, 42, 130, 39, 234, 205 ]; "accounts": [ { "name": "admin"; "signer": true; "relations": [ "globalConfig" ]; }, { "name": "globalConfig"; "writable": true; }, { "name": "boostAuthority"; }, { "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": "setCoinCreator"; "docs": [ "Sets Pool::coin_creator from Metaplex metadata creator or BondingCurve::creator" ]; "discriminator": [ 210, 149, 128, 45, 188, 58, 78, 175 ]; "accounts": [ { "name": "pool"; "writable": true; }, { "name": "metadata"; "pda": { "seeds": [ { "kind": "const"; "value": [ 109, 101, 116, 97, 100, 97, 116, 97 ]; }, { "kind": "const"; "value": [ 11, 112, 101, 177, 227, 209, 124, 69, 56, 157, 82, 127, 107, 4, 195, 205, 88, 184, 108, 115, 26, 160, 253, 181, 73, 182, 209, 188, 3, 248, 41, 70 ]; }, { "kind": "account"; "path": "pool.base_mint"; "account": "pool"; } ]; "program": { "kind": "const"; "value": [ 11, 112, 101, 177, 227, 209, 124, 69, 56, 157, 82, 127, 107, 4, 195, 205, 88, 184, 108, 115, 26, 160, 253, 181, 73, 182, 209, 188, 3, 248, 41, 70 ]; }; }; }, { "name": "bondingCurve"; "pda": { "seeds": [ { "kind": "const"; "value": [ 98, 111, 110, 100, 105, 110, 103, 45, 99, 117, 114, 118, 101 ]; }, { "kind": "account"; "path": "pool.base_mint"; "account": "pool"; } ]; "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": "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": "setReservedFeeRecipients"; "discriminator": [ 111, 172, 162, 232, 114, 89, 213, 142 ]; "accounts": [ { "name": "globalConfig"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 103, 108, 111, 98, 97, 108, 95, 99, 111, 110, 102, 105, 103 ]; } ]; }; }, { "name": "admin"; "signer": true; "relations": [ "globalConfig" ]; }, { "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": "whitelistPda"; "type": "pubkey"; } ]; }, { "name": "syncUserVolumeAccumulator"; "discriminator": [ 86, 31, 192, 87, 163, 87, 79, 238 ]; "accounts": [ { "name": "user"; }, { "name": "globalVolumeAccumulator"; "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": "userVolumeAccumulator"; "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": "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": "toggleBoost"; "discriminator": [ 117, 161, 160, 74, 223, 137, 118, 99 ]; "accounts": [ { "name": "admin"; "signer": true; "relations": [ "globalConfig" ]; }, { "name": "globalConfig"; "writable": true; } ]; "args": [ { "name": "enabled"; "type": "bool"; } ]; }, { "name": "toggleCashbackEnabled"; "discriminator": [ 115, 103, 224, 255, 189, 89, 86, 195 ]; "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": "enabled"; "type": "bool"; } ]; }, { "name": "toggleMayhemMode"; "discriminator": [ 1, 9, 111, 208, 100, 31, 255, 163 ]; "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": "enabled"; "type": "bool"; } ]; }, { "name": "transferCreatorFeesToPump"; "docs": [ "Transfer creator fees to pump creator vault", "If coin creator fees are currently below rent.minimum_balance(TokenAccount::LEN)", "The transfer will be skipped" ]; "discriminator": [ 139, 52, 134, 85, 228, 229, 108, 241 ]; "accounts": [ { "name": "wsolMint"; "docs": [ "Pump Canonical Pool are quoted in wSOL" ]; }, { "name": "tokenProgram"; }, { "name": "systemProgram"; "address": "11111111111111111111111111111111"; }, { "name": "associatedTokenProgram"; "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"; }, { "name": "coinCreator"; }, { "name": "coinCreatorVaultAuthority"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 99, 114, 101, 97, 116, 111, 114, 95, 118, 97, 117, 108, 116 ]; }, { "kind": "account"; "path": "coinCreator"; } ]; }; }, { "name": "coinCreatorVaultAta"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "coinCreatorVaultAuthority"; }, { "kind": "account"; "path": "tokenProgram"; }, { "kind": "account"; "path": "wsolMint"; } ]; "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": "pumpCreatorVault"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 99, 114, 101, 97, 116, 111, 114, 45, 118, 97, 117, 108, 116 ]; }, { "kind": "account"; "path": "coinCreator"; } ]; "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": "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": "transferCreatorFeesToPumpV2"; "discriminator": [ 1, 33, 78, 185, 33, 67, 44, 92 ]; "accounts": [ { "name": "payer"; "writable": true; "signer": true; }, { "name": "quoteMint"; }, { "name": "tokenProgram"; }, { "name": "systemProgram"; "address": "11111111111111111111111111111111"; }, { "name": "associatedTokenProgram"; "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"; }, { "name": "coinCreator"; }, { "name": "coinCreatorVaultAuthority"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 99, 114, 101, 97, 116, 111, 114, 95, 118, 97, 117, 108, 116 ]; }, { "kind": "account"; "path": "coinCreator"; } ]; }; }, { "name": "coinCreatorVaultAta"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "coinCreatorVaultAuthority"; }, { "kind": "account"; "path": "tokenProgram"; }, { "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": "pumpCreatorVault"; "writable": true; "pda": { "seeds": [ { "kind": "const"; "value": [ 99, 114, 101, 97, 116, 111, 114, 45, 118, 97, 117, 108, 116 ]; }, { "kind": "account"; "path": "coinCreator"; } ]; "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": "pumpCreatorVaultAta"; "writable": true; "pda": { "seeds": [ { "kind": "account"; "path": "pumpCreatorVault"; }, { "kind": "account"; "path": "tokenProgram"; }, { "kind": "account"; "path": "quoteMint"; } ]; "program": { "kind": "account"; "path": "associatedTokenProgram"; }; }; }, { "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": "updateAdmin"; "discriminator": [ 161, 176, 40, 213, 60, 184, 179, 228 ]; "accounts": [ { "name": "admin"; "signer": true; "relations": [ "globalConfig" ]; }, { "name": "globalConfig"; "writable": true; }, { "name": "newAdmin"; }, { "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": "updateBuybackConfig"; "discriminator": [ 251, 224, 171, 146, 160, 26, 113, 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": "buybackBasisPoints"; "type": { "option": "u64"; }; } ]; }, { "name": "updateCreatorFeeConfig"; "discriminator": [ 61, 175, 160, 249, 66, 66, 136, 175 ]; "accounts": [ { "name": "admin"; "writable": true; "signer": true; "relations": [ "globalConfig" ]; }, { "name": "globalConfig"; "writable": 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": "creatorFeeConfigurable"; "type": "bool"; }, { "name": "maxConfigurableCreatorFeeBps"; "type": "u64"; } ]; }, { "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": "coinCreatorFeeBasisPoints"; "type": "u64"; }, { "name": "adminSetCoinCreatorAuthority"; "type": "pubkey"; } ]; }, { "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": "bondingCurve"; "discriminator": [ 23, 183, 248, 55, 96, 216, 172, 96 ]; }, { "name": "feeConfig"; "discriminator": [ 143, 52, 146, 187, 219, 123, 76, 155 ]; }, { "name": "globalConfig"; "discriminator": [ 149, 8, 156, 202, 160, 252, 176, 217 ]; }, { "name": "globalVolumeAccumulator"; "discriminator": [ 202, 42, 246, 43, 142, 190, 30, 255 ]; }, { "name": "pool"; "discriminator": [ 241, 154, 109, 4, 17, 177, 109, 188 ]; }, { "name": "sharingConfig"; "discriminator": [ 216, 74, 9, 0, 56, 140, 93, 75 ]; }, { "name": "userVolumeAccumulator"; "discriminator": [ 86, 255, 112, 14, 102, 53, 154, 250 ]; } ]; "events": [ { "name": "adminCtoPoolEvent"; "discriminator": [ 47, 35, 163, 249, 150, 157, 147, 122 ]; }, { "name": "adminUpdateTokenIncentivesEvent"; "discriminator": [ 147, 250, 108, 120, 247, 29, 67, 222 ]; }, { "name": "boostBuyAndBurnEvent"; "discriminator": [ 63, 69, 28, 22, 48, 92, 194, 185 ]; }, { "name": "buyEvent"; "discriminator": [ 103, 244, 82, 31, 44, 245, 119, 119 ]; }, { "name": "claimCashbackEvent"; "discriminator": [ 226, 214, 246, 33, 7, 242, 147, 229 ]; }, { "name": "claimTokenIncentivesEvent"; "discriminator": [ 79, 172, 246, 49, 205, 91, 206, 232 ]; }, { "name": "closeUserVolumeAccumulatorEvent"; "discriminator": [ 146, 159, 189, 172, 146, 88, 56, 244 ]; }, { "name": "collectCoinCreatorFeeEvent"; "discriminator": [ 232, 245, 194, 238, 234, 218, 58, 89 ]; }, { "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": "initBoostEvent"; "discriminator": [ 174, 124, 74, 249, 4, 81, 246, 17 ]; }, { "name": "initUserVolumeAccumulatorEvent"; "discriminator": [ 134, 36, 13, 72, 232, 101, 130, 216 ]; }, { "name": "migratePoolCoinCreatorEvent"; "discriminator": [ 170, 221, 82, 199, 147, 165, 247, 46 ]; }, { "name": "reservedFeeRecipientsEvent"; "discriminator": [ 43, 188, 250, 18, 221, 75, 187, 95 ]; }, { "name": "sellEvent"; "discriminator": [ 62, 47, 55, 10, 165, 3, 220, 42 ]; }, { "name": "setBondingCurveCoinCreatorEvent"; "discriminator": [ 242, 231, 235, 102, 65, 99, 189, 211 ]; }, { "name": "setBoostAuthorityEvent"; "discriminator": [ 89, 128, 240, 141, 91, 202, 71, 105 ]; }, { "name": "setMetaplexCoinCreatorEvent"; "discriminator": [ 150, 107, 199, 123, 124, 207, 102, 228 ]; }, { "name": "syncUserVolumeAccumulatorEvent"; "discriminator": [ 197, 122, 167, 124, 116, 81, 91, 255 ]; }, { "name": "updateAdminEvent"; "discriminator": [ 225, 152, 171, 87, 246, 63, 66, 234 ]; }, { "name": "updateCreatorFeeConfigEvent"; "discriminator": [ 152, 198, 124, 124, 106, 246, 127, 191 ]; }, { "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"; }, { "code": 6028; "name": "onlyCanonicalPumpPoolsCanHaveCoinCreator"; }, { "code": 6029; "name": "invalidAdminSetCoinCreatorAuthority"; }, { "code": 6030; "name": "startTimeInThePast"; }, { "code": 6031; "name": "endTimeInThePast"; }, { "code": 6032; "name": "endTimeBeforeStartTime"; }, { "code": 6033; "name": "timeRangeTooLarge"; }, { "code": 6034; "name": "endTimeBeforeCurrentDay"; }, { "code": 6035; "name": "supplyUpdateForFinishedRange"; }, { "code": 6036; "name": "dayIndexAfterEndIndex"; }, { "code": 6037; "name": "dayInActiveRange"; }, { "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"; }, { "code": 6041; "name": "mayhemModeDisabled"; }, { "code": 6042; "name": "onlyPumpPoolsMayhemMode"; }, { "code": 6043; "name": "mayhemModeInDesiredState"; }, { "code": 6044; "name": "notEnoughRemainingAccounts"; }, { "code": 6045; "name": "invalidSharingConfigBaseMint"; }, { "code": 6046; "name": "invalidSharingConfigCoinCreator"; }, { "code": 6047; "name": "coinCreatorMigratedToSharingConfig"; "msg": "coin creator has been migrated to sharing config"; }, { "code": 6048; "name": "creatorVaultMigratedToSharingConfig"; "msg": "creator_vault has been migrated to sharing config, use pump:distribute_creator_fees instead"; }, { "code": 6049; "name": "cashbackNotEnabled"; "msg": "Cashback is disabled"; }, { "code": 6050; "name": "onlyPumpPoolsCashback"; }, { "code": 6051; "name": "cashbackNotInDesiredState"; }, { "code": 6052; "name": "tokensInVaultLessThanCashbackEarned"; }, { "code": 6053; "name": "buybackFeeRecipientNotAuthorized"; "msg": "Buyback fee recipient not authorized"; }, { "code": 6054; "name": "allBuybackFeeRecipientsShouldBeNonZero"; }, { "code": 6055; "name": "notUniqueBuybackFeeRecipients"; }, { "code": 6056; "name": "buybackBasisPointsOutOfRange"; "msg": "buyback_basis_points must be <= 10_000"; }, { "code": 6057; "name": "wrongBuybackFeeRecipientsCount"; "msg": "buyback fee recipients require exactly 8 remaining accounts (or none)"; }, { "code": 6058; "name": "buybackFeeRecipientMissing"; }, { "code": 6059; "name": "missingCashbackAccounts"; "msg": "Cashback trade is missing the required remaining accounts"; }, { "code": 6060; "name": "invalidCashbackAccumulator"; "msg": "Cashback user_volume_accumulator account is invalid"; }, { "code": 6061; "name": "invalidCashbackAccumulatorAta"; "msg": "Cashback user_volume_accumulator ATA is missing or invalid"; }, { "code": 6062; "name": "invalidPoolV2"; "msg": "pool_v2 remaining account is missing or invalid"; }, { "code": 6063; "name": "insufficientRealQuoteReserves"; "msg": "BOOST: sell output exceeds the real quote vault. effective = real + virtual is pricing-only; payout is capped at real_vault, so quote min(out, real_vault)"; }, { "code": 6064; "name": "boostPoolLiquidityUnsupported"; "msg": "BOOST: deposit/withdraw don't apply to boost pools"; }, { "code": 6065; "name": "poolCannotBoost"; "msg": "BOOST: pool cannot be boosted (no virtual reserves)"; }, { "code": 6066; "name": "boostDisabled"; "msg": "BOOST: boost is disabled"; }, { "code": 6067; "name": "seedLockViolation"; "msg": "BOOST: lp_supply must never drop below the circulating LP mint supply"; }, { "code": 6068; "name": "creatorFeeNotConfigurable"; "msg": "Configurable creator fee is disabled"; }, { "code": 6069; "name": "creatorFeeBpsOutOfRange"; "msg": "Creator fee basis points must be between 1 and the configured maximum"; }, { "code": 6070; "name": "creatorFeeNotEditable"; "msg": "Creator fee is not editable for this pool"; }, { "code": 6071; "name": "creatorFeeNotAllowedForCashbackCoin"; "msg": "Cashback coins cannot have a creator fee"; }, { "code": 6072; "name": "sharingConfigNotActive"; "msg": "Sharing config is not active"; }, { "code": 6073; "name": "notAuthorized"; "msg": "Not authorized"; }, { "code": 6074; "name": "holderRewardCreatorImmutable"; "msg": "The coin creator of a holder-reward pool cannot be changed"; }, { "code": 6075; "name": "ctoNotAllowedForMayhemPool"; "msg": "CTO is not allowed on a mayhem-mode pool"; }, { "code": 6076; "name": "invalidHolderRewardCoinCreator"; "msg": "A holder-reward pool's coin creator must be the holder-rewards PDA"; }, { "code": 6077; "name": "creatorFeeNotConfigurableForQuote"; "msg": "Creator fee is not configurable on a SOL or USDC quote; the fee schedule applies"; } ]; "types": [ { "name": "adminCtoPoolEvent"; "type": { "kind": "struct"; "fields": [ { "name": "timestamp"; "type": "i64"; }, { "name": "baseMint"; "type": "pubkey"; }, { "name": "pool"; "type": "pubkey"; }, { "name": "oldCoinCreator"; "type": "pubkey"; }, { "name": "newCoinCreator"; "type": "pubkey"; }, { "name": "isHolderReward"; "type": "bool"; }, { "name": "isCashbackCoin"; "type": "bool"; }, { "name": "oldCreatorFeeBps"; "type": "u64"; }, { "name": "newCreatorFeeBps"; "type": "u64"; } ]; }; }, { "name": "adminUpdateTokenIncentivesEvent"; "type": { "kind": "struct"; "fields": [ { "name": "startTime"; "type": "i64"; }, { "name": "endTime"; "type": "i64"; }, { "name": "dayNumber"; "type": "u64"; }, { "name": "tokenSupplyPerDay"; "type": "u64"; }, { "name": "mint"; "type": "pubkey"; }, { "name": "secondsInADay"; "type": "i64"; }, { "name": "timestamp"; "type": "i64"; } ]; }; }, { "name": "bondingCurve"; "type": { "kind": "struct"; "fields": [ { "name": "virtualTokenReserves"; "type": "u64"; }, { "name": "virtualSolReserves"; "type": "u64"; }, { "name": "realTokenReserves"; "type": "u64"; }, { "name": "realSolReserves"; "type": "u64"; }, { "name": "tokenTotalSupply"; "type": "u64"; }, { "name": "complete"; "type": "bool"; }, { "name": "creator"; "type": "pubkey"; }, { "name": "isMayhemMode"; "type": "bool"; }, { "name": "isCashbackCoin"; "type": "bool"; } ]; }; }, { "name": "boostBuyAndBurnEvent"; "type": { "kind": "struct"; "fields": [ { "name": "timestamp"; "type": "i64"; }, { "name": "mint"; "type": "pubkey"; }, { "name": "bondingCurve"; "type": "pubkey"; }, { "name": "pool"; "type": "pubkey"; }, { "name": "authority"; "type": "pubkey"; }, { "name": "quoteAmountInRequested"; "type": "u64"; }, { "name": "quoteAmountInUsed"; "type": "u64"; }, { "name": "baseAmountBurned"; "type": "u64"; }, { "name": "virtualQuoteReserves"; "type": "i128"; }, { "name": "realQuoteReservesAfter"; "type": "u64"; }, { "name": "baseReservesAfter"; "type": "u64"; }, { "name": "boostVaultRemaining"; "type": "u64"; } ]; }; }, { "name": "buyEvent"; "docs": [ "ix_name: \"buy\" | \"buy_exact_quote_in\"" ]; "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"; }, { "name": "protocolFeeBasisPoints"; "type": "u64"; }, { "name": "protocolFee"; "type": "u64"; }, { "name": "quoteAmountInWithLpFee"; "type": "u64"; }, { "name": "userQuoteAmountIn"; "type": "u64"; }, { "name": "pool"; "type": "pubkey"; }, { "name": "user"; "type": "pubkey"; }, { "name": "userBaseTokenAccount"; "type": "pubkey"; }, { "name": "userQuoteTokenAccount"; "type": "pubkey"; }, { "name": "protocolFeeRecipient"; "type": "pubkey"; }, { "name": "protocolFeeRecipientTokenAccount"; "type": "pubkey"; }, { "name": "coinCreator"; "type": "pubkey"; }, { "name": "coinCreatorFeeBasisPoints"; "type": "u64"; }, { "name": "coinCreatorFee"; "type": "u64"; }, { "name": "trackVolume"; "type": "bool"; }, { "name": "totalUnclaimedTokens"; "type": "u64"; }, { "name": "totalClaimedTokens"; "type": "u64"; }, { "name": "currentSolVolume"; "type": "u64"; }, { "name": "lastUpdateTimestamp"; "type": "i64"; }, { "name": "minBaseAmountOut"; "type": "u64"; }, { "name": "ixName"; "type": "string"; }, { "name": "cashbackFeeBasisPoints"; "type": "u64"; }, { "name": "cashback"; "type": "u64"; }, { "name": "buybackFeeBasisPoints"; "type": "u64"; }, { "name": "buybackFee"; "type": "u64"; }, { "name": "virtualQuoteReserves"; "type": "i128"; }, { "name": "canBoost"; "type": "bool"; }, { "name": "baseSupply"; "type": "u64"; }, { "name": "holderRewardsBps"; "type": "u64"; }, { "name": "holderRewards"; "type": "u64"; } ]; }; }, { "name": "claimCashbackEvent"; "type": { "kind": "struct"; "fields": [ { "name": "user"; "type": "pubkey"; }, { "name": "amount"; "type": "u64"; }, { "name": "timestamp"; "type": "i64"; }, { "name": "totalClaimed"; "type": "u64"; }, { "name": "totalCashbackEarned"; "type": "u64"; } ]; }; }, { "name": "claimTokenIncentivesEvent"; "type": { "kind": "struct"; "fields": [ { "name": "user"; "type": "pubkey"; }, { "name": "mint"; "type": "pubkey"; }, { "name": "amount"; "type": "u64"; }, { "name": "timestamp"; "type": "i64"; }, { "name": "totalClaimedTokens"; "type": "u64"; }, { "name": "currentSolVolume"; "type": "u64"; } ]; }; }, { "name": "closeUserVolumeAccumulatorEvent"; "type": { "kind": "struct"; "fields": [ { "name": "user"; "type": "pubkey"; }, { "name": "timestamp"; "type": "i64"; }, { "name": "totalUnclaimedTokens"; "type": "u64"; }, { "name": "totalClaimedTokens"; "type": "u64"; }, { "name": "currentSolVolume"; "type": "u64"; }, { "name": "lastUpdateTimestamp"; "type": "i64"; } ]; }; }, { "name": "collectCoinCreatorFeeEvent"; "type": { "kind": "struct"; "fields": [ { "name": "timestamp"; "type": "i64"; }, { "name": "coinCreator"; "type": "pubkey"; }, { "name": "coinCreatorFee"; "type": "u64"; }, { "name": "coinCreatorVaultAta"; "type": "pubkey"; }, { "name": "coinCreatorTokenAccount"; "type": "pubkey"; } ]; }; }, { "name": "configStatus"; "type": { "kind": "enum"; "variants": [ { "name": "paused"; }, { "name": "active"; } ]; }; }, { "name": "createConfigEvent"; "type": { "kind": "struct"; "fields": [ { "name": "timestamp"; "type": "i64"; }, { "name": "admin"; "type": "pubkey"; }, { "name": "lpFeeBasisPoints"; "type": "u64"; }, { "name": "protocolFeeBasisPoints"; "type": "u64"; }, { "name": "protocolFeeRecipients"; "type": { "array": [ "pubkey", 8 ]; }; }, { "name": "coinCreatorFeeBasisPoints"; "type": "u64"; }, { "name": "adminSetCoinCreatorAuthority"; "type": "pubkey"; } ]; }; }, { "name": "createPoolEvent"; "type": { "kind": "struct"; "fields": [ { "name": "timestamp"; "type": "i64"; }, { "name": "index"; "type": "u16"; }, { "name": "creator"; "type": "pubkey"; }, { "name": "baseMint"; "type": "pubkey"; }, { "name": "quoteMint"; "type": "pubkey"; }, { "name": "baseMintDecimals"; "type": "u8"; }, { "name": "quoteMintDecimals"; "type": "u8"; }, { "name": "baseAmountIn"; "type": "u64"; }, { "name": "quoteAmountIn"; "type": "u64"; }, { "name": "poolBaseAmount"; "type": "u64"; }, { "name": "poolQuoteAmount"; "type": "u64"; }, { "name": "minimumLiquidity"; "type": "u64"; }, { "name": "initialLiquidity"; "type": "u64"; }, { "name": "lpTokenAmountOut"; "type": "u64"; }, { "name": "poolBump"; "type": "u8"; }, { "name": "pool"; "type": "pubkey"; }, { "name": "lpMint"; "type": "pubkey"; }, { "name": "userBaseTokenAccount"; "type": "pubkey"; }, { "name": "userQuoteTokenAccount"; "type": "pubkey"; }, { "name": "coinCreator"; "type": "pubkey"; }, { "name": "isMayhemMode"; "type": "bool"; }, { "name": "creatorFeeBps"; "type": "u64"; }, { "name": "canEditCreatorFee"; "type": "bool"; }, { "name": "isHolderReward"; "type": "bool"; } ]; }; }, { "name": "depositEvent"; "type": { "kind": "struct"; "fields": [ { "name": "timestamp"; "type": "i64"; }, { "name": "lpTokenAmountOut"; "type": "u64"; }, { "name": "maxBaseAmountIn"; "type": "u64"; }, { "name": "maxQuoteAmountIn"; "type": "u64"; }, { "name": "userBaseTokenReserves"; "type": "u64"; }, { "name": "userQuoteTokenReserves"; "type": "u64"; }, { "name": "poolBaseTokenReserves"; "type": "u64"; }, { "name": "poolQuoteTokenReserves"; "type": "u64"; }, { "name": "baseAmountIn"; "type": "u64"; }, { "name": "quoteAmountIn"; "type": "u64"; }, { "name": "lpMintSupply"; "type": "u64"; }, { "name": "pool"; "type": "pubkey"; }, { "name": "user"; "type": "pubkey"; }, { "name": "userBaseTokenAccount"; "type": "pubkey"; }, { "name": "userQuoteTokenAccount"; "type": "pubkey"; }, { "name": "userPoolTokenAccount"; "type": "pubkey"; } ]; }; }, { "name": "disableEvent"; "type": { "kind": "struct"; "fields": [ { "name": "timestamp"; "type": "i64"; }, { "name": "admin"; "type": "pubkey"; }, { "name": "disableCreatePool"; "type": "bool"; }, { "name": "disableDeposit"; "type": "bool"; }, { "name": "disableWithdraw"; "type": "bool"; }, { "name": "disableBuy"; "type": "bool"; }, { "name": "disableSell"; "type": "bool"; } ]; }; }, { "name": "extendAccountEvent"; "type": { "kind": "struct"; "fields": [ { "name": "timestamp"; "type": "i64"; }, { "name": "account"; "type": "pubkey"; }, { "name": "user"; "type": "pubkey"; }, { "name": "currentSize"; "type": "u64"; }, { "name": "newSize"; "type": "u64"; } ]; }; }, { "name": "feeConfig"; "type": { "kind": "struct"; "fields": [ { "name": "bump"; "type": "u8"; }, { "name": "admin"; "type": "pubkey"; }, { "name": "flatFees"; "type": { "defined": { "name": "fees"; }; }; }, { "name": "feeTiers"; "type": { "vec": { "defined": { "name": "feeTier"; }; }; }; }, { "name": "stableFeeTiers"; "type": { "vec": { "defined": { "name": "feeTier"; }; }; }; }, { "name": "exoticFlatFees"; "type": { "defined": { "name": "fees"; }; }; } ]; }; }, { "name": "feeTier"; "type": { "kind": "struct"; "fields": [ { "name": "marketCapLamportsThreshold"; "type": "u128"; }, { "name": "fees"; "type": { "defined": { "name": "fees"; }; }; } ]; }; }, { "name": "fees"; "type": { "kind": "struct"; "fields": [ { "name": "lpFeeBps"; "type": "u64"; }, { "name": "protocolFeeBps"; "type": "u64"; }, { "name": "creatorFeeBps"; "type": "u64"; } ]; }; }, { "name": "globalConfig"; "type": { "kind": "struct"; "fields": [ { "name": "admin"; "docs": [ "The admin pubkey" ]; "type": "pubkey"; }, { "name": "lpFeeBasisPoints"; "type": "u64"; }, { "name": "protocolFeeBasisPoints"; "type": "u64"; }, { "name": "disableFlags"; "docs": [ "Flags to disable certain functionality", "bit 0 - Disable create pool", "bit 1 - Disable deposit", "bit 2 - Disable withdraw", "bit 3 - Disable buy", "bit 4 - Disable sell" ]; "type": "u8"; }, { "name": "protocolFeeRecipients"; "docs": [ "Addresses of the protocol fee recipients" ]; "type": { "array": [ "pubkey", 8 ]; }; }, { "name": "coinCreatorFeeBasisPoints"; "type": "u64"; }, { "name": "adminSetCoinCreatorAuthority"; "docs": [ "The admin authority for setting coin creators" ]; "type": "pubkey"; }, { "name": "whitelistPda"; "type": "pubkey"; }, { "name": "reservedFeeRecipient"; "type": "pubkey"; }, { "name": "mayhemModeEnabled"; "type": "bool"; }, { "name": "reservedFeeRecipients"; "type": { "array": [ "pubkey", 7 ]; }; }, { "name": "isCashbackEnabled"; "type": "bool"; }, { "name": "buybackFeeRecipients"; "type": { "array": [ "pubkey", 8 ]; }; }, { "name": "buybackBasisPoints"; "type": "u64"; }, { "name": "boostAuthority"; "type": "pubkey"; }, { "name": "boostEnabled"; "type": "bool"; }, { "name": "creatorFeeConfigurable"; "type": "bool"; }, { "name": "maxConfigurableCreatorFeeBps"; "type": "u64"; } ]; }; }, { "name": "globalVolumeAccumulator"; "type": { "kind": "struct"; "fields": [ { "name": "startTime"; "type": "i64"; }, { "name": "endTime"; "type": "i64"; }, { "name": "secondsInADay"; "type": "i64"; }, { "name": "mint"; "type": "pubkey"; }, { "name": "totalTokenSupply"; "type": { "array": [ "u64", 30 ]; }; }, { "name": "solVolumes"; "type": { "array": [ "u64", 30 ]; }; } ]; }; }, { "name": "initBoostEvent"; "type": { "kind": "struct"; "fields": [ { "name": "timestamp"; "type": "i64"; }, { "name": "mint"; "type": "pubkey"; }, { "name": "bondingCurve"; "type": "pubkey"; }, { "name": "pool"; "type": "pubkey"; }, { "name": "virtualQuoteReserves"; "type": "i128"; }, { "name": "realQuoteReservesAfter"; "type": "u64"; } ]; }; }, { "name": "initUserVolumeAccumulatorEvent"; "type": { "kind": "struct"; "fields": [ { "name": "payer"; "type": "pubkey"; }, { "name": "user"; "type": "pubkey"; }, { "name": "timestamp"; "type": "i64"; } ]; }; }, { "name": "migratePoolCoinCreatorEvent"; "type": { "kind": "struct"; "fields": [ { "name": "timestamp"; "type": "i64"; }, { "name": "baseMint"; "type": "pubkey"; }, { "name": "pool"; "type": "pubkey"; }, { "name": "sharingConfig"; "type": "pubkey"; }, { "name": "oldCoinCreator"; "type": "pubkey"; }, { "name": "newCoinCreator"; "type": "pubkey"; } ]; }; }, { "name": "optionBool"; "type": { "kind": "struct"; "fields": [ "bool" ]; }; }, { "name": "optionU64"; "type": { "kind": "struct"; "fields": [ "u64" ]; }; }, { "name": "pool"; "type": { "kind": "struct"; "fields": [ { "name": "poolBump"; "type": "u8"; }, { "name": "index"; "type": "u16"; }, { "name": "creator"; "type": "pubkey"; }, { "name": "baseMint"; "type": "pubkey"; }, { "name": "quoteMint"; "type": "pubkey"; }, { "name": "lpMint"; "type": "pubkey"; }, { "name": "poolBaseTokenAccount"; "type": "pubkey"; }, { "name": "poolQuoteTokenAccount"; "type": "pubkey"; }, { "name": "lpSupply"; "docs": [ "True circulating supply without burns and lock-ups" ]; "type": "u64"; }, { "name": "coinCreator"; "type": "pubkey"; }, { "name": "isMayhemMode"; "type": "bool"; }, { "name": "isCashbackCoin"; "type": "bool"; }, { "name": "virtualQuoteReserves"; "docs": [ "For non-boost pools, value is 0, so the behavior is identical to legacy pools." ]; "type": "i128"; }, { "name": "creatorFeeBps"; "type": "u64"; }, { "name": "canEditCreatorFee"; "type": "bool"; }, { "name": "isHolderReward"; "type": "bool"; } ]; }; }, { "name": "reservedFeeRecipientsEvent"; "type": { "kind": "struct"; "fields": [ { "name": "timestamp"; "type": "i64"; }, { "name": "reservedFeeRecipient"; "type": "pubkey"; }, { "name": "reservedFeeRecipients"; "type": { "array": [ "pubkey", 7 ]; }; } ]; }; }, { "name": "sellEvent"; "type": { "kind": "struct"; "fields": [ { "name": "timestamp"; "type": "i64"; }, { "name": "baseAmountIn"; "type": "u64"; }, { "name": "minQuoteAmountOut"; "type": "u64"; }, { "name": "userBaseTokenReserves"; "type": "u64"; }, { "name": "userQuoteTokenReserves"; "type": "u64"; }, { "name": "poolBaseTokenReserves"; "type": "u64"; }, { "name": "poolQuoteTokenReserves"; "type": "u64"; }, { "name": "quoteAmountOut"; "type": "u64"; }, { "name": "lpFeeBasisPoints"; "type": "u64"; }, { "name": "lpFee"; "type": "u64"; }, { "name": "protocolFeeBasisPoints"; "type": "u64"; }, { "name": "protocolFee"; "type": "u64"; }, { "name": "quoteAmountOutWithoutLpFee"; "type": "u64"; }, { "name": "userQuoteAmountOut"; "type": "u64"; }, { "name": "pool"; "type": "pubkey"; }, { "name": "user"; "type": "pubkey"; }, { "name": "userBaseTokenAccount"; "type": "pubkey"; }, { "name": "userQuoteTokenAccount"; "type": "pubkey"; }, { "name": "protocolFeeRecipient"; "type": "pubkey"; }, { "name": "protocolFeeRecipientTokenAccount"; "type": "pubkey"; }, { "name": "coinCreator"; "type": "pubkey"; }, { "name": "coinCreatorFeeBasisPoints"; "type": "u64"; }, { "name": "coinCreatorFee"; "type": "u64"; }, { "name": "cashbackFeeBasisPoints"; "type": "u64"; }, { "name": "cashback"; "type": "u64"; }, { "name": "buybackFeeBasisPoints"; "type": "u64"; }, { "name": "buybackFee"; "type": "u64"; }, { "name": "virtualQuoteReserves"; "type": "i128"; }, { "name": "canBoost"; "type": "bool"; }, { "name": "baseSupply"; "type": "u64"; }, { "name": "holderRewardsBps"; "type": "u64"; }, { "name": "holderRewards"; "type": "u64"; } ]; }; }, { "name": "setBondingCurveCoinCreatorEvent"; "type": { "kind": "struct"; "fields": [ { "name": "timestamp"; "type": "i64"; }, { "name": "baseMint"; "type": "pubkey"; }, { "name": "pool"; "type": "pubkey"; }, { "name": "bondingCurve"; "type": "pubkey"; }, { "name": "coinCreator"; "type": "pubkey"; } ]; }; }, { "name": "setBoostAuthorityEvent"; "type": { "kind": "struct"; "fields": [ { "name": "timestamp"; "type": "i64"; }, { "name": "admin"; "type": "pubkey"; }, { "name": "oldBoostAuthority"; "type": "pubkey"; }, { "name": "newBoostAuthority"; "type": "pubkey"; } ]; }; }, { "name": "setMetaplexCoinCreatorEvent"; "type": { "kind": "struct"; "fields": [ { "name": "timestamp"; "type": "i64"; }, { "name": "baseMint"; "type": "pubkey"; }, { "name": "pool"; "type": "pubkey"; }, { "name": "metadata"; "type": "pubkey"; }, { "name": "coinCreator"; "type": "pubkey"; } ]; }; }, { "name": "shareholder"; "type": { "kind": "struct"; "fields": [ { "name": "address"; "type": "pubkey"; }, { "name": "shareBps"; "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": "adminRevoked"; "type": "bool"; }, { "name": "shareholders"; "type": { "vec": { "defined": { "name": "shareholder"; }; }; }; } ]; }; }, { "name": "syncUserVolumeAccumulatorEvent"; "type": { "kind": "struct"; "fields": [ { "name": "user"; "type": "pubkey"; }, { "name": "totalClaimedTokensBefore"; "type": "u64"; }, { "name": "totalClaimedTokensAfter"; "type": "u64"; }, { "name": "timestamp"; "type": "i64"; } ]; }; }, { "name": "updateAdminEvent"; "type": { "kind": "struct"; "fields": [ { "name": "timestamp"; "type": "i64"; }, { "name": "admin"; "type": "pubkey"; }, { "name": "newAdmin"; "type": "pubkey"; } ]; }; }, { "name": "updateCreatorFeeConfigEvent"; "type": { "kind": "struct"; "fields": [ { "name": "timestamp"; "type": "i64"; }, { "name": "admin"; "type": "pubkey"; }, { "name": "creatorFeeConfigurable"; "type": "bool"; }, { "name": "maxConfigurableCreatorFeeBps"; "type": "u64"; } ]; }; }, { "name": "updateFeeConfigEvent"; "type": { "kind": "struct"; "fields": [ { "name": "timestamp"; "type": "i64"; }, { "name": "admin"; "type": "pubkey"; }, { "name": "lpFeeBasisPoints"; "type": "u64"; }, { "name": "protocolFeeBasisPoints"; "type": "u64"; }, { "name": "protocolFeeRecipients"; "type": { "array": [ "pubkey", 8 ]; }; }, { "name": "coinCreatorFeeBasisPoints"; "type": "u64"; }, { "name": "adminSetCoinCreatorAuthority"; "type": "pubkey"; } ]; }; }, { "name": "userVolumeAccumulator"; "type": { "kind": "struct"; "fields": [ { "name": "user"; "type": "pubkey"; }, { "name": "needsClaim"; "type": "bool"; }, { "name": "totalUnclaimedTokens"; "type": "u64"; }, { "name": "totalClaimedTokens"; "type": "u64"; }, { "name": "currentSolVolume"; "type": "u64"; }, { "name": "lastUpdateTimestamp"; "type": "i64"; }, { "name": "hasTotalClaimedTokens"; "type": "bool"; }, { "name": "cashbackEarned"; "type": "u64"; }, { "name": "totalCashbackClaimed"; "type": "u64"; } ]; }; }, { "name": "withdrawEvent"; "type": { "kind": "struct"; "fields": [ { "name": "timestamp"; "type": "i64"; }, { "name": "lpTokenAmountIn"; "type": "u64"; }, { "name": "minBaseAmountOut"; "type": "u64"; }, { "name": "minQuoteAmountOut"; "type": "u64"; }, { "name": "userBaseTokenReserves"; "type": "u64"; }, { "name": "userQuoteTokenReserves"; "type": "u64"; }, { "name": "poolBaseTokenReserves"; "type": "u64"; }, { "name": "poolQuoteTokenReserves"; "type": "u64"; }, { "name": "baseAmountOut"; "type": "u64"; }, { "name": "quoteAmountOut"; "type": "u64"; }, { "name": "lpMintSupply"; "type": "u64"; }, { "name": "pool"; "type": "pubkey"; }, { "name": "user"; "type": "pubkey"; }, { "name": "userBaseTokenAccount"; "type": "pubkey"; }, { "name": "userQuoteTokenAccount"; "type": "pubkey"; }, { "name": "userPoolTokenAccount"; "type": "pubkey"; } ]; }; } ]; }; declare function getPumpProgram(connection: Connection): Program; declare const PUMP_PROGRAM_ID: PublicKey; declare function getPumpAmmProgram(connection: Connection): Program; declare function getPumpFeeProgram(connection: Connection): Program; declare const PUMP_AMM_PROGRAM_ID: PublicKey; declare const MAYHEM_PROGRAM_ID: PublicKey; declare const PUMP_FEE_PROGRAM_ID: PublicKey; /** * `BondingCurve` serialized length with every field the vendored IDL declares * (pump `BondingCurve::SIZE`, discriminator included). Curves written before * holder-reward coins are 124 bytes, before configurable creator fees 115 (or * `BONDING_CURVE_NEW_SIZE` once extended); the program reads them with the * missing trailing fields at their defaults (`creatorFeeBps = 0`, * `canEditCreatorFee = false`, `isHolderReward = false`), which is what * zero-padding to this length yields. */ declare const BONDING_CURVE_SIZE = 125; /** pump `BondingCurve::NEW_SIZE`: what `extend_account` grows a curve to. */ declare const BONDING_CURVE_NEW_SIZE = 151; /** * `Global` serialized length with every field the vendored IDL declares (pump * `Global::SIZE`, discriminator included). The account is 1054 bytes (1045 * before configurable creator fees) until `extend_account` runs on it after * the holder-reward upgrade; zero-padding to this length reads the missing * fields at the program's defaults (`creatorFeeConfigurable = false`, * `maxConfigurableCreatorFeeBps = 0`, `holderRewardClaimAuthority` the zero * key, `isHolderRewardEnabled = false`). */ declare const GLOBAL_SIZE = 1087; /** * Compute units an `admin_cto` needs: a vault sweep plus up to two CPIs and an * ATA create overrun the 200k default. `OnlinePumpSdk.adminCtoInstructions` * prepends a `setComputeUnitLimit` with it. */ declare const ADMIN_CTO_COMPUTE_UNIT_LIMIT = 600000; /** * `FeeConfig` account lengths, mirroring pump-fees * `FeeConfig::{INITIALIZE_SIZE, POST_STABLE_SIZE, CURRENT_SIZE}`. The program * selects the layout version from the account length: every version is a * prefix of the next and the fields a version lacks read as their defaults. */ declare const FEE_CONFIG_INITIALIZE_SIZE = 2512; declare const FEE_CONFIG_POST_STABLE_SIZE = 4073; declare const FEE_CONFIG_CURRENT_SIZE = 4097; /** * A quote mint and the program that owns it, as needed to derive the * associated token accounts that hold that quote. */ interface QuoteMintCandidate { mint: PublicKey; tokenProgram: PublicKey; } declare class PumpSdk { private readonly offlinePumpProgram; private readonly offlinePumpFeeProgram; private readonly offlinePumpAmmProgram; constructor(); /** * Decodes the pump `Global` account, including the live 1045-byte account * that predates `creatorFeeConfigurable` / `maxConfigurableCreatorFeeBps` * (they read `false` / 0, see `GLOBAL_SIZE`). */ decodeGlobal(accountInfo: AccountInfo): Global; /** * Decodes a pump-fees `FeeConfig` account the way the program does * (`FeeConfig::deserialize_versioned`): the account length selects the * layout version, and the bytes after that version's last field are never * read. `stableFeeTiers` is empty below `FEE_CONFIG_POST_STABLE_SIZE` and * `exoticFlatFees` is all-zero (unset) below `FEE_CONFIG_CURRENT_SIZE`, * whatever bytes follow the shorter layout (a pre-allocated tail, or stale * tier bytes left behind when a vector was upserted shorter). Throws on data * shorter than `FEE_CONFIG_INITIALIZE_SIZE` or a tier vector the program * could not have written. */ decodeFeeConfig(accountInfo: AccountInfo): FeeConfig; /** * Decodes a `BondingCurve` of every length the program has written (49, 81, * 82, 83, 115, 124 and the extended 151 bytes) the way its versioned reader * does: every layout is a prefix of the next and the fields a shorter * account lacks read as their defaults (the zero key, `false`, zero). Bytes * past `BONDING_CURVE_SIZE` (an extended curve) are ignored. Throws below * the 49-byte initial layout, as the program does. A length the program * never writes (say 100 bytes) is not special-cased: the program would read * it as the longest layout that fits and ignore the rest, this zero-padded * read takes the extra bytes as the start of the next field. */ decodeBondingCurve(accountInfo: AccountInfo): BondingCurve; /** * The quote mint a pump-amm coin creator vault ATA holds, found by matching * the ATA against `candidates`. * * @param candidates - The quote mints to try, each with the program that * owns it (the ATA is derived with it). Defaults to WSOL, mainnet USDC and * devnet USDC under SPL Token. Quote-control mints and Token-2022 quotes * are only found when passed here; build the list from * `OnlinePumpSdk.fetchSupportedQuoteMints` plus each mint's * `fetchQuoteTokenProgram` (or `resolveQuoteMint`). * @returns The matching mint, or `null` when no candidate matches. */ getCoinCreatorVaultQuoteMint(coinCreator: PublicKey, coinCreatorVaultAta: PublicKey, candidates?: readonly QuoteMintCandidate[]): PublicKey | null; decodeBondingCurveNullable(accountInfo: AccountInfo): BondingCurve | null; /** * Decodes the pump `QuoteControl` PDA. Like the program's raw reader * (`QuoteControl::lookup_initial_virtual_quote_reserves`, error 6075 * `InvalidQuoteControl`), the declared `mints` length must fit in the data; * bytes past it (the pre-allocated tail, or stale entries left behind by a * remove) are ignored. The program never writes an over-declared account * (it grows before it pushes and never shrinks), so this only rejects * corrupt or foreign data, which would otherwise decode as phantom zero-key * entries or, for a huge count, allocate until the process dies. */ decodeQuoteControl(accountInfo: AccountInfo): QuoteControl; /** * `null` when the account is missing (the PDA is not initialized yet, which * the program treats as an empty list) or does not decode as a * `QuoteControl` (wrong discriminator, over-declared length; logged with * `console.warn`). Note that `OnlinePumpSdk.fetchQuoteControl` is stricter: * it returns `null` only for a missing account and throws on a malformed * one. */ decodeQuoteControlNullable(accountInfo: AccountInfo | null): QuoteControl | null; decodeGlobalVolumeAccumulator(accountInfo: AccountInfo): GlobalVolumeAccumulator; decodeUserVolumeAccumulator(accountInfo: AccountInfo): UserVolumeAccumulator; decodeUserVolumeAccumulatorNullable(accountInfo: AccountInfo): UserVolumeAccumulator | null; decodeSharingConfig(accountInfo: AccountInfo): SharingConfig; decodeSocialFeePda(accountInfo: AccountInfo): SocialFeePda; decodeSocialFeePdaClaimedEvent(data: Buffer): SocialFeePdaClaimedEvent; decodeSocialFeePdaCreatedEvent(data: Buffer): SocialFeePdaCreatedEvent; decodeCreateFeeSharingConfigEvent(data: Buffer): CreateFeeSharingConfigEvent; decodeUpdateFeeSharesEvent(data: Buffer): UpdateFeeSharesEvent; decodeUpdateAdminEvent(data: Buffer): UpdateAdminEvent; decodeSetAuthorityEvent(data: Buffer): SetAuthorityEvent; decodeResetFeeSharingConfigEvent(data: Buffer): ResetFeeSharingConfigEvent; decodeDonationFeePdaCreatedEvent(data: Buffer): DonationFeePdaCreatedEvent; decodeCollectCreatorFeeEventBc(data: Buffer): CollectCreatorFeeEventBc; decodeCollectCoinCreatorFeeEventAmm(data: Buffer): CollectCoinCreatorFeeEventAmm; /** * Decodes a pump-amm `CreatePoolEvent` emitted under any layout. The * vendored IDL ends the event with `creator_fee_bps: u64`, * `can_edit_creator_fee: bool` (configurable creator fees) and * `is_holder_reward: bool` (holder-reward coins); the program deployed * before the last emits it one byte shorter, the one before the other two * ten bytes shorter. The borsh coder rejects either with a RangeError, so * the event is retried with the missing fields' defaults appended * (`creatorFeeBps` zero, `canEditCreatorFee` / `isHolderReward` false). An * event shorter than the oldest layout still throws. */ decodeCreatePoolEventAmm(data: Buffer): CreatePoolEventAmm; decodeDepositEventAmm(data: Buffer): DepositEventAmm; decodeWithdrawEventAmm(data: Buffer): WithdrawEventAmm; /** * Decodes a pump-amm `BuyEvent` emitted under either layout: the vendored * IDL ends it with `holder_rewards_bps` / `holder_rewards` (holder-reward * coins); an event from the program deployed before them decodes with both * zero. */ decodeBuyEventAmm(data: Buffer): BuyEventAmm; /** Like `decodeBuyEventAmm`, for `SellEvent`. */ decodeSellEventAmm(data: Buffer): SellEventAmm; decodeAdminCtoPoolEventAmm(data: Buffer): AdminCtoPoolEventAmm; /** * Decodes a bonding-curve `CreateEvent` emitted under any deployment's * layout. The vendored IDL ends the event with `creator_fee_bps: u64` * (configurable creator fees) then `is_holder_reward: bool` (holder-reward * coins). A program without the last field emits the event one byte * shorter, one without both nine bytes shorter; the borsh coder rejects * either with a RangeError, so the event is retried with the missing * fields' encodings appended, shortest padding first. A missing field * decodes as its default: `creatorFeeBps` zero, `isHolderReward` false. An * event truncated inside a field still throws. */ decodeCreateEventBc(data: Buffer): CreateEventBc; /** * Decodes a bonding-curve `TradeEvent` emitted under either layout: the * vendored IDL ends it with `holder_rewards_bps` / `holder_rewards` * (holder-reward coins); an event from the program deployed before them * decodes with both zero. */ decodeTradeEventBc(data: Buffer): TradeEventBc; decodeCompleteEventBc(data: Buffer): CompleteEventBc; decodeAdminCtoEvent(data: Buffer): AdminCtoEvent; decodeDistributeFeeToHoldersEvent(data: Buffer): DistributeFeeToHoldersEvent; decodeSetQuoteControlAdminEvent(data: Buffer): SetQuoteControlAdminEvent; decodeAddQuoteControlMintEvent(data: Buffer): AddQuoteControlMintEvent; decodeRemoveQuoteControlMintEvent(data: Buffer): RemoveQuoteControlMintEvent; decodeUpdateCreatorFeeConfigEvent(data: Buffer): UpdateCreatorFeeConfigEvent; decodeClaimCashbackEventBc(data: Buffer): ClaimCashbackEvent; decodeClaimCashbackEventAmm(data: Buffer): ClaimCashbackEvent; decodeDonationFeePda(accountInfo: AccountInfo): DonationFeePda; /** * @deprecated Use `createV2Instruction` instead. */ createInstruction({ mint, name, symbol, uri, creator, user, }: { mint: PublicKey; name: string; symbol: string; uri: string; creator: PublicKey; user: PublicKey; }): Promise; /** * Builds `create_v2`. Without `quoteMint` (or with legacy WSOL / the zero * key) the curve is quoted in SOL and the instruction is unchanged from * earlier SDK versions. Any other `quoteMint` must be whitelisted on * `Global` or listed in the `QuoteControl` PDA * (`OnlinePumpSdk.fetchSupportedQuoteMints`) and is selected by four * positional remaining accounts: [0] the quote mint (read-only), [1] the * bonding curve's quote ATA derived under `quoteTokenProgram` (writable; the * program creates it), [2] `quoteTokenProgram` (read-only), [3] the * `QuoteControl` PDA (`QUOTE_CONTROL_PDA`, read-only). The PDA is always * sent: the program reads it only for a mint `Global` does not whitelist, * and the program deployed before quote control ignores a fourth account. * * A mint admitted only through quote control cannot be combined with * `mayhemMode` (6071 `MayhemModeQuoteMintNotAllowed`). Token-quoted creates * are heavy (a mayhem create with a token quote ~200-240k CU, the first * `buy_v2` on a Token-2022 quote ~200-220k), so add an explicit * `ComputeBudgetProgram.setComputeUnitLimit`: ~500k for create + buy with a * token quote, ~250-300k for a standalone `buy_v2` / `sell_v2` on a * Token-2022 quote. * * @param params.quoteTokenProgram - The program that owns `quoteMint` * (`TOKEN_PROGRAM_ID` or `TOKEN_2022_PROGRAM_ID`); the program rejects a * mismatch with 6063 `UnsupportedQuoteMint`. Defaults to * `TOKEN_PROGRAM_ID`, which is right for USDC; resolve it with * `OnlinePumpSdk.fetchQuoteTokenProgram` for anything else. Ignored for * SOL. * @param params.creatorFeeBps - The coin's own creator fee rate in basis * points (see `BondingCurve.creatorFeeBps`). Omitted or zero means the * pump-fees schedule rate. Always encoded as the 8-byte `creator_fee_bps` * argument, zero when unset. A nonzero rate needs * `Global.creatorFeeConfigurable` and * `1..=Global.maxConfigurableCreatorFeeBps` (6077 / 6078), and only a * quote admitted through `QuoteControl` stores it (on SOL or USDC it is * ignored); this builder encodes what it is given and leaves the program * to judge. Quote the first buy with the same rate * (`getBuyTokenAmountFromSolAmount`'s `creatorFeeBps`). The rate changes * afterwards only through a CTO (`adminCtoInstruction`). * @param params.holderReward - Creates a holder-reward coin: the program * ignores `creator` and makes the coin's `holderRewardsPda(mint)` the * creator, so every creator fee accrues to that PDA's vault and is paid * out to holders through `distribute_fee_to_holders`. Permanent. Always * encoded as the trailing 1-byte `is_holder_reward` argument, `false` * when unset: the program deployed before holder-reward coins ignores * trailing instruction bytes, the new one reads them. Needs * `Global.isHolderRewardEnabled` (6084). The first buy's creator vault * must then be the PDA's: the create-and-buy builders handle it. * @param params.cashback - Deprecated. `create_v2` rejects `true` with 6082 * `CashbackDeprecated`; existing cashback coins are unaffected. Still * encoded as given so the instruction bytes stay predictable. */ createV2Instruction({ mint, name, symbol, uri, creator, user, mayhemMode, cashback, quoteMint, quoteTokenProgram, creatorFeeBps, holderReward, }: { mint: PublicKey; name: string; symbol: string; uri: string; creator: PublicKey; user: PublicKey; mayhemMode: boolean; /** @deprecated cashback coins can no longer be created (6082). */ cashback?: boolean; quoteMint?: PublicKey; quoteTokenProgram?: PublicKey; creatorFeeBps?: BN; holderReward?: boolean; }): Promise; buyInstructions({ global, bondingCurveAccountInfo, bondingCurve, associatedUserAccountInfo, mint, user, amount, solAmount, slippage, tokenProgram, }: { global: Global; bondingCurveAccountInfo: AccountInfo; bondingCurve: BondingCurve; associatedUserAccountInfo: AccountInfo | null; mint: PublicKey; user: PublicKey; amount: BN; solAmount: BN; slippage: number; tokenProgram: PublicKey; }): Promise; /** * `create_v2` + the user's base ATA + a first legacy `buy`, SOL-quoted. * * @param params.creatorFeeBps - Forwarded to `createV2Instruction`. Unlike * that builder this one holds `global`, so a nonzero rate the program * would reject throws up front: `CreatorFeeNotConfigurableError` (gate * off), `CreatorFeeBpsOutOfRangeError` (outside * `1..=global.maxConfigurableCreatorFeeBps`). Quote `amount` with the same * rate (`getBuyTokenAmountFromSolAmount`'s `creatorFeeBps`), or the buy's * `solAmount` falls short of the fees the program charges. * @param params.holderReward - Forwarded to `createV2Instruction`; the buy * then targets the holder-rewards PDA's creator vault, as the program * does. Throws `HolderRewardDisabledError` while * `global.isHolderRewardEnabled` is off. * @param params.cashback - Deprecated: throws `CashbackDeprecatedError` * when `true`, as `create_v2` would fail with 6082. */ createV2AndBuyInstructions({ global, mint, name, symbol, uri, creator, user, amount, solAmount, mayhemMode, cashback, isTokenizedAgent, buyBackBps, creatorFeeBps, holderReward, }: { global: Global; mint: PublicKey; name: string; symbol: string; uri: string; creator: PublicKey; user: PublicKey; amount: BN; solAmount: BN; mayhemMode: boolean; /** @deprecated cashback coins can no longer be created (6082). */ cashback?: boolean; isTokenizedAgent?: boolean; buyBackBps?: number; creatorFeeBps?: BN; holderReward?: boolean; }): Promise; /** * @deprecated Use `createV2AndBuyInstructions` instead. */ createAndBuyInstructions({ global, mint, name, symbol, uri, creator, user, amount, solAmount, isTokenizedAgent, buyBackBps, }: { global: Global; mint: PublicKey; name: string; symbol: string; uri: string; creator: PublicKey; user: PublicKey; amount: BN; solAmount: BN; isTokenizedAgent?: boolean; buyBackBps?: number; }): Promise; private buyInstruction; sellInstructions({ global, bondingCurveAccountInfo, bondingCurve, mint, user, amount, solAmount, slippage, tokenProgram, mayhemMode, cashback, }: { global: Global; bondingCurveAccountInfo: AccountInfo; bondingCurve: BondingCurve; mint: PublicKey; user: PublicKey; amount: BN; solAmount: BN; slippage: number; tokenProgram: PublicKey; mayhemMode: boolean; cashback?: boolean; }): Promise; extendAccountInstruction({ account, user, }: { account: PublicKey; user: PublicKey; }): Promise; migrateInstruction({ withdrawAuthority, mint, user, tokenProgram, }: { withdrawAuthority: PublicKey; mint: PublicKey; user: PublicKey; tokenProgram: PublicKey; }): Promise; /** * @param params.quoteMint - The curve's quote mint; `bondingCurve.quoteMint` * can be passed as is. `migrate_v2` accepts the mint the curve stores or, * for a SOL curve (which stores the zero key), legacy WSOL, and the pool * and every quote ATA are derived from WSOL in that case, so the zero key * and `undefined` are normalized to `NATIVE_MINT`. * @param params.quoteTokenProgram - The program that owns `quoteMint`; all * quote-side ATAs are derived with it. Defaults to `TOKEN_PROGRAM_ID` * (SOL, USDC); pass `TOKEN_2022_PROGRAM_ID` for a Token-2022 quote. */ migrateV2Instruction({ withdrawAuthority, mint, user, quoteMint: quoteMintOrDefault, baseTokenProgram, quoteTokenProgram, }: { withdrawAuthority: PublicKey; mint: PublicKey; user: PublicKey; quoteMint?: PublicKey; baseTokenProgram: PublicKey; quoteTokenProgram: PublicKey; }): Promise; syncUserVolumeAccumulator(user: PublicKey): Promise; setCreator({ mint, setCreatorAuthority, creator, }: { mint: PublicKey; setCreatorAuthority: PublicKey; creator: PublicKey; }): Promise; initUserVolumeAccumulator({ payer, user, }: { payer: PublicKey; user: PublicKey; }): Promise; closeUserVolumeAccumulator(user: PublicKey): Promise; /** * `initialize_quote_control`: creates the `QuoteControl` PDA * (`QUOTE_CONTROL_PDA`) with no admin and an empty mint list. Permissionless * and once only (a second call fails in the system program, so nobody can * reset the list); `user` signs and pays the rent for the initial 2108 * bytes. Only `Global.authority` can then assign an admin via * `setQuoteControlAdminInstruction`. */ initializeQuoteControlInstruction({ user, }: { user: PublicKey; }): Promise; /** * `set_quote_control_admin`: `authority` must sign and be `Global.authority`. * The zero key revokes the admin, after which only `Global.authority` can * change the list. */ setQuoteControlAdminInstruction({ authority, newAdmin, }: { authority: PublicKey; newAdmin: PublicKey; }): Promise; /** * `add_quote_control_mint`: lists `quoteMint` as a `create_v2` quote, with * the `virtualQuoteReserves` a new curve quoted in it starts from (stored as * given, in the mint's base units). `authority` signs and must be * `QuoteControl.admin` or `Global.authority`; it pays the rent top-up when * the list grows past the 50 pre-allocated entries. The program rejects the * zero key, WSOL and the Token-2022 native mint (6069), a mint already * listed (6067; change its reserves with remove + add) and a full list of * 256 (6066). A mint `Global` whitelists may be listed too but keeps * `Global.initialVirtualQuoteReserves`. */ addQuoteControlMintInstruction({ authority, quoteMint, initialVirtualQuoteReserves, }: { authority: PublicKey; quoteMint: PublicKey; initialVirtualQuoteReserves: BN; }): Promise; /** * `remove_quote_control_mint`: de-lists `quoteMint` (6068 when it is not * listed). Same signer rule as `addQuoteControlMintInstruction`. Existing * curves quoted in the mint keep trading; only new `create_v2` calls are * refused. */ removeQuoteControlMintInstruction({ authority, quoteMint, }: { authority: PublicKey; quoteMint: PublicKey; }): Promise; /** * `update_creator_fee_config`: turns per-coin creator fees on or off and * sets the ceiling a coin may configure (`Global.creatorFeeConfigurable`, * `Global.maxConfigurableCreatorFeeBps`). `authority` signs and must be * `Global.authority`. The program puts no bound on the ceiling: a rate that * pushes protocol + creator fees past 100% makes a coin buy-only. With the * gate off, configured rates are neither read nor accepted (kill switch). * Fails on the live 1045-byte `Global` until `extend_account` grows it to * `GLOBAL_SIZE`. */ updateCreatorFeeConfigInstruction({ authority, creatorFeeConfigurable, maxConfigurableCreatorFeeBps, }: { authority: PublicKey; creatorFeeConfigurable: boolean; maxConfigurableCreatorFeeBps: BN; }): Promise; /** * `update_holder_reward_config`: turns holder-reward coin creation (and CTO * holder conversion) on or off and names the one signer * `distribute_fee_to_holders` accepts (`Global.isHolderRewardEnabled`, * `Global.holderRewardClaimAuthority`). `authority` signs and must be * `Global.authority`. Fails on a `Global` shorter than `GLOBAL_SIZE` until * `extend_account` grows it. */ updateHolderRewardConfigInstruction({ authority, isHolderRewardEnabled, holderRewardClaimAuthority, }: { authority: PublicKey; isHolderRewardEnabled: boolean; holderRewardClaimAuthority: PublicKey; }): Promise; /** * `admin_cto`, the one community-takeover instruction: re-points where a * coin's creator fees go on the bonding curve, its canonical pump-amm pool * (through `admin_cto_pool`, when one exists) and its pump-fees * `SharingConfig` (through `admin_cto_sharing_config`, when the coin is * fee-shared), in one transaction. `adminSetCreatorAuthority` signs, must * be `Global.adminSetCreatorAuthority`, and pays the rent that grows a * pre-upgrade curve or pool and any ATA created. Budget * `ADMIN_CTO_COMPUTE_UNIT_LIMIT` compute units. * * Two paths, chosen by the arguments (the program rejects the rest): * - **new creator**: `newCreator` set, `isHolderReward` unset or `false`. * The outgoing wallet creator is first paid from both vaults; a * fee-shared coin keeps its SharingConfig as creator and the config is * rewritten to `newCreator` at 100%. * - **holder rewards**: `isHolderReward: true`, no `newCreator`. The * creator becomes `holderRewardsPda(mint)`, cashback is cleared, a * fee-shared coin's vaults are swept into that PDA's creator vault and * its SharingConfig is terminated. Permanent: a later CTO on the coin may * only repeat this path to change the rate (6083 otherwise). Needs * `Global.isHolderRewardEnabled` (6084). * * `creatorFeeBps` may be set on either path, only on a quote admitted * through `QuoteControl` (6091 on SOL or a whitelisted quote), within * `1..=Global.maxConfigurableCreatorFeeBps` with the gate on (6078 / 6077), * and not on a coin that stays cashback (6080). Mayhem coins are refused * (6088). This builder encodes what it is given; * `OnlinePumpSdk.adminCtoInstructions` resolves the accounts from chain and * checks these rules up front. * * @param params.currentCreator - `bondingCurve.creator` as stored (the zero * key on a legacy curve, the SharingConfig PDA on a fee-shared coin, the * holder-rewards PDA on a holder-reward coin). Marked writable unless it * is the zero key, so a wallet creator can be paid (6092 otherwise). * @param params.quoteMint - The curve's quote mint, `NATIVE_MINT` for a * SOL-quoted or legacy curve (the program accepts WSOL for a curve that * stores the zero key). Every quote ATA and the pool address derive from * it and `quoteTokenProgram`, the program that owns the mint. */ adminCtoInstruction({ adminSetCreatorAuthority, mint, currentCreator, quoteMint, quoteTokenProgram, isHolderReward, creatorFeeBps, newCreator, }: { adminSetCreatorAuthority: PublicKey; mint: PublicKey; currentCreator: PublicKey; quoteMint: PublicKey; quoteTokenProgram?: PublicKey; isHolderReward?: boolean; creatorFeeBps?: BN; newCreator?: PublicKey; }): Promise; /** * `distribute_fee_to_holders`: pays the fees collected on a holder-reward * coin's `holderRewardsPda(mint)` out to holders. Signed by * `Global.holderRewardClaimAuthority`, who also pays the rent of any * recipient quote ATA created (token quotes only). `recipients[i].amount` * goes to `recipients[i].owner`: as lamports on a SOL quote, as tokens into * the owner's quote ATA (created if missing) on a token quote. The program * checks `amounts.length * 2 == remaining accounts` and each ATA (6085), * refuses to leave the PDA between zero and its rent-exempt minimum on a * SOL quote (6086; draining it fully is fine) and needs * `holderRewardsTokenAccount` on a token quote (6087). * * The fees reach the PDA through the permissionless collects with the PDA * as `creator`: `collect_creator_fee` / `collect_creator_fee_v2` on the * curve and, after graduation, pump-amm's `collect_coin_creator_fee` or * `transfer_creator_fees_to_pump`. * * @param params.holderRewardsTokenAccount - Any quote token account owned * by the PDA, normally `quoteAta(holderRewardsPda(mint), quoteMint, * quoteTokenProgram)`. The payout source on a token quote; on a SOL quote * a parked WSOL account that is closed into the PDA first. Omit when * there is none (SOL quote only). */ distributeFeeToHoldersInstruction({ holderRewardClaimAuthority, mint, quoteMint, quoteTokenProgram, recipients, holderRewardsTokenAccount, }: { holderRewardClaimAuthority: PublicKey; mint: PublicKey; quoteMint: PublicKey; quoteTokenProgram?: PublicKey; recipients: readonly { owner: PublicKey; amount: BN; }[]; holderRewardsTokenAccount?: PublicKey; }): Promise; /** * pump-fees `set_exotic_flat_fees` on the pump `FeeConfig` * (`PUMP_FEE_CONFIG_PDA`): the flat schedule canonical curves and pools pay * when quoted in a mint that is neither SOL-like nor a listed stable (see * `selectCurveFeeSchedule`). `admin` signs, must be `FeeConfig.admin`, and * pays the rent top-up when the account still has the pre-exotic length. * All-zero fees mean unset: the program then charges `flatFees`. */ setExoticFlatFeesInstruction({ admin, exoticFlatFees, }: { admin: PublicKey; exoticFlatFees: Fees; }): Promise; getBuyInstructionRaw({ user, mint, creator, amount, solAmount, feeRecipient, tokenProgram, buybackFeeRecipient, }: { user: PublicKey; mint: PublicKey; creator: PublicKey; amount: BN; solAmount: BN; feeRecipient: PublicKey; tokenProgram?: PublicKey; buybackFeeRecipient: PublicKey; }): Promise; private getBuyInstructionInternal; getSellInstructionRaw({ user, mint, creator, amount, solAmount, feeRecipient, buybackFeeRecipient, tokenProgram, cashback, }: { user: PublicKey; mint: PublicKey; creator: PublicKey; amount: BN; solAmount: BN; feeRecipient: PublicKey; buybackFeeRecipient: PublicKey; tokenProgram: PublicKey; cashback?: boolean; }): Promise; private getSellInstructionInternal; buyV2Instructions({ global, bondingCurveAccountInfo, bondingCurve, associatedUserAccountInfo, mint, user, amount, quoteAmount, slippage, tokenProgram, quoteTokenProgram, }: { global: Global; bondingCurveAccountInfo: AccountInfo; bondingCurve: BondingCurve; associatedUserAccountInfo: AccountInfo | null; mint: PublicKey; user: PublicKey; amount: BN; quoteAmount: BN; slippage: number; tokenProgram?: PublicKey; quoteTokenProgram?: PublicKey; }): Promise; /** * `create_v2` + the user's base ATA + a first `buy_v2`, all agreeing on the * quote. See `createV2Instruction` for the quote rules and the compute * budget to add (~500k CU for a token quote). * * @param params.quoteTokenProgram - The program that owns `quoteMint`; used * by both the create and the buy. Defaults to `TOKEN_PROGRAM_ID` (SOL, * USDC); `OnlinePumpSdk.fetchQuoteTokenProgram` resolves it. * @param params.creatorFeeBps - Forwarded to `createV2Instruction`. Unlike * that builder this one holds `global`, so a nonzero rate the program * would reject throws up front: `CreatorFeeNotConfigurableError` (gate * off), `CreatorFeeBpsOutOfRangeError` (outside * `1..=global.maxConfigurableCreatorFeeBps`). Quote `amount` with the same * rate (`getBuyTokenAmountFromSolAmount`'s `creatorFeeBps`), or the buy's * `quoteAmount` falls short of the fees the program charges. * @param params.holderReward - Forwarded to `createV2Instruction`; the buy * then targets the holder-rewards PDA's creator vault, as the program * does. Throws `HolderRewardDisabledError` while * `global.isHolderRewardEnabled` is off. * @param params.cashback - Deprecated: throws `CashbackDeprecatedError` * when `true`, as `create_v2` would fail with 6082. */ createV2AndBuyV2Instructions({ global, mint, name, symbol, uri, creator, user, amount, quoteAmount, mayhemMode, cashback, quoteMint, quoteTokenProgram, creatorFeeBps, holderReward, }: { global: Global; mint: PublicKey; name: string; symbol: string; uri: string; creator: PublicKey; user: PublicKey; amount: BN; quoteAmount: BN; mayhemMode: boolean; /** @deprecated cashback coins can no longer be created (6082). */ cashback?: boolean; quoteMint?: PublicKey; quoteTokenProgram?: PublicKey; creatorFeeBps?: BN; holderReward?: boolean; }): Promise; private buyV2Instruction; sellV2Instructions({ global, bondingCurveAccountInfo, bondingCurve, mint, user, amount, quoteAmount, slippage, tokenProgram, quoteTokenProgram, }: { global: Global; bondingCurveAccountInfo: AccountInfo; bondingCurve: BondingCurve; mint: PublicKey; user: PublicKey; amount: BN; quoteAmount: BN; slippage: number; tokenProgram?: PublicKey; quoteTokenProgram?: PublicKey; }): Promise; getBuyV2InstructionRaw({ user, mint, creator, amount, quoteAmount, feeRecipient, buybackFeeRecipient, tokenProgram, quoteMint, quoteTokenProgram, }: { user: PublicKey; mint: PublicKey; creator: PublicKey; amount: BN; quoteAmount: BN; feeRecipient?: PublicKey; buybackFeeRecipient?: PublicKey; tokenProgram?: PublicKey; quoteMint?: PublicKey; quoteTokenProgram?: PublicKey; }): Promise; private getBuyV2InstructionInternal; getSellV2InstructionRaw({ user, mint, creator, amount, quoteAmount, feeRecipient, buybackFeeRecipient, tokenProgram, quoteMint, quoteTokenProgram, }: { user: PublicKey; mint: PublicKey; creator: PublicKey; amount: BN; quoteAmount: BN; feeRecipient?: PublicKey; buybackFeeRecipient?: PublicKey; tokenProgram?: PublicKey; quoteMint?: PublicKey; quoteTokenProgram?: PublicKey; }): Promise; private getSellV2InstructionInternal; /** * Creates a fee sharing configuration for a token. * * @param params - Parameters for creating a fee sharing configuration * @param params.creator - The creator of the token * @param params.mint - The mint address of the token * @param params.pool - The pool address of the token (null for ungraduated coins) */ createFeeSharingConfig({ creator, mint, pool, }: { creator: PublicKey; mint: PublicKey; pool: PublicKey | null; }): Promise; /** * Updates the fee shares for a token's creator fee distribution. * * @param params - Parameters for updating fee shares * @param params.authority - The current authority that can modify the fee sharing config * @param params.mint - The mint address of the token * @param params.currentShareholders - Array of current shareholders * @param params.newShareholders - Array of new shareholders and their share percentages * @requirements for newShareholders: * - Must contain at least 1 shareholder (cannot be empty) * - Maximum of 10 shareholders allowed * - Each shareholder must have a positive share (shareBps > 0) * - Total shares must equal exactly 10,000 basis points (100%) * - No duplicate addresses allowed * - shareBps is in basis points where 1 bps = 0.01% (e.g., 1500 = 15%) * @throws {NoShareholdersError} If shareholders array is empty * @throws {TooManyShareholdersError} If more than 10 shareholders * @throws {ZeroShareError} If any shareholder has zero or negative shares * @throws {InvalidShareTotalError} If total shares don't equal 10,000 basis points * @throws {DuplicateShareholderError} If duplicate addresses are found * @example * ```typescript * const instruction = await PUMP_SDK.updateFeeShares({ * authority: authorityPublicKey, * mint: mintPublicKey, * curShareholders: [wallet1, wallet2, wallet3], * newShareholders: [ * { address: wallet1, shareBps: 5000 }, // 50% * { address: wallet2, shareBps: 3000 }, // 30% * { address: wallet3, shareBps: 2000 }, // 20% * ] * }); * ``` */ updateFeeShares({ authority, mint, currentShareholders, newShareholders, }: { authority: PublicKey; mint: PublicKey; currentShareholders: PublicKey[]; newShareholders: Shareholder[]; }): Promise; /** * Updates the fee shares for a token's creator fee distribution, for a coin * quoted in any mint. `updateFeeShares` (v1) only handles SOL-quoted coins; * a non-SOL coin must use this instruction so the pending fees it pays out * first move through the right quote ATAs. * * @param params - Parameters for updating fee shares * @param params.authority - The current authority that can modify the fee sharing config * @param params.mint - The mint address of the token * @param params.currentShareholders - Array of current shareholders * @param params.newShareholders - Array of new shareholders and their share percentages * @param params.quoteMint - The coin's quote mint (`NATIVE_MINT` for SOL * coins) * @param params.quoteTokenProgram - The program that owns `quoteMint`; every * quote ATA (the vault's and each shareholder's) is derived with it. The * `TOKEN_PROGRAM_ID` default is only right for SOL and USDC; pass the * mint's owner (`OnlinePumpSdk.fetchQuoteTokenProgram`) for anything else. * @requirements for newShareholders: * - Must contain at least 1 shareholder (cannot be empty) * - Maximum of 10 shareholders allowed * - Each shareholder must have a positive share (shareBps > 0) * - Total shares must equal exactly 10,000 basis points (100%) * - No duplicate addresses allowed * - shareBps is in basis points where 1 bps = 0.01% (e.g., 1500 = 15%) * @throws {NoShareholdersError} If shareholders array is empty * @throws {TooManyShareholdersError} If more than 10 shareholders * @throws {ZeroShareError} If any shareholder has zero or negative shares * @throws {InvalidShareTotalError} If total shares don't equal 10,000 basis points * @throws {DuplicateShareholderError} If duplicate addresses are found */ updateFeeSharesV2({ authority, mint, currentShareholders, newShareholders, quoteMint, quoteTokenProgram, }: { authority: PublicKey; mint: PublicKey; currentShareholders: PublicKey[]; newShareholders: Shareholder[]; quoteMint: PublicKey; quoteTokenProgram: PublicKey; }): Promise; /** * Sweeps coin creator fees that have accrued on the Pump AMM into the * bonding curve creator vault, so they can later be paid out via * `distributeCreatorFeesV2`. Permissionless. * * For wrapped-SOL quotes the instruction closes & recreates the AMM coin * creator vault ATA and forwards the unwrapped lamports to `pump_creator_vault`. * For non-native quotes it does a token transfer between ATAs and creates * the destination `pump_creator_vault_ata` on the fly if it does not exist * (rent paid by `payer`). * * Assumes the coin has been opted into fee sharing (i.e. `coin_creator` on * the AMM pool is the `sharing_config` PDA for `mint`). * * @param params - Parameters for the transfer * @param params.payer - Transaction signer. Pays the rent for `pump_creator_vault_ata` when it has to be initialized (non-WSOL quotes only). * @param params.mint - The mint address of the token. Used to derive the sharing_config PDA, which is the coin creator post-migration. * @param params.quoteMint - The quote mint of the coin (use `NATIVE_MINT` for SOL-paired coins). * @param params.quoteTokenProgram - The program that owns `quoteMint`; both * vault ATAs are derived with it. The `TOKEN_PROGRAM_ID` default is only * right for SOL and USDC; pass the mint's owner * (`OnlinePumpSdk.fetchQuoteTokenProgram`) for a Token-2022 quote. */ transferCreatorFeesToPumpV2({ payer, mint, quoteMint, quoteTokenProgram, }: { payer: PublicKey; mint: PublicKey; quoteMint: PublicKey; quoteTokenProgram: PublicKey; }): Promise; decodeDistributeCreatorFeesEvent(data: Buffer): DistributeCreatorFeesEvent; distributeCreatorFees({ mint, sharingConfig, sharingConfigAddress, }: { mint: PublicKey; sharingConfig: SharingConfig; sharingConfigAddress: PublicKey; }): Promise; /** * Distributes a coin's accrued creator fees to its sharing-config * shareholders, for a coin quoted in any mint (`distributeCreatorFees` is * SOL-only). For a non-SOL quote the program pays each shareholder's ATA * and, with `shouldInitializeAta`, creates missing ones at `payer`'s cost. * * @param params.quoteMint - The coin's quote mint (`NATIVE_MINT` for SOL * coins). * @param params.quoteTokenProgram - The program that owns `quoteMint`; the * vault's and every shareholder's quote ATA is derived with it. The * `TOKEN_PROGRAM_ID` default is only right for SOL and USDC; pass the * mint's owner (`OnlinePumpSdk.fetchQuoteTokenProgram`) for anything else. */ distributeCreatorFeesV2({ mint, sharingConfig, sharingConfigAddress, quoteMint, payer, shouldInitializeAta, quoteTokenProgram, }: { mint: PublicKey; sharingConfig: SharingConfig; sharingConfigAddress: PublicKey; quoteMint: PublicKey; payer: PublicKey; shouldInitializeAta: boolean; quoteTokenProgram: PublicKey; }): Promise; decodeMinimumDistributableFee(data: Buffer): MinimumDistributableFeeEvent; getMinimumDistributableFee({ mint, sharingConfig, sharingConfigAddress, }: { mint: PublicKey; sharingConfig: SharingConfig; sharingConfigAddress: PublicKey; }): Promise; /** * Creates a `DonationFeePda` for a `(mint, configId)` pair under the * pump-fees program. This PDA is the on-chain fee destination used when * routing a slice of creator fees to a donate.gg config; once created, you * can pass `donationFeePda(mint)` as a shareholder address in a * subsequent `updateFeeShares` call. * * The instruction is idempotent. * * @param params - Parameters for creating the donation fee PDA * @param params.coinCreator - The coin creator wallet; signs and pays rent * for the new PDA. This is either the bonding curve's `creator` * or the canonical pump-amm pool's `coin_creator` * or the sharing_config.admin. * @param params.mint - Base mint of the coin whose creator fees are routed. * @param params.configId - The donate.gg config id this PDA escrows for. * @param params.quoteMint - The quote mint of the coin. You can pass * `bondingCurve.quoteMint` directly: it is normalized via * `normalizeQuoteMint`, so `PublicKey.default` (stored by legacy SOL * coins) and `undefined` both resolve to `NATIVE_MINT`. Required for * graduated non-SOL-quote coins: the canonical pool PDA is seeded by * quote mint, so passing the wrong quote derives a nonexistent pool and * the program rejects with `InvalidPool`. Ignored by the program for * ungraduated coins. */ createDonationFeePda({ coinCreator, mint, configId, quoteMint, }: { coinCreator: PublicKey; mint: PublicKey; configId: PublicKey; quoteMint?: PublicKey; }): Promise; /** * Cranks a previously-created `DonationFeePda`, forwarding its full * `donationFeePdaAta` balance into the donation relay program's debouncer * for the relayer to settle later. * * The instruction is **permissionless** — anyone can call it, paying the * tx fee (and rent for the WSOL ATA on first crank). The pump-fees handler * also wraps any bare lamports sitting on the `DonationFeePda` into its * WSOL ATA before forwarding (native quote path), so the only state needed * to crank is the `(mint, configId)` pair (the `configId` is read back from * the PDA by the relay CPI, but the caller still needs it to derive the * relay-side epoch_tracker / debouncer PDAs). * * Quote mint defaults to wrapped SOL (`NATIVE_MINT`). If/when other quote * mints are supported, override `quoteMint` to match the value stored on * the on-chain `DonationFeePda.quote_mint` (the program enforces equality * and will error otherwise). * * @param params - Parameters for cranking the donation fee PDA * @param params.payer - Wallet that signs and pays for `init_if_needed` ATAs. * @param params.mint - Base mint of the coin (the one whose creator fees * feed the PDA — matches `DonationFeePda.base_mint`). * @param params.configId - The 32-byte donate.gg config id bound to the * PDA; used to derive the relay's epoch tracker and debouncer PDAs. * @param params.donationRelayProgramId - Program id of the Donation Relay * program for the target cluster (e.g. `DONATION_RELAY_PROGRAM_ID_MAINNET` * or `DONATION_RELAY_PROGRAM_ID_DEVNET`). * @param params.quoteMint - Quote mint that the relay debounces in. Defaults * to `NATIVE_MINT` (WSOL). Must equal `DonationFeePda.quote_mint`. */ crankDonationFeePda({ payer, mint, configId, donationRelayProgramId, quoteMint, }: { payer: PublicKey; mint: PublicKey; configId: PublicKey; donationRelayProgramId: PublicKey; quoteMint?: PublicKey; }): Promise; /** * Creates a social fee PDA that can accumulate fees for a social media user. * * @param params - Parameters for creating the social fee PDA * @param params.payer - The account paying for the transaction * @param params.userId - The user ID string (max 20 characters, typically the numeric social media user ID) * @param params.platform - Platform identifier (0=pump, 1=X, etc.) */ createSocialFeePda({ payer, userId, platform, }: { payer: PublicKey; userId: string; platform: number; }): Promise; claimSocialFeePda({ recipient, socialClaimAuthority, userId, platform, }: { recipient: PublicKey; socialClaimAuthority: PublicKey; userId: string; platform: number; }): Promise; claimCashbackInstruction({ user, }: { user: PublicKey; }): Promise; /** * `claim_cashback_v2`: pays out the cashback a user accrued in `quoteMint` * from their volume accumulator's quote ATA to their own quote ATA. * * @param params.quoteMint - The quote the cashback accrued in; defaults to * `NATIVE_MINT` (SOL). * @param params.quoteTokenProgram - The program that owns `quoteMint`; both * ATAs are derived with it. The `TOKEN_PROGRAM_ID` default is only right * for SOL and USDC; pass the mint's owner * (`OnlinePumpSdk.fetchQuoteTokenProgram`) for a Token-2022 quote. */ claimCashbackV2Instruction({ user, quoteMint, quoteTokenProgram, }: { user: PublicKey; quoteMint?: PublicKey; quoteTokenProgram?: PublicKey; }): Promise; } declare const PUMP_SDK: PumpSdk; /** * Checks if a creator has migrated to using a fee sharing configuration. * * When a creator sets up fee sharing, the creator address in the BondingCurve or Pool * is replaced with the fee sharing config PDA address. This function checks if that * migration has occurred. * * @param params - Parameters for checking migration status * @param params.mint - The mint address of the token * @param params.creator - The creator address to check * - For ungraduated coins: use BondingCurve.creator * - For graduated coins: use Pool.coinCreator (from AMM pool) * @returns true if the creator has migrated to fee sharing config, false otherwise * @example * ```typescript * import { hasCoinCreatorMigratedToSharingConfig } from "@pump-fun/sdk"; * * // For an ungraduated coin. OnlinePumpSdk reads the curve through * // PumpSdk.decodeBondingCurve, which accepts every live curve length; * // Anchor's `program.account.bondingCurve.fetch` throws on the 115-byte * // curves under the current IDL. * const bondingCurve = await onlineSdk.fetchBondingCurve(mint); * const hasMigrated = hasCoinCreatorMigratedToSharingConfig({ * mint, * creator: bondingCurve.creator * }); * * // For a graduated coin, with `pool` decoded by pump-swap-sdk's padded * // `Pool` reader (`ammProgram.account.pool.fetch` likewise throws on the * // 261-byte live pools). * const hasMigrated = hasCoinCreatorMigratedToSharingConfig({ * mint, * creator: pool.coinCreator * }); * * if (hasMigrated) { * // Creator fees are distributed according to fee sharing config * } else { * // Creator fees go directly to the creator address * } * ``` */ declare function hasCoinCreatorMigratedToSharingConfig({ mint, creator, }: { mint: PublicKey; creator: PublicKey; }): boolean; /** * Checks whether a sharing config reward split is editable. * * Reward split is NOT editable when: * - sharing config version is 1 * - sharing config version is 2 but the admin authority has been revoked * * @param params - Parameters for editability check * @param params.sharingConfig - Sharing config account state * @returns true if reward split can be edited, false otherwise */ declare function isSharingConfigEditable({ sharingConfig, }: { sharingConfig: SharingConfig; }): boolean; declare class OnlinePumpSdk { private readonly connection; private readonly pumpProgram; private readonly offlinePumpProgram; private readonly pumpAmmProgram; private readonly pumpAmmSdk; private readonly pumpAmmAdminSdk; constructor(connection: Connection); /** * The pump `Global` account, decoded by `PumpSdk.decodeGlobal` so the live * account still decodes while it is shorter than `GLOBAL_SIZE` (before * `extend_account` adds the newest fields). */ fetchGlobal(): Promise; fetchFeeConfig(): Promise; /** * The pump `QuoteControl` PDA, or `null` while it is uninitialized (the * program treats a missing account as an empty mint list). Only a missing * account yields `null`: an account at the PDA that does not decode as a * `QuoteControl` throws (Anchor `fetchNullable`), unlike * `PumpSdk.decodeQuoteControlNullable`, which maps decode failures to * `null`. */ fetchQuoteControl(): Promise; /** * The program that owns `quoteMint`, which every quote-side ATA and every * `quoteTokenProgram` parameter in this SDK must use. WSOL and the zero key * resolve to `TOKEN_PROGRAM_ID` without an RPC call; any other mint is * fetched and must be owned by SPL Token or Token-2022 (a missing account or * another owner throws). That includes the Token-2022 native mint, which * resolves to its owner, `TOKEN_2022_PROGRAM_ID`: it is SOL-like for fee * selection only, and `create_v2` rejects it as a quote. */ fetchQuoteTokenProgram(quoteMint: PublicKey): Promise; /** * Every quote mint `create_v2` accepts right now, in one RPC round-trip: SOL * (as `NATIVE_MINT`, seeded from `Global.initialVirtualSolReserves`), the * non-zero `Global.whitelistedQuoteMints` slots, then the `QuoteControl` * entries `Global` does not already list. The PDA is the only source of * quote-control mints; while it is uninitialized the list is SOL plus the * `Global` whitelist. */ fetchSupportedQuoteMints(): Promise; /** * `fetchSupportedQuoteMints` narrowed to one mint, plus what a builder needs * for it: the owning token program and the mint's decimals. SOL-like inputs * (`NATIVE_MINT`, the zero key, `undefined`) resolve to the `sol` entry. One * RPC round-trip. * * @throws {UnsupportedQuoteMintError} when the mint is in neither list, * `create_v2`'s first admission check. A listed mint can still be rejected * on chain: a `quoteTokenProgram` that is not its owner or a Token-2022 * extension outside the xStock set (6063), or `mayhemMode` with a mint * admitted only through `QuoteControl` (6071). */ resolveQuoteMint(quoteMint?: PublicKey): Promise; /** * @deprecated use PumpSdk.decodeBondingCurveNullable instead. */ fetchBondingCurve(mint: PublicKeyInitData): Promise; /** * The state `buyV2Instructions` needs, plus the curve's normalized * `quoteMint` (`NATIVE_MINT` for SOL curves) and `quoteTokenProgram` (the * mint's owner) to forward to it. * * @param quoteMint - Optional hint: the curve's quote mint when the caller * already knows it (from an earlier fetch, `resolveQuoteMint`, or an * indexer). A curve stores its quote mint, so for a non-SOL curve the * token program is only known after decoding the curve: without the hint * that is a second RPC round-trip; with a correct hint the mint account * joins the first batch. A hint that does not match the curve is ignored * (the second round-trip happens). SOL curves never need one. */ fetchBuyState(mint: PublicKey, user: PublicKey, tokenProgram?: PublicKey, quoteMint?: PublicKey): Promise<{ quoteMint: PublicKey; quoteTokenProgram: PublicKey; bondingCurveAccountInfo: AccountInfo>; bondingCurve: BondingCurve; associatedUserAccountInfo: AccountInfo> | null; }>; /** * The state `sellV2Instructions` needs, plus the curve's normalized * `quoteMint` and `quoteTokenProgram`. `quoteMint` is the same optional * hint as on `fetchBuyState`. */ fetchSellState(mint: PublicKey, user: PublicKey, tokenProgram?: PublicKey, quoteMint?: PublicKey): Promise<{ quoteMint: PublicKey; quoteTokenProgram: PublicKey; bondingCurveAccountInfo: AccountInfo>; bondingCurve: BondingCurve; }>; private quoteMintHint; /** * The quote mint a decoded curve trades in (normalized) and the program * that owns it. SOL curves need no RPC; another curve uses the hinted mint * account when the hint is the curve's own quote, else one more fetch. */ private curveQuote; fetchGlobalVolumeAccumulator(): Promise; fetchUserVolumeAccumulator(user: PublicKey): Promise; fetchUserVolumeAccumulatorTotalStats(user: PublicKey): Promise; collectCoinCreatorFeeInstructions(coinCreator: PublicKey, feePayer?: PublicKey): Promise; /** * Collects a creator's fees in one quote from the pump creator vault and * the pump-amm coin creator vault. `quoteTokenProgram` must be the program * that owns `quoteMint` (`fetchQuoteTokenProgram`). Assumes the creator's * quote ATA exists for a non-SOL quote: neither program creates it (see * `collectCoinCreatorFeeAllQuotesInstructions`, which does). */ collectCoinCreatorFeeV2Instructions(coinCreator: PublicKey, quoteMint: PublicKey, quoteTokenProgram: PublicKey, feePayer?: PublicKey): Promise; /** * Collects a creator's fees in every quote mint currently listed on `Global` * or in the `QuoteControl` PDA (`fetchSupportedQuoteMints`), plus * `extraQuoteMints`, from both the pump creator vault and the pump-amm coin * creator vault, into the creator's wallet and quote ATAs. For SOL: the * lamport vault (`collect_creator_fee`) and, when the AMM WSOL vault ATA * exists, the AMM leg (which wraps and unwraps by itself). For every other * quote, in this order: an idempotent create of the creator's quote ATA when * it is missing (neither program creates it), the pump * `collect_creator_fee_v2` leg only when the pump vault's quote ATA exists, * and the AMM leg only when its vault ATA exists; a quote with neither vault * ATA contributes nothing. "Exists" means a token account of the quote's * program: any other account at a vault ATA address is treated as absent * (the programs could not deserialize it), and one at the creator's ATA * address is created over. Three RPC round-trips: the supported mints, their * owners, then every vault and destination ATA (in batches of 100 keys). * * De-listing a mint from `QuoteControl` stops new creates only: curves * already quoted in it keep trading and accruing fees, and this method does * not know about them. Pass such mints (from an indexer, or the creator's * own coins' `bondingCurve.quoteMint`) as `extraQuoteMints`. A listed or * extra mint whose account is missing or is not a token mint is skipped * (no ATA can exist for it, so nothing is lost). * * Each quote's instructions are contiguous, so the result can be split per * quote when it does not fit one transaction (up to four instructions for * SOL, three per token quote). * * @param feePayer - Signs and pays ATA rent; defaults to the creator. * @param extraQuoteMints - Quote mints to sweep in addition to the listed * ones, e.g. de-listed mints the creator's coins are quoted in. SOL-like * keys and duplicates are ignored. */ collectCoinCreatorFeeAllQuotesInstructions(coinCreator: PublicKey, feePayer?: PublicKey, extraQuoteMints?: readonly PublicKey[]): Promise; /** * What a creator has waiting in each quote mint currently listed on `Global` * or in the `QuoteControl` PDA (`fetchSupportedQuoteMints`): the pump * creator vault (lamports above rent for SOL, the vault ATA's token amount * otherwise) and the pump-amm coin creator vault ATA. An account at a vault * ATA address that is not a token account of the quote's program counts as * zero. Up to four RPC round-trips (the vault batch in slices of 100 keys). * * Like `collectCoinCreatorFeeAllQuotesInstructions`, this does not see fees * in a mint that has since been de-listed: read those vault ATAs * (`quoteAta(creatorVaultPda(creator), mint, program)` and the pump-amm * `coinCreatorVaultAtaPda`) directly. A listed mint whose account is missing * or is not a token mint is left out. */ getCreatorVaultQuoteBalances(creator: PublicKey): Promise; private fetchSupportedQuoteMintPrograms; private fetchQuoteMintPrograms; private creatorVaultLamportsAboveRent; /** * `PumpSdk.adminCtoInstruction` for `mint`, with the signer defaulting to * `Global.adminSetCreatorAuthority` and every other account resolved from * chain: `Global` and the curve in one round-trip, plus the quote mint's * owner program for a token quote. Returned as * `[setComputeUnitLimit(ADMIN_CTO_COMPUTE_UNIT_LIMIT), admin_cto]`. * * Rejects up front, with typed errors, what the program would reject * (`admin_cto.rs`): a mayhem coin (`CtoNotAllowedForMayhemCoinError`, 6088), * changing a holder-reward coin's creator (`HolderRewardCreatorImmutableError`, * 6083; only `isHolderReward: true` again is allowed), converting while * `Global.isHolderRewardEnabled` is off (`HolderRewardDisabledError`, 6084), * a missing `newCreator` on the new-creator path or a present one on the * holder path (6089 / 6090), and for a `creatorFeeBps`: a SOL or * `Global`-whitelisted quote (`CreatorFeeNotConfigurableForQuoteError`, * 6091), a coin that stays cashback * (`CreatorFeeNotAllowedForCashbackCoinError`, 6080), the gate off * (`CreatorFeeNotConfigurableError`, 6077) and a rate outside * `1..=Global.maxConfigurableCreatorFeeBps` (`CreatorFeeBpsOutOfRangeError`, * 6078). The program alone judges the rest (a `newCreator` equal to a PDA, * a frozen shared vault, ...). */ adminCtoInstructions(mint: PublicKey, { isHolderReward, creatorFeeBps, newCreator, adminSetCreatorAuthority, }: { isHolderReward?: boolean; creatorFeeBps?: BN; newCreator?: PublicKey; adminSetCreatorAuthority?: PublicKey; }): Promise; /** * `PumpSdk.updateHolderRewardConfigInstruction` with `authority` defaulting * to the current `Global.authority`, the only key the program accepts. */ adminUpdateHolderRewardConfigInstruction({ isHolderRewardEnabled, holderRewardClaimAuthority, authority, }: { isHolderRewardEnabled: boolean; holderRewardClaimAuthority: PublicKey; authority?: PublicKey; }): Promise; /** * `PumpSdk.distributeFeeToHoldersInstruction` for `mint`, with the signer * defaulting to `Global.holderRewardClaimAuthority`, the quote read from * the curve, and the PDA's quote ATA passed as `holderRewardsTokenAccount` * when it exists (on a SOL quote it is a parked WSOL account the program * sweeps first; on a token quote it is the payout source and this throws * when it is missing, since there is nothing to pay from). Throws when the * coin is not a holder-reward coin. */ distributeFeeToHoldersInstructions(mint: PublicKey, recipients: readonly { owner: PublicKey; amount: BN; }[], holderRewardClaimAuthority?: PublicKey): Promise; /** * `Global` and `mint`'s curve in one round-trip, with the curve's quote * normalized (`NATIVE_MINT` for SOL curves) and the program that owns it * (a second round-trip for a token quote, none for SOL). */ private fetchCurveWithQuote; /** * `PumpSdk.setQuoteControlAdminInstruction` with `authority` defaulting to * the current `Global.authority`, the only key the program accepts. */ adminSetQuoteControlAdminInstruction({ newAdmin, authority, }: { newAdmin: PublicKey; authority?: PublicKey; }): Promise; /** * `PumpSdk.addQuoteControlMintInstruction` with `authority` defaulting to * the current `Global.authority` (pass `QuoteControl.admin` to sign as the * delegated admin instead). */ adminAddQuoteControlMintInstruction({ quoteMint, initialVirtualQuoteReserves, authority, }: { quoteMint: PublicKey; initialVirtualQuoteReserves: BN; authority?: PublicKey; }): Promise; /** * `PumpSdk.removeQuoteControlMintInstruction` with `authority` defaulting * to the current `Global.authority`. */ adminRemoveQuoteControlMintInstruction({ quoteMint, authority, }: { quoteMint: PublicKey; authority?: PublicKey; }): Promise; /** * `PumpSdk.updateCreatorFeeConfigInstruction` with `authority` defaulting * to the current `Global.authority`, the only key the program accepts. */ adminUpdateCreatorFeeConfigInstruction({ creatorFeeConfigurable, maxConfigurableCreatorFeeBps, authority, }: { creatorFeeConfigurable: boolean; maxConfigurableCreatorFeeBps: BN; authority?: PublicKey; }): Promise; /** * `PumpSdk.setExoticFlatFeesInstruction` with `admin` defaulting to the * current `FeeConfig.admin`. */ adminSetExoticFlatFeesInstruction({ exoticFlatFees, admin, }: { exoticFlatFees: Fees; admin?: PublicKey; }): Promise; getCreatorVaultBalance(creator: PublicKey): Promise; getCreatorVaultBalanceBothPrograms(creator: PublicKey): Promise; adminUpdateTokenIncentives(startTime: BN, endTime: BN, dayNumber: BN, tokenSupplyPerDay: BN, secondsInADay?: BN, mint?: PublicKey, tokenProgram?: PublicKey): Promise; adminUpdateTokenIncentivesBothPrograms(startTime: BN, endTime: BN, dayNumber: BN, tokenSupplyPerDay: BN, secondsInADay?: BN, mint?: PublicKey, tokenProgram?: PublicKey): Promise; claimTokenIncentives(user: PublicKey, payer: PublicKey): Promise; claimTokenIncentivesBothPrograms(user: PublicKey, payer: PublicKey): Promise; getTotalUnclaimedTokens(user: PublicKey): Promise; getTotalUnclaimedTokensBothPrograms(user: PublicKey): Promise; getCurrentDayTokens(user: PublicKey): Promise; getCurrentDayTokensBothPrograms(user: PublicKey): Promise; syncUserVolumeAccumulatorBothPrograms(user: PublicKey): Promise; /** * Gets the minimum distributable fee for a token's fee sharing configuration. * * This method handles both graduated (AMM) and non-graduated (bonding curve) tokens. * For graduated tokens, it automatically consolidates fees from the AMM vault before * calculating the minimum distributable fee. * * @param mint - The mint address of the token * @param simulationSigner - Optional signer address for transaction simulation. * Must have a non-zero SOL balance. Defaults to a known funded address. * @param options - Quote-mint-specific parameters. Without them the coin is * treated as SOL-quoted, exactly as before these options existed. * @param options.quoteMint - The coin's quote mint (`bondingCurve.quoteMint` * can be passed as is). Selects the canonical pool, so `isGraduated` is * right for a non-SOL coin, and the consolidation instruction * (`transferCreatorFeesToPumpV2`). Note that the on-chain * `get_minimum_distributable_fee` view reads the lamport creator vault * only, so for a non-SOL quote `minimumRequired`, `distributableFees` and * `canDistribute` still describe SOL fees, not the quote-token fees (the * consolidation moves tokens the view does not look at); the result's * `feesQuoteMint` says which mint the figures are in. Use * `getCreatorVaultQuoteBalances` for token-quote amounts. * @param options.quoteTokenProgram - The program that owns `quoteMint`; * fetched from the mint when omitted for a non-SOL quote (one extra * round-trip). * @param options.payer - Signer for the V2 consolidation instruction, which * may initialize the pump vault ATA; defaults to `simulationSigner`. * @returns The minimum distributable fee information including whether distribution is possible */ getMinimumDistributableFee(mint: PublicKey, simulationSigner?: PublicKey, options?: { quoteMint?: PublicKey; quoteTokenProgram?: PublicKey; payer?: PublicKey; }): Promise; /** * Gets the instructions to distribute creator fees for a token's fee sharing configuration. * * This method handles both graduated (AMM) and non-graduated (bonding curve) tokens. * For graduated tokens, it automatically includes an instruction to consolidate fees * from the AMM vault before distributing. * * @param mint - The mint address of the token * @param options - Optional quote-mint-specific parameters * @param options.quoteTokenProgram - The program that owns `quoteMint`. * Fetched from the mint when omitted for a non-SOL quote (one extra * round-trip before the account batch, which derives every ATA from it); * `TOKEN_PROGRAM_ID` for SOL. * @param options.payer - Transaction signer. Required when `quoteMint` is not * `NATIVE_MINT`: pays rent for the vault/shareholder ATAs the V2 * consolidation and distribution instructions may initialize. * @param options.quoteMint - The coin's quote mint * @returns The instructions to distribute creator fees and whether the token is graduated */ buildDistributeCreatorFeesInstructions(mint: PublicKey, options?: { quoteMint?: PublicKey; quoteTokenProgram?: PublicKey; payer?: PublicKey; }): Promise; } interface MinimumDistributableFeeResult extends MinimumDistributableFeeEvent { isGraduated: boolean; /** * The mint `minimumRequired` / `distributableFees` / `canDistribute` are * denominated in. Always `NATIVE_MINT` today: the on-chain view reads the * lamport creator vault only. Compare it with the coin's quote mint before * gating a token-quoted coin's distribution on `canDistribute`. */ feesQuoteMint: PublicKey; } interface DistributeCreatorFeeResult { instructions: TransactionInstruction[]; isGraduated: boolean; } /** * A creator's uncollected fees in one supported quote mint, as returned by * `OnlinePumpSdk.getCreatorVaultQuoteBalances`. Amounts are in the mint's * base units (lamports for SOL, reported as `NATIVE_MINT`). */ interface CreatorVaultQuoteBalance { mint: PublicKey; source: QuoteMintSource; quoteTokenProgram: PublicKey; /** * Pump creator vault: lamports above rent for SOL, the vault ATA's amount * otherwise. */ pumpVault: BN; /** Pump-amm coin creator vault ATA amount. */ ammVault: BN; total: BN; } declare function totalUnclaimedTokens(globalVolumeAccumulator: GlobalVolumeAccumulator, userVolumeAccumulator: UserVolumeAccumulator, currentTimestamp?: number): BN; declare function currentDayTokens(globalVolumeAccumulator: GlobalVolumeAccumulator, userVolumeAccumulator: UserVolumeAccumulator, currentTimestamp?: number): BN; /** * Custom error types for the Pump SDK */ declare class NoShareholdersError extends Error { constructor(); } declare class TooManyShareholdersError extends Error { count: number; max: number; constructor(count: number, max: number); } declare class ZeroShareError extends Error { address: string; constructor(address: string); } declare class ShareCalculationOverflowError extends Error { constructor(); } declare class InvalidShareTotalError extends Error { total: number; constructor(total: number); } declare class DuplicateShareholderError extends Error { constructor(); } declare class PoolRequiredForGraduatedError extends Error { constructor(); } declare class UnsupportedQuoteMintError extends Error { quoteMint: PublicKey; constructor(quoteMint: PublicKey); } /** Mirrors pump error 6077: `Global.creatorFeeConfigurable` is off. */ declare class CreatorFeeNotConfigurableError extends Error { constructor(); } /** * Mirrors pump error 6078: a configured creator fee must be in * `1..=Global.maxConfigurableCreatorFeeBps`. */ declare class CreatorFeeBpsOutOfRangeError extends Error { creatorFeeBps: BN; max: BN; constructor(creatorFeeBps: BN, max: BN); } /** * Mirrors pump error 6080: a cashback coin cannot configure a creator fee. * Only reachable through `admin_cto` now: `create_v2` rejects every cashback * coin first (`CashbackDeprecatedError`). */ declare class CreatorFeeNotAllowedForCashbackCoinError extends Error { mint: PublicKey; constructor(mint: PublicKey); } /** * Mirrors pump error 6082: `create_v2` no longer creates cashback coins * (`is_cashback_enabled` must be false). Existing cashback coins keep working * and their accrued cashback stays claimable. */ declare class CashbackDeprecatedError extends Error { mint: PublicKey; constructor(mint: PublicKey); } /** Mirrors pump error 6084: `Global.isHolderRewardEnabled` is off. */ declare class HolderRewardDisabledError extends Error { constructor(); } /** * Mirrors pump error 6083: a holder-reward coin's creator is the * holder-rewards PDA forever; a CTO may only adjust its configurable rate * (`isHolderReward: true` again), never hand it to a wallet. */ declare class HolderRewardCreatorImmutableError extends Error { mint: PublicKey; constructor(mint: PublicKey); } /** Mirrors pump error 6088: a mayhem-mode coin cannot be taken over. */ declare class CtoNotAllowedForMayhemCoinError extends Error { mint: PublicKey; constructor(mint: PublicKey); } /** * Mirrors pump error 6091: a creator fee rate can only be configured on a * quote admitted through `QuoteControl`; SOL and `Global`-whitelisted quotes * (USDC) always pay the pump-fees schedule rate. */ declare class CreatorFeeNotConfigurableForQuoteError extends Error { quoteMint: PublicKey; constructor(quoteMint: PublicKey); } export { ADMIN_CTO_COMPUTE_UNIT_LIMIT, AMM_GLOBAL_PDA, AMM_GLOBAL_VOLUME_ACCUMULATOR_PDA, type AddQuoteControlMintEvent, type AdminCtoEvent, type AdminCtoPoolEventAmm, BONDING_CURVE_NEW_SIZE, BONDING_CURVE_SIZE, type BondingCurve, type BuyEventAmm, CANONICAL_POOL_INDEX, type CalculatedFeesBps, CashbackDeprecatedError, type ClaimCashbackEvent, type CollectCoinCreatorFeeEventAmm, type CollectCreatorFeeEventBc, type CompleteEventBc, type ConfigStatus, type CreateEventBc, type CreateFeeSharingConfigEvent, type CreatePoolEventAmm, CreatorFeeBpsOutOfRangeError, CreatorFeeNotAllowedForCashbackCoinError, CreatorFeeNotConfigurableError, CreatorFeeNotConfigurableForQuoteError, type CreatorVaultQuoteBalance, CtoNotAllowedForMayhemCoinError, DONATION_RELAY_PROGRAM_ID_DEVNET, DONATION_RELAY_PROGRAM_ID_MAINNET, type DepositEventAmm, type DistributeCreatorFeeResult, type DistributeCreatorFeesEvent, type DistributeFeeToHoldersEvent, type DonationFeePda, type DonationFeePdaCreatedEvent, DuplicateShareholderError, FEE_CONFIG_CURRENT_SIZE, FEE_CONFIG_INITIALIZE_SIZE, FEE_CONFIG_POST_STABLE_SIZE, FEE_PROGRAM_GLOBAL_PDA, type FeeConfig, type FeeTier, type Fees, GLOBAL_PDA, GLOBAL_SIZE, GLOBAL_VOLUME_ACCUMULATOR_PDA, type Global, type GlobalVolumeAccumulator, HolderRewardCreatorImmutableError, HolderRewardDisabledError, InvalidShareTotalError, MAYHEM_PROGRAM_ID, type MinimumDistributableFeeEvent, type MinimumDistributableFeeResult, NoShareholdersError, OnlinePumpSdk, PUMP_AMM_EVENT_AUTHORITY_PDA, PUMP_AMM_PROGRAM_ID, PUMP_EVENT_AUTHORITY_PDA, PUMP_FEE_CONFIG_PDA, PUMP_FEE_EVENT_AUTHORITY_PDA, PUMP_FEE_PROGRAM_ID, PUMP_PROGRAM_ID, PUMP_SDK, Platform, PoolRequiredForGraduatedError, type Pump, type PumpFees, PumpSdk, QUOTE_CONTROL_PDA, type QuoteControl, type QuoteControlMint, type QuoteMintCandidate, type QuoteMintSource, type RemoveQuoteControlMintEvent, type ResetFeeSharingConfigEvent, type ResolvedQuoteMint, SOL_LIKE_QUOTE_MINTS, STABLE_QUOTE_MINTS, type SellEventAmm, type SetAuthorityEvent, type SetQuoteControlAdminEvent, ShareCalculationOverflowError, type Shareholder, type SharingConfig, type SocialFeePda, type SocialFeePdaClaimedEvent, type SocialFeePdaCreatedEvent, type SupportedQuoteMint, TooManyShareholdersError, type TradeEventBc, UnsupportedQuoteMintError, type UpdateAdminEvent, type UpdateCreatorFeeConfigEvent, type UpdateFeeSharesEvent, type UserVolumeAccumulator, type UserVolumeAccumulatorTotalStats, type WithdrawEventAmm, ZeroShareError, ammCreatorVaultPda, bondingCurveMarketCap, bondingCurvePda, bondingCurveV2Pda, boostVaultAuthorityPda, calculateFeeTier, canonicalPumpPoolPda, canonicalPumpPoolPdaWithQuote, computeFeesBps, creatorVaultPda, currentDayTokens, donationFeePda, donationRelayDebouncerPda, donationRelayEpochTrackerPda, donationRelayEventAuthorityPda, donationRelayMintWhitelistPda, donationRelayPda, feeSharingConfigPda, getBuySolAmountFromTokenAmount, getBuyTokenAmountFromSolAmount, getEventAuthorityPda, getFee, getGlobalParamsPda, getMayhemStatePda, getPumpAmmProgram, getPumpFeeProgram, getPumpProgram, getSellSolAmountFromTokenAmount, getSolVaultPda, getTokenVaultPda, hasCoinCreatorMigratedToSharingConfig, holderRewardsPda, initialVirtualQuoteReservesFor, isExoticQuoteMint, isLegacyQuoteMint, isSharingConfigEditable, isSolLikeQuoteMint, isStableQuoteMint, newBondingCurve, normalizeQuoteMint, platformToString, pump as pumpIdl, pumpPoolAuthorityPda, quoteAta, selectCurveFeeSchedule, socialFeePda, stringToPlatform, totalUnclaimedTokens, userVolumeAccumulatorPda };