[
  {
    "path": ".gitignore",
    "content": ".idea\n"
  },
  {
    "path": "README.md",
    "content": "# pump-public-docs\n\n[Pump fee program docs](docs/FEE_PROGRAM_README.md)\n\n## Other documentation\n\n- [Pump Program](docs/PUMP_PROGRAM_README.md)\n- [PumpSwap](docs/PUMP_SWAP_README.md)\n- [PumpSwap SDK](docs/PUMP_SWAP_SDK_README.md)\n- [Pump Program creator fee update](docs/PUMP_CREATOR_FEE_README.md)\n- [PumpSwap creator fee update](docs/PUMP_SWAP_CREATOR_FEE_README.md)\n- [FAQ](docs/FAQ.md)\n\n---\n\n### One-Time Creator Reward Distribution Policy\n\nThis update only affects fee-sharing configuration. Trading instructions are unchanged and do not require an upgrade.\n\n\n**TLDR:** After the first configuration, reward distribution is locked and cannot be changed.\n\nWhat changed:\n- Reward distribution can be configured **only once**.\n- You can configure it using either `updateFeeShares` or `updateSharingConfigWithSocialRecipients`.\n- After it is configured, it is **locked** and cannot be changed again.\n\nWhat did **not** change:\n- Buy and sell instructions are unchanged.\n\nMigration/compatibility notes:\n- Reward distributions created before this policy are treated as final (locked).\n- `RevokeFeeSharingAuthority` and `TransferFeeSharingAuthority` are no longer supported.\n- If you are unsure whether a reward distribution is still editable, call `isSharingConfigEditable`.\n\n## GitHub Recipient and Social Fee PDA Requirements\n\nIf you are adding a **GitHub recipient** as a fee recipient in sharing config, make sure to initialize the social fee pda before adding it as a recipient. Use one of these methods:\n\n```ts\nimport {\n  Platform,\n  PUMP_SDK,\n} from \"@pump-fun/pump-sdk\";\n\n// 1) Update an existing sharing config\nawait PUMP_SDK.updateSharingConfigWithSocialRecipients({\n  authority,\n  mint,\n  currentShareholders,\n  newShareholders: [\n    { address: authority, shareBps: 7000 },\n    { userId: \"1234567\", platform: Platform.GitHub, shareBps: 3000 },\n  ],\n});\n\n// 2) Create sharing config + set social recipients in one flow\n//    - Use pool for graduated coins or null for ungraduated\nawait PUMP_SDK.createSharingConfigWithSocialRecipients({\n  creator,\n  mint,\n  pool,\n  newShareholders: [\n    { address: creator, shareBps: 7000 },\n    { userId: \"1234567\", platform: Platform.GitHub, shareBps: 3000 },\n  ],\n});\n```\n\nMethod selection:\n- `updateSharingConfigWithSocialRecipients`: use when sharing config already exists.\n- `createSharingConfigWithSocialRecipients`: use for first-time setup (creates config, then updates shares).\n\n> **Important:** Reward split can be setup once and once only by calling either `updateFeeShares` or `updateSharingConfigWithSocialRecipients`. Double-check final recipients and `shareBps` before submitting.\n\n✅ Checklist\n\n- [ ] The GitHub user must be able to log in to claim fees. **GitHub organizations are not supported** for social fee recipients; adding an organization account can result in fees being permanently lost.\n- [ ] Only `Platform.GitHub` is supported. Any attempt to use a different platform value can result in the coin being banned or **fees lost**.\n- [ ] Fees in a GitHub vault can only be claimed by the linked GitHub user, and only through Pump.fun (web or mobile). You are responsible for directing users to claim there; we do not support any claim flow outside our apps.\n- [ ] You have initialized the social fee recipient pda by using one of the above helper or `createSocialFeePda`\n\n---\n\n\n\n# ⚠️ Breaking Change Announcement — Bonding Curve and Pump Swap Programs on 12:00 UTC, 11 November 2025\n\n---\n\n\n### Mayhem program id:\n`MAyhSmzXzV1pTf7LsNkrNwkWKTo4ougAJ1PPg47MD4e`\n### Mayhem fee recipients ( Use any one randomly ):\n`GesfTA3X2arioaHp8bbKdjG9vJtskViWACZoYvxp4twS`\n\n`4budycTjhs9fD6xw62VBducVTNgMgJJ5BgtKq7mAZwn6`,\n        `8SBKzEQU4nLSzcwF4a74F2iaUDQyTfjGndn6qUWBnrpR`,\n        `4UQeTP1T39KZ9Sfxzo3WR5skgsaP6NZa87BAkuazLEKH`,\n        `8sNeir4QsLsJdYpc9RZacohhK1Y5FLU3nC5LXgYB4aa6`,\n        `Fh9HmeLNUMVCvejxCtCL2DbYaRyBFVJ5xrWkLnMH6fdk`,\n        `463MEnMeGyJekNZFQSTUABBEbLnvMTALbT6ZmsxAbAdq`,\n        `6AUH3WEHucYZyC61hqpqYUWVto5qA5hjHuNQ32GNnNxA`\n\n---\n\n## 1. Changes Summary\n\n1. **BondingCurve and Pool struct size increase**\n   The `bondingCurve` account now needs to be at least **82 bytes** in size (was 81 earlier) and the `pool` structure needs to be **244 bytes** (was 243 earlier).\n   This is because of a new field called `is_mayhem_mode` on both structs which is a boolean.\n   If the account lengths are insufficient, the buy and sell instruction will handle the size extension under the hood, no change needed on your end.\n\n2. **New instruction to create tokens called `create_v2`**\n   This instruction will use the **Token2022 program** for token creations and to host the metadata, instead of Metaplex.\n\n3. **New fee recipient requirement for mayhem mode coins**\n   For coins which have `is_mayhem_mode = true` (on both the bonding curve and pool), the fee recipient that should be passed must be changed.\n\n---\n\n## 2. What This Means to You\n\n\n### 1️⃣ Introducing `create_v2`\n\nWe will move to a new standard of token creation with a new instruction called `create_v2`.\nThis instruction will use the **Token2022 program** for minting tokens and managing metadata, replacing the legacy Metaplex approach.\nThe original `create` instruction will also be active and will be **deprecated** at a later time (to be announced).\n\n| Index | Account | Change needed | Seeds |\n| ----- | ------ | ----- | ----- |\n| 1 | Mint | None | - |\n| 2 | Mint Authority | None | \"mint-authority\" + PUMP_PROGRAM_ID |\n| 3 | Bonding Curve | None | \"bonding-curve\" + mint + PUMP_PROGRAM_ID |\n| 4 | Associated Bonding Curve | Token account should now be owned by Token 2022 instead of Legacy Token | Token 2022 owned token account of Bonding curve account |\n| 5 | Global | None | \"global\" + PUMP_PROGRAM_ID |\n| 6 | User | None | - |\n| 7 | System Program | None | - |\n| 8 | Token Program | Pass Token 2022 instead of Legacy Token program | - |\n| 9 | Associated Token Program | None | - |\n| 10 | Mayhem Program ID | New Static account: `MAyhSmzXzV1pTf7LsNkrNwkWKTo4ougAJ1PPg47MD4e`| - |\n| 11 | Global Params | New Static account: `13ec7XdrjF3h3YcqBTFDSReRcUFwbCnJaAQspM4j6DDJ`| \"global-params\" + MAYHEM_PROGRAM_ID |\n| 12 | Sol Vault | New Static account: `BwWK17cbHxwWBKZkUYvzxLcNQ1YVyaFezduWbtm2de6s` | \"sol-vault\" + MAYHEM_PROGRAM_ID |\n| 13 | Mayhem State | New Account: dependent on the mint | \"mayhem-state\" + mint + MAYHEM_PROGRAM_ID |\n| 14 | Mayhem Token Vault | New Account: Token 2022 owned token account of Sol vault account | - |\n\n\n#### Key Points about trading `create_v2` coins:\n\n- The **associated bonding curve account** will be owned by the **Token2022 program**, not the legacy token program.\n- The **user token account** should also be derived with Token2022 instead of the legacy token program.\n- There is a **new boolean instruction parameter** for `create_v2` called `is_mayhem_mode`.\n- Pass the token2022 program instead of the legacy token program.\n- All coins previously (and in the future) created with the `create` instruction and owned by the legacy token program will have `is_mayhem_mode` as **false** and cannot be changed.\n  This means you do not have to handle fee recipients differently for such coins, and existing trade instructions will work as they are.\n\n---\n\n### :two: Fee Recipient for Mayhem Mode Coins\n\nAny new coin created with `create_v2` can have `is_mayhem_mode` as **true** or **false**.\n\n- If it’s **false**, the trade accounts required do not change.\n- If it’s **true**, you need to **pass a different fee_recipient** for both buys and sells.\n\n#### Fee recipient details:\n- **Pump Swap:** 10th account → should be **Mayhem fee recipient**\n- **Bonding Curve:** 2nd account → should be **Mayhem fee recipient**\n\nThe **Protocol Fee Recipient Token Account** at **account index 11** of Pump Swap should be the **WSOL token account of Mayhem fee recipient**.\n\nThis new fee recipient for mayhem mode coins can be found from:\n- The **Global** account on **Bonding Curve**, and the **GlobalConfig** account on **Pump Swap**,\nas any one of the fields in: `reserved_fee_recipient` and `reserved_fee_recipients`\n---\n\n## 3. Summary of Action Items\n\n| Change | Action Required |\n|---------|----------------|\n| Introduction of `create_v2` | Update creation flow to use `create_v2` instruction with Token2022 program |\n| Fee recipient handling for `is_mayhem_mode = true` coins | Pass **Mayhem fee recipient** as the fee recipient at specified account indexes (Pump Swap: 10, Bonding Curve: 2). Ensure protocol fee token account (index 11) is the WSOL account of Mayhem fee recipient for pump swap |\n\n---\n\n### ✅ Checklist\n\n\n- [ ] Migrate to `create_v2` for new tokens\n- [ ] For mints owned by token2022, ensure you're passing the right associated bonding curve, user token account and token program\n- [ ] Handle `is_mayhem_mode = true` by setting the correct fee recipient\n- [ ] Confirm fee recipient WSOL token account configuration\n\n---\n\n> ⚙️ **Summary:**\n> - `create_v2` introduces Token2022-based token creation and optional mayhem mode.\n> - Mayhem mode coins require a different fee recipient (**Mayhem fee recipient**) configured per program indices.\n\n\n### Please use the devnet program of the bonding curve and pump swap to test coin creations with the new instruction and trading such coins. They're updated to what will go live on mainnet."
  },
  {
    "path": "docs/BREAKING_FEE_RECIPIENT.md",
    "content": "# Program Upgrade\n\nHi. We will be doing a breaking program upgrade on April 28th, 16:00 UTC, to both the pump bonding curve program and the pump swap amm program. In order to make sure your integrations do not break please see the instructions below:\n\n## These are 8 new fee recipients ( common for both programs )\n\n```text\n5YxQFdt3Tr9zJLvkFccqXVUwhdTWJQc1fFg2YPbxvxeD\n9M4giFFMxmFGXtc3feFzRai56WbBqehoSeRE5GK7gf7\nGXPFM2caqTtQYC2cJ5yJRi9VDkpsYZXzYdwYpGnLmtDL\n3BpXnfJaUTiwXnJNe7Ej1rcbzqTTQUvLShZaWazebsVR\n5cjcW9wExnJJiqgLjq7DEG75Pm6JBgE1hNv4B2vHXUW6\nEHAAiTxcdDwQ3U4bU6YcMsQGaekdzLS3B5SmYo46kJtL\n5eHhjP8JaYkz83CWwvGU2uMUXefd3AazWGx4gpcuEEYD\nA7hAgCzFw14fejgCp387JUJRMNyz4j89JKnhtKU8piqW\n```\n\n## As part of this change,\n\n- Bonding curve: A new account is required to be added in buys and sells\n- AMM: 2 new accounts required to be added in buys and sells\n\nAll accounts till bonding-curve-v2 and pool-v2 remain the same, no change needed\n\n## Bonding Curve\n\n- Add any one of the 8 new fee recipients at the end of the buy and sell instructions.\n- This new account should be added AFTER the bonding-curve-v2 account for both buys and sells.\n- Account needs to be mutable\n- Buy instructions should have 18 accounts in total\n- Sell instruction should have 16 accounts for non cashback coins\n- Sell instruction should have 17 accounts for cashback coins\n\n## Pump swap ( AMM )\n\n- Add 2 new accounts in this order at the end:\n  - One of the 8 fee recipients. ( Second last account, readonly)\n  - Quote mint ATA for fee recipient. ( Last account, mutable )\n\n- These 2 new accounts should be added AFTER the pool-v2 account for both buys and sells for coins that graduate from bonding curve.\n- Even if the coin is not a bonding curve coin, the 2 new accounts are necessary to be added.\n- Buy instructions should have 26 accounts for non cashback coins.\n- Buy instructions should have 27 accounts non cashback coins\n- Sell instructions should have 24 accounts for non cashback coins.\n- Sell instructions should have 26 accounts for cashback coins.\n\n## Both SDKs are updated to reflect the upcoming change.\n\n- `@pump-fun/pump-sdk@1.33.0`: https://www.npmjs.com/package/@pump-fun/pump-sdk\n- `@pump-fun/pump-swap-sdk@1.15.0`: https://www.npmjs.com/package/@pump-fun/pump-swap-sdk\n\n## Devnet\n\nThe new accounts can be passed before the program upgrade happens on Monday. The devnet programs are updated with the upcoming change, here are a few example transactions:\n\n### Bonding curve\n\n- https://solscan.io/tx/3iRpvjc41MJYH1g6T1xSjphCqi3PoqZGAZrFxveKxx8hZQDyJyWy8C9FQLbtRt97h9m51tDrLVCAedrVxgVgEPWg?cluster=devnet\n- https://solscan.io/tx/59myh9VnJSwpDn7j5c8FuU1Nx3JN7wXs8WyX9CXABJoDPDYyCDeQvW96ugFzUWQiHG1K6TKAUNNcV2EZXUwtQizM?cluster=devnet\n- https://solscan.io/tx/4iBEotkjLdNAsGxmLjM7E1cwLB8eTEH4BeUZHkthpHBF6ei69vef9vg4FK8jGKnwJUK8FT3DHqRtYn4Rijc6n3sn?cluster=devnet\n\n### Amm\n\n- https://solscan.io/tx/235fuAQcDZXL8CMRuGf7iqMYpkHX95cAXW8Kqh5yVDEPs7zN7K8yRkuji1j6vkAg4ybBQbvQ4HKGaLexR3p9xWm7?cluster=devnet\n- https://solscan.io/tx/jqZAviLnwV7cyBtNzz7DTPB3xSyj2ZTkSAWtUKWKrjXeAkTKM16zsH3J2FbZQtXY4mCsVntVe1C6qnnNVYNDAfP?cluster=devnet\n- https://solscan.io/tx/2MJZMr86BdoNKDRpzAZSyQ8k782ZcNo1gaqse5raFzeWKERkdnr7B9iknSKJRSWGiUzXnsRT5m9CZpouvjbZnhrA?cluster=devnet\n- https://solscan.io/tx/2FDkzZ4WzKN3FMLuffz61JLMGpJ1Q9oGydyJp14xttgYaMZM5rZQiXnBkaSGTadCaP7EhjQw2peLGWskk8YaRS5s?cluster=devnet\n"
  },
  {
    "path": "docs/FAQ.md",
    "content": "# Frequently Asked Questions\n\n## How to optimize buy / sell CU limit?\n\nEach buy / sell instruction used CUs depend on all the inputs of the instruction:\n\n- `user` pubkey, through the `associated_user` PDA bump seed derivation.\n- `mint` pubkey, through the `bonding_curve`, `associated_bonding_curve`, `associated_user` PDA bump seed derivation.\n- `creator` pubkey, through the `creator_vault` PDA bump seed derivation.\n- for buy, the `amount` and `max_sol_cost` inputs are logged as part of instruction execution, so bigger values consume\n  more CUs to log than smaller values.\n- for sell inputs, it's similar.\n\nAs an example, for the\ntx https://solscan.io/tx/5frph8gBFyX7ayBmqntvwpTPwzZ8aF4kdfJAvC52Li2iDnnaRwtmcZP839Cm4YQUFx7GzsUUStCfAy3hAG69ir4u:\n\n```Rust\n    let mint = Pubkey::from_str(\"Coyj3LtKn1BNSgWc9HsGK5SKoGfEoDaymig4wrN6pump\").unwrap();\n\nassert_eq!(\n    Pubkey::find_program_address(&[b\"bonding-curve\", mint.as_ref()], &pump::ID).1,\n    255\n);\n```\n\nThe `bonding_curve` bump seed for mint `Coyj3LtKn1BNSgWc9HsGK5SKoGfEoDaymig4wrN6pump` is `255`.\n\nWhile for the\ntx https://solscan.io/tx/5xozUcJFvRj4ySpE2epSSs95ySxs6cLjs1rV2uaFNkFgsEMBZW53VUa2uc3CVQLVJRYxfQ5JoSzZLiUvAgM4GEJM:\n\n```Rust\n    let mint = Pubkey::from_str(\"3cLSxG6eXcCD9NSMawkhUcrvVCUC8KHKHMCxx6bhpump\").unwrap();\n\nassert_eq!(\n    Pubkey::find_program_address(&[b\"bonding-curve\", mint.as_ref()], &pump::ID).1,\n    251\n);\n```\n\nThe `bonding_curve` bump seed for mint `3cLSxG6eXcCD9NSMawkhUcrvVCUC8KHKHMCxx6bhpump` is `251`.\n\nSo it is not possible to compute the used CUs without first simulating the buy / sell tx before submission and adding a\nbuffer of 1% to the simulated CUs, because buy instruction executes a bit more code when the bonding curve completes on\nthat buy.\n\nBut since tx simulation before buy / sell slows down tx submission and can increase the chances for slippage errors, it\nis recommended to use a static big enough CU limit like `100_000`.\n"
  },
  {
    "path": "docs/FEE_PROGRAM_README.md",
    "content": "Hello. We pushed again the update to both Pump and PumpSwap programs which adds the 2 new additional accounts on buy / sell.\n\nOn Monday, September 1, 20:00 UTC, these 2 accounts will become mandatory and the programs fee structure will change from the existing one to a dynamic fee structure depending on the current market cap of the coin in lamports. This new fee structure applies only to:\n- Pump bonding curves\n- PumpSwap canonical pools, where a canonical pool is defined as a pool whose `pool.creator` (NOT `pool.coinCreator`) is defined as:\n```Typescript\nexport function isPumpPool(\n baseMint: PublicKey,\n poolCreator: PublicKey,\n): boolean {\n return pumpPoolAuthorityPda(baseMint)[0].equals(poolCreator);\n}\n```\n\nThe new fee structure code is present in both our Typescript SDKs:\n- https://www.npmjs.com/package/@pump-fun/pump-sdk?activeTab=code\n- https://www.npmjs.com/package/@pump-fun/pump-swap-sdk?activeTab=code\n\nThe market cap in lamports for bonding curve is computed as follows:\n```Typescript\nexport function bondingCurveMarketCap({\n mintSupply,\n virtualSolReserves,\n virtualTokenReserves,\n}: {\n mintSupply: BN;\n virtualSolReserves: BN;\n virtualTokenReserves: BN;\n}): BN {\n if (virtualTokenReserves.isZero()) {\n   throw new Error(\"Division by zero: virtual token reserves cannot be zero\");\n }\n return virtualSolReserves.mul(mintSupply).div(virtualTokenReserves);\n}\n```\n\nThe market in lamports for a PumpSwap canonical pool is:\n```Typescript\nexport function poolMarketCap({\n baseMintSupply,\n baseReserve,\n quoteReserve,\n}: {\n baseMintSupply: BN;\n baseReserve: BN;\n quoteReserve: BN;\n}): BN {\n if (baseReserve.isZero()) {\n   throw new Error(\n     \"Division by zero: pool base token reserves cannot be zero\",\n   );\n }\n return quoteReserve.mul(baseMintSupply).div(baseReserve);\n}\n```\n\nFor bonding curve program, the fee bps for protocol and creator fees will be computed using the following logic:\n```Typescript\nexport function computeFeesBps({\n global,\n feeConfig,\n mintSupply,\n virtualSolReserves,\n virtualTokenReserves,\n}: {\n global: Global;\n feeConfig: FeeConfig | null;\n mintSupply: BN;\n virtualSolReserves: BN;\n virtualTokenReserves: BN;\n}): CalculatedFeesBps {\n if (feeConfig != null) {\n   const marketCap = bondingCurveMarketCap({\n     mintSupply,\n     virtualSolReserves,\n     virtualTokenReserves,\n   });\n\n   return calculateFeeTier({\n     feeTiers: feeConfig.feeTiers,\n     marketCap,\n   });\n }\n\n return {\n   protocolFeeBps: global.feeBasisPoints,\n   creatorFeeBps: global.creatorFeeBasisPoints,\n };\n}\n\n/// rust reference: pump-fees-math::calculate_fee_tier()\nexport function calculateFeeTier({\n feeTiers,\n marketCap,\n}: {\n feeTiers: FeeTier[];\n marketCap: BN;\n}): Fees {\n const firstTier = feeTiers[0];\n\n if (marketCap.lt(firstTier.marketCapLamportsThreshold)) {\n   return firstTier.fees;\n }\n\n for (const tier of feeTiers.slice().reverse()) {\n   if (marketCap.gte(tier.marketCapLamportsThreshold)) {\n     return tier.fees;\n   }\n }\n\n return firstTier.fees;\n}\n```\n\nA similar logic will be used for PumpSwap canonical pools too:\n```Typescript\nexport function computeFeesBps({\n globalConfig,\n feeConfig,\n creator,\n baseMintSupply,\n baseMint,\n baseReserve,\n quoteReserve,\n tradeSize,\n}: {\n globalConfig: GlobalConfig;\n feeConfig: FeeConfig | null;\n creator: PublicKey;\n baseMintSupply: BN;\n baseMint: PublicKey;\n baseReserve: BN;\n quoteReserve: BN;\n tradeSize: BN;\n}): Fees {\n if (feeConfig != null) {\n   const marketCap = poolMarketCap({\n     baseMintSupply,\n     baseReserve,\n     quoteReserve,\n   });\n\n   return getFees({\n     feeConfig,\n     isPumpPool: isPumpPool(baseMint, creator),\n     marketCap,\n     tradeSize,\n   });\n }\n\n return {\n   lpFeeBps: globalConfig.lpFeeBasisPoints,\n   protocolFeeBps: globalConfig.protocolFeeBasisPoints,\n   creatorFeeBps: globalConfig.coinCreatorFeeBasisPoints,\n };\n}\n\n/// rust reference: pump-fees::get_fees()\nfunction getFees({\n feeConfig,\n isPumpPool,\n marketCap,\n}: {\n feeConfig: FeeConfig;\n isPumpPool: boolean;\n marketCap: BN;\n tradeSize: BN;\n}): Fees {\n if (isPumpPool) {\n   return calculateFeeTier({\n     feeTiers: feeConfig.feeTiers,\n     marketCap,\n   });\n } else {\n   return feeConfig.flatFees;\n }\n}\n\n/// rust reference: pump-fees-math::calculate_fee_tier()\nexport function calculateFeeTier({\n feeTiers,\n marketCap,\n}: {\n feeTiers: FeeTier[];\n marketCap: BN;\n}): Fees {\n const firstTier = feeTiers[0];\n\n if (marketCap.lt(firstTier.marketCapLamportsThreshold)) {\n   return firstTier.fees;\n }\n\n for (const tier of feeTiers.slice().reverse()) {\n   if (marketCap.gte(tier.marketCapLamportsThreshold)) {\n     return tier.fees;\n   }\n }\n\n return firstTier.fees;\n}\n```\n\nWe will use the following fee tiers starting from Monday:\n![Fee Tiers](fees.png)\n\nIn order to avoid possible issues created by the new fee structure, until you make sure it's implemented correctly, you can increase the slippage tolerance on buy / sell instructions as a temporary mitigation.\n\nIf you implement the fee logic correctly, any future change to the fee tiers structure above should not affect your code."
  },
  {
    "path": "docs/PUMP_CASHBACK_README.md",
    "content": "## Overview\n\nCashback Rewards allows token creators to create coins with \"cashback\" enabled which redirects the creator fee to the users. Each user would get the creator fee on their swap volume as cashback rather than paying that fee to the coin creator.\n\nThis is a backwards compatible change, so if you do not update to the latest IDsL/SDKs it will work but cashback will not be enabled.\n\n## Integration\n\nYou can also use our Typescript SDKs for easier integration:\n- [Pump SDK](https://www.npmjs.com/package/@pump-fun/pump-sdk)\n  - Latest version is `1.28.0`\n- [PumpSwap SDK](https://www.npmjs.com/package/@pump-fun/pump-swap-sdk)\n  - Latest version is `1.14.0`\n\n## Changes to Instructions\n\nCashback is only given to the user if the buy/sell instruction appends the proper remaining accounts.\nIf the coin traded is a cashback coin but the cashback remaining accounts are now added, then the creator fee will\ngo to the creator as it normally would. \n\n### Bonding Curve Buy Instructions\nNo change. Cashback is handled automatically if the coin has cashback enabled.\n\n### Bonding Curve Sell Instruction\nExpects the `UserVolumeAccumulator` PDA for the Pump program at the 0th index in the remaining accounts with `isWritable: true`\n\n### Pump Swap Buy Instruction\nExpects the WSOL associated token account of the `UserVolumeAccumulator` for the Pump AMM program (this is different than same account for the Pump program) at the 0th index of the remaining accounts.\n\n### Pump Swap Sell Instruction\nExpects the WSOL associated token account of the `UserVolumeAccumulator` for the Pump AMM program (this is different than same account for the Pump program) at the 0th index of the remaining accounts.\n\nExpects the `UserVolumeAccumulator` for the Pump AMM Program (used to derive the WSOL ATA above) at the 1st index of the remaining accounts.\n\n### Create V2\nNew parameter expected for `create_v2` instruction which is an `OptionBool` to define whether the coin has cashback enabled or not.\nIn typescript this is a tuple, so it would look like `[true]`.\n\n### Bonding Curve Claim Cashback\nNew `claim_cashback` instruction for the Pump program.\nNo parameters needed. It transfers native lamports from the `UserVolumeAccumulator` to the user.\n\n### Pump Swap Claim Cashback\nNew `claim_cashback` instruction for the Pump AMM program.\nNo parameters needed. It transfers WSOL from the WSOL ATA of the `UserVolumeAccumulator` to the user's WSOL ATA.\nThe user's WSOL ATA is expected to exist before hand, so use \"create idempotent associated token account\" instruction before the claim instruction if need be.\n\n## Account Changes\n\n### Bonding Curve\nNew `is_cashback_coin: bool` field on the `BondingCurve` account.\n\n## Reading Unclaimed Cashback\nIt is important to note that there is an `UserVolumeAccumulator` account for both the Pump (bonding curve) program and Pump Swap (AMM) program.\nThey share a seed `\"user_volume_accumulator\"` with the program ID being the only difference in its seeds.\n\nExample of deriving the `UserVolumeAccumulator` for Pump program. Simply pass the `PUMP_AMM_PROGRAM_ADDRESS` instead to derive the `UserVolumeAccumulator` for Pump AMM.\n```typescript\nimport {\n  getAddressEncoder,\n  getProgramDerivedAddress,\n  getUtf8Encoder,\n} from \"@solana/kit\";\n\nconst addressEncoder = getAddressEncoder();\nconst utf8Encoder = getUtf8Encoder();\n\nexport const USER_ACCUMULATOR_SEED = utf8Encoder.encode(\n  \"user_volume_accumulator\",\n);\n\nexport const NATIVE_MINT_ADDRESS = address(\n  \"So11111111111111111111111111111111111111112\",\n);\n\nexport function getUserAccumulatorPda(\n  walletAddress: Address,\n  programAddress: Address = PUMP_PROGRAM_ADDRESS,\n) {\n  return getProgramDerivedAddress({\n    programAddress,\n    seeds: [USER_ACCUMULATOR_SEED, addressEncoder.encode(walletAddress)],\n  });\n}\n\nexport async function getUserAccumulatorCashbackPda(\n  walletAddress: Address,\n  programAddress: Address = PUMP_PROGRAM_ADDRESS,\n): Promise<ProgramDerivedAddress> {\n  const [userAccumulatorPda] = await getUserAccumulatorPda(\n    walletAddress,\n    programAddress,\n  );\n  return findAssociatedTokenPda({\n    mint: NATIVE_MINT_ADDRESS,\n    owner: userAccumulatorPda,\n    tokenProgram: TOKEN_PROGRAM_ADDRESS,\n  });\n}\n```\n\nThe cashback on Pump AMM is collected in the WSOL ATA of the `UserVolumeAccumulator` for the Pump AMM program (use the PUMP_AMM_PROGRAM_ADDRESS when deriving the PDA).\nBut in the Pump program (bonding curve / PUMP_PROGRAM_ADDRESS) the cashback is in native lamports in the `UserVolumeAccumulator` itself (not a WSOL ATA) and transferred as native lamports to the user's wallet (not a WSOL ATA).\nThis is because Pump AMM uses WSOL whereas the Pump program uses native lamports for swaps.\n\nTo read unclaimed cashback for bonding curve / Pump program:\n**Read the lamports of the `UserVolumeAccumulator` for the Pump program minus the rent exempt lamports needed to keep the account open.**\n\nTo read unclaimed cashback for pump swap / Pump AMM program:\n**Read the token balance of the WSOL ATA of the `UserVolumeAccumulator` for the Pump AMM program.**\n"
  },
  {
    "path": "docs/PUMP_CREATOR_FEE_README.md",
    "content": "Pump program will have a breaking upgrade to add support for coin creator fees. Each swap on a not-yet-completed\nbonding curve will send a fee to a coin creator vault account, apart from the already existing protocol fee.\n\n`BondingCurve` accounts will be extended to `150` bytes to support future protocol updates, including this one. So\nyou need to prepend an `extendAccount(bondingCurve)` instruction to your buy / sell txs if the\n`bondingCurveAccountInfo.dataLen < 150`.\n\n`buy` and `sell` instructions will be modified in the following way:\n\n- the currently unused `Buy::rent` account (instruction account index `10`) will become `Buy::creator_vault` account.\n- the currently unused `Sell::associated_token_program` account (instruction account index `8`) will become\n  `Sell::creator_vault` account.\n\nBoth `Buy::creator_vault` and `Sell::creator_vault` accounts are PDA accounts with the following definition:\n\n```rust\n    #[account(\n        mut,\n        seeds = [\n            b\"creator-vault\",\n            bonding_curve.creator.as_ref()\n        ],\n        bump\n    )]\n    pub creator_vault: AccountInfo<'info >,\n```\n\nSo the creator_vault PDA is dependent on a new `BondingCurve::creator` field. The updated `BondingCurve` struct will\nlook like this:\n\n```rust\n#[account]\npub struct BondingCurve {\n    pub virtual_token_reserves: u64,\n    pub virtual_sol_reserves: u64,\n    pub real_token_reserves: u64,\n    pub real_sol_reserves: u64,\n    pub token_total_supply: u64,\n    pub complete: bool,\n    pub creator: Pubkey, // new creator field\n}\n```\n\nThere is also another change in fee calculation. There will be a new `Global::creator_fee_basis_points` field, which\nwill be used in computing the creator fee. The new `Global` struct will look like this:\n\n```rust\n#[account]\npub struct Global {\n    pub initialized: bool,\n    pub authority: Pubkey,\n    pub fee_recipient: Pubkey,\n    pub initial_virtual_token_reserves: u64,\n    pub initial_virtual_sol_reserves: u64,\n    pub initial_real_token_reserves: u64,\n    pub token_total_supply: u64,\n    pub fee_basis_points: u64,\n    pub withdraw_authority: Pubkey,\n    pub enable_migrate: bool,\n    pub pool_migration_fee: u64,\n    pub creator_fee_basis_points: u64, // new creator fee bps field\n    pub fee_recipients: [Pubkey; 7],\n    pub set_creator_authority: Pubkey,\n}\n```\n\nCurrently, the `Global::creator_fee_basis_points` field is set to `0`. But you can start using the new fee calculation\nlogic from now to be ready for the creator fee update. The latest version of our Typescript SDK includes the updated fee \nlogic: [Pump SDK](https://www.npmjs.com/package/@pump-fun/pump-sdk) (including the source code of the SDK).\n\nThese functions do not include slippage in their calculations, but the slippage needs to be applied to sol amount for\nboth `buy` and `sell` instructions. Instructions which allow slippage for coin amount will be added to the Pump program\nin the future.\n\nAll non-completed bonding curves will start receiving creator fees on swaps after the coin creator fee update is\ndeployed and `Global::creator_fee_basis_points` is set something else apart from `0`.\n\nThe `BondingCurve::creator` parameter will be populated from:\n- the `creator` argument passed to `create` instruction for newly created coins. So be careful what `creator` pubkey\n  you pass to the `create` instruction, as that pubkey will receive all the creator fees for that coin.\n- the Metaplex creator metadata for coins which have it, by using the `set_metaplex_creator` instruction. You can\n  include\n  this instruction in your transactions, but it's not needed, as our backend service will listen for `TradeEvent`s and\n  will set the `BondingCurve::creator` dynamically for coins missing it.\n- our coins storage for coins created in the past and don't have Metaplex creator metadata. The backend service will\n  listen for `TradeEvent`s and will set the `BondingCurve::creator` dynamically for coins missing it using the admin\n  `set_creator` instruction.\n\nThe fees accumulated in a creator vault account can be transferred to the creator's wallet using the \n`collectCreatorFee(creator)` instruction. The `creator` needs to sign the transaction including this instruction.\n\nThe currently deployed Pump program on [Mainnet](https://solscan.io/account/6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P)\nis backwards-compatible with the new update, so you can start using the new IDL from now, to be ready and not experience\nany downtime when the creator fee update gets released.\n\nWe already updated the Devnet program, so you have time until Monday to implement the changes above. Ideally, the\nsame code should work on both the creator fee update on Devnet and the current Mainnet program, before we update Pump\nprogram on Mainnet to the creator fee update.\n\nWe are also trying to release the Pump program Typescript SDK by Monday, so you can use it. The \n[bondingCurve.ts](bondingCurve.ts) file is part of the upcoming Pump program Typescript SDK.\n\n## Coin creator fees update\n\nWe will deploy a breaking update to both Pump and PumpSwap (Pump AMM) programs to add support for coin creator fees on\nMainnet on Monday, May 12, 11:00 AM UTC.\n\nOn Devnet, both programs have already been updated to support coin creator fees.\n\nWho will receive coin creator fees?\n- all non-completed Pump bonding curves;\n- all canonical PumpSwap pools will. Canonical PumpSwap pools are pools created by Pump program `migrate` instruction\n  for completed bonding curves.\n\nWho will not receive coin creator fees?\n- coins already migrated to Raydium, as that program is not under our control.\n- normal PumpSwap pools which are not created by Pump program `migrate` instruction.\n\nYou should start by using the latest IDL files for both programs from the [idl](idl) directory. They are\nbackwards-compatible with current programs deployed on Mainnet, so you can start using them now.\n\nYou can also use our Typescript SDKs for easier integration:\n- [Pump SDK](https://www.npmjs.com/package/@pump-fun/pump-sdk)\n- [PumpSwap SDK](https://www.npmjs.com/package/@pump-fun/pump-swap-sdk)\n\nIf you implement and test the changes described in these two documents on Devnet before the creator fee upgrade, you\nshould not experience any downtime. Ideally, you should use exactly the same code for both Devnet and Mainnet, before\nwe update the programs on Mainnet."
  },
  {
    "path": "docs/PUMP_PROGRAM_README.md",
    "content": "# Pump program\n\nPump program allows creating SPL coins that are instantly tradeable on a bonding curve without having to seed liquidity.\nWhen the coin hits a certain market cap the liquidity from the bonding curve is migrated to PumpSwap (an AMM on Solana).\nThe LP tokens received from the PumpSwap pool are then burnt.\n\nThe bonding curve formula is based on Uniswap V2 and uses synthetic x and y reserves to ensure that there is liquidity\nfor the coin.\n\nPump program is deployed at address `6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P` on\nboth [Mainnet](https://solscan.io/account/6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P)\nand [Devnet](https://solscan.io/account/6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P?cluster=devnet).\n\n## State\n\n### Global\n\nThe global configuration of the program is stored in the only `Global` account, whose address is\n`4wTV1YmiEkRvAtNtsSGPtUrqRYQMe5SKy2uB4Jjaxnjf` (PDA-derived from `[\"global\"]` seeds). The content of this account\ncan be examined\non [Mainnet Solscan](https://solscan.io/account/4wTV1YmiEkRvAtNtsSGPtUrqRYQMe5SKy2uB4Jjaxnjf#accountData):\n\n```json\n{\n  \"initialized\": {\n    \"type\": \"bool\",\n    \"data\": true\n  },\n  \"authority\": {\n    \"type\": \"pubkey\",\n    \"data\": \"FFWtrEQ4B4PKQoVuHYzZq8FabGkVatYzDpEVHsK5rrhF\"\n  },\n  \"fee_recipient\": {\n    \"type\": \"pubkey\",\n    \"data\": \"62qc2CNXwrYqQScmEdiZFFAnJR262PxWEuNQtxfafNgV\"\n  },\n  \"initial_virtual_token_reserves\": {\n    \"type\": \"u64\",\n    \"data\": \"1073000000000000\"\n  },\n  \"initial_virtual_sol_reserves\": {\n    \"type\": \"u64\",\n    \"data\": \"30000000000\"\n  },\n  \"initial_real_token_reserves\": {\n    \"type\": \"u64\",\n    \"data\": \"793100000000000\"\n  },\n  \"token_total_supply\": {\n    \"type\": \"u64\",\n    \"data\": \"1000000000000000\"\n  },\n  \"fee_basis_points\": {\n    \"type\": \"u64\",\n    \"data\": \"100\"\n  },\n  \"withdraw_authority\": {\n    \"type\": \"pubkey\",\n    \"data\": \"39azUYFWPz3VHgKCf3VChUwbpURdCHRxjWVowf5jUJjg\"\n  },\n  \"enable_migrate\": {\n    \"type\": \"bool\",\n    \"data\": true\n  },\n  \"pool_migration_fee\": {\n    \"type\": \"u64\",\n    \"data\": \"15000001\"\n  },\n  \"creator_fee\": {\n    \"type\": \"u64\",\n    \"data\": \"0\"\n  },\n  \"fee_recipients\": {\n    \"type\": {\n      \"array\": [\n        \"pubkey\",\n        7\n      ]\n    },\n    \"data\": [\n      \"7VtfL8fvgNfhz17qKRMjzQEXgbdpnHHHQRh54R9jP2RJ\",\n      \"7hTckgnGnLQR6sdH7YkqFTAA7VwTfYFaZ6EhEsU3saCX\",\n      \"9rPYyANsfQZw3DnDmKE3YCQF5E8oD89UXoHn9JFEhJUz\",\n      \"AVmoTthdrX6tKt4nDjco2D775W2YK3sDhxPcMmzUAmTY\",\n      \"CebN5WGQ4jvEPvsVU4EoHEpgzq1VV7AbicfhtW4xC9iM\",\n      \"FWsW1xNtWscwNmKv6wVsU1iTzRN6wmmk3MjxRP5tT7hz\",\n      \"G5UZAVbAf46s7cKWoyKu8kYTip9DGTpbLZ2qa9Aq69dP\"\n    ]\n  }\n}\n```\n\n- The `initialized` field is set to `true` and never used.\n- The `authority` pubkey is the authority which can update the global configuration.\n- The `fee_recipient` pubkey is one of the 8 fee_recipients which can be used by `buy` / `sell` instructions, together\n  with the other 7 `Global::fee_recipients` pubkeys.\n- The `initial_virtual_token_reserves`, `initial_virtual_sol_reserves`, `initial_real_token_reserves` and\n  `token_total_supply` fields are used as the initial parameters for the bonding curve of each newly created coin.\n- The `fee_basis_points == 100 bps` represents the fee in bps transferred to the `fee_recipient` account on `buy` /\n  `sell` instructions.\n- The `withdraw_authority` pubkey is the authority which can call the deprecated `withdraw` instruction.\n- The `enable_migrate` flag is used to enable the new `migrate` instruction and disable the deprecated `withdraw`\n  instruction. Currently, it is set to `true`.\n- The `pool_migration_fee` are the minimum lamports necessary to pay for all accounts created during `migrate`\n  instruction. It is currently set the minimum of `15000001`, less than `MAX_MIGRATE_FEES == 15_000_000`, which\n  represents\n  the maximum cost of all accounts created during a `migrate` instruction.\n- The `creator_fee` is set to `0` and is not used.\n\n### Bonding curve\n\nEach coin has an associated bonding curve account, which is PDA-derived from `[\"bonding-curve\", mint]` seeds. An example\nbonding curve account can be found\nat https://solscan.io/account/EsmVk4MTsoT71JFaRM5DWFZboKpMQjfY6EYzAgUuksXw#accountData:\n\n```json\n{\n  \"virtual_token_reserves\": {\n    \"type\": \"u64\",\n    \"data\": \"1072999999992855\"\n  },\n  \"virtual_sol_reserves\": {\n    \"type\": \"u64\",\n    \"data\": \"30000000013\"\n  },\n  \"real_token_reserves\": {\n    \"type\": \"u64\",\n    \"data\": \"793099999992855\"\n  },\n  \"real_sol_reserves\": {\n    \"type\": \"u64\",\n    \"data\": \"13\"\n  },\n  \"token_total_supply\": {\n    \"type\": \"u64\",\n    \"data\": \"1000000000000000\"\n  },\n  \"complete\": {\n    \"type\": \"bool\",\n    \"data\": false\n  }\n}\n```\n\n- The `virtual_token_reserves`, `virtual_sol_reserves`, `real_token_reserves` and `token_total_supply` fields are\n  initialized on coin creation to the corresponding values from `Global` account. The initial `real_sol_reserves` is set\n  to `0`.\n- On each `buy` operation, `virtual_sol_reserves` and `real_sol_reverses` increase with the same lamports amount\n  according to\n  the bonding curve formula, while `virtual_token_reserves` and `real_token_reserves` decrease with the same coin\n  amount.\n- On each `sell` operation, `virtual_sol_reserves` and `real_sol_reverses` decrease with the same lamports amount\n  according to\n  the bonding curve formula, while `virtual_token_reserves` and `real_token_reserves` increase with the same coin\n  amount.\n- The `complete` field is initially set to `false`. It is set to `true` at the end of a `buy` instruction, when\n  `real_token_reserves == 0`, so there are no more real tokens left in the bonding curve.\n\n## Instructions\n\n- `create(user, name, symbol, uri, creator)` allows a `user` to create a new coin with the given `name`, `symbol` and\n  `uri`. The `creator` pubkey is the creator which will be added to the mint Metaplex metadata `creators` array,\n  together with the provided `name`, `symbol` and `uri`.\n    - In general, `user` and `creator` are the same pubkey, but they can be different, for example, on the\n      `free coin creation` flow, when the first coin buyer also creates the coin on-chain. In this case, `creator`\n      pubkey is the original coin creator, while `user` pubkey is the first buyer. This is also the reason why `creator`\n      pubkey is not required to be a signer for this instruction, as the original creator cannot sign the tx of the\n      first coin buyer.\n\n- `buy(user, associated_user, mint, amount, max_sol_cost)` allows a `user` to buy the exact `amount` of coins from the\n  bonding curve of the given `mint`, using at most `max_sol_cost` lamports.\n\n- `sell(user, associated_user, mint, amount, min_sol_output)` allows a `user` to sell the exact `amount` of coins to\n  the bonding curve of the given `mint`, receiving at least `min_sol_output` lamports.\n\n- `withdraw(withdraw_authority, mint)` is a now-disabled instruction which allowed the `withdraw_authority` pubkey to\n  withdraw the liquidity of a completed bonding curve and migrate it to Raydium from an off-chain server.\n\n- `migrate(user, mint)` allows any `user` to migrate the liquidity of a completed bonding curve of the given `mint` to\n  PumpSwap AMM. A completed bonding curve is a bonding curve with `complete == true` and `real_token_reserves == 0`. The\n  `migrate` instruction is idempotent, meaning that running it on a completed and migrated bonding curve does nothing.\n  It is also permisionless, so anyone can migrate a completed bonding curve.\n\n- `extend_account(user, account)` allows anyone to extend the data size of any program-owned account (`Global` or\n  `BondingCurve`) in order to allow adding new fields to the existing account types.\n\n- `initialize(user, global)` initialized the sole `Global` account on Pump program deployment and can be executed by\n  anyone. The first pubkey which successfully executes `initialize` is the one which sets the `Global::authority` field.\n  This instruction cannot be called more than once because the second time it is called, the `Global` account already\n  exists.\n- `update_global_authority(global, authority, new_authority)` allows the current `Global::authority` to update the\n  `Global::authority` field to a new pubkey.\n- `set_params(global, authority)` allows updating all the `Global` account fields, apart from `Global::authority`, which\n  is updated using `update_global_authority` instruction.\n"
  },
  {
    "path": "docs/PUMP_SWAP_CREATOR_FEE_README.md",
    "content": "PumpSwap (Pump AMM) program will have a breaking upgrade to add support for coin creator fees. Each swap on canonical\nPump pools will send a fee to a coin creator vault account, apart from the already existing lp fee and protocol fee.\n\nCanonical Pump pools are pools which have a `Pool::creator` defined as a Pump program PDA with the following seeds:\n\n```rust\npub fn pump_pool_authority_pda(base_mint: &Pubkey) -> Pubkey {\n    let (pump_pool_authority, _) = Pubkey::find_program_address(\n        &[b\"pool-authority\", base_mint.as_ref()],\n        &Pubkey::from_str(\"6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P\").unwrap(),\n    );\n    pump_pool_authority\n}\n```\n\nCanonical Pump pools are pools created by Pump program `migrate` instruction for completed bonding curves.\n\n`Pool` accounts will be extended to `300` bytes to support future protocol updates, including this one. So\nyou need to prepend an `extendAccount(pool)` instruction to your buy / sell txs if the `pool.dataLen < 300`.\n\nBoth `buy` and `sell` instructions will be need to append two new inputs accounts (input account indexes `17` and `18`):\n\n```rust\n    #[account(\n        mut,\n        associated_token::mint = quote_mint,\n        associated_token::authority = coin_creator_vault_authority,\n        associated_token::token_program = quote_token_program,\n    )]\n    pub coin_creator_vault_ata: InterfaceAccount<'info, TokenAccount>,\n    #[account(\n        seeds = [\n            b\"creator_vault\",\n            pool.coin_creator.as_ref()\n        ],\n        bump\n    )]\n    pub coin_creator_vault_authority: AccountInfo<'info >,\n```\n\nSo the `coin_creator_vault_authority` PDA is dependent on a new `Pool::coin_creator` field. The updated `Pool` struct\nwill look like this:\n\n```rust\n#[account]\npub struct Pool {\n    pub pool_bump: u8,\n    pub index: u16,\n    pub creator: Pubkey,\n    pub base_mint: Pubkey,\n    pub quote_mint: Pubkey,\n    pub lp_mint: Pubkey,\n    pub pool_base_token_account: Pubkey,\n    pub pool_quote_token_account: Pubkey,\n    pub lp_supply: u64,\n    pub coin_creator: Pubkey, // new coin creator field, set only for canonical pools, otherwise set to Pubkey::default()\n}\n```\n\nThere is also another change in fee calculation. There will be a new `GlobalConfig::coin_creator_fee_basis_points`\nfield, which will be used in computing the coin creator fee. The new `GlobalConfig` struct will look like this:\n\n```rust\n#[account]\npub struct GlobalConfig {\n    pub admin: Pubkey,\n    pub lp_fee_basis_points: u64,\n    pub protocol_fee_basis_points: u64,\n    pub disable_flags: u8,\n    pub protocol_fee_recipients: [Pubkey; 8],\n    pub coin_creator_fee_basis_points: u64, // new coin creator fee bps field\n}\n```\n\nCurrently, the `GlobalConfig::coin_creator_fee_basis_points` field is set to `0`. But you can start using the new fee\ncalculation logic from now to be ready for the coin creator fee update. The latest `@pump-fun/pump-swap-sdk` NPM package\nversion contains all the updates for coin creator fee support:\n[PumpSwap SDK](https://www.npmjs.com/package/@pump-fun/pump-swap-sdk) (including the source code of the SDK).\n\nAll Pump canonical pools will start receiving coin creator fees on each swap after the coin creator fee update is\ndeployed and `GlobalConfig::coin_creator_fee_basis_points` is set something else apart from `0`.\n\nThe `Pool::coin_creator` parameter will be populated from:\n\n- the new `coin_creator` argument passed to `create_pool` instruction for newly created canonical Pump pools. Otherwise,\n  the new `coin_creator` argument is ignored.\n- the `base_mint` Metaplex creator metadata or `BondingCurve::creator`, by using the `set_creator` instruction. You can\n  include this instruction in your transactions, but it's not needed, as our backend service will listen for `BuyEvent`s\n  and `SellEvent`s and will set the `Pool::coin_creator` dynamically for canonical pools missing it.\n\nThe fees accumulated in a creator vault ATA can be transferred to any token account of the coin creator using the\n`PumpAmmSdk.collectCoinCreatorFee(coinCreator)` instruction. The `coinCreator` needs to sign the transaction including\nthis instruction.\n\nThe currently deployed PumpSwap program\non [Mainnet](https://solscan.io/account/pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA)\nis backwards-compatible with the new update, so you can start using the new IDL from now, to be ready and not experience\nany downtime when the coin creator fee update gets released.\n\nWe already updated the Devnet program, so you have time until Monday to implement the changes above. Ideally, the\nsame code should work on both the creator fee update on Devnet and the current Mainnet program, before we update\nPumpSwap program on Mainnet to the coin creator fee update.\n"
  },
  {
    "path": "docs/PUMP_SWAP_README.md",
    "content": "# PumpSwap (Pump AMM) program\n\nPumpSwap program is a constant-product AMM deployed at address `pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA` on\nboth [Mainnet](https://solscan.io/account/pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA)\nand [Devnet](https://solscan.io/account/pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA?cluster=devnet).\n\n## State\n\n### GlobalConfig\n\nThe global configuration of the program is stored in the only `GlobalConfig` account, whose address is\n`ADyA8hdefvWN2dbGGWFotbzWxrAvLW83WG6QCVXvJKqw` (PDA-derived from `[\"global_config\"]` seeds). The content of this account\ncan be examined\non [Mainnet Solscan](https://solscan.io/account/ADyA8hdefvWN2dbGGWFotbzWxrAvLW83WG6QCVXvJKqw#accountData):\n\n```json\n{\n  \"admin\": {\n    \"type\": \"pubkey\",\n    \"data\": \"FFWtrEQ4B4PKQoVuHYzZq8FabGkVatYzDpEVHsK5rrhF\"\n  },\n  \"lp_fee_basis_points\": {\n    \"type\": \"u64\",\n    \"data\": \"20\"\n  },\n  \"protocol_fee_basis_points\": {\n    \"type\": \"u64\",\n    \"data\": \"5\"\n  },\n  \"disable_flags\": {\n    \"type\": \"u8\",\n    \"data\": 0\n  },\n  \"protocol_fee_recipients\": {\n    \"type\": {\n      \"array\": [\n        \"pubkey\",\n        8\n      ]\n    },\n    \"data\": [\n      \"62qc2CNXwrYqQScmEdiZFFAnJR262PxWEuNQtxfafNgV\",\n      \"7VtfL8fvgNfhz17qKRMjzQEXgbdpnHHHQRh54R9jP2RJ\",\n      \"7hTckgnGnLQR6sdH7YkqFTAA7VwTfYFaZ6EhEsU3saCX\",\n      \"9rPYyANsfQZw3DnDmKE3YCQF5E8oD89UXoHn9JFEhJUz\",\n      \"AVmoTthdrX6tKt4nDjco2D775W2YK3sDhxPcMmzUAmTY\",\n      \"FWsW1xNtWscwNmKv6wVsU1iTzRN6wmmk3MjxRP5tT7hz\",\n      \"G5UZAVbAf46s7cKWoyKu8kYTip9DGTpbLZ2qa9Aq69dP\",\n      \"JCRGumoE9Qi5BBgULTgdgTLjSgkCMSbF62ZZfGs84JeU\"\n    ]\n  }\n}\n```\n\n- The `admin` pubkey is the pubkey authorized to update the `GlobalConfig` account.\n- The `lp_fee_basis_points == 20 bps` and `protocol_fee_basis_points == 5 bps` are the fees charged by the AMM for each\n  `buy` / `sell` instruction. No fees are charged on `deposit` / `withdraw` instruction.\n- The `disable_flags` is a bitmask that can be used to disable certain instructions. Currently, it is not used.\n- The `protocol_fee_recipients` is an array of 8 pubkeys which receive the protocol fees on each `buy` /\n  `sell` instruction. Any of the 8 pubkeys can be used in a `buy` / `sell` instruction and it is recommended to randomly\n  choose a different one for each `buy` / `sell` instruction to improve program tx throughput.\n\n### Pool\n\nEach pool is represented by a `Pool` account, which is PDA-derived from the\n`[\"pool\", index, creator, baseMint, quoteMint]` seeds. An example Pool account data can be found\nat https://solscan.io/account/GseMAnNDvntR5uFePZ51yZBXzNSn7GdFPkfHwfr6d77J#accountData:\n\n```json\n{\n  \"pool_bump\": {\n    \"type\": \"u8\",\n    \"data\": 254\n  },\n  \"index\": {\n    \"type\": \"u16\",\n    \"data\": \"0\"\n  },\n  \"creator\": {\n    \"type\": \"pubkey\",\n    \"data\": \"9XDYTfQKwW8sHPqnFdUreMmtmffmkHVPGTNV2e3LKxNW\"\n  },\n  \"base_mint\": {\n    \"type\": \"pubkey\",\n    \"data\": \"7LSsEoJGhLeZzGvDofTdNg7M3JttxQqGWNLo6vWMpump\"\n  },\n  \"quote_mint\": {\n    \"type\": \"pubkey\",\n    \"data\": \"So11111111111111111111111111111111111111112\"\n  },\n  \"lp_mint\": {\n    \"type\": \"pubkey\",\n    \"data\": \"6dpnPD6UWDw5hbJEuPQwnCCMba1JYwHANKuL6GQ6otAH\"\n  },\n  \"pool_base_token_account\": {\n    \"type\": \"pubkey\",\n    \"data\": \"5jMpkf4JF4noHftLgNKyPNh6roVfPSGSjuEk3U4eLKRa\"\n  },\n  \"pool_quote_token_account\": {\n    \"type\": \"pubkey\",\n    \"data\": \"43DVcZR4kQFjh4Xm2i3DcneRxNjZp7HMud8yDrJWrDr8\"\n  },\n  \"lp_supply\": {\n    \"type\": \"u64\",\n    \"data\": \"4193388284800\"\n  }\n}\n```\n\n- The `pool_bump` is the bump seed used to derive the pool PDA.\n- The `index` is the index of the pool, which is used to derive the pool PDA. PumpSwap pools created using Pump program\n  `migrate` instruction use a `CANONONICAL_POOL_INDEX == 0`.\n- The `creator` is the pubkey of the pool creator, which is also used to derive the pool PDA.\n- The `base_mint` and `quote_mint` are the mint addresses of the base and quote tokens of the pool.\n- The `lp_mint` is the mint address of the LP token, which is used to represent the liquidity of the pool. The LP mint\n  address can also be PDA-derived from the `[\"pool_lp_mint\", pool_key]` seeds, but it is stored in `Pool` account for\n  simpler pubkey equality checks on PumpSwap program instructions.\n- The `pool_base_token_account` and `pool_quote_token_account` are the ATAs (associated token accounts) of\n  the base and quote mints of the `pool` account, respectively. They again could be PDA-derived from the `pool`,\n  `base_mint` and `quote_mint` pubkeys, but they are stored in the `Pool` account for easier pubkey equality checks on\n  PumpSwap program instructions.\n- The `lp_supply` is the total supply of the `lp_mint` without burns and lock-ups. This means that if someone deposits\n  into the pool, then they burn their `lp_mint` tokens, the `Pool::lp_supply` will still reflect the original supply\n  of the `lp_mint`. This way, the pool differentiates between `lp_mint` tokens burnt by users directly and those burnt\n  by the `withdraw` instruction.\n\n## Instructions\n\nIt supports the following Anchor program instructions:\n\n- `create_pool(index, creator, baseMint, quoteMint, baseIn, quoteIn)`.\n    - This allows creating a new AMM pool for the`(baseMint, quoteMint)` pair.\n    - The `poolId` is PDA-derived from the tuple `(index, creator, baseMint, quoteMint)`. The `index` allows the same\n      `creator` to create multiple pools for the same `(baseMint, quoteMint)` pair.\n    - The `creator` is the pubkey of the pool creator and also the payer for pool creation costs.\n    - `baseIn` and `quoteIn` are the initial amounts of `baseMint` and `quoteMint` tokens to be deposited into the pool,\n      and they determine the initial pool price.\n    - The `creator` also receives some `lpMint` tokens, which represent the initial liquidity of the pool. These\n      `lpMint` tokens can be later used to `withdraw` liquidity from the pool.\n\n- Liquidity instructions:\n    - `deposit(pool, user, lpTokenOut, maxBaseIn, maxQuoteIn)` allows a `user` to deposit at most `maxBaseIn` and\n      `maxQuoteIn` tokens into the `pool` in order to get exactly `lpTokenOut` tokens in return.\n    - `withdraw(pool, user, lpTokenIn, minBaseOut, minQuoteOut)` allows a `user` to withdraw at least `minBaseOut` and\n      `minQuoteOut` tokens from the `pool` by burning exactly `lpTokenIn` tokens in return.\n\n- Swap instructions:\n    - `buy(pool, user, baseOut, maxQuoteIn)` allows a `user` to buy exactly `baseOut` tokens from the `pool` by paying\n      at most `maxQuoteIn` tokens.\n    - `sell(pool, user, baseIn, minQuoteOut)` allows a `user` to sell exactly `baseIn` tokens to the `pool` to receive\n      at least `minQuoteOut` tokens.\n\n- Utility instructions:\n    - `extend_account(user, account)` allows any user to extend the data array of a program-owned account (\n      `GlobalConfig` or `Pool` account) to allow for future fields to be added to those account types.\n\n- Admin instructions (can be executed only to `GlobalConfig::admin` pubkey):\n    - `create_config(hardcoded_admin, global_config)` allows creating the sole `GlobalConfig` account on initial\n      PumpSwap program deployment. The `hardcoded_admin` is a hardcoded pubkey into PumpSwap program itself, which is\n      allowed to create the `GlobalConfig` account and will initialize `GlobalConfig::admin` to the `hardcoded_admin`\n      pubkey. This instruction can be run only once, because it will fail the second time, since `GlobalConfig` already\n      exists.\n    - `disable(admin, disable_create_pool, disable_deposit, disable_withdraw, disable_buy, disable_sell)` allows the\n      `admin` to globally disable any Pump Swap operation.\n    - `update_admin(admin, new_admin, global_config)` allows the `admin` to update the `GlobalConfig::admin` pubkey to a\n      new one.\n    - `update_fee_config(admin, lp_fee_basis_points, protocol_fee_basis_points, protocol_fee_recipients)` allows the\n      `admin` to update the `GlobalConfig::lp_fee_basis_points`, `GlobalConfig::protocol_fee_basis_points` and\n      `GlobalConfig::protocol_fee_recipients`.\n\n## Mapping PumpSwap SDK methods to Anchor instructions\n\n- `PumpAmmAdminSdk.createPoolInstructions(index, creator, baseMint, quoteMint, baseIn, quoteIn)` returns a\n  `create_pool(index, creator, baseMint, quoteMint, baseIn, quoteIn)` instruction.\n\n- `PumpAmmAdminSdk.depositInstructions(pool, user, lpTokenOut, slippage)` returns a\n  `deposit(pool, user, lpTokenOut, maxBaseIn, maxQuoteIn)` instruction, where `maxBaseIn` and `maxQuoteIn` are computed\n  using `lpTokenOut`, `slippage` and the current pool balances.\n\n- `PumpAmmAdminSdk.withdrawInstructions(pool, user, lpTokenIn, slippage)` returns a\n  `withdraw(pool, user, lpTokenIn, minBaseOut, minQuoteOut)` instruction, where `minBaseOut` and `minQuoteOut` are\n  computed using `lpTokenIn`, `slippage` and the current pool balances.\n\n- `PumpAmmInternalSdk.buyBaseInput(pool, user, baseOut, slippage)` returns a `buy(pool, user, baseOut, maxQuoteIn)`\n  instruction, where `maxQouteIn` is computed using `baseOut`, `slippage` and the current pool balances.\n- `PumpAmmInternalSdk.buyQuoteInput(pool, user, quote, slippage)` returns a `buy(pool, user, baseOut, maxQuoteIn)`\n  instruction, where `baseOut` is computed using `quote`, `slippage` and the current pool balances and `maxQuoteIn`\n  is `quote` scaled with `slippage`.\n- `PumpAmmInternalSdk.sellBaseInput(pool, user, baseIn, slippage)` returns a `sell(pool, user, baseIn, minQuoteOut)`\n  instruction, where `minQuoteOut` is computed using `baseIn`, `slippage` and the current pool balances.\n- `PumpAmmInternalSdk.sellQuoteInput(pool, user, quote, slippage)` returns a `sell(pool, user, baseIn, minQuoteOut)`\n  instruction, where `baseIn` is computed using `quote`, `slippage` and the current pool balances and\n  `minQuoteOut` is `quote` scaled with `slippage`.\n\n- `PumpAmmSdk.swapBaseInstructions(pool, user, base, slippage, direction)` calls either\n  `PumpAmmInternalSdk.buyBaseInput(pool, user, base, slippage)` (`if (direction == \"quoteToBase\")`) or\n  `PumpAmmInternalSdk.sellBaseInput(pool, user, base, slippage)` (`if (direction == \"baseToQuote\")`).\n- `PumpAmmSdk.swapQuoteInstructions(pool, user, quote, slippage, direction)` calls either\n  `PumpAmmInternalSdk.buyQuoteInput(pool, user, quote, slippage)` (`if (direction == \"quoteToBase\")`) or\n  `PumpAmmInternalSdk.sellQuoteInput(pool, user, quote, slippage)` (`if (direction == \"baseToQuote\")`).\n\n## PumpSwap SDK autocomplete UI helpers\n\nEach Anchor instruction has a set of corresponding autocomplete methods that can be used to autocomplete the UI inputs:\n\n- `PumpAmmSdk.createAutocompleteInitialPoolPrice(initialBase, initialQuote)` is used to display the initial pool price\n  based on the initial `base` and `quote` inputs on pool creation.\n\n- `PumpAmmSdk.depositAutocompleteQuoteAndLpTokenFromBase(pool, base, slippage)` is used to autocomplete the\n  corresponding `quote` and `lpToken` values in the UI when the `base` input changes on deposit UI.\n- `PumpAmmSdk.depositAutocompleteBaseAndLpTokenFromQuote(pool, quote, slippage)` is used to autocomplete the\n  corresponding `base` and `lpToken` values in the UI when the `quote` input changes on deposit UI.\n\n- `PumpAmmSdk.swapAutocompleteBaseFromQuote(pool, quote, slippage, swapDirection)` is used to autocomplete the\n  corresponding `base` value in the UI when the `quote` input changes on swap UI.\n- `PumpAmmSdk.swapAutocompleteQuoteFromBase(pool, base, slippage, swapDirection)` is used to autocomplete the\n  corresponding `quote` value in the UI when the `base` input changes on swap UI.\n\n- `PumpAmmSdk.swapAutocompleteBaseFromQuote(pool, quote, slippage, swapDirection)` calls either\n  `PumpAmmInternalSdk.buyAutocompleteBaseFromQuote(pool, quote, slippage)` (`if (swapDirection == \"quoteToBase\")`) or\n  `PumpAmmInternalSdk.sellAutocompleteBaseFromQuote(pool, quote, slippage)` (`if (swapDirection == \"baseToQuote\")`).\n- `PumpAmmSdk.swapAutocompleteQuoteFromBase(pool, base, slippage, swapDirection)` calls either\n  `PumpAmmInternalSdk.buyAutocompleteQuoteFromBase(pool, base, slippage)` (`if (swapDirection == \"quoteToBase\")`) or\n  `PumpAmmInternalSdk.sellAutocompleteQuoteFromBase(pool, base, slippage)` (`if (swapDirection == \"baseToQuote\")`).\n\n- `PumpAmmSdk.withdrawAutoCompleteBaseAndQuoteFromLpToken(pool, lpToken, slippage)` is used to autocomplete the\n  corresponding `base` and `quote` values in the UI when the `lpToken` input changes on withdraw UI.\n"
  },
  {
    "path": "docs/PUMP_SWAP_SDK_README.md",
    "content": "# Pump SDK\n\nThe SDK is structured as follows:\n- `PumpAmmSdk` is the high level SDK, useful for UI integrations.\n- `PumpAmmInternalSdk` is the low level SDK, useful for programmatic integrations, allowing full customization of instructions.\n- `PumpAmmAdminSdk` is the SDK which allows access to admin-protected instructions.\n\n## Create pool\n\nTo create a `(base, quote)` pool, you need to call:\n`const createPoolInstructions = await pumpAmmSdk.createPoolInstructions(index, creator, baseMint, quoteMint, baseIn, quoteIn)`.\n\nOn UI, you can use `const initialPoolPrice = pumpAmmSdk.createAutocompleteInitialPoolPrice(initialBase, initialQuote)` to display\nthe initial pool price based on the initial `base` and `quote` inputs.\n\n## Deposit\n\nFor depositing into a `(quote, base)` pool:\n- when the `base` input changes, you need to call\n  `const {quote, lpToken} = await pumpAmmSdk.depositAutocompleteQuoteAndLpTokenFromBase(pool, base, slippage)` in order to\n  autocomplete the corresponding `quote` and `lpToken` values in the UI.\n- when the `quote` input changes, you need to call\n  `const {base, lpToken} = await pumpAmmSdk.depositAutocompleteBaseAndLpTokenFromQuote(pool, quote, slippage)` in order to\n  autocomplete the corresponding `base` and `lpToken` values in the UI.\n\nNo matter which input is changed, when hitting deposit, you need to call\n`const depositInstructions = await pumpAmmSdk.depositInstructions(pool, lpToken, slippage, user)`\nto build the AMM deposit instruction, because `lpToken` is the only fixed input required by the `deposit` instruction.\n\n## Swap\n\nBy default, the UI will display a `(quote, base)` pool like this:\n\nQuote on first line, base on second line, with an ⬇️ from quote to base.\nBy default, you swap `quote` tokens for `base` tokens.\n\nThe arrow `swapDirection` can be either `quoteToBase` (⬇️, default)\nor `baseToQuote` (⬆️).\n\n```\n(USDC, SOL) pool:\n- USDC (quote)\n- ⬇️\n- SOL (base)\n```\n\n- If `quote` input changes, you call\n  `const base = await pumpAmmSdk.swapAutocompleteBaseFromQuote(pool, quote, slippage, swapDirection)`.\n- If `base` input changes, you call\n  `const quote = await pumpAmmSdk.swapAutocompleteQuoteFromBase(pool, base, slippage, swapDirection)`.\n\nNo matter which input is changed, when hitting swap, you can call\n`const swapInstructions = await pumpAmmSdk.swapBaseInstructions(pool, base, slippage, swapDirection, user)` or \n`const swapInstructions = await pumpAmmSdk.swapBaseInstructions(pool, quote, slippage, swapDirection, user)` to \nbuild the AMM swap instructions.\n\nThe `swapDirection` can be toggled in the UI either by making the arrow point upward or by swapping the base and quote\ntokens positions.\n\n```\n(USDC, SOL) pool\n- USDC (quote)\n- ⬆️\n- SOL (base)\n```\n\n## Withdraw\n\nFor withdrawing from a `(base, quote)` pool, you can use:\n`const withdrawInstructions = await pumpAmmSdk.withdrawInstructions(pool, lpToken, slippage, user)`.\n\nIn the UI, you can use `const {base, quote} = pumpAmmSdk.withdrawAutocompleteBaseAndQuoteFromLpToken(pool, lpToken, slippage)`\nto autocomplete the `base` and `quote` displayed amounts based on the `lpToken` input.\n"
  },
  {
    "path": "idl/pump.json",
    "content": "{\n  \"address\": \"6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P\",\n  \"metadata\": {\n    \"name\": \"pump\",\n    \"version\": \"0.1.0\",\n    \"spec\": \"0.1.0\",\n    \"description\": \"Created with Anchor\"\n  },\n  \"instructions\": [\n    {\n      \"name\": \"admin_set_creator\",\n      \"docs\": [\n        \"Allows Global::admin_set_creator_authority to override the bonding curve creator\"\n      ],\n      \"discriminator\": [\n        69,\n        25,\n        171,\n        142,\n        57,\n        239,\n        13,\n        4\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"admin_set_creator_authority\",\n          \"signer\": true,\n          \"relations\": [\n            \"global\"\n          ]\n        },\n        {\n          \"name\": \"global\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"mint\"\n        },\n        {\n          \"name\": \"bonding_curve\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  98,\n                  111,\n                  110,\n                  100,\n                  105,\n                  110,\n                  103,\n                  45,\n                  99,\n                  117,\n                  114,\n                  118,\n                  101\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"mint\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": [\n        {\n          \"name\": \"creator\",\n          \"type\": \"pubkey\"\n        }\n      ]\n    },\n    {\n      \"name\": \"admin_set_idl_authority\",\n      \"discriminator\": [\n        8,\n        217,\n        96,\n        231,\n        144,\n        104,\n        192,\n        5\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"authority\",\n          \"signer\": true,\n          \"relations\": [\n            \"global\"\n          ]\n        },\n        {\n          \"name\": \"global\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"idl_account\",\n          \"writable\": true\n        },\n        {\n          \"name\": \"system_program\",\n          \"address\": \"11111111111111111111111111111111\"\n        },\n        {\n          \"name\": \"program_signer\",\n          \"pda\": {\n            \"seeds\": []\n          }\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": [\n        {\n          \"name\": \"idl_authority\",\n          \"type\": \"pubkey\"\n        }\n      ]\n    },\n    {\n      \"name\": \"admin_update_token_incentives\",\n      \"discriminator\": [\n        209,\n        11,\n        115,\n        87,\n        213,\n        23,\n        124,\n        204\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"authority\",\n          \"writable\": true,\n          \"signer\": true,\n          \"relations\": [\n            \"global\"\n          ]\n        },\n        {\n          \"name\": \"global\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"global_volume_accumulator\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108,\n                  95,\n                  118,\n                  111,\n                  108,\n                  117,\n                  109,\n                  101,\n                  95,\n                  97,\n                  99,\n                  99,\n                  117,\n                  109,\n                  117,\n                  108,\n                  97,\n                  116,\n                  111,\n                  114\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"mint\"\n        },\n        {\n          \"name\": \"global_incentive_token_account\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"account\",\n                \"path\": \"global_volume_accumulator\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"token_program\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"mint\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                140,\n                151,\n                37,\n                143,\n                78,\n                36,\n                137,\n                241,\n                187,\n                61,\n                16,\n                41,\n                20,\n                142,\n                13,\n                131,\n                11,\n                90,\n                19,\n                153,\n                218,\n                255,\n                16,\n                132,\n                4,\n                142,\n                123,\n                216,\n                219,\n                233,\n                248,\n                89\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"associated_token_program\",\n          \"address\": \"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\"\n        },\n        {\n          \"name\": \"system_program\",\n          \"address\": \"11111111111111111111111111111111\"\n        },\n        {\n          \"name\": \"token_program\"\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": [\n        {\n          \"name\": \"start_time\",\n          \"type\": \"i64\"\n        },\n        {\n          \"name\": \"end_time\",\n          \"type\": \"i64\"\n        },\n        {\n          \"name\": \"seconds_in_a_day\",\n          \"type\": \"i64\"\n        },\n        {\n          \"name\": \"day_number\",\n          \"type\": \"u64\"\n        },\n        {\n          \"name\": \"pump_token_supply_per_day\",\n          \"type\": \"u64\"\n        }\n      ]\n    },\n    {\n      \"name\": \"buy\",\n      \"docs\": [\n        \"Buys tokens from a bonding curve.\"\n      ],\n      \"discriminator\": [\n        102,\n        6,\n        61,\n        18,\n        1,\n        218,\n        235,\n        234\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"global\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"fee_recipient\",\n          \"writable\": true\n        },\n        {\n          \"name\": \"mint\"\n        },\n        {\n          \"name\": \"bonding_curve\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  98,\n                  111,\n                  110,\n                  100,\n                  105,\n                  110,\n                  103,\n                  45,\n                  99,\n                  117,\n                  114,\n                  118,\n                  101\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"mint\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"associated_bonding_curve\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"account\",\n                \"path\": \"bonding_curve\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"token_program\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"mint\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                140,\n                151,\n                37,\n                143,\n                78,\n                36,\n                137,\n                241,\n                187,\n                61,\n                16,\n                41,\n                20,\n                142,\n                13,\n                131,\n                11,\n                90,\n                19,\n                153,\n                218,\n                255,\n                16,\n                132,\n                4,\n                142,\n                123,\n                216,\n                219,\n                233,\n                248,\n                89\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"associated_user\",\n          \"writable\": true\n        },\n        {\n          \"name\": \"user\",\n          \"writable\": true,\n          \"signer\": true\n        },\n        {\n          \"name\": \"system_program\",\n          \"address\": \"11111111111111111111111111111111\"\n        },\n        {\n          \"name\": \"token_program\"\n        },\n        {\n          \"name\": \"creator_vault\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  99,\n                  114,\n                  101,\n                  97,\n                  116,\n                  111,\n                  114,\n                  45,\n                  118,\n                  97,\n                  117,\n                  108,\n                  116\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"bonding_curve.creator\",\n                \"account\": \"BondingCurve\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\",\n          \"address\": \"6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P\"\n        },\n        {\n          \"name\": \"global_volume_accumulator\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108,\n                  95,\n                  118,\n                  111,\n                  108,\n                  117,\n                  109,\n                  101,\n                  95,\n                  97,\n                  99,\n                  99,\n                  117,\n                  109,\n                  117,\n                  108,\n                  97,\n                  116,\n                  111,\n                  114\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"user_volume_accumulator\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  117,\n                  115,\n                  101,\n                  114,\n                  95,\n                  118,\n                  111,\n                  108,\n                  117,\n                  109,\n                  101,\n                  95,\n                  97,\n                  99,\n                  99,\n                  117,\n                  109,\n                  117,\n                  108,\n                  97,\n                  116,\n                  111,\n                  114\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"user\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"fee_config\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  102,\n                  101,\n                  101,\n                  95,\n                  99,\n                  111,\n                  110,\n                  102,\n                  105,\n                  103\n                ]\n              },\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  1,\n                  86,\n                  224,\n                  246,\n                  147,\n                  102,\n                  90,\n                  207,\n                  68,\n                  219,\n                  21,\n                  104,\n                  191,\n                  23,\n                  91,\n                  170,\n                  81,\n                  137,\n                  203,\n                  151,\n                  245,\n                  210,\n                  255,\n                  59,\n                  101,\n                  93,\n                  43,\n                  182,\n                  253,\n                  109,\n                  24,\n                  176\n                ]\n              }\n            ],\n            \"program\": {\n              \"kind\": \"account\",\n              \"path\": \"fee_program\"\n            }\n          }\n        },\n        {\n          \"name\": \"fee_program\",\n          \"address\": \"pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ\"\n        }\n      ],\n      \"args\": [\n        {\n          \"name\": \"amount\",\n          \"type\": \"u64\"\n        },\n        {\n          \"name\": \"max_sol_cost\",\n          \"type\": \"u64\"\n        },\n        {\n          \"name\": \"track_volume\",\n          \"type\": {\n            \"defined\": {\n              \"name\": \"OptionBool\"\n            }\n          }\n        }\n      ]\n    },\n    {\n      \"name\": \"buy_exact_sol_in\",\n      \"docs\": [\n        \"Given a budget of spendable SOL, buy at least min_tokens_out tokens.\",\n        \"Fees are deducted from spendable_sol_in.\",\n        \"\",\n        \"# Quote formulas\",\n        \"Where:\",\n        \"- total_fee_bps = protocol_fee_bps + creator_fee_bps (creator_fee_bps is 0 if no creator)\",\n        \"- floor(a/b) = a / b (integer division)\",\n        \"- ceil(a/b) = (a + b - 1) / b\",\n        \"\",\n        \"SOL → tokens quote\",\n        \"To calculate tokens_out for a given spendable_sol_in:\",\n        \"1. net_sol = floor(spendable_sol_in * 10_000 / (10_000 + total_fee_bps))\",\n        \"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)\",\n        \"3. if net_sol + fees > spendable_sol_in: net_sol = net_sol - (net_sol + fees - spendable_sol_in)\",\n        \"4. tokens_out = floor((net_sol - 1) * virtual_token_reserves / (virtual_sol_reserves + net_sol - 1))\",\n        \"\",\n        \"Reverse quote (tokens → SOL)\",\n        \"To calculate spendable_sol_in for a desired number of tokens:\",\n        \"1. net_sol = ceil(tokens * virtual_sol_reserves / (virtual_token_reserves - tokens)) + 1\",\n        \"2. spendable_sol_in = ceil(net_sol * (10_000 + total_fee_bps) / 10_000)\",\n        \"\",\n        \"Rent\",\n        \"Separately make sure the instruction's payer has enough SOL to cover rent for:\",\n        \"- creator_vault: rent.minimum_balance(0)\",\n        \"- user_volume_accumulator: rent.minimum_balance(UserVolumeAccumulator::LEN)\"\n      ],\n      \"discriminator\": [\n        56,\n        252,\n        116,\n        8,\n        158,\n        223,\n        205,\n        95\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"global\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"fee_recipient\",\n          \"writable\": true\n        },\n        {\n          \"name\": \"mint\"\n        },\n        {\n          \"name\": \"bonding_curve\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  98,\n                  111,\n                  110,\n                  100,\n                  105,\n                  110,\n                  103,\n                  45,\n                  99,\n                  117,\n                  114,\n                  118,\n                  101\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"mint\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"associated_bonding_curve\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"account\",\n                \"path\": \"bonding_curve\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"token_program\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"mint\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                140,\n                151,\n                37,\n                143,\n                78,\n                36,\n                137,\n                241,\n                187,\n                61,\n                16,\n                41,\n                20,\n                142,\n                13,\n                131,\n                11,\n                90,\n                19,\n                153,\n                218,\n                255,\n                16,\n                132,\n                4,\n                142,\n                123,\n                216,\n                219,\n                233,\n                248,\n                89\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"associated_user\",\n          \"writable\": true\n        },\n        {\n          \"name\": \"user\",\n          \"writable\": true,\n          \"signer\": true\n        },\n        {\n          \"name\": \"system_program\",\n          \"address\": \"11111111111111111111111111111111\"\n        },\n        {\n          \"name\": \"token_program\"\n        },\n        {\n          \"name\": \"creator_vault\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  99,\n                  114,\n                  101,\n                  97,\n                  116,\n                  111,\n                  114,\n                  45,\n                  118,\n                  97,\n                  117,\n                  108,\n                  116\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"bonding_curve.creator\",\n                \"account\": \"BondingCurve\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\",\n          \"address\": \"6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P\"\n        },\n        {\n          \"name\": \"global_volume_accumulator\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108,\n                  95,\n                  118,\n                  111,\n                  108,\n                  117,\n                  109,\n                  101,\n                  95,\n                  97,\n                  99,\n                  99,\n                  117,\n                  109,\n                  117,\n                  108,\n                  97,\n                  116,\n                  111,\n                  114\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"user_volume_accumulator\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  117,\n                  115,\n                  101,\n                  114,\n                  95,\n                  118,\n                  111,\n                  108,\n                  117,\n                  109,\n                  101,\n                  95,\n                  97,\n                  99,\n                  99,\n                  117,\n                  109,\n                  117,\n                  108,\n                  97,\n                  116,\n                  111,\n                  114\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"user\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"fee_config\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  102,\n                  101,\n                  101,\n                  95,\n                  99,\n                  111,\n                  110,\n                  102,\n                  105,\n                  103\n                ]\n              },\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  1,\n                  86,\n                  224,\n                  246,\n                  147,\n                  102,\n                  90,\n                  207,\n                  68,\n                  219,\n                  21,\n                  104,\n                  191,\n                  23,\n                  91,\n                  170,\n                  81,\n                  137,\n                  203,\n                  151,\n                  245,\n                  210,\n                  255,\n                  59,\n                  101,\n                  93,\n                  43,\n                  182,\n                  253,\n                  109,\n                  24,\n                  176\n                ]\n              }\n            ],\n            \"program\": {\n              \"kind\": \"account\",\n              \"path\": \"fee_program\"\n            }\n          }\n        },\n        {\n          \"name\": \"fee_program\",\n          \"address\": \"pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ\"\n        }\n      ],\n      \"args\": [\n        {\n          \"name\": \"spendable_sol_in\",\n          \"type\": \"u64\"\n        },\n        {\n          \"name\": \"min_tokens_out\",\n          \"type\": \"u64\"\n        },\n        {\n          \"name\": \"track_volume\",\n          \"type\": {\n            \"defined\": {\n              \"name\": \"OptionBool\"\n            }\n          }\n        }\n      ]\n    },\n    {\n      \"name\": \"claim_cashback\",\n      \"discriminator\": [\n        37,\n        58,\n        35,\n        126,\n        190,\n        53,\n        228,\n        197\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"user\",\n          \"writable\": true\n        },\n        {\n          \"name\": \"user_volume_accumulator\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  117,\n                  115,\n                  101,\n                  114,\n                  95,\n                  118,\n                  111,\n                  108,\n                  117,\n                  109,\n                  101,\n                  95,\n                  97,\n                  99,\n                  99,\n                  117,\n                  109,\n                  117,\n                  108,\n                  97,\n                  116,\n                  111,\n                  114\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"user\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"system_program\",\n          \"address\": \"11111111111111111111111111111111\"\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\",\n          \"address\": \"6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P\"\n        }\n      ],\n      \"args\": []\n    },\n    {\n      \"name\": \"claim_token_incentives\",\n      \"discriminator\": [\n        16,\n        4,\n        71,\n        28,\n        204,\n        1,\n        40,\n        27\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"user\"\n        },\n        {\n          \"name\": \"user_ata\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"account\",\n                \"path\": \"user\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"token_program\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"mint\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                140,\n                151,\n                37,\n                143,\n                78,\n                36,\n                137,\n                241,\n                187,\n                61,\n                16,\n                41,\n                20,\n                142,\n                13,\n                131,\n                11,\n                90,\n                19,\n                153,\n                218,\n                255,\n                16,\n                132,\n                4,\n                142,\n                123,\n                216,\n                219,\n                233,\n                248,\n                89\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"global_volume_accumulator\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108,\n                  95,\n                  118,\n                  111,\n                  108,\n                  117,\n                  109,\n                  101,\n                  95,\n                  97,\n                  99,\n                  99,\n                  117,\n                  109,\n                  117,\n                  108,\n                  97,\n                  116,\n                  111,\n                  114\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"global_incentive_token_account\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"account\",\n                \"path\": \"global_volume_accumulator\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"token_program\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"mint\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                140,\n                151,\n                37,\n                143,\n                78,\n                36,\n                137,\n                241,\n                187,\n                61,\n                16,\n                41,\n                20,\n                142,\n                13,\n                131,\n                11,\n                90,\n                19,\n                153,\n                218,\n                255,\n                16,\n                132,\n                4,\n                142,\n                123,\n                216,\n                219,\n                233,\n                248,\n                89\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"user_volume_accumulator\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  117,\n                  115,\n                  101,\n                  114,\n                  95,\n                  118,\n                  111,\n                  108,\n                  117,\n                  109,\n                  101,\n                  95,\n                  97,\n                  99,\n                  99,\n                  117,\n                  109,\n                  117,\n                  108,\n                  97,\n                  116,\n                  111,\n                  114\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"user\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"mint\",\n          \"relations\": [\n            \"global_volume_accumulator\"\n          ]\n        },\n        {\n          \"name\": \"token_program\"\n        },\n        {\n          \"name\": \"system_program\",\n          \"address\": \"11111111111111111111111111111111\"\n        },\n        {\n          \"name\": \"associated_token_program\",\n          \"address\": \"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\"\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\",\n          \"address\": \"6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P\"\n        },\n        {\n          \"name\": \"payer\",\n          \"writable\": true,\n          \"signer\": true\n        }\n      ],\n      \"args\": []\n    },\n    {\n      \"name\": \"close_user_volume_accumulator\",\n      \"discriminator\": [\n        249,\n        69,\n        164,\n        218,\n        150,\n        103,\n        84,\n        138\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"user\",\n          \"writable\": true,\n          \"signer\": true\n        },\n        {\n          \"name\": \"user_volume_accumulator\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  117,\n                  115,\n                  101,\n                  114,\n                  95,\n                  118,\n                  111,\n                  108,\n                  117,\n                  109,\n                  101,\n                  95,\n                  97,\n                  99,\n                  99,\n                  117,\n                  109,\n                  117,\n                  108,\n                  97,\n                  116,\n                  111,\n                  114\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"user\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": []\n    },\n    {\n      \"name\": \"collect_creator_fee\",\n      \"docs\": [\n        \"Collects creator_fee from creator_vault to the coin creator account\"\n      ],\n      \"discriminator\": [\n        20,\n        22,\n        86,\n        123,\n        198,\n        28,\n        219,\n        132\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"creator\",\n          \"writable\": true\n        },\n        {\n          \"name\": \"creator_vault\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  99,\n                  114,\n                  101,\n                  97,\n                  116,\n                  111,\n                  114,\n                  45,\n                  118,\n                  97,\n                  117,\n                  108,\n                  116\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"creator\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"system_program\",\n          \"address\": \"11111111111111111111111111111111\"\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": []\n    },\n    {\n      \"name\": \"create\",\n      \"docs\": [\n        \"Creates a new coin and bonding curve.\"\n      ],\n      \"discriminator\": [\n        24,\n        30,\n        200,\n        40,\n        5,\n        28,\n        7,\n        119\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"mint\",\n          \"writable\": true,\n          \"signer\": true\n        },\n        {\n          \"name\": \"mint_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  109,\n                  105,\n                  110,\n                  116,\n                  45,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"bonding_curve\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  98,\n                  111,\n                  110,\n                  100,\n                  105,\n                  110,\n                  103,\n                  45,\n                  99,\n                  117,\n                  114,\n                  118,\n                  101\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"mint\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"associated_bonding_curve\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"account\",\n                \"path\": \"bonding_curve\"\n              },\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  6,\n                  221,\n                  246,\n                  225,\n                  215,\n                  101,\n                  161,\n                  147,\n                  217,\n                  203,\n                  225,\n                  70,\n                  206,\n                  235,\n                  121,\n                  172,\n                  28,\n                  180,\n                  133,\n                  237,\n                  95,\n                  91,\n                  55,\n                  145,\n                  58,\n                  140,\n                  245,\n                  133,\n                  126,\n                  255,\n                  0,\n                  169\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"mint\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                140,\n                151,\n                37,\n                143,\n                78,\n                36,\n                137,\n                241,\n                187,\n                61,\n                16,\n                41,\n                20,\n                142,\n                13,\n                131,\n                11,\n                90,\n                19,\n                153,\n                218,\n                255,\n                16,\n                132,\n                4,\n                142,\n                123,\n                216,\n                219,\n                233,\n                248,\n                89\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"global\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"mpl_token_metadata\",\n          \"address\": \"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s\"\n        },\n        {\n          \"name\": \"metadata\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  109,\n                  101,\n                  116,\n                  97,\n                  100,\n                  97,\n                  116,\n                  97\n                ]\n              },\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  11,\n                  112,\n                  101,\n                  177,\n                  227,\n                  209,\n                  124,\n                  69,\n                  56,\n                  157,\n                  82,\n                  127,\n                  107,\n                  4,\n                  195,\n                  205,\n                  88,\n                  184,\n                  108,\n                  115,\n                  26,\n                  160,\n                  253,\n                  181,\n                  73,\n                  182,\n                  209,\n                  188,\n                  3,\n                  248,\n                  41,\n                  70\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"mint\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"account\",\n              \"path\": \"mpl_token_metadata\"\n            }\n          }\n        },\n        {\n          \"name\": \"user\",\n          \"writable\": true,\n          \"signer\": true\n        },\n        {\n          \"name\": \"system_program\",\n          \"address\": \"11111111111111111111111111111111\"\n        },\n        {\n          \"name\": \"token_program\",\n          \"address\": \"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA\"\n        },\n        {\n          \"name\": \"associated_token_program\",\n          \"address\": \"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\"\n        },\n        {\n          \"name\": \"rent\",\n          \"address\": \"SysvarRent111111111111111111111111111111111\"\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": [\n        {\n          \"name\": \"name\",\n          \"type\": \"string\"\n        },\n        {\n          \"name\": \"symbol\",\n          \"type\": \"string\"\n        },\n        {\n          \"name\": \"uri\",\n          \"type\": \"string\"\n        },\n        {\n          \"name\": \"creator\",\n          \"type\": \"pubkey\"\n        }\n      ]\n    },\n    {\n      \"name\": \"create_v2\",\n      \"docs\": [\n        \"Creates a new spl-22 coin and bonding curve.\"\n      ],\n      \"discriminator\": [\n        214,\n        144,\n        76,\n        236,\n        95,\n        139,\n        49,\n        180\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"mint\",\n          \"writable\": true,\n          \"signer\": true\n        },\n        {\n          \"name\": \"mint_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  109,\n                  105,\n                  110,\n                  116,\n                  45,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"bonding_curve\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  98,\n                  111,\n                  110,\n                  100,\n                  105,\n                  110,\n                  103,\n                  45,\n                  99,\n                  117,\n                  114,\n                  118,\n                  101\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"mint\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"associated_bonding_curve\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"account\",\n                \"path\": \"bonding_curve\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"token_program\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"mint\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                140,\n                151,\n                37,\n                143,\n                78,\n                36,\n                137,\n                241,\n                187,\n                61,\n                16,\n                41,\n                20,\n                142,\n                13,\n                131,\n                11,\n                90,\n                19,\n                153,\n                218,\n                255,\n                16,\n                132,\n                4,\n                142,\n                123,\n                216,\n                219,\n                233,\n                248,\n                89\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"global\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"user\",\n          \"writable\": true,\n          \"signer\": true\n        },\n        {\n          \"name\": \"system_program\",\n          \"address\": \"11111111111111111111111111111111\"\n        },\n        {\n          \"name\": \"token_program\",\n          \"address\": \"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb\"\n        },\n        {\n          \"name\": \"associated_token_program\",\n          \"address\": \"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\"\n        },\n        {\n          \"name\": \"mayhem_program_id\",\n          \"writable\": true,\n          \"address\": \"MAyhSmzXzV1pTf7LsNkrNwkWKTo4ougAJ1PPg47MD4e\"\n        },\n        {\n          \"name\": \"global_params\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108,\n                  45,\n                  112,\n                  97,\n                  114,\n                  97,\n                  109,\n                  115\n                ]\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                5,\n                42,\n                229,\n                215,\n                167,\n                218,\n                167,\n                36,\n                166,\n                234,\n                176,\n                167,\n                41,\n                84,\n                145,\n                133,\n                90,\n                212,\n                160,\n                103,\n                22,\n                96,\n                103,\n                76,\n                78,\n                3,\n                69,\n                89,\n                128,\n                61,\n                101,\n                163\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"sol_vault\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  115,\n                  111,\n                  108,\n                  45,\n                  118,\n                  97,\n                  117,\n                  108,\n                  116\n                ]\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                5,\n                42,\n                229,\n                215,\n                167,\n                218,\n                167,\n                36,\n                166,\n                234,\n                176,\n                167,\n                41,\n                84,\n                145,\n                133,\n                90,\n                212,\n                160,\n                103,\n                22,\n                96,\n                103,\n                76,\n                78,\n                3,\n                69,\n                89,\n                128,\n                61,\n                101,\n                163\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"mayhem_state\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  109,\n                  97,\n                  121,\n                  104,\n                  101,\n                  109,\n                  45,\n                  115,\n                  116,\n                  97,\n                  116,\n                  101\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"mint\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                5,\n                42,\n                229,\n                215,\n                167,\n                218,\n                167,\n                36,\n                166,\n                234,\n                176,\n                167,\n                41,\n                84,\n                145,\n                133,\n                90,\n                212,\n                160,\n                103,\n                22,\n                96,\n                103,\n                76,\n                78,\n                3,\n                69,\n                89,\n                128,\n                61,\n                101,\n                163\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"mayhem_token_vault\",\n          \"writable\": true\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": [\n        {\n          \"name\": \"name\",\n          \"type\": \"string\"\n        },\n        {\n          \"name\": \"symbol\",\n          \"type\": \"string\"\n        },\n        {\n          \"name\": \"uri\",\n          \"type\": \"string\"\n        },\n        {\n          \"name\": \"creator\",\n          \"type\": \"pubkey\"\n        },\n        {\n          \"name\": \"is_mayhem_mode\",\n          \"type\": \"bool\"\n        },\n        {\n          \"name\": \"is_cashback_enabled\",\n          \"type\": {\n            \"defined\": {\n              \"name\": \"OptionBool\"\n            }\n          }\n        }\n      ]\n    },\n    {\n      \"name\": \"distribute_creator_fees\",\n      \"docs\": [\n        \"Distributes creator fees to shareholders based on their share percentages\",\n        \"The creator vault needs to have at least the minimum distributable amount to distribute fees\",\n        \"This can be checked with the get_minimum_distributable_fee instruction\"\n      ],\n      \"discriminator\": [\n        165,\n        114,\n        103,\n        0,\n        121,\n        206,\n        247,\n        81\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"mint\",\n          \"relations\": [\n            \"sharing_config\"\n          ]\n        },\n        {\n          \"name\": \"bonding_curve\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  98,\n                  111,\n                  110,\n                  100,\n                  105,\n                  110,\n                  103,\n                  45,\n                  99,\n                  117,\n                  114,\n                  118,\n                  101\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"mint\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"sharing_config\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  115,\n                  104,\n                  97,\n                  114,\n                  105,\n                  110,\n                  103,\n                  45,\n                  99,\n                  111,\n                  110,\n                  102,\n                  105,\n                  103\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"mint\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                12,\n                53,\n                255,\n                169,\n                5,\n                90,\n                142,\n                86,\n                141,\n                168,\n                247,\n                188,\n                7,\n                86,\n                21,\n                39,\n                76,\n                241,\n                201,\n                44,\n                164,\n                31,\n                64,\n                0,\n                156,\n                81,\n                106,\n                164,\n                20,\n                194,\n                124,\n                112\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"creator_vault\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  99,\n                  114,\n                  101,\n                  97,\n                  116,\n                  111,\n                  114,\n                  45,\n                  118,\n                  97,\n                  117,\n                  108,\n                  116\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"bonding_curve.creator\",\n                \"account\": \"BondingCurve\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"system_program\",\n          \"address\": \"11111111111111111111111111111111\"\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\",\n          \"address\": \"6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P\"\n        }\n      ],\n      \"args\": [],\n      \"returns\": {\n        \"defined\": {\n          \"name\": \"DistributeCreatorFeesEvent\"\n        }\n      }\n    },\n    {\n      \"name\": \"extend_account\",\n      \"docs\": [\n        \"Extends the size of program-owned accounts\"\n      ],\n      \"discriminator\": [\n        234,\n        102,\n        194,\n        203,\n        150,\n        72,\n        62,\n        229\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"account\",\n          \"writable\": true\n        },\n        {\n          \"name\": \"user\",\n          \"signer\": true\n        },\n        {\n          \"name\": \"system_program\",\n          \"address\": \"11111111111111111111111111111111\"\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": []\n    },\n    {\n      \"name\": \"get_minimum_distributable_fee\",\n      \"docs\": [\n        \"Permissionless instruction to check the minimum required fees for distribution\",\n        \"Returns the minimum required balance from the creator_vault and whether distribution can proceed\"\n      ],\n      \"discriminator\": [\n        117,\n        225,\n        127,\n        202,\n        134,\n        95,\n        68,\n        35\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"mint\",\n          \"relations\": [\n            \"sharing_config\"\n          ]\n        },\n        {\n          \"name\": \"bonding_curve\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  98,\n                  111,\n                  110,\n                  100,\n                  105,\n                  110,\n                  103,\n                  45,\n                  99,\n                  117,\n                  114,\n                  118,\n                  101\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"mint\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"sharing_config\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  115,\n                  104,\n                  97,\n                  114,\n                  105,\n                  110,\n                  103,\n                  45,\n                  99,\n                  111,\n                  110,\n                  102,\n                  105,\n                  103\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"mint\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                12,\n                53,\n                255,\n                169,\n                5,\n                90,\n                142,\n                86,\n                141,\n                168,\n                247,\n                188,\n                7,\n                86,\n                21,\n                39,\n                76,\n                241,\n                201,\n                44,\n                164,\n                31,\n                64,\n                0,\n                156,\n                81,\n                106,\n                164,\n                20,\n                194,\n                124,\n                112\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"creator_vault\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  99,\n                  114,\n                  101,\n                  97,\n                  116,\n                  111,\n                  114,\n                  45,\n                  118,\n                  97,\n                  117,\n                  108,\n                  116\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"bonding_curve.creator\",\n                \"account\": \"BondingCurve\"\n              }\n            ]\n          }\n        }\n      ],\n      \"args\": [],\n      \"returns\": {\n        \"defined\": {\n          \"name\": \"MinimumDistributableFeeEvent\"\n        }\n      }\n    },\n    {\n      \"name\": \"init_user_volume_accumulator\",\n      \"discriminator\": [\n        94,\n        6,\n        202,\n        115,\n        255,\n        96,\n        232,\n        183\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"payer\",\n          \"writable\": true,\n          \"signer\": true\n        },\n        {\n          \"name\": \"user\"\n        },\n        {\n          \"name\": \"user_volume_accumulator\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  117,\n                  115,\n                  101,\n                  114,\n                  95,\n                  118,\n                  111,\n                  108,\n                  117,\n                  109,\n                  101,\n                  95,\n                  97,\n                  99,\n                  99,\n                  117,\n                  109,\n                  117,\n                  108,\n                  97,\n                  116,\n                  111,\n                  114\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"user\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"system_program\",\n          \"address\": \"11111111111111111111111111111111\"\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": []\n    },\n    {\n      \"name\": \"initialize\",\n      \"docs\": [\n        \"Creates the global state.\"\n      ],\n      \"discriminator\": [\n        175,\n        175,\n        109,\n        31,\n        13,\n        152,\n        155,\n        237\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"global\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"user\",\n          \"writable\": true,\n          \"signer\": true\n        },\n        {\n          \"name\": \"system_program\",\n          \"address\": \"11111111111111111111111111111111\"\n        }\n      ],\n      \"args\": []\n    },\n    {\n      \"name\": \"migrate\",\n      \"docs\": [\n        \"Migrates liquidity to pump_amm if the bonding curve is complete\"\n      ],\n      \"discriminator\": [\n        155,\n        234,\n        231,\n        146,\n        236,\n        158,\n        162,\n        30\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"global\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"withdraw_authority\",\n          \"writable\": true,\n          \"relations\": [\n            \"global\"\n          ]\n        },\n        {\n          \"name\": \"mint\"\n        },\n        {\n          \"name\": \"bonding_curve\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  98,\n                  111,\n                  110,\n                  100,\n                  105,\n                  110,\n                  103,\n                  45,\n                  99,\n                  117,\n                  114,\n                  118,\n                  101\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"mint\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"associated_bonding_curve\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"account\",\n                \"path\": \"bonding_curve\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"mint\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"mint\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                140,\n                151,\n                37,\n                143,\n                78,\n                36,\n                137,\n                241,\n                187,\n                61,\n                16,\n                41,\n                20,\n                142,\n                13,\n                131,\n                11,\n                90,\n                19,\n                153,\n                218,\n                255,\n                16,\n                132,\n                4,\n                142,\n                123,\n                216,\n                219,\n                233,\n                248,\n                89\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"user\",\n          \"signer\": true\n        },\n        {\n          \"name\": \"system_program\",\n          \"address\": \"11111111111111111111111111111111\"\n        },\n        {\n          \"name\": \"token_program\",\n          \"address\": \"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA\"\n        },\n        {\n          \"name\": \"pump_amm\",\n          \"address\": \"pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA\"\n        },\n        {\n          \"name\": \"pool\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  112,\n                  111,\n                  111,\n                  108\n                ]\n              },\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  0,\n                  0\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"pool_authority\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"mint\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"wsol_mint\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"account\",\n              \"path\": \"pump_amm\"\n            }\n          }\n        },\n        {\n          \"name\": \"pool_authority\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  112,\n                  111,\n                  111,\n                  108,\n                  45,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"mint\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"pool_authority_mint_account\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"account\",\n                \"path\": \"pool_authority\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"mint\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"mint\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"account\",\n              \"path\": \"associated_token_program\"\n            }\n          }\n        },\n        {\n          \"name\": \"pool_authority_wsol_account\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"account\",\n                \"path\": \"pool_authority\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"token_program\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"wsol_mint\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"account\",\n              \"path\": \"associated_token_program\"\n            }\n          }\n        },\n        {\n          \"name\": \"amm_global_config\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108,\n                  95,\n                  99,\n                  111,\n                  110,\n                  102,\n                  105,\n                  103\n                ]\n              }\n            ],\n            \"program\": {\n              \"kind\": \"account\",\n              \"path\": \"pump_amm\"\n            }\n          }\n        },\n        {\n          \"name\": \"wsol_mint\",\n          \"address\": \"So11111111111111111111111111111111111111112\"\n        },\n        {\n          \"name\": \"lp_mint\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  112,\n                  111,\n                  111,\n                  108,\n                  95,\n                  108,\n                  112,\n                  95,\n                  109,\n                  105,\n                  110,\n                  116\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"pool\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"account\",\n              \"path\": \"pump_amm\"\n            }\n          }\n        },\n        {\n          \"name\": \"user_pool_token_account\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"account\",\n                \"path\": \"pool_authority\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"token_2022_program\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"lp_mint\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"account\",\n              \"path\": \"associated_token_program\"\n            }\n          }\n        },\n        {\n          \"name\": \"pool_base_token_account\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"account\",\n                \"path\": \"pool\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"mint\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"mint\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"account\",\n              \"path\": \"associated_token_program\"\n            }\n          }\n        },\n        {\n          \"name\": \"pool_quote_token_account\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"account\",\n                \"path\": \"pool\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"token_program\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"wsol_mint\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"account\",\n              \"path\": \"associated_token_program\"\n            }\n          }\n        },\n        {\n          \"name\": \"token_2022_program\",\n          \"address\": \"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb\"\n        },\n        {\n          \"name\": \"associated_token_program\",\n          \"address\": \"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\"\n        },\n        {\n          \"name\": \"pump_amm_event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ],\n            \"program\": {\n              \"kind\": \"account\",\n              \"path\": \"pump_amm\"\n            }\n          }\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": []\n    },\n    {\n      \"name\": \"migrate_bonding_curve_creator\",\n      \"discriminator\": [\n        87,\n        124,\n        52,\n        191,\n        52,\n        38,\n        214,\n        232\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"mint\",\n          \"relations\": [\n            \"sharing_config\"\n          ]\n        },\n        {\n          \"name\": \"bonding_curve\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  98,\n                  111,\n                  110,\n                  100,\n                  105,\n                  110,\n                  103,\n                  45,\n                  99,\n                  117,\n                  114,\n                  118,\n                  101\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"mint\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"sharing_config\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  115,\n                  104,\n                  97,\n                  114,\n                  105,\n                  110,\n                  103,\n                  45,\n                  99,\n                  111,\n                  110,\n                  102,\n                  105,\n                  103\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"mint\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                12,\n                53,\n                255,\n                169,\n                5,\n                90,\n                142,\n                86,\n                141,\n                168,\n                247,\n                188,\n                7,\n                86,\n                21,\n                39,\n                76,\n                241,\n                201,\n                44,\n                164,\n                31,\n                64,\n                0,\n                156,\n                81,\n                106,\n                164,\n                20,\n                194,\n                124,\n                112\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": []\n    },\n    {\n      \"name\": \"sell\",\n      \"docs\": [\n        \"Sells tokens into a bonding curve.\",\n        \"For cashback coins, optionally pass user_volume_accumulator as remaining_accounts[0].\",\n        \"If provided and valid, creator_fee goes to user_volume_accumulator.\",\n        \"Otherwise, falls back to transferring creator_fee to creator_vault.\"\n      ],\n      \"discriminator\": [\n        51,\n        230,\n        133,\n        164,\n        1,\n        127,\n        131,\n        173\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"global\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"fee_recipient\",\n          \"writable\": true\n        },\n        {\n          \"name\": \"mint\"\n        },\n        {\n          \"name\": \"bonding_curve\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  98,\n                  111,\n                  110,\n                  100,\n                  105,\n                  110,\n                  103,\n                  45,\n                  99,\n                  117,\n                  114,\n                  118,\n                  101\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"mint\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"associated_bonding_curve\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"account\",\n                \"path\": \"bonding_curve\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"token_program\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"mint\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                140,\n                151,\n                37,\n                143,\n                78,\n                36,\n                137,\n                241,\n                187,\n                61,\n                16,\n                41,\n                20,\n                142,\n                13,\n                131,\n                11,\n                90,\n                19,\n                153,\n                218,\n                255,\n                16,\n                132,\n                4,\n                142,\n                123,\n                216,\n                219,\n                233,\n                248,\n                89\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"associated_user\",\n          \"writable\": true\n        },\n        {\n          \"name\": \"user\",\n          \"writable\": true,\n          \"signer\": true\n        },\n        {\n          \"name\": \"system_program\",\n          \"address\": \"11111111111111111111111111111111\"\n        },\n        {\n          \"name\": \"creator_vault\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  99,\n                  114,\n                  101,\n                  97,\n                  116,\n                  111,\n                  114,\n                  45,\n                  118,\n                  97,\n                  117,\n                  108,\n                  116\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"bonding_curve.creator\",\n                \"account\": \"BondingCurve\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"token_program\"\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\",\n          \"address\": \"6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P\"\n        },\n        {\n          \"name\": \"fee_config\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  102,\n                  101,\n                  101,\n                  95,\n                  99,\n                  111,\n                  110,\n                  102,\n                  105,\n                  103\n                ]\n              },\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  1,\n                  86,\n                  224,\n                  246,\n                  147,\n                  102,\n                  90,\n                  207,\n                  68,\n                  219,\n                  21,\n                  104,\n                  191,\n                  23,\n                  91,\n                  170,\n                  81,\n                  137,\n                  203,\n                  151,\n                  245,\n                  210,\n                  255,\n                  59,\n                  101,\n                  93,\n                  43,\n                  182,\n                  253,\n                  109,\n                  24,\n                  176\n                ]\n              }\n            ],\n            \"program\": {\n              \"kind\": \"account\",\n              \"path\": \"fee_program\"\n            }\n          }\n        },\n        {\n          \"name\": \"fee_program\",\n          \"address\": \"pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ\"\n        }\n      ],\n      \"args\": [\n        {\n          \"name\": \"amount\",\n          \"type\": \"u64\"\n        },\n        {\n          \"name\": \"min_sol_output\",\n          \"type\": \"u64\"\n        }\n      ]\n    },\n    {\n      \"name\": \"set_creator\",\n      \"docs\": [\n        \"Allows Global::set_creator_authority to set the bonding curve creator from Metaplex metadata or input argument\"\n      ],\n      \"discriminator\": [\n        254,\n        148,\n        255,\n        112,\n        207,\n        142,\n        170,\n        165\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"set_creator_authority\",\n          \"signer\": true,\n          \"relations\": [\n            \"global\"\n          ]\n        },\n        {\n          \"name\": \"global\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"mint\"\n        },\n        {\n          \"name\": \"metadata\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  109,\n                  101,\n                  116,\n                  97,\n                  100,\n                  97,\n                  116,\n                  97\n                ]\n              },\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  11,\n                  112,\n                  101,\n                  177,\n                  227,\n                  209,\n                  124,\n                  69,\n                  56,\n                  157,\n                  82,\n                  127,\n                  107,\n                  4,\n                  195,\n                  205,\n                  88,\n                  184,\n                  108,\n                  115,\n                  26,\n                  160,\n                  253,\n                  181,\n                  73,\n                  182,\n                  209,\n                  188,\n                  3,\n                  248,\n                  41,\n                  70\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"mint\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                11,\n                112,\n                101,\n                177,\n                227,\n                209,\n                124,\n                69,\n                56,\n                157,\n                82,\n                127,\n                107,\n                4,\n                195,\n                205,\n                88,\n                184,\n                108,\n                115,\n                26,\n                160,\n                253,\n                181,\n                73,\n                182,\n                209,\n                188,\n                3,\n                248,\n                41,\n                70\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"bonding_curve\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  98,\n                  111,\n                  110,\n                  100,\n                  105,\n                  110,\n                  103,\n                  45,\n                  99,\n                  117,\n                  114,\n                  118,\n                  101\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"mint\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": [\n        {\n          \"name\": \"creator\",\n          \"type\": \"pubkey\"\n        }\n      ]\n    },\n    {\n      \"name\": \"set_mayhem_virtual_params\",\n      \"discriminator\": [\n        61,\n        169,\n        188,\n        191,\n        153,\n        149,\n        42,\n        97\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"sol_vault_authority\",\n          \"writable\": true,\n          \"signer\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  115,\n                  111,\n                  108,\n                  45,\n                  118,\n                  97,\n                  117,\n                  108,\n                  116\n                ]\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                5,\n                42,\n                229,\n                215,\n                167,\n                218,\n                167,\n                36,\n                166,\n                234,\n                176,\n                167,\n                41,\n                84,\n                145,\n                133,\n                90,\n                212,\n                160,\n                103,\n                22,\n                96,\n                103,\n                76,\n                78,\n                3,\n                69,\n                89,\n                128,\n                61,\n                101,\n                163\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"mayhem_token_vault\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"account\",\n                \"path\": \"sol_vault_authority\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"token_program\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"mint\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                140,\n                151,\n                37,\n                143,\n                78,\n                36,\n                137,\n                241,\n                187,\n                61,\n                16,\n                41,\n                20,\n                142,\n                13,\n                131,\n                11,\n                90,\n                19,\n                153,\n                218,\n                255,\n                16,\n                132,\n                4,\n                142,\n                123,\n                216,\n                219,\n                233,\n                248,\n                89\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"mint\"\n        },\n        {\n          \"name\": \"global\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"bonding_curve\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  98,\n                  111,\n                  110,\n                  100,\n                  105,\n                  110,\n                  103,\n                  45,\n                  99,\n                  117,\n                  114,\n                  118,\n                  101\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"mint\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"token_program\",\n          \"address\": \"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb\"\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": []\n    },\n    {\n      \"name\": \"set_metaplex_creator\",\n      \"docs\": [\n        \"Syncs the bonding curve creator with the Metaplex metadata creator if it exists\"\n      ],\n      \"discriminator\": [\n        138,\n        96,\n        174,\n        217,\n        48,\n        85,\n        197,\n        246\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"mint\"\n        },\n        {\n          \"name\": \"metadata\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  109,\n                  101,\n                  116,\n                  97,\n                  100,\n                  97,\n                  116,\n                  97\n                ]\n              },\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  11,\n                  112,\n                  101,\n                  177,\n                  227,\n                  209,\n                  124,\n                  69,\n                  56,\n                  157,\n                  82,\n                  127,\n                  107,\n                  4,\n                  195,\n                  205,\n                  88,\n                  184,\n                  108,\n                  115,\n                  26,\n                  160,\n                  253,\n                  181,\n                  73,\n                  182,\n                  209,\n                  188,\n                  3,\n                  248,\n                  41,\n                  70\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"mint\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                11,\n                112,\n                101,\n                177,\n                227,\n                209,\n                124,\n                69,\n                56,\n                157,\n                82,\n                127,\n                107,\n                4,\n                195,\n                205,\n                88,\n                184,\n                108,\n                115,\n                26,\n                160,\n                253,\n                181,\n                73,\n                182,\n                209,\n                188,\n                3,\n                248,\n                41,\n                70\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"bonding_curve\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  98,\n                  111,\n                  110,\n                  100,\n                  105,\n                  110,\n                  103,\n                  45,\n                  99,\n                  117,\n                  114,\n                  118,\n                  101\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"mint\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": []\n    },\n    {\n      \"name\": \"set_params\",\n      \"docs\": [\n        \"Sets the global state parameters.\"\n      ],\n      \"discriminator\": [\n        27,\n        234,\n        178,\n        52,\n        147,\n        2,\n        187,\n        141\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"global\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"authority\",\n          \"writable\": true,\n          \"signer\": true,\n          \"relations\": [\n            \"global\"\n          ]\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": [\n        {\n          \"name\": \"initial_virtual_token_reserves\",\n          \"type\": \"u64\"\n        },\n        {\n          \"name\": \"initial_virtual_sol_reserves\",\n          \"type\": \"u64\"\n        },\n        {\n          \"name\": \"initial_real_token_reserves\",\n          \"type\": \"u64\"\n        },\n        {\n          \"name\": \"token_total_supply\",\n          \"type\": \"u64\"\n        },\n        {\n          \"name\": \"fee_basis_points\",\n          \"type\": \"u64\"\n        },\n        {\n          \"name\": \"withdraw_authority\",\n          \"type\": \"pubkey\"\n        },\n        {\n          \"name\": \"enable_migrate\",\n          \"type\": \"bool\"\n        },\n        {\n          \"name\": \"pool_migration_fee\",\n          \"type\": \"u64\"\n        },\n        {\n          \"name\": \"creator_fee_basis_points\",\n          \"type\": \"u64\"\n        },\n        {\n          \"name\": \"set_creator_authority\",\n          \"type\": \"pubkey\"\n        },\n        {\n          \"name\": \"admin_set_creator_authority\",\n          \"type\": \"pubkey\"\n        }\n      ]\n    },\n    {\n      \"name\": \"set_reserved_fee_recipients\",\n      \"discriminator\": [\n        111,\n        172,\n        162,\n        232,\n        114,\n        89,\n        213,\n        142\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"global\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"authority\",\n          \"signer\": true,\n          \"relations\": [\n            \"global\"\n          ]\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": [\n        {\n          \"name\": \"whitelist_pda\",\n          \"type\": \"pubkey\"\n        }\n      ]\n    },\n    {\n      \"name\": \"sync_user_volume_accumulator\",\n      \"discriminator\": [\n        86,\n        31,\n        192,\n        87,\n        163,\n        87,\n        79,\n        238\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"user\"\n        },\n        {\n          \"name\": \"global_volume_accumulator\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108,\n                  95,\n                  118,\n                  111,\n                  108,\n                  117,\n                  109,\n                  101,\n                  95,\n                  97,\n                  99,\n                  99,\n                  117,\n                  109,\n                  117,\n                  108,\n                  97,\n                  116,\n                  111,\n                  114\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"user_volume_accumulator\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  117,\n                  115,\n                  101,\n                  114,\n                  95,\n                  118,\n                  111,\n                  108,\n                  117,\n                  109,\n                  101,\n                  95,\n                  97,\n                  99,\n                  99,\n                  117,\n                  109,\n                  117,\n                  108,\n                  97,\n                  116,\n                  111,\n                  114\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"user\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": []\n    },\n    {\n      \"name\": \"toggle_cashback_enabled\",\n      \"discriminator\": [\n        115,\n        103,\n        224,\n        255,\n        189,\n        89,\n        86,\n        195\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"global\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"authority\",\n          \"writable\": true,\n          \"signer\": true,\n          \"relations\": [\n            \"global\"\n          ]\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": [\n        {\n          \"name\": \"enabled\",\n          \"type\": \"bool\"\n        }\n      ]\n    },\n    {\n      \"name\": \"toggle_create_v2\",\n      \"discriminator\": [\n        28,\n        255,\n        230,\n        240,\n        172,\n        107,\n        203,\n        171\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"global\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"authority\",\n          \"writable\": true,\n          \"signer\": true,\n          \"relations\": [\n            \"global\"\n          ]\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": [\n        {\n          \"name\": \"enabled\",\n          \"type\": \"bool\"\n        }\n      ]\n    },\n    {\n      \"name\": \"toggle_mayhem_mode\",\n      \"discriminator\": [\n        1,\n        9,\n        111,\n        208,\n        100,\n        31,\n        255,\n        163\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"global\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"authority\",\n          \"writable\": true,\n          \"signer\": true,\n          \"relations\": [\n            \"global\"\n          ]\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": [\n        {\n          \"name\": \"enabled\",\n          \"type\": \"bool\"\n        }\n      ]\n    },\n    {\n      \"name\": \"update_global_authority\",\n      \"discriminator\": [\n        227,\n        181,\n        74,\n        196,\n        208,\n        21,\n        97,\n        213\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"global\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"authority\",\n          \"signer\": true,\n          \"relations\": [\n            \"global\"\n          ]\n        },\n        {\n          \"name\": \"new_authority\"\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": []\n    }\n  ],\n  \"accounts\": [\n    {\n      \"name\": \"BondingCurve\",\n      \"discriminator\": [\n        23,\n        183,\n        248,\n        55,\n        96,\n        216,\n        172,\n        96\n      ]\n    },\n    {\n      \"name\": \"FeeConfig\",\n      \"discriminator\": [\n        143,\n        52,\n        146,\n        187,\n        219,\n        123,\n        76,\n        155\n      ]\n    },\n    {\n      \"name\": \"Global\",\n      \"discriminator\": [\n        167,\n        232,\n        232,\n        177,\n        200,\n        108,\n        114,\n        127\n      ]\n    },\n    {\n      \"name\": \"GlobalVolumeAccumulator\",\n      \"discriminator\": [\n        202,\n        42,\n        246,\n        43,\n        142,\n        190,\n        30,\n        255\n      ]\n    },\n    {\n      \"name\": \"SharingConfig\",\n      \"discriminator\": [\n        216,\n        74,\n        9,\n        0,\n        56,\n        140,\n        93,\n        75\n      ]\n    },\n    {\n      \"name\": \"UserVolumeAccumulator\",\n      \"discriminator\": [\n        86,\n        255,\n        112,\n        14,\n        102,\n        53,\n        154,\n        250\n      ]\n    }\n  ],\n  \"events\": [\n    {\n      \"name\": \"AdminSetCreatorEvent\",\n      \"discriminator\": [\n        64,\n        69,\n        192,\n        104,\n        29,\n        30,\n        25,\n        107\n      ]\n    },\n    {\n      \"name\": \"AdminSetIdlAuthorityEvent\",\n      \"discriminator\": [\n        245,\n        59,\n        70,\n        34,\n        75,\n        185,\n        109,\n        92\n      ]\n    },\n    {\n      \"name\": \"AdminUpdateTokenIncentivesEvent\",\n      \"discriminator\": [\n        147,\n        250,\n        108,\n        120,\n        247,\n        29,\n        67,\n        222\n      ]\n    },\n    {\n      \"name\": \"ClaimCashbackEvent\",\n      \"discriminator\": [\n        226,\n        214,\n        246,\n        33,\n        7,\n        242,\n        147,\n        229\n      ]\n    },\n    {\n      \"name\": \"ClaimTokenIncentivesEvent\",\n      \"discriminator\": [\n        79,\n        172,\n        246,\n        49,\n        205,\n        91,\n        206,\n        232\n      ]\n    },\n    {\n      \"name\": \"CloseUserVolumeAccumulatorEvent\",\n      \"discriminator\": [\n        146,\n        159,\n        189,\n        172,\n        146,\n        88,\n        56,\n        244\n      ]\n    },\n    {\n      \"name\": \"CollectCreatorFeeEvent\",\n      \"discriminator\": [\n        122,\n        2,\n        127,\n        1,\n        14,\n        191,\n        12,\n        175\n      ]\n    },\n    {\n      \"name\": \"CompleteEvent\",\n      \"discriminator\": [\n        95,\n        114,\n        97,\n        156,\n        212,\n        46,\n        152,\n        8\n      ]\n    },\n    {\n      \"name\": \"CompletePumpAmmMigrationEvent\",\n      \"discriminator\": [\n        189,\n        233,\n        93,\n        185,\n        92,\n        148,\n        234,\n        148\n      ]\n    },\n    {\n      \"name\": \"CreateEvent\",\n      \"discriminator\": [\n        27,\n        114,\n        169,\n        77,\n        222,\n        235,\n        99,\n        118\n      ]\n    },\n    {\n      \"name\": \"DistributeCreatorFeesEvent\",\n      \"discriminator\": [\n        165,\n        55,\n        129,\n        112,\n        4,\n        179,\n        202,\n        40\n      ]\n    },\n    {\n      \"name\": \"ExtendAccountEvent\",\n      \"discriminator\": [\n        97,\n        97,\n        215,\n        144,\n        93,\n        146,\n        22,\n        124\n      ]\n    },\n    {\n      \"name\": \"InitUserVolumeAccumulatorEvent\",\n      \"discriminator\": [\n        134,\n        36,\n        13,\n        72,\n        232,\n        101,\n        130,\n        216\n      ]\n    },\n    {\n      \"name\": \"MigrateBondingCurveCreatorEvent\",\n      \"discriminator\": [\n        155,\n        167,\n        104,\n        220,\n        213,\n        108,\n        243,\n        3\n      ]\n    },\n    {\n      \"name\": \"MinimumDistributableFeeEvent\",\n      \"discriminator\": [\n        168,\n        216,\n        132,\n        239,\n        235,\n        182,\n        49,\n        52\n      ]\n    },\n    {\n      \"name\": \"ReservedFeeRecipientsEvent\",\n      \"discriminator\": [\n        43,\n        188,\n        250,\n        18,\n        221,\n        75,\n        187,\n        95\n      ]\n    },\n    {\n      \"name\": \"SetCreatorEvent\",\n      \"discriminator\": [\n        237,\n        52,\n        123,\n        37,\n        245,\n        251,\n        72,\n        210\n      ]\n    },\n    {\n      \"name\": \"SetMetaplexCreatorEvent\",\n      \"discriminator\": [\n        142,\n        203,\n        6,\n        32,\n        127,\n        105,\n        191,\n        162\n      ]\n    },\n    {\n      \"name\": \"SetParamsEvent\",\n      \"discriminator\": [\n        223,\n        195,\n        159,\n        246,\n        62,\n        48,\n        143,\n        131\n      ]\n    },\n    {\n      \"name\": \"SyncUserVolumeAccumulatorEvent\",\n      \"discriminator\": [\n        197,\n        122,\n        167,\n        124,\n        116,\n        81,\n        91,\n        255\n      ]\n    },\n    {\n      \"name\": \"TradeEvent\",\n      \"discriminator\": [\n        189,\n        219,\n        127,\n        211,\n        78,\n        230,\n        97,\n        238\n      ]\n    },\n    {\n      \"name\": \"UpdateGlobalAuthorityEvent\",\n      \"discriminator\": [\n        182,\n        195,\n        137,\n        42,\n        35,\n        206,\n        207,\n        247\n      ]\n    },\n    {\n      \"name\": \"UpdateMayhemVirtualParamsEvent\",\n      \"discriminator\": [\n        117,\n        123,\n        228,\n        182,\n        161,\n        168,\n        220,\n        214\n      ]\n    }\n  ],\n  \"errors\": [\n    {\n      \"code\": 6000,\n      \"name\": \"NotAuthorized\",\n      \"msg\": \"The given account is not authorized to execute this instruction.\"\n    },\n    {\n      \"code\": 6001,\n      \"name\": \"AlreadyInitialized\",\n      \"msg\": \"The program is already initialized.\"\n    },\n    {\n      \"code\": 6002,\n      \"name\": \"TooMuchSolRequired\",\n      \"msg\": \"slippage: Too much SOL required to buy the given amount of tokens.\"\n    },\n    {\n      \"code\": 6003,\n      \"name\": \"TooLittleSolReceived\",\n      \"msg\": \"slippage: Too little SOL received to sell the given amount of tokens.\"\n    },\n    {\n      \"code\": 6004,\n      \"name\": \"MintDoesNotMatchBondingCurve\",\n      \"msg\": \"The mint does not match the bonding curve.\"\n    },\n    {\n      \"code\": 6005,\n      \"name\": \"BondingCurveComplete\",\n      \"msg\": \"The bonding curve has completed and liquidity migrated to raydium.\"\n    },\n    {\n      \"code\": 6006,\n      \"name\": \"BondingCurveNotComplete\",\n      \"msg\": \"The bonding curve has not completed.\"\n    },\n    {\n      \"code\": 6007,\n      \"name\": \"NotInitialized\",\n      \"msg\": \"The program is not initialized.\"\n    },\n    {\n      \"code\": 6008,\n      \"name\": \"WithdrawTooFrequent\",\n      \"msg\": \"Withdraw too frequent\"\n    },\n    {\n      \"code\": 6009,\n      \"name\": \"NewSizeShouldBeGreaterThanCurrentSize\",\n      \"msg\": \"new_size should be > current_size\"\n    },\n    {\n      \"code\": 6010,\n      \"name\": \"AccountTypeNotSupported\",\n      \"msg\": \"Account type not supported\"\n    },\n    {\n      \"code\": 6011,\n      \"name\": \"InitialRealTokenReservesShouldBeLessThanTokenTotalSupply\",\n      \"msg\": \"initial_real_token_reserves should be less than token_total_supply\"\n    },\n    {\n      \"code\": 6012,\n      \"name\": \"InitialVirtualTokenReservesShouldBeGreaterThanInitialRealTokenReserves\",\n      \"msg\": \"initial_virtual_token_reserves should be greater than initial_real_token_reserves\"\n    },\n    {\n      \"code\": 6013,\n      \"name\": \"FeeBasisPointsGreaterThanMaximum\",\n      \"msg\": \"fee_basis_points greater than maximum\"\n    },\n    {\n      \"code\": 6014,\n      \"name\": \"AllZerosWithdrawAuthority\",\n      \"msg\": \"Withdraw authority cannot be set to System Program ID\"\n    },\n    {\n      \"code\": 6015,\n      \"name\": \"PoolMigrationFeeShouldBeLessThanFinalRealSolReserves\",\n      \"msg\": \"pool_migration_fee should be less than final_real_sol_reserves\"\n    },\n    {\n      \"code\": 6016,\n      \"name\": \"PoolMigrationFeeShouldBeGreaterThanCreatorFeePlusMaxMigrateFees\",\n      \"msg\": \"pool_migration_fee should be greater than creator_fee + MAX_MIGRATE_FEES\"\n    },\n    {\n      \"code\": 6017,\n      \"name\": \"DisabledWithdraw\",\n      \"msg\": \"Migrate instruction is disabled\"\n    },\n    {\n      \"code\": 6018,\n      \"name\": \"DisabledMigrate\",\n      \"msg\": \"Migrate instruction is disabled\"\n    },\n    {\n      \"code\": 6019,\n      \"name\": \"InvalidCreator\",\n      \"msg\": \"Invalid creator pubkey\"\n    },\n    {\n      \"code\": 6020,\n      \"name\": \"BuyZeroAmount\",\n      \"msg\": \"Buy zero amount\"\n    },\n    {\n      \"code\": 6021,\n      \"name\": \"NotEnoughTokensToBuy\",\n      \"msg\": \"Not enough tokens to buy\"\n    },\n    {\n      \"code\": 6022,\n      \"name\": \"SellZeroAmount\",\n      \"msg\": \"Sell zero amount\"\n    },\n    {\n      \"code\": 6023,\n      \"name\": \"NotEnoughTokensToSell\",\n      \"msg\": \"Not enough tokens to sell\"\n    },\n    {\n      \"code\": 6024,\n      \"name\": \"Overflow\",\n      \"msg\": \"Overflow\"\n    },\n    {\n      \"code\": 6025,\n      \"name\": \"Truncation\",\n      \"msg\": \"Truncation\"\n    },\n    {\n      \"code\": 6026,\n      \"name\": \"DivisionByZero\",\n      \"msg\": \"Division by zero\"\n    },\n    {\n      \"code\": 6027,\n      \"name\": \"NotEnoughRemainingAccounts\",\n      \"msg\": \"Not enough remaining accounts\"\n    },\n    {\n      \"code\": 6028,\n      \"name\": \"AllFeeRecipientsShouldBeNonZero\",\n      \"msg\": \"All fee recipients should be non-zero\"\n    },\n    {\n      \"code\": 6029,\n      \"name\": \"UnsortedNotUniqueFeeRecipients\",\n      \"msg\": \"Unsorted or not unique fee recipients\"\n    },\n    {\n      \"code\": 6030,\n      \"name\": \"CreatorShouldNotBeZero\",\n      \"msg\": \"Creator should not be zero\"\n    },\n    {\n      \"code\": 6031,\n      \"name\": \"StartTimeInThePast\"\n    },\n    {\n      \"code\": 6032,\n      \"name\": \"EndTimeInThePast\"\n    },\n    {\n      \"code\": 6033,\n      \"name\": \"EndTimeBeforeStartTime\"\n    },\n    {\n      \"code\": 6034,\n      \"name\": \"TimeRangeTooLarge\"\n    },\n    {\n      \"code\": 6035,\n      \"name\": \"EndTimeBeforeCurrentDay\"\n    },\n    {\n      \"code\": 6036,\n      \"name\": \"SupplyUpdateForFinishedRange\"\n    },\n    {\n      \"code\": 6037,\n      \"name\": \"DayIndexAfterEndIndex\"\n    },\n    {\n      \"code\": 6038,\n      \"name\": \"DayInActiveRange\"\n    },\n    {\n      \"code\": 6039,\n      \"name\": \"InvalidIncentiveMint\"\n    },\n    {\n      \"code\": 6040,\n      \"name\": \"BuyNotEnoughSolToCoverRent\",\n      \"msg\": \"Buy: Not enough SOL to cover for rent exemption.\"\n    },\n    {\n      \"code\": 6041,\n      \"name\": \"BuyNotEnoughSolToCoverFees\",\n      \"msg\": \"Buy: Not enough SOL to cover for fees.\"\n    },\n    {\n      \"code\": 6042,\n      \"name\": \"BuySlippageBelowMinTokensOut\",\n      \"msg\": \"Slippage: Would buy less tokens than expected min_tokens_out\"\n    },\n    {\n      \"code\": 6043,\n      \"name\": \"NameTooLong\"\n    },\n    {\n      \"code\": 6044,\n      \"name\": \"SymbolTooLong\"\n    },\n    {\n      \"code\": 6045,\n      \"name\": \"UriTooLong\"\n    },\n    {\n      \"code\": 6046,\n      \"name\": \"CreateV2Disabled\"\n    },\n    {\n      \"code\": 6047,\n      \"name\": \"CpitializeMayhemFailed\"\n    },\n    {\n      \"code\": 6048,\n      \"name\": \"MayhemModeDisabled\"\n    },\n    {\n      \"code\": 6049,\n      \"name\": \"CreatorMigratedToSharingConfig\",\n      \"msg\": \"creator has been migrated to sharing config, use pump_fees::reset_fee_sharing_config instead\"\n    },\n    {\n      \"code\": 6050,\n      \"name\": \"UnableToDistributeCreatorVaultMigratedToSharingConfig\",\n      \"msg\": \"creator_vault has been migrated to sharing config, use pump:distribute_creator_fees instead\"\n    },\n    {\n      \"code\": 6051,\n      \"name\": \"SharingConfigNotActive\",\n      \"msg\": \"Sharing config is not active\"\n    },\n    {\n      \"code\": 6052,\n      \"name\": \"UnableToDistributeCreatorFeesToExecutableRecipient\",\n      \"msg\": \"The recipient account is executable, so it cannot receive lamports, remove it from the team first\"\n    },\n    {\n      \"code\": 6053,\n      \"name\": \"BondingCurveAndSharingConfigCreatorMismatch\",\n      \"msg\": \"Bonding curve creator does not match sharing config\"\n    },\n    {\n      \"code\": 6054,\n      \"name\": \"ShareholdersAndRemainingAccountsMismatch\",\n      \"msg\": \"Remaining accounts do not match shareholders, make sure to pass exactly the same pubkeys in the same order\"\n    },\n    {\n      \"code\": 6055,\n      \"name\": \"InvalidShareBps\",\n      \"msg\": \"Share bps must be greater than 0\"\n    },\n    {\n      \"code\": 6056,\n      \"name\": \"CashbackNotEnabled\",\n      \"msg\": \"Cashback is not enabled\"\n    }\n  ],\n  \"types\": [\n    {\n      \"name\": \"AdminSetCreatorEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"admin_set_creator_authority\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"mint\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"bonding_curve\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"old_creator\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"new_creator\",\n            \"type\": \"pubkey\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"AdminSetIdlAuthorityEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"idl_authority\",\n            \"type\": \"pubkey\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"AdminUpdateTokenIncentivesEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"start_time\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"end_time\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"day_number\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"token_supply_per_day\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"mint\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"seconds_in_a_day\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"BondingCurve\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"virtual_token_reserves\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"virtual_sol_reserves\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"real_token_reserves\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"real_sol_reserves\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"token_total_supply\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"complete\",\n            \"type\": \"bool\"\n          },\n          {\n            \"name\": \"creator\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"is_mayhem_mode\",\n            \"type\": \"bool\"\n          },\n          {\n            \"name\": \"is_cashback_coin\",\n            \"type\": \"bool\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"ClaimCashbackEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"user\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"amount\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"total_claimed\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"total_cashback_earned\",\n            \"type\": \"u64\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"ClaimTokenIncentivesEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"user\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"mint\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"amount\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"total_claimed_tokens\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"current_sol_volume\",\n            \"type\": \"u64\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"CloseUserVolumeAccumulatorEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"user\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"total_unclaimed_tokens\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"total_claimed_tokens\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"current_sol_volume\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"last_update_timestamp\",\n            \"type\": \"i64\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"CollectCreatorFeeEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"creator\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"creator_fee\",\n            \"type\": \"u64\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"CompleteEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"user\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"mint\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"bonding_curve\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"CompletePumpAmmMigrationEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"user\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"mint\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"mint_amount\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"sol_amount\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"pool_migration_fee\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"bonding_curve\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"pool\",\n            \"type\": \"pubkey\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"ConfigStatus\",\n      \"type\": {\n        \"kind\": \"enum\",\n        \"variants\": [\n          {\n            \"name\": \"Paused\"\n          },\n          {\n            \"name\": \"Active\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"CreateEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"name\",\n            \"type\": \"string\"\n          },\n          {\n            \"name\": \"symbol\",\n            \"type\": \"string\"\n          },\n          {\n            \"name\": \"uri\",\n            \"type\": \"string\"\n          },\n          {\n            \"name\": \"mint\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"bonding_curve\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"user\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"creator\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"virtual_token_reserves\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"virtual_sol_reserves\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"real_token_reserves\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"token_total_supply\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"token_program\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"is_mayhem_mode\",\n            \"type\": \"bool\"\n          },\n          {\n            \"name\": \"is_cashback_enabled\",\n            \"type\": \"bool\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"DistributeCreatorFeesEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"mint\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"bonding_curve\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"sharing_config\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"admin\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"shareholders\",\n            \"type\": {\n              \"vec\": {\n                \"defined\": {\n                  \"name\": \"Shareholder\"\n                }\n              }\n            }\n          },\n          {\n            \"name\": \"distributed\",\n            \"type\": \"u64\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"ExtendAccountEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"account\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"user\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"current_size\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"new_size\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"FeeConfig\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"bump\",\n            \"type\": \"u8\"\n          },\n          {\n            \"name\": \"admin\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"flat_fees\",\n            \"type\": {\n              \"defined\": {\n                \"name\": \"Fees\"\n              }\n            }\n          },\n          {\n            \"name\": \"fee_tiers\",\n            \"type\": {\n              \"vec\": {\n                \"defined\": {\n                  \"name\": \"FeeTier\"\n                }\n              }\n            }\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"FeeTier\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"market_cap_lamports_threshold\",\n            \"type\": \"u128\"\n          },\n          {\n            \"name\": \"fees\",\n            \"type\": {\n              \"defined\": {\n                \"name\": \"Fees\"\n              }\n            }\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"Fees\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"lp_fee_bps\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"protocol_fee_bps\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"creator_fee_bps\",\n            \"type\": \"u64\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"Global\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"initialized\",\n            \"docs\": [\n              \"Unused\"\n            ],\n            \"type\": \"bool\"\n          },\n          {\n            \"name\": \"authority\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"fee_recipient\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"initial_virtual_token_reserves\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"initial_virtual_sol_reserves\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"initial_real_token_reserves\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"token_total_supply\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"fee_basis_points\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"withdraw_authority\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"enable_migrate\",\n            \"docs\": [\n              \"Unused\"\n            ],\n            \"type\": \"bool\"\n          },\n          {\n            \"name\": \"pool_migration_fee\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"creator_fee_basis_points\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"fee_recipients\",\n            \"type\": {\n              \"array\": [\n                \"pubkey\",\n                7\n              ]\n            }\n          },\n          {\n            \"name\": \"set_creator_authority\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"admin_set_creator_authority\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"create_v2_enabled\",\n            \"type\": \"bool\"\n          },\n          {\n            \"name\": \"whitelist_pda\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"reserved_fee_recipient\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"mayhem_mode_enabled\",\n            \"type\": \"bool\"\n          },\n          {\n            \"name\": \"reserved_fee_recipients\",\n            \"type\": {\n              \"array\": [\n                \"pubkey\",\n                7\n              ]\n            }\n          },\n          {\n            \"name\": \"is_cashback_enabled\",\n            \"type\": \"bool\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"GlobalVolumeAccumulator\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"start_time\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"end_time\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"seconds_in_a_day\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"mint\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"total_token_supply\",\n            \"type\": {\n              \"array\": [\n                \"u64\",\n                30\n              ]\n            }\n          },\n          {\n            \"name\": \"sol_volumes\",\n            \"type\": {\n              \"array\": [\n                \"u64\",\n                30\n              ]\n            }\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"InitUserVolumeAccumulatorEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"payer\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"user\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"MigrateBondingCurveCreatorEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"mint\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"bonding_curve\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"sharing_config\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"old_creator\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"new_creator\",\n            \"type\": \"pubkey\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"MinimumDistributableFeeEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"minimum_required\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"distributable_fees\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"can_distribute\",\n            \"type\": \"bool\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"OptionBool\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          \"bool\"\n        ]\n      }\n    },\n    {\n      \"name\": \"ReservedFeeRecipientsEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"reserved_fee_recipient\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"reserved_fee_recipients\",\n            \"type\": {\n              \"array\": [\n                \"pubkey\",\n                7\n              ]\n            }\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"SetCreatorEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"mint\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"bonding_curve\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"creator\",\n            \"type\": \"pubkey\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"SetMetaplexCreatorEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"mint\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"bonding_curve\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"metadata\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"creator\",\n            \"type\": \"pubkey\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"SetParamsEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"initial_virtual_token_reserves\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"initial_virtual_sol_reserves\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"initial_real_token_reserves\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"final_real_sol_reserves\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"token_total_supply\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"fee_basis_points\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"withdraw_authority\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"enable_migrate\",\n            \"type\": \"bool\"\n          },\n          {\n            \"name\": \"pool_migration_fee\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"creator_fee_basis_points\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"fee_recipients\",\n            \"type\": {\n              \"array\": [\n                \"pubkey\",\n                8\n              ]\n            }\n          },\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"set_creator_authority\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"admin_set_creator_authority\",\n            \"type\": \"pubkey\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"Shareholder\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"address\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"share_bps\",\n            \"type\": \"u16\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"SharingConfig\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"bump\",\n            \"type\": \"u8\"\n          },\n          {\n            \"name\": \"version\",\n            \"type\": \"u8\"\n          },\n          {\n            \"name\": \"status\",\n            \"type\": {\n              \"defined\": {\n                \"name\": \"ConfigStatus\"\n              }\n            }\n          },\n          {\n            \"name\": \"mint\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"admin\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"admin_revoked\",\n            \"type\": \"bool\"\n          },\n          {\n            \"name\": \"shareholders\",\n            \"type\": {\n              \"vec\": {\n                \"defined\": {\n                  \"name\": \"Shareholder\"\n                }\n              }\n            }\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"SyncUserVolumeAccumulatorEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"user\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"total_claimed_tokens_before\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"total_claimed_tokens_after\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"TradeEvent\",\n      \"docs\": [\n        \"ix_name: \\\"buy\\\" | \\\"sell\\\" | \\\"buy_exact_sol_in\\\"\"\n      ],\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"mint\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"sol_amount\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"token_amount\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"is_buy\",\n            \"type\": \"bool\"\n          },\n          {\n            \"name\": \"user\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"virtual_sol_reserves\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"virtual_token_reserves\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"real_sol_reserves\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"real_token_reserves\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"fee_recipient\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"fee_basis_points\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"fee\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"creator\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"creator_fee_basis_points\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"creator_fee\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"track_volume\",\n            \"type\": \"bool\"\n          },\n          {\n            \"name\": \"total_unclaimed_tokens\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"total_claimed_tokens\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"current_sol_volume\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"last_update_timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"ix_name\",\n            \"type\": \"string\"\n          },\n          {\n            \"name\": \"mayhem_mode\",\n            \"type\": \"bool\"\n          },\n          {\n            \"name\": \"cashback_fee_basis_points\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"cashback\",\n            \"type\": \"u64\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"UpdateGlobalAuthorityEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"global\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"authority\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"new_authority\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"UpdateMayhemVirtualParamsEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"mint\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"virtual_token_reserves\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"virtual_sol_reserves\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"new_virtual_token_reserves\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"new_virtual_sol_reserves\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"real_token_reserves\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"real_sol_reserves\",\n            \"type\": \"u64\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"UserVolumeAccumulator\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"user\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"needs_claim\",\n            \"type\": \"bool\"\n          },\n          {\n            \"name\": \"total_unclaimed_tokens\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"total_claimed_tokens\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"current_sol_volume\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"last_update_timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"has_total_claimed_tokens\",\n            \"type\": \"bool\"\n          },\n          {\n            \"name\": \"cashback_earned\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"total_cashback_claimed\",\n            \"type\": \"u64\"\n          }\n        ]\n      }\n    }\n  ]\n}"
  },
  {
    "path": "idl/pump.ts",
    "content": "/**\n * Program IDL in camelCase format in order to be used in JS/TS.\n *\n * Note that this is only a type helper and is not the actual IDL. The original\n * IDL can be found at `target/idl/pump.json`.\n */\nexport interface Pump {\n  address: \"6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P\";\n  metadata: {\n    name: \"pump\";\n    version: \"0.1.0\";\n    spec: \"0.1.0\";\n    description: \"Created with Anchor\";\n  };\n  instructions: [\n    {\n      name: \"adminSetCreator\";\n      docs: [\n        \"Allows Global::admin_set_creator_authority to override the bonding curve creator\",\n      ];\n      discriminator: [69, 25, 171, 142, 57, 239, 13, 4];\n      accounts: [\n        {\n          name: \"adminSetCreatorAuthority\";\n          signer: true;\n          relations: [\"global\"];\n        },\n        {\n          name: \"global\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [103, 108, 111, 98, 97, 108];\n              },\n            ];\n          };\n        },\n        {\n          name: \"mint\";\n        },\n        {\n          name: \"bondingCurve\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  98,\n                  111,\n                  110,\n                  100,\n                  105,\n                  110,\n                  103,\n                  45,\n                  99,\n                  117,\n                  114,\n                  118,\n                  101,\n                ];\n              },\n              {\n                kind: \"account\";\n                path: \"mint\";\n              },\n            ];\n          };\n        },\n        {\n          name: \"eventAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"program\";\n        },\n      ];\n      args: [\n        {\n          name: \"creator\";\n          type: \"pubkey\";\n        },\n      ];\n    },\n    {\n      name: \"adminSetIdlAuthority\";\n      discriminator: [8, 217, 96, 231, 144, 104, 192, 5];\n      accounts: [\n        {\n          name: \"authority\";\n          signer: true;\n          relations: [\"global\"];\n        },\n        {\n          name: \"global\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [103, 108, 111, 98, 97, 108];\n              },\n            ];\n          };\n        },\n        {\n          name: \"idlAccount\";\n          writable: true;\n        },\n        {\n          name: \"systemProgram\";\n          address: \"11111111111111111111111111111111\";\n        },\n        {\n          name: \"programSigner\";\n          pda: {\n            seeds: [];\n          };\n        },\n        {\n          name: \"eventAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"program\";\n        },\n      ];\n      args: [\n        {\n          name: \"idlAuthority\";\n          type: \"pubkey\";\n        },\n      ];\n    },\n    {\n      name: \"adminUpdateTokenIncentives\";\n      discriminator: [209, 11, 115, 87, 213, 23, 124, 204];\n      accounts: [\n        {\n          name: \"authority\";\n          writable: true;\n          signer: true;\n          relations: [\"global\"];\n        },\n        {\n          name: \"global\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [103, 108, 111, 98, 97, 108];\n              },\n            ];\n          };\n        },\n        {\n          name: \"globalVolumeAccumulator\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108,\n                  95,\n                  118,\n                  111,\n                  108,\n                  117,\n                  109,\n                  101,\n                  95,\n                  97,\n                  99,\n                  99,\n                  117,\n                  109,\n                  117,\n                  108,\n                  97,\n                  116,\n                  111,\n                  114,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"mint\";\n        },\n        {\n          name: \"globalIncentiveTokenAccount\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"account\";\n                path: \"globalVolumeAccumulator\";\n              },\n              {\n                kind: \"account\";\n                path: \"tokenProgram\";\n              },\n              {\n                kind: \"account\";\n                path: \"mint\";\n              },\n            ];\n            program: {\n              kind: \"const\";\n              value: [\n                140,\n                151,\n                37,\n                143,\n                78,\n                36,\n                137,\n                241,\n                187,\n                61,\n                16,\n                41,\n                20,\n                142,\n                13,\n                131,\n                11,\n                90,\n                19,\n                153,\n                218,\n                255,\n                16,\n                132,\n                4,\n                142,\n                123,\n                216,\n                219,\n                233,\n                248,\n                89,\n              ];\n            };\n          };\n        },\n        {\n          name: \"associatedTokenProgram\";\n          address: \"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\";\n        },\n        {\n          name: \"systemProgram\";\n          address: \"11111111111111111111111111111111\";\n        },\n        {\n          name: \"tokenProgram\";\n        },\n        {\n          name: \"eventAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"program\";\n        },\n      ];\n      args: [\n        {\n          name: \"startTime\";\n          type: \"i64\";\n        },\n        {\n          name: \"endTime\";\n          type: \"i64\";\n        },\n        {\n          name: \"secondsInADay\";\n          type: \"i64\";\n        },\n        {\n          name: \"dayNumber\";\n          type: \"u64\";\n        },\n        {\n          name: \"pumpTokenSupplyPerDay\";\n          type: \"u64\";\n        },\n      ];\n    },\n    {\n      name: \"buy\";\n      docs: [\"Buys tokens from a bonding curve.\"];\n      discriminator: [102, 6, 61, 18, 1, 218, 235, 234];\n      accounts: [\n        {\n          name: \"global\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [103, 108, 111, 98, 97, 108];\n              },\n            ];\n          };\n        },\n        {\n          name: \"feeRecipient\";\n          writable: true;\n        },\n        {\n          name: \"mint\";\n        },\n        {\n          name: \"bondingCurve\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  98,\n                  111,\n                  110,\n                  100,\n                  105,\n                  110,\n                  103,\n                  45,\n                  99,\n                  117,\n                  114,\n                  118,\n                  101,\n                ];\n              },\n              {\n                kind: \"account\";\n                path: \"mint\";\n              },\n            ];\n          };\n        },\n        {\n          name: \"associatedBondingCurve\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"account\";\n                path: \"bondingCurve\";\n              },\n              {\n                kind: \"account\";\n                path: \"tokenProgram\";\n              },\n              {\n                kind: \"account\";\n                path: \"mint\";\n              },\n            ];\n            program: {\n              kind: \"const\";\n              value: [\n                140,\n                151,\n                37,\n                143,\n                78,\n                36,\n                137,\n                241,\n                187,\n                61,\n                16,\n                41,\n                20,\n                142,\n                13,\n                131,\n                11,\n                90,\n                19,\n                153,\n                218,\n                255,\n                16,\n                132,\n                4,\n                142,\n                123,\n                216,\n                219,\n                233,\n                248,\n                89,\n              ];\n            };\n          };\n        },\n        {\n          name: \"associatedUser\";\n          writable: true;\n        },\n        {\n          name: \"user\";\n          writable: true;\n          signer: true;\n        },\n        {\n          name: \"systemProgram\";\n          address: \"11111111111111111111111111111111\";\n        },\n        {\n          name: \"tokenProgram\";\n        },\n        {\n          name: \"creatorVault\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  99,\n                  114,\n                  101,\n                  97,\n                  116,\n                  111,\n                  114,\n                  45,\n                  118,\n                  97,\n                  117,\n                  108,\n                  116,\n                ];\n              },\n              {\n                kind: \"account\";\n                path: \"bonding_curve.creator\";\n                account: \"bondingCurve\";\n              },\n            ];\n          };\n        },\n        {\n          name: \"eventAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"program\";\n          address: \"6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P\";\n        },\n        {\n          name: \"globalVolumeAccumulator\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108,\n                  95,\n                  118,\n                  111,\n                  108,\n                  117,\n                  109,\n                  101,\n                  95,\n                  97,\n                  99,\n                  99,\n                  117,\n                  109,\n                  117,\n                  108,\n                  97,\n                  116,\n                  111,\n                  114,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"userVolumeAccumulator\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  117,\n                  115,\n                  101,\n                  114,\n                  95,\n                  118,\n                  111,\n                  108,\n                  117,\n                  109,\n                  101,\n                  95,\n                  97,\n                  99,\n                  99,\n                  117,\n                  109,\n                  117,\n                  108,\n                  97,\n                  116,\n                  111,\n                  114,\n                ];\n              },\n              {\n                kind: \"account\";\n                path: \"user\";\n              },\n            ];\n          };\n        },\n        {\n          name: \"feeConfig\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [102, 101, 101, 95, 99, 111, 110, 102, 105, 103];\n              },\n              {\n                kind: \"const\";\n                value: [\n                  1,\n                  86,\n                  224,\n                  246,\n                  147,\n                  102,\n                  90,\n                  207,\n                  68,\n                  219,\n                  21,\n                  104,\n                  191,\n                  23,\n                  91,\n                  170,\n                  81,\n                  137,\n                  203,\n                  151,\n                  245,\n                  210,\n                  255,\n                  59,\n                  101,\n                  93,\n                  43,\n                  182,\n                  253,\n                  109,\n                  24,\n                  176,\n                ];\n              },\n            ];\n            program: {\n              kind: \"account\";\n              path: \"feeProgram\";\n            };\n          };\n        },\n        {\n          name: \"feeProgram\";\n          address: \"pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ\";\n        },\n      ];\n      args: [\n        {\n          name: \"amount\";\n          type: \"u64\";\n        },\n        {\n          name: \"maxSolCost\";\n          type: \"u64\";\n        },\n        {\n          name: \"trackVolume\";\n          type: {\n            defined: {\n              name: \"optionBool\";\n            };\n          };\n        },\n      ];\n    },\n    {\n      name: \"buyExactSolIn\";\n      docs: [\n        \"Given a budget of spendable SOL, buy at least min_tokens_out tokens.\",\n        \"Fees are deducted from spendable_sol_in.\",\n        \"\",\n        \"# Quote formulas\",\n        \"Where:\",\n        \"- total_fee_bps = protocol_fee_bps + creator_fee_bps (creator_fee_bps is 0 if no creator)\",\n        \"- floor(a/b) = a / b (integer division)\",\n        \"- ceil(a/b) = (a + b - 1) / b\",\n        \"\",\n        \"SOL → tokens quote\",\n        \"To calculate tokens_out for a given spendable_sol_in:\",\n        \"1. net_sol = floor(spendable_sol_in * 10_000 / (10_000 + total_fee_bps))\",\n        \"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)\",\n        \"3. if net_sol + fees > spendable_sol_in: net_sol = net_sol - (net_sol + fees - spendable_sol_in)\",\n        \"4. tokens_out = floor((net_sol - 1) * virtual_token_reserves / (virtual_sol_reserves + net_sol - 1))\",\n        \"\",\n        \"Reverse quote (tokens → SOL)\",\n        \"To calculate spendable_sol_in for a desired number of tokens:\",\n        \"1. net_sol = ceil(tokens * virtual_sol_reserves / (virtual_token_reserves - tokens)) + 1\",\n        \"2. spendable_sol_in = ceil(net_sol * (10_000 + total_fee_bps) / 10_000)\",\n        \"\",\n        \"Rent\",\n        \"Separately make sure the instruction's payer has enough SOL to cover rent for:\",\n        \"- creator_vault: rent.minimum_balance(0)\",\n        \"- user_volume_accumulator: rent.minimum_balance(UserVolumeAccumulator::LEN)\",\n      ];\n      discriminator: [56, 252, 116, 8, 158, 223, 205, 95];\n      accounts: [\n        {\n          name: \"global\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [103, 108, 111, 98, 97, 108];\n              },\n            ];\n          };\n        },\n        {\n          name: \"feeRecipient\";\n          writable: true;\n        },\n        {\n          name: \"mint\";\n        },\n        {\n          name: \"bondingCurve\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  98,\n                  111,\n                  110,\n                  100,\n                  105,\n                  110,\n                  103,\n                  45,\n                  99,\n                  117,\n                  114,\n                  118,\n                  101,\n                ];\n              },\n              {\n                kind: \"account\";\n                path: \"mint\";\n              },\n            ];\n          };\n        },\n        {\n          name: \"associatedBondingCurve\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"account\";\n                path: \"bondingCurve\";\n              },\n              {\n                kind: \"account\";\n                path: \"tokenProgram\";\n              },\n              {\n                kind: \"account\";\n                path: \"mint\";\n              },\n            ];\n            program: {\n              kind: \"const\";\n              value: [\n                140,\n                151,\n                37,\n                143,\n                78,\n                36,\n                137,\n                241,\n                187,\n                61,\n                16,\n                41,\n                20,\n                142,\n                13,\n                131,\n                11,\n                90,\n                19,\n                153,\n                218,\n                255,\n                16,\n                132,\n                4,\n                142,\n                123,\n                216,\n                219,\n                233,\n                248,\n                89,\n              ];\n            };\n          };\n        },\n        {\n          name: \"associatedUser\";\n          writable: true;\n        },\n        {\n          name: \"user\";\n          writable: true;\n          signer: true;\n        },\n        {\n          name: \"systemProgram\";\n          address: \"11111111111111111111111111111111\";\n        },\n        {\n          name: \"tokenProgram\";\n        },\n        {\n          name: \"creatorVault\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  99,\n                  114,\n                  101,\n                  97,\n                  116,\n                  111,\n                  114,\n                  45,\n                  118,\n                  97,\n                  117,\n                  108,\n                  116,\n                ];\n              },\n              {\n                kind: \"account\";\n                path: \"bonding_curve.creator\";\n                account: \"bondingCurve\";\n              },\n            ];\n          };\n        },\n        {\n          name: \"eventAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"program\";\n          address: \"6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P\";\n        },\n        {\n          name: \"globalVolumeAccumulator\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108,\n                  95,\n                  118,\n                  111,\n                  108,\n                  117,\n                  109,\n                  101,\n                  95,\n                  97,\n                  99,\n                  99,\n                  117,\n                  109,\n                  117,\n                  108,\n                  97,\n                  116,\n                  111,\n                  114,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"userVolumeAccumulator\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  117,\n                  115,\n                  101,\n                  114,\n                  95,\n                  118,\n                  111,\n                  108,\n                  117,\n                  109,\n                  101,\n                  95,\n                  97,\n                  99,\n                  99,\n                  117,\n                  109,\n                  117,\n                  108,\n                  97,\n                  116,\n                  111,\n                  114,\n                ];\n              },\n              {\n                kind: \"account\";\n                path: \"user\";\n              },\n            ];\n          };\n        },\n        {\n          name: \"feeConfig\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [102, 101, 101, 95, 99, 111, 110, 102, 105, 103];\n              },\n              {\n                kind: \"const\";\n                value: [\n                  1,\n                  86,\n                  224,\n                  246,\n                  147,\n                  102,\n                  90,\n                  207,\n                  68,\n                  219,\n                  21,\n                  104,\n                  191,\n                  23,\n                  91,\n                  170,\n                  81,\n                  137,\n                  203,\n                  151,\n                  245,\n                  210,\n                  255,\n                  59,\n                  101,\n                  93,\n                  43,\n                  182,\n                  253,\n                  109,\n                  24,\n                  176,\n                ];\n              },\n            ];\n            program: {\n              kind: \"account\";\n              path: \"feeProgram\";\n            };\n          };\n        },\n        {\n          name: \"feeProgram\";\n          address: \"pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ\";\n        },\n      ];\n      args: [\n        {\n          name: \"spendableSolIn\";\n          type: \"u64\";\n        },\n        {\n          name: \"minTokensOut\";\n          type: \"u64\";\n        },\n        {\n          name: \"trackVolume\";\n          type: {\n            defined: {\n              name: \"optionBool\";\n            };\n          };\n        },\n      ];\n    },\n    {\n      name: \"claimCashback\";\n      discriminator: [37, 58, 35, 126, 190, 53, 228, 197];\n      accounts: [\n        {\n          name: \"user\";\n          writable: true;\n        },\n        {\n          name: \"userVolumeAccumulator\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  117,\n                  115,\n                  101,\n                  114,\n                  95,\n                  118,\n                  111,\n                  108,\n                  117,\n                  109,\n                  101,\n                  95,\n                  97,\n                  99,\n                  99,\n                  117,\n                  109,\n                  117,\n                  108,\n                  97,\n                  116,\n                  111,\n                  114,\n                ];\n              },\n              {\n                kind: \"account\";\n                path: \"user\";\n              },\n            ];\n          };\n        },\n        {\n          name: \"systemProgram\";\n          address: \"11111111111111111111111111111111\";\n        },\n        {\n          name: \"eventAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"program\";\n          address: \"6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P\";\n        },\n      ];\n      args: [];\n    },\n    {\n      name: \"claimTokenIncentives\";\n      discriminator: [16, 4, 71, 28, 204, 1, 40, 27];\n      accounts: [\n        {\n          name: \"user\";\n        },\n        {\n          name: \"userAta\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"account\";\n                path: \"user\";\n              },\n              {\n                kind: \"account\";\n                path: \"tokenProgram\";\n              },\n              {\n                kind: \"account\";\n                path: \"mint\";\n              },\n            ];\n            program: {\n              kind: \"const\";\n              value: [\n                140,\n                151,\n                37,\n                143,\n                78,\n                36,\n                137,\n                241,\n                187,\n                61,\n                16,\n                41,\n                20,\n                142,\n                13,\n                131,\n                11,\n                90,\n                19,\n                153,\n                218,\n                255,\n                16,\n                132,\n                4,\n                142,\n                123,\n                216,\n                219,\n                233,\n                248,\n                89,\n              ];\n            };\n          };\n        },\n        {\n          name: \"globalVolumeAccumulator\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108,\n                  95,\n                  118,\n                  111,\n                  108,\n                  117,\n                  109,\n                  101,\n                  95,\n                  97,\n                  99,\n                  99,\n                  117,\n                  109,\n                  117,\n                  108,\n                  97,\n                  116,\n                  111,\n                  114,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"globalIncentiveTokenAccount\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"account\";\n                path: \"globalVolumeAccumulator\";\n              },\n              {\n                kind: \"account\";\n                path: \"tokenProgram\";\n              },\n              {\n                kind: \"account\";\n                path: \"mint\";\n              },\n            ];\n            program: {\n              kind: \"const\";\n              value: [\n                140,\n                151,\n                37,\n                143,\n                78,\n                36,\n                137,\n                241,\n                187,\n                61,\n                16,\n                41,\n                20,\n                142,\n                13,\n                131,\n                11,\n                90,\n                19,\n                153,\n                218,\n                255,\n                16,\n                132,\n                4,\n                142,\n                123,\n                216,\n                219,\n                233,\n                248,\n                89,\n              ];\n            };\n          };\n        },\n        {\n          name: \"userVolumeAccumulator\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  117,\n                  115,\n                  101,\n                  114,\n                  95,\n                  118,\n                  111,\n                  108,\n                  117,\n                  109,\n                  101,\n                  95,\n                  97,\n                  99,\n                  99,\n                  117,\n                  109,\n                  117,\n                  108,\n                  97,\n                  116,\n                  111,\n                  114,\n                ];\n              },\n              {\n                kind: \"account\";\n                path: \"user\";\n              },\n            ];\n          };\n        },\n        {\n          name: \"mint\";\n          relations: [\"globalVolumeAccumulator\"];\n        },\n        {\n          name: \"tokenProgram\";\n        },\n        {\n          name: \"systemProgram\";\n          address: \"11111111111111111111111111111111\";\n        },\n        {\n          name: \"associatedTokenProgram\";\n          address: \"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\";\n        },\n        {\n          name: \"eventAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"program\";\n          address: \"6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P\";\n        },\n        {\n          name: \"payer\";\n          writable: true;\n          signer: true;\n        },\n      ];\n      args: [];\n    },\n    {\n      name: \"closeUserVolumeAccumulator\";\n      discriminator: [249, 69, 164, 218, 150, 103, 84, 138];\n      accounts: [\n        {\n          name: \"user\";\n          writable: true;\n          signer: true;\n        },\n        {\n          name: \"userVolumeAccumulator\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  117,\n                  115,\n                  101,\n                  114,\n                  95,\n                  118,\n                  111,\n                  108,\n                  117,\n                  109,\n                  101,\n                  95,\n                  97,\n                  99,\n                  99,\n                  117,\n                  109,\n                  117,\n                  108,\n                  97,\n                  116,\n                  111,\n                  114,\n                ];\n              },\n              {\n                kind: \"account\";\n                path: \"user\";\n              },\n            ];\n          };\n        },\n        {\n          name: \"eventAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"program\";\n        },\n      ];\n      args: [];\n    },\n    {\n      name: \"collectCreatorFee\";\n      docs: [\n        \"Collects creator_fee from creator_vault to the coin creator account\",\n      ];\n      discriminator: [20, 22, 86, 123, 198, 28, 219, 132];\n      accounts: [\n        {\n          name: \"creator\";\n          writable: true;\n        },\n        {\n          name: \"creatorVault\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  99,\n                  114,\n                  101,\n                  97,\n                  116,\n                  111,\n                  114,\n                  45,\n                  118,\n                  97,\n                  117,\n                  108,\n                  116,\n                ];\n              },\n              {\n                kind: \"account\";\n                path: \"creator\";\n              },\n            ];\n          };\n        },\n        {\n          name: \"systemProgram\";\n          address: \"11111111111111111111111111111111\";\n        },\n        {\n          name: \"eventAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"program\";\n        },\n      ];\n      args: [];\n    },\n    {\n      name: \"create\";\n      docs: [\"Creates a new coin and bonding curve.\"];\n      discriminator: [24, 30, 200, 40, 5, 28, 7, 119];\n      accounts: [\n        {\n          name: \"mint\";\n          writable: true;\n          signer: true;\n        },\n        {\n          name: \"mintAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  109,\n                  105,\n                  110,\n                  116,\n                  45,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"bondingCurve\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  98,\n                  111,\n                  110,\n                  100,\n                  105,\n                  110,\n                  103,\n                  45,\n                  99,\n                  117,\n                  114,\n                  118,\n                  101,\n                ];\n              },\n              {\n                kind: \"account\";\n                path: \"mint\";\n              },\n            ];\n          };\n        },\n        {\n          name: \"associatedBondingCurve\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"account\";\n                path: \"bondingCurve\";\n              },\n              {\n                kind: \"const\";\n                value: [\n                  6,\n                  221,\n                  246,\n                  225,\n                  215,\n                  101,\n                  161,\n                  147,\n                  217,\n                  203,\n                  225,\n                  70,\n                  206,\n                  235,\n                  121,\n                  172,\n                  28,\n                  180,\n                  133,\n                  237,\n                  95,\n                  91,\n                  55,\n                  145,\n                  58,\n                  140,\n                  245,\n                  133,\n                  126,\n                  255,\n                  0,\n                  169,\n                ];\n              },\n              {\n                kind: \"account\";\n                path: \"mint\";\n              },\n            ];\n            program: {\n              kind: \"const\";\n              value: [\n                140,\n                151,\n                37,\n                143,\n                78,\n                36,\n                137,\n                241,\n                187,\n                61,\n                16,\n                41,\n                20,\n                142,\n                13,\n                131,\n                11,\n                90,\n                19,\n                153,\n                218,\n                255,\n                16,\n                132,\n                4,\n                142,\n                123,\n                216,\n                219,\n                233,\n                248,\n                89,\n              ];\n            };\n          };\n        },\n        {\n          name: \"global\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [103, 108, 111, 98, 97, 108];\n              },\n            ];\n          };\n        },\n        {\n          name: \"mplTokenMetadata\";\n          address: \"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s\";\n        },\n        {\n          name: \"metadata\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [109, 101, 116, 97, 100, 97, 116, 97];\n              },\n              {\n                kind: \"const\";\n                value: [\n                  11,\n                  112,\n                  101,\n                  177,\n                  227,\n                  209,\n                  124,\n                  69,\n                  56,\n                  157,\n                  82,\n                  127,\n                  107,\n                  4,\n                  195,\n                  205,\n                  88,\n                  184,\n                  108,\n                  115,\n                  26,\n                  160,\n                  253,\n                  181,\n                  73,\n                  182,\n                  209,\n                  188,\n                  3,\n                  248,\n                  41,\n                  70,\n                ];\n              },\n              {\n                kind: \"account\";\n                path: \"mint\";\n              },\n            ];\n            program: {\n              kind: \"account\";\n              path: \"mplTokenMetadata\";\n            };\n          };\n        },\n        {\n          name: \"user\";\n          writable: true;\n          signer: true;\n        },\n        {\n          name: \"systemProgram\";\n          address: \"11111111111111111111111111111111\";\n        },\n        {\n          name: \"tokenProgram\";\n          address: \"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA\";\n        },\n        {\n          name: \"associatedTokenProgram\";\n          address: \"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\";\n        },\n        {\n          name: \"rent\";\n          address: \"SysvarRent111111111111111111111111111111111\";\n        },\n        {\n          name: \"eventAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"program\";\n        },\n      ];\n      args: [\n        {\n          name: \"name\";\n          type: \"string\";\n        },\n        {\n          name: \"symbol\";\n          type: \"string\";\n        },\n        {\n          name: \"uri\";\n          type: \"string\";\n        },\n        {\n          name: \"creator\";\n          type: \"pubkey\";\n        },\n      ];\n    },\n    {\n      name: \"createV2\";\n      docs: [\"Creates a new spl-22 coin and bonding curve.\"];\n      discriminator: [214, 144, 76, 236, 95, 139, 49, 180];\n      accounts: [\n        {\n          name: \"mint\";\n          writable: true;\n          signer: true;\n        },\n        {\n          name: \"mintAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  109,\n                  105,\n                  110,\n                  116,\n                  45,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"bondingCurve\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  98,\n                  111,\n                  110,\n                  100,\n                  105,\n                  110,\n                  103,\n                  45,\n                  99,\n                  117,\n                  114,\n                  118,\n                  101,\n                ];\n              },\n              {\n                kind: \"account\";\n                path: \"mint\";\n              },\n            ];\n          };\n        },\n        {\n          name: \"associatedBondingCurve\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"account\";\n                path: \"bondingCurve\";\n              },\n              {\n                kind: \"account\";\n                path: \"tokenProgram\";\n              },\n              {\n                kind: \"account\";\n                path: \"mint\";\n              },\n            ];\n            program: {\n              kind: \"const\";\n              value: [\n                140,\n                151,\n                37,\n                143,\n                78,\n                36,\n                137,\n                241,\n                187,\n                61,\n                16,\n                41,\n                20,\n                142,\n                13,\n                131,\n                11,\n                90,\n                19,\n                153,\n                218,\n                255,\n                16,\n                132,\n                4,\n                142,\n                123,\n                216,\n                219,\n                233,\n                248,\n                89,\n              ];\n            };\n          };\n        },\n        {\n          name: \"global\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [103, 108, 111, 98, 97, 108];\n              },\n            ];\n          };\n        },\n        {\n          name: \"user\";\n          writable: true;\n          signer: true;\n        },\n        {\n          name: \"systemProgram\";\n          address: \"11111111111111111111111111111111\";\n        },\n        {\n          name: \"tokenProgram\";\n          address: \"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb\";\n        },\n        {\n          name: \"associatedTokenProgram\";\n          address: \"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\";\n        },\n        {\n          name: \"mayhemProgramId\";\n          writable: true;\n          address: \"MAyhSmzXzV1pTf7LsNkrNwkWKTo4ougAJ1PPg47MD4e\";\n        },\n        {\n          name: \"globalParams\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108,\n                  45,\n                  112,\n                  97,\n                  114,\n                  97,\n                  109,\n                  115,\n                ];\n              },\n            ];\n            program: {\n              kind: \"const\";\n              value: [\n                5,\n                42,\n                229,\n                215,\n                167,\n                218,\n                167,\n                36,\n                166,\n                234,\n                176,\n                167,\n                41,\n                84,\n                145,\n                133,\n                90,\n                212,\n                160,\n                103,\n                22,\n                96,\n                103,\n                76,\n                78,\n                3,\n                69,\n                89,\n                128,\n                61,\n                101,\n                163,\n              ];\n            };\n          };\n        },\n        {\n          name: \"solVault\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [115, 111, 108, 45, 118, 97, 117, 108, 116];\n              },\n            ];\n            program: {\n              kind: \"const\";\n              value: [\n                5,\n                42,\n                229,\n                215,\n                167,\n                218,\n                167,\n                36,\n                166,\n                234,\n                176,\n                167,\n                41,\n                84,\n                145,\n                133,\n                90,\n                212,\n                160,\n                103,\n                22,\n                96,\n                103,\n                76,\n                78,\n                3,\n                69,\n                89,\n                128,\n                61,\n                101,\n                163,\n              ];\n            };\n          };\n        },\n        {\n          name: \"mayhemState\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  109,\n                  97,\n                  121,\n                  104,\n                  101,\n                  109,\n                  45,\n                  115,\n                  116,\n                  97,\n                  116,\n                  101,\n                ];\n              },\n              {\n                kind: \"account\";\n                path: \"mint\";\n              },\n            ];\n            program: {\n              kind: \"const\";\n              value: [\n                5,\n                42,\n                229,\n                215,\n                167,\n                218,\n                167,\n                36,\n                166,\n                234,\n                176,\n                167,\n                41,\n                84,\n                145,\n                133,\n                90,\n                212,\n                160,\n                103,\n                22,\n                96,\n                103,\n                76,\n                78,\n                3,\n                69,\n                89,\n                128,\n                61,\n                101,\n                163,\n              ];\n            };\n          };\n        },\n        {\n          name: \"mayhemTokenVault\";\n          writable: true;\n        },\n        {\n          name: \"eventAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"program\";\n        },\n      ];\n      args: [\n        {\n          name: \"name\";\n          type: \"string\";\n        },\n        {\n          name: \"symbol\";\n          type: \"string\";\n        },\n        {\n          name: \"uri\";\n          type: \"string\";\n        },\n        {\n          name: \"creator\";\n          type: \"pubkey\";\n        },\n        {\n          name: \"isMayhemMode\";\n          type: \"bool\";\n        },\n        {\n          name: \"isCashbackEnabled\";\n          type: {\n            defined: {\n              name: \"optionBool\";\n            };\n          };\n        },\n      ];\n    },\n    {\n      name: \"distributeCreatorFees\";\n      docs: [\n        \"Distributes creator fees to shareholders based on their share percentages\",\n        \"The creator vault needs to have at least the minimum distributable amount to distribute fees\",\n        \"This can be checked with the get_minimum_distributable_fee instruction\",\n      ];\n      discriminator: [165, 114, 103, 0, 121, 206, 247, 81];\n      accounts: [\n        {\n          name: \"mint\";\n          relations: [\"sharingConfig\"];\n        },\n        {\n          name: \"bondingCurve\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  98,\n                  111,\n                  110,\n                  100,\n                  105,\n                  110,\n                  103,\n                  45,\n                  99,\n                  117,\n                  114,\n                  118,\n                  101,\n                ];\n              },\n              {\n                kind: \"account\";\n                path: \"mint\";\n              },\n            ];\n          };\n        },\n        {\n          name: \"sharingConfig\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  115,\n                  104,\n                  97,\n                  114,\n                  105,\n                  110,\n                  103,\n                  45,\n                  99,\n                  111,\n                  110,\n                  102,\n                  105,\n                  103,\n                ];\n              },\n              {\n                kind: \"account\";\n                path: \"mint\";\n              },\n            ];\n            program: {\n              kind: \"const\";\n              value: [\n                12,\n                53,\n                255,\n                169,\n                5,\n                90,\n                142,\n                86,\n                141,\n                168,\n                247,\n                188,\n                7,\n                86,\n                21,\n                39,\n                76,\n                241,\n                201,\n                44,\n                164,\n                31,\n                64,\n                0,\n                156,\n                81,\n                106,\n                164,\n                20,\n                194,\n                124,\n                112,\n              ];\n            };\n          };\n        },\n        {\n          name: \"creatorVault\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  99,\n                  114,\n                  101,\n                  97,\n                  116,\n                  111,\n                  114,\n                  45,\n                  118,\n                  97,\n                  117,\n                  108,\n                  116,\n                ];\n              },\n              {\n                kind: \"account\";\n                path: \"bonding_curve.creator\";\n                account: \"bondingCurve\";\n              },\n            ];\n          };\n        },\n        {\n          name: \"systemProgram\";\n          address: \"11111111111111111111111111111111\";\n        },\n        {\n          name: \"eventAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"program\";\n          address: \"6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P\";\n        },\n      ];\n      args: [];\n      returns: {\n        defined: {\n          name: \"distributeCreatorFeesEvent\";\n        };\n      };\n    },\n    {\n      name: \"extendAccount\";\n      docs: [\"Extends the size of program-owned accounts\"];\n      discriminator: [234, 102, 194, 203, 150, 72, 62, 229];\n      accounts: [\n        {\n          name: \"account\";\n          writable: true;\n        },\n        {\n          name: \"user\";\n          signer: true;\n        },\n        {\n          name: \"systemProgram\";\n          address: \"11111111111111111111111111111111\";\n        },\n        {\n          name: \"eventAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"program\";\n        },\n      ];\n      args: [];\n    },\n    {\n      name: \"getMinimumDistributableFee\";\n      docs: [\n        \"Permissionless instruction to check the minimum required fees for distribution\",\n        \"Returns the minimum required balance from the creator_vault and whether distribution can proceed\",\n      ];\n      discriminator: [117, 225, 127, 202, 134, 95, 68, 35];\n      accounts: [\n        {\n          name: \"mint\";\n          relations: [\"sharingConfig\"];\n        },\n        {\n          name: \"bondingCurve\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  98,\n                  111,\n                  110,\n                  100,\n                  105,\n                  110,\n                  103,\n                  45,\n                  99,\n                  117,\n                  114,\n                  118,\n                  101,\n                ];\n              },\n              {\n                kind: \"account\";\n                path: \"mint\";\n              },\n            ];\n          };\n        },\n        {\n          name: \"sharingConfig\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  115,\n                  104,\n                  97,\n                  114,\n                  105,\n                  110,\n                  103,\n                  45,\n                  99,\n                  111,\n                  110,\n                  102,\n                  105,\n                  103,\n                ];\n              },\n              {\n                kind: \"account\";\n                path: \"mint\";\n              },\n            ];\n            program: {\n              kind: \"const\";\n              value: [\n                12,\n                53,\n                255,\n                169,\n                5,\n                90,\n                142,\n                86,\n                141,\n                168,\n                247,\n                188,\n                7,\n                86,\n                21,\n                39,\n                76,\n                241,\n                201,\n                44,\n                164,\n                31,\n                64,\n                0,\n                156,\n                81,\n                106,\n                164,\n                20,\n                194,\n                124,\n                112,\n              ];\n            };\n          };\n        },\n        {\n          name: \"creatorVault\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  99,\n                  114,\n                  101,\n                  97,\n                  116,\n                  111,\n                  114,\n                  45,\n                  118,\n                  97,\n                  117,\n                  108,\n                  116,\n                ];\n              },\n              {\n                kind: \"account\";\n                path: \"bonding_curve.creator\";\n                account: \"bondingCurve\";\n              },\n            ];\n          };\n        },\n      ];\n      args: [];\n      returns: {\n        defined: {\n          name: \"minimumDistributableFeeEvent\";\n        };\n      };\n    },\n    {\n      name: \"initUserVolumeAccumulator\";\n      discriminator: [94, 6, 202, 115, 255, 96, 232, 183];\n      accounts: [\n        {\n          name: \"payer\";\n          writable: true;\n          signer: true;\n        },\n        {\n          name: \"user\";\n        },\n        {\n          name: \"userVolumeAccumulator\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  117,\n                  115,\n                  101,\n                  114,\n                  95,\n                  118,\n                  111,\n                  108,\n                  117,\n                  109,\n                  101,\n                  95,\n                  97,\n                  99,\n                  99,\n                  117,\n                  109,\n                  117,\n                  108,\n                  97,\n                  116,\n                  111,\n                  114,\n                ];\n              },\n              {\n                kind: \"account\";\n                path: \"user\";\n              },\n            ];\n          };\n        },\n        {\n          name: \"systemProgram\";\n          address: \"11111111111111111111111111111111\";\n        },\n        {\n          name: \"eventAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"program\";\n        },\n      ];\n      args: [];\n    },\n    {\n      name: \"initialize\";\n      docs: [\"Creates the global state.\"];\n      discriminator: [175, 175, 109, 31, 13, 152, 155, 237];\n      accounts: [\n        {\n          name: \"global\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [103, 108, 111, 98, 97, 108];\n              },\n            ];\n          };\n        },\n        {\n          name: \"user\";\n          writable: true;\n          signer: true;\n        },\n        {\n          name: \"systemProgram\";\n          address: \"11111111111111111111111111111111\";\n        },\n      ];\n      args: [];\n    },\n    {\n      name: \"migrate\";\n      docs: [\"Migrates liquidity to pump_amm if the bonding curve is complete\"];\n      discriminator: [155, 234, 231, 146, 236, 158, 162, 30];\n      accounts: [\n        {\n          name: \"global\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [103, 108, 111, 98, 97, 108];\n              },\n            ];\n          };\n        },\n        {\n          name: \"withdrawAuthority\";\n          writable: true;\n          relations: [\"global\"];\n        },\n        {\n          name: \"mint\";\n        },\n        {\n          name: \"bondingCurve\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  98,\n                  111,\n                  110,\n                  100,\n                  105,\n                  110,\n                  103,\n                  45,\n                  99,\n                  117,\n                  114,\n                  118,\n                  101,\n                ];\n              },\n              {\n                kind: \"account\";\n                path: \"mint\";\n              },\n            ];\n          };\n        },\n        {\n          name: \"associatedBondingCurve\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"account\";\n                path: \"bondingCurve\";\n              },\n              {\n                kind: \"account\";\n                path: \"mint\";\n              },\n              {\n                kind: \"account\";\n                path: \"mint\";\n              },\n            ];\n            program: {\n              kind: \"const\";\n              value: [\n                140,\n                151,\n                37,\n                143,\n                78,\n                36,\n                137,\n                241,\n                187,\n                61,\n                16,\n                41,\n                20,\n                142,\n                13,\n                131,\n                11,\n                90,\n                19,\n                153,\n                218,\n                255,\n                16,\n                132,\n                4,\n                142,\n                123,\n                216,\n                219,\n                233,\n                248,\n                89,\n              ];\n            };\n          };\n        },\n        {\n          name: \"user\";\n          signer: true;\n        },\n        {\n          name: \"systemProgram\";\n          address: \"11111111111111111111111111111111\";\n        },\n        {\n          name: \"tokenProgram\";\n          address: \"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA\";\n        },\n        {\n          name: \"pumpAmm\";\n          address: \"pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA\";\n        },\n        {\n          name: \"pool\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [112, 111, 111, 108];\n              },\n              {\n                kind: \"const\";\n                value: [0, 0];\n              },\n              {\n                kind: \"account\";\n                path: \"poolAuthority\";\n              },\n              {\n                kind: \"account\";\n                path: \"mint\";\n              },\n              {\n                kind: \"account\";\n                path: \"wsolMint\";\n              },\n            ];\n            program: {\n              kind: \"account\";\n              path: \"pumpAmm\";\n            };\n          };\n        },\n        {\n          name: \"poolAuthority\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  112,\n                  111,\n                  111,\n                  108,\n                  45,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121,\n                ];\n              },\n              {\n                kind: \"account\";\n                path: \"mint\";\n              },\n            ];\n          };\n        },\n        {\n          name: \"poolAuthorityMintAccount\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"account\";\n                path: \"poolAuthority\";\n              },\n              {\n                kind: \"account\";\n                path: \"mint\";\n              },\n              {\n                kind: \"account\";\n                path: \"mint\";\n              },\n            ];\n            program: {\n              kind: \"account\";\n              path: \"associatedTokenProgram\";\n            };\n          };\n        },\n        {\n          name: \"poolAuthorityWsolAccount\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"account\";\n                path: \"poolAuthority\";\n              },\n              {\n                kind: \"account\";\n                path: \"tokenProgram\";\n              },\n              {\n                kind: \"account\";\n                path: \"wsolMint\";\n              },\n            ];\n            program: {\n              kind: \"account\";\n              path: \"associatedTokenProgram\";\n            };\n          };\n        },\n        {\n          name: \"ammGlobalConfig\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108,\n                  95,\n                  99,\n                  111,\n                  110,\n                  102,\n                  105,\n                  103,\n                ];\n              },\n            ];\n            program: {\n              kind: \"account\";\n              path: \"pumpAmm\";\n            };\n          };\n        },\n        {\n          name: \"wsolMint\";\n          address: \"So11111111111111111111111111111111111111112\";\n        },\n        {\n          name: \"lpMint\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  112,\n                  111,\n                  111,\n                  108,\n                  95,\n                  108,\n                  112,\n                  95,\n                  109,\n                  105,\n                  110,\n                  116,\n                ];\n              },\n              {\n                kind: \"account\";\n                path: \"pool\";\n              },\n            ];\n            program: {\n              kind: \"account\";\n              path: \"pumpAmm\";\n            };\n          };\n        },\n        {\n          name: \"userPoolTokenAccount\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"account\";\n                path: \"poolAuthority\";\n              },\n              {\n                kind: \"account\";\n                path: \"token2022Program\";\n              },\n              {\n                kind: \"account\";\n                path: \"lpMint\";\n              },\n            ];\n            program: {\n              kind: \"account\";\n              path: \"associatedTokenProgram\";\n            };\n          };\n        },\n        {\n          name: \"poolBaseTokenAccount\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"account\";\n                path: \"pool\";\n              },\n              {\n                kind: \"account\";\n                path: \"mint\";\n              },\n              {\n                kind: \"account\";\n                path: \"mint\";\n              },\n            ];\n            program: {\n              kind: \"account\";\n              path: \"associatedTokenProgram\";\n            };\n          };\n        },\n        {\n          name: \"poolQuoteTokenAccount\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"account\";\n                path: \"pool\";\n              },\n              {\n                kind: \"account\";\n                path: \"tokenProgram\";\n              },\n              {\n                kind: \"account\";\n                path: \"wsolMint\";\n              },\n            ];\n            program: {\n              kind: \"account\";\n              path: \"associatedTokenProgram\";\n            };\n          };\n        },\n        {\n          name: \"token2022Program\";\n          address: \"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb\";\n        },\n        {\n          name: \"associatedTokenProgram\";\n          address: \"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\";\n        },\n        {\n          name: \"pumpAmmEventAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121,\n                ];\n              },\n            ];\n            program: {\n              kind: \"account\";\n              path: \"pumpAmm\";\n            };\n          };\n        },\n        {\n          name: \"eventAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"program\";\n        },\n      ];\n      args: [];\n    },\n    {\n      name: \"migrateBondingCurveCreator\";\n      discriminator: [87, 124, 52, 191, 52, 38, 214, 232];\n      accounts: [\n        {\n          name: \"mint\";\n          relations: [\"sharingConfig\"];\n        },\n        {\n          name: \"bondingCurve\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  98,\n                  111,\n                  110,\n                  100,\n                  105,\n                  110,\n                  103,\n                  45,\n                  99,\n                  117,\n                  114,\n                  118,\n                  101,\n                ];\n              },\n              {\n                kind: \"account\";\n                path: \"mint\";\n              },\n            ];\n          };\n        },\n        {\n          name: \"sharingConfig\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  115,\n                  104,\n                  97,\n                  114,\n                  105,\n                  110,\n                  103,\n                  45,\n                  99,\n                  111,\n                  110,\n                  102,\n                  105,\n                  103,\n                ];\n              },\n              {\n                kind: \"account\";\n                path: \"mint\";\n              },\n            ];\n            program: {\n              kind: \"const\";\n              value: [\n                12,\n                53,\n                255,\n                169,\n                5,\n                90,\n                142,\n                86,\n                141,\n                168,\n                247,\n                188,\n                7,\n                86,\n                21,\n                39,\n                76,\n                241,\n                201,\n                44,\n                164,\n                31,\n                64,\n                0,\n                156,\n                81,\n                106,\n                164,\n                20,\n                194,\n                124,\n                112,\n              ];\n            };\n          };\n        },\n        {\n          name: \"eventAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"program\";\n        },\n      ];\n      args: [];\n    },\n    {\n      name: \"sell\";\n      docs: [\n        \"Sells tokens into a bonding curve.\",\n        \"For cashback coins, optionally pass user_volume_accumulator as remaining_accounts[0].\",\n        \"If provided and valid, creator_fee goes to user_volume_accumulator.\",\n        \"Otherwise, falls back to transferring creator_fee to creator_vault.\",\n      ];\n      discriminator: [51, 230, 133, 164, 1, 127, 131, 173];\n      accounts: [\n        {\n          name: \"global\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [103, 108, 111, 98, 97, 108];\n              },\n            ];\n          };\n        },\n        {\n          name: \"feeRecipient\";\n          writable: true;\n        },\n        {\n          name: \"mint\";\n        },\n        {\n          name: \"bondingCurve\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  98,\n                  111,\n                  110,\n                  100,\n                  105,\n                  110,\n                  103,\n                  45,\n                  99,\n                  117,\n                  114,\n                  118,\n                  101,\n                ];\n              },\n              {\n                kind: \"account\";\n                path: \"mint\";\n              },\n            ];\n          };\n        },\n        {\n          name: \"associatedBondingCurve\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"account\";\n                path: \"bondingCurve\";\n              },\n              {\n                kind: \"account\";\n                path: \"tokenProgram\";\n              },\n              {\n                kind: \"account\";\n                path: \"mint\";\n              },\n            ];\n            program: {\n              kind: \"const\";\n              value: [\n                140,\n                151,\n                37,\n                143,\n                78,\n                36,\n                137,\n                241,\n                187,\n                61,\n                16,\n                41,\n                20,\n                142,\n                13,\n                131,\n                11,\n                90,\n                19,\n                153,\n                218,\n                255,\n                16,\n                132,\n                4,\n                142,\n                123,\n                216,\n                219,\n                233,\n                248,\n                89,\n              ];\n            };\n          };\n        },\n        {\n          name: \"associatedUser\";\n          writable: true;\n        },\n        {\n          name: \"user\";\n          writable: true;\n          signer: true;\n        },\n        {\n          name: \"systemProgram\";\n          address: \"11111111111111111111111111111111\";\n        },\n        {\n          name: \"creatorVault\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  99,\n                  114,\n                  101,\n                  97,\n                  116,\n                  111,\n                  114,\n                  45,\n                  118,\n                  97,\n                  117,\n                  108,\n                  116,\n                ];\n              },\n              {\n                kind: \"account\";\n                path: \"bonding_curve.creator\";\n                account: \"bondingCurve\";\n              },\n            ];\n          };\n        },\n        {\n          name: \"tokenProgram\";\n        },\n        {\n          name: \"eventAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"program\";\n          address: \"6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P\";\n        },\n        {\n          name: \"feeConfig\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [102, 101, 101, 95, 99, 111, 110, 102, 105, 103];\n              },\n              {\n                kind: \"const\";\n                value: [\n                  1,\n                  86,\n                  224,\n                  246,\n                  147,\n                  102,\n                  90,\n                  207,\n                  68,\n                  219,\n                  21,\n                  104,\n                  191,\n                  23,\n                  91,\n                  170,\n                  81,\n                  137,\n                  203,\n                  151,\n                  245,\n                  210,\n                  255,\n                  59,\n                  101,\n                  93,\n                  43,\n                  182,\n                  253,\n                  109,\n                  24,\n                  176,\n                ];\n              },\n            ];\n            program: {\n              kind: \"account\";\n              path: \"feeProgram\";\n            };\n          };\n        },\n        {\n          name: \"feeProgram\";\n          address: \"pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ\";\n        },\n      ];\n      args: [\n        {\n          name: \"amount\";\n          type: \"u64\";\n        },\n        {\n          name: \"minSolOutput\";\n          type: \"u64\";\n        },\n      ];\n    },\n    {\n      name: \"setCreator\";\n      docs: [\n        \"Allows Global::set_creator_authority to set the bonding curve creator from Metaplex metadata or input argument\",\n      ];\n      discriminator: [254, 148, 255, 112, 207, 142, 170, 165];\n      accounts: [\n        {\n          name: \"setCreatorAuthority\";\n          signer: true;\n          relations: [\"global\"];\n        },\n        {\n          name: \"global\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [103, 108, 111, 98, 97, 108];\n              },\n            ];\n          };\n        },\n        {\n          name: \"mint\";\n        },\n        {\n          name: \"metadata\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [109, 101, 116, 97, 100, 97, 116, 97];\n              },\n              {\n                kind: \"const\";\n                value: [\n                  11,\n                  112,\n                  101,\n                  177,\n                  227,\n                  209,\n                  124,\n                  69,\n                  56,\n                  157,\n                  82,\n                  127,\n                  107,\n                  4,\n                  195,\n                  205,\n                  88,\n                  184,\n                  108,\n                  115,\n                  26,\n                  160,\n                  253,\n                  181,\n                  73,\n                  182,\n                  209,\n                  188,\n                  3,\n                  248,\n                  41,\n                  70,\n                ];\n              },\n              {\n                kind: \"account\";\n                path: \"mint\";\n              },\n            ];\n            program: {\n              kind: \"const\";\n              value: [\n                11,\n                112,\n                101,\n                177,\n                227,\n                209,\n                124,\n                69,\n                56,\n                157,\n                82,\n                127,\n                107,\n                4,\n                195,\n                205,\n                88,\n                184,\n                108,\n                115,\n                26,\n                160,\n                253,\n                181,\n                73,\n                182,\n                209,\n                188,\n                3,\n                248,\n                41,\n                70,\n              ];\n            };\n          };\n        },\n        {\n          name: \"bondingCurve\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  98,\n                  111,\n                  110,\n                  100,\n                  105,\n                  110,\n                  103,\n                  45,\n                  99,\n                  117,\n                  114,\n                  118,\n                  101,\n                ];\n              },\n              {\n                kind: \"account\";\n                path: \"mint\";\n              },\n            ];\n          };\n        },\n        {\n          name: \"eventAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"program\";\n        },\n      ];\n      args: [\n        {\n          name: \"creator\";\n          type: \"pubkey\";\n        },\n      ];\n    },\n    {\n      name: \"setMayhemVirtualParams\";\n      discriminator: [61, 169, 188, 191, 153, 149, 42, 97];\n      accounts: [\n        {\n          name: \"solVaultAuthority\";\n          writable: true;\n          signer: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [115, 111, 108, 45, 118, 97, 117, 108, 116];\n              },\n            ];\n            program: {\n              kind: \"const\";\n              value: [\n                5,\n                42,\n                229,\n                215,\n                167,\n                218,\n                167,\n                36,\n                166,\n                234,\n                176,\n                167,\n                41,\n                84,\n                145,\n                133,\n                90,\n                212,\n                160,\n                103,\n                22,\n                96,\n                103,\n                76,\n                78,\n                3,\n                69,\n                89,\n                128,\n                61,\n                101,\n                163,\n              ];\n            };\n          };\n        },\n        {\n          name: \"mayhemTokenVault\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"account\";\n                path: \"solVaultAuthority\";\n              },\n              {\n                kind: \"account\";\n                path: \"tokenProgram\";\n              },\n              {\n                kind: \"account\";\n                path: \"mint\";\n              },\n            ];\n            program: {\n              kind: \"const\";\n              value: [\n                140,\n                151,\n                37,\n                143,\n                78,\n                36,\n                137,\n                241,\n                187,\n                61,\n                16,\n                41,\n                20,\n                142,\n                13,\n                131,\n                11,\n                90,\n                19,\n                153,\n                218,\n                255,\n                16,\n                132,\n                4,\n                142,\n                123,\n                216,\n                219,\n                233,\n                248,\n                89,\n              ];\n            };\n          };\n        },\n        {\n          name: \"mint\";\n        },\n        {\n          name: \"global\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [103, 108, 111, 98, 97, 108];\n              },\n            ];\n          };\n        },\n        {\n          name: \"bondingCurve\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  98,\n                  111,\n                  110,\n                  100,\n                  105,\n                  110,\n                  103,\n                  45,\n                  99,\n                  117,\n                  114,\n                  118,\n                  101,\n                ];\n              },\n              {\n                kind: \"account\";\n                path: \"mint\";\n              },\n            ];\n          };\n        },\n        {\n          name: \"tokenProgram\";\n          address: \"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb\";\n        },\n        {\n          name: \"eventAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"program\";\n        },\n      ];\n      args: [];\n    },\n    {\n      name: \"setMetaplexCreator\";\n      docs: [\n        \"Syncs the bonding curve creator with the Metaplex metadata creator if it exists\",\n      ];\n      discriminator: [138, 96, 174, 217, 48, 85, 197, 246];\n      accounts: [\n        {\n          name: \"mint\";\n        },\n        {\n          name: \"metadata\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [109, 101, 116, 97, 100, 97, 116, 97];\n              },\n              {\n                kind: \"const\";\n                value: [\n                  11,\n                  112,\n                  101,\n                  177,\n                  227,\n                  209,\n                  124,\n                  69,\n                  56,\n                  157,\n                  82,\n                  127,\n                  107,\n                  4,\n                  195,\n                  205,\n                  88,\n                  184,\n                  108,\n                  115,\n                  26,\n                  160,\n                  253,\n                  181,\n                  73,\n                  182,\n                  209,\n                  188,\n                  3,\n                  248,\n                  41,\n                  70,\n                ];\n              },\n              {\n                kind: \"account\";\n                path: \"mint\";\n              },\n            ];\n            program: {\n              kind: \"const\";\n              value: [\n                11,\n                112,\n                101,\n                177,\n                227,\n                209,\n                124,\n                69,\n                56,\n                157,\n                82,\n                127,\n                107,\n                4,\n                195,\n                205,\n                88,\n                184,\n                108,\n                115,\n                26,\n                160,\n                253,\n                181,\n                73,\n                182,\n                209,\n                188,\n                3,\n                248,\n                41,\n                70,\n              ];\n            };\n          };\n        },\n        {\n          name: \"bondingCurve\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  98,\n                  111,\n                  110,\n                  100,\n                  105,\n                  110,\n                  103,\n                  45,\n                  99,\n                  117,\n                  114,\n                  118,\n                  101,\n                ];\n              },\n              {\n                kind: \"account\";\n                path: \"mint\";\n              },\n            ];\n          };\n        },\n        {\n          name: \"eventAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"program\";\n        },\n      ];\n      args: [];\n    },\n    {\n      name: \"setParams\";\n      docs: [\"Sets the global state parameters.\"];\n      discriminator: [27, 234, 178, 52, 147, 2, 187, 141];\n      accounts: [\n        {\n          name: \"global\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [103, 108, 111, 98, 97, 108];\n              },\n            ];\n          };\n        },\n        {\n          name: \"authority\";\n          writable: true;\n          signer: true;\n          relations: [\"global\"];\n        },\n        {\n          name: \"eventAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"program\";\n        },\n      ];\n      args: [\n        {\n          name: \"initialVirtualTokenReserves\";\n          type: \"u64\";\n        },\n        {\n          name: \"initialVirtualSolReserves\";\n          type: \"u64\";\n        },\n        {\n          name: \"initialRealTokenReserves\";\n          type: \"u64\";\n        },\n        {\n          name: \"tokenTotalSupply\";\n          type: \"u64\";\n        },\n        {\n          name: \"feeBasisPoints\";\n          type: \"u64\";\n        },\n        {\n          name: \"withdrawAuthority\";\n          type: \"pubkey\";\n        },\n        {\n          name: \"enableMigrate\";\n          type: \"bool\";\n        },\n        {\n          name: \"poolMigrationFee\";\n          type: \"u64\";\n        },\n        {\n          name: \"creatorFeeBasisPoints\";\n          type: \"u64\";\n        },\n        {\n          name: \"setCreatorAuthority\";\n          type: \"pubkey\";\n        },\n        {\n          name: \"adminSetCreatorAuthority\";\n          type: \"pubkey\";\n        },\n      ];\n    },\n    {\n      name: \"setReservedFeeRecipients\";\n      discriminator: [111, 172, 162, 232, 114, 89, 213, 142];\n      accounts: [\n        {\n          name: \"global\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [103, 108, 111, 98, 97, 108];\n              },\n            ];\n          };\n        },\n        {\n          name: \"authority\";\n          signer: true;\n          relations: [\"global\"];\n        },\n        {\n          name: \"eventAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"program\";\n        },\n      ];\n      args: [\n        {\n          name: \"whitelistPda\";\n          type: \"pubkey\";\n        },\n      ];\n    },\n    {\n      name: \"syncUserVolumeAccumulator\";\n      discriminator: [86, 31, 192, 87, 163, 87, 79, 238];\n      accounts: [\n        {\n          name: \"user\";\n        },\n        {\n          name: \"globalVolumeAccumulator\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108,\n                  95,\n                  118,\n                  111,\n                  108,\n                  117,\n                  109,\n                  101,\n                  95,\n                  97,\n                  99,\n                  99,\n                  117,\n                  109,\n                  117,\n                  108,\n                  97,\n                  116,\n                  111,\n                  114,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"userVolumeAccumulator\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  117,\n                  115,\n                  101,\n                  114,\n                  95,\n                  118,\n                  111,\n                  108,\n                  117,\n                  109,\n                  101,\n                  95,\n                  97,\n                  99,\n                  99,\n                  117,\n                  109,\n                  117,\n                  108,\n                  97,\n                  116,\n                  111,\n                  114,\n                ];\n              },\n              {\n                kind: \"account\";\n                path: \"user\";\n              },\n            ];\n          };\n        },\n        {\n          name: \"eventAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"program\";\n        },\n      ];\n      args: [];\n    },\n    {\n      name: \"toggleCashbackEnabled\";\n      discriminator: [115, 103, 224, 255, 189, 89, 86, 195];\n      accounts: [\n        {\n          name: \"global\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [103, 108, 111, 98, 97, 108];\n              },\n            ];\n          };\n        },\n        {\n          name: \"authority\";\n          writable: true;\n          signer: true;\n          relations: [\"global\"];\n        },\n        {\n          name: \"eventAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"program\";\n        },\n      ];\n      args: [\n        {\n          name: \"enabled\";\n          type: \"bool\";\n        },\n      ];\n    },\n    {\n      name: \"toggleCreateV2\";\n      discriminator: [28, 255, 230, 240, 172, 107, 203, 171];\n      accounts: [\n        {\n          name: \"global\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [103, 108, 111, 98, 97, 108];\n              },\n            ];\n          };\n        },\n        {\n          name: \"authority\";\n          writable: true;\n          signer: true;\n          relations: [\"global\"];\n        },\n        {\n          name: \"eventAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"program\";\n        },\n      ];\n      args: [\n        {\n          name: \"enabled\";\n          type: \"bool\";\n        },\n      ];\n    },\n    {\n      name: \"toggleMayhemMode\";\n      discriminator: [1, 9, 111, 208, 100, 31, 255, 163];\n      accounts: [\n        {\n          name: \"global\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [103, 108, 111, 98, 97, 108];\n              },\n            ];\n          };\n        },\n        {\n          name: \"authority\";\n          writable: true;\n          signer: true;\n          relations: [\"global\"];\n        },\n        {\n          name: \"eventAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"program\";\n        },\n      ];\n      args: [\n        {\n          name: \"enabled\";\n          type: \"bool\";\n        },\n      ];\n    },\n    {\n      name: \"updateGlobalAuthority\";\n      discriminator: [227, 181, 74, 196, 208, 21, 97, 213];\n      accounts: [\n        {\n          name: \"global\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [103, 108, 111, 98, 97, 108];\n              },\n            ];\n          };\n        },\n        {\n          name: \"authority\";\n          signer: true;\n          relations: [\"global\"];\n        },\n        {\n          name: \"newAuthority\";\n        },\n        {\n          name: \"eventAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"program\";\n        },\n      ];\n      args: [];\n    },\n  ];\n  accounts: [\n    {\n      name: \"bondingCurve\";\n      discriminator: [23, 183, 248, 55, 96, 216, 172, 96];\n    },\n    {\n      name: \"feeConfig\";\n      discriminator: [143, 52, 146, 187, 219, 123, 76, 155];\n    },\n    {\n      name: \"global\";\n      discriminator: [167, 232, 232, 177, 200, 108, 114, 127];\n    },\n    {\n      name: \"globalVolumeAccumulator\";\n      discriminator: [202, 42, 246, 43, 142, 190, 30, 255];\n    },\n    {\n      name: \"sharingConfig\";\n      discriminator: [216, 74, 9, 0, 56, 140, 93, 75];\n    },\n    {\n      name: \"userVolumeAccumulator\";\n      discriminator: [86, 255, 112, 14, 102, 53, 154, 250];\n    },\n  ];\n  events: [\n    {\n      name: \"adminSetCreatorEvent\";\n      discriminator: [64, 69, 192, 104, 29, 30, 25, 107];\n    },\n    {\n      name: \"adminSetIdlAuthorityEvent\";\n      discriminator: [245, 59, 70, 34, 75, 185, 109, 92];\n    },\n    {\n      name: \"adminUpdateTokenIncentivesEvent\";\n      discriminator: [147, 250, 108, 120, 247, 29, 67, 222];\n    },\n    {\n      name: \"claimCashbackEvent\";\n      discriminator: [226, 214, 246, 33, 7, 242, 147, 229];\n    },\n    {\n      name: \"claimTokenIncentivesEvent\";\n      discriminator: [79, 172, 246, 49, 205, 91, 206, 232];\n    },\n    {\n      name: \"closeUserVolumeAccumulatorEvent\";\n      discriminator: [146, 159, 189, 172, 146, 88, 56, 244];\n    },\n    {\n      name: \"collectCreatorFeeEvent\";\n      discriminator: [122, 2, 127, 1, 14, 191, 12, 175];\n    },\n    {\n      name: \"completeEvent\";\n      discriminator: [95, 114, 97, 156, 212, 46, 152, 8];\n    },\n    {\n      name: \"completePumpAmmMigrationEvent\";\n      discriminator: [189, 233, 93, 185, 92, 148, 234, 148];\n    },\n    {\n      name: \"createEvent\";\n      discriminator: [27, 114, 169, 77, 222, 235, 99, 118];\n    },\n    {\n      name: \"distributeCreatorFeesEvent\";\n      discriminator: [165, 55, 129, 112, 4, 179, 202, 40];\n    },\n    {\n      name: \"extendAccountEvent\";\n      discriminator: [97, 97, 215, 144, 93, 146, 22, 124];\n    },\n    {\n      name: \"initUserVolumeAccumulatorEvent\";\n      discriminator: [134, 36, 13, 72, 232, 101, 130, 216];\n    },\n    {\n      name: \"migrateBondingCurveCreatorEvent\";\n      discriminator: [155, 167, 104, 220, 213, 108, 243, 3];\n    },\n    {\n      name: \"minimumDistributableFeeEvent\";\n      discriminator: [168, 216, 132, 239, 235, 182, 49, 52];\n    },\n    {\n      name: \"reservedFeeRecipientsEvent\";\n      discriminator: [43, 188, 250, 18, 221, 75, 187, 95];\n    },\n    {\n      name: \"setCreatorEvent\";\n      discriminator: [237, 52, 123, 37, 245, 251, 72, 210];\n    },\n    {\n      name: \"setMetaplexCreatorEvent\";\n      discriminator: [142, 203, 6, 32, 127, 105, 191, 162];\n    },\n    {\n      name: \"setParamsEvent\";\n      discriminator: [223, 195, 159, 246, 62, 48, 143, 131];\n    },\n    {\n      name: \"syncUserVolumeAccumulatorEvent\";\n      discriminator: [197, 122, 167, 124, 116, 81, 91, 255];\n    },\n    {\n      name: \"tradeEvent\";\n      discriminator: [189, 219, 127, 211, 78, 230, 97, 238];\n    },\n    {\n      name: \"updateGlobalAuthorityEvent\";\n      discriminator: [182, 195, 137, 42, 35, 206, 207, 247];\n    },\n    {\n      name: \"updateMayhemVirtualParamsEvent\";\n      discriminator: [117, 123, 228, 182, 161, 168, 220, 214];\n    },\n  ];\n  errors: [\n    {\n      code: 6000;\n      name: \"notAuthorized\";\n      msg: \"The given account is not authorized to execute this instruction.\";\n    },\n    {\n      code: 6001;\n      name: \"alreadyInitialized\";\n      msg: \"The program is already initialized.\";\n    },\n    {\n      code: 6002;\n      name: \"tooMuchSolRequired\";\n      msg: \"slippage: Too much SOL required to buy the given amount of tokens.\";\n    },\n    {\n      code: 6003;\n      name: \"tooLittleSolReceived\";\n      msg: \"slippage: Too little SOL received to sell the given amount of tokens.\";\n    },\n    {\n      code: 6004;\n      name: \"mintDoesNotMatchBondingCurve\";\n      msg: \"The mint does not match the bonding curve.\";\n    },\n    {\n      code: 6005;\n      name: \"bondingCurveComplete\";\n      msg: \"The bonding curve has completed and liquidity migrated to raydium.\";\n    },\n    {\n      code: 6006;\n      name: \"bondingCurveNotComplete\";\n      msg: \"The bonding curve has not completed.\";\n    },\n    {\n      code: 6007;\n      name: \"notInitialized\";\n      msg: \"The program is not initialized.\";\n    },\n    {\n      code: 6008;\n      name: \"withdrawTooFrequent\";\n      msg: \"Withdraw too frequent\";\n    },\n    {\n      code: 6009;\n      name: \"newSizeShouldBeGreaterThanCurrentSize\";\n      msg: \"new_size should be > current_size\";\n    },\n    {\n      code: 6010;\n      name: \"accountTypeNotSupported\";\n      msg: \"Account type not supported\";\n    },\n    {\n      code: 6011;\n      name: \"initialRealTokenReservesShouldBeLessThanTokenTotalSupply\";\n      msg: \"initial_real_token_reserves should be less than token_total_supply\";\n    },\n    {\n      code: 6012;\n      name: \"initialVirtualTokenReservesShouldBeGreaterThanInitialRealTokenReserves\";\n      msg: \"initial_virtual_token_reserves should be greater than initial_real_token_reserves\";\n    },\n    {\n      code: 6013;\n      name: \"feeBasisPointsGreaterThanMaximum\";\n      msg: \"fee_basis_points greater than maximum\";\n    },\n    {\n      code: 6014;\n      name: \"allZerosWithdrawAuthority\";\n      msg: \"Withdraw authority cannot be set to System Program ID\";\n    },\n    {\n      code: 6015;\n      name: \"poolMigrationFeeShouldBeLessThanFinalRealSolReserves\";\n      msg: \"pool_migration_fee should be less than final_real_sol_reserves\";\n    },\n    {\n      code: 6016;\n      name: \"poolMigrationFeeShouldBeGreaterThanCreatorFeePlusMaxMigrateFees\";\n      msg: \"pool_migration_fee should be greater than creator_fee + MAX_MIGRATE_FEES\";\n    },\n    {\n      code: 6017;\n      name: \"disabledWithdraw\";\n      msg: \"Migrate instruction is disabled\";\n    },\n    {\n      code: 6018;\n      name: \"disabledMigrate\";\n      msg: \"Migrate instruction is disabled\";\n    },\n    {\n      code: 6019;\n      name: \"invalidCreator\";\n      msg: \"Invalid creator pubkey\";\n    },\n    {\n      code: 6020;\n      name: \"buyZeroAmount\";\n      msg: \"Buy zero amount\";\n    },\n    {\n      code: 6021;\n      name: \"notEnoughTokensToBuy\";\n      msg: \"Not enough tokens to buy\";\n    },\n    {\n      code: 6022;\n      name: \"sellZeroAmount\";\n      msg: \"Sell zero amount\";\n    },\n    {\n      code: 6023;\n      name: \"notEnoughTokensToSell\";\n      msg: \"Not enough tokens to sell\";\n    },\n    {\n      code: 6024;\n      name: \"overflow\";\n      msg: \"overflow\";\n    },\n    {\n      code: 6025;\n      name: \"truncation\";\n      msg: \"truncation\";\n    },\n    {\n      code: 6026;\n      name: \"divisionByZero\";\n      msg: \"Division by zero\";\n    },\n    {\n      code: 6027;\n      name: \"notEnoughRemainingAccounts\";\n      msg: \"Not enough remaining accounts\";\n    },\n    {\n      code: 6028;\n      name: \"allFeeRecipientsShouldBeNonZero\";\n      msg: \"All fee recipients should be non-zero\";\n    },\n    {\n      code: 6029;\n      name: \"unsortedNotUniqueFeeRecipients\";\n      msg: \"Unsorted or not unique fee recipients\";\n    },\n    {\n      code: 6030;\n      name: \"creatorShouldNotBeZero\";\n      msg: \"Creator should not be zero\";\n    },\n    {\n      code: 6031;\n      name: \"startTimeInThePast\";\n    },\n    {\n      code: 6032;\n      name: \"endTimeInThePast\";\n    },\n    {\n      code: 6033;\n      name: \"endTimeBeforeStartTime\";\n    },\n    {\n      code: 6034;\n      name: \"timeRangeTooLarge\";\n    },\n    {\n      code: 6035;\n      name: \"endTimeBeforeCurrentDay\";\n    },\n    {\n      code: 6036;\n      name: \"supplyUpdateForFinishedRange\";\n    },\n    {\n      code: 6037;\n      name: \"dayIndexAfterEndIndex\";\n    },\n    {\n      code: 6038;\n      name: \"dayInActiveRange\";\n    },\n    {\n      code: 6039;\n      name: \"invalidIncentiveMint\";\n    },\n    {\n      code: 6040;\n      name: \"buyNotEnoughSolToCoverRent\";\n      msg: \"Buy: Not enough SOL to cover for rent exemption.\";\n    },\n    {\n      code: 6041;\n      name: \"buyNotEnoughSolToCoverFees\";\n      msg: \"Buy: Not enough SOL to cover for fees.\";\n    },\n    {\n      code: 6042;\n      name: \"buySlippageBelowMinTokensOut\";\n      msg: \"Slippage: Would buy less tokens than expected min_tokens_out\";\n    },\n    {\n      code: 6043;\n      name: \"nameTooLong\";\n    },\n    {\n      code: 6044;\n      name: \"symbolTooLong\";\n    },\n    {\n      code: 6045;\n      name: \"uriTooLong\";\n    },\n    {\n      code: 6046;\n      name: \"createV2Disabled\";\n    },\n    {\n      code: 6047;\n      name: \"cpitializeMayhemFailed\";\n    },\n    {\n      code: 6048;\n      name: \"mayhemModeDisabled\";\n    },\n    {\n      code: 6049;\n      name: \"creatorMigratedToSharingConfig\";\n      msg: \"creator has been migrated to sharing config, use pump_fees::reset_fee_sharing_config instead\";\n    },\n    {\n      code: 6050;\n      name: \"unableToDistributeCreatorVaultMigratedToSharingConfig\";\n      msg: \"creator_vault has been migrated to sharing config, use pump:distribute_creator_fees instead\";\n    },\n    {\n      code: 6051;\n      name: \"sharingConfigNotActive\";\n      msg: \"Sharing config is not active\";\n    },\n    {\n      code: 6052;\n      name: \"unableToDistributeCreatorFeesToExecutableRecipient\";\n      msg: \"The recipient account is executable, so it cannot receive lamports, remove it from the team first\";\n    },\n    {\n      code: 6053;\n      name: \"BondingCurveAndSharingConfigCreatorMismatch\";\n      msg: \"Bonding curve creator does not match sharing config\";\n    },\n    {\n      code: 6054;\n      name: \"shareholdersAndRemainingAccountsMismatch\";\n      msg: \"Remaining accounts do not match shareholders, make sure to pass exactly the same pubkeys in the same order\";\n    },\n    {\n      code: 6055;\n      name: \"invalidShareBps\";\n      msg: \"Share bps must be greater than 0\";\n    },\n    {\n      code: 6056;\n      name: \"cashbackNotEnabled\";\n      msg: \"Cashback is not enabled\";\n    },\n  ];\n  types: [\n    {\n      name: \"adminSetCreatorEvent\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"timestamp\";\n            type: \"i64\";\n          },\n          {\n            name: \"adminSetCreatorAuthority\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"mint\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"bondingCurve\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"oldCreator\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"newCreator\";\n            type: \"pubkey\";\n          },\n        ];\n      };\n    },\n    {\n      name: \"adminSetIdlAuthorityEvent\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"idlAuthority\";\n            type: \"pubkey\";\n          },\n        ];\n      };\n    },\n    {\n      name: \"adminUpdateTokenIncentivesEvent\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"startTime\";\n            type: \"i64\";\n          },\n          {\n            name: \"endTime\";\n            type: \"i64\";\n          },\n          {\n            name: \"dayNumber\";\n            type: \"u64\";\n          },\n          {\n            name: \"tokenSupplyPerDay\";\n            type: \"u64\";\n          },\n          {\n            name: \"mint\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"secondsInADay\";\n            type: \"i64\";\n          },\n          {\n            name: \"timestamp\";\n            type: \"i64\";\n          },\n        ];\n      };\n    },\n    {\n      name: \"bondingCurve\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"virtualTokenReserves\";\n            type: \"u64\";\n          },\n          {\n            name: \"virtualSolReserves\";\n            type: \"u64\";\n          },\n          {\n            name: \"realTokenReserves\";\n            type: \"u64\";\n          },\n          {\n            name: \"realSolReserves\";\n            type: \"u64\";\n          },\n          {\n            name: \"tokenTotalSupply\";\n            type: \"u64\";\n          },\n          {\n            name: \"complete\";\n            type: \"bool\";\n          },\n          {\n            name: \"creator\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"isMayhemMode\";\n            type: \"bool\";\n          },\n          {\n            name: \"isCashbackCoin\";\n            type: \"bool\";\n          },\n        ];\n      };\n    },\n    {\n      name: \"claimCashbackEvent\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"user\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"amount\";\n            type: \"u64\";\n          },\n          {\n            name: \"timestamp\";\n            type: \"i64\";\n          },\n          {\n            name: \"totalClaimed\";\n            type: \"u64\";\n          },\n          {\n            name: \"totalCashbackEarned\";\n            type: \"u64\";\n          },\n        ];\n      };\n    },\n    {\n      name: \"claimTokenIncentivesEvent\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"user\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"mint\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"amount\";\n            type: \"u64\";\n          },\n          {\n            name: \"timestamp\";\n            type: \"i64\";\n          },\n          {\n            name: \"totalClaimedTokens\";\n            type: \"u64\";\n          },\n          {\n            name: \"currentSolVolume\";\n            type: \"u64\";\n          },\n        ];\n      };\n    },\n    {\n      name: \"closeUserVolumeAccumulatorEvent\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"user\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"timestamp\";\n            type: \"i64\";\n          },\n          {\n            name: \"totalUnclaimedTokens\";\n            type: \"u64\";\n          },\n          {\n            name: \"totalClaimedTokens\";\n            type: \"u64\";\n          },\n          {\n            name: \"currentSolVolume\";\n            type: \"u64\";\n          },\n          {\n            name: \"lastUpdateTimestamp\";\n            type: \"i64\";\n          },\n        ];\n      };\n    },\n    {\n      name: \"collectCreatorFeeEvent\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"timestamp\";\n            type: \"i64\";\n          },\n          {\n            name: \"creator\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"creatorFee\";\n            type: \"u64\";\n          },\n        ];\n      };\n    },\n    {\n      name: \"completeEvent\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"user\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"mint\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"bondingCurve\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"timestamp\";\n            type: \"i64\";\n          },\n        ];\n      };\n    },\n    {\n      name: \"completePumpAmmMigrationEvent\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"user\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"mint\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"mintAmount\";\n            type: \"u64\";\n          },\n          {\n            name: \"solAmount\";\n            type: \"u64\";\n          },\n          {\n            name: \"poolMigrationFee\";\n            type: \"u64\";\n          },\n          {\n            name: \"bondingCurve\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"timestamp\";\n            type: \"i64\";\n          },\n          {\n            name: \"pool\";\n            type: \"pubkey\";\n          },\n        ];\n      };\n    },\n    {\n      name: \"configStatus\";\n      type: {\n        kind: \"enum\";\n        variants: [\n          {\n            name: \"paused\";\n          },\n          {\n            name: \"active\";\n          },\n        ];\n      };\n    },\n    {\n      name: \"createEvent\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"name\";\n            type: \"string\";\n          },\n          {\n            name: \"symbol\";\n            type: \"string\";\n          },\n          {\n            name: \"uri\";\n            type: \"string\";\n          },\n          {\n            name: \"mint\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"bondingCurve\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"user\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"creator\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"timestamp\";\n            type: \"i64\";\n          },\n          {\n            name: \"virtualTokenReserves\";\n            type: \"u64\";\n          },\n          {\n            name: \"virtualSolReserves\";\n            type: \"u64\";\n          },\n          {\n            name: \"realTokenReserves\";\n            type: \"u64\";\n          },\n          {\n            name: \"tokenTotalSupply\";\n            type: \"u64\";\n          },\n          {\n            name: \"tokenProgram\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"isMayhemMode\";\n            type: \"bool\";\n          },\n          {\n            name: \"isCashbackEnabled\";\n            type: \"bool\";\n          },\n        ];\n      };\n    },\n    {\n      name: \"distributeCreatorFeesEvent\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"timestamp\";\n            type: \"i64\";\n          },\n          {\n            name: \"mint\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"bondingCurve\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"sharingConfig\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"admin\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"shareholders\";\n            type: {\n              vec: {\n                defined: {\n                  name: \"shareholder\";\n                };\n              };\n            };\n          },\n          {\n            name: \"distributed\";\n            type: \"u64\";\n          },\n        ];\n      };\n    },\n    {\n      name: \"extendAccountEvent\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"account\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"user\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"currentSize\";\n            type: \"u64\";\n          },\n          {\n            name: \"newSize\";\n            type: \"u64\";\n          },\n          {\n            name: \"timestamp\";\n            type: \"i64\";\n          },\n        ];\n      };\n    },\n    {\n      name: \"feeConfig\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"bump\";\n            type: \"u8\";\n          },\n          {\n            name: \"admin\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"flatFees\";\n            type: {\n              defined: {\n                name: \"fees\";\n              };\n            };\n          },\n          {\n            name: \"feeTiers\";\n            type: {\n              vec: {\n                defined: {\n                  name: \"feeTier\";\n                };\n              };\n            };\n          },\n        ];\n      };\n    },\n    {\n      name: \"feeTier\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"marketCapLamportsThreshold\";\n            type: \"u128\";\n          },\n          {\n            name: \"fees\";\n            type: {\n              defined: {\n                name: \"fees\";\n              };\n            };\n          },\n        ];\n      };\n    },\n    {\n      name: \"fees\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"lpFeeBps\";\n            type: \"u64\";\n          },\n          {\n            name: \"protocolFeeBps\";\n            type: \"u64\";\n          },\n          {\n            name: \"creatorFeeBps\";\n            type: \"u64\";\n          },\n        ];\n      };\n    },\n    {\n      name: \"global\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"initialized\";\n            docs: [\"Unused\"];\n            type: \"bool\";\n          },\n          {\n            name: \"authority\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"feeRecipient\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"initialVirtualTokenReserves\";\n            type: \"u64\";\n          },\n          {\n            name: \"initialVirtualSolReserves\";\n            type: \"u64\";\n          },\n          {\n            name: \"initialRealTokenReserves\";\n            type: \"u64\";\n          },\n          {\n            name: \"tokenTotalSupply\";\n            type: \"u64\";\n          },\n          {\n            name: \"feeBasisPoints\";\n            type: \"u64\";\n          },\n          {\n            name: \"withdrawAuthority\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"enableMigrate\";\n            docs: [\"Unused\"];\n            type: \"bool\";\n          },\n          {\n            name: \"poolMigrationFee\";\n            type: \"u64\";\n          },\n          {\n            name: \"creatorFeeBasisPoints\";\n            type: \"u64\";\n          },\n          {\n            name: \"feeRecipients\";\n            type: {\n              array: [\"pubkey\", 7];\n            };\n          },\n          {\n            name: \"setCreatorAuthority\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"adminSetCreatorAuthority\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"createV2Enabled\";\n            type: \"bool\";\n          },\n          {\n            name: \"whitelistPda\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"reservedFeeRecipient\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"mayhemModeEnabled\";\n            type: \"bool\";\n          },\n          {\n            name: \"reservedFeeRecipients\";\n            type: {\n              array: [\"pubkey\", 7];\n            };\n          },\n          {\n            name: \"isCashbackEnabled\";\n            type: \"bool\";\n          },\n        ];\n      };\n    },\n    {\n      name: \"globalVolumeAccumulator\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"startTime\";\n            type: \"i64\";\n          },\n          {\n            name: \"endTime\";\n            type: \"i64\";\n          },\n          {\n            name: \"secondsInADay\";\n            type: \"i64\";\n          },\n          {\n            name: \"mint\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"totalTokenSupply\";\n            type: {\n              array: [\"u64\", 30];\n            };\n          },\n          {\n            name: \"solVolumes\";\n            type: {\n              array: [\"u64\", 30];\n            };\n          },\n        ];\n      };\n    },\n    {\n      name: \"initUserVolumeAccumulatorEvent\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"payer\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"user\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"timestamp\";\n            type: \"i64\";\n          },\n        ];\n      };\n    },\n    {\n      name: \"migrateBondingCurveCreatorEvent\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"timestamp\";\n            type: \"i64\";\n          },\n          {\n            name: \"mint\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"bondingCurve\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"sharingConfig\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"oldCreator\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"newCreator\";\n            type: \"pubkey\";\n          },\n        ];\n      };\n    },\n    {\n      name: \"minimumDistributableFeeEvent\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"minimumRequired\";\n            type: \"u64\";\n          },\n          {\n            name: \"distributableFees\";\n            type: \"u64\";\n          },\n          {\n            name: \"canDistribute\";\n            type: \"bool\";\n          },\n        ];\n      };\n    },\n    {\n      name: \"optionBool\";\n      type: {\n        kind: \"struct\";\n        fields: [\"bool\"];\n      };\n    },\n    {\n      name: \"reservedFeeRecipientsEvent\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"timestamp\";\n            type: \"i64\";\n          },\n          {\n            name: \"reservedFeeRecipient\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"reservedFeeRecipients\";\n            type: {\n              array: [\"pubkey\", 7];\n            };\n          },\n        ];\n      };\n    },\n    {\n      name: \"setCreatorEvent\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"timestamp\";\n            type: \"i64\";\n          },\n          {\n            name: \"mint\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"bondingCurve\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"creator\";\n            type: \"pubkey\";\n          },\n        ];\n      };\n    },\n    {\n      name: \"setMetaplexCreatorEvent\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"timestamp\";\n            type: \"i64\";\n          },\n          {\n            name: \"mint\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"bondingCurve\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"metadata\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"creator\";\n            type: \"pubkey\";\n          },\n        ];\n      };\n    },\n    {\n      name: \"setParamsEvent\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"initialVirtualTokenReserves\";\n            type: \"u64\";\n          },\n          {\n            name: \"initialVirtualSolReserves\";\n            type: \"u64\";\n          },\n          {\n            name: \"initialRealTokenReserves\";\n            type: \"u64\";\n          },\n          {\n            name: \"finalRealSolReserves\";\n            type: \"u64\";\n          },\n          {\n            name: \"tokenTotalSupply\";\n            type: \"u64\";\n          },\n          {\n            name: \"feeBasisPoints\";\n            type: \"u64\";\n          },\n          {\n            name: \"withdrawAuthority\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"enableMigrate\";\n            type: \"bool\";\n          },\n          {\n            name: \"poolMigrationFee\";\n            type: \"u64\";\n          },\n          {\n            name: \"creatorFeeBasisPoints\";\n            type: \"u64\";\n          },\n          {\n            name: \"feeRecipients\";\n            type: {\n              array: [\"pubkey\", 8];\n            };\n          },\n          {\n            name: \"timestamp\";\n            type: \"i64\";\n          },\n          {\n            name: \"setCreatorAuthority\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"adminSetCreatorAuthority\";\n            type: \"pubkey\";\n          },\n        ];\n      };\n    },\n    {\n      name: \"shareholder\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"address\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"shareBps\";\n            type: \"u16\";\n          },\n        ];\n      };\n    },\n    {\n      name: \"sharingConfig\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"bump\";\n            type: \"u8\";\n          },\n          {\n            name: \"version\";\n            type: \"u8\";\n          },\n          {\n            name: \"status\";\n            type: {\n              defined: {\n                name: \"configStatus\";\n              };\n            };\n          },\n          {\n            name: \"mint\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"admin\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"adminRevoked\";\n            type: \"bool\";\n          },\n          {\n            name: \"shareholders\";\n            type: {\n              vec: {\n                defined: {\n                  name: \"shareholder\";\n                };\n              };\n            };\n          },\n        ];\n      };\n    },\n    {\n      name: \"syncUserVolumeAccumulatorEvent\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"user\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"totalClaimedTokensBefore\";\n            type: \"u64\";\n          },\n          {\n            name: \"totalClaimedTokensAfter\";\n            type: \"u64\";\n          },\n          {\n            name: \"timestamp\";\n            type: \"i64\";\n          },\n        ];\n      };\n    },\n    {\n      name: \"tradeEvent\";\n      docs: ['ix_name: \"buy\" | \"sell\" | \"buy_exact_sol_in\"'];\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"mint\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"solAmount\";\n            type: \"u64\";\n          },\n          {\n            name: \"tokenAmount\";\n            type: \"u64\";\n          },\n          {\n            name: \"isBuy\";\n            type: \"bool\";\n          },\n          {\n            name: \"user\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"timestamp\";\n            type: \"i64\";\n          },\n          {\n            name: \"virtualSolReserves\";\n            type: \"u64\";\n          },\n          {\n            name: \"virtualTokenReserves\";\n            type: \"u64\";\n          },\n          {\n            name: \"realSolReserves\";\n            type: \"u64\";\n          },\n          {\n            name: \"realTokenReserves\";\n            type: \"u64\";\n          },\n          {\n            name: \"feeRecipient\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"feeBasisPoints\";\n            type: \"u64\";\n          },\n          {\n            name: \"fee\";\n            type: \"u64\";\n          },\n          {\n            name: \"creator\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"creatorFeeBasisPoints\";\n            type: \"u64\";\n          },\n          {\n            name: \"creatorFee\";\n            type: \"u64\";\n          },\n          {\n            name: \"trackVolume\";\n            type: \"bool\";\n          },\n          {\n            name: \"totalUnclaimedTokens\";\n            type: \"u64\";\n          },\n          {\n            name: \"totalClaimedTokens\";\n            type: \"u64\";\n          },\n          {\n            name: \"currentSolVolume\";\n            type: \"u64\";\n          },\n          {\n            name: \"lastUpdateTimestamp\";\n            type: \"i64\";\n          },\n          {\n            name: \"ixName\";\n            type: \"string\";\n          },\n          {\n            name: \"mayhemMode\";\n            type: \"bool\";\n          },\n          {\n            name: \"cashbackFeeBasisPoints\";\n            type: \"u64\";\n          },\n          {\n            name: \"cashback\";\n            type: \"u64\";\n          },\n        ];\n      };\n    },\n    {\n      name: \"updateGlobalAuthorityEvent\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"global\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"authority\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"newAuthority\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"timestamp\";\n            type: \"i64\";\n          },\n        ];\n      };\n    },\n    {\n      name: \"updateMayhemVirtualParamsEvent\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"timestamp\";\n            type: \"i64\";\n          },\n          {\n            name: \"mint\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"virtualTokenReserves\";\n            type: \"u64\";\n          },\n          {\n            name: \"virtualSolReserves\";\n            type: \"u64\";\n          },\n          {\n            name: \"newVirtualTokenReserves\";\n            type: \"u64\";\n          },\n          {\n            name: \"newVirtualSolReserves\";\n            type: \"u64\";\n          },\n          {\n            name: \"realTokenReserves\";\n            type: \"u64\";\n          },\n          {\n            name: \"realSolReserves\";\n            type: \"u64\";\n          },\n        ];\n      };\n    },\n    {\n      name: \"userVolumeAccumulator\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"user\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"needsClaim\";\n            type: \"bool\";\n          },\n          {\n            name: \"totalUnclaimedTokens\";\n            type: \"u64\";\n          },\n          {\n            name: \"totalClaimedTokens\";\n            type: \"u64\";\n          },\n          {\n            name: \"currentSolVolume\";\n            type: \"u64\";\n          },\n          {\n            name: \"lastUpdateTimestamp\";\n            type: \"i64\";\n          },\n          {\n            name: \"hasTotalClaimedTokens\";\n            type: \"bool\";\n          },\n          {\n            name: \"cashbackEarned\";\n            type: \"u64\";\n          },\n          {\n            name: \"totalCashbackClaimed\";\n            type: \"u64\";\n          },\n        ];\n      };\n    },\n  ];\n}\n"
  },
  {
    "path": "idl/pump_amm.json",
    "content": "{\n  \"address\": \"pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA\",\n  \"metadata\": {\n    \"name\": \"pump_amm\",\n    \"version\": \"0.1.0\",\n    \"spec\": \"0.1.0\",\n    \"description\": \"Created with Anchor\"\n  },\n  \"instructions\": [\n    {\n      \"name\": \"admin_set_coin_creator\",\n      \"docs\": [\n        \"Overrides the coin creator for a canonical pump pool\"\n      ],\n      \"discriminator\": [\n        242,\n        40,\n        117,\n        145,\n        73,\n        96,\n        105,\n        104\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"admin_set_coin_creator_authority\",\n          \"signer\": true,\n          \"relations\": [\n            \"global_config\"\n          ]\n        },\n        {\n          \"name\": \"global_config\"\n        },\n        {\n          \"name\": \"pool\",\n          \"writable\": true\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": [\n        {\n          \"name\": \"coin_creator\",\n          \"type\": \"pubkey\"\n        }\n      ]\n    },\n    {\n      \"name\": \"admin_update_token_incentives\",\n      \"discriminator\": [\n        209,\n        11,\n        115,\n        87,\n        213,\n        23,\n        124,\n        204\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"admin\",\n          \"writable\": true,\n          \"signer\": true,\n          \"relations\": [\n            \"global_config\"\n          ]\n        },\n        {\n          \"name\": \"global_config\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108,\n                  95,\n                  99,\n                  111,\n                  110,\n                  102,\n                  105,\n                  103\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"global_volume_accumulator\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108,\n                  95,\n                  118,\n                  111,\n                  108,\n                  117,\n                  109,\n                  101,\n                  95,\n                  97,\n                  99,\n                  99,\n                  117,\n                  109,\n                  117,\n                  108,\n                  97,\n                  116,\n                  111,\n                  114\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"mint\"\n        },\n        {\n          \"name\": \"global_incentive_token_account\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"account\",\n                \"path\": \"global_volume_accumulator\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"token_program\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"mint\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                140,\n                151,\n                37,\n                143,\n                78,\n                36,\n                137,\n                241,\n                187,\n                61,\n                16,\n                41,\n                20,\n                142,\n                13,\n                131,\n                11,\n                90,\n                19,\n                153,\n                218,\n                255,\n                16,\n                132,\n                4,\n                142,\n                123,\n                216,\n                219,\n                233,\n                248,\n                89\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"associated_token_program\",\n          \"address\": \"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\"\n        },\n        {\n          \"name\": \"system_program\",\n          \"address\": \"11111111111111111111111111111111\"\n        },\n        {\n          \"name\": \"token_program\"\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": [\n        {\n          \"name\": \"start_time\",\n          \"type\": \"i64\"\n        },\n        {\n          \"name\": \"end_time\",\n          \"type\": \"i64\"\n        },\n        {\n          \"name\": \"seconds_in_a_day\",\n          \"type\": \"i64\"\n        },\n        {\n          \"name\": \"day_number\",\n          \"type\": \"u64\"\n        },\n        {\n          \"name\": \"token_supply_per_day\",\n          \"type\": \"u64\"\n        }\n      ]\n    },\n    {\n      \"name\": \"buy\",\n      \"docs\": [\n        \"For cashback coins, optionally pass user_volume_accumulator_wsol_ata as remaining_accounts[0].\",\n        \"If provided and valid, the ATA will be initialized if needed.\"\n      ],\n      \"discriminator\": [\n        102,\n        6,\n        61,\n        18,\n        1,\n        218,\n        235,\n        234\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"pool\",\n          \"writable\": true\n        },\n        {\n          \"name\": \"user\",\n          \"writable\": true,\n          \"signer\": true\n        },\n        {\n          \"name\": \"global_config\"\n        },\n        {\n          \"name\": \"base_mint\",\n          \"relations\": [\n            \"pool\"\n          ]\n        },\n        {\n          \"name\": \"quote_mint\",\n          \"relations\": [\n            \"pool\"\n          ]\n        },\n        {\n          \"name\": \"user_base_token_account\",\n          \"writable\": true\n        },\n        {\n          \"name\": \"user_quote_token_account\",\n          \"writable\": true\n        },\n        {\n          \"name\": \"pool_base_token_account\",\n          \"writable\": true,\n          \"relations\": [\n            \"pool\"\n          ]\n        },\n        {\n          \"name\": \"pool_quote_token_account\",\n          \"writable\": true,\n          \"relations\": [\n            \"pool\"\n          ]\n        },\n        {\n          \"name\": \"protocol_fee_recipient\"\n        },\n        {\n          \"name\": \"protocol_fee_recipient_token_account\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"account\",\n                \"path\": \"protocol_fee_recipient\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"quote_token_program\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"quote_mint\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                140,\n                151,\n                37,\n                143,\n                78,\n                36,\n                137,\n                241,\n                187,\n                61,\n                16,\n                41,\n                20,\n                142,\n                13,\n                131,\n                11,\n                90,\n                19,\n                153,\n                218,\n                255,\n                16,\n                132,\n                4,\n                142,\n                123,\n                216,\n                219,\n                233,\n                248,\n                89\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"base_token_program\"\n        },\n        {\n          \"name\": \"quote_token_program\"\n        },\n        {\n          \"name\": \"system_program\",\n          \"address\": \"11111111111111111111111111111111\"\n        },\n        {\n          \"name\": \"associated_token_program\",\n          \"address\": \"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\"\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\",\n          \"address\": \"pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA\"\n        },\n        {\n          \"name\": \"coin_creator_vault_ata\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"account\",\n                \"path\": \"coin_creator_vault_authority\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"quote_token_program\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"quote_mint\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                140,\n                151,\n                37,\n                143,\n                78,\n                36,\n                137,\n                241,\n                187,\n                61,\n                16,\n                41,\n                20,\n                142,\n                13,\n                131,\n                11,\n                90,\n                19,\n                153,\n                218,\n                255,\n                16,\n                132,\n                4,\n                142,\n                123,\n                216,\n                219,\n                233,\n                248,\n                89\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"coin_creator_vault_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  99,\n                  114,\n                  101,\n                  97,\n                  116,\n                  111,\n                  114,\n                  95,\n                  118,\n                  97,\n                  117,\n                  108,\n                  116\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"pool.coin_creator\",\n                \"account\": \"Pool\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"global_volume_accumulator\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108,\n                  95,\n                  118,\n                  111,\n                  108,\n                  117,\n                  109,\n                  101,\n                  95,\n                  97,\n                  99,\n                  99,\n                  117,\n                  109,\n                  117,\n                  108,\n                  97,\n                  116,\n                  111,\n                  114\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"user_volume_accumulator\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  117,\n                  115,\n                  101,\n                  114,\n                  95,\n                  118,\n                  111,\n                  108,\n                  117,\n                  109,\n                  101,\n                  95,\n                  97,\n                  99,\n                  99,\n                  117,\n                  109,\n                  117,\n                  108,\n                  97,\n                  116,\n                  111,\n                  114\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"user\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"fee_config\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  102,\n                  101,\n                  101,\n                  95,\n                  99,\n                  111,\n                  110,\n                  102,\n                  105,\n                  103\n                ]\n              },\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  12,\n                  20,\n                  222,\n                  252,\n                  130,\n                  94,\n                  198,\n                  118,\n                  148,\n                  37,\n                  8,\n                  24,\n                  187,\n                  101,\n                  64,\n                  101,\n                  244,\n                  41,\n                  141,\n                  49,\n                  86,\n                  213,\n                  113,\n                  180,\n                  212,\n                  248,\n                  9,\n                  12,\n                  24,\n                  233,\n                  168,\n                  99\n                ]\n              }\n            ],\n            \"program\": {\n              \"kind\": \"account\",\n              \"path\": \"fee_program\"\n            }\n          }\n        },\n        {\n          \"name\": \"fee_program\",\n          \"address\": \"pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ\"\n        }\n      ],\n      \"args\": [\n        {\n          \"name\": \"base_amount_out\",\n          \"type\": \"u64\"\n        },\n        {\n          \"name\": \"max_quote_amount_in\",\n          \"type\": \"u64\"\n        },\n        {\n          \"name\": \"track_volume\",\n          \"type\": {\n            \"defined\": {\n              \"name\": \"OptionBool\"\n            }\n          }\n        }\n      ]\n    },\n    {\n      \"name\": \"buy_exact_quote_in\",\n      \"docs\": [\n        \"Given a budget of spendable_quote_in, buy at least min_base_amount_out\",\n        \"Fees will be deducted from spendable_quote_in\",\n        \"\",\n        \"f(quote) = tokens, where tokens >= min_base_amount_out\",\n        \"\",\n        \"Make sure the payer has enough SOL to cover creation of the following accounts (unless already created):\",\n        \"- protocol_fee_recipient_token_account: rent.minimum_balance(TokenAccount::LEN)\",\n        \"- coin_creator_vault_ata: rent.minimum_balance(TokenAccount::LEN)\",\n        \"- user_volume_accumulator: rent.minimum_balance(UserVolumeAccumulator::LEN)\",\n        \"\",\n        \"For cashback coins, optionally pass user_volume_accumulator_wsol_ata as remaining_accounts[0].\",\n        \"If provided and valid, the ATA will be initialized if needed.\"\n      ],\n      \"discriminator\": [\n        198,\n        46,\n        21,\n        82,\n        180,\n        217,\n        232,\n        112\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"pool\",\n          \"writable\": true\n        },\n        {\n          \"name\": \"user\",\n          \"writable\": true,\n          \"signer\": true\n        },\n        {\n          \"name\": \"global_config\"\n        },\n        {\n          \"name\": \"base_mint\",\n          \"relations\": [\n            \"pool\"\n          ]\n        },\n        {\n          \"name\": \"quote_mint\",\n          \"relations\": [\n            \"pool\"\n          ]\n        },\n        {\n          \"name\": \"user_base_token_account\",\n          \"writable\": true\n        },\n        {\n          \"name\": \"user_quote_token_account\",\n          \"writable\": true\n        },\n        {\n          \"name\": \"pool_base_token_account\",\n          \"writable\": true,\n          \"relations\": [\n            \"pool\"\n          ]\n        },\n        {\n          \"name\": \"pool_quote_token_account\",\n          \"writable\": true,\n          \"relations\": [\n            \"pool\"\n          ]\n        },\n        {\n          \"name\": \"protocol_fee_recipient\"\n        },\n        {\n          \"name\": \"protocol_fee_recipient_token_account\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"account\",\n                \"path\": \"protocol_fee_recipient\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"quote_token_program\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"quote_mint\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                140,\n                151,\n                37,\n                143,\n                78,\n                36,\n                137,\n                241,\n                187,\n                61,\n                16,\n                41,\n                20,\n                142,\n                13,\n                131,\n                11,\n                90,\n                19,\n                153,\n                218,\n                255,\n                16,\n                132,\n                4,\n                142,\n                123,\n                216,\n                219,\n                233,\n                248,\n                89\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"base_token_program\"\n        },\n        {\n          \"name\": \"quote_token_program\"\n        },\n        {\n          \"name\": \"system_program\",\n          \"address\": \"11111111111111111111111111111111\"\n        },\n        {\n          \"name\": \"associated_token_program\",\n          \"address\": \"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\"\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\",\n          \"address\": \"pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA\"\n        },\n        {\n          \"name\": \"coin_creator_vault_ata\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"account\",\n                \"path\": \"coin_creator_vault_authority\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"quote_token_program\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"quote_mint\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                140,\n                151,\n                37,\n                143,\n                78,\n                36,\n                137,\n                241,\n                187,\n                61,\n                16,\n                41,\n                20,\n                142,\n                13,\n                131,\n                11,\n                90,\n                19,\n                153,\n                218,\n                255,\n                16,\n                132,\n                4,\n                142,\n                123,\n                216,\n                219,\n                233,\n                248,\n                89\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"coin_creator_vault_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  99,\n                  114,\n                  101,\n                  97,\n                  116,\n                  111,\n                  114,\n                  95,\n                  118,\n                  97,\n                  117,\n                  108,\n                  116\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"pool.coin_creator\",\n                \"account\": \"Pool\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"global_volume_accumulator\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108,\n                  95,\n                  118,\n                  111,\n                  108,\n                  117,\n                  109,\n                  101,\n                  95,\n                  97,\n                  99,\n                  99,\n                  117,\n                  109,\n                  117,\n                  108,\n                  97,\n                  116,\n                  111,\n                  114\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"user_volume_accumulator\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  117,\n                  115,\n                  101,\n                  114,\n                  95,\n                  118,\n                  111,\n                  108,\n                  117,\n                  109,\n                  101,\n                  95,\n                  97,\n                  99,\n                  99,\n                  117,\n                  109,\n                  117,\n                  108,\n                  97,\n                  116,\n                  111,\n                  114\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"user\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"fee_config\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  102,\n                  101,\n                  101,\n                  95,\n                  99,\n                  111,\n                  110,\n                  102,\n                  105,\n                  103\n                ]\n              },\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  12,\n                  20,\n                  222,\n                  252,\n                  130,\n                  94,\n                  198,\n                  118,\n                  148,\n                  37,\n                  8,\n                  24,\n                  187,\n                  101,\n                  64,\n                  101,\n                  244,\n                  41,\n                  141,\n                  49,\n                  86,\n                  213,\n                  113,\n                  180,\n                  212,\n                  248,\n                  9,\n                  12,\n                  24,\n                  233,\n                  168,\n                  99\n                ]\n              }\n            ],\n            \"program\": {\n              \"kind\": \"account\",\n              \"path\": \"fee_program\"\n            }\n          }\n        },\n        {\n          \"name\": \"fee_program\",\n          \"address\": \"pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ\"\n        }\n      ],\n      \"args\": [\n        {\n          \"name\": \"spendable_quote_in\",\n          \"type\": \"u64\"\n        },\n        {\n          \"name\": \"min_base_amount_out\",\n          \"type\": \"u64\"\n        },\n        {\n          \"name\": \"track_volume\",\n          \"type\": {\n            \"defined\": {\n              \"name\": \"OptionBool\"\n            }\n          }\n        }\n      ]\n    },\n    {\n      \"name\": \"claim_cashback\",\n      \"discriminator\": [\n        37,\n        58,\n        35,\n        126,\n        190,\n        53,\n        228,\n        197\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"user\",\n          \"writable\": true\n        },\n        {\n          \"name\": \"user_volume_accumulator\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  117,\n                  115,\n                  101,\n                  114,\n                  95,\n                  118,\n                  111,\n                  108,\n                  117,\n                  109,\n                  101,\n                  95,\n                  97,\n                  99,\n                  99,\n                  117,\n                  109,\n                  117,\n                  108,\n                  97,\n                  116,\n                  111,\n                  114\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"user\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"quote_mint\"\n        },\n        {\n          \"name\": \"quote_token_program\"\n        },\n        {\n          \"name\": \"user_volume_accumulator_wsol_token_account\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"account\",\n                \"path\": \"user_volume_accumulator\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"quote_token_program\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"quote_mint\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                140,\n                151,\n                37,\n                143,\n                78,\n                36,\n                137,\n                241,\n                187,\n                61,\n                16,\n                41,\n                20,\n                142,\n                13,\n                131,\n                11,\n                90,\n                19,\n                153,\n                218,\n                255,\n                16,\n                132,\n                4,\n                142,\n                123,\n                216,\n                219,\n                233,\n                248,\n                89\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"user_wsol_token_account\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"account\",\n                \"path\": \"user\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"quote_token_program\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"quote_mint\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                140,\n                151,\n                37,\n                143,\n                78,\n                36,\n                137,\n                241,\n                187,\n                61,\n                16,\n                41,\n                20,\n                142,\n                13,\n                131,\n                11,\n                90,\n                19,\n                153,\n                218,\n                255,\n                16,\n                132,\n                4,\n                142,\n                123,\n                216,\n                219,\n                233,\n                248,\n                89\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"system_program\",\n          \"address\": \"11111111111111111111111111111111\"\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\",\n          \"address\": \"pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA\"\n        }\n      ],\n      \"args\": []\n    },\n    {\n      \"name\": \"claim_token_incentives\",\n      \"discriminator\": [\n        16,\n        4,\n        71,\n        28,\n        204,\n        1,\n        40,\n        27\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"user\"\n        },\n        {\n          \"name\": \"user_ata\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"account\",\n                \"path\": \"user\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"token_program\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"mint\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                140,\n                151,\n                37,\n                143,\n                78,\n                36,\n                137,\n                241,\n                187,\n                61,\n                16,\n                41,\n                20,\n                142,\n                13,\n                131,\n                11,\n                90,\n                19,\n                153,\n                218,\n                255,\n                16,\n                132,\n                4,\n                142,\n                123,\n                216,\n                219,\n                233,\n                248,\n                89\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"global_volume_accumulator\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108,\n                  95,\n                  118,\n                  111,\n                  108,\n                  117,\n                  109,\n                  101,\n                  95,\n                  97,\n                  99,\n                  99,\n                  117,\n                  109,\n                  117,\n                  108,\n                  97,\n                  116,\n                  111,\n                  114\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"global_incentive_token_account\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"account\",\n                \"path\": \"global_volume_accumulator\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"token_program\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"mint\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                140,\n                151,\n                37,\n                143,\n                78,\n                36,\n                137,\n                241,\n                187,\n                61,\n                16,\n                41,\n                20,\n                142,\n                13,\n                131,\n                11,\n                90,\n                19,\n                153,\n                218,\n                255,\n                16,\n                132,\n                4,\n                142,\n                123,\n                216,\n                219,\n                233,\n                248,\n                89\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"user_volume_accumulator\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  117,\n                  115,\n                  101,\n                  114,\n                  95,\n                  118,\n                  111,\n                  108,\n                  117,\n                  109,\n                  101,\n                  95,\n                  97,\n                  99,\n                  99,\n                  117,\n                  109,\n                  117,\n                  108,\n                  97,\n                  116,\n                  111,\n                  114\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"user\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"mint\",\n          \"relations\": [\n            \"global_volume_accumulator\"\n          ]\n        },\n        {\n          \"name\": \"token_program\"\n        },\n        {\n          \"name\": \"system_program\",\n          \"address\": \"11111111111111111111111111111111\"\n        },\n        {\n          \"name\": \"associated_token_program\",\n          \"address\": \"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\"\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\",\n          \"address\": \"pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA\"\n        },\n        {\n          \"name\": \"payer\",\n          \"writable\": true,\n          \"signer\": true\n        }\n      ],\n      \"args\": []\n    },\n    {\n      \"name\": \"close_user_volume_accumulator\",\n      \"discriminator\": [\n        249,\n        69,\n        164,\n        218,\n        150,\n        103,\n        84,\n        138\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"user\",\n          \"writable\": true,\n          \"signer\": true\n        },\n        {\n          \"name\": \"user_volume_accumulator\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  117,\n                  115,\n                  101,\n                  114,\n                  95,\n                  118,\n                  111,\n                  108,\n                  117,\n                  109,\n                  101,\n                  95,\n                  97,\n                  99,\n                  99,\n                  117,\n                  109,\n                  117,\n                  108,\n                  97,\n                  116,\n                  111,\n                  114\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"user\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": []\n    },\n    {\n      \"name\": \"collect_coin_creator_fee\",\n      \"discriminator\": [\n        160,\n        57,\n        89,\n        42,\n        181,\n        139,\n        43,\n        66\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"quote_mint\"\n        },\n        {\n          \"name\": \"quote_token_program\"\n        },\n        {\n          \"name\": \"coin_creator\"\n        },\n        {\n          \"name\": \"coin_creator_vault_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  99,\n                  114,\n                  101,\n                  97,\n                  116,\n                  111,\n                  114,\n                  95,\n                  118,\n                  97,\n                  117,\n                  108,\n                  116\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"coin_creator\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"coin_creator_vault_ata\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"account\",\n                \"path\": \"coin_creator_vault_authority\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"quote_token_program\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"quote_mint\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                140,\n                151,\n                37,\n                143,\n                78,\n                36,\n                137,\n                241,\n                187,\n                61,\n                16,\n                41,\n                20,\n                142,\n                13,\n                131,\n                11,\n                90,\n                19,\n                153,\n                218,\n                255,\n                16,\n                132,\n                4,\n                142,\n                123,\n                216,\n                219,\n                233,\n                248,\n                89\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"coin_creator_token_account\",\n          \"writable\": true\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": []\n    },\n    {\n      \"name\": \"create_config\",\n      \"discriminator\": [\n        201,\n        207,\n        243,\n        114,\n        75,\n        111,\n        47,\n        189\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"admin\",\n          \"writable\": true,\n          \"signer\": true,\n          \"address\": \"8LWu7QM2dGR1G8nKDHthckea57bkCzXyBTAKPJUBDHo8\"\n        },\n        {\n          \"name\": \"global_config\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108,\n                  95,\n                  99,\n                  111,\n                  110,\n                  102,\n                  105,\n                  103\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"system_program\",\n          \"address\": \"11111111111111111111111111111111\"\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": [\n        {\n          \"name\": \"lp_fee_basis_points\",\n          \"type\": \"u64\"\n        },\n        {\n          \"name\": \"protocol_fee_basis_points\",\n          \"type\": \"u64\"\n        },\n        {\n          \"name\": \"protocol_fee_recipients\",\n          \"type\": {\n            \"array\": [\n              \"pubkey\",\n              8\n            ]\n          }\n        },\n        {\n          \"name\": \"coin_creator_fee_basis_points\",\n          \"type\": \"u64\"\n        },\n        {\n          \"name\": \"admin_set_coin_creator_authority\",\n          \"type\": \"pubkey\"\n        }\n      ]\n    },\n    {\n      \"name\": \"create_pool\",\n      \"discriminator\": [\n        233,\n        146,\n        209,\n        142,\n        207,\n        104,\n        64,\n        188\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"pool\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  112,\n                  111,\n                  111,\n                  108\n                ]\n              },\n              {\n                \"kind\": \"arg\",\n                \"path\": \"index\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"creator\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"base_mint\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"quote_mint\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"global_config\"\n        },\n        {\n          \"name\": \"creator\",\n          \"writable\": true,\n          \"signer\": true\n        },\n        {\n          \"name\": \"base_mint\"\n        },\n        {\n          \"name\": \"quote_mint\"\n        },\n        {\n          \"name\": \"lp_mint\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  112,\n                  111,\n                  111,\n                  108,\n                  95,\n                  108,\n                  112,\n                  95,\n                  109,\n                  105,\n                  110,\n                  116\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"pool\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"user_base_token_account\",\n          \"writable\": true\n        },\n        {\n          \"name\": \"user_quote_token_account\",\n          \"writable\": true\n        },\n        {\n          \"name\": \"user_pool_token_account\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"account\",\n                \"path\": \"creator\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"token_2022_program\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"lp_mint\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                140,\n                151,\n                37,\n                143,\n                78,\n                36,\n                137,\n                241,\n                187,\n                61,\n                16,\n                41,\n                20,\n                142,\n                13,\n                131,\n                11,\n                90,\n                19,\n                153,\n                218,\n                255,\n                16,\n                132,\n                4,\n                142,\n                123,\n                216,\n                219,\n                233,\n                248,\n                89\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"pool_base_token_account\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"account\",\n                \"path\": \"pool\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"base_token_program\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"base_mint\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                140,\n                151,\n                37,\n                143,\n                78,\n                36,\n                137,\n                241,\n                187,\n                61,\n                16,\n                41,\n                20,\n                142,\n                13,\n                131,\n                11,\n                90,\n                19,\n                153,\n                218,\n                255,\n                16,\n                132,\n                4,\n                142,\n                123,\n                216,\n                219,\n                233,\n                248,\n                89\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"pool_quote_token_account\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"account\",\n                \"path\": \"pool\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"quote_token_program\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"quote_mint\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                140,\n                151,\n                37,\n                143,\n                78,\n                36,\n                137,\n                241,\n                187,\n                61,\n                16,\n                41,\n                20,\n                142,\n                13,\n                131,\n                11,\n                90,\n                19,\n                153,\n                218,\n                255,\n                16,\n                132,\n                4,\n                142,\n                123,\n                216,\n                219,\n                233,\n                248,\n                89\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"system_program\",\n          \"address\": \"11111111111111111111111111111111\"\n        },\n        {\n          \"name\": \"token_2022_program\",\n          \"address\": \"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb\"\n        },\n        {\n          \"name\": \"base_token_program\"\n        },\n        {\n          \"name\": \"quote_token_program\"\n        },\n        {\n          \"name\": \"associated_token_program\",\n          \"address\": \"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\"\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": [\n        {\n          \"name\": \"index\",\n          \"type\": \"u16\"\n        },\n        {\n          \"name\": \"base_amount_in\",\n          \"type\": \"u64\"\n        },\n        {\n          \"name\": \"quote_amount_in\",\n          \"type\": \"u64\"\n        },\n        {\n          \"name\": \"coin_creator\",\n          \"type\": \"pubkey\"\n        },\n        {\n          \"name\": \"is_mayhem_mode\",\n          \"type\": \"bool\"\n        },\n        {\n          \"name\": \"is_cashback_coin\",\n          \"type\": {\n            \"defined\": {\n              \"name\": \"OptionBool\"\n            }\n          }\n        }\n      ]\n    },\n    {\n      \"name\": \"deposit\",\n      \"discriminator\": [\n        242,\n        35,\n        198,\n        137,\n        82,\n        225,\n        242,\n        182\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"pool\",\n          \"writable\": true\n        },\n        {\n          \"name\": \"global_config\"\n        },\n        {\n          \"name\": \"user\",\n          \"signer\": true\n        },\n        {\n          \"name\": \"base_mint\",\n          \"relations\": [\n            \"pool\"\n          ]\n        },\n        {\n          \"name\": \"quote_mint\",\n          \"relations\": [\n            \"pool\"\n          ]\n        },\n        {\n          \"name\": \"lp_mint\",\n          \"writable\": true,\n          \"relations\": [\n            \"pool\"\n          ]\n        },\n        {\n          \"name\": \"user_base_token_account\",\n          \"writable\": true\n        },\n        {\n          \"name\": \"user_quote_token_account\",\n          \"writable\": true\n        },\n        {\n          \"name\": \"user_pool_token_account\",\n          \"writable\": true\n        },\n        {\n          \"name\": \"pool_base_token_account\",\n          \"writable\": true,\n          \"relations\": [\n            \"pool\"\n          ]\n        },\n        {\n          \"name\": \"pool_quote_token_account\",\n          \"writable\": true,\n          \"relations\": [\n            \"pool\"\n          ]\n        },\n        {\n          \"name\": \"token_program\",\n          \"address\": \"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA\"\n        },\n        {\n          \"name\": \"token_2022_program\",\n          \"address\": \"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb\"\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": [\n        {\n          \"name\": \"lp_token_amount_out\",\n          \"type\": \"u64\"\n        },\n        {\n          \"name\": \"max_base_amount_in\",\n          \"type\": \"u64\"\n        },\n        {\n          \"name\": \"max_quote_amount_in\",\n          \"type\": \"u64\"\n        }\n      ]\n    },\n    {\n      \"name\": \"disable\",\n      \"discriminator\": [\n        185,\n        173,\n        187,\n        90,\n        216,\n        15,\n        238,\n        233\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"admin\",\n          \"signer\": true,\n          \"relations\": [\n            \"global_config\"\n          ]\n        },\n        {\n          \"name\": \"global_config\",\n          \"writable\": true\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": [\n        {\n          \"name\": \"disable_create_pool\",\n          \"type\": \"bool\"\n        },\n        {\n          \"name\": \"disable_deposit\",\n          \"type\": \"bool\"\n        },\n        {\n          \"name\": \"disable_withdraw\",\n          \"type\": \"bool\"\n        },\n        {\n          \"name\": \"disable_buy\",\n          \"type\": \"bool\"\n        },\n        {\n          \"name\": \"disable_sell\",\n          \"type\": \"bool\"\n        }\n      ]\n    },\n    {\n      \"name\": \"extend_account\",\n      \"discriminator\": [\n        234,\n        102,\n        194,\n        203,\n        150,\n        72,\n        62,\n        229\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"account\",\n          \"writable\": true\n        },\n        {\n          \"name\": \"user\",\n          \"signer\": true\n        },\n        {\n          \"name\": \"system_program\",\n          \"address\": \"11111111111111111111111111111111\"\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": []\n    },\n    {\n      \"name\": \"init_user_volume_accumulator\",\n      \"discriminator\": [\n        94,\n        6,\n        202,\n        115,\n        255,\n        96,\n        232,\n        183\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"payer\",\n          \"writable\": true,\n          \"signer\": true\n        },\n        {\n          \"name\": \"user\"\n        },\n        {\n          \"name\": \"user_volume_accumulator\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  117,\n                  115,\n                  101,\n                  114,\n                  95,\n                  118,\n                  111,\n                  108,\n                  117,\n                  109,\n                  101,\n                  95,\n                  97,\n                  99,\n                  99,\n                  117,\n                  109,\n                  117,\n                  108,\n                  97,\n                  116,\n                  111,\n                  114\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"user\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"system_program\",\n          \"address\": \"11111111111111111111111111111111\"\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": []\n    },\n    {\n      \"name\": \"migrate_pool_coin_creator\",\n      \"docs\": [\n        \"Migrate Pool Coin Creator to Sharing Config\"\n      ],\n      \"discriminator\": [\n        208,\n        8,\n        159,\n        4,\n        74,\n        175,\n        16,\n        58\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"pool\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  112,\n                  111,\n                  111,\n                  108\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"pool.index\",\n                \"account\": \"Pool\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"pool.creator\",\n                \"account\": \"Pool\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"pool.base_mint\",\n                \"account\": \"Pool\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"pool.quote_mint\",\n                \"account\": \"Pool\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"sharing_config\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  115,\n                  104,\n                  97,\n                  114,\n                  105,\n                  110,\n                  103,\n                  45,\n                  99,\n                  111,\n                  110,\n                  102,\n                  105,\n                  103\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"pool.base_mint\",\n                \"account\": \"Pool\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                12,\n                53,\n                255,\n                169,\n                5,\n                90,\n                142,\n                86,\n                141,\n                168,\n                247,\n                188,\n                7,\n                86,\n                21,\n                39,\n                76,\n                241,\n                201,\n                44,\n                164,\n                31,\n                64,\n                0,\n                156,\n                81,\n                106,\n                164,\n                20,\n                194,\n                124,\n                112\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": []\n    },\n    {\n      \"name\": \"sell\",\n      \"discriminator\": [\n        51,\n        230,\n        133,\n        164,\n        1,\n        127,\n        131,\n        173\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"pool\",\n          \"writable\": true\n        },\n        {\n          \"name\": \"user\",\n          \"writable\": true,\n          \"signer\": true\n        },\n        {\n          \"name\": \"global_config\"\n        },\n        {\n          \"name\": \"base_mint\",\n          \"relations\": [\n            \"pool\"\n          ]\n        },\n        {\n          \"name\": \"quote_mint\",\n          \"relations\": [\n            \"pool\"\n          ]\n        },\n        {\n          \"name\": \"user_base_token_account\",\n          \"writable\": true\n        },\n        {\n          \"name\": \"user_quote_token_account\",\n          \"writable\": true\n        },\n        {\n          \"name\": \"pool_base_token_account\",\n          \"writable\": true,\n          \"relations\": [\n            \"pool\"\n          ]\n        },\n        {\n          \"name\": \"pool_quote_token_account\",\n          \"writable\": true,\n          \"relations\": [\n            \"pool\"\n          ]\n        },\n        {\n          \"name\": \"protocol_fee_recipient\"\n        },\n        {\n          \"name\": \"protocol_fee_recipient_token_account\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"account\",\n                \"path\": \"protocol_fee_recipient\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"quote_token_program\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"quote_mint\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                140,\n                151,\n                37,\n                143,\n                78,\n                36,\n                137,\n                241,\n                187,\n                61,\n                16,\n                41,\n                20,\n                142,\n                13,\n                131,\n                11,\n                90,\n                19,\n                153,\n                218,\n                255,\n                16,\n                132,\n                4,\n                142,\n                123,\n                216,\n                219,\n                233,\n                248,\n                89\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"base_token_program\"\n        },\n        {\n          \"name\": \"quote_token_program\"\n        },\n        {\n          \"name\": \"system_program\",\n          \"address\": \"11111111111111111111111111111111\"\n        },\n        {\n          \"name\": \"associated_token_program\",\n          \"address\": \"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\"\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\",\n          \"address\": \"pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA\"\n        },\n        {\n          \"name\": \"coin_creator_vault_ata\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"account\",\n                \"path\": \"coin_creator_vault_authority\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"quote_token_program\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"quote_mint\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                140,\n                151,\n                37,\n                143,\n                78,\n                36,\n                137,\n                241,\n                187,\n                61,\n                16,\n                41,\n                20,\n                142,\n                13,\n                131,\n                11,\n                90,\n                19,\n                153,\n                218,\n                255,\n                16,\n                132,\n                4,\n                142,\n                123,\n                216,\n                219,\n                233,\n                248,\n                89\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"coin_creator_vault_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  99,\n                  114,\n                  101,\n                  97,\n                  116,\n                  111,\n                  114,\n                  95,\n                  118,\n                  97,\n                  117,\n                  108,\n                  116\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"pool.coin_creator\",\n                \"account\": \"Pool\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"fee_config\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  102,\n                  101,\n                  101,\n                  95,\n                  99,\n                  111,\n                  110,\n                  102,\n                  105,\n                  103\n                ]\n              },\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  12,\n                  20,\n                  222,\n                  252,\n                  130,\n                  94,\n                  198,\n                  118,\n                  148,\n                  37,\n                  8,\n                  24,\n                  187,\n                  101,\n                  64,\n                  101,\n                  244,\n                  41,\n                  141,\n                  49,\n                  86,\n                  213,\n                  113,\n                  180,\n                  212,\n                  248,\n                  9,\n                  12,\n                  24,\n                  233,\n                  168,\n                  99\n                ]\n              }\n            ],\n            \"program\": {\n              \"kind\": \"account\",\n              \"path\": \"fee_program\"\n            }\n          }\n        },\n        {\n          \"name\": \"fee_program\",\n          \"address\": \"pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ\"\n        }\n      ],\n      \"args\": [\n        {\n          \"name\": \"base_amount_in\",\n          \"type\": \"u64\"\n        },\n        {\n          \"name\": \"min_quote_amount_out\",\n          \"type\": \"u64\"\n        }\n      ]\n    },\n    {\n      \"name\": \"set_coin_creator\",\n      \"docs\": [\n        \"Sets Pool::coin_creator from Metaplex metadata creator or BondingCurve::creator\"\n      ],\n      \"discriminator\": [\n        210,\n        149,\n        128,\n        45,\n        188,\n        58,\n        78,\n        175\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"pool\",\n          \"writable\": true\n        },\n        {\n          \"name\": \"metadata\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  109,\n                  101,\n                  116,\n                  97,\n                  100,\n                  97,\n                  116,\n                  97\n                ]\n              },\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  11,\n                  112,\n                  101,\n                  177,\n                  227,\n                  209,\n                  124,\n                  69,\n                  56,\n                  157,\n                  82,\n                  127,\n                  107,\n                  4,\n                  195,\n                  205,\n                  88,\n                  184,\n                  108,\n                  115,\n                  26,\n                  160,\n                  253,\n                  181,\n                  73,\n                  182,\n                  209,\n                  188,\n                  3,\n                  248,\n                  41,\n                  70\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"pool.base_mint\",\n                \"account\": \"Pool\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                11,\n                112,\n                101,\n                177,\n                227,\n                209,\n                124,\n                69,\n                56,\n                157,\n                82,\n                127,\n                107,\n                4,\n                195,\n                205,\n                88,\n                184,\n                108,\n                115,\n                26,\n                160,\n                253,\n                181,\n                73,\n                182,\n                209,\n                188,\n                3,\n                248,\n                41,\n                70\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"bonding_curve\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  98,\n                  111,\n                  110,\n                  100,\n                  105,\n                  110,\n                  103,\n                  45,\n                  99,\n                  117,\n                  114,\n                  118,\n                  101\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"pool.base_mint\",\n                \"account\": \"Pool\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                1,\n                86,\n                224,\n                246,\n                147,\n                102,\n                90,\n                207,\n                68,\n                219,\n                21,\n                104,\n                191,\n                23,\n                91,\n                170,\n                81,\n                137,\n                203,\n                151,\n                245,\n                210,\n                255,\n                59,\n                101,\n                93,\n                43,\n                182,\n                253,\n                109,\n                24,\n                176\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": []\n    },\n    {\n      \"name\": \"set_reserved_fee_recipients\",\n      \"discriminator\": [\n        111,\n        172,\n        162,\n        232,\n        114,\n        89,\n        213,\n        142\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"global_config\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108,\n                  95,\n                  99,\n                  111,\n                  110,\n                  102,\n                  105,\n                  103\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"admin\",\n          \"signer\": true,\n          \"relations\": [\n            \"global_config\"\n          ]\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": [\n        {\n          \"name\": \"whitelist_pda\",\n          \"type\": \"pubkey\"\n        }\n      ]\n    },\n    {\n      \"name\": \"sync_user_volume_accumulator\",\n      \"discriminator\": [\n        86,\n        31,\n        192,\n        87,\n        163,\n        87,\n        79,\n        238\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"user\"\n        },\n        {\n          \"name\": \"global_volume_accumulator\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108,\n                  95,\n                  118,\n                  111,\n                  108,\n                  117,\n                  109,\n                  101,\n                  95,\n                  97,\n                  99,\n                  99,\n                  117,\n                  109,\n                  117,\n                  108,\n                  97,\n                  116,\n                  111,\n                  114\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"user_volume_accumulator\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  117,\n                  115,\n                  101,\n                  114,\n                  95,\n                  118,\n                  111,\n                  108,\n                  117,\n                  109,\n                  101,\n                  95,\n                  97,\n                  99,\n                  99,\n                  117,\n                  109,\n                  117,\n                  108,\n                  97,\n                  116,\n                  111,\n                  114\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"user\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": []\n    },\n    {\n      \"name\": \"toggle_cashback_enabled\",\n      \"discriminator\": [\n        115,\n        103,\n        224,\n        255,\n        189,\n        89,\n        86,\n        195\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"admin\",\n          \"signer\": true,\n          \"relations\": [\n            \"global_config\"\n          ]\n        },\n        {\n          \"name\": \"global_config\",\n          \"writable\": true\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": [\n        {\n          \"name\": \"enabled\",\n          \"type\": \"bool\"\n        }\n      ]\n    },\n    {\n      \"name\": \"toggle_mayhem_mode\",\n      \"discriminator\": [\n        1,\n        9,\n        111,\n        208,\n        100,\n        31,\n        255,\n        163\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"admin\",\n          \"signer\": true,\n          \"relations\": [\n            \"global_config\"\n          ]\n        },\n        {\n          \"name\": \"global_config\",\n          \"writable\": true\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": [\n        {\n          \"name\": \"enabled\",\n          \"type\": \"bool\"\n        }\n      ]\n    },\n    {\n      \"name\": \"transfer_creator_fees_to_pump\",\n      \"docs\": [\n        \"Transfer creator fees to pump creator vault\",\n        \"If coin creator fees are currently below rent.minimum_balance(TokenAccount::LEN)\",\n        \"The transfer will be skipped\"\n      ],\n      \"discriminator\": [\n        139,\n        52,\n        134,\n        85,\n        228,\n        229,\n        108,\n        241\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"wsol_mint\",\n          \"docs\": [\n            \"Pump Canonical Pool are quoted in wSOL\"\n          ]\n        },\n        {\n          \"name\": \"token_program\"\n        },\n        {\n          \"name\": \"system_program\",\n          \"address\": \"11111111111111111111111111111111\"\n        },\n        {\n          \"name\": \"associated_token_program\",\n          \"address\": \"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\"\n        },\n        {\n          \"name\": \"coin_creator\"\n        },\n        {\n          \"name\": \"coin_creator_vault_authority\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  99,\n                  114,\n                  101,\n                  97,\n                  116,\n                  111,\n                  114,\n                  95,\n                  118,\n                  97,\n                  117,\n                  108,\n                  116\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"coin_creator\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"coin_creator_vault_ata\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"account\",\n                \"path\": \"coin_creator_vault_authority\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"token_program\"\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"wsol_mint\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                140,\n                151,\n                37,\n                143,\n                78,\n                36,\n                137,\n                241,\n                187,\n                61,\n                16,\n                41,\n                20,\n                142,\n                13,\n                131,\n                11,\n                90,\n                19,\n                153,\n                218,\n                255,\n                16,\n                132,\n                4,\n                142,\n                123,\n                216,\n                219,\n                233,\n                248,\n                89\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"pump_creator_vault\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  99,\n                  114,\n                  101,\n                  97,\n                  116,\n                  111,\n                  114,\n                  45,\n                  118,\n                  97,\n                  117,\n                  108,\n                  116\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"coin_creator\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                1,\n                86,\n                224,\n                246,\n                147,\n                102,\n                90,\n                207,\n                68,\n                219,\n                21,\n                104,\n                191,\n                23,\n                91,\n                170,\n                81,\n                137,\n                203,\n                151,\n                245,\n                210,\n                255,\n                59,\n                101,\n                93,\n                43,\n                182,\n                253,\n                109,\n                24,\n                176\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": []\n    },\n    {\n      \"name\": \"update_admin\",\n      \"discriminator\": [\n        161,\n        176,\n        40,\n        213,\n        60,\n        184,\n        179,\n        228\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"admin\",\n          \"signer\": true,\n          \"relations\": [\n            \"global_config\"\n          ]\n        },\n        {\n          \"name\": \"global_config\",\n          \"writable\": true\n        },\n        {\n          \"name\": \"new_admin\"\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": []\n    },\n    {\n      \"name\": \"update_fee_config\",\n      \"discriminator\": [\n        104,\n        184,\n        103,\n        242,\n        88,\n        151,\n        107,\n        20\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"admin\",\n          \"signer\": true,\n          \"relations\": [\n            \"global_config\"\n          ]\n        },\n        {\n          \"name\": \"global_config\",\n          \"writable\": true\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": [\n        {\n          \"name\": \"lp_fee_basis_points\",\n          \"type\": \"u64\"\n        },\n        {\n          \"name\": \"protocol_fee_basis_points\",\n          \"type\": \"u64\"\n        },\n        {\n          \"name\": \"protocol_fee_recipients\",\n          \"type\": {\n            \"array\": [\n              \"pubkey\",\n              8\n            ]\n          }\n        },\n        {\n          \"name\": \"coin_creator_fee_basis_points\",\n          \"type\": \"u64\"\n        },\n        {\n          \"name\": \"admin_set_coin_creator_authority\",\n          \"type\": \"pubkey\"\n        }\n      ]\n    },\n    {\n      \"name\": \"withdraw\",\n      \"discriminator\": [\n        183,\n        18,\n        70,\n        156,\n        148,\n        109,\n        161,\n        34\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"pool\",\n          \"writable\": true\n        },\n        {\n          \"name\": \"global_config\"\n        },\n        {\n          \"name\": \"user\",\n          \"signer\": true\n        },\n        {\n          \"name\": \"base_mint\",\n          \"relations\": [\n            \"pool\"\n          ]\n        },\n        {\n          \"name\": \"quote_mint\",\n          \"relations\": [\n            \"pool\"\n          ]\n        },\n        {\n          \"name\": \"lp_mint\",\n          \"writable\": true,\n          \"relations\": [\n            \"pool\"\n          ]\n        },\n        {\n          \"name\": \"user_base_token_account\",\n          \"writable\": true\n        },\n        {\n          \"name\": \"user_quote_token_account\",\n          \"writable\": true\n        },\n        {\n          \"name\": \"user_pool_token_account\",\n          \"writable\": true\n        },\n        {\n          \"name\": \"pool_base_token_account\",\n          \"writable\": true,\n          \"relations\": [\n            \"pool\"\n          ]\n        },\n        {\n          \"name\": \"pool_quote_token_account\",\n          \"writable\": true,\n          \"relations\": [\n            \"pool\"\n          ]\n        },\n        {\n          \"name\": \"token_program\",\n          \"address\": \"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA\"\n        },\n        {\n          \"name\": \"token_2022_program\",\n          \"address\": \"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb\"\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": [\n        {\n          \"name\": \"lp_token_amount_in\",\n          \"type\": \"u64\"\n        },\n        {\n          \"name\": \"min_base_amount_out\",\n          \"type\": \"u64\"\n        },\n        {\n          \"name\": \"min_quote_amount_out\",\n          \"type\": \"u64\"\n        }\n      ]\n    }\n  ],\n  \"accounts\": [\n    {\n      \"name\": \"BondingCurve\",\n      \"discriminator\": [\n        23,\n        183,\n        248,\n        55,\n        96,\n        216,\n        172,\n        96\n      ]\n    },\n    {\n      \"name\": \"FeeConfig\",\n      \"discriminator\": [\n        143,\n        52,\n        146,\n        187,\n        219,\n        123,\n        76,\n        155\n      ]\n    },\n    {\n      \"name\": \"GlobalConfig\",\n      \"discriminator\": [\n        149,\n        8,\n        156,\n        202,\n        160,\n        252,\n        176,\n        217\n      ]\n    },\n    {\n      \"name\": \"GlobalVolumeAccumulator\",\n      \"discriminator\": [\n        202,\n        42,\n        246,\n        43,\n        142,\n        190,\n        30,\n        255\n      ]\n    },\n    {\n      \"name\": \"Pool\",\n      \"discriminator\": [\n        241,\n        154,\n        109,\n        4,\n        17,\n        177,\n        109,\n        188\n      ]\n    },\n    {\n      \"name\": \"SharingConfig\",\n      \"discriminator\": [\n        216,\n        74,\n        9,\n        0,\n        56,\n        140,\n        93,\n        75\n      ]\n    },\n    {\n      \"name\": \"UserVolumeAccumulator\",\n      \"discriminator\": [\n        86,\n        255,\n        112,\n        14,\n        102,\n        53,\n        154,\n        250\n      ]\n    }\n  ],\n  \"events\": [\n    {\n      \"name\": \"AdminSetCoinCreatorEvent\",\n      \"discriminator\": [\n        45,\n        220,\n        93,\n        24,\n        25,\n        97,\n        172,\n        104\n      ]\n    },\n    {\n      \"name\": \"AdminUpdateTokenIncentivesEvent\",\n      \"discriminator\": [\n        147,\n        250,\n        108,\n        120,\n        247,\n        29,\n        67,\n        222\n      ]\n    },\n    {\n      \"name\": \"BuyEvent\",\n      \"discriminator\": [\n        103,\n        244,\n        82,\n        31,\n        44,\n        245,\n        119,\n        119\n      ]\n    },\n    {\n      \"name\": \"ClaimCashbackEvent\",\n      \"discriminator\": [\n        226,\n        214,\n        246,\n        33,\n        7,\n        242,\n        147,\n        229\n      ]\n    },\n    {\n      \"name\": \"ClaimTokenIncentivesEvent\",\n      \"discriminator\": [\n        79,\n        172,\n        246,\n        49,\n        205,\n        91,\n        206,\n        232\n      ]\n    },\n    {\n      \"name\": \"CloseUserVolumeAccumulatorEvent\",\n      \"discriminator\": [\n        146,\n        159,\n        189,\n        172,\n        146,\n        88,\n        56,\n        244\n      ]\n    },\n    {\n      \"name\": \"CollectCoinCreatorFeeEvent\",\n      \"discriminator\": [\n        232,\n        245,\n        194,\n        238,\n        234,\n        218,\n        58,\n        89\n      ]\n    },\n    {\n      \"name\": \"CreateConfigEvent\",\n      \"discriminator\": [\n        107,\n        52,\n        89,\n        129,\n        55,\n        226,\n        81,\n        22\n      ]\n    },\n    {\n      \"name\": \"CreatePoolEvent\",\n      \"discriminator\": [\n        177,\n        49,\n        12,\n        210,\n        160,\n        118,\n        167,\n        116\n      ]\n    },\n    {\n      \"name\": \"DepositEvent\",\n      \"discriminator\": [\n        120,\n        248,\n        61,\n        83,\n        31,\n        142,\n        107,\n        144\n      ]\n    },\n    {\n      \"name\": \"DisableEvent\",\n      \"discriminator\": [\n        107,\n        253,\n        193,\n        76,\n        228,\n        202,\n        27,\n        104\n      ]\n    },\n    {\n      \"name\": \"ExtendAccountEvent\",\n      \"discriminator\": [\n        97,\n        97,\n        215,\n        144,\n        93,\n        146,\n        22,\n        124\n      ]\n    },\n    {\n      \"name\": \"InitUserVolumeAccumulatorEvent\",\n      \"discriminator\": [\n        134,\n        36,\n        13,\n        72,\n        232,\n        101,\n        130,\n        216\n      ]\n    },\n    {\n      \"name\": \"MigratePoolCoinCreatorEvent\",\n      \"discriminator\": [\n        170,\n        221,\n        82,\n        199,\n        147,\n        165,\n        247,\n        46\n      ]\n    },\n    {\n      \"name\": \"ReservedFeeRecipientsEvent\",\n      \"discriminator\": [\n        43,\n        188,\n        250,\n        18,\n        221,\n        75,\n        187,\n        95\n      ]\n    },\n    {\n      \"name\": \"SellEvent\",\n      \"discriminator\": [\n        62,\n        47,\n        55,\n        10,\n        165,\n        3,\n        220,\n        42\n      ]\n    },\n    {\n      \"name\": \"SetBondingCurveCoinCreatorEvent\",\n      \"discriminator\": [\n        242,\n        231,\n        235,\n        102,\n        65,\n        99,\n        189,\n        211\n      ]\n    },\n    {\n      \"name\": \"SetMetaplexCoinCreatorEvent\",\n      \"discriminator\": [\n        150,\n        107,\n        199,\n        123,\n        124,\n        207,\n        102,\n        228\n      ]\n    },\n    {\n      \"name\": \"SyncUserVolumeAccumulatorEvent\",\n      \"discriminator\": [\n        197,\n        122,\n        167,\n        124,\n        116,\n        81,\n        91,\n        255\n      ]\n    },\n    {\n      \"name\": \"UpdateAdminEvent\",\n      \"discriminator\": [\n        225,\n        152,\n        171,\n        87,\n        246,\n        63,\n        66,\n        234\n      ]\n    },\n    {\n      \"name\": \"UpdateFeeConfigEvent\",\n      \"discriminator\": [\n        90,\n        23,\n        65,\n        35,\n        62,\n        244,\n        188,\n        208\n      ]\n    },\n    {\n      \"name\": \"WithdrawEvent\",\n      \"discriminator\": [\n        22,\n        9,\n        133,\n        26,\n        160,\n        44,\n        71,\n        192\n      ]\n    }\n  ],\n  \"errors\": [\n    {\n      \"code\": 6000,\n      \"name\": \"FeeBasisPointsExceedsMaximum\"\n    },\n    {\n      \"code\": 6001,\n      \"name\": \"ZeroBaseAmount\"\n    },\n    {\n      \"code\": 6002,\n      \"name\": \"ZeroQuoteAmount\"\n    },\n    {\n      \"code\": 6003,\n      \"name\": \"TooLittlePoolTokenLiquidity\"\n    },\n    {\n      \"code\": 6004,\n      \"name\": \"ExceededSlippage\"\n    },\n    {\n      \"code\": 6005,\n      \"name\": \"InvalidAdmin\"\n    },\n    {\n      \"code\": 6006,\n      \"name\": \"UnsupportedBaseMint\"\n    },\n    {\n      \"code\": 6007,\n      \"name\": \"UnsupportedQuoteMint\"\n    },\n    {\n      \"code\": 6008,\n      \"name\": \"InvalidBaseMint\"\n    },\n    {\n      \"code\": 6009,\n      \"name\": \"InvalidQuoteMint\"\n    },\n    {\n      \"code\": 6010,\n      \"name\": \"InvalidLpMint\"\n    },\n    {\n      \"code\": 6011,\n      \"name\": \"AllProtocolFeeRecipientsShouldBeNonZero\"\n    },\n    {\n      \"code\": 6012,\n      \"name\": \"UnsortedNotUniqueProtocolFeeRecipients\"\n    },\n    {\n      \"code\": 6013,\n      \"name\": \"InvalidProtocolFeeRecipient\"\n    },\n    {\n      \"code\": 6014,\n      \"name\": \"InvalidPoolBaseTokenAccount\"\n    },\n    {\n      \"code\": 6015,\n      \"name\": \"InvalidPoolQuoteTokenAccount\"\n    },\n    {\n      \"code\": 6016,\n      \"name\": \"BuyMoreBaseAmountThanPoolReserves\"\n    },\n    {\n      \"code\": 6017,\n      \"name\": \"DisabledCreatePool\"\n    },\n    {\n      \"code\": 6018,\n      \"name\": \"DisabledDeposit\"\n    },\n    {\n      \"code\": 6019,\n      \"name\": \"DisabledWithdraw\"\n    },\n    {\n      \"code\": 6020,\n      \"name\": \"DisabledBuy\"\n    },\n    {\n      \"code\": 6021,\n      \"name\": \"DisabledSell\"\n    },\n    {\n      \"code\": 6022,\n      \"name\": \"SameMint\"\n    },\n    {\n      \"code\": 6023,\n      \"name\": \"Overflow\"\n    },\n    {\n      \"code\": 6024,\n      \"name\": \"Truncation\"\n    },\n    {\n      \"code\": 6025,\n      \"name\": \"DivisionByZero\"\n    },\n    {\n      \"code\": 6026,\n      \"name\": \"NewSizeLessThanCurrentSize\"\n    },\n    {\n      \"code\": 6027,\n      \"name\": \"AccountTypeNotSupported\"\n    },\n    {\n      \"code\": 6028,\n      \"name\": \"OnlyCanonicalPumpPoolsCanHaveCoinCreator\"\n    },\n    {\n      \"code\": 6029,\n      \"name\": \"InvalidAdminSetCoinCreatorAuthority\"\n    },\n    {\n      \"code\": 6030,\n      \"name\": \"StartTimeInThePast\"\n    },\n    {\n      \"code\": 6031,\n      \"name\": \"EndTimeInThePast\"\n    },\n    {\n      \"code\": 6032,\n      \"name\": \"EndTimeBeforeStartTime\"\n    },\n    {\n      \"code\": 6033,\n      \"name\": \"TimeRangeTooLarge\"\n    },\n    {\n      \"code\": 6034,\n      \"name\": \"EndTimeBeforeCurrentDay\"\n    },\n    {\n      \"code\": 6035,\n      \"name\": \"SupplyUpdateForFinishedRange\"\n    },\n    {\n      \"code\": 6036,\n      \"name\": \"DayIndexAfterEndIndex\"\n    },\n    {\n      \"code\": 6037,\n      \"name\": \"DayInActiveRange\"\n    },\n    {\n      \"code\": 6038,\n      \"name\": \"InvalidIncentiveMint\"\n    },\n    {\n      \"code\": 6039,\n      \"name\": \"BuyNotEnoughQuoteTokensToCoverFees\",\n      \"msg\": \"buy: Not enough quote tokens to cover for fees.\"\n    },\n    {\n      \"code\": 6040,\n      \"name\": \"BuySlippageBelowMinBaseAmountOut\",\n      \"msg\": \"buy: slippage - would buy less tokens than expected min_base_amount_out\"\n    },\n    {\n      \"code\": 6041,\n      \"name\": \"MayhemModeDisabled\"\n    },\n    {\n      \"code\": 6042,\n      \"name\": \"OnlyPumpPoolsMayhemMode\"\n    },\n    {\n      \"code\": 6043,\n      \"name\": \"MayhemModeInDesiredState\"\n    },\n    {\n      \"code\": 6044,\n      \"name\": \"NotEnoughRemainingAccounts\"\n    },\n    {\n      \"code\": 6045,\n      \"name\": \"InvalidSharingConfigBaseMint\"\n    },\n    {\n      \"code\": 6046,\n      \"name\": \"InvalidSharingConfigCoinCreator\"\n    },\n    {\n      \"code\": 6047,\n      \"name\": \"CoinCreatorMigratedToSharingConfig\",\n      \"msg\": \"coin creator has been migrated to sharing config, use pump_fees::reset_fee_sharing_config instead\"\n    },\n    {\n      \"code\": 6048,\n      \"name\": \"CreatorVaultMigratedToSharingConfig\",\n      \"msg\": \"creator_vault has been migrated to sharing config, use pump:distribute_creator_fees instead\"\n    },\n    {\n      \"code\": 6049,\n      \"name\": \"CashbackNotEnabled\",\n      \"msg\": \"Cashback is disabled\"\n    },\n    {\n      \"code\": 6050,\n      \"name\": \"OnlyPumpPoolsCashback\"\n    },\n    {\n      \"code\": 6051,\n      \"name\": \"CashbackNotInDesiredState\"\n    },\n    {\n      \"code\": 6052,\n      \"name\": \"CashbackEarnedDoesNotMatchTokenInVault\"\n    }\n  ],\n  \"types\": [\n    {\n      \"name\": \"AdminSetCoinCreatorEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"admin_set_coin_creator_authority\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"base_mint\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"pool\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"old_coin_creator\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"new_coin_creator\",\n            \"type\": \"pubkey\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"AdminUpdateTokenIncentivesEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"start_time\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"end_time\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"day_number\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"token_supply_per_day\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"mint\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"seconds_in_a_day\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"BondingCurve\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"virtual_token_reserves\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"virtual_sol_reserves\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"real_token_reserves\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"real_sol_reserves\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"token_total_supply\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"complete\",\n            \"type\": \"bool\"\n          },\n          {\n            \"name\": \"creator\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"is_mayhem_mode\",\n            \"type\": \"bool\"\n          },\n          {\n            \"name\": \"is_cashback_coin\",\n            \"type\": \"bool\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"BuyEvent\",\n      \"docs\": [\n        \"ix_name: \\\"buy\\\" | \\\"buy_exact_quote_in\\\"\"\n      ],\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"base_amount_out\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"max_quote_amount_in\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"user_base_token_reserves\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"user_quote_token_reserves\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"pool_base_token_reserves\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"pool_quote_token_reserves\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"quote_amount_in\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"lp_fee_basis_points\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"lp_fee\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"protocol_fee_basis_points\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"protocol_fee\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"quote_amount_in_with_lp_fee\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"user_quote_amount_in\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"pool\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"user\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"user_base_token_account\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"user_quote_token_account\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"protocol_fee_recipient\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"protocol_fee_recipient_token_account\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"coin_creator\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"coin_creator_fee_basis_points\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"coin_creator_fee\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"track_volume\",\n            \"type\": \"bool\"\n          },\n          {\n            \"name\": \"total_unclaimed_tokens\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"total_claimed_tokens\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"current_sol_volume\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"last_update_timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"min_base_amount_out\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"ix_name\",\n            \"type\": \"string\"\n          },\n          {\n            \"name\": \"cashback_fee_basis_points\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"cashback\",\n            \"type\": \"u64\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"ClaimCashbackEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"user\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"amount\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"total_claimed\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"total_cashback_earned\",\n            \"type\": \"u64\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"ClaimTokenIncentivesEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"user\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"mint\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"amount\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"total_claimed_tokens\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"current_sol_volume\",\n            \"type\": \"u64\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"CloseUserVolumeAccumulatorEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"user\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"total_unclaimed_tokens\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"total_claimed_tokens\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"current_sol_volume\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"last_update_timestamp\",\n            \"type\": \"i64\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"CollectCoinCreatorFeeEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"coin_creator\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"coin_creator_fee\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"coin_creator_vault_ata\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"coin_creator_token_account\",\n            \"type\": \"pubkey\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"ConfigStatus\",\n      \"type\": {\n        \"kind\": \"enum\",\n        \"variants\": [\n          {\n            \"name\": \"Paused\"\n          },\n          {\n            \"name\": \"Active\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"CreateConfigEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"admin\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"lp_fee_basis_points\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"protocol_fee_basis_points\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"protocol_fee_recipients\",\n            \"type\": {\n              \"array\": [\n                \"pubkey\",\n                8\n              ]\n            }\n          },\n          {\n            \"name\": \"coin_creator_fee_basis_points\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"admin_set_coin_creator_authority\",\n            \"type\": \"pubkey\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"CreatePoolEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"index\",\n            \"type\": \"u16\"\n          },\n          {\n            \"name\": \"creator\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"base_mint\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"quote_mint\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"base_mint_decimals\",\n            \"type\": \"u8\"\n          },\n          {\n            \"name\": \"quote_mint_decimals\",\n            \"type\": \"u8\"\n          },\n          {\n            \"name\": \"base_amount_in\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"quote_amount_in\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"pool_base_amount\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"pool_quote_amount\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"minimum_liquidity\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"initial_liquidity\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"lp_token_amount_out\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"pool_bump\",\n            \"type\": \"u8\"\n          },\n          {\n            \"name\": \"pool\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"lp_mint\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"user_base_token_account\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"user_quote_token_account\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"coin_creator\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"is_mayhem_mode\",\n            \"type\": \"bool\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"DepositEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"lp_token_amount_out\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"max_base_amount_in\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"max_quote_amount_in\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"user_base_token_reserves\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"user_quote_token_reserves\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"pool_base_token_reserves\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"pool_quote_token_reserves\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"base_amount_in\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"quote_amount_in\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"lp_mint_supply\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"pool\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"user\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"user_base_token_account\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"user_quote_token_account\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"user_pool_token_account\",\n            \"type\": \"pubkey\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"DisableEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"admin\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"disable_create_pool\",\n            \"type\": \"bool\"\n          },\n          {\n            \"name\": \"disable_deposit\",\n            \"type\": \"bool\"\n          },\n          {\n            \"name\": \"disable_withdraw\",\n            \"type\": \"bool\"\n          },\n          {\n            \"name\": \"disable_buy\",\n            \"type\": \"bool\"\n          },\n          {\n            \"name\": \"disable_sell\",\n            \"type\": \"bool\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"ExtendAccountEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"account\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"user\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"current_size\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"new_size\",\n            \"type\": \"u64\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"FeeConfig\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"bump\",\n            \"type\": \"u8\"\n          },\n          {\n            \"name\": \"admin\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"flat_fees\",\n            \"type\": {\n              \"defined\": {\n                \"name\": \"Fees\"\n              }\n            }\n          },\n          {\n            \"name\": \"fee_tiers\",\n            \"type\": {\n              \"vec\": {\n                \"defined\": {\n                  \"name\": \"FeeTier\"\n                }\n              }\n            }\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"FeeTier\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"market_cap_lamports_threshold\",\n            \"type\": \"u128\"\n          },\n          {\n            \"name\": \"fees\",\n            \"type\": {\n              \"defined\": {\n                \"name\": \"Fees\"\n              }\n            }\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"Fees\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"lp_fee_bps\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"protocol_fee_bps\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"creator_fee_bps\",\n            \"type\": \"u64\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"GlobalConfig\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"admin\",\n            \"docs\": [\n              \"The admin pubkey\"\n            ],\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"lp_fee_basis_points\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"protocol_fee_basis_points\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"disable_flags\",\n            \"docs\": [\n              \"Flags to disable certain functionality\",\n              \"bit 0 - Disable create pool\",\n              \"bit 1 - Disable deposit\",\n              \"bit 2 - Disable withdraw\",\n              \"bit 3 - Disable buy\",\n              \"bit 4 - Disable sell\"\n            ],\n            \"type\": \"u8\"\n          },\n          {\n            \"name\": \"protocol_fee_recipients\",\n            \"docs\": [\n              \"Addresses of the protocol fee recipients\"\n            ],\n            \"type\": {\n              \"array\": [\n                \"pubkey\",\n                8\n              ]\n            }\n          },\n          {\n            \"name\": \"coin_creator_fee_basis_points\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"admin_set_coin_creator_authority\",\n            \"docs\": [\n              \"The admin authority for setting coin creators\"\n            ],\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"whitelist_pda\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"reserved_fee_recipient\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"mayhem_mode_enabled\",\n            \"type\": \"bool\"\n          },\n          {\n            \"name\": \"reserved_fee_recipients\",\n            \"type\": {\n              \"array\": [\n                \"pubkey\",\n                7\n              ]\n            }\n          },\n          {\n            \"name\": \"is_cashback_enabled\",\n            \"type\": \"bool\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"GlobalVolumeAccumulator\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"start_time\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"end_time\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"seconds_in_a_day\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"mint\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"total_token_supply\",\n            \"type\": {\n              \"array\": [\n                \"u64\",\n                30\n              ]\n            }\n          },\n          {\n            \"name\": \"sol_volumes\",\n            \"type\": {\n              \"array\": [\n                \"u64\",\n                30\n              ]\n            }\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"InitUserVolumeAccumulatorEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"payer\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"user\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"MigratePoolCoinCreatorEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"base_mint\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"pool\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"sharing_config\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"old_coin_creator\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"new_coin_creator\",\n            \"type\": \"pubkey\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"OptionBool\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          \"bool\"\n        ]\n      }\n    },\n    {\n      \"name\": \"Pool\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"pool_bump\",\n            \"type\": \"u8\"\n          },\n          {\n            \"name\": \"index\",\n            \"type\": \"u16\"\n          },\n          {\n            \"name\": \"creator\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"base_mint\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"quote_mint\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"lp_mint\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"pool_base_token_account\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"pool_quote_token_account\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"lp_supply\",\n            \"docs\": [\n              \"True circulating supply without burns and lock-ups\"\n            ],\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"coin_creator\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"is_mayhem_mode\",\n            \"type\": \"bool\"\n          },\n          {\n            \"name\": \"is_cashback_coin\",\n            \"type\": \"bool\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"ReservedFeeRecipientsEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"reserved_fee_recipient\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"reserved_fee_recipients\",\n            \"type\": {\n              \"array\": [\n                \"pubkey\",\n                7\n              ]\n            }\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"SellEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"base_amount_in\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"min_quote_amount_out\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"user_base_token_reserves\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"user_quote_token_reserves\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"pool_base_token_reserves\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"pool_quote_token_reserves\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"quote_amount_out\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"lp_fee_basis_points\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"lp_fee\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"protocol_fee_basis_points\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"protocol_fee\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"quote_amount_out_without_lp_fee\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"user_quote_amount_out\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"pool\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"user\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"user_base_token_account\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"user_quote_token_account\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"protocol_fee_recipient\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"protocol_fee_recipient_token_account\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"coin_creator\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"coin_creator_fee_basis_points\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"coin_creator_fee\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"cashback_fee_basis_points\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"cashback\",\n            \"type\": \"u64\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"SetBondingCurveCoinCreatorEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"base_mint\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"pool\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"bonding_curve\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"coin_creator\",\n            \"type\": \"pubkey\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"SetMetaplexCoinCreatorEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"base_mint\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"pool\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"metadata\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"coin_creator\",\n            \"type\": \"pubkey\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"Shareholder\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"address\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"share_bps\",\n            \"type\": \"u16\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"SharingConfig\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"bump\",\n            \"type\": \"u8\"\n          },\n          {\n            \"name\": \"version\",\n            \"type\": \"u8\"\n          },\n          {\n            \"name\": \"status\",\n            \"type\": {\n              \"defined\": {\n                \"name\": \"ConfigStatus\"\n              }\n            }\n          },\n          {\n            \"name\": \"mint\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"admin\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"admin_revoked\",\n            \"type\": \"bool\"\n          },\n          {\n            \"name\": \"shareholders\",\n            \"type\": {\n              \"vec\": {\n                \"defined\": {\n                  \"name\": \"Shareholder\"\n                }\n              }\n            }\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"SyncUserVolumeAccumulatorEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"user\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"total_claimed_tokens_before\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"total_claimed_tokens_after\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"UpdateAdminEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"admin\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"new_admin\",\n            \"type\": \"pubkey\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"UpdateFeeConfigEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"admin\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"lp_fee_basis_points\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"protocol_fee_basis_points\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"protocol_fee_recipients\",\n            \"type\": {\n              \"array\": [\n                \"pubkey\",\n                8\n              ]\n            }\n          },\n          {\n            \"name\": \"coin_creator_fee_basis_points\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"admin_set_coin_creator_authority\",\n            \"type\": \"pubkey\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"UserVolumeAccumulator\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"user\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"needs_claim\",\n            \"type\": \"bool\"\n          },\n          {\n            \"name\": \"total_unclaimed_tokens\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"total_claimed_tokens\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"current_sol_volume\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"last_update_timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"has_total_claimed_tokens\",\n            \"type\": \"bool\"\n          },\n          {\n            \"name\": \"cashback_earned\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"total_cashback_claimed\",\n            \"type\": \"u64\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"WithdrawEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"lp_token_amount_in\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"min_base_amount_out\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"min_quote_amount_out\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"user_base_token_reserves\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"user_quote_token_reserves\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"pool_base_token_reserves\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"pool_quote_token_reserves\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"base_amount_out\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"quote_amount_out\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"lp_mint_supply\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"pool\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"user\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"user_base_token_account\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"user_quote_token_account\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"user_pool_token_account\",\n            \"type\": \"pubkey\"\n          }\n        ]\n      }\n    }\n  ]\n}"
  },
  {
    "path": "idl/pump_amm.ts",
    "content": "/**\n * Program IDL in camelCase format in order to be used in JS/TS.\n *\n * Note that this is only a type helper and is not the actual IDL. The original\n * IDL can be found at `target/idl/pump_amm.json`.\n */\nexport interface PumpAmm {\n  address: \"pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA\";\n  metadata: {\n    name: \"pumpAmm\";\n    version: \"0.1.0\";\n    spec: \"0.1.0\";\n    description: \"Created with Anchor\";\n  };\n  instructions: [\n    {\n      name: \"adminSetCoinCreator\";\n      docs: [\"Overrides the coin creator for a canonical pump pool\"];\n      discriminator: [242, 40, 117, 145, 73, 96, 105, 104];\n      accounts: [\n        {\n          name: \"adminSetCoinCreatorAuthority\";\n          signer: true;\n          relations: [\"globalConfig\"];\n        },\n        {\n          name: \"globalConfig\";\n        },\n        {\n          name: \"pool\";\n          writable: true;\n        },\n        {\n          name: \"eventAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"program\";\n        },\n      ];\n      args: [\n        {\n          name: \"coinCreator\";\n          type: \"pubkey\";\n        },\n      ];\n    },\n    {\n      name: \"adminUpdateTokenIncentives\";\n      discriminator: [209, 11, 115, 87, 213, 23, 124, 204];\n      accounts: [\n        {\n          name: \"admin\";\n          writable: true;\n          signer: true;\n          relations: [\"globalConfig\"];\n        },\n        {\n          name: \"globalConfig\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108,\n                  95,\n                  99,\n                  111,\n                  110,\n                  102,\n                  105,\n                  103,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"globalVolumeAccumulator\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108,\n                  95,\n                  118,\n                  111,\n                  108,\n                  117,\n                  109,\n                  101,\n                  95,\n                  97,\n                  99,\n                  99,\n                  117,\n                  109,\n                  117,\n                  108,\n                  97,\n                  116,\n                  111,\n                  114,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"mint\";\n        },\n        {\n          name: \"globalIncentiveTokenAccount\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"account\";\n                path: \"globalVolumeAccumulator\";\n              },\n              {\n                kind: \"account\";\n                path: \"tokenProgram\";\n              },\n              {\n                kind: \"account\";\n                path: \"mint\";\n              },\n            ];\n            program: {\n              kind: \"const\";\n              value: [\n                140,\n                151,\n                37,\n                143,\n                78,\n                36,\n                137,\n                241,\n                187,\n                61,\n                16,\n                41,\n                20,\n                142,\n                13,\n                131,\n                11,\n                90,\n                19,\n                153,\n                218,\n                255,\n                16,\n                132,\n                4,\n                142,\n                123,\n                216,\n                219,\n                233,\n                248,\n                89,\n              ];\n            };\n          };\n        },\n        {\n          name: \"associatedTokenProgram\";\n          address: \"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\";\n        },\n        {\n          name: \"systemProgram\";\n          address: \"11111111111111111111111111111111\";\n        },\n        {\n          name: \"tokenProgram\";\n        },\n        {\n          name: \"eventAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"program\";\n        },\n      ];\n      args: [\n        {\n          name: \"startTime\";\n          type: \"i64\";\n        },\n        {\n          name: \"endTime\";\n          type: \"i64\";\n        },\n        {\n          name: \"secondsInADay\";\n          type: \"i64\";\n        },\n        {\n          name: \"dayNumber\";\n          type: \"u64\";\n        },\n        {\n          name: \"tokenSupplyPerDay\";\n          type: \"u64\";\n        },\n      ];\n    },\n    {\n      name: \"buy\";\n      docs: [\n        \"For cashback coins, optionally pass user_volume_accumulator_wsol_ata as remaining_accounts[0].\",\n        \"If provided and valid, the ATA will be initialized if needed.\",\n      ];\n      discriminator: [102, 6, 61, 18, 1, 218, 235, 234];\n      accounts: [\n        {\n          name: \"pool\";\n          writable: true;\n        },\n        {\n          name: \"user\";\n          writable: true;\n          signer: true;\n        },\n        {\n          name: \"globalConfig\";\n        },\n        {\n          name: \"baseMint\";\n          relations: [\"pool\"];\n        },\n        {\n          name: \"quoteMint\";\n          relations: [\"pool\"];\n        },\n        {\n          name: \"userBaseTokenAccount\";\n          writable: true;\n        },\n        {\n          name: \"userQuoteTokenAccount\";\n          writable: true;\n        },\n        {\n          name: \"poolBaseTokenAccount\";\n          writable: true;\n          relations: [\"pool\"];\n        },\n        {\n          name: \"poolQuoteTokenAccount\";\n          writable: true;\n          relations: [\"pool\"];\n        },\n        {\n          name: \"protocolFeeRecipient\";\n        },\n        {\n          name: \"protocolFeeRecipientTokenAccount\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"account\";\n                path: \"protocolFeeRecipient\";\n              },\n              {\n                kind: \"account\";\n                path: \"quoteTokenProgram\";\n              },\n              {\n                kind: \"account\";\n                path: \"quoteMint\";\n              },\n            ];\n            program: {\n              kind: \"const\";\n              value: [\n                140,\n                151,\n                37,\n                143,\n                78,\n                36,\n                137,\n                241,\n                187,\n                61,\n                16,\n                41,\n                20,\n                142,\n                13,\n                131,\n                11,\n                90,\n                19,\n                153,\n                218,\n                255,\n                16,\n                132,\n                4,\n                142,\n                123,\n                216,\n                219,\n                233,\n                248,\n                89,\n              ];\n            };\n          };\n        },\n        {\n          name: \"baseTokenProgram\";\n        },\n        {\n          name: \"quoteTokenProgram\";\n        },\n        {\n          name: \"systemProgram\";\n          address: \"11111111111111111111111111111111\";\n        },\n        {\n          name: \"associatedTokenProgram\";\n          address: \"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\";\n        },\n        {\n          name: \"eventAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"program\";\n          address: \"pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA\";\n        },\n        {\n          name: \"coinCreatorVaultAta\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"account\";\n                path: \"coinCreatorVaultAuthority\";\n              },\n              {\n                kind: \"account\";\n                path: \"quoteTokenProgram\";\n              },\n              {\n                kind: \"account\";\n                path: \"quoteMint\";\n              },\n            ];\n            program: {\n              kind: \"const\";\n              value: [\n                140,\n                151,\n                37,\n                143,\n                78,\n                36,\n                137,\n                241,\n                187,\n                61,\n                16,\n                41,\n                20,\n                142,\n                13,\n                131,\n                11,\n                90,\n                19,\n                153,\n                218,\n                255,\n                16,\n                132,\n                4,\n                142,\n                123,\n                216,\n                219,\n                233,\n                248,\n                89,\n              ];\n            };\n          };\n        },\n        {\n          name: \"coinCreatorVaultAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  99,\n                  114,\n                  101,\n                  97,\n                  116,\n                  111,\n                  114,\n                  95,\n                  118,\n                  97,\n                  117,\n                  108,\n                  116,\n                ];\n              },\n              {\n                kind: \"account\";\n                path: \"pool.coin_creator\";\n                account: \"pool\";\n              },\n            ];\n          };\n        },\n        {\n          name: \"globalVolumeAccumulator\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108,\n                  95,\n                  118,\n                  111,\n                  108,\n                  117,\n                  109,\n                  101,\n                  95,\n                  97,\n                  99,\n                  99,\n                  117,\n                  109,\n                  117,\n                  108,\n                  97,\n                  116,\n                  111,\n                  114,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"userVolumeAccumulator\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  117,\n                  115,\n                  101,\n                  114,\n                  95,\n                  118,\n                  111,\n                  108,\n                  117,\n                  109,\n                  101,\n                  95,\n                  97,\n                  99,\n                  99,\n                  117,\n                  109,\n                  117,\n                  108,\n                  97,\n                  116,\n                  111,\n                  114,\n                ];\n              },\n              {\n                kind: \"account\";\n                path: \"user\";\n              },\n            ];\n          };\n        },\n        {\n          name: \"feeConfig\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [102, 101, 101, 95, 99, 111, 110, 102, 105, 103];\n              },\n              {\n                kind: \"const\";\n                value: [\n                  12,\n                  20,\n                  222,\n                  252,\n                  130,\n                  94,\n                  198,\n                  118,\n                  148,\n                  37,\n                  8,\n                  24,\n                  187,\n                  101,\n                  64,\n                  101,\n                  244,\n                  41,\n                  141,\n                  49,\n                  86,\n                  213,\n                  113,\n                  180,\n                  212,\n                  248,\n                  9,\n                  12,\n                  24,\n                  233,\n                  168,\n                  99,\n                ];\n              },\n            ];\n            program: {\n              kind: \"account\";\n              path: \"feeProgram\";\n            };\n          };\n        },\n        {\n          name: \"feeProgram\";\n          address: \"pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ\";\n        },\n      ];\n      args: [\n        {\n          name: \"baseAmountOut\";\n          type: \"u64\";\n        },\n        {\n          name: \"maxQuoteAmountIn\";\n          type: \"u64\";\n        },\n        {\n          name: \"trackVolume\";\n          type: {\n            defined: {\n              name: \"optionBool\";\n            };\n          };\n        },\n      ];\n    },\n    {\n      name: \"buyExactQuoteIn\";\n      docs: [\n        \"Given a budget of spendable_quote_in, buy at least min_base_amount_out\",\n        \"Fees will be deducted from spendable_quote_in\",\n        \"\",\n        \"f(quote) = tokens, where tokens >= min_base_amount_out\",\n        \"\",\n        \"Make sure the payer has enough SOL to cover creation of the following accounts (unless already created):\",\n        \"- protocol_fee_recipient_token_account: rent.minimum_balance(TokenAccount::LEN)\",\n        \"- coin_creator_vault_ata: rent.minimum_balance(TokenAccount::LEN)\",\n        \"- user_volume_accumulator: rent.minimum_balance(UserVolumeAccumulator::LEN)\",\n        \"\",\n        \"For cashback coins, optionally pass user_volume_accumulator_wsol_ata as remaining_accounts[0].\",\n        \"If provided and valid, the ATA will be initialized if needed.\",\n      ];\n      discriminator: [198, 46, 21, 82, 180, 217, 232, 112];\n      accounts: [\n        {\n          name: \"pool\";\n          writable: true;\n        },\n        {\n          name: \"user\";\n          writable: true;\n          signer: true;\n        },\n        {\n          name: \"globalConfig\";\n        },\n        {\n          name: \"baseMint\";\n          relations: [\"pool\"];\n        },\n        {\n          name: \"quoteMint\";\n          relations: [\"pool\"];\n        },\n        {\n          name: \"userBaseTokenAccount\";\n          writable: true;\n        },\n        {\n          name: \"userQuoteTokenAccount\";\n          writable: true;\n        },\n        {\n          name: \"poolBaseTokenAccount\";\n          writable: true;\n          relations: [\"pool\"];\n        },\n        {\n          name: \"poolQuoteTokenAccount\";\n          writable: true;\n          relations: [\"pool\"];\n        },\n        {\n          name: \"protocolFeeRecipient\";\n        },\n        {\n          name: \"protocolFeeRecipientTokenAccount\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"account\";\n                path: \"protocolFeeRecipient\";\n              },\n              {\n                kind: \"account\";\n                path: \"quoteTokenProgram\";\n              },\n              {\n                kind: \"account\";\n                path: \"quoteMint\";\n              },\n            ];\n            program: {\n              kind: \"const\";\n              value: [\n                140,\n                151,\n                37,\n                143,\n                78,\n                36,\n                137,\n                241,\n                187,\n                61,\n                16,\n                41,\n                20,\n                142,\n                13,\n                131,\n                11,\n                90,\n                19,\n                153,\n                218,\n                255,\n                16,\n                132,\n                4,\n                142,\n                123,\n                216,\n                219,\n                233,\n                248,\n                89,\n              ];\n            };\n          };\n        },\n        {\n          name: \"baseTokenProgram\";\n        },\n        {\n          name: \"quoteTokenProgram\";\n        },\n        {\n          name: \"systemProgram\";\n          address: \"11111111111111111111111111111111\";\n        },\n        {\n          name: \"associatedTokenProgram\";\n          address: \"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\";\n        },\n        {\n          name: \"eventAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"program\";\n          address: \"pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA\";\n        },\n        {\n          name: \"coinCreatorVaultAta\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"account\";\n                path: \"coinCreatorVaultAuthority\";\n              },\n              {\n                kind: \"account\";\n                path: \"quoteTokenProgram\";\n              },\n              {\n                kind: \"account\";\n                path: \"quoteMint\";\n              },\n            ];\n            program: {\n              kind: \"const\";\n              value: [\n                140,\n                151,\n                37,\n                143,\n                78,\n                36,\n                137,\n                241,\n                187,\n                61,\n                16,\n                41,\n                20,\n                142,\n                13,\n                131,\n                11,\n                90,\n                19,\n                153,\n                218,\n                255,\n                16,\n                132,\n                4,\n                142,\n                123,\n                216,\n                219,\n                233,\n                248,\n                89,\n              ];\n            };\n          };\n        },\n        {\n          name: \"coinCreatorVaultAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  99,\n                  114,\n                  101,\n                  97,\n                  116,\n                  111,\n                  114,\n                  95,\n                  118,\n                  97,\n                  117,\n                  108,\n                  116,\n                ];\n              },\n              {\n                kind: \"account\";\n                path: \"pool.coin_creator\";\n                account: \"pool\";\n              },\n            ];\n          };\n        },\n        {\n          name: \"globalVolumeAccumulator\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108,\n                  95,\n                  118,\n                  111,\n                  108,\n                  117,\n                  109,\n                  101,\n                  95,\n                  97,\n                  99,\n                  99,\n                  117,\n                  109,\n                  117,\n                  108,\n                  97,\n                  116,\n                  111,\n                  114,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"userVolumeAccumulator\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  117,\n                  115,\n                  101,\n                  114,\n                  95,\n                  118,\n                  111,\n                  108,\n                  117,\n                  109,\n                  101,\n                  95,\n                  97,\n                  99,\n                  99,\n                  117,\n                  109,\n                  117,\n                  108,\n                  97,\n                  116,\n                  111,\n                  114,\n                ];\n              },\n              {\n                kind: \"account\";\n                path: \"user\";\n              },\n            ];\n          };\n        },\n        {\n          name: \"feeConfig\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [102, 101, 101, 95, 99, 111, 110, 102, 105, 103];\n              },\n              {\n                kind: \"const\";\n                value: [\n                  12,\n                  20,\n                  222,\n                  252,\n                  130,\n                  94,\n                  198,\n                  118,\n                  148,\n                  37,\n                  8,\n                  24,\n                  187,\n                  101,\n                  64,\n                  101,\n                  244,\n                  41,\n                  141,\n                  49,\n                  86,\n                  213,\n                  113,\n                  180,\n                  212,\n                  248,\n                  9,\n                  12,\n                  24,\n                  233,\n                  168,\n                  99,\n                ];\n              },\n            ];\n            program: {\n              kind: \"account\";\n              path: \"feeProgram\";\n            };\n          };\n        },\n        {\n          name: \"feeProgram\";\n          address: \"pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ\";\n        },\n      ];\n      args: [\n        {\n          name: \"spendableQuoteIn\";\n          type: \"u64\";\n        },\n        {\n          name: \"minBaseAmountOut\";\n          type: \"u64\";\n        },\n        {\n          name: \"trackVolume\";\n          type: {\n            defined: {\n              name: \"optionBool\";\n            };\n          };\n        },\n      ];\n    },\n    {\n      name: \"claimCashback\";\n      discriminator: [37, 58, 35, 126, 190, 53, 228, 197];\n      accounts: [\n        {\n          name: \"user\";\n          writable: true;\n        },\n        {\n          name: \"userVolumeAccumulator\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  117,\n                  115,\n                  101,\n                  114,\n                  95,\n                  118,\n                  111,\n                  108,\n                  117,\n                  109,\n                  101,\n                  95,\n                  97,\n                  99,\n                  99,\n                  117,\n                  109,\n                  117,\n                  108,\n                  97,\n                  116,\n                  111,\n                  114,\n                ];\n              },\n              {\n                kind: \"account\";\n                path: \"user\";\n              },\n            ];\n          };\n        },\n        {\n          name: \"quoteMint\";\n        },\n        {\n          name: \"quoteTokenProgram\";\n        },\n        {\n          name: \"userVolumeAccumulatorWsolTokenAccount\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"account\";\n                path: \"userVolumeAccumulator\";\n              },\n              {\n                kind: \"account\";\n                path: \"quoteTokenProgram\";\n              },\n              {\n                kind: \"account\";\n                path: \"quoteMint\";\n              },\n            ];\n            program: {\n              kind: \"const\";\n              value: [\n                140,\n                151,\n                37,\n                143,\n                78,\n                36,\n                137,\n                241,\n                187,\n                61,\n                16,\n                41,\n                20,\n                142,\n                13,\n                131,\n                11,\n                90,\n                19,\n                153,\n                218,\n                255,\n                16,\n                132,\n                4,\n                142,\n                123,\n                216,\n                219,\n                233,\n                248,\n                89,\n              ];\n            };\n          };\n        },\n        {\n          name: \"userWsolTokenAccount\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"account\";\n                path: \"user\";\n              },\n              {\n                kind: \"account\";\n                path: \"quoteTokenProgram\";\n              },\n              {\n                kind: \"account\";\n                path: \"quoteMint\";\n              },\n            ];\n            program: {\n              kind: \"const\";\n              value: [\n                140,\n                151,\n                37,\n                143,\n                78,\n                36,\n                137,\n                241,\n                187,\n                61,\n                16,\n                41,\n                20,\n                142,\n                13,\n                131,\n                11,\n                90,\n                19,\n                153,\n                218,\n                255,\n                16,\n                132,\n                4,\n                142,\n                123,\n                216,\n                219,\n                233,\n                248,\n                89,\n              ];\n            };\n          };\n        },\n        {\n          name: \"systemProgram\";\n          address: \"11111111111111111111111111111111\";\n        },\n        {\n          name: \"eventAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"program\";\n          address: \"pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA\";\n        },\n      ];\n      args: [];\n    },\n    {\n      name: \"claimTokenIncentives\";\n      discriminator: [16, 4, 71, 28, 204, 1, 40, 27];\n      accounts: [\n        {\n          name: \"user\";\n        },\n        {\n          name: \"userAta\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"account\";\n                path: \"user\";\n              },\n              {\n                kind: \"account\";\n                path: \"tokenProgram\";\n              },\n              {\n                kind: \"account\";\n                path: \"mint\";\n              },\n            ];\n            program: {\n              kind: \"const\";\n              value: [\n                140,\n                151,\n                37,\n                143,\n                78,\n                36,\n                137,\n                241,\n                187,\n                61,\n                16,\n                41,\n                20,\n                142,\n                13,\n                131,\n                11,\n                90,\n                19,\n                153,\n                218,\n                255,\n                16,\n                132,\n                4,\n                142,\n                123,\n                216,\n                219,\n                233,\n                248,\n                89,\n              ];\n            };\n          };\n        },\n        {\n          name: \"globalVolumeAccumulator\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108,\n                  95,\n                  118,\n                  111,\n                  108,\n                  117,\n                  109,\n                  101,\n                  95,\n                  97,\n                  99,\n                  99,\n                  117,\n                  109,\n                  117,\n                  108,\n                  97,\n                  116,\n                  111,\n                  114,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"globalIncentiveTokenAccount\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"account\";\n                path: \"globalVolumeAccumulator\";\n              },\n              {\n                kind: \"account\";\n                path: \"tokenProgram\";\n              },\n              {\n                kind: \"account\";\n                path: \"mint\";\n              },\n            ];\n            program: {\n              kind: \"const\";\n              value: [\n                140,\n                151,\n                37,\n                143,\n                78,\n                36,\n                137,\n                241,\n                187,\n                61,\n                16,\n                41,\n                20,\n                142,\n                13,\n                131,\n                11,\n                90,\n                19,\n                153,\n                218,\n                255,\n                16,\n                132,\n                4,\n                142,\n                123,\n                216,\n                219,\n                233,\n                248,\n                89,\n              ];\n            };\n          };\n        },\n        {\n          name: \"userVolumeAccumulator\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  117,\n                  115,\n                  101,\n                  114,\n                  95,\n                  118,\n                  111,\n                  108,\n                  117,\n                  109,\n                  101,\n                  95,\n                  97,\n                  99,\n                  99,\n                  117,\n                  109,\n                  117,\n                  108,\n                  97,\n                  116,\n                  111,\n                  114,\n                ];\n              },\n              {\n                kind: \"account\";\n                path: \"user\";\n              },\n            ];\n          };\n        },\n        {\n          name: \"mint\";\n          relations: [\"globalVolumeAccumulator\"];\n        },\n        {\n          name: \"tokenProgram\";\n        },\n        {\n          name: \"systemProgram\";\n          address: \"11111111111111111111111111111111\";\n        },\n        {\n          name: \"associatedTokenProgram\";\n          address: \"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\";\n        },\n        {\n          name: \"eventAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"program\";\n          address: \"pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA\";\n        },\n        {\n          name: \"payer\";\n          writable: true;\n          signer: true;\n        },\n      ];\n      args: [];\n    },\n    {\n      name: \"closeUserVolumeAccumulator\";\n      discriminator: [249, 69, 164, 218, 150, 103, 84, 138];\n      accounts: [\n        {\n          name: \"user\";\n          writable: true;\n          signer: true;\n        },\n        {\n          name: \"userVolumeAccumulator\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  117,\n                  115,\n                  101,\n                  114,\n                  95,\n                  118,\n                  111,\n                  108,\n                  117,\n                  109,\n                  101,\n                  95,\n                  97,\n                  99,\n                  99,\n                  117,\n                  109,\n                  117,\n                  108,\n                  97,\n                  116,\n                  111,\n                  114,\n                ];\n              },\n              {\n                kind: \"account\";\n                path: \"user\";\n              },\n            ];\n          };\n        },\n        {\n          name: \"eventAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"program\";\n        },\n      ];\n      args: [];\n    },\n    {\n      name: \"collectCoinCreatorFee\";\n      discriminator: [160, 57, 89, 42, 181, 139, 43, 66];\n      accounts: [\n        {\n          name: \"quoteMint\";\n        },\n        {\n          name: \"quoteTokenProgram\";\n        },\n        {\n          name: \"coinCreator\";\n        },\n        {\n          name: \"coinCreatorVaultAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  99,\n                  114,\n                  101,\n                  97,\n                  116,\n                  111,\n                  114,\n                  95,\n                  118,\n                  97,\n                  117,\n                  108,\n                  116,\n                ];\n              },\n              {\n                kind: \"account\";\n                path: \"coinCreator\";\n              },\n            ];\n          };\n        },\n        {\n          name: \"coinCreatorVaultAta\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"account\";\n                path: \"coinCreatorVaultAuthority\";\n              },\n              {\n                kind: \"account\";\n                path: \"quoteTokenProgram\";\n              },\n              {\n                kind: \"account\";\n                path: \"quoteMint\";\n              },\n            ];\n            program: {\n              kind: \"const\";\n              value: [\n                140,\n                151,\n                37,\n                143,\n                78,\n                36,\n                137,\n                241,\n                187,\n                61,\n                16,\n                41,\n                20,\n                142,\n                13,\n                131,\n                11,\n                90,\n                19,\n                153,\n                218,\n                255,\n                16,\n                132,\n                4,\n                142,\n                123,\n                216,\n                219,\n                233,\n                248,\n                89,\n              ];\n            };\n          };\n        },\n        {\n          name: \"coinCreatorTokenAccount\";\n          writable: true;\n        },\n        {\n          name: \"eventAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"program\";\n        },\n      ];\n      args: [];\n    },\n    {\n      name: \"createConfig\";\n      discriminator: [201, 207, 243, 114, 75, 111, 47, 189];\n      accounts: [\n        {\n          name: \"admin\";\n          writable: true;\n          signer: true;\n          address: \"8LWu7QM2dGR1G8nKDHthckea57bkCzXyBTAKPJUBDHo8\";\n        },\n        {\n          name: \"globalConfig\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108,\n                  95,\n                  99,\n                  111,\n                  110,\n                  102,\n                  105,\n                  103,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"systemProgram\";\n          address: \"11111111111111111111111111111111\";\n        },\n        {\n          name: \"eventAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"program\";\n        },\n      ];\n      args: [\n        {\n          name: \"lpFeeBasisPoints\";\n          type: \"u64\";\n        },\n        {\n          name: \"protocolFeeBasisPoints\";\n          type: \"u64\";\n        },\n        {\n          name: \"protocolFeeRecipients\";\n          type: {\n            array: [\"pubkey\", 8];\n          };\n        },\n        {\n          name: \"coinCreatorFeeBasisPoints\";\n          type: \"u64\";\n        },\n        {\n          name: \"adminSetCoinCreatorAuthority\";\n          type: \"pubkey\";\n        },\n      ];\n    },\n    {\n      name: \"createPool\";\n      discriminator: [233, 146, 209, 142, 207, 104, 64, 188];\n      accounts: [\n        {\n          name: \"pool\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [112, 111, 111, 108];\n              },\n              {\n                kind: \"arg\";\n                path: \"index\";\n              },\n              {\n                kind: \"account\";\n                path: \"creator\";\n              },\n              {\n                kind: \"account\";\n                path: \"baseMint\";\n              },\n              {\n                kind: \"account\";\n                path: \"quoteMint\";\n              },\n            ];\n          };\n        },\n        {\n          name: \"globalConfig\";\n        },\n        {\n          name: \"creator\";\n          writable: true;\n          signer: true;\n        },\n        {\n          name: \"baseMint\";\n        },\n        {\n          name: \"quoteMint\";\n        },\n        {\n          name: \"lpMint\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  112,\n                  111,\n                  111,\n                  108,\n                  95,\n                  108,\n                  112,\n                  95,\n                  109,\n                  105,\n                  110,\n                  116,\n                ];\n              },\n              {\n                kind: \"account\";\n                path: \"pool\";\n              },\n            ];\n          };\n        },\n        {\n          name: \"userBaseTokenAccount\";\n          writable: true;\n        },\n        {\n          name: \"userQuoteTokenAccount\";\n          writable: true;\n        },\n        {\n          name: \"userPoolTokenAccount\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"account\";\n                path: \"creator\";\n              },\n              {\n                kind: \"account\";\n                path: \"token2022Program\";\n              },\n              {\n                kind: \"account\";\n                path: \"lpMint\";\n              },\n            ];\n            program: {\n              kind: \"const\";\n              value: [\n                140,\n                151,\n                37,\n                143,\n                78,\n                36,\n                137,\n                241,\n                187,\n                61,\n                16,\n                41,\n                20,\n                142,\n                13,\n                131,\n                11,\n                90,\n                19,\n                153,\n                218,\n                255,\n                16,\n                132,\n                4,\n                142,\n                123,\n                216,\n                219,\n                233,\n                248,\n                89,\n              ];\n            };\n          };\n        },\n        {\n          name: \"poolBaseTokenAccount\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"account\";\n                path: \"pool\";\n              },\n              {\n                kind: \"account\";\n                path: \"baseTokenProgram\";\n              },\n              {\n                kind: \"account\";\n                path: \"baseMint\";\n              },\n            ];\n            program: {\n              kind: \"const\";\n              value: [\n                140,\n                151,\n                37,\n                143,\n                78,\n                36,\n                137,\n                241,\n                187,\n                61,\n                16,\n                41,\n                20,\n                142,\n                13,\n                131,\n                11,\n                90,\n                19,\n                153,\n                218,\n                255,\n                16,\n                132,\n                4,\n                142,\n                123,\n                216,\n                219,\n                233,\n                248,\n                89,\n              ];\n            };\n          };\n        },\n        {\n          name: \"poolQuoteTokenAccount\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"account\";\n                path: \"pool\";\n              },\n              {\n                kind: \"account\";\n                path: \"quoteTokenProgram\";\n              },\n              {\n                kind: \"account\";\n                path: \"quoteMint\";\n              },\n            ];\n            program: {\n              kind: \"const\";\n              value: [\n                140,\n                151,\n                37,\n                143,\n                78,\n                36,\n                137,\n                241,\n                187,\n                61,\n                16,\n                41,\n                20,\n                142,\n                13,\n                131,\n                11,\n                90,\n                19,\n                153,\n                218,\n                255,\n                16,\n                132,\n                4,\n                142,\n                123,\n                216,\n                219,\n                233,\n                248,\n                89,\n              ];\n            };\n          };\n        },\n        {\n          name: \"systemProgram\";\n          address: \"11111111111111111111111111111111\";\n        },\n        {\n          name: \"token2022Program\";\n          address: \"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb\";\n        },\n        {\n          name: \"baseTokenProgram\";\n        },\n        {\n          name: \"quoteTokenProgram\";\n        },\n        {\n          name: \"associatedTokenProgram\";\n          address: \"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\";\n        },\n        {\n          name: \"eventAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"program\";\n        },\n      ];\n      args: [\n        {\n          name: \"index\";\n          type: \"u16\";\n        },\n        {\n          name: \"baseAmountIn\";\n          type: \"u64\";\n        },\n        {\n          name: \"quoteAmountIn\";\n          type: \"u64\";\n        },\n        {\n          name: \"coinCreator\";\n          type: \"pubkey\";\n        },\n        {\n          name: \"isMayhemMode\";\n          type: \"bool\";\n        },\n        {\n          name: \"isCashbackCoin\";\n          type: {\n            defined: {\n              name: \"optionBool\";\n            };\n          };\n        },\n      ];\n    },\n    {\n      name: \"deposit\";\n      discriminator: [242, 35, 198, 137, 82, 225, 242, 182];\n      accounts: [\n        {\n          name: \"pool\";\n          writable: true;\n        },\n        {\n          name: \"globalConfig\";\n        },\n        {\n          name: \"user\";\n          signer: true;\n        },\n        {\n          name: \"baseMint\";\n          relations: [\"pool\"];\n        },\n        {\n          name: \"quoteMint\";\n          relations: [\"pool\"];\n        },\n        {\n          name: \"lpMint\";\n          writable: true;\n          relations: [\"pool\"];\n        },\n        {\n          name: \"userBaseTokenAccount\";\n          writable: true;\n        },\n        {\n          name: \"userQuoteTokenAccount\";\n          writable: true;\n        },\n        {\n          name: \"userPoolTokenAccount\";\n          writable: true;\n        },\n        {\n          name: \"poolBaseTokenAccount\";\n          writable: true;\n          relations: [\"pool\"];\n        },\n        {\n          name: \"poolQuoteTokenAccount\";\n          writable: true;\n          relations: [\"pool\"];\n        },\n        {\n          name: \"tokenProgram\";\n          address: \"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA\";\n        },\n        {\n          name: \"token2022Program\";\n          address: \"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb\";\n        },\n        {\n          name: \"eventAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"program\";\n        },\n      ];\n      args: [\n        {\n          name: \"lpTokenAmountOut\";\n          type: \"u64\";\n        },\n        {\n          name: \"maxBaseAmountIn\";\n          type: \"u64\";\n        },\n        {\n          name: \"maxQuoteAmountIn\";\n          type: \"u64\";\n        },\n      ];\n    },\n    {\n      name: \"disable\";\n      discriminator: [185, 173, 187, 90, 216, 15, 238, 233];\n      accounts: [\n        {\n          name: \"admin\";\n          signer: true;\n          relations: [\"globalConfig\"];\n        },\n        {\n          name: \"globalConfig\";\n          writable: true;\n        },\n        {\n          name: \"eventAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"program\";\n        },\n      ];\n      args: [\n        {\n          name: \"disableCreatePool\";\n          type: \"bool\";\n        },\n        {\n          name: \"disableDeposit\";\n          type: \"bool\";\n        },\n        {\n          name: \"disableWithdraw\";\n          type: \"bool\";\n        },\n        {\n          name: \"disableBuy\";\n          type: \"bool\";\n        },\n        {\n          name: \"disableSell\";\n          type: \"bool\";\n        },\n      ];\n    },\n    {\n      name: \"extendAccount\";\n      discriminator: [234, 102, 194, 203, 150, 72, 62, 229];\n      accounts: [\n        {\n          name: \"account\";\n          writable: true;\n        },\n        {\n          name: \"user\";\n          signer: true;\n        },\n        {\n          name: \"systemProgram\";\n          address: \"11111111111111111111111111111111\";\n        },\n        {\n          name: \"eventAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"program\";\n        },\n      ];\n      args: [];\n    },\n    {\n      name: \"initUserVolumeAccumulator\";\n      discriminator: [94, 6, 202, 115, 255, 96, 232, 183];\n      accounts: [\n        {\n          name: \"payer\";\n          writable: true;\n          signer: true;\n        },\n        {\n          name: \"user\";\n        },\n        {\n          name: \"userVolumeAccumulator\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  117,\n                  115,\n                  101,\n                  114,\n                  95,\n                  118,\n                  111,\n                  108,\n                  117,\n                  109,\n                  101,\n                  95,\n                  97,\n                  99,\n                  99,\n                  117,\n                  109,\n                  117,\n                  108,\n                  97,\n                  116,\n                  111,\n                  114,\n                ];\n              },\n              {\n                kind: \"account\";\n                path: \"user\";\n              },\n            ];\n          };\n        },\n        {\n          name: \"systemProgram\";\n          address: \"11111111111111111111111111111111\";\n        },\n        {\n          name: \"eventAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"program\";\n        },\n      ];\n      args: [];\n    },\n    {\n      name: \"migratePoolCoinCreator\";\n      docs: [\"Migrate Pool Coin Creator to Sharing Config\"];\n      discriminator: [208, 8, 159, 4, 74, 175, 16, 58];\n      accounts: [\n        {\n          name: \"pool\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [112, 111, 111, 108];\n              },\n              {\n                kind: \"account\";\n                path: \"pool.index\";\n                account: \"pool\";\n              },\n              {\n                kind: \"account\";\n                path: \"pool.creator\";\n                account: \"pool\";\n              },\n              {\n                kind: \"account\";\n                path: \"pool.base_mint\";\n                account: \"pool\";\n              },\n              {\n                kind: \"account\";\n                path: \"pool.quote_mint\";\n                account: \"pool\";\n              },\n            ];\n          };\n        },\n        {\n          name: \"sharingConfig\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  115,\n                  104,\n                  97,\n                  114,\n                  105,\n                  110,\n                  103,\n                  45,\n                  99,\n                  111,\n                  110,\n                  102,\n                  105,\n                  103,\n                ];\n              },\n              {\n                kind: \"account\";\n                path: \"pool.base_mint\";\n                account: \"pool\";\n              },\n            ];\n            program: {\n              kind: \"const\";\n              value: [\n                12,\n                53,\n                255,\n                169,\n                5,\n                90,\n                142,\n                86,\n                141,\n                168,\n                247,\n                188,\n                7,\n                86,\n                21,\n                39,\n                76,\n                241,\n                201,\n                44,\n                164,\n                31,\n                64,\n                0,\n                156,\n                81,\n                106,\n                164,\n                20,\n                194,\n                124,\n                112,\n              ];\n            };\n          };\n        },\n        {\n          name: \"eventAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"program\";\n        },\n      ];\n      args: [];\n    },\n    {\n      name: \"sell\";\n      discriminator: [51, 230, 133, 164, 1, 127, 131, 173];\n      accounts: [\n        {\n          name: \"pool\";\n          writable: true;\n        },\n        {\n          name: \"user\";\n          writable: true;\n          signer: true;\n        },\n        {\n          name: \"globalConfig\";\n        },\n        {\n          name: \"baseMint\";\n          relations: [\"pool\"];\n        },\n        {\n          name: \"quoteMint\";\n          relations: [\"pool\"];\n        },\n        {\n          name: \"userBaseTokenAccount\";\n          writable: true;\n        },\n        {\n          name: \"userQuoteTokenAccount\";\n          writable: true;\n        },\n        {\n          name: \"poolBaseTokenAccount\";\n          writable: true;\n          relations: [\"pool\"];\n        },\n        {\n          name: \"poolQuoteTokenAccount\";\n          writable: true;\n          relations: [\"pool\"];\n        },\n        {\n          name: \"protocolFeeRecipient\";\n        },\n        {\n          name: \"protocolFeeRecipientTokenAccount\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"account\";\n                path: \"protocolFeeRecipient\";\n              },\n              {\n                kind: \"account\";\n                path: \"quoteTokenProgram\";\n              },\n              {\n                kind: \"account\";\n                path: \"quoteMint\";\n              },\n            ];\n            program: {\n              kind: \"const\";\n              value: [\n                140,\n                151,\n                37,\n                143,\n                78,\n                36,\n                137,\n                241,\n                187,\n                61,\n                16,\n                41,\n                20,\n                142,\n                13,\n                131,\n                11,\n                90,\n                19,\n                153,\n                218,\n                255,\n                16,\n                132,\n                4,\n                142,\n                123,\n                216,\n                219,\n                233,\n                248,\n                89,\n              ];\n            };\n          };\n        },\n        {\n          name: \"baseTokenProgram\";\n        },\n        {\n          name: \"quoteTokenProgram\";\n        },\n        {\n          name: \"systemProgram\";\n          address: \"11111111111111111111111111111111\";\n        },\n        {\n          name: \"associatedTokenProgram\";\n          address: \"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\";\n        },\n        {\n          name: \"eventAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"program\";\n          address: \"pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA\";\n        },\n        {\n          name: \"coinCreatorVaultAta\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"account\";\n                path: \"coinCreatorVaultAuthority\";\n              },\n              {\n                kind: \"account\";\n                path: \"quoteTokenProgram\";\n              },\n              {\n                kind: \"account\";\n                path: \"quoteMint\";\n              },\n            ];\n            program: {\n              kind: \"const\";\n              value: [\n                140,\n                151,\n                37,\n                143,\n                78,\n                36,\n                137,\n                241,\n                187,\n                61,\n                16,\n                41,\n                20,\n                142,\n                13,\n                131,\n                11,\n                90,\n                19,\n                153,\n                218,\n                255,\n                16,\n                132,\n                4,\n                142,\n                123,\n                216,\n                219,\n                233,\n                248,\n                89,\n              ];\n            };\n          };\n        },\n        {\n          name: \"coinCreatorVaultAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  99,\n                  114,\n                  101,\n                  97,\n                  116,\n                  111,\n                  114,\n                  95,\n                  118,\n                  97,\n                  117,\n                  108,\n                  116,\n                ];\n              },\n              {\n                kind: \"account\";\n                path: \"pool.coin_creator\";\n                account: \"pool\";\n              },\n            ];\n          };\n        },\n        {\n          name: \"feeConfig\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [102, 101, 101, 95, 99, 111, 110, 102, 105, 103];\n              },\n              {\n                kind: \"const\";\n                value: [\n                  12,\n                  20,\n                  222,\n                  252,\n                  130,\n                  94,\n                  198,\n                  118,\n                  148,\n                  37,\n                  8,\n                  24,\n                  187,\n                  101,\n                  64,\n                  101,\n                  244,\n                  41,\n                  141,\n                  49,\n                  86,\n                  213,\n                  113,\n                  180,\n                  212,\n                  248,\n                  9,\n                  12,\n                  24,\n                  233,\n                  168,\n                  99,\n                ];\n              },\n            ];\n            program: {\n              kind: \"account\";\n              path: \"feeProgram\";\n            };\n          };\n        },\n        {\n          name: \"feeProgram\";\n          address: \"pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ\";\n        },\n      ];\n      args: [\n        {\n          name: \"baseAmountIn\";\n          type: \"u64\";\n        },\n        {\n          name: \"minQuoteAmountOut\";\n          type: \"u64\";\n        },\n      ];\n    },\n    {\n      name: \"setCoinCreator\";\n      docs: [\n        \"Sets Pool::coin_creator from Metaplex metadata creator or BondingCurve::creator\",\n      ];\n      discriminator: [210, 149, 128, 45, 188, 58, 78, 175];\n      accounts: [\n        {\n          name: \"pool\";\n          writable: true;\n        },\n        {\n          name: \"metadata\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [109, 101, 116, 97, 100, 97, 116, 97];\n              },\n              {\n                kind: \"const\";\n                value: [\n                  11,\n                  112,\n                  101,\n                  177,\n                  227,\n                  209,\n                  124,\n                  69,\n                  56,\n                  157,\n                  82,\n                  127,\n                  107,\n                  4,\n                  195,\n                  205,\n                  88,\n                  184,\n                  108,\n                  115,\n                  26,\n                  160,\n                  253,\n                  181,\n                  73,\n                  182,\n                  209,\n                  188,\n                  3,\n                  248,\n                  41,\n                  70,\n                ];\n              },\n              {\n                kind: \"account\";\n                path: \"pool.base_mint\";\n                account: \"pool\";\n              },\n            ];\n            program: {\n              kind: \"const\";\n              value: [\n                11,\n                112,\n                101,\n                177,\n                227,\n                209,\n                124,\n                69,\n                56,\n                157,\n                82,\n                127,\n                107,\n                4,\n                195,\n                205,\n                88,\n                184,\n                108,\n                115,\n                26,\n                160,\n                253,\n                181,\n                73,\n                182,\n                209,\n                188,\n                3,\n                248,\n                41,\n                70,\n              ];\n            };\n          };\n        },\n        {\n          name: \"bondingCurve\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  98,\n                  111,\n                  110,\n                  100,\n                  105,\n                  110,\n                  103,\n                  45,\n                  99,\n                  117,\n                  114,\n                  118,\n                  101,\n                ];\n              },\n              {\n                kind: \"account\";\n                path: \"pool.base_mint\";\n                account: \"pool\";\n              },\n            ];\n            program: {\n              kind: \"const\";\n              value: [\n                1,\n                86,\n                224,\n                246,\n                147,\n                102,\n                90,\n                207,\n                68,\n                219,\n                21,\n                104,\n                191,\n                23,\n                91,\n                170,\n                81,\n                137,\n                203,\n                151,\n                245,\n                210,\n                255,\n                59,\n                101,\n                93,\n                43,\n                182,\n                253,\n                109,\n                24,\n                176,\n              ];\n            };\n          };\n        },\n        {\n          name: \"eventAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"program\";\n        },\n      ];\n      args: [];\n    },\n    {\n      name: \"setReservedFeeRecipients\";\n      discriminator: [111, 172, 162, 232, 114, 89, 213, 142];\n      accounts: [\n        {\n          name: \"globalConfig\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108,\n                  95,\n                  99,\n                  111,\n                  110,\n                  102,\n                  105,\n                  103,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"admin\";\n          signer: true;\n          relations: [\"globalConfig\"];\n        },\n        {\n          name: \"eventAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"program\";\n        },\n      ];\n      args: [\n        {\n          name: \"whitelistPda\";\n          type: \"pubkey\";\n        },\n      ];\n    },\n    {\n      name: \"syncUserVolumeAccumulator\";\n      discriminator: [86, 31, 192, 87, 163, 87, 79, 238];\n      accounts: [\n        {\n          name: \"user\";\n        },\n        {\n          name: \"globalVolumeAccumulator\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108,\n                  95,\n                  118,\n                  111,\n                  108,\n                  117,\n                  109,\n                  101,\n                  95,\n                  97,\n                  99,\n                  99,\n                  117,\n                  109,\n                  117,\n                  108,\n                  97,\n                  116,\n                  111,\n                  114,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"userVolumeAccumulator\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  117,\n                  115,\n                  101,\n                  114,\n                  95,\n                  118,\n                  111,\n                  108,\n                  117,\n                  109,\n                  101,\n                  95,\n                  97,\n                  99,\n                  99,\n                  117,\n                  109,\n                  117,\n                  108,\n                  97,\n                  116,\n                  111,\n                  114,\n                ];\n              },\n              {\n                kind: \"account\";\n                path: \"user\";\n              },\n            ];\n          };\n        },\n        {\n          name: \"eventAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"program\";\n        },\n      ];\n      args: [];\n    },\n    {\n      name: \"toggleCashbackEnabled\";\n      discriminator: [115, 103, 224, 255, 189, 89, 86, 195];\n      accounts: [\n        {\n          name: \"admin\";\n          signer: true;\n          relations: [\"globalConfig\"];\n        },\n        {\n          name: \"globalConfig\";\n          writable: true;\n        },\n        {\n          name: \"eventAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"program\";\n        },\n      ];\n      args: [\n        {\n          name: \"enabled\";\n          type: \"bool\";\n        },\n      ];\n    },\n    {\n      name: \"toggleMayhemMode\";\n      discriminator: [1, 9, 111, 208, 100, 31, 255, 163];\n      accounts: [\n        {\n          name: \"admin\";\n          signer: true;\n          relations: [\"globalConfig\"];\n        },\n        {\n          name: \"globalConfig\";\n          writable: true;\n        },\n        {\n          name: \"eventAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"program\";\n        },\n      ];\n      args: [\n        {\n          name: \"enabled\";\n          type: \"bool\";\n        },\n      ];\n    },\n    {\n      name: \"transferCreatorFeesToPump\";\n      docs: [\n        \"Transfer creator fees to pump creator vault\",\n        \"If coin creator fees are currently below rent.minimum_balance(TokenAccount::LEN)\",\n        \"The transfer will be skipped\",\n      ];\n      discriminator: [139, 52, 134, 85, 228, 229, 108, 241];\n      accounts: [\n        {\n          name: \"wsolMint\";\n          docs: [\"Pump Canonical Pool are quoted in wSOL\"];\n        },\n        {\n          name: \"tokenProgram\";\n        },\n        {\n          name: \"systemProgram\";\n          address: \"11111111111111111111111111111111\";\n        },\n        {\n          name: \"associatedTokenProgram\";\n          address: \"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\";\n        },\n        {\n          name: \"coinCreator\";\n        },\n        {\n          name: \"coinCreatorVaultAuthority\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  99,\n                  114,\n                  101,\n                  97,\n                  116,\n                  111,\n                  114,\n                  95,\n                  118,\n                  97,\n                  117,\n                  108,\n                  116,\n                ];\n              },\n              {\n                kind: \"account\";\n                path: \"coinCreator\";\n              },\n            ];\n          };\n        },\n        {\n          name: \"coinCreatorVaultAta\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"account\";\n                path: \"coinCreatorVaultAuthority\";\n              },\n              {\n                kind: \"account\";\n                path: \"tokenProgram\";\n              },\n              {\n                kind: \"account\";\n                path: \"wsolMint\";\n              },\n            ];\n            program: {\n              kind: \"const\";\n              value: [\n                140,\n                151,\n                37,\n                143,\n                78,\n                36,\n                137,\n                241,\n                187,\n                61,\n                16,\n                41,\n                20,\n                142,\n                13,\n                131,\n                11,\n                90,\n                19,\n                153,\n                218,\n                255,\n                16,\n                132,\n                4,\n                142,\n                123,\n                216,\n                219,\n                233,\n                248,\n                89,\n              ];\n            };\n          };\n        },\n        {\n          name: \"pumpCreatorVault\";\n          writable: true;\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  99,\n                  114,\n                  101,\n                  97,\n                  116,\n                  111,\n                  114,\n                  45,\n                  118,\n                  97,\n                  117,\n                  108,\n                  116,\n                ];\n              },\n              {\n                kind: \"account\";\n                path: \"coinCreator\";\n              },\n            ];\n            program: {\n              kind: \"const\";\n              value: [\n                1,\n                86,\n                224,\n                246,\n                147,\n                102,\n                90,\n                207,\n                68,\n                219,\n                21,\n                104,\n                191,\n                23,\n                91,\n                170,\n                81,\n                137,\n                203,\n                151,\n                245,\n                210,\n                255,\n                59,\n                101,\n                93,\n                43,\n                182,\n                253,\n                109,\n                24,\n                176,\n              ];\n            };\n          };\n        },\n        {\n          name: \"eventAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"program\";\n        },\n      ];\n      args: [];\n    },\n    {\n      name: \"updateAdmin\";\n      discriminator: [161, 176, 40, 213, 60, 184, 179, 228];\n      accounts: [\n        {\n          name: \"admin\";\n          signer: true;\n          relations: [\"globalConfig\"];\n        },\n        {\n          name: \"globalConfig\";\n          writable: true;\n        },\n        {\n          name: \"newAdmin\";\n        },\n        {\n          name: \"eventAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"program\";\n        },\n      ];\n      args: [];\n    },\n    {\n      name: \"updateFeeConfig\";\n      discriminator: [104, 184, 103, 242, 88, 151, 107, 20];\n      accounts: [\n        {\n          name: \"admin\";\n          signer: true;\n          relations: [\"globalConfig\"];\n        },\n        {\n          name: \"globalConfig\";\n          writable: true;\n        },\n        {\n          name: \"eventAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"program\";\n        },\n      ];\n      args: [\n        {\n          name: \"lpFeeBasisPoints\";\n          type: \"u64\";\n        },\n        {\n          name: \"protocolFeeBasisPoints\";\n          type: \"u64\";\n        },\n        {\n          name: \"protocolFeeRecipients\";\n          type: {\n            array: [\"pubkey\", 8];\n          };\n        },\n        {\n          name: \"coinCreatorFeeBasisPoints\";\n          type: \"u64\";\n        },\n        {\n          name: \"adminSetCoinCreatorAuthority\";\n          type: \"pubkey\";\n        },\n      ];\n    },\n    {\n      name: \"withdraw\";\n      discriminator: [183, 18, 70, 156, 148, 109, 161, 34];\n      accounts: [\n        {\n          name: \"pool\";\n          writable: true;\n        },\n        {\n          name: \"globalConfig\";\n        },\n        {\n          name: \"user\";\n          signer: true;\n        },\n        {\n          name: \"baseMint\";\n          relations: [\"pool\"];\n        },\n        {\n          name: \"quoteMint\";\n          relations: [\"pool\"];\n        },\n        {\n          name: \"lpMint\";\n          writable: true;\n          relations: [\"pool\"];\n        },\n        {\n          name: \"userBaseTokenAccount\";\n          writable: true;\n        },\n        {\n          name: \"userQuoteTokenAccount\";\n          writable: true;\n        },\n        {\n          name: \"userPoolTokenAccount\";\n          writable: true;\n        },\n        {\n          name: \"poolBaseTokenAccount\";\n          writable: true;\n          relations: [\"pool\"];\n        },\n        {\n          name: \"poolQuoteTokenAccount\";\n          writable: true;\n          relations: [\"pool\"];\n        },\n        {\n          name: \"tokenProgram\";\n          address: \"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA\";\n        },\n        {\n          name: \"token2022Program\";\n          address: \"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb\";\n        },\n        {\n          name: \"eventAuthority\";\n          pda: {\n            seeds: [\n              {\n                kind: \"const\";\n                value: [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121,\n                ];\n              },\n            ];\n          };\n        },\n        {\n          name: \"program\";\n        },\n      ];\n      args: [\n        {\n          name: \"lpTokenAmountIn\";\n          type: \"u64\";\n        },\n        {\n          name: \"minBaseAmountOut\";\n          type: \"u64\";\n        },\n        {\n          name: \"minQuoteAmountOut\";\n          type: \"u64\";\n        },\n      ];\n    },\n  ];\n  accounts: [\n    {\n      name: \"bondingCurve\";\n      discriminator: [23, 183, 248, 55, 96, 216, 172, 96];\n    },\n    {\n      name: \"feeConfig\";\n      discriminator: [143, 52, 146, 187, 219, 123, 76, 155];\n    },\n    {\n      name: \"globalConfig\";\n      discriminator: [149, 8, 156, 202, 160, 252, 176, 217];\n    },\n    {\n      name: \"globalVolumeAccumulator\";\n      discriminator: [202, 42, 246, 43, 142, 190, 30, 255];\n    },\n    {\n      name: \"pool\";\n      discriminator: [241, 154, 109, 4, 17, 177, 109, 188];\n    },\n    {\n      name: \"sharingConfig\";\n      discriminator: [216, 74, 9, 0, 56, 140, 93, 75];\n    },\n    {\n      name: \"userVolumeAccumulator\";\n      discriminator: [86, 255, 112, 14, 102, 53, 154, 250];\n    },\n  ];\n  events: [\n    {\n      name: \"adminSetCoinCreatorEvent\";\n      discriminator: [45, 220, 93, 24, 25, 97, 172, 104];\n    },\n    {\n      name: \"adminUpdateTokenIncentivesEvent\";\n      discriminator: [147, 250, 108, 120, 247, 29, 67, 222];\n    },\n    {\n      name: \"buyEvent\";\n      discriminator: [103, 244, 82, 31, 44, 245, 119, 119];\n    },\n    {\n      name: \"claimCashbackEvent\";\n      discriminator: [226, 214, 246, 33, 7, 242, 147, 229];\n    },\n    {\n      name: \"claimTokenIncentivesEvent\";\n      discriminator: [79, 172, 246, 49, 205, 91, 206, 232];\n    },\n    {\n      name: \"closeUserVolumeAccumulatorEvent\";\n      discriminator: [146, 159, 189, 172, 146, 88, 56, 244];\n    },\n    {\n      name: \"collectCoinCreatorFeeEvent\";\n      discriminator: [232, 245, 194, 238, 234, 218, 58, 89];\n    },\n    {\n      name: \"createConfigEvent\";\n      discriminator: [107, 52, 89, 129, 55, 226, 81, 22];\n    },\n    {\n      name: \"createPoolEvent\";\n      discriminator: [177, 49, 12, 210, 160, 118, 167, 116];\n    },\n    {\n      name: \"depositEvent\";\n      discriminator: [120, 248, 61, 83, 31, 142, 107, 144];\n    },\n    {\n      name: \"disableEvent\";\n      discriminator: [107, 253, 193, 76, 228, 202, 27, 104];\n    },\n    {\n      name: \"extendAccountEvent\";\n      discriminator: [97, 97, 215, 144, 93, 146, 22, 124];\n    },\n    {\n      name: \"initUserVolumeAccumulatorEvent\";\n      discriminator: [134, 36, 13, 72, 232, 101, 130, 216];\n    },\n    {\n      name: \"migratePoolCoinCreatorEvent\";\n      discriminator: [170, 221, 82, 199, 147, 165, 247, 46];\n    },\n    {\n      name: \"reservedFeeRecipientsEvent\";\n      discriminator: [43, 188, 250, 18, 221, 75, 187, 95];\n    },\n    {\n      name: \"sellEvent\";\n      discriminator: [62, 47, 55, 10, 165, 3, 220, 42];\n    },\n    {\n      name: \"setBondingCurveCoinCreatorEvent\";\n      discriminator: [242, 231, 235, 102, 65, 99, 189, 211];\n    },\n    {\n      name: \"setMetaplexCoinCreatorEvent\";\n      discriminator: [150, 107, 199, 123, 124, 207, 102, 228];\n    },\n    {\n      name: \"syncUserVolumeAccumulatorEvent\";\n      discriminator: [197, 122, 167, 124, 116, 81, 91, 255];\n    },\n    {\n      name: \"updateAdminEvent\";\n      discriminator: [225, 152, 171, 87, 246, 63, 66, 234];\n    },\n    {\n      name: \"updateFeeConfigEvent\";\n      discriminator: [90, 23, 65, 35, 62, 244, 188, 208];\n    },\n    {\n      name: \"withdrawEvent\";\n      discriminator: [22, 9, 133, 26, 160, 44, 71, 192];\n    },\n  ];\n  errors: [\n    {\n      code: 6000;\n      name: \"feeBasisPointsExceedsMaximum\";\n    },\n    {\n      code: 6001;\n      name: \"zeroBaseAmount\";\n    },\n    {\n      code: 6002;\n      name: \"zeroQuoteAmount\";\n    },\n    {\n      code: 6003;\n      name: \"tooLittlePoolTokenLiquidity\";\n    },\n    {\n      code: 6004;\n      name: \"exceededSlippage\";\n    },\n    {\n      code: 6005;\n      name: \"invalidAdmin\";\n    },\n    {\n      code: 6006;\n      name: \"unsupportedBaseMint\";\n    },\n    {\n      code: 6007;\n      name: \"unsupportedQuoteMint\";\n    },\n    {\n      code: 6008;\n      name: \"invalidBaseMint\";\n    },\n    {\n      code: 6009;\n      name: \"invalidQuoteMint\";\n    },\n    {\n      code: 6010;\n      name: \"invalidLpMint\";\n    },\n    {\n      code: 6011;\n      name: \"allProtocolFeeRecipientsShouldBeNonZero\";\n    },\n    {\n      code: 6012;\n      name: \"unsortedNotUniqueProtocolFeeRecipients\";\n    },\n    {\n      code: 6013;\n      name: \"invalidProtocolFeeRecipient\";\n    },\n    {\n      code: 6014;\n      name: \"invalidPoolBaseTokenAccount\";\n    },\n    {\n      code: 6015;\n      name: \"invalidPoolQuoteTokenAccount\";\n    },\n    {\n      code: 6016;\n      name: \"buyMoreBaseAmountThanPoolReserves\";\n    },\n    {\n      code: 6017;\n      name: \"disabledCreatePool\";\n    },\n    {\n      code: 6018;\n      name: \"disabledDeposit\";\n    },\n    {\n      code: 6019;\n      name: \"disabledWithdraw\";\n    },\n    {\n      code: 6020;\n      name: \"disabledBuy\";\n    },\n    {\n      code: 6021;\n      name: \"disabledSell\";\n    },\n    {\n      code: 6022;\n      name: \"sameMint\";\n    },\n    {\n      code: 6023;\n      name: \"overflow\";\n    },\n    {\n      code: 6024;\n      name: \"truncation\";\n    },\n    {\n      code: 6025;\n      name: \"divisionByZero\";\n    },\n    {\n      code: 6026;\n      name: \"newSizeLessThanCurrentSize\";\n    },\n    {\n      code: 6027;\n      name: \"accountTypeNotSupported\";\n    },\n    {\n      code: 6028;\n      name: \"onlyCanonicalPumpPoolsCanHaveCoinCreator\";\n    },\n    {\n      code: 6029;\n      name: \"invalidAdminSetCoinCreatorAuthority\";\n    },\n    {\n      code: 6030;\n      name: \"startTimeInThePast\";\n    },\n    {\n      code: 6031;\n      name: \"endTimeInThePast\";\n    },\n    {\n      code: 6032;\n      name: \"endTimeBeforeStartTime\";\n    },\n    {\n      code: 6033;\n      name: \"timeRangeTooLarge\";\n    },\n    {\n      code: 6034;\n      name: \"endTimeBeforeCurrentDay\";\n    },\n    {\n      code: 6035;\n      name: \"supplyUpdateForFinishedRange\";\n    },\n    {\n      code: 6036;\n      name: \"dayIndexAfterEndIndex\";\n    },\n    {\n      code: 6037;\n      name: \"dayInActiveRange\";\n    },\n    {\n      code: 6038;\n      name: \"invalidIncentiveMint\";\n    },\n    {\n      code: 6039;\n      name: \"buyNotEnoughQuoteTokensToCoverFees\";\n      msg: \"buy: Not enough quote tokens to cover for fees.\";\n    },\n    {\n      code: 6040;\n      name: \"buySlippageBelowMinBaseAmountOut\";\n      msg: \"buy: slippage - would buy less tokens than expected min_base_amount_out\";\n    },\n    {\n      code: 6041;\n      name: \"mayhemModeDisabled\";\n    },\n    {\n      code: 6042;\n      name: \"onlyPumpPoolsMayhemMode\";\n    },\n    {\n      code: 6043;\n      name: \"mayhemModeInDesiredState\";\n    },\n    {\n      code: 6044;\n      name: \"notEnoughRemainingAccounts\";\n    },\n    {\n      code: 6045;\n      name: \"invalidSharingConfigBaseMint\";\n    },\n    {\n      code: 6046;\n      name: \"invalidSharingConfigCoinCreator\";\n    },\n    {\n      code: 6047;\n      name: \"coinCreatorMigratedToSharingConfig\";\n      msg: \"coin creator has been migrated to sharing config, use pump_fees::reset_fee_sharing_config instead\";\n    },\n    {\n      code: 6048;\n      name: \"creatorVaultMigratedToSharingConfig\";\n      msg: \"creator_vault has been migrated to sharing config, use pump:distribute_creator_fees instead\";\n    },\n    {\n      code: 6049;\n      name: \"cashbackNotEnabled\";\n      msg: \"Cashback is disabled\";\n    },\n    {\n      code: 6050;\n      name: \"onlyPumpPoolsCashback\";\n    },\n    {\n      code: 6051;\n      name: \"cashbackNotInDesiredState\";\n    },\n    {\n      code: 6052;\n      name: \"cashbackEarnedDoesNotMatchTokenInVault\";\n    },\n  ];\n  types: [\n    {\n      name: \"adminSetCoinCreatorEvent\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"timestamp\";\n            type: \"i64\";\n          },\n          {\n            name: \"adminSetCoinCreatorAuthority\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"baseMint\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"pool\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"oldCoinCreator\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"newCoinCreator\";\n            type: \"pubkey\";\n          },\n        ];\n      };\n    },\n    {\n      name: \"adminUpdateTokenIncentivesEvent\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"startTime\";\n            type: \"i64\";\n          },\n          {\n            name: \"endTime\";\n            type: \"i64\";\n          },\n          {\n            name: \"dayNumber\";\n            type: \"u64\";\n          },\n          {\n            name: \"tokenSupplyPerDay\";\n            type: \"u64\";\n          },\n          {\n            name: \"mint\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"secondsInADay\";\n            type: \"i64\";\n          },\n          {\n            name: \"timestamp\";\n            type: \"i64\";\n          },\n        ];\n      };\n    },\n    {\n      name: \"bondingCurve\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"virtualTokenReserves\";\n            type: \"u64\";\n          },\n          {\n            name: \"virtualSolReserves\";\n            type: \"u64\";\n          },\n          {\n            name: \"realTokenReserves\";\n            type: \"u64\";\n          },\n          {\n            name: \"realSolReserves\";\n            type: \"u64\";\n          },\n          {\n            name: \"tokenTotalSupply\";\n            type: \"u64\";\n          },\n          {\n            name: \"complete\";\n            type: \"bool\";\n          },\n          {\n            name: \"creator\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"isMayhemMode\";\n            type: \"bool\";\n          },\n          {\n            name: \"isCashbackCoin\";\n            type: \"bool\";\n          },\n        ];\n      };\n    },\n    {\n      name: \"buyEvent\";\n      docs: ['ix_name: \"buy\" | \"buy_exact_quote_in\"'];\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"timestamp\";\n            type: \"i64\";\n          },\n          {\n            name: \"baseAmountOut\";\n            type: \"u64\";\n          },\n          {\n            name: \"maxQuoteAmountIn\";\n            type: \"u64\";\n          },\n          {\n            name: \"userBaseTokenReserves\";\n            type: \"u64\";\n          },\n          {\n            name: \"userQuoteTokenReserves\";\n            type: \"u64\";\n          },\n          {\n            name: \"poolBaseTokenReserves\";\n            type: \"u64\";\n          },\n          {\n            name: \"poolQuoteTokenReserves\";\n            type: \"u64\";\n          },\n          {\n            name: \"quoteAmountIn\";\n            type: \"u64\";\n          },\n          {\n            name: \"lpFeeBasisPoints\";\n            type: \"u64\";\n          },\n          {\n            name: \"lpFee\";\n            type: \"u64\";\n          },\n          {\n            name: \"protocolFeeBasisPoints\";\n            type: \"u64\";\n          },\n          {\n            name: \"protocolFee\";\n            type: \"u64\";\n          },\n          {\n            name: \"quoteAmountInWithLpFee\";\n            type: \"u64\";\n          },\n          {\n            name: \"userQuoteAmountIn\";\n            type: \"u64\";\n          },\n          {\n            name: \"pool\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"user\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"userBaseTokenAccount\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"userQuoteTokenAccount\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"protocolFeeRecipient\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"protocolFeeRecipientTokenAccount\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"coinCreator\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"coinCreatorFeeBasisPoints\";\n            type: \"u64\";\n          },\n          {\n            name: \"coinCreatorFee\";\n            type: \"u64\";\n          },\n          {\n            name: \"trackVolume\";\n            type: \"bool\";\n          },\n          {\n            name: \"totalUnclaimedTokens\";\n            type: \"u64\";\n          },\n          {\n            name: \"totalClaimedTokens\";\n            type: \"u64\";\n          },\n          {\n            name: \"currentSolVolume\";\n            type: \"u64\";\n          },\n          {\n            name: \"lastUpdateTimestamp\";\n            type: \"i64\";\n          },\n          {\n            name: \"minBaseAmountOut\";\n            type: \"u64\";\n          },\n          {\n            name: \"ixName\";\n            type: \"string\";\n          },\n          {\n            name: \"cashbackFeeBasisPoints\";\n            type: \"u64\";\n          },\n          {\n            name: \"cashback\";\n            type: \"u64\";\n          },\n        ];\n      };\n    },\n    {\n      name: \"claimCashbackEvent\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"user\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"amount\";\n            type: \"u64\";\n          },\n          {\n            name: \"timestamp\";\n            type: \"i64\";\n          },\n          {\n            name: \"totalClaimed\";\n            type: \"u64\";\n          },\n          {\n            name: \"totalCashbackEarned\";\n            type: \"u64\";\n          },\n        ];\n      };\n    },\n    {\n      name: \"claimTokenIncentivesEvent\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"user\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"mint\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"amount\";\n            type: \"u64\";\n          },\n          {\n            name: \"timestamp\";\n            type: \"i64\";\n          },\n          {\n            name: \"totalClaimedTokens\";\n            type: \"u64\";\n          },\n          {\n            name: \"currentSolVolume\";\n            type: \"u64\";\n          },\n        ];\n      };\n    },\n    {\n      name: \"closeUserVolumeAccumulatorEvent\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"user\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"timestamp\";\n            type: \"i64\";\n          },\n          {\n            name: \"totalUnclaimedTokens\";\n            type: \"u64\";\n          },\n          {\n            name: \"totalClaimedTokens\";\n            type: \"u64\";\n          },\n          {\n            name: \"currentSolVolume\";\n            type: \"u64\";\n          },\n          {\n            name: \"lastUpdateTimestamp\";\n            type: \"i64\";\n          },\n        ];\n      };\n    },\n    {\n      name: \"collectCoinCreatorFeeEvent\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"timestamp\";\n            type: \"i64\";\n          },\n          {\n            name: \"coinCreator\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"coinCreatorFee\";\n            type: \"u64\";\n          },\n          {\n            name: \"coinCreatorVaultAta\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"coinCreatorTokenAccount\";\n            type: \"pubkey\";\n          },\n        ];\n      };\n    },\n    {\n      name: \"configStatus\";\n      type: {\n        kind: \"enum\";\n        variants: [\n          {\n            name: \"paused\";\n          },\n          {\n            name: \"active\";\n          },\n        ];\n      };\n    },\n    {\n      name: \"createConfigEvent\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"timestamp\";\n            type: \"i64\";\n          },\n          {\n            name: \"admin\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"lpFeeBasisPoints\";\n            type: \"u64\";\n          },\n          {\n            name: \"protocolFeeBasisPoints\";\n            type: \"u64\";\n          },\n          {\n            name: \"protocolFeeRecipients\";\n            type: {\n              array: [\"pubkey\", 8];\n            };\n          },\n          {\n            name: \"coinCreatorFeeBasisPoints\";\n            type: \"u64\";\n          },\n          {\n            name: \"adminSetCoinCreatorAuthority\";\n            type: \"pubkey\";\n          },\n        ];\n      };\n    },\n    {\n      name: \"createPoolEvent\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"timestamp\";\n            type: \"i64\";\n          },\n          {\n            name: \"index\";\n            type: \"u16\";\n          },\n          {\n            name: \"creator\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"baseMint\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"quoteMint\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"baseMintDecimals\";\n            type: \"u8\";\n          },\n          {\n            name: \"quoteMintDecimals\";\n            type: \"u8\";\n          },\n          {\n            name: \"baseAmountIn\";\n            type: \"u64\";\n          },\n          {\n            name: \"quoteAmountIn\";\n            type: \"u64\";\n          },\n          {\n            name: \"poolBaseAmount\";\n            type: \"u64\";\n          },\n          {\n            name: \"poolQuoteAmount\";\n            type: \"u64\";\n          },\n          {\n            name: \"minimumLiquidity\";\n            type: \"u64\";\n          },\n          {\n            name: \"initialLiquidity\";\n            type: \"u64\";\n          },\n          {\n            name: \"lpTokenAmountOut\";\n            type: \"u64\";\n          },\n          {\n            name: \"poolBump\";\n            type: \"u8\";\n          },\n          {\n            name: \"pool\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"lpMint\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"userBaseTokenAccount\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"userQuoteTokenAccount\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"coinCreator\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"isMayhemMode\";\n            type: \"bool\";\n          },\n        ];\n      };\n    },\n    {\n      name: \"depositEvent\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"timestamp\";\n            type: \"i64\";\n          },\n          {\n            name: \"lpTokenAmountOut\";\n            type: \"u64\";\n          },\n          {\n            name: \"maxBaseAmountIn\";\n            type: \"u64\";\n          },\n          {\n            name: \"maxQuoteAmountIn\";\n            type: \"u64\";\n          },\n          {\n            name: \"userBaseTokenReserves\";\n            type: \"u64\";\n          },\n          {\n            name: \"userQuoteTokenReserves\";\n            type: \"u64\";\n          },\n          {\n            name: \"poolBaseTokenReserves\";\n            type: \"u64\";\n          },\n          {\n            name: \"poolQuoteTokenReserves\";\n            type: \"u64\";\n          },\n          {\n            name: \"baseAmountIn\";\n            type: \"u64\";\n          },\n          {\n            name: \"quoteAmountIn\";\n            type: \"u64\";\n          },\n          {\n            name: \"lpMintSupply\";\n            type: \"u64\";\n          },\n          {\n            name: \"pool\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"user\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"userBaseTokenAccount\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"userQuoteTokenAccount\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"userPoolTokenAccount\";\n            type: \"pubkey\";\n          },\n        ];\n      };\n    },\n    {\n      name: \"disableEvent\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"timestamp\";\n            type: \"i64\";\n          },\n          {\n            name: \"admin\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"disableCreatePool\";\n            type: \"bool\";\n          },\n          {\n            name: \"disableDeposit\";\n            type: \"bool\";\n          },\n          {\n            name: \"disableWithdraw\";\n            type: \"bool\";\n          },\n          {\n            name: \"disableBuy\";\n            type: \"bool\";\n          },\n          {\n            name: \"disableSell\";\n            type: \"bool\";\n          },\n        ];\n      };\n    },\n    {\n      name: \"extendAccountEvent\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"timestamp\";\n            type: \"i64\";\n          },\n          {\n            name: \"account\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"user\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"currentSize\";\n            type: \"u64\";\n          },\n          {\n            name: \"newSize\";\n            type: \"u64\";\n          },\n        ];\n      };\n    },\n    {\n      name: \"feeConfig\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"bump\";\n            type: \"u8\";\n          },\n          {\n            name: \"admin\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"flatFees\";\n            type: {\n              defined: {\n                name: \"fees\";\n              };\n            };\n          },\n          {\n            name: \"feeTiers\";\n            type: {\n              vec: {\n                defined: {\n                  name: \"feeTier\";\n                };\n              };\n            };\n          },\n        ];\n      };\n    },\n    {\n      name: \"feeTier\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"marketCapLamportsThreshold\";\n            type: \"u128\";\n          },\n          {\n            name: \"fees\";\n            type: {\n              defined: {\n                name: \"fees\";\n              };\n            };\n          },\n        ];\n      };\n    },\n    {\n      name: \"fees\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"lpFeeBps\";\n            type: \"u64\";\n          },\n          {\n            name: \"protocolFeeBps\";\n            type: \"u64\";\n          },\n          {\n            name: \"creatorFeeBps\";\n            type: \"u64\";\n          },\n        ];\n      };\n    },\n    {\n      name: \"globalConfig\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"admin\";\n            docs: [\"The admin pubkey\"];\n            type: \"pubkey\";\n          },\n          {\n            name: \"lpFeeBasisPoints\";\n            type: \"u64\";\n          },\n          {\n            name: \"protocolFeeBasisPoints\";\n            type: \"u64\";\n          },\n          {\n            name: \"disableFlags\";\n            docs: [\n              \"Flags to disable certain functionality\",\n              \"bit 0 - Disable create pool\",\n              \"bit 1 - Disable deposit\",\n              \"bit 2 - Disable withdraw\",\n              \"bit 3 - Disable buy\",\n              \"bit 4 - Disable sell\",\n            ];\n            type: \"u8\";\n          },\n          {\n            name: \"protocolFeeRecipients\";\n            docs: [\"Addresses of the protocol fee recipients\"];\n            type: {\n              array: [\"pubkey\", 8];\n            };\n          },\n          {\n            name: \"coinCreatorFeeBasisPoints\";\n            type: \"u64\";\n          },\n          {\n            name: \"adminSetCoinCreatorAuthority\";\n            docs: [\"The admin authority for setting coin creators\"];\n            type: \"pubkey\";\n          },\n          {\n            name: \"whitelistPda\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"reservedFeeRecipient\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"mayhemModeEnabled\";\n            type: \"bool\";\n          },\n          {\n            name: \"reservedFeeRecipients\";\n            type: {\n              array: [\"pubkey\", 7];\n            };\n          },\n          {\n            name: \"isCashbackEnabled\";\n            type: \"bool\";\n          },\n        ];\n      };\n    },\n    {\n      name: \"globalVolumeAccumulator\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"startTime\";\n            type: \"i64\";\n          },\n          {\n            name: \"endTime\";\n            type: \"i64\";\n          },\n          {\n            name: \"secondsInADay\";\n            type: \"i64\";\n          },\n          {\n            name: \"mint\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"totalTokenSupply\";\n            type: {\n              array: [\"u64\", 30];\n            };\n          },\n          {\n            name: \"solVolumes\";\n            type: {\n              array: [\"u64\", 30];\n            };\n          },\n        ];\n      };\n    },\n    {\n      name: \"initUserVolumeAccumulatorEvent\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"payer\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"user\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"timestamp\";\n            type: \"i64\";\n          },\n        ];\n      };\n    },\n    {\n      name: \"migratePoolCoinCreatorEvent\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"timestamp\";\n            type: \"i64\";\n          },\n          {\n            name: \"baseMint\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"pool\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"sharingConfig\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"oldCoinCreator\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"newCoinCreator\";\n            type: \"pubkey\";\n          },\n        ];\n      };\n    },\n    {\n      name: \"optionBool\";\n      type: {\n        kind: \"struct\";\n        fields: [\"bool\"];\n      };\n    },\n    {\n      name: \"pool\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"poolBump\";\n            type: \"u8\";\n          },\n          {\n            name: \"index\";\n            type: \"u16\";\n          },\n          {\n            name: \"creator\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"baseMint\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"quoteMint\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"lpMint\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"poolBaseTokenAccount\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"poolQuoteTokenAccount\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"lpSupply\";\n            docs: [\"True circulating supply without burns and lock-ups\"];\n            type: \"u64\";\n          },\n          {\n            name: \"coinCreator\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"isMayhemMode\";\n            type: \"bool\";\n          },\n          {\n            name: \"isCashbackCoin\";\n            type: \"bool\";\n          },\n        ];\n      };\n    },\n    {\n      name: \"reservedFeeRecipientsEvent\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"timestamp\";\n            type: \"i64\";\n          },\n          {\n            name: \"reservedFeeRecipient\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"reservedFeeRecipients\";\n            type: {\n              array: [\"pubkey\", 7];\n            };\n          },\n        ];\n      };\n    },\n    {\n      name: \"sellEvent\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"timestamp\";\n            type: \"i64\";\n          },\n          {\n            name: \"baseAmountIn\";\n            type: \"u64\";\n          },\n          {\n            name: \"minQuoteAmountOut\";\n            type: \"u64\";\n          },\n          {\n            name: \"userBaseTokenReserves\";\n            type: \"u64\";\n          },\n          {\n            name: \"userQuoteTokenReserves\";\n            type: \"u64\";\n          },\n          {\n            name: \"poolBaseTokenReserves\";\n            type: \"u64\";\n          },\n          {\n            name: \"poolQuoteTokenReserves\";\n            type: \"u64\";\n          },\n          {\n            name: \"quoteAmountOut\";\n            type: \"u64\";\n          },\n          {\n            name: \"lpFeeBasisPoints\";\n            type: \"u64\";\n          },\n          {\n            name: \"lpFee\";\n            type: \"u64\";\n          },\n          {\n            name: \"protocolFeeBasisPoints\";\n            type: \"u64\";\n          },\n          {\n            name: \"protocolFee\";\n            type: \"u64\";\n          },\n          {\n            name: \"quoteAmountOutWithoutLpFee\";\n            type: \"u64\";\n          },\n          {\n            name: \"userQuoteAmountOut\";\n            type: \"u64\";\n          },\n          {\n            name: \"pool\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"user\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"userBaseTokenAccount\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"userQuoteTokenAccount\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"protocolFeeRecipient\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"protocolFeeRecipientTokenAccount\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"coinCreator\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"coinCreatorFeeBasisPoints\";\n            type: \"u64\";\n          },\n          {\n            name: \"coinCreatorFee\";\n            type: \"u64\";\n          },\n          {\n            name: \"cashbackFeeBasisPoints\";\n            type: \"u64\";\n          },\n          {\n            name: \"cashback\";\n            type: \"u64\";\n          },\n        ];\n      };\n    },\n    {\n      name: \"setBondingCurveCoinCreatorEvent\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"timestamp\";\n            type: \"i64\";\n          },\n          {\n            name: \"baseMint\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"pool\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"bondingCurve\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"coinCreator\";\n            type: \"pubkey\";\n          },\n        ];\n      };\n    },\n    {\n      name: \"setMetaplexCoinCreatorEvent\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"timestamp\";\n            type: \"i64\";\n          },\n          {\n            name: \"baseMint\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"pool\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"metadata\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"coinCreator\";\n            type: \"pubkey\";\n          },\n        ];\n      };\n    },\n    {\n      name: \"shareholder\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"address\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"shareBps\";\n            type: \"u16\";\n          },\n        ];\n      };\n    },\n    {\n      name: \"sharingConfig\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"bump\";\n            type: \"u8\";\n          },\n          {\n            name: \"version\";\n            type: \"u8\";\n          },\n          {\n            name: \"status\";\n            type: {\n              defined: {\n                name: \"configStatus\";\n              };\n            };\n          },\n          {\n            name: \"mint\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"admin\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"adminRevoked\";\n            type: \"bool\";\n          },\n          {\n            name: \"shareholders\";\n            type: {\n              vec: {\n                defined: {\n                  name: \"shareholder\";\n                };\n              };\n            };\n          },\n        ];\n      };\n    },\n    {\n      name: \"syncUserVolumeAccumulatorEvent\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"user\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"totalClaimedTokensBefore\";\n            type: \"u64\";\n          },\n          {\n            name: \"totalClaimedTokensAfter\";\n            type: \"u64\";\n          },\n          {\n            name: \"timestamp\";\n            type: \"i64\";\n          },\n        ];\n      };\n    },\n    {\n      name: \"updateAdminEvent\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"timestamp\";\n            type: \"i64\";\n          },\n          {\n            name: \"admin\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"newAdmin\";\n            type: \"pubkey\";\n          },\n        ];\n      };\n    },\n    {\n      name: \"updateFeeConfigEvent\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"timestamp\";\n            type: \"i64\";\n          },\n          {\n            name: \"admin\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"lpFeeBasisPoints\";\n            type: \"u64\";\n          },\n          {\n            name: \"protocolFeeBasisPoints\";\n            type: \"u64\";\n          },\n          {\n            name: \"protocolFeeRecipients\";\n            type: {\n              array: [\"pubkey\", 8];\n            };\n          },\n          {\n            name: \"coinCreatorFeeBasisPoints\";\n            type: \"u64\";\n          },\n          {\n            name: \"adminSetCoinCreatorAuthority\";\n            type: \"pubkey\";\n          },\n        ];\n      };\n    },\n    {\n      name: \"userVolumeAccumulator\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"user\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"needsClaim\";\n            type: \"bool\";\n          },\n          {\n            name: \"totalUnclaimedTokens\";\n            type: \"u64\";\n          },\n          {\n            name: \"totalClaimedTokens\";\n            type: \"u64\";\n          },\n          {\n            name: \"currentSolVolume\";\n            type: \"u64\";\n          },\n          {\n            name: \"lastUpdateTimestamp\";\n            type: \"i64\";\n          },\n          {\n            name: \"hasTotalClaimedTokens\";\n            type: \"bool\";\n          },\n          {\n            name: \"cashbackEarned\";\n            type: \"u64\";\n          },\n          {\n            name: \"totalCashbackClaimed\";\n            type: \"u64\";\n          },\n        ];\n      };\n    },\n    {\n      name: \"withdrawEvent\";\n      type: {\n        kind: \"struct\";\n        fields: [\n          {\n            name: \"timestamp\";\n            type: \"i64\";\n          },\n          {\n            name: \"lpTokenAmountIn\";\n            type: \"u64\";\n          },\n          {\n            name: \"minBaseAmountOut\";\n            type: \"u64\";\n          },\n          {\n            name: \"minQuoteAmountOut\";\n            type: \"u64\";\n          },\n          {\n            name: \"userBaseTokenReserves\";\n            type: \"u64\";\n          },\n          {\n            name: \"userQuoteTokenReserves\";\n            type: \"u64\";\n          },\n          {\n            name: \"poolBaseTokenReserves\";\n            type: \"u64\";\n          },\n          {\n            name: \"poolQuoteTokenReserves\";\n            type: \"u64\";\n          },\n          {\n            name: \"baseAmountOut\";\n            type: \"u64\";\n          },\n          {\n            name: \"quoteAmountOut\";\n            type: \"u64\";\n          },\n          {\n            name: \"lpMintSupply\";\n            type: \"u64\";\n          },\n          {\n            name: \"pool\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"user\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"userBaseTokenAccount\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"userQuoteTokenAccount\";\n            type: \"pubkey\";\n          },\n          {\n            name: \"userPoolTokenAccount\";\n            type: \"pubkey\";\n          },\n        ];\n      };\n    },\n  ];\n}\n"
  },
  {
    "path": "idl/pump_fees.json",
    "content": "{\n  \"address\": \"pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ\",\n  \"metadata\": {\n    \"name\": \"pump_fees\",\n    \"version\": \"0.1.0\",\n    \"spec\": \"0.1.0\",\n    \"description\": \"Created with Anchor\"\n  },\n  \"instructions\": [\n    {\n      \"name\": \"claim_social_fee_pda\",\n      \"discriminator\": [\n        225,\n        21,\n        251,\n        133,\n        161,\n        30,\n        199,\n        226\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"recipient\",\n          \"writable\": true\n        },\n        {\n          \"name\": \"social_fee_pda\",\n          \"writable\": true\n        },\n        {\n          \"name\": \"fee_program_global\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  102,\n                  101,\n                  101,\n                  45,\n                  112,\n                  114,\n                  111,\n                  103,\n                  114,\n                  97,\n                  109,\n                  45,\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"social_claim_authority\",\n          \"signer\": true,\n          \"relations\": [\n            \"fee_program_global\"\n          ]\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": [\n        {\n          \"name\": \"user_id\",\n          \"type\": \"string\"\n        },\n        {\n          \"name\": \"platform\",\n          \"type\": \"u8\"\n        }\n      ],\n      \"returns\": {\n        \"option\": {\n          \"defined\": {\n            \"name\": \"SocialFeePdaClaimed\"\n          }\n        }\n      }\n    },\n    {\n      \"name\": \"create_fee_sharing_config\",\n      \"docs\": [\n        \"Create Fee Sharing Config\"\n      ],\n      \"discriminator\": [\n        195,\n        78,\n        86,\n        76,\n        111,\n        52,\n        251,\n        213\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\",\n          \"address\": \"pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ\"\n        },\n        {\n          \"name\": \"payer\",\n          \"writable\": true,\n          \"signer\": true\n        },\n        {\n          \"name\": \"global\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108\n                ]\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                1,\n                86,\n                224,\n                246,\n                147,\n                102,\n                90,\n                207,\n                68,\n                219,\n                21,\n                104,\n                191,\n                23,\n                91,\n                170,\n                81,\n                137,\n                203,\n                151,\n                245,\n                210,\n                255,\n                59,\n                101,\n                93,\n                43,\n                182,\n                253,\n                109,\n                24,\n                176\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"mint\"\n        },\n        {\n          \"name\": \"sharing_config\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  115,\n                  104,\n                  97,\n                  114,\n                  105,\n                  110,\n                  103,\n                  45,\n                  99,\n                  111,\n                  110,\n                  102,\n                  105,\n                  103\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"mint\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"system_program\",\n          \"address\": \"11111111111111111111111111111111\"\n        },\n        {\n          \"name\": \"bonding_curve\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  98,\n                  111,\n                  110,\n                  100,\n                  105,\n                  110,\n                  103,\n                  45,\n                  99,\n                  117,\n                  114,\n                  118,\n                  101\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"mint\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                1,\n                86,\n                224,\n                246,\n                147,\n                102,\n                90,\n                207,\n                68,\n                219,\n                21,\n                104,\n                191,\n                23,\n                91,\n                170,\n                81,\n                137,\n                203,\n                151,\n                245,\n                210,\n                255,\n                59,\n                101,\n                93,\n                43,\n                182,\n                253,\n                109,\n                24,\n                176\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"pump_program\",\n          \"address\": \"6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P\"\n        },\n        {\n          \"name\": \"pump_event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                1,\n                86,\n                224,\n                246,\n                147,\n                102,\n                90,\n                207,\n                68,\n                219,\n                21,\n                104,\n                191,\n                23,\n                91,\n                170,\n                81,\n                137,\n                203,\n                151,\n                245,\n                210,\n                255,\n                59,\n                101,\n                93,\n                43,\n                182,\n                253,\n                109,\n                24,\n                176\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"pool\",\n          \"writable\": true,\n          \"optional\": true\n        },\n        {\n          \"name\": \"pump_amm_program\",\n          \"optional\": true,\n          \"address\": \"pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA\"\n        },\n        {\n          \"name\": \"pump_amm_event_authority\",\n          \"optional\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                12,\n                20,\n                222,\n                252,\n                130,\n                94,\n                198,\n                118,\n                148,\n                37,\n                8,\n                24,\n                187,\n                101,\n                64,\n                101,\n                244,\n                41,\n                141,\n                49,\n                86,\n                213,\n                113,\n                180,\n                212,\n                248,\n                9,\n                12,\n                24,\n                233,\n                168,\n                99\n              ]\n            }\n          }\n        }\n      ],\n      \"args\": []\n    },\n    {\n      \"name\": \"create_social_fee_pda\",\n      \"discriminator\": [\n        144,\n        224,\n        59,\n        211,\n        78,\n        248,\n        202,\n        220\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"payer\",\n          \"writable\": true,\n          \"signer\": true\n        },\n        {\n          \"name\": \"social_fee_pda\",\n          \"writable\": true\n        },\n        {\n          \"name\": \"system_program\",\n          \"address\": \"11111111111111111111111111111111\"\n        },\n        {\n          \"name\": \"fee_program_global\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  102,\n                  101,\n                  101,\n                  45,\n                  112,\n                  114,\n                  111,\n                  103,\n                  114,\n                  97,\n                  109,\n                  45,\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": [\n        {\n          \"name\": \"user_id\",\n          \"type\": \"string\"\n        },\n        {\n          \"name\": \"platform\",\n          \"type\": \"u8\"\n        }\n      ]\n    },\n    {\n      \"name\": \"get_fees\",\n      \"docs\": [\n        \"Get Fees\"\n      ],\n      \"discriminator\": [\n        231,\n        37,\n        126,\n        85,\n        207,\n        91,\n        63,\n        52\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"fee_config\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  102,\n                  101,\n                  101,\n                  95,\n                  99,\n                  111,\n                  110,\n                  102,\n                  105,\n                  103\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"config_program_id\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"config_program_id\"\n        }\n      ],\n      \"args\": [\n        {\n          \"name\": \"is_pump_pool\",\n          \"type\": \"bool\"\n        },\n        {\n          \"name\": \"market_cap_lamports\",\n          \"type\": \"u128\"\n        },\n        {\n          \"name\": \"trade_size_lamports\",\n          \"type\": \"u64\"\n        }\n      ],\n      \"returns\": {\n        \"defined\": {\n          \"name\": \"Fees\"\n        }\n      }\n    },\n    {\n      \"name\": \"initialize_fee_config\",\n      \"docs\": [\n        \"Initialize FeeConfig admin\"\n      ],\n      \"discriminator\": [\n        62,\n        162,\n        20,\n        133,\n        121,\n        65,\n        145,\n        27\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"admin\",\n          \"writable\": true,\n          \"signer\": true,\n          \"address\": \"8LWu7QM2dGR1G8nKDHthckea57bkCzXyBTAKPJUBDHo8\"\n        },\n        {\n          \"name\": \"fee_config\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  102,\n                  101,\n                  101,\n                  95,\n                  99,\n                  111,\n                  110,\n                  102,\n                  105,\n                  103\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"config_program_id\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"system_program\",\n          \"address\": \"11111111111111111111111111111111\"\n        },\n        {\n          \"name\": \"config_program_id\"\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": []\n    },\n    {\n      \"name\": \"initialize_fee_program_global\",\n      \"discriminator\": [\n        35,\n        215,\n        130,\n        84,\n        233,\n        56,\n        124,\n        167\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"authority\",\n          \"writable\": true,\n          \"signer\": true,\n          \"relations\": [\n            \"pump_global\"\n          ]\n        },\n        {\n          \"name\": \"pump_global\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108\n                ]\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                1,\n                86,\n                224,\n                246,\n                147,\n                102,\n                90,\n                207,\n                68,\n                219,\n                21,\n                104,\n                191,\n                23,\n                91,\n                170,\n                81,\n                137,\n                203,\n                151,\n                245,\n                210,\n                255,\n                59,\n                101,\n                93,\n                43,\n                182,\n                253,\n                109,\n                24,\n                176\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"fee_program_global\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  102,\n                  101,\n                  101,\n                  45,\n                  112,\n                  114,\n                  111,\n                  103,\n                  114,\n                  97,\n                  109,\n                  45,\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"system_program\",\n          \"address\": \"11111111111111111111111111111111\"\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": [\n        {\n          \"name\": \"social_claim_authority\",\n          \"type\": \"pubkey\"\n        },\n        {\n          \"name\": \"disable_flags\",\n          \"type\": \"u8\"\n        },\n        {\n          \"name\": \"claim_rate_limit\",\n          \"type\": \"u64\"\n        }\n      ]\n    },\n    {\n      \"name\": \"reset_fee_sharing_config\",\n      \"docs\": [\n        \"Reset Fee Sharing Config and distribute pending fees first\"\n      ],\n      \"discriminator\": [\n        10,\n        2,\n        182,\n        95,\n        16,\n        127,\n        129,\n        186\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"new_admin\"\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\",\n          \"address\": \"pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ\"\n        },\n        {\n          \"name\": \"authority\",\n          \"signer\": true\n        },\n        {\n          \"name\": \"global\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108\n                ]\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                1,\n                86,\n                224,\n                246,\n                147,\n                102,\n                90,\n                207,\n                68,\n                219,\n                21,\n                104,\n                191,\n                23,\n                91,\n                170,\n                81,\n                137,\n                203,\n                151,\n                245,\n                210,\n                255,\n                59,\n                101,\n                93,\n                43,\n                182,\n                253,\n                109,\n                24,\n                176\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"mint\",\n          \"relations\": [\n            \"sharing_config\"\n          ]\n        },\n        {\n          \"name\": \"sharing_config\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  115,\n                  104,\n                  97,\n                  114,\n                  105,\n                  110,\n                  103,\n                  45,\n                  99,\n                  111,\n                  110,\n                  102,\n                  105,\n                  103\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"mint\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"bonding_curve\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  98,\n                  111,\n                  110,\n                  100,\n                  105,\n                  110,\n                  103,\n                  45,\n                  99,\n                  117,\n                  114,\n                  118,\n                  101\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"mint\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                1,\n                86,\n                224,\n                246,\n                147,\n                102,\n                90,\n                207,\n                68,\n                219,\n                21,\n                104,\n                191,\n                23,\n                91,\n                170,\n                81,\n                137,\n                203,\n                151,\n                245,\n                210,\n                255,\n                59,\n                101,\n                93,\n                43,\n                182,\n                253,\n                109,\n                24,\n                176\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"pump_creator_vault\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  99,\n                  114,\n                  101,\n                  97,\n                  116,\n                  111,\n                  114,\n                  45,\n                  118,\n                  97,\n                  117,\n                  108,\n                  116\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"sharing_config\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                1,\n                86,\n                224,\n                246,\n                147,\n                102,\n                90,\n                207,\n                68,\n                219,\n                21,\n                104,\n                191,\n                23,\n                91,\n                170,\n                81,\n                137,\n                203,\n                151,\n                245,\n                210,\n                255,\n                59,\n                101,\n                93,\n                43,\n                182,\n                253,\n                109,\n                24,\n                176\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"system_program\",\n          \"address\": \"11111111111111111111111111111111\"\n        },\n        {\n          \"name\": \"pump_program\",\n          \"address\": \"6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P\"\n        },\n        {\n          \"name\": \"pump_event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                1,\n                86,\n                224,\n                246,\n                147,\n                102,\n                90,\n                207,\n                68,\n                219,\n                21,\n                104,\n                191,\n                23,\n                91,\n                170,\n                81,\n                137,\n                203,\n                151,\n                245,\n                210,\n                255,\n                59,\n                101,\n                93,\n                43,\n                182,\n                253,\n                109,\n                24,\n                176\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"pump_amm_program\",\n          \"address\": \"pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA\"\n        },\n        {\n          \"name\": \"amm_event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                12,\n                20,\n                222,\n                252,\n                130,\n                94,\n                198,\n                118,\n                148,\n                37,\n                8,\n                24,\n                187,\n                101,\n                64,\n                101,\n                244,\n                41,\n                141,\n                49,\n                86,\n                213,\n                113,\n                180,\n                212,\n                248,\n                9,\n                12,\n                24,\n                233,\n                168,\n                99\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"wsol_mint\",\n          \"address\": \"So11111111111111111111111111111111111111112\"\n        },\n        {\n          \"name\": \"token_program\",\n          \"address\": \"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA\"\n        },\n        {\n          \"name\": \"associated_token_program\",\n          \"address\": \"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\"\n        },\n        {\n          \"name\": \"coin_creator_vault_authority\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  99,\n                  114,\n                  101,\n                  97,\n                  116,\n                  111,\n                  114,\n                  95,\n                  118,\n                  97,\n                  117,\n                  108,\n                  116\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"sharing_config\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                12,\n                20,\n                222,\n                252,\n                130,\n                94,\n                198,\n                118,\n                148,\n                37,\n                8,\n                24,\n                187,\n                101,\n                64,\n                101,\n                244,\n                41,\n                141,\n                49,\n                86,\n                213,\n                113,\n                180,\n                212,\n                248,\n                9,\n                12,\n                24,\n                233,\n                168,\n                99\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"coin_creator_vault_ata\",\n          \"writable\": true\n        }\n      ],\n      \"args\": []\n    },\n    {\n      \"name\": \"revoke_fee_sharing_authority\",\n      \"docs\": [\n        \"Revoke Fee Sharing Authority\"\n      ],\n      \"discriminator\": [\n        18,\n        233,\n        158,\n        39,\n        185,\n        207,\n        58,\n        104\n      ],\n      \"accounts\": [],\n      \"args\": []\n    },\n    {\n      \"name\": \"set_authority\",\n      \"discriminator\": [\n        133,\n        250,\n        37,\n        21,\n        110,\n        163,\n        26,\n        121\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"authority\",\n          \"writable\": true,\n          \"signer\": true,\n          \"relations\": [\n            \"fee_program_global\"\n          ]\n        },\n        {\n          \"name\": \"fee_program_global\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  102,\n                  101,\n                  101,\n                  45,\n                  112,\n                  114,\n                  111,\n                  103,\n                  114,\n                  97,\n                  109,\n                  45,\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": [\n        {\n          \"name\": \"new_authority\",\n          \"type\": \"pubkey\"\n        }\n      ]\n    },\n    {\n      \"name\": \"set_claim_rate_limit\",\n      \"discriminator\": [\n        185,\n        211,\n        159,\n        174,\n        212,\n        49,\n        88,\n        4\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"authority\",\n          \"writable\": true,\n          \"signer\": true,\n          \"relations\": [\n            \"fee_program_global\"\n          ]\n        },\n        {\n          \"name\": \"fee_program_global\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  102,\n                  101,\n                  101,\n                  45,\n                  112,\n                  114,\n                  111,\n                  103,\n                  114,\n                  97,\n                  109,\n                  45,\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": [\n        {\n          \"name\": \"claim_rate_limit\",\n          \"type\": \"u64\"\n        }\n      ]\n    },\n    {\n      \"name\": \"set_disable_flags\",\n      \"discriminator\": [\n        194,\n        217,\n        112,\n        35,\n        114,\n        222,\n        51,\n        190\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"authority\",\n          \"writable\": true,\n          \"signer\": true,\n          \"relations\": [\n            \"fee_program_global\"\n          ]\n        },\n        {\n          \"name\": \"fee_program_global\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  102,\n                  101,\n                  101,\n                  45,\n                  112,\n                  114,\n                  111,\n                  103,\n                  114,\n                  97,\n                  109,\n                  45,\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": [\n        {\n          \"name\": \"disable_flags\",\n          \"type\": \"u8\"\n        }\n      ]\n    },\n    {\n      \"name\": \"set_social_claim_authority\",\n      \"discriminator\": [\n        147,\n        54,\n        184,\n        154,\n        136,\n        237,\n        185,\n        153\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"authority\",\n          \"writable\": true,\n          \"signer\": true,\n          \"relations\": [\n            \"fee_program_global\"\n          ]\n        },\n        {\n          \"name\": \"fee_program_global\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  102,\n                  101,\n                  101,\n                  45,\n                  112,\n                  114,\n                  111,\n                  103,\n                  114,\n                  97,\n                  109,\n                  45,\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": [\n        {\n          \"name\": \"social_claim_authority\",\n          \"type\": \"pubkey\"\n        }\n      ]\n    },\n    {\n      \"name\": \"transfer_fee_sharing_authority\",\n      \"docs\": [\n        \"Transfer Fee Sharing Authority\"\n      ],\n      \"discriminator\": [\n        202,\n        10,\n        75,\n        200,\n        164,\n        34,\n        210,\n        96\n      ],\n      \"accounts\": [],\n      \"args\": []\n    },\n    {\n      \"name\": \"update_admin\",\n      \"docs\": [\n        \"Update admin (only callable by admin)\"\n      ],\n      \"discriminator\": [\n        161,\n        176,\n        40,\n        213,\n        60,\n        184,\n        179,\n        228\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"admin\",\n          \"signer\": true,\n          \"relations\": [\n            \"fee_config\"\n          ]\n        },\n        {\n          \"name\": \"fee_config\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  102,\n                  101,\n                  101,\n                  95,\n                  99,\n                  111,\n                  110,\n                  102,\n                  105,\n                  103\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"config_program_id\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"new_admin\"\n        },\n        {\n          \"name\": \"config_program_id\"\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": []\n    },\n    {\n      \"name\": \"update_fee_config\",\n      \"docs\": [\n        \"Set/Replace fee parameters entirely (only callable by admin)\"\n      ],\n      \"discriminator\": [\n        104,\n        184,\n        103,\n        242,\n        88,\n        151,\n        107,\n        20\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"fee_config\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  102,\n                  101,\n                  101,\n                  95,\n                  99,\n                  111,\n                  110,\n                  102,\n                  105,\n                  103\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"config_program_id\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"admin\",\n          \"signer\": true,\n          \"relations\": [\n            \"fee_config\"\n          ]\n        },\n        {\n          \"name\": \"config_program_id\"\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": [\n        {\n          \"name\": \"fee_tiers\",\n          \"type\": {\n            \"vec\": {\n              \"defined\": {\n                \"name\": \"FeeTier\"\n              }\n            }\n          }\n        },\n        {\n          \"name\": \"flat_fees\",\n          \"type\": {\n            \"defined\": {\n              \"name\": \"Fees\"\n            }\n          }\n        }\n      ]\n    },\n    {\n      \"name\": \"update_fee_shares\",\n      \"docs\": [\n        \"Update Fee Shares, make sure to distribute all the fees before calling this\"\n      ],\n      \"discriminator\": [\n        189,\n        13,\n        136,\n        99,\n        187,\n        164,\n        237,\n        35\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\",\n          \"address\": \"pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ\"\n        },\n        {\n          \"name\": \"authority\",\n          \"signer\": true\n        },\n        {\n          \"name\": \"global\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108\n                ]\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                1,\n                86,\n                224,\n                246,\n                147,\n                102,\n                90,\n                207,\n                68,\n                219,\n                21,\n                104,\n                191,\n                23,\n                91,\n                170,\n                81,\n                137,\n                203,\n                151,\n                245,\n                210,\n                255,\n                59,\n                101,\n                93,\n                43,\n                182,\n                253,\n                109,\n                24,\n                176\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"mint\",\n          \"relations\": [\n            \"sharing_config\"\n          ]\n        },\n        {\n          \"name\": \"sharing_config\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  115,\n                  104,\n                  97,\n                  114,\n                  105,\n                  110,\n                  103,\n                  45,\n                  99,\n                  111,\n                  110,\n                  102,\n                  105,\n                  103\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"mint\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"bonding_curve\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  98,\n                  111,\n                  110,\n                  100,\n                  105,\n                  110,\n                  103,\n                  45,\n                  99,\n                  117,\n                  114,\n                  118,\n                  101\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"mint\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                1,\n                86,\n                224,\n                246,\n                147,\n                102,\n                90,\n                207,\n                68,\n                219,\n                21,\n                104,\n                191,\n                23,\n                91,\n                170,\n                81,\n                137,\n                203,\n                151,\n                245,\n                210,\n                255,\n                59,\n                101,\n                93,\n                43,\n                182,\n                253,\n                109,\n                24,\n                176\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"pump_creator_vault\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  99,\n                  114,\n                  101,\n                  97,\n                  116,\n                  111,\n                  114,\n                  45,\n                  118,\n                  97,\n                  117,\n                  108,\n                  116\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"sharing_config\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                1,\n                86,\n                224,\n                246,\n                147,\n                102,\n                90,\n                207,\n                68,\n                219,\n                21,\n                104,\n                191,\n                23,\n                91,\n                170,\n                81,\n                137,\n                203,\n                151,\n                245,\n                210,\n                255,\n                59,\n                101,\n                93,\n                43,\n                182,\n                253,\n                109,\n                24,\n                176\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"system_program\",\n          \"address\": \"11111111111111111111111111111111\"\n        },\n        {\n          \"name\": \"pump_program\",\n          \"address\": \"6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P\"\n        },\n        {\n          \"name\": \"pump_event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                1,\n                86,\n                224,\n                246,\n                147,\n                102,\n                90,\n                207,\n                68,\n                219,\n                21,\n                104,\n                191,\n                23,\n                91,\n                170,\n                81,\n                137,\n                203,\n                151,\n                245,\n                210,\n                255,\n                59,\n                101,\n                93,\n                43,\n                182,\n                253,\n                109,\n                24,\n                176\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"pump_amm_program\",\n          \"address\": \"pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA\"\n        },\n        {\n          \"name\": \"amm_event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                12,\n                20,\n                222,\n                252,\n                130,\n                94,\n                198,\n                118,\n                148,\n                37,\n                8,\n                24,\n                187,\n                101,\n                64,\n                101,\n                244,\n                41,\n                141,\n                49,\n                86,\n                213,\n                113,\n                180,\n                212,\n                248,\n                9,\n                12,\n                24,\n                233,\n                168,\n                99\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"wsol_mint\",\n          \"address\": \"So11111111111111111111111111111111111111112\"\n        },\n        {\n          \"name\": \"token_program\",\n          \"address\": \"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA\"\n        },\n        {\n          \"name\": \"associated_token_program\",\n          \"address\": \"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\"\n        },\n        {\n          \"name\": \"coin_creator_vault_authority\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  99,\n                  114,\n                  101,\n                  97,\n                  116,\n                  111,\n                  114,\n                  95,\n                  118,\n                  97,\n                  117,\n                  108,\n                  116\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"sharing_config\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                12,\n                20,\n                222,\n                252,\n                130,\n                94,\n                198,\n                118,\n                148,\n                37,\n                8,\n                24,\n                187,\n                101,\n                64,\n                101,\n                244,\n                41,\n                141,\n                49,\n                86,\n                213,\n                113,\n                180,\n                212,\n                248,\n                9,\n                12,\n                24,\n                233,\n                168,\n                99\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"coin_creator_vault_ata\",\n          \"writable\": true\n        }\n      ],\n      \"args\": [\n        {\n          \"name\": \"shareholders\",\n          \"type\": {\n            \"vec\": {\n              \"defined\": {\n                \"name\": \"Shareholder\"\n              }\n            }\n          }\n        }\n      ]\n    },\n    {\n      \"name\": \"upsert_fee_tiers\",\n      \"docs\": [\n        \"Update or expand fee tiers (only callable by admin)\"\n      ],\n      \"discriminator\": [\n        227,\n        23,\n        150,\n        12,\n        77,\n        86,\n        94,\n        4\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"fee_config\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  102,\n                  101,\n                  101,\n                  95,\n                  99,\n                  111,\n                  110,\n                  102,\n                  105,\n                  103\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"config_program_id\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"admin\",\n          \"signer\": true,\n          \"relations\": [\n            \"fee_config\"\n          ]\n        },\n        {\n          \"name\": \"config_program_id\"\n        },\n        {\n          \"name\": \"event_authority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": [\n        {\n          \"name\": \"fee_tiers\",\n          \"type\": {\n            \"vec\": {\n              \"defined\": {\n                \"name\": \"FeeTier\"\n              }\n            }\n          }\n        },\n        {\n          \"name\": \"offset\",\n          \"type\": \"u8\"\n        }\n      ]\n    }\n  ],\n  \"accounts\": [\n    {\n      \"name\": \"BondingCurve\",\n      \"discriminator\": [\n        23,\n        183,\n        248,\n        55,\n        96,\n        216,\n        172,\n        96\n      ]\n    },\n    {\n      \"name\": \"FeeConfig\",\n      \"discriminator\": [\n        143,\n        52,\n        146,\n        187,\n        219,\n        123,\n        76,\n        155\n      ]\n    },\n    {\n      \"name\": \"FeeProgramGlobal\",\n      \"discriminator\": [\n        162,\n        165,\n        245,\n        49,\n        29,\n        37,\n        55,\n        242\n      ]\n    },\n    {\n      \"name\": \"Global\",\n      \"discriminator\": [\n        167,\n        232,\n        232,\n        177,\n        200,\n        108,\n        114,\n        127\n      ]\n    },\n    {\n      \"name\": \"Pool\",\n      \"discriminator\": [\n        241,\n        154,\n        109,\n        4,\n        17,\n        177,\n        109,\n        188\n      ]\n    },\n    {\n      \"name\": \"SharingConfig\",\n      \"discriminator\": [\n        216,\n        74,\n        9,\n        0,\n        56,\n        140,\n        93,\n        75\n      ]\n    },\n    {\n      \"name\": \"SocialFeePda\",\n      \"discriminator\": [\n        139,\n        96,\n        53,\n        17,\n        42,\n        169,\n        206,\n        150\n      ]\n    }\n  ],\n  \"events\": [\n    {\n      \"name\": \"CreateFeeSharingConfigEvent\",\n      \"discriminator\": [\n        133,\n        105,\n        170,\n        200,\n        184,\n        116,\n        251,\n        88\n      ]\n    },\n    {\n      \"name\": \"InitializeFeeConfigEvent\",\n      \"discriminator\": [\n        89,\n        138,\n        244,\n        230,\n        10,\n        56,\n        226,\n        126\n      ]\n    },\n    {\n      \"name\": \"InitializeFeeProgramGlobalEvent\",\n      \"discriminator\": [\n        40,\n        233,\n        156,\n        78,\n        95,\n        0,\n        8,\n        199\n      ]\n    },\n    {\n      \"name\": \"ResetFeeSharingConfigEvent\",\n      \"discriminator\": [\n        203,\n        204,\n        151,\n        226,\n        120,\n        55,\n        214,\n        243\n      ]\n    },\n    {\n      \"name\": \"SetAuthorityEvent\",\n      \"discriminator\": [\n        18,\n        175,\n        132,\n        66,\n        208,\n        201,\n        87,\n        242\n      ]\n    },\n    {\n      \"name\": \"SetClaimRateLimitEvent\",\n      \"discriminator\": [\n        13,\n        143,\n        143,\n        235,\n        181,\n        19,\n        51,\n        40\n      ]\n    },\n    {\n      \"name\": \"SetDisableFlagsEvent\",\n      \"discriminator\": [\n        5,\n        8,\n        179,\n        65,\n        49,\n        55,\n        145,\n        126\n      ]\n    },\n    {\n      \"name\": \"SetSocialClaimAuthorityEvent\",\n      \"discriminator\": [\n        60,\n        118,\n        127,\n        132,\n        239,\n        52,\n        254,\n        14\n      ]\n    },\n    {\n      \"name\": \"SocialFeePdaClaimed\",\n      \"discriminator\": [\n        50,\n        18,\n        193,\n        65,\n        237,\n        210,\n        234,\n        236\n      ]\n    },\n    {\n      \"name\": \"SocialFeePdaCreated\",\n      \"discriminator\": [\n        183,\n        183,\n        218,\n        147,\n        24,\n        124,\n        137,\n        169\n      ]\n    },\n    {\n      \"name\": \"UpdateAdminEvent\",\n      \"discriminator\": [\n        225,\n        152,\n        171,\n        87,\n        246,\n        63,\n        66,\n        234\n      ]\n    },\n    {\n      \"name\": \"UpdateFeeConfigEvent\",\n      \"discriminator\": [\n        90,\n        23,\n        65,\n        35,\n        62,\n        244,\n        188,\n        208\n      ]\n    },\n    {\n      \"name\": \"UpdateFeeSharesEvent\",\n      \"discriminator\": [\n        21,\n        186,\n        196,\n        184,\n        91,\n        228,\n        225,\n        203\n      ]\n    },\n    {\n      \"name\": \"UpsertFeeTiersEvent\",\n      \"discriminator\": [\n        171,\n        89,\n        169,\n        187,\n        122,\n        186,\n        33,\n        204\n      ]\n    }\n  ],\n  \"errors\": [\n    {\n      \"code\": 6000,\n      \"name\": \"UnauthorizedProgram\",\n      \"msg\": \"Only Pump and PumpSwap programs can call this instruction\"\n    },\n    {\n      \"code\": 6001,\n      \"name\": \"InvalidAdmin\",\n      \"msg\": \"Invalid admin\"\n    },\n    {\n      \"code\": 6002,\n      \"name\": \"NoFeeTiers\",\n      \"msg\": \"No fee tiers provided\"\n    },\n    {\n      \"code\": 6003,\n      \"name\": \"TooManyFeeTiers\",\n      \"msg\": \"format\"\n    },\n    {\n      \"code\": 6004,\n      \"name\": \"OffsetNotContinuous\",\n      \"msg\": \"The offset should be <= fee_config.fee_tiers.len()\"\n    },\n    {\n      \"code\": 6005,\n      \"name\": \"FeeTiersNotSorted\",\n      \"msg\": \"Fee tiers must be sorted by market cap threshold (ascending)\"\n    },\n    {\n      \"code\": 6006,\n      \"name\": \"InvalidFeeTotal\",\n      \"msg\": \"Fee total must not exceed 10_000bps\"\n    },\n    {\n      \"code\": 6007,\n      \"name\": \"InvalidSharingConfig\",\n      \"msg\": \"Invalid Sharing Config\"\n    },\n    {\n      \"code\": 6008,\n      \"name\": \"InvalidPool\",\n      \"msg\": \"Invalid Pool\"\n    },\n    {\n      \"code\": 6009,\n      \"name\": \"SharingConfigAdminRevoked\",\n      \"msg\": \"Sharing config authority has been revoked - sharing config can only be updated once\"\n    },\n    {\n      \"code\": 6010,\n      \"name\": \"NoShareholders\",\n      \"msg\": \"No shareholders provided\"\n    },\n    {\n      \"code\": 6011,\n      \"name\": \"TooManyShareholders\",\n      \"msg\": \"format\"\n    },\n    {\n      \"code\": 6012,\n      \"name\": \"DuplicateShareholder\",\n      \"msg\": \"Duplicate shareholder address\"\n    },\n    {\n      \"code\": 6013,\n      \"name\": \"NotEnoughRemainingAccounts\",\n      \"msg\": \"Not enough remaining accounts\"\n    },\n    {\n      \"code\": 6014,\n      \"name\": \"InvalidShareTotal\",\n      \"msg\": \"Invalid share total - must equal 10_000 basis points\"\n    },\n    {\n      \"code\": 6015,\n      \"name\": \"ShareCalculationOverflow\",\n      \"msg\": \"Share calculation overflow\"\n    },\n    {\n      \"code\": 6016,\n      \"name\": \"NotAuthorized\",\n      \"msg\": \"The given account is not authorized to execute this instruction.\"\n    },\n    {\n      \"code\": 6017,\n      \"name\": \"ZeroShareNotAllowed\",\n      \"msg\": \"Shareholder cannot have zero share\"\n    },\n    {\n      \"code\": 6018,\n      \"name\": \"SharingConfigNotActive\",\n      \"msg\": \"Fee sharing config is not active\"\n    },\n    {\n      \"code\": 6019,\n      \"name\": \"AmmAccountsRequiredForGraduatedCoin\",\n      \"msg\": \"AMM accounts are required for graduated coins\"\n    },\n    {\n      \"code\": 6020,\n      \"name\": \"ShareholderAccountMismatch\",\n      \"msg\": \"Remaining account key doesn't match shareholder address\"\n    },\n    {\n      \"code\": 6021,\n      \"name\": \"FeatureDeactivated\",\n      \"msg\": \"Feature is currently deactivated\"\n    },\n    {\n      \"code\": 6022,\n      \"name\": \"UserIdTooLong\",\n      \"msg\": \"User ID exceeds maximum length\"\n    },\n    {\n      \"code\": 6023,\n      \"name\": \"DeprecatedInstruction\",\n      \"msg\": \"Instruction is deprecated\"\n    },\n    {\n      \"code\": 6024,\n      \"name\": \"FeeSharesAlreadyUpdated\",\n      \"msg\": \"Reward split can only be updated once\"\n    }\n  ],\n  \"types\": [\n    {\n      \"name\": \"BondingCurve\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"virtual_token_reserves\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"virtual_sol_reserves\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"real_token_reserves\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"real_sol_reserves\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"token_total_supply\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"complete\",\n            \"type\": \"bool\"\n          },\n          {\n            \"name\": \"creator\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"is_mayhem_mode\",\n            \"type\": \"bool\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"ConfigStatus\",\n      \"type\": {\n        \"kind\": \"enum\",\n        \"variants\": [\n          {\n            \"name\": \"Paused\"\n          },\n          {\n            \"name\": \"Active\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"CreateFeeSharingConfigEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"mint\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"bonding_curve\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"pool\",\n            \"type\": {\n              \"option\": \"pubkey\"\n            }\n          },\n          {\n            \"name\": \"sharing_config\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"admin\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"initial_shareholders\",\n            \"type\": {\n              \"vec\": {\n                \"defined\": {\n                  \"name\": \"Shareholder\"\n                }\n              }\n            }\n          },\n          {\n            \"name\": \"status\",\n            \"type\": {\n              \"defined\": {\n                \"name\": \"ConfigStatus\"\n              }\n            }\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"FeeConfig\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"bump\",\n            \"docs\": [\n              \"The bump for the PDA\"\n            ],\n            \"type\": \"u8\"\n          },\n          {\n            \"name\": \"admin\",\n            \"docs\": [\n              \"The admin account that can update the fee config\"\n            ],\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"flat_fees\",\n            \"docs\": [\n              \"The flat fees for non-pump pools\"\n            ],\n            \"type\": {\n              \"defined\": {\n                \"name\": \"Fees\"\n              }\n            }\n          },\n          {\n            \"name\": \"fee_tiers\",\n            \"docs\": [\n              \"The fee tiers\"\n            ],\n            \"type\": {\n              \"vec\": {\n                \"defined\": {\n                  \"name\": \"FeeTier\"\n                }\n              }\n            }\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"FeeProgramGlobal\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"bump\",\n            \"type\": \"u8\"\n          },\n          {\n            \"name\": \"authority\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"disable_flags\",\n            \"type\": \"u8\"\n          },\n          {\n            \"name\": \"social_claim_authority\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"claim_rate_limit\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"_reserved\",\n            \"type\": {\n              \"array\": [\n                \"u8\",\n                256\n              ]\n            }\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"FeeTier\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"market_cap_lamports_threshold\",\n            \"type\": \"u128\"\n          },\n          {\n            \"name\": \"fees\",\n            \"type\": {\n              \"defined\": {\n                \"name\": \"Fees\"\n              }\n            }\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"Fees\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"lp_fee_bps\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"protocol_fee_bps\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"creator_fee_bps\",\n            \"type\": \"u64\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"Global\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"initialized\",\n            \"type\": \"bool\"\n          },\n          {\n            \"name\": \"authority\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"fee_recipient\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"initial_virtual_token_reserves\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"initial_virtual_sol_reserves\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"initial_real_token_reserves\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"token_total_supply\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"fee_basis_points\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"withdraw_authority\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"enable_migrate\",\n            \"type\": \"bool\"\n          },\n          {\n            \"name\": \"pool_migration_fee\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"creator_fee_basis_points\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"fee_recipients\",\n            \"type\": {\n              \"array\": [\n                \"pubkey\",\n                7\n              ]\n            }\n          },\n          {\n            \"name\": \"set_creator_authority\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"admin_set_creator_authority\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"create_v2_enabled\",\n            \"type\": \"bool\"\n          },\n          {\n            \"name\": \"whitelist_pda\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"reserved_fee_recipient\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"mayhem_mode_enabled\",\n            \"type\": \"bool\"\n          },\n          {\n            \"name\": \"reserved_fee_recipients\",\n            \"type\": {\n              \"array\": [\n                \"pubkey\",\n                7\n              ]\n            }\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"InitializeFeeConfigEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"admin\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"fee_config\",\n            \"type\": \"pubkey\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"InitializeFeeProgramGlobalEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"authority\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"social_claim_authority\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"disable_flags\",\n            \"type\": \"u8\"\n          },\n          {\n            \"name\": \"claim_rate_limit\",\n            \"type\": \"u64\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"Pool\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"pool_bump\",\n            \"type\": \"u8\"\n          },\n          {\n            \"name\": \"index\",\n            \"type\": \"u16\"\n          },\n          {\n            \"name\": \"creator\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"base_mint\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"quote_mint\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"lp_mint\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"pool_base_token_account\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"pool_quote_token_account\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"lp_supply\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"coin_creator\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"is_mayhem_mode\",\n            \"type\": \"bool\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"ResetFeeSharingConfigEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"mint\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"sharing_config\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"old_admin\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"old_shareholders\",\n            \"type\": {\n              \"vec\": {\n                \"defined\": {\n                  \"name\": \"Shareholder\"\n                }\n              }\n            }\n          },\n          {\n            \"name\": \"new_admin\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"new_shareholders\",\n            \"type\": {\n              \"vec\": {\n                \"defined\": {\n                  \"name\": \"Shareholder\"\n                }\n              }\n            }\n          },\n          {\n            \"name\": \"old_version\",\n            \"type\": \"u8\"\n          },\n          {\n            \"name\": \"new_version\",\n            \"type\": \"u8\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"SetAuthorityEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"old_authority\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"new_authority\",\n            \"type\": \"pubkey\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"SetClaimRateLimitEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"claim_rate_limit\",\n            \"type\": \"u64\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"SetDisableFlagsEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"disable_flags\",\n            \"type\": \"u8\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"SetSocialClaimAuthorityEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"social_claim_authority\",\n            \"type\": \"pubkey\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"Shareholder\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"address\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"share_bps\",\n            \"type\": \"u16\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"SharingConfig\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"bump\",\n            \"type\": \"u8\"\n          },\n          {\n            \"name\": \"version\",\n            \"type\": \"u8\"\n          },\n          {\n            \"name\": \"status\",\n            \"type\": {\n              \"defined\": {\n                \"name\": \"ConfigStatus\"\n              }\n            }\n          },\n          {\n            \"name\": \"mint\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"admin\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"admin_revoked\",\n            \"type\": \"bool\"\n          },\n          {\n            \"name\": \"shareholders\",\n            \"type\": {\n              \"vec\": {\n                \"defined\": {\n                  \"name\": \"Shareholder\"\n                }\n              }\n            }\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"SocialFeePda\",\n      \"docs\": [\n        \"Platform identifier: 0=pump, 1=twitter, etc.\"\n      ],\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"bump\",\n            \"type\": \"u8\"\n          },\n          {\n            \"name\": \"version\",\n            \"type\": \"u8\"\n          },\n          {\n            \"name\": \"user_id\",\n            \"docs\": [\n              \"Max 20 characters to fit u64::MAX (18,446,744,073,709,551,615) as a string.\",\n              \"Actual storage: 4 bytes (length prefix) + 20 bytes (content) = 24 bytes.\"\n            ],\n            \"type\": \"string\"\n          },\n          {\n            \"name\": \"platform\",\n            \"type\": \"u8\"\n          },\n          {\n            \"name\": \"total_claimed\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"last_claimed\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"_reserved\",\n            \"type\": {\n              \"array\": [\n                \"u8\",\n                128\n              ]\n            }\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"SocialFeePdaClaimed\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"user_id\",\n            \"type\": \"string\"\n          },\n          {\n            \"name\": \"platform\",\n            \"type\": \"u8\"\n          },\n          {\n            \"name\": \"social_fee_pda\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"recipient\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"social_claim_authority\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"amount_claimed\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"claimable_before\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"lifetime_claimed\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"recipient_balance_before\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"recipient_balance_after\",\n            \"type\": \"u64\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"SocialFeePdaCreated\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"user_id\",\n            \"type\": \"string\"\n          },\n          {\n            \"name\": \"platform\",\n            \"type\": \"u8\"\n          },\n          {\n            \"name\": \"social_fee_pda\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"created_by\",\n            \"type\": \"pubkey\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"UpdateAdminEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"old_admin\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"new_admin\",\n            \"type\": \"pubkey\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"UpdateFeeConfigEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"admin\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"fee_config\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"fee_tiers\",\n            \"type\": {\n              \"vec\": {\n                \"defined\": {\n                  \"name\": \"FeeTier\"\n                }\n              }\n            }\n          },\n          {\n            \"name\": \"flat_fees\",\n            \"type\": {\n              \"defined\": {\n                \"name\": \"Fees\"\n              }\n            }\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"UpdateFeeSharesEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"mint\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"sharing_config\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"admin\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"new_shareholders\",\n            \"type\": {\n              \"vec\": {\n                \"defined\": {\n                  \"name\": \"Shareholder\"\n                }\n              }\n            }\n          },\n          {\n            \"name\": \"version\",\n            \"type\": \"u8\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"UpsertFeeTiersEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"admin\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"fee_config\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"fee_tiers\",\n            \"type\": {\n              \"vec\": {\n                \"defined\": {\n                  \"name\": \"FeeTier\"\n                }\n              }\n            }\n          },\n          {\n            \"name\": \"offset\",\n            \"type\": \"u8\"\n          }\n        ]\n      }\n    }\n  ],\n  \"constants\": [\n    {\n      \"name\": \"AMM_CREATOR_VAULT_AUTHORITY_SEED\",\n      \"type\": {\n        \"array\": [\n          \"u8\",\n          13\n        ]\n      },\n      \"value\": \"[99, 114, 101, 97, 116, 111, 114, 95, 118, 97, 117, 108, 116]\"\n    },\n    {\n      \"name\": \"FEE_CONFIG_SEED\",\n      \"type\": \"bytes\",\n      \"value\": \"[102, 101, 101, 95, 99, 111, 110, 102, 105, 103]\"\n    },\n    {\n      \"name\": \"FEE_PROGRAM_GLOBAL_SEED\",\n      \"type\": {\n        \"array\": [\n          \"u8\",\n          18\n        ]\n      },\n      \"value\": \"[102, 101, 101, 45, 112, 114, 111, 103, 114, 97, 109, 45, 103, 108, 111, 98, 97, 108]\"\n    },\n    {\n      \"name\": \"PUMP_CREATOR_VAULT_SEED\",\n      \"type\": {\n        \"array\": [\n          \"u8\",\n          13\n        ]\n      },\n      \"value\": \"[99, 114, 101, 97, 116, 111, 114, 45, 118, 97, 117, 108, 116]\"\n    },\n    {\n      \"name\": \"PUMP_GLOBAL_SEED\",\n      \"docs\": [\n        \"Bonding Curve Program Global Seed\"\n      ],\n      \"type\": {\n        \"array\": [\n          \"u8\",\n          6\n        ]\n      },\n      \"value\": \"[103, 108, 111, 98, 97, 108]\"\n    },\n    {\n      \"name\": \"SHARING_CONFIG_SEED\",\n      \"type\": {\n        \"array\": [\n          \"u8\",\n          14\n        ]\n      },\n      \"value\": \"[115, 104, 97, 114, 105, 110, 103, 45, 99, 111, 110, 102, 105, 103]\"\n    },\n    {\n      \"name\": \"SOCIAL_FEE_PDA_SEED\",\n      \"type\": {\n        \"array\": [\n          \"u8\",\n          14\n        ]\n      },\n      \"value\": \"[115, 111, 99, 105, 97, 108, 45, 102, 101, 101, 45, 112, 100, 97]\"\n    }\n  ]\n}"
  },
  {
    "path": "idl/pump_fees.ts",
    "content": "/**\n * Program IDL in camelCase format in order to be used in JS/TS.\n *\n * Note that this is only a type helper and is not the actual IDL. The original\n * IDL can be found at `target/idl/pump_fees.json`.\n */\nexport type PumpFees = {\n  \"address\": \"pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ\",\n  \"metadata\": {\n    \"name\": \"pumpFees\",\n    \"version\": \"0.1.0\",\n    \"spec\": \"0.1.0\",\n    \"description\": \"Created with Anchor\"\n  },\n  \"instructions\": [\n    {\n      \"name\": \"claimSocialFeePda\",\n      \"discriminator\": [\n        225,\n        21,\n        251,\n        133,\n        161,\n        30,\n        199,\n        226\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"recipient\",\n          \"writable\": true\n        },\n        {\n          \"name\": \"socialFeePda\",\n          \"writable\": true\n        },\n        {\n          \"name\": \"feeProgramGlobal\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  102,\n                  101,\n                  101,\n                  45,\n                  112,\n                  114,\n                  111,\n                  103,\n                  114,\n                  97,\n                  109,\n                  45,\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"socialClaimAuthority\",\n          \"signer\": true,\n          \"relations\": [\n            \"feeProgramGlobal\"\n          ]\n        },\n        {\n          \"name\": \"eventAuthority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": [\n        {\n          \"name\": \"userId\",\n          \"type\": \"string\"\n        },\n        {\n          \"name\": \"platform\",\n          \"type\": \"u8\"\n        }\n      ],\n      \"returns\": {\n        \"option\": {\n          \"defined\": {\n            \"name\": \"socialFeePdaClaimed\"\n          }\n        }\n      }\n    },\n    {\n      \"name\": \"createFeeSharingConfig\",\n      \"docs\": [\n        \"Create Fee Sharing Config\"\n      ],\n      \"discriminator\": [\n        195,\n        78,\n        86,\n        76,\n        111,\n        52,\n        251,\n        213\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"eventAuthority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\",\n          \"address\": \"pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ\"\n        },\n        {\n          \"name\": \"payer\",\n          \"writable\": true,\n          \"signer\": true\n        },\n        {\n          \"name\": \"global\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108\n                ]\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                1,\n                86,\n                224,\n                246,\n                147,\n                102,\n                90,\n                207,\n                68,\n                219,\n                21,\n                104,\n                191,\n                23,\n                91,\n                170,\n                81,\n                137,\n                203,\n                151,\n                245,\n                210,\n                255,\n                59,\n                101,\n                93,\n                43,\n                182,\n                253,\n                109,\n                24,\n                176\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"mint\"\n        },\n        {\n          \"name\": \"sharingConfig\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  115,\n                  104,\n                  97,\n                  114,\n                  105,\n                  110,\n                  103,\n                  45,\n                  99,\n                  111,\n                  110,\n                  102,\n                  105,\n                  103\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"mint\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"systemProgram\",\n          \"address\": \"11111111111111111111111111111111\"\n        },\n        {\n          \"name\": \"bondingCurve\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  98,\n                  111,\n                  110,\n                  100,\n                  105,\n                  110,\n                  103,\n                  45,\n                  99,\n                  117,\n                  114,\n                  118,\n                  101\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"mint\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                1,\n                86,\n                224,\n                246,\n                147,\n                102,\n                90,\n                207,\n                68,\n                219,\n                21,\n                104,\n                191,\n                23,\n                91,\n                170,\n                81,\n                137,\n                203,\n                151,\n                245,\n                210,\n                255,\n                59,\n                101,\n                93,\n                43,\n                182,\n                253,\n                109,\n                24,\n                176\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"pumpProgram\",\n          \"address\": \"6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P\"\n        },\n        {\n          \"name\": \"pumpEventAuthority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                1,\n                86,\n                224,\n                246,\n                147,\n                102,\n                90,\n                207,\n                68,\n                219,\n                21,\n                104,\n                191,\n                23,\n                91,\n                170,\n                81,\n                137,\n                203,\n                151,\n                245,\n                210,\n                255,\n                59,\n                101,\n                93,\n                43,\n                182,\n                253,\n                109,\n                24,\n                176\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"pool\",\n          \"writable\": true,\n          \"optional\": true\n        },\n        {\n          \"name\": \"pumpAmmProgram\",\n          \"optional\": true,\n          \"address\": \"pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA\"\n        },\n        {\n          \"name\": \"pumpAmmEventAuthority\",\n          \"optional\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                12,\n                20,\n                222,\n                252,\n                130,\n                94,\n                198,\n                118,\n                148,\n                37,\n                8,\n                24,\n                187,\n                101,\n                64,\n                101,\n                244,\n                41,\n                141,\n                49,\n                86,\n                213,\n                113,\n                180,\n                212,\n                248,\n                9,\n                12,\n                24,\n                233,\n                168,\n                99\n              ]\n            }\n          }\n        }\n      ],\n      \"args\": []\n    },\n    {\n      \"name\": \"createSocialFeePda\",\n      \"discriminator\": [\n        144,\n        224,\n        59,\n        211,\n        78,\n        248,\n        202,\n        220\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"payer\",\n          \"writable\": true,\n          \"signer\": true\n        },\n        {\n          \"name\": \"socialFeePda\",\n          \"writable\": true\n        },\n        {\n          \"name\": \"systemProgram\",\n          \"address\": \"11111111111111111111111111111111\"\n        },\n        {\n          \"name\": \"feeProgramGlobal\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  102,\n                  101,\n                  101,\n                  45,\n                  112,\n                  114,\n                  111,\n                  103,\n                  114,\n                  97,\n                  109,\n                  45,\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"eventAuthority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": [\n        {\n          \"name\": \"userId\",\n          \"type\": \"string\"\n        },\n        {\n          \"name\": \"platform\",\n          \"type\": \"u8\"\n        }\n      ]\n    },\n    {\n      \"name\": \"getFees\",\n      \"docs\": [\n        \"Get Fees\"\n      ],\n      \"discriminator\": [\n        231,\n        37,\n        126,\n        85,\n        207,\n        91,\n        63,\n        52\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"feeConfig\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  102,\n                  101,\n                  101,\n                  95,\n                  99,\n                  111,\n                  110,\n                  102,\n                  105,\n                  103\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"configProgramId\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"configProgramId\"\n        }\n      ],\n      \"args\": [\n        {\n          \"name\": \"isPumpPool\",\n          \"type\": \"bool\"\n        },\n        {\n          \"name\": \"marketCapLamports\",\n          \"type\": \"u128\"\n        },\n        {\n          \"name\": \"tradeSizeLamports\",\n          \"type\": \"u64\"\n        }\n      ],\n      \"returns\": {\n        \"defined\": {\n          \"name\": \"fees\"\n        }\n      }\n    },\n    {\n      \"name\": \"initializeFeeConfig\",\n      \"docs\": [\n        \"Initialize FeeConfig admin\"\n      ],\n      \"discriminator\": [\n        62,\n        162,\n        20,\n        133,\n        121,\n        65,\n        145,\n        27\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"admin\",\n          \"writable\": true,\n          \"signer\": true,\n          \"address\": \"8LWu7QM2dGR1G8nKDHthckea57bkCzXyBTAKPJUBDHo8\"\n        },\n        {\n          \"name\": \"feeConfig\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  102,\n                  101,\n                  101,\n                  95,\n                  99,\n                  111,\n                  110,\n                  102,\n                  105,\n                  103\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"configProgramId\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"systemProgram\",\n          \"address\": \"11111111111111111111111111111111\"\n        },\n        {\n          \"name\": \"configProgramId\"\n        },\n        {\n          \"name\": \"eventAuthority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": []\n    },\n    {\n      \"name\": \"initializeFeeProgramGlobal\",\n      \"discriminator\": [\n        35,\n        215,\n        130,\n        84,\n        233,\n        56,\n        124,\n        167\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"authority\",\n          \"writable\": true,\n          \"signer\": true,\n          \"relations\": [\n            \"pumpGlobal\"\n          ]\n        },\n        {\n          \"name\": \"pumpGlobal\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108\n                ]\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                1,\n                86,\n                224,\n                246,\n                147,\n                102,\n                90,\n                207,\n                68,\n                219,\n                21,\n                104,\n                191,\n                23,\n                91,\n                170,\n                81,\n                137,\n                203,\n                151,\n                245,\n                210,\n                255,\n                59,\n                101,\n                93,\n                43,\n                182,\n                253,\n                109,\n                24,\n                176\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"feeProgramGlobal\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  102,\n                  101,\n                  101,\n                  45,\n                  112,\n                  114,\n                  111,\n                  103,\n                  114,\n                  97,\n                  109,\n                  45,\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"systemProgram\",\n          \"address\": \"11111111111111111111111111111111\"\n        },\n        {\n          \"name\": \"eventAuthority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": [\n        {\n          \"name\": \"socialClaimAuthority\",\n          \"type\": \"pubkey\"\n        },\n        {\n          \"name\": \"disableFlags\",\n          \"type\": \"u8\"\n        },\n        {\n          \"name\": \"claimRateLimit\",\n          \"type\": \"u64\"\n        }\n      ]\n    },\n    {\n      \"name\": \"resetFeeSharingConfig\",\n      \"docs\": [\n        \"Reset Fee Sharing Config and distribute pending fees first\"\n      ],\n      \"discriminator\": [\n        10,\n        2,\n        182,\n        95,\n        16,\n        127,\n        129,\n        186\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"newAdmin\"\n        },\n        {\n          \"name\": \"eventAuthority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\",\n          \"address\": \"pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ\"\n        },\n        {\n          \"name\": \"authority\",\n          \"signer\": true\n        },\n        {\n          \"name\": \"global\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108\n                ]\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                1,\n                86,\n                224,\n                246,\n                147,\n                102,\n                90,\n                207,\n                68,\n                219,\n                21,\n                104,\n                191,\n                23,\n                91,\n                170,\n                81,\n                137,\n                203,\n                151,\n                245,\n                210,\n                255,\n                59,\n                101,\n                93,\n                43,\n                182,\n                253,\n                109,\n                24,\n                176\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"mint\",\n          \"relations\": [\n            \"sharingConfig\"\n          ]\n        },\n        {\n          \"name\": \"sharingConfig\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  115,\n                  104,\n                  97,\n                  114,\n                  105,\n                  110,\n                  103,\n                  45,\n                  99,\n                  111,\n                  110,\n                  102,\n                  105,\n                  103\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"mint\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"bondingCurve\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  98,\n                  111,\n                  110,\n                  100,\n                  105,\n                  110,\n                  103,\n                  45,\n                  99,\n                  117,\n                  114,\n                  118,\n                  101\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"mint\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                1,\n                86,\n                224,\n                246,\n                147,\n                102,\n                90,\n                207,\n                68,\n                219,\n                21,\n                104,\n                191,\n                23,\n                91,\n                170,\n                81,\n                137,\n                203,\n                151,\n                245,\n                210,\n                255,\n                59,\n                101,\n                93,\n                43,\n                182,\n                253,\n                109,\n                24,\n                176\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"pumpCreatorVault\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  99,\n                  114,\n                  101,\n                  97,\n                  116,\n                  111,\n                  114,\n                  45,\n                  118,\n                  97,\n                  117,\n                  108,\n                  116\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"sharingConfig\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                1,\n                86,\n                224,\n                246,\n                147,\n                102,\n                90,\n                207,\n                68,\n                219,\n                21,\n                104,\n                191,\n                23,\n                91,\n                170,\n                81,\n                137,\n                203,\n                151,\n                245,\n                210,\n                255,\n                59,\n                101,\n                93,\n                43,\n                182,\n                253,\n                109,\n                24,\n                176\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"systemProgram\",\n          \"address\": \"11111111111111111111111111111111\"\n        },\n        {\n          \"name\": \"pumpProgram\",\n          \"address\": \"6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P\"\n        },\n        {\n          \"name\": \"pumpEventAuthority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                1,\n                86,\n                224,\n                246,\n                147,\n                102,\n                90,\n                207,\n                68,\n                219,\n                21,\n                104,\n                191,\n                23,\n                91,\n                170,\n                81,\n                137,\n                203,\n                151,\n                245,\n                210,\n                255,\n                59,\n                101,\n                93,\n                43,\n                182,\n                253,\n                109,\n                24,\n                176\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"pumpAmmProgram\",\n          \"address\": \"pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA\"\n        },\n        {\n          \"name\": \"ammEventAuthority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                12,\n                20,\n                222,\n                252,\n                130,\n                94,\n                198,\n                118,\n                148,\n                37,\n                8,\n                24,\n                187,\n                101,\n                64,\n                101,\n                244,\n                41,\n                141,\n                49,\n                86,\n                213,\n                113,\n                180,\n                212,\n                248,\n                9,\n                12,\n                24,\n                233,\n                168,\n                99\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"wsolMint\",\n          \"address\": \"So11111111111111111111111111111111111111112\"\n        },\n        {\n          \"name\": \"tokenProgram\",\n          \"address\": \"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA\"\n        },\n        {\n          \"name\": \"associatedTokenProgram\",\n          \"address\": \"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\"\n        },\n        {\n          \"name\": \"coinCreatorVaultAuthority\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  99,\n                  114,\n                  101,\n                  97,\n                  116,\n                  111,\n                  114,\n                  95,\n                  118,\n                  97,\n                  117,\n                  108,\n                  116\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"sharingConfig\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                12,\n                20,\n                222,\n                252,\n                130,\n                94,\n                198,\n                118,\n                148,\n                37,\n                8,\n                24,\n                187,\n                101,\n                64,\n                101,\n                244,\n                41,\n                141,\n                49,\n                86,\n                213,\n                113,\n                180,\n                212,\n                248,\n                9,\n                12,\n                24,\n                233,\n                168,\n                99\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"coinCreatorVaultAta\",\n          \"writable\": true\n        }\n      ],\n      \"args\": []\n    },\n    {\n      \"name\": \"revokeFeeSharingAuthority\",\n      \"docs\": [\n        \"Revoke Fee Sharing Authority\"\n      ],\n      \"discriminator\": [\n        18,\n        233,\n        158,\n        39,\n        185,\n        207,\n        58,\n        104\n      ],\n      \"accounts\": [],\n      \"args\": []\n    },\n    {\n      \"name\": \"setAuthority\",\n      \"discriminator\": [\n        133,\n        250,\n        37,\n        21,\n        110,\n        163,\n        26,\n        121\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"authority\",\n          \"writable\": true,\n          \"signer\": true,\n          \"relations\": [\n            \"feeProgramGlobal\"\n          ]\n        },\n        {\n          \"name\": \"feeProgramGlobal\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  102,\n                  101,\n                  101,\n                  45,\n                  112,\n                  114,\n                  111,\n                  103,\n                  114,\n                  97,\n                  109,\n                  45,\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"eventAuthority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": [\n        {\n          \"name\": \"newAuthority\",\n          \"type\": \"pubkey\"\n        }\n      ]\n    },\n    {\n      \"name\": \"setClaimRateLimit\",\n      \"discriminator\": [\n        185,\n        211,\n        159,\n        174,\n        212,\n        49,\n        88,\n        4\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"authority\",\n          \"writable\": true,\n          \"signer\": true,\n          \"relations\": [\n            \"feeProgramGlobal\"\n          ]\n        },\n        {\n          \"name\": \"feeProgramGlobal\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  102,\n                  101,\n                  101,\n                  45,\n                  112,\n                  114,\n                  111,\n                  103,\n                  114,\n                  97,\n                  109,\n                  45,\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"eventAuthority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": [\n        {\n          \"name\": \"claimRateLimit\",\n          \"type\": \"u64\"\n        }\n      ]\n    },\n    {\n      \"name\": \"setDisableFlags\",\n      \"discriminator\": [\n        194,\n        217,\n        112,\n        35,\n        114,\n        222,\n        51,\n        190\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"authority\",\n          \"writable\": true,\n          \"signer\": true,\n          \"relations\": [\n            \"feeProgramGlobal\"\n          ]\n        },\n        {\n          \"name\": \"feeProgramGlobal\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  102,\n                  101,\n                  101,\n                  45,\n                  112,\n                  114,\n                  111,\n                  103,\n                  114,\n                  97,\n                  109,\n                  45,\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"eventAuthority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": [\n        {\n          \"name\": \"disableFlags\",\n          \"type\": \"u8\"\n        }\n      ]\n    },\n    {\n      \"name\": \"setSocialClaimAuthority\",\n      \"discriminator\": [\n        147,\n        54,\n        184,\n        154,\n        136,\n        237,\n        185,\n        153\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"authority\",\n          \"writable\": true,\n          \"signer\": true,\n          \"relations\": [\n            \"feeProgramGlobal\"\n          ]\n        },\n        {\n          \"name\": \"feeProgramGlobal\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  102,\n                  101,\n                  101,\n                  45,\n                  112,\n                  114,\n                  111,\n                  103,\n                  114,\n                  97,\n                  109,\n                  45,\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"eventAuthority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": [\n        {\n          \"name\": \"socialClaimAuthority\",\n          \"type\": \"pubkey\"\n        }\n      ]\n    },\n    {\n      \"name\": \"transferFeeSharingAuthority\",\n      \"docs\": [\n        \"Transfer Fee Sharing Authority\"\n      ],\n      \"discriminator\": [\n        202,\n        10,\n        75,\n        200,\n        164,\n        34,\n        210,\n        96\n      ],\n      \"accounts\": [],\n      \"args\": []\n    },\n    {\n      \"name\": \"updateAdmin\",\n      \"docs\": [\n        \"Update admin (only callable by admin)\"\n      ],\n      \"discriminator\": [\n        161,\n        176,\n        40,\n        213,\n        60,\n        184,\n        179,\n        228\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"admin\",\n          \"signer\": true,\n          \"relations\": [\n            \"feeConfig\"\n          ]\n        },\n        {\n          \"name\": \"feeConfig\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  102,\n                  101,\n                  101,\n                  95,\n                  99,\n                  111,\n                  110,\n                  102,\n                  105,\n                  103\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"configProgramId\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"newAdmin\"\n        },\n        {\n          \"name\": \"configProgramId\"\n        },\n        {\n          \"name\": \"eventAuthority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": []\n    },\n    {\n      \"name\": \"updateFeeConfig\",\n      \"docs\": [\n        \"Set/Replace fee parameters entirely (only callable by admin)\"\n      ],\n      \"discriminator\": [\n        104,\n        184,\n        103,\n        242,\n        88,\n        151,\n        107,\n        20\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"feeConfig\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  102,\n                  101,\n                  101,\n                  95,\n                  99,\n                  111,\n                  110,\n                  102,\n                  105,\n                  103\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"configProgramId\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"admin\",\n          \"signer\": true,\n          \"relations\": [\n            \"feeConfig\"\n          ]\n        },\n        {\n          \"name\": \"configProgramId\"\n        },\n        {\n          \"name\": \"eventAuthority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": [\n        {\n          \"name\": \"feeTiers\",\n          \"type\": {\n            \"vec\": {\n              \"defined\": {\n                \"name\": \"feeTier\"\n              }\n            }\n          }\n        },\n        {\n          \"name\": \"flatFees\",\n          \"type\": {\n            \"defined\": {\n              \"name\": \"fees\"\n            }\n          }\n        }\n      ]\n    },\n    {\n      \"name\": \"updateFeeShares\",\n      \"docs\": [\n        \"Update Fee Shares, make sure to distribute all the fees before calling this\"\n      ],\n      \"discriminator\": [\n        189,\n        13,\n        136,\n        99,\n        187,\n        164,\n        237,\n        35\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"eventAuthority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\",\n          \"address\": \"pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ\"\n        },\n        {\n          \"name\": \"authority\",\n          \"signer\": true\n        },\n        {\n          \"name\": \"global\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  103,\n                  108,\n                  111,\n                  98,\n                  97,\n                  108\n                ]\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                1,\n                86,\n                224,\n                246,\n                147,\n                102,\n                90,\n                207,\n                68,\n                219,\n                21,\n                104,\n                191,\n                23,\n                91,\n                170,\n                81,\n                137,\n                203,\n                151,\n                245,\n                210,\n                255,\n                59,\n                101,\n                93,\n                43,\n                182,\n                253,\n                109,\n                24,\n                176\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"mint\",\n          \"relations\": [\n            \"sharingConfig\"\n          ]\n        },\n        {\n          \"name\": \"sharingConfig\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  115,\n                  104,\n                  97,\n                  114,\n                  105,\n                  110,\n                  103,\n                  45,\n                  99,\n                  111,\n                  110,\n                  102,\n                  105,\n                  103\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"mint\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"bondingCurve\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  98,\n                  111,\n                  110,\n                  100,\n                  105,\n                  110,\n                  103,\n                  45,\n                  99,\n                  117,\n                  114,\n                  118,\n                  101\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"mint\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                1,\n                86,\n                224,\n                246,\n                147,\n                102,\n                90,\n                207,\n                68,\n                219,\n                21,\n                104,\n                191,\n                23,\n                91,\n                170,\n                81,\n                137,\n                203,\n                151,\n                245,\n                210,\n                255,\n                59,\n                101,\n                93,\n                43,\n                182,\n                253,\n                109,\n                24,\n                176\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"pumpCreatorVault\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  99,\n                  114,\n                  101,\n                  97,\n                  116,\n                  111,\n                  114,\n                  45,\n                  118,\n                  97,\n                  117,\n                  108,\n                  116\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"sharingConfig\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                1,\n                86,\n                224,\n                246,\n                147,\n                102,\n                90,\n                207,\n                68,\n                219,\n                21,\n                104,\n                191,\n                23,\n                91,\n                170,\n                81,\n                137,\n                203,\n                151,\n                245,\n                210,\n                255,\n                59,\n                101,\n                93,\n                43,\n                182,\n                253,\n                109,\n                24,\n                176\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"systemProgram\",\n          \"address\": \"11111111111111111111111111111111\"\n        },\n        {\n          \"name\": \"pumpProgram\",\n          \"address\": \"6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P\"\n        },\n        {\n          \"name\": \"pumpEventAuthority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                1,\n                86,\n                224,\n                246,\n                147,\n                102,\n                90,\n                207,\n                68,\n                219,\n                21,\n                104,\n                191,\n                23,\n                91,\n                170,\n                81,\n                137,\n                203,\n                151,\n                245,\n                210,\n                255,\n                59,\n                101,\n                93,\n                43,\n                182,\n                253,\n                109,\n                24,\n                176\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"pumpAmmProgram\",\n          \"address\": \"pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA\"\n        },\n        {\n          \"name\": \"ammEventAuthority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                12,\n                20,\n                222,\n                252,\n                130,\n                94,\n                198,\n                118,\n                148,\n                37,\n                8,\n                24,\n                187,\n                101,\n                64,\n                101,\n                244,\n                41,\n                141,\n                49,\n                86,\n                213,\n                113,\n                180,\n                212,\n                248,\n                9,\n                12,\n                24,\n                233,\n                168,\n                99\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"wsolMint\",\n          \"address\": \"So11111111111111111111111111111111111111112\"\n        },\n        {\n          \"name\": \"tokenProgram\",\n          \"address\": \"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA\"\n        },\n        {\n          \"name\": \"associatedTokenProgram\",\n          \"address\": \"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\"\n        },\n        {\n          \"name\": \"coinCreatorVaultAuthority\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  99,\n                  114,\n                  101,\n                  97,\n                  116,\n                  111,\n                  114,\n                  95,\n                  118,\n                  97,\n                  117,\n                  108,\n                  116\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"sharingConfig\"\n              }\n            ],\n            \"program\": {\n              \"kind\": \"const\",\n              \"value\": [\n                12,\n                20,\n                222,\n                252,\n                130,\n                94,\n                198,\n                118,\n                148,\n                37,\n                8,\n                24,\n                187,\n                101,\n                64,\n                101,\n                244,\n                41,\n                141,\n                49,\n                86,\n                213,\n                113,\n                180,\n                212,\n                248,\n                9,\n                12,\n                24,\n                233,\n                168,\n                99\n              ]\n            }\n          }\n        },\n        {\n          \"name\": \"coinCreatorVaultAta\",\n          \"writable\": true\n        }\n      ],\n      \"args\": [\n        {\n          \"name\": \"shareholders\",\n          \"type\": {\n            \"vec\": {\n              \"defined\": {\n                \"name\": \"shareholder\"\n              }\n            }\n          }\n        }\n      ]\n    },\n    {\n      \"name\": \"upsertFeeTiers\",\n      \"docs\": [\n        \"Update or expand fee tiers (only callable by admin)\"\n      ],\n      \"discriminator\": [\n        227,\n        23,\n        150,\n        12,\n        77,\n        86,\n        94,\n        4\n      ],\n      \"accounts\": [\n        {\n          \"name\": \"feeConfig\",\n          \"writable\": true,\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  102,\n                  101,\n                  101,\n                  95,\n                  99,\n                  111,\n                  110,\n                  102,\n                  105,\n                  103\n                ]\n              },\n              {\n                \"kind\": \"account\",\n                \"path\": \"configProgramId\"\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"admin\",\n          \"signer\": true,\n          \"relations\": [\n            \"feeConfig\"\n          ]\n        },\n        {\n          \"name\": \"configProgramId\"\n        },\n        {\n          \"name\": \"eventAuthority\",\n          \"pda\": {\n            \"seeds\": [\n              {\n                \"kind\": \"const\",\n                \"value\": [\n                  95,\n                  95,\n                  101,\n                  118,\n                  101,\n                  110,\n                  116,\n                  95,\n                  97,\n                  117,\n                  116,\n                  104,\n                  111,\n                  114,\n                  105,\n                  116,\n                  121\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"name\": \"program\"\n        }\n      ],\n      \"args\": [\n        {\n          \"name\": \"feeTiers\",\n          \"type\": {\n            \"vec\": {\n              \"defined\": {\n                \"name\": \"feeTier\"\n              }\n            }\n          }\n        },\n        {\n          \"name\": \"offset\",\n          \"type\": \"u8\"\n        }\n      ]\n    }\n  ],\n  \"accounts\": [\n    {\n      \"name\": \"bondingCurve\",\n      \"discriminator\": [\n        23,\n        183,\n        248,\n        55,\n        96,\n        216,\n        172,\n        96\n      ]\n    },\n    {\n      \"name\": \"feeConfig\",\n      \"discriminator\": [\n        143,\n        52,\n        146,\n        187,\n        219,\n        123,\n        76,\n        155\n      ]\n    },\n    {\n      \"name\": \"feeProgramGlobal\",\n      \"discriminator\": [\n        162,\n        165,\n        245,\n        49,\n        29,\n        37,\n        55,\n        242\n      ]\n    },\n    {\n      \"name\": \"global\",\n      \"discriminator\": [\n        167,\n        232,\n        232,\n        177,\n        200,\n        108,\n        114,\n        127\n      ]\n    },\n    {\n      \"name\": \"pool\",\n      \"discriminator\": [\n        241,\n        154,\n        109,\n        4,\n        17,\n        177,\n        109,\n        188\n      ]\n    },\n    {\n      \"name\": \"sharingConfig\",\n      \"discriminator\": [\n        216,\n        74,\n        9,\n        0,\n        56,\n        140,\n        93,\n        75\n      ]\n    },\n    {\n      \"name\": \"socialFeePda\",\n      \"discriminator\": [\n        139,\n        96,\n        53,\n        17,\n        42,\n        169,\n        206,\n        150\n      ]\n    }\n  ],\n  \"events\": [\n    {\n      \"name\": \"createFeeSharingConfigEvent\",\n      \"discriminator\": [\n        133,\n        105,\n        170,\n        200,\n        184,\n        116,\n        251,\n        88\n      ]\n    },\n    {\n      \"name\": \"initializeFeeConfigEvent\",\n      \"discriminator\": [\n        89,\n        138,\n        244,\n        230,\n        10,\n        56,\n        226,\n        126\n      ]\n    },\n    {\n      \"name\": \"initializeFeeProgramGlobalEvent\",\n      \"discriminator\": [\n        40,\n        233,\n        156,\n        78,\n        95,\n        0,\n        8,\n        199\n      ]\n    },\n    {\n      \"name\": \"resetFeeSharingConfigEvent\",\n      \"discriminator\": [\n        203,\n        204,\n        151,\n        226,\n        120,\n        55,\n        214,\n        243\n      ]\n    },\n    {\n      \"name\": \"setAuthorityEvent\",\n      \"discriminator\": [\n        18,\n        175,\n        132,\n        66,\n        208,\n        201,\n        87,\n        242\n      ]\n    },\n    {\n      \"name\": \"setClaimRateLimitEvent\",\n      \"discriminator\": [\n        13,\n        143,\n        143,\n        235,\n        181,\n        19,\n        51,\n        40\n      ]\n    },\n    {\n      \"name\": \"setDisableFlagsEvent\",\n      \"discriminator\": [\n        5,\n        8,\n        179,\n        65,\n        49,\n        55,\n        145,\n        126\n      ]\n    },\n    {\n      \"name\": \"setSocialClaimAuthorityEvent\",\n      \"discriminator\": [\n        60,\n        118,\n        127,\n        132,\n        239,\n        52,\n        254,\n        14\n      ]\n    },\n    {\n      \"name\": \"socialFeePdaClaimed\",\n      \"discriminator\": [\n        50,\n        18,\n        193,\n        65,\n        237,\n        210,\n        234,\n        236\n      ]\n    },\n    {\n      \"name\": \"socialFeePdaCreated\",\n      \"discriminator\": [\n        183,\n        183,\n        218,\n        147,\n        24,\n        124,\n        137,\n        169\n      ]\n    },\n    {\n      \"name\": \"updateAdminEvent\",\n      \"discriminator\": [\n        225,\n        152,\n        171,\n        87,\n        246,\n        63,\n        66,\n        234\n      ]\n    },\n    {\n      \"name\": \"updateFeeConfigEvent\",\n      \"discriminator\": [\n        90,\n        23,\n        65,\n        35,\n        62,\n        244,\n        188,\n        208\n      ]\n    },\n    {\n      \"name\": \"updateFeeSharesEvent\",\n      \"discriminator\": [\n        21,\n        186,\n        196,\n        184,\n        91,\n        228,\n        225,\n        203\n      ]\n    },\n    {\n      \"name\": \"upsertFeeTiersEvent\",\n      \"discriminator\": [\n        171,\n        89,\n        169,\n        187,\n        122,\n        186,\n        33,\n        204\n      ]\n    }\n  ],\n  \"errors\": [\n    {\n      \"code\": 6000,\n      \"name\": \"unauthorizedProgram\",\n      \"msg\": \"Only Pump and PumpSwap programs can call this instruction\"\n    },\n    {\n      \"code\": 6001,\n      \"name\": \"invalidAdmin\",\n      \"msg\": \"Invalid admin\"\n    },\n    {\n      \"code\": 6002,\n      \"name\": \"noFeeTiers\",\n      \"msg\": \"No fee tiers provided\"\n    },\n    {\n      \"code\": 6003,\n      \"name\": \"tooManyFeeTiers\",\n      \"msg\": \"format\"\n    },\n    {\n      \"code\": 6004,\n      \"name\": \"offsetNotContinuous\",\n      \"msg\": \"The offset should be <= fee_config.fee_tiers.len()\"\n    },\n    {\n      \"code\": 6005,\n      \"name\": \"feeTiersNotSorted\",\n      \"msg\": \"Fee tiers must be sorted by market cap threshold (ascending)\"\n    },\n    {\n      \"code\": 6006,\n      \"name\": \"invalidFeeTotal\",\n      \"msg\": \"Fee total must not exceed 10_000bps\"\n    },\n    {\n      \"code\": 6007,\n      \"name\": \"invalidSharingConfig\",\n      \"msg\": \"Invalid Sharing Config\"\n    },\n    {\n      \"code\": 6008,\n      \"name\": \"invalidPool\",\n      \"msg\": \"Invalid Pool\"\n    },\n    {\n      \"code\": 6009,\n      \"name\": \"sharingConfigAdminRevoked\",\n      \"msg\": \"Sharing config authority has been revoked - sharing config can only be updated once\"\n    },\n    {\n      \"code\": 6010,\n      \"name\": \"noShareholders\",\n      \"msg\": \"No shareholders provided\"\n    },\n    {\n      \"code\": 6011,\n      \"name\": \"tooManyShareholders\",\n      \"msg\": \"format\"\n    },\n    {\n      \"code\": 6012,\n      \"name\": \"duplicateShareholder\",\n      \"msg\": \"Duplicate shareholder address\"\n    },\n    {\n      \"code\": 6013,\n      \"name\": \"notEnoughRemainingAccounts\",\n      \"msg\": \"Not enough remaining accounts\"\n    },\n    {\n      \"code\": 6014,\n      \"name\": \"invalidShareTotal\",\n      \"msg\": \"Invalid share total - must equal 10_000 basis points\"\n    },\n    {\n      \"code\": 6015,\n      \"name\": \"shareCalculationOverflow\",\n      \"msg\": \"Share calculation overflow\"\n    },\n    {\n      \"code\": 6016,\n      \"name\": \"notAuthorized\",\n      \"msg\": \"The given account is not authorized to execute this instruction.\"\n    },\n    {\n      \"code\": 6017,\n      \"name\": \"zeroShareNotAllowed\",\n      \"msg\": \"Shareholder cannot have zero share\"\n    },\n    {\n      \"code\": 6018,\n      \"name\": \"sharingConfigNotActive\",\n      \"msg\": \"Fee sharing config is not active\"\n    },\n    {\n      \"code\": 6019,\n      \"name\": \"ammAccountsRequiredForGraduatedCoin\",\n      \"msg\": \"AMM accounts are required for graduated coins\"\n    },\n    {\n      \"code\": 6020,\n      \"name\": \"shareholderAccountMismatch\",\n      \"msg\": \"Remaining account key doesn't match shareholder address\"\n    },\n    {\n      \"code\": 6021,\n      \"name\": \"featureDeactivated\",\n      \"msg\": \"Feature is currently deactivated\"\n    },\n    {\n      \"code\": 6022,\n      \"name\": \"userIdTooLong\",\n      \"msg\": \"User ID exceeds maximum length\"\n    },\n    {\n      \"code\": 6023,\n      \"name\": \"deprecatedInstruction\",\n      \"msg\": \"Instruction is deprecated\"\n    },\n    {\n      \"code\": 6024,\n      \"name\": \"feeSharesAlreadyUpdated\",\n      \"msg\": \"Reward split can only be updated once\"\n    }\n  ],\n  \"types\": [\n    {\n      \"name\": \"bondingCurve\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"virtualTokenReserves\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"virtualSolReserves\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"realTokenReserves\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"realSolReserves\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"tokenTotalSupply\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"complete\",\n            \"type\": \"bool\"\n          },\n          {\n            \"name\": \"creator\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"isMayhemMode\",\n            \"type\": \"bool\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"configStatus\",\n      \"type\": {\n        \"kind\": \"enum\",\n        \"variants\": [\n          {\n            \"name\": \"paused\"\n          },\n          {\n            \"name\": \"active\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"createFeeSharingConfigEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"mint\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"bondingCurve\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"pool\",\n            \"type\": {\n              \"option\": \"pubkey\"\n            }\n          },\n          {\n            \"name\": \"sharingConfig\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"admin\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"initialShareholders\",\n            \"type\": {\n              \"vec\": {\n                \"defined\": {\n                  \"name\": \"shareholder\"\n                }\n              }\n            }\n          },\n          {\n            \"name\": \"status\",\n            \"type\": {\n              \"defined\": {\n                \"name\": \"configStatus\"\n              }\n            }\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"feeConfig\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"bump\",\n            \"docs\": [\n              \"The bump for the PDA\"\n            ],\n            \"type\": \"u8\"\n          },\n          {\n            \"name\": \"admin\",\n            \"docs\": [\n              \"The admin account that can update the fee config\"\n            ],\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"flatFees\",\n            \"docs\": [\n              \"The flat fees for non-pump pools\"\n            ],\n            \"type\": {\n              \"defined\": {\n                \"name\": \"fees\"\n              }\n            }\n          },\n          {\n            \"name\": \"feeTiers\",\n            \"docs\": [\n              \"The fee tiers\"\n            ],\n            \"type\": {\n              \"vec\": {\n                \"defined\": {\n                  \"name\": \"feeTier\"\n                }\n              }\n            }\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"feeProgramGlobal\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"bump\",\n            \"type\": \"u8\"\n          },\n          {\n            \"name\": \"authority\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"disableFlags\",\n            \"type\": \"u8\"\n          },\n          {\n            \"name\": \"socialClaimAuthority\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"claimRateLimit\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"reserved\",\n            \"type\": {\n              \"array\": [\n                \"u8\",\n                256\n              ]\n            }\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"feeTier\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"marketCapLamportsThreshold\",\n            \"type\": \"u128\"\n          },\n          {\n            \"name\": \"fees\",\n            \"type\": {\n              \"defined\": {\n                \"name\": \"fees\"\n              }\n            }\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"fees\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"lpFeeBps\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"protocolFeeBps\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"creatorFeeBps\",\n            \"type\": \"u64\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"global\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"initialized\",\n            \"type\": \"bool\"\n          },\n          {\n            \"name\": \"authority\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"feeRecipient\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"initialVirtualTokenReserves\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"initialVirtualSolReserves\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"initialRealTokenReserves\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"tokenTotalSupply\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"feeBasisPoints\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"withdrawAuthority\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"enableMigrate\",\n            \"type\": \"bool\"\n          },\n          {\n            \"name\": \"poolMigrationFee\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"creatorFeeBasisPoints\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"feeRecipients\",\n            \"type\": {\n              \"array\": [\n                \"pubkey\",\n                7\n              ]\n            }\n          },\n          {\n            \"name\": \"setCreatorAuthority\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"adminSetCreatorAuthority\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"createV2Enabled\",\n            \"type\": \"bool\"\n          },\n          {\n            \"name\": \"whitelistPda\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"reservedFeeRecipient\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"mayhemModeEnabled\",\n            \"type\": \"bool\"\n          },\n          {\n            \"name\": \"reservedFeeRecipients\",\n            \"type\": {\n              \"array\": [\n                \"pubkey\",\n                7\n              ]\n            }\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"initializeFeeConfigEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"admin\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"feeConfig\",\n            \"type\": \"pubkey\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"initializeFeeProgramGlobalEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"authority\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"socialClaimAuthority\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"disableFlags\",\n            \"type\": \"u8\"\n          },\n          {\n            \"name\": \"claimRateLimit\",\n            \"type\": \"u64\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"pool\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"poolBump\",\n            \"type\": \"u8\"\n          },\n          {\n            \"name\": \"index\",\n            \"type\": \"u16\"\n          },\n          {\n            \"name\": \"creator\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"baseMint\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"quoteMint\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"lpMint\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"poolBaseTokenAccount\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"poolQuoteTokenAccount\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"lpSupply\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"coinCreator\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"isMayhemMode\",\n            \"type\": \"bool\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"resetFeeSharingConfigEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"mint\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"sharingConfig\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"oldAdmin\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"oldShareholders\",\n            \"type\": {\n              \"vec\": {\n                \"defined\": {\n                  \"name\": \"shareholder\"\n                }\n              }\n            }\n          },\n          {\n            \"name\": \"newAdmin\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"newShareholders\",\n            \"type\": {\n              \"vec\": {\n                \"defined\": {\n                  \"name\": \"shareholder\"\n                }\n              }\n            }\n          },\n          {\n            \"name\": \"oldVersion\",\n            \"type\": \"u8\"\n          },\n          {\n            \"name\": \"newVersion\",\n            \"type\": \"u8\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"setAuthorityEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"oldAuthority\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"newAuthority\",\n            \"type\": \"pubkey\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"setClaimRateLimitEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"claimRateLimit\",\n            \"type\": \"u64\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"setDisableFlagsEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"disableFlags\",\n            \"type\": \"u8\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"setSocialClaimAuthorityEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"socialClaimAuthority\",\n            \"type\": \"pubkey\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"shareholder\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"address\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"shareBps\",\n            \"type\": \"u16\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"sharingConfig\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"bump\",\n            \"type\": \"u8\"\n          },\n          {\n            \"name\": \"version\",\n            \"type\": \"u8\"\n          },\n          {\n            \"name\": \"status\",\n            \"type\": {\n              \"defined\": {\n                \"name\": \"configStatus\"\n              }\n            }\n          },\n          {\n            \"name\": \"mint\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"admin\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"adminRevoked\",\n            \"type\": \"bool\"\n          },\n          {\n            \"name\": \"shareholders\",\n            \"type\": {\n              \"vec\": {\n                \"defined\": {\n                  \"name\": \"shareholder\"\n                }\n              }\n            }\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"socialFeePda\",\n      \"docs\": [\n        \"Platform identifier: 0=pump, 1=twitter, etc.\"\n      ],\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"bump\",\n            \"type\": \"u8\"\n          },\n          {\n            \"name\": \"version\",\n            \"type\": \"u8\"\n          },\n          {\n            \"name\": \"userId\",\n            \"docs\": [\n              \"Max 20 characters to fit u64::MAX (18,446,744,073,709,551,615) as a string.\",\n              \"Actual storage: 4 bytes (length prefix) + 20 bytes (content) = 24 bytes.\"\n            ],\n            \"type\": \"string\"\n          },\n          {\n            \"name\": \"platform\",\n            \"type\": \"u8\"\n          },\n          {\n            \"name\": \"totalClaimed\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"lastClaimed\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"reserved\",\n            \"type\": {\n              \"array\": [\n                \"u8\",\n                128\n              ]\n            }\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"socialFeePdaClaimed\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"userId\",\n            \"type\": \"string\"\n          },\n          {\n            \"name\": \"platform\",\n            \"type\": \"u8\"\n          },\n          {\n            \"name\": \"socialFeePda\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"recipient\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"socialClaimAuthority\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"amountClaimed\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"claimableBefore\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"lifetimeClaimed\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"recipientBalanceBefore\",\n            \"type\": \"u64\"\n          },\n          {\n            \"name\": \"recipientBalanceAfter\",\n            \"type\": \"u64\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"socialFeePdaCreated\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"userId\",\n            \"type\": \"string\"\n          },\n          {\n            \"name\": \"platform\",\n            \"type\": \"u8\"\n          },\n          {\n            \"name\": \"socialFeePda\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"createdBy\",\n            \"type\": \"pubkey\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"updateAdminEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"oldAdmin\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"newAdmin\",\n            \"type\": \"pubkey\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"updateFeeConfigEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"admin\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"feeConfig\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"feeTiers\",\n            \"type\": {\n              \"vec\": {\n                \"defined\": {\n                  \"name\": \"feeTier\"\n                }\n              }\n            }\n          },\n          {\n            \"name\": \"flatFees\",\n            \"type\": {\n              \"defined\": {\n                \"name\": \"fees\"\n              }\n            }\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"updateFeeSharesEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"mint\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"sharingConfig\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"admin\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"newShareholders\",\n            \"type\": {\n              \"vec\": {\n                \"defined\": {\n                  \"name\": \"shareholder\"\n                }\n              }\n            }\n          },\n          {\n            \"name\": \"version\",\n            \"type\": \"u8\"\n          }\n        ]\n      }\n    },\n    {\n      \"name\": \"upsertFeeTiersEvent\",\n      \"type\": {\n        \"kind\": \"struct\",\n        \"fields\": [\n          {\n            \"name\": \"timestamp\",\n            \"type\": \"i64\"\n          },\n          {\n            \"name\": \"admin\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"feeConfig\",\n            \"type\": \"pubkey\"\n          },\n          {\n            \"name\": \"feeTiers\",\n            \"type\": {\n              \"vec\": {\n                \"defined\": {\n                  \"name\": \"feeTier\"\n                }\n              }\n            }\n          },\n          {\n            \"name\": \"offset\",\n            \"type\": \"u8\"\n          }\n        ]\n      }\n    }\n  ],\n  \"constants\": [\n    {\n      \"name\": \"ammCreatorVaultAuthoritySeed\",\n      \"type\": {\n        \"array\": [\n          \"u8\",\n          13\n        ]\n      },\n      \"value\": \"[99, 114, 101, 97, 116, 111, 114, 95, 118, 97, 117, 108, 116]\"\n    },\n    {\n      \"name\": \"feeConfigSeed\",\n      \"type\": \"bytes\",\n      \"value\": \"[102, 101, 101, 95, 99, 111, 110, 102, 105, 103]\"\n    },\n    {\n      \"name\": \"feeProgramGlobalSeed\",\n      \"type\": {\n        \"array\": [\n          \"u8\",\n          18\n        ]\n      },\n      \"value\": \"[102, 101, 101, 45, 112, 114, 111, 103, 114, 97, 109, 45, 103, 108, 111, 98, 97, 108]\"\n    },\n    {\n      \"name\": \"pumpCreatorVaultSeed\",\n      \"type\": {\n        \"array\": [\n          \"u8\",\n          13\n        ]\n      },\n      \"value\": \"[99, 114, 101, 97, 116, 111, 114, 45, 118, 97, 117, 108, 116]\"\n    },\n    {\n      \"name\": \"pumpGlobalSeed\",\n      \"docs\": [\n        \"Bonding Curve Program Global Seed\"\n      ],\n      \"type\": {\n        \"array\": [\n          \"u8\",\n          6\n        ]\n      },\n      \"value\": \"[103, 108, 111, 98, 97, 108]\"\n    },\n    {\n      \"name\": \"sharingConfigSeed\",\n      \"type\": {\n        \"array\": [\n          \"u8\",\n          14\n        ]\n      },\n      \"value\": \"[115, 104, 97, 114, 105, 110, 103, 45, 99, 111, 110, 102, 105, 103]\"\n    },\n    {\n      \"name\": \"socialFeePdaSeed\",\n      \"type\": {\n        \"array\": [\n          \"u8\",\n          14\n        ]\n      },\n      \"value\": \"[115, 111, 99, 105, 97, 108, 45, 102, 101, 101, 45, 112, 100, 97]\"\n    }\n  ]\n};\n"
  }
]