/**
 * Program IDL in camelCase format in order to be used in JS/TS.
 *
 * Note that this is only a type helper and is not the actual IDL. The original
 * IDL can be found at `target/idl/fair_mint_token.json`.
 */
export type FairMintToken = {
  "address": "8GM2N7qQjzMyhqewu8jpDgzUh2BJbtBxSY1WzSFeFm6U",
  "metadata": {
    "name": "fairMintToken",
    "version": "0.2.0",
    "spec": "0.1.0",
    "description": "Created with Anchor"
  },
  "instructions": [
    {
      "name": "burnMintTokenVault",
      "discriminator": [
        255,
        254,
        39,
        14,
        229,
        37,
        89,
        240
      ],
      "accounts": [
        {
          "name": "mint",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  102,
                  97,
                  105,
                  114,
                  95,
                  109,
                  105,
                  110,
                  116
                ]
              },
              {
                "kind": "arg",
                "path": "tokenName"
              },
              {
                "kind": "arg",
                "path": "tokenSymbol"
              }
            ]
          }
        },
        {
          "name": "configAccount",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  99,
                  111,
                  110,
                  102,
                  105,
                  103,
                  95,
                  100,
                  97,
                  116,
                  97
                ]
              },
              {
                "kind": "account",
                "path": "mint"
              }
            ]
          }
        },
        {
          "name": "payer",
          "writable": true,
          "signer": true
        },
        {
          "name": "mintTokenVault",
          "writable": true
        },
        {
          "name": "tokenProgram",
          "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
        },
        {
          "name": "systemProgram",
          "address": "11111111111111111111111111111111"
        }
      ],
      "args": [
        {
          "name": "tokenName",
          "type": "string"
        },
        {
          "name": "tokenSymbol",
          "type": "string"
        },
        {
          "name": "amount",
          "type": "u64"
        }
      ]
    },
    {
      "name": "closeToken",
      "docs": [
        "Close token"
      ],
      "discriminator": [
        26,
        74,
        236,
        151,
        104,
        64,
        183,
        249
      ],
      "accounts": [
        {
          "name": "mint",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  102,
                  97,
                  105,
                  114,
                  95,
                  109,
                  105,
                  110,
                  116
                ]
              },
              {
                "kind": "arg",
                "path": "tokenName"
              },
              {
                "kind": "arg",
                "path": "tokenSymbol"
              }
            ]
          }
        },
        {
          "name": "payer",
          "writable": true,
          "signer": true
        },
        {
          "name": "tokenVault",
          "writable": true
        },
        {
          "name": "wsolVault",
          "writable": true
        },
        {
          "name": "mintTokenVault",
          "writable": true
        },
        {
          "name": "configAccount",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  99,
                  111,
                  110,
                  102,
                  105,
                  103,
                  95,
                  100,
                  97,
                  116,
                  97
                ]
              },
              {
                "kind": "account",
                "path": "mint"
              }
            ]
          }
        },
        {
          "name": "tokenProgram",
          "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
        },
        {
          "name": "systemProgram",
          "address": "11111111111111111111111111111111"
        },
        {
          "name": "associatedTokenProgram",
          "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
        },
        {
          "name": "rent",
          "address": "SysvarRent111111111111111111111111111111111"
        }
      ],
      "args": [
        {
          "name": "tokenName",
          "type": "string"
        },
        {
          "name": "tokenSymbol",
          "type": "string"
        }
      ]
    },
    {
      "name": "delegateValueManager",
      "docs": [
        "Delegate value manager"
      ],
      "discriminator": [
        65,
        71,
        81,
        199,
        83,
        64,
        181,
        167
      ],
      "accounts": [
        {
          "name": "admin",
          "writable": true,
          "signer": true
        },
        {
          "name": "mint",
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  102,
                  97,
                  105,
                  114,
                  95,
                  109,
                  105,
                  110,
                  116
                ]
              },
              {
                "kind": "arg",
                "path": "tokenName"
              },
              {
                "kind": "arg",
                "path": "tokenSymbol"
              }
            ]
          }
        },
        {
          "name": "configAccount",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  99,
                  111,
                  110,
                  102,
                  105,
                  103,
                  95,
                  100,
                  97,
                  116,
                  97
                ]
              },
              {
                "kind": "account",
                "path": "mint"
              }
            ]
          }
        },
        {
          "name": "systemProgram",
          "address": "11111111111111111111111111111111"
        }
      ],
      "args": [
        {
          "name": "tokenName",
          "type": "string"
        },
        {
          "name": "tokenSymbol",
          "type": "string"
        },
        {
          "name": "newValueManager",
          "type": "pubkey"
        }
      ]
    },
    {
      "name": "initializeSystem",
      "docs": [
        "Initialize system"
      ],
      "discriminator": [
        50,
        173,
        248,
        140,
        202,
        35,
        141,
        150
      ],
      "accounts": [
        {
          "name": "admin",
          "writable": true,
          "signer": true
        },
        {
          "name": "systemConfigAccount",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  115,
                  121,
                  115,
                  116,
                  101,
                  109,
                  95,
                  99,
                  111,
                  110,
                  102,
                  105,
                  103,
                  95,
                  118,
                  49,
                  46,
                  49
                ]
              },
              {
                "kind": "account",
                "path": "admin"
              }
            ]
          }
        },
        {
          "name": "systemProgram",
          "address": "11111111111111111111111111111111"
        }
      ],
      "args": []
    },
    {
      "name": "initializeToken",
      "docs": [
        "Initialize token"
      ],
      "discriminator": [
        38,
        209,
        150,
        50,
        190,
        117,
        16,
        54
      ],
      "accounts": [
        {
          "name": "metadata",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  109,
                  101,
                  116,
                  97,
                  100,
                  97,
                  116,
                  97
                ]
              },
              {
                "kind": "account",
                "path": "tokenMetadataProgram"
              },
              {
                "kind": "account",
                "path": "mint"
              }
            ],
            "program": {
              "kind": "account",
              "path": "tokenMetadataProgram"
            }
          }
        },
        {
          "name": "payer",
          "writable": true,
          "signer": true
        },
        {
          "name": "mint",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  102,
                  97,
                  105,
                  114,
                  95,
                  109,
                  105,
                  110,
                  116
                ]
              },
              {
                "kind": "arg",
                "path": "metadata_params.name"
              },
              {
                "kind": "arg",
                "path": "metadata_params.symbol"
              }
            ]
          }
        },
        {
          "name": "configAccount",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  99,
                  111,
                  110,
                  102,
                  105,
                  103,
                  95,
                  100,
                  97,
                  116,
                  97
                ]
              },
              {
                "kind": "account",
                "path": "mint"
              }
            ]
          }
        },
        {
          "name": "mintTokenVault",
          "writable": true
        },
        {
          "name": "tokenVault",
          "writable": true
        },
        {
          "name": "wsolMint"
        },
        {
          "name": "wsolVault",
          "writable": true
        },
        {
          "name": "systemConfigAccount",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  115,
                  121,
                  115,
                  116,
                  101,
                  109,
                  95,
                  99,
                  111,
                  110,
                  102,
                  105,
                  103,
                  95,
                  118,
                  49,
                  46,
                  49
                ]
              },
              {
                "kind": "account",
                "path": "system_config_account.admin",
                "account": "systemConfigData"
              }
            ]
          }
        },
        {
          "name": "protocolFeeAccount",
          "writable": true
        },
        {
          "name": "rent",
          "address": "SysvarRent111111111111111111111111111111111"
        },
        {
          "name": "systemProgram",
          "address": "11111111111111111111111111111111"
        },
        {
          "name": "tokenProgram",
          "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
        },
        {
          "name": "tokenMetadataProgram",
          "address": "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"
        },
        {
          "name": "associatedTokenProgram",
          "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
        }
      ],
      "args": [
        {
          "name": "metadata",
          "type": {
            "defined": {
              "name": "tokenMetadata"
            }
          }
        },
        {
          "name": "initConfigData",
          "type": {
            "defined": {
              "name": "initializeTokenConfigData"
            }
          }
        }
      ]
    },
    {
      "name": "mintTokens",
      "docs": [
        "Mint tokens"
      ],
      "discriminator": [
        59,
        132,
        24,
        246,
        122,
        39,
        8,
        243
      ],
      "accounts": [
        {
          "name": "mint",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  102,
                  97,
                  105,
                  114,
                  95,
                  109,
                  105,
                  110,
                  116
                ]
              },
              {
                "kind": "arg",
                "path": "tokenName"
              },
              {
                "kind": "arg",
                "path": "tokenSymbol"
              }
            ]
          }
        },
        {
          "name": "destination",
          "writable": true
        },
        {
          "name": "destinationWsolAta",
          "writable": true
        },
        {
          "name": "refundAccount",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  114,
                  101,
                  102,
                  117,
                  110,
                  100
                ]
              },
              {
                "kind": "account",
                "path": "mint"
              },
              {
                "kind": "account",
                "path": "user"
              }
            ]
          }
        },
        {
          "name": "user",
          "writable": true,
          "signer": true
        },
        {
          "name": "configAccount",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  99,
                  111,
                  110,
                  102,
                  105,
                  103,
                  95,
                  100,
                  97,
                  116,
                  97
                ]
              },
              {
                "kind": "account",
                "path": "mint"
              }
            ]
          }
        },
        {
          "name": "systemConfigAccount",
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  115,
                  121,
                  115,
                  116,
                  101,
                  109,
                  95,
                  99,
                  111,
                  110,
                  102,
                  105,
                  103,
                  95,
                  118,
                  49,
                  46,
                  49
                ]
              },
              {
                "kind": "account",
                "path": "system_config_account.admin",
                "account": "systemConfigData"
              }
            ]
          }
        },
        {
          "name": "mintTokenVault",
          "writable": true
        },
        {
          "name": "tokenVault",
          "writable": true
        },
        {
          "name": "wsolVault",
          "writable": true
        },
        {
          "name": "wsolMint"
        },
        {
          "name": "referrerAta"
        },
        {
          "name": "referrerMain",
          "writable": true
        },
        {
          "name": "referralAccount",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  114,
                  101,
                  102,
                  101,
                  114,
                  114,
                  97,
                  108
                ]
              },
              {
                "kind": "account",
                "path": "mint"
              },
              {
                "kind": "account",
                "path": "referrerMain"
              }
            ]
          }
        },
        {
          "name": "protocolFeeAccount"
        },
        {
          "name": "protocolWsolVault",
          "writable": true
        },
        {
          "name": "poolState",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  112,
                  111,
                  111,
                  108
                ]
              },
              {
                "kind": "account",
                "path": "ammConfig"
              },
              {
                "kind": "account",
                "path": "token0Mint"
              },
              {
                "kind": "account",
                "path": "token1Mint"
              }
            ],
            "program": {
              "kind": "account",
              "path": "cpSwapProgram"
            }
          }
        },
        {
          "name": "ammConfig"
        },
        {
          "name": "cpSwapProgram",
          "address": "CPMDWBwJDtYax9qW7AyRuVC19Cc4L4Vcy4n2BHAbHkCW"
        },
        {
          "name": "token0Mint"
        },
        {
          "name": "token1Mint"
        },
        {
          "name": "rent",
          "address": "SysvarRent111111111111111111111111111111111"
        },
        {
          "name": "tokenProgram",
          "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
        },
        {
          "name": "systemProgram",
          "address": "11111111111111111111111111111111"
        },
        {
          "name": "associatedTokenProgram",
          "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
        }
      ],
      "args": [
        {
          "name": "tokenName",
          "type": "string"
        },
        {
          "name": "tokenSymbol",
          "type": "string"
        },
        {
          "name": "codeHash",
          "type": "bytes"
        }
      ]
    },
    {
      "name": "proxyBurnLpTokens",
      "docs": [
        "Burn lp tokens"
      ],
      "discriminator": [
        215,
        41,
        48,
        70,
        81,
        221,
        246,
        105
      ],
      "accounts": [
        {
          "name": "admin",
          "writable": true,
          "signer": true
        },
        {
          "name": "mint",
          "docs": [
            "token mint"
          ],
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  102,
                  97,
                  105,
                  114,
                  95,
                  109,
                  105,
                  110,
                  116
                ]
              },
              {
                "kind": "arg",
                "path": "tokenName"
              },
              {
                "kind": "arg",
                "path": "tokenSymbol"
              }
            ]
          }
        },
        {
          "name": "configAccount",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  99,
                  111,
                  110,
                  102,
                  105,
                  103,
                  95,
                  100,
                  97,
                  116,
                  97
                ]
              },
              {
                "kind": "account",
                "path": "mint"
              }
            ]
          }
        },
        {
          "name": "ownerLpToken",
          "docs": [
            "Owner lp tokan account - config account"
          ],
          "writable": true
        },
        {
          "name": "lpMint",
          "writable": true
        },
        {
          "name": "tokenProgram",
          "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
        }
      ],
      "args": [
        {
          "name": "tokenName",
          "type": "string"
        },
        {
          "name": "tokenSymbol",
          "type": "string"
        },
        {
          "name": "amount",
          "type": "u64"
        }
      ]
    },
    {
      "name": "proxyCreatePool",
      "docs": [
        "Initiazlize a swap pool"
      ],
      "discriminator": [
        250,
        151,
        238,
        168,
        5,
        240,
        236,
        243
      ],
      "accounts": [
        {
          "name": "creator",
          "writable": true,
          "signer": true
        },
        {
          "name": "creatorTokenVault",
          "writable": true
        },
        {
          "name": "creatorWsolVault",
          "writable": true
        },
        {
          "name": "mint",
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  102,
                  97,
                  105,
                  114,
                  95,
                  109,
                  105,
                  110,
                  116
                ]
              },
              {
                "kind": "arg",
                "path": "tokenName"
              },
              {
                "kind": "arg",
                "path": "tokenSymbol"
              }
            ]
          }
        },
        {
          "name": "configAccount",
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  99,
                  111,
                  110,
                  102,
                  105,
                  103,
                  95,
                  100,
                  97,
                  116,
                  97
                ]
              },
              {
                "kind": "account",
                "path": "mint"
              }
            ]
          }
        },
        {
          "name": "systemConfigAccount",
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  115,
                  121,
                  115,
                  116,
                  101,
                  109,
                  95,
                  99,
                  111,
                  110,
                  102,
                  105,
                  103,
                  95,
                  118,
                  49,
                  46,
                  49
                ]
              },
              {
                "kind": "account",
                "path": "system_config_account.admin",
                "account": "systemConfigData"
              }
            ]
          }
        },
        {
          "name": "tokenVault",
          "writable": true
        },
        {
          "name": "wsolVault",
          "writable": true
        },
        {
          "name": "wsolMint"
        },
        {
          "name": "poolState",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  112,
                  111,
                  111,
                  108
                ]
              },
              {
                "kind": "account",
                "path": "ammConfig"
              },
              {
                "kind": "account",
                "path": "token0Mint"
              },
              {
                "kind": "account",
                "path": "token1Mint"
              }
            ],
            "program": {
              "kind": "account",
              "path": "cpSwapProgram"
            }
          }
        },
        {
          "name": "ammConfig"
        },
        {
          "name": "cpSwapProgram",
          "address": "CPMDWBwJDtYax9qW7AyRuVC19Cc4L4Vcy4n2BHAbHkCW"
        },
        {
          "name": "token0Mint"
        },
        {
          "name": "token1Mint"
        },
        {
          "name": "tokenProgram",
          "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
        },
        {
          "name": "systemProgram",
          "address": "11111111111111111111111111111111"
        }
      ],
      "args": [
        {
          "name": "tokenName",
          "type": "string"
        },
        {
          "name": "tokenSymbol",
          "type": "string"
        }
      ]
    },
    {
      "name": "proxyDeposit",
      "docs": [
        "deposit instruction"
      ],
      "discriminator": [
        99,
        49,
        91,
        137,
        172,
        25,
        207,
        21
      ],
      "accounts": [
        {
          "name": "cpSwapProgram",
          "address": "CPMDWBwJDtYax9qW7AyRuVC19Cc4L4Vcy4n2BHAbHkCW"
        },
        {
          "name": "owner",
          "docs": [
            "Pays to mint the position"
          ],
          "writable": true,
          "signer": true
        },
        {
          "name": "mint",
          "docs": [
            "Token mint"
          ],
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  102,
                  97,
                  105,
                  114,
                  95,
                  109,
                  105,
                  110,
                  116
                ]
              },
              {
                "kind": "arg",
                "path": "tokenName"
              },
              {
                "kind": "arg",
                "path": "tokenSymbol"
              }
            ]
          }
        },
        {
          "name": "configAccount",
          "docs": [
            "Config account"
          ],
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  99,
                  111,
                  110,
                  102,
                  105,
                  103,
                  95,
                  100,
                  97,
                  116,
                  97
                ]
              },
              {
                "kind": "account",
                "path": "mint"
              }
            ]
          }
        },
        {
          "name": "authority",
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  118,
                  97,
                  117,
                  108,
                  116,
                  95,
                  97,
                  110,
                  100,
                  95,
                  108,
                  112,
                  95,
                  109,
                  105,
                  110,
                  116,
                  95,
                  97,
                  117,
                  116,
                  104,
                  95,
                  115,
                  101,
                  101,
                  100
                ]
              }
            ],
            "program": {
              "kind": "const",
              "value": [
                169,
                42,
                49,
                26,
                136,
                152,
                134,
                77,
                32,
                99,
                200,
                252,
                203,
                83,
                110,
                30,
                138,
                48,
                77,
                141,
                83,
                152,
                76,
                10,
                78,
                179,
                193,
                68,
                7,
                214,
                116,
                231
              ]
            }
          }
        },
        {
          "name": "poolState",
          "docs": [
            "pool state"
          ],
          "writable": true
        },
        {
          "name": "ownerLpToken",
          "docs": [
            "Owner lp tokan account"
          ],
          "writable": true
        },
        {
          "name": "token0Account",
          "docs": [
            "The payer's token account for token_0"
          ],
          "writable": true
        },
        {
          "name": "token1Account",
          "docs": [
            "The payer's token account for token_1"
          ],
          "writable": true
        },
        {
          "name": "token0Vault",
          "docs": [
            "The address that holds pool tokens for token_0"
          ],
          "writable": true
        },
        {
          "name": "token1Vault",
          "docs": [
            "The address that holds pool tokens for token_1"
          ],
          "writable": true
        },
        {
          "name": "tokenProgram",
          "docs": [
            "token Program"
          ],
          "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
        },
        {
          "name": "tokenProgram2022",
          "docs": [
            "Token program 2022"
          ],
          "address": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"
        },
        {
          "name": "vault0Mint",
          "docs": [
            "The mint of token_0 vault"
          ]
        },
        {
          "name": "vault1Mint",
          "docs": [
            "The mint of token_1 vault"
          ]
        },
        {
          "name": "lpMint",
          "writable": true
        }
      ],
      "args": [
        {
          "name": "tokenName",
          "type": "string"
        },
        {
          "name": "tokenSymbol",
          "type": "string"
        },
        {
          "name": "lpTokenAmount",
          "type": "u64"
        },
        {
          "name": "maximumToken0Amount",
          "type": "u64"
        },
        {
          "name": "maximumToken1Amount",
          "type": "u64"
        }
      ]
    },
    {
      "name": "proxySwapBaseIn",
      "docs": [
        "swap_base_in instruction"
      ],
      "discriminator": [
        250,
        174,
        212,
        217,
        47,
        84,
        212,
        231
      ],
      "accounts": [
        {
          "name": "cpSwapProgram",
          "address": "CPMDWBwJDtYax9qW7AyRuVC19Cc4L4Vcy4n2BHAbHkCW"
        },
        {
          "name": "payer",
          "docs": [
            "The user performing the swap"
          ],
          "writable": true,
          "signer": true
        },
        {
          "name": "mint",
          "docs": [
            "Token mint"
          ],
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  102,
                  97,
                  105,
                  114,
                  95,
                  109,
                  105,
                  110,
                  116
                ]
              },
              {
                "kind": "arg",
                "path": "tokenName"
              },
              {
                "kind": "arg",
                "path": "tokenSymbol"
              }
            ]
          }
        },
        {
          "name": "configAccount",
          "docs": [
            "Config account"
          ],
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  99,
                  111,
                  110,
                  102,
                  105,
                  103,
                  95,
                  100,
                  97,
                  116,
                  97
                ]
              },
              {
                "kind": "account",
                "path": "mint"
              }
            ]
          }
        },
        {
          "name": "authority",
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  118,
                  97,
                  117,
                  108,
                  116,
                  95,
                  97,
                  110,
                  100,
                  95,
                  108,
                  112,
                  95,
                  109,
                  105,
                  110,
                  116,
                  95,
                  97,
                  117,
                  116,
                  104,
                  95,
                  115,
                  101,
                  101,
                  100
                ]
              }
            ],
            "program": {
              "kind": "const",
              "value": [
                169,
                42,
                49,
                26,
                136,
                152,
                134,
                77,
                32,
                99,
                200,
                252,
                203,
                83,
                110,
                30,
                138,
                48,
                77,
                141,
                83,
                152,
                76,
                10,
                78,
                179,
                193,
                68,
                7,
                214,
                116,
                231
              ]
            }
          }
        },
        {
          "name": "ammConfig",
          "docs": [
            "The factory state to read protocol fees"
          ]
        },
        {
          "name": "poolState",
          "docs": [
            "pool state"
          ],
          "writable": true
        },
        {
          "name": "inputTokenAccount",
          "docs": [
            "The user token account for input token"
          ],
          "writable": true
        },
        {
          "name": "outputTokenAccount",
          "docs": [
            "The user token account for output token"
          ],
          "writable": true
        },
        {
          "name": "inputVault",
          "docs": [
            "The vault token account for input token"
          ],
          "writable": true
        },
        {
          "name": "outputVault",
          "docs": [
            "The vault token account for output token"
          ],
          "writable": true
        },
        {
          "name": "inputTokenProgram",
          "docs": [
            "SPL program for input token transfers"
          ]
        },
        {
          "name": "outputTokenProgram",
          "docs": [
            "SPL program for output token transfers"
          ]
        },
        {
          "name": "inputTokenMint",
          "docs": [
            "The mint of input token"
          ]
        },
        {
          "name": "outputTokenMint",
          "docs": [
            "The mint of output token"
          ]
        },
        {
          "name": "observationState",
          "docs": [
            "The program account for the most recent oracle observation"
          ],
          "writable": true
        }
      ],
      "args": [
        {
          "name": "tokenName",
          "type": "string"
        },
        {
          "name": "tokenSymbol",
          "type": "string"
        },
        {
          "name": "amountIn",
          "type": "u64"
        },
        {
          "name": "minimumAmountOut",
          "type": "u64"
        }
      ]
    },
    {
      "name": "proxySwapBaseOut",
      "docs": [
        "swap_base_out instruction"
      ],
      "discriminator": [
        194,
        15,
        252,
        249,
        72,
        54,
        250,
        85
      ],
      "accounts": [
        {
          "name": "cpSwapProgram",
          "address": "CPMDWBwJDtYax9qW7AyRuVC19Cc4L4Vcy4n2BHAbHkCW"
        },
        {
          "name": "payer",
          "docs": [
            "The user performing the swap"
          ],
          "writable": true,
          "signer": true
        },
        {
          "name": "mint",
          "docs": [
            "Token mint"
          ],
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  102,
                  97,
                  105,
                  114,
                  95,
                  109,
                  105,
                  110,
                  116
                ]
              },
              {
                "kind": "arg",
                "path": "tokenName"
              },
              {
                "kind": "arg",
                "path": "tokenSymbol"
              }
            ]
          }
        },
        {
          "name": "configAccount",
          "docs": [
            "Config account"
          ],
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  99,
                  111,
                  110,
                  102,
                  105,
                  103,
                  95,
                  100,
                  97,
                  116,
                  97
                ]
              },
              {
                "kind": "account",
                "path": "mint"
              }
            ]
          }
        },
        {
          "name": "authority",
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  118,
                  97,
                  117,
                  108,
                  116,
                  95,
                  97,
                  110,
                  100,
                  95,
                  108,
                  112,
                  95,
                  109,
                  105,
                  110,
                  116,
                  95,
                  97,
                  117,
                  116,
                  104,
                  95,
                  115,
                  101,
                  101,
                  100
                ]
              }
            ],
            "program": {
              "kind": "const",
              "value": [
                169,
                42,
                49,
                26,
                136,
                152,
                134,
                77,
                32,
                99,
                200,
                252,
                203,
                83,
                110,
                30,
                138,
                48,
                77,
                141,
                83,
                152,
                76,
                10,
                78,
                179,
                193,
                68,
                7,
                214,
                116,
                231
              ]
            }
          }
        },
        {
          "name": "ammConfig",
          "docs": [
            "The factory state to read protocol fees"
          ]
        },
        {
          "name": "poolState",
          "docs": [
            "pool state"
          ],
          "writable": true
        },
        {
          "name": "inputTokenAccount",
          "docs": [
            "The user token account for input token"
          ],
          "writable": true
        },
        {
          "name": "outputTokenAccount",
          "docs": [
            "The user token account for output token"
          ],
          "writable": true
        },
        {
          "name": "inputVault",
          "docs": [
            "The vault token account for input token"
          ],
          "writable": true
        },
        {
          "name": "outputVault",
          "docs": [
            "The vault token account for output token"
          ],
          "writable": true
        },
        {
          "name": "inputTokenProgram",
          "docs": [
            "SPL program for input token transfers"
          ]
        },
        {
          "name": "outputTokenProgram",
          "docs": [
            "SPL program for output token transfers"
          ]
        },
        {
          "name": "inputTokenMint",
          "docs": [
            "The mint of input token"
          ]
        },
        {
          "name": "outputTokenMint",
          "docs": [
            "The mint of output token"
          ]
        },
        {
          "name": "observationState",
          "docs": [
            "The program account for the most recent oracle observation"
          ],
          "writable": true
        }
      ],
      "args": [
        {
          "name": "tokenName",
          "type": "string"
        },
        {
          "name": "tokenSymbol",
          "type": "string"
        },
        {
          "name": "maxAmountIn",
          "type": "u64"
        },
        {
          "name": "amountOut",
          "type": "u64"
        }
      ]
    },
    {
      "name": "proxyWithdraw",
      "docs": [
        "withdraw instruction"
      ],
      "discriminator": [
        118,
        12,
        163,
        77,
        70,
        15,
        67,
        252
      ],
      "accounts": [
        {
          "name": "cpSwapProgram",
          "address": "CPMDWBwJDtYax9qW7AyRuVC19Cc4L4Vcy4n2BHAbHkCW"
        },
        {
          "name": "owner",
          "docs": [
            "Pays to mint the position"
          ],
          "writable": true,
          "signer": true
        },
        {
          "name": "mint",
          "docs": [
            "Token mint"
          ],
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  102,
                  97,
                  105,
                  114,
                  95,
                  109,
                  105,
                  110,
                  116
                ]
              },
              {
                "kind": "arg",
                "path": "tokenName"
              },
              {
                "kind": "arg",
                "path": "tokenSymbol"
              }
            ]
          }
        },
        {
          "name": "configAccount",
          "docs": [
            "Config account"
          ],
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  99,
                  111,
                  110,
                  102,
                  105,
                  103,
                  95,
                  100,
                  97,
                  116,
                  97
                ]
              },
              {
                "kind": "account",
                "path": "mint"
              }
            ]
          }
        },
        {
          "name": "authority",
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  118,
                  97,
                  117,
                  108,
                  116,
                  95,
                  97,
                  110,
                  100,
                  95,
                  108,
                  112,
                  95,
                  109,
                  105,
                  110,
                  116,
                  95,
                  97,
                  117,
                  116,
                  104,
                  95,
                  115,
                  101,
                  101,
                  100
                ]
              }
            ],
            "program": {
              "kind": "const",
              "value": [
                169,
                42,
                49,
                26,
                136,
                152,
                134,
                77,
                32,
                99,
                200,
                252,
                203,
                83,
                110,
                30,
                138,
                48,
                77,
                141,
                83,
                152,
                76,
                10,
                78,
                179,
                193,
                68,
                7,
                214,
                116,
                231
              ]
            }
          }
        },
        {
          "name": "poolState",
          "docs": [
            "pool state"
          ],
          "writable": true
        },
        {
          "name": "ownerLpToken",
          "docs": [
            "Owner lp token account"
          ],
          "writable": true
        },
        {
          "name": "token0Account",
          "docs": [
            "The owner's token account for receive token_0"
          ],
          "writable": true
        },
        {
          "name": "token1Account",
          "docs": [
            "The owner's token account for receive token_1"
          ],
          "writable": true
        },
        {
          "name": "token0Vault",
          "docs": [
            "The address that holds pool tokens for token_0"
          ],
          "writable": true
        },
        {
          "name": "token1Vault",
          "docs": [
            "The address that holds pool tokens for token_1"
          ],
          "writable": true
        },
        {
          "name": "tokenProgram",
          "docs": [
            "token Program"
          ],
          "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
        },
        {
          "name": "tokenProgram2022",
          "docs": [
            "Token program 2022"
          ],
          "address": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"
        },
        {
          "name": "vault0Mint",
          "docs": [
            "The mint of token_0 vault"
          ]
        },
        {
          "name": "vault1Mint",
          "docs": [
            "The mint of token_1 vault"
          ]
        },
        {
          "name": "lpMint",
          "writable": true
        },
        {
          "name": "memoProgram",
          "docs": [
            "memo program"
          ],
          "address": "MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"
        }
      ],
      "args": [
        {
          "name": "tokenName",
          "type": "string"
        },
        {
          "name": "tokenSymbol",
          "type": "string"
        },
        {
          "name": "lpTokenAmount",
          "type": "u64"
        },
        {
          "name": "minimumToken0Amount",
          "type": "u64"
        },
        {
          "name": "minimumToken1Amount",
          "type": "u64"
        }
      ]
    },
    {
      "name": "refund",
      "docs": [
        "Refund"
      ],
      "discriminator": [
        2,
        96,
        183,
        251,
        63,
        208,
        46,
        46
      ],
      "accounts": [
        {
          "name": "mint",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  102,
                  97,
                  105,
                  114,
                  95,
                  109,
                  105,
                  110,
                  116
                ]
              },
              {
                "kind": "arg",
                "path": "tokenName"
              },
              {
                "kind": "arg",
                "path": "tokenSymbol"
              }
            ]
          }
        },
        {
          "name": "refundAccount",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  114,
                  101,
                  102,
                  117,
                  110,
                  100
                ]
              },
              {
                "kind": "account",
                "path": "mint"
              },
              {
                "kind": "account",
                "path": "payer"
              }
            ]
          }
        },
        {
          "name": "configAccount",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  99,
                  111,
                  110,
                  102,
                  105,
                  103,
                  95,
                  100,
                  97,
                  116,
                  97
                ]
              },
              {
                "kind": "account",
                "path": "mint"
              }
            ]
          }
        },
        {
          "name": "tokenAta",
          "writable": true
        },
        {
          "name": "tokenVault",
          "writable": true
        },
        {
          "name": "protocolFeeAccount",
          "docs": [
            "CHECK the protocol fee account"
          ],
          "writable": true
        },
        {
          "name": "systemConfigAccount",
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  115,
                  121,
                  115,
                  116,
                  101,
                  109,
                  95,
                  99,
                  111,
                  110,
                  102,
                  105,
                  103,
                  95,
                  118,
                  49,
                  46,
                  49
                ]
              },
              {
                "kind": "account",
                "path": "system_config_account.admin",
                "account": "systemConfigData"
              }
            ]
          }
        },
        {
          "name": "payer",
          "writable": true,
          "signer": true
        },
        {
          "name": "wsolVault",
          "writable": true
        },
        {
          "name": "payerWsolVault",
          "writable": true
        },
        {
          "name": "protocolWsolVault",
          "writable": true
        },
        {
          "name": "tokenProgram",
          "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
        },
        {
          "name": "systemProgram",
          "address": "11111111111111111111111111111111"
        }
      ],
      "args": [
        {
          "name": "tokenName",
          "type": "string"
        },
        {
          "name": "tokenSymbol",
          "type": "string"
        }
      ]
    },
    {
      "name": "revokeUpdateMetadataAuthority",
      "docs": [
        "Revoke update token2022 metadata authority"
      ],
      "discriminator": [
        16,
        230,
        0,
        225,
        47,
        138,
        113,
        90
      ],
      "accounts": [
        {
          "name": "mint",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  102,
                  97,
                  105,
                  114,
                  95,
                  109,
                  105,
                  110,
                  116
                ]
              },
              {
                "kind": "arg",
                "path": "metadata_params.name"
              },
              {
                "kind": "arg",
                "path": "metadata_params.symbol"
              }
            ]
          }
        },
        {
          "name": "configAccount",
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  99,
                  111,
                  110,
                  102,
                  105,
                  103,
                  95,
                  100,
                  97,
                  116,
                  97
                ]
              },
              {
                "kind": "account",
                "path": "mint"
              }
            ]
          }
        },
        {
          "name": "metadata",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  109,
                  101,
                  116,
                  97,
                  100,
                  97,
                  116,
                  97
                ]
              },
              {
                "kind": "account",
                "path": "tokenMetadataProgram"
              },
              {
                "kind": "account",
                "path": "mint"
              }
            ],
            "program": {
              "kind": "account",
              "path": "tokenMetadataProgram"
            }
          }
        },
        {
          "name": "payer",
          "writable": true,
          "signer": true
        },
        {
          "name": "tokenMetadataProgram",
          "address": "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"
        },
        {
          "name": "systemProgram",
          "address": "11111111111111111111111111111111"
        }
      ],
      "args": [
        {
          "name": "metadata",
          "type": {
            "defined": {
              "name": "tokenMetadata"
            }
          }
        }
      ]
    },
    {
      "name": "setReferrerCode",
      "docs": [
        "Set referrer code"
      ],
      "discriminator": [
        129,
        47,
        113,
        211,
        151,
        134,
        156,
        250
      ],
      "accounts": [
        {
          "name": "payer",
          "writable": true,
          "signer": true
        },
        {
          "name": "mint",
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  102,
                  97,
                  105,
                  114,
                  95,
                  109,
                  105,
                  110,
                  116
                ]
              },
              {
                "kind": "arg",
                "path": "tokenName"
              },
              {
                "kind": "arg",
                "path": "tokenSymbol"
              }
            ]
          }
        },
        {
          "name": "referrerAta",
          "writable": true
        },
        {
          "name": "referralAccount",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  114,
                  101,
                  102,
                  101,
                  114,
                  114,
                  97,
                  108
                ]
              },
              {
                "kind": "account",
                "path": "mint"
              },
              {
                "kind": "account",
                "path": "payer"
              }
            ]
          }
        },
        {
          "name": "configAccount"
        },
        {
          "name": "systemConfigAccount",
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  115,
                  121,
                  115,
                  116,
                  101,
                  109,
                  95,
                  99,
                  111,
                  110,
                  102,
                  105,
                  103,
                  95,
                  118,
                  49,
                  46,
                  49
                ]
              },
              {
                "kind": "account",
                "path": "system_config_account.admin",
                "account": "systemConfigData"
              }
            ]
          }
        },
        {
          "name": "codeAccount",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  99,
                  111,
                  100,
                  101,
                  95,
                  97,
                  99,
                  99,
                  111,
                  117,
                  110,
                  116
                ]
              },
              {
                "kind": "arg",
                "path": "codeHash"
              }
            ]
          }
        },
        {
          "name": "systemProgram",
          "address": "11111111111111111111111111111111"
        },
        {
          "name": "tokenProgram",
          "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
        },
        {
          "name": "associatedTokenProgram",
          "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
        }
      ],
      "args": [
        {
          "name": "tokenName",
          "type": "string"
        },
        {
          "name": "tokenSymbol",
          "type": "string"
        },
        {
          "name": "codeHash",
          "type": "bytes"
        }
      ]
    },
    {
      "name": "updateSystem",
      "docs": [
        "Update system"
      ],
      "discriminator": [
        63,
        147,
        183,
        92,
        22,
        242,
        219,
        4
      ],
      "accounts": [
        {
          "name": "admin",
          "writable": true,
          "signer": true
        },
        {
          "name": "systemConfigAccount",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  115,
                  121,
                  115,
                  116,
                  101,
                  109,
                  95,
                  99,
                  111,
                  110,
                  102,
                  105,
                  103,
                  95,
                  118,
                  49,
                  46,
                  49
                ]
              },
              {
                "kind": "account",
                "path": "system_config_account.admin",
                "account": "systemConfigData"
              }
            ]
          }
        },
        {
          "name": "systemProgram",
          "address": "11111111111111111111111111111111"
        }
      ],
      "args": [
        {
          "name": "referralUsageMaxCount",
          "type": "u32"
        },
        {
          "name": "protocolFeeRate",
          "type": "u64"
        },
        {
          "name": "protocolFeeAccount",
          "type": "pubkey"
        },
        {
          "name": "refundFeeRate",
          "type": "u64"
        },
        {
          "name": "referrerResetIntervalSeconds",
          "type": "u64"
        },
        {
          "name": "updateMetadataFee",
          "type": "u64"
        },
        {
          "name": "customizedDeployFee",
          "type": "u64"
        },
        {
          "name": "initPoolWsolAmount",
          "type": "u64"
        },
        {
          "name": "graduateFeeRate",
          "type": "u64"
        },
        {
          "name": "minGraduateFee",
          "type": "u64"
        },
        {
          "name": "raydiumCpmmCreateFee",
          "type": "u64"
        },
        {
          "name": "transferFeeBasisPoints",
          "type": "u16"
        },
        {
          "name": "isPause",
          "type": "bool"
        }
      ]
    },
    {
      "name": "updateTokenMetadata",
      "docs": [
        "Update token metadata"
      ],
      "discriminator": [
        243,
        6,
        8,
        23,
        126,
        181,
        251,
        158
      ],
      "accounts": [
        {
          "name": "mint",
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  102,
                  97,
                  105,
                  114,
                  95,
                  109,
                  105,
                  110,
                  116
                ]
              },
              {
                "kind": "arg",
                "path": "metadata_params.name"
              },
              {
                "kind": "arg",
                "path": "metadata_params.symbol"
              }
            ]
          }
        },
        {
          "name": "configAccount",
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  99,
                  111,
                  110,
                  102,
                  105,
                  103,
                  95,
                  100,
                  97,
                  116,
                  97
                ]
              },
              {
                "kind": "account",
                "path": "mint"
              }
            ]
          }
        },
        {
          "name": "payer",
          "writable": true,
          "signer": true
        },
        {
          "name": "metadata",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  109,
                  101,
                  116,
                  97,
                  100,
                  97,
                  116,
                  97
                ]
              },
              {
                "kind": "account",
                "path": "tokenMetadataProgram"
              },
              {
                "kind": "account",
                "path": "mint"
              }
            ],
            "program": {
              "kind": "account",
              "path": "tokenMetadataProgram"
            }
          }
        },
        {
          "name": "systemConfigAccount",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  115,
                  121,
                  115,
                  116,
                  101,
                  109,
                  95,
                  99,
                  111,
                  110,
                  102,
                  105,
                  103,
                  95,
                  118,
                  49,
                  46,
                  49
                ]
              },
              {
                "kind": "account",
                "path": "system_config_account.admin",
                "account": "systemConfigData"
              }
            ]
          }
        },
        {
          "name": "protocolFeeAccount",
          "docs": [
            "CHECK the protocol fee account"
          ],
          "writable": true
        },
        {
          "name": "systemProgram",
          "address": "11111111111111111111111111111111"
        },
        {
          "name": "tokenProgram",
          "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
        },
        {
          "name": "tokenMetadataProgram",
          "address": "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"
        }
      ],
      "args": [
        {
          "name": "metadata",
          "type": {
            "defined": {
              "name": "tokenMetadata"
            }
          }
        }
      ]
    }
  ],
  "accounts": [
    {
      "name": "ammConfig",
      "discriminator": [
        218,
        244,
        33,
        104,
        203,
        203,
        43,
        111
      ]
    },
    {
      "name": "codeAccountData",
      "discriminator": [
        223,
        104,
        233,
        118,
        230,
        133,
        135,
        33
      ]
    },
    {
      "name": "observationState",
      "discriminator": [
        122,
        174,
        197,
        53,
        129,
        9,
        165,
        132
      ]
    },
    {
      "name": "poolState",
      "discriminator": [
        247,
        237,
        227,
        245,
        215,
        195,
        222,
        70
      ]
    },
    {
      "name": "systemConfigData",
      "discriminator": [
        192,
        35,
        167,
        45,
        153,
        226,
        213,
        45
      ]
    },
    {
      "name": "tokenConfigData",
      "discriminator": [
        38,
        179,
        204,
        76,
        50,
        176,
        214,
        81
      ]
    },
    {
      "name": "tokenReferralData",
      "discriminator": [
        136,
        185,
        38,
        182,
        42,
        126,
        118,
        45
      ]
    },
    {
      "name": "tokenRefundData",
      "discriminator": [
        16,
        160,
        38,
        231,
        81,
        131,
        138,
        105
      ]
    }
  ],
  "events": [
    {
      "name": "closeTokenEvent",
      "discriminator": [
        203,
        9,
        156,
        247,
        207,
        50,
        200,
        219
      ]
    },
    {
      "name": "initializeTokenEvent",
      "discriminator": [
        108,
        41,
        10,
        194,
        65,
        120,
        212,
        118
      ]
    },
    {
      "name": "mintEvent",
      "discriminator": [
        197,
        144,
        146,
        149,
        66,
        164,
        95,
        16
      ]
    },
    {
      "name": "refundEvent",
      "discriminator": [
        176,
        159,
        218,
        59,
        94,
        213,
        129,
        218
      ]
    },
    {
      "name": "setRefererCodeEvent",
      "discriminator": [
        156,
        230,
        12,
        212,
        118,
        228,
        15,
        218
      ]
    },
    {
      "name": "updateTokenMetadataEvent",
      "discriminator": [
        203,
        161,
        251,
        30,
        78,
        127,
        196,
        227
      ]
    }
  ],
  "errors": [
    {
      "code": 6000,
      "name": "onlyAdminAllowed",
      "msg": "Only admin allowed"
    },
    {
      "code": 6001,
      "name": "exceedMaxSupply",
      "msg": "Exceed max supply"
    },
    {
      "code": 6002,
      "name": "notEnoughSolToPayFee",
      "msg": "Not enough SOL to pay fee"
    },
    {
      "code": 6003,
      "name": "wrongReferrerAta",
      "msg": "Wrong referrer ATA address"
    },
    {
      "code": 6004,
      "name": "wrongReferrerOwner",
      "msg": "Wrong referrer owner"
    },
    {
      "code": 6005,
      "name": "referrerCodeResetFrozen",
      "msg": "Referrer code reset frozen"
    },
    {
      "code": 6006,
      "name": "referrerCodeExceedMaxUsage",
      "msg": "Referrer code exceed max usage"
    },
    {
      "code": 6007,
      "name": "wrongReferrerAtaOwner",
      "msg": "Wrong referrer ATA owner"
    },
    {
      "code": 6008,
      "name": "wrongReferrerMainAddress",
      "msg": "Wrong referrer main address"
    },
    {
      "code": 6009,
      "name": "referrerAtaNotReady",
      "msg": "Referrer ATA is not ready"
    },
    {
      "code": 6010,
      "name": "referrerAtaBalanceNotEnough",
      "msg": "Referrer ATA's balance is not enough"
    },
    {
      "code": 6011,
      "name": "wrongTokenProgram",
      "msg": "Wrong token program"
    },
    {
      "code": 6012,
      "name": "targetErasNotReached",
      "msg": "Target eras not reached"
    },
    {
      "code": 6013,
      "name": "wrongProtocolFeeAccount",
      "msg": "Wrong protocol fee account"
    },
    {
      "code": 6014,
      "name": "onlyUserAccountAllowed",
      "msg": "Only user account allowed"
    },
    {
      "code": 6015,
      "name": "notEnoughTokensToRefund",
      "msg": "Not enough tokens to refund"
    },
    {
      "code": 6016,
      "name": "refundTokensIsZero",
      "msg": "Refund tokens is zero"
    },
    {
      "code": 6017,
      "name": "invalidLiquidityTokensRatio",
      "msg": "Invalid liquidity tokens ratio, should be > 0 and <= 50"
    },
    {
      "code": 6018,
      "name": "invalidReduceRatio",
      "msg": "Invalid reduce ratio, should be >= 50 and < 100"
    },
    {
      "code": 6019,
      "name": "invalidEpochesPerEra",
      "msg": "Invalid epoches per era, should be > 0"
    },
    {
      "code": 6020,
      "name": "invalidTargetSecondsPerEpoch",
      "msg": "Invalid target seconds per epoch, should be > 0"
    },
    {
      "code": 6021,
      "name": "invalidTargetEras",
      "msg": "Invalid target eras, should be > 0"
    },
    {
      "code": 6022,
      "name": "invalidInitialMintSize",
      "msg": "Invalid initial mint size, should be > 0"
    },
    {
      "code": 6023,
      "name": "invalidInitialTargetMintSizePerEpoch",
      "msg": "Invalid initial target mint size per epoch, should be > 0"
    },
    {
      "code": 6024,
      "name": "initialMintSizeOfEpochTooSmall",
      "msg": "Initial mint size of epoch too small, should be 10 * mint size per minting"
    },
    {
      "code": 6025,
      "name": "userBalanceNotEnoughForRefund",
      "msg": "User token balance not enough for refund"
    },
    {
      "code": 6026,
      "name": "vaultBalanceNotEnoughForRefund",
      "msg": "Vault token balance not enough for refund"
    },
    {
      "code": 6027,
      "name": "onlySystemAdminAllowed",
      "msg": "Only system admin allowed"
    },
    {
      "code": 6028,
      "name": "systemAlreadyInitialized",
      "msg": "System already initialized"
    },
    {
      "code": 6029,
      "name": "wrongSystemConfigAccount",
      "msg": "Wrong system config account"
    },
    {
      "code": 6030,
      "name": "invalidFeeAccount",
      "msg": "Invalid fee account"
    },
    {
      "code": 6031,
      "name": "invalidTokenVault",
      "msg": "Invalid token vault"
    },
    {
      "code": 6032,
      "name": "invalidWsolVault",
      "msg": "Invalid wsol vault"
    },
    {
      "code": 6033,
      "name": "invalidWsolMint",
      "msg": "Invalid wsol mint"
    },
    {
      "code": 6034,
      "name": "invalidTokenVaultOwner",
      "msg": "Invalid token vault owner"
    },
    {
      "code": 6035,
      "name": "mintNotStarted",
      "msg": "Mint has not started"
    },
    {
      "code": 6036,
      "name": "wrongReferrerCode",
      "msg": "Wrong referrer account"
    },
    {
      "code": 6037,
      "name": "wrongMintAddress",
      "msg": "Wrong mint address"
    },
    {
      "code": 6038,
      "name": "mintHasStarted",
      "msg": "Mint has started"
    },
    {
      "code": 6039,
      "name": "invalidTokenMint",
      "msg": "Invalid token mint"
    },
    {
      "code": 6040,
      "name": "invalidTokenOwner",
      "msg": "Invalid token owner"
    },
    {
      "code": 6041,
      "name": "numericOverflow",
      "msg": "Numeric overflow"
    },
    {
      "code": 6042,
      "name": "insufficientFunds",
      "msg": "Insufficient funds"
    },
    {
      "code": 6043,
      "name": "burnOperationFailed",
      "msg": "Burn operation failed"
    },
    {
      "code": 6044,
      "name": "refundInProgress",
      "msg": "Refund in progress"
    },
    {
      "code": 6045,
      "name": "divideByZero",
      "msg": "Division by zero"
    },
    {
      "code": 6046,
      "name": "transferFailed",
      "msg": "Transfer failed"
    },
    {
      "code": 6047,
      "name": "referrerMainAccountEmpty",
      "msg": "Referrer main account empty"
    },
    {
      "code": 6048,
      "name": "payerMustSign",
      "msg": "Payer must sign"
    },
    {
      "code": 6049,
      "name": "invalidPayerAccount",
      "msg": "Invalid payer account"
    },
    {
      "code": 6050,
      "name": "invalidCodeHash",
      "msg": "Invalid code hash"
    },
    {
      "code": 6051,
      "name": "invalidResetInterval",
      "msg": "Invalid reset interval"
    },
    {
      "code": 6052,
      "name": "tokenAlreadyInitialized",
      "msg": "Token already initialized"
    },
    {
      "code": 6053,
      "name": "invalidTokenName",
      "msg": "Invalid token name"
    },
    {
      "code": 6054,
      "name": "invalidTokenSymbol",
      "msg": "Invalid token symbol"
    },
    {
      "code": 6055,
      "name": "invalidTokenUri",
      "msg": "Invalid token uri"
    },
    {
      "code": 6056,
      "name": "metadataAlreadyInitialized",
      "msg": "Metadata already initialized"
    },
    {
      "code": 6057,
      "name": "invalidProtocolFeeRate",
      "msg": "Invalid protocol fee rate, max 50000 which is 50%"
    },
    {
      "code": 6058,
      "name": "invalidRefundFeeRate",
      "msg": "Invalid refund fee rate, max 50000 which is 50%"
    },
    {
      "code": 6059,
      "name": "mintInProgress",
      "msg": "Mint in progress"
    },
    {
      "code": 6060,
      "name": "setReferrerCodeProcess",
      "msg": "Set referrer code processing"
    },
    {
      "code": 6061,
      "name": "payerAmountTooLow",
      "msg": "Payer amount too low"
    },
    {
      "code": 6062,
      "name": "configSupplyNotMatchMintSupply",
      "msg": "Config supply not match mint supply"
    },
    {
      "code": 6063,
      "name": "insufficientBalanceForDeployment",
      "msg": "Insufficient balance for deployment"
    },
    {
      "code": 6064,
      "name": "sendInitializingFeeFailed",
      "msg": "Send initializing fee failed"
    },
    {
      "code": 6065,
      "name": "invalidMintAccount",
      "msg": "Invalid mint account"
    },
    {
      "code": 6066,
      "name": "invalidTokenProgram",
      "msg": "Invalid token program"
    },
    {
      "code": 6067,
      "name": "refundOnlyAllowedInTargetEras",
      "msg": "Refund only allowed in target eras"
    },
    {
      "code": 6068,
      "name": "graduateFrozenPeriodNotOver",
      "msg": "Graduate frozen period not over, need to wait 2 epochs after target era arrived!"
    },
    {
      "code": 6069,
      "name": "onlyValueManagerAllowed",
      "msg": "Only value manager allowed"
    },
    {
      "code": 6070,
      "name": "invalidValueManager",
      "msg": "Invalid value manager"
    },
    {
      "code": 6071,
      "name": "invalidProtocolFeeAccount",
      "msg": "Invalid protocol fee account"
    },
    {
      "code": 6072,
      "name": "invalidRemainingAccounts",
      "msg": "Invalid remaining accounts"
    },
    {
      "code": 6073,
      "name": "creatorTokenNotEnoughForInitializePool",
      "msg": "Creator token not enough for initialize pool"
    },
    {
      "code": 6074,
      "name": "graduateFeeIsNotEnough",
      "msg": "Graduate fee is not enough"
    },
    {
      "code": 6075,
      "name": "invalidDestinationAta",
      "msg": "Invalid destination ata"
    },
    {
      "code": 6076,
      "name": "protocolWsolVaultIsIsEmpty",
      "msg": "Protocol wsol vault is is empty"
    },
    {
      "code": 6077,
      "name": "invalidMillisecondsPerSlot",
      "msg": "Invalid milliseconds per slot"
    },
    {
      "code": 6078,
      "name": "selfReferrerNotAllowed",
      "msg": "Self referrer not allowed"
    },
    {
      "code": 6079,
      "name": "wrongPoolToken",
      "msg": "Wrong pool token"
    },
    {
      "code": 6080,
      "name": "wrongTokenMintOrder",
      "msg": "Wrong token mint order"
    },
    {
      "code": 6081,
      "name": "invalidMintTokenVaultOwner",
      "msg": "Invalid mint token vault owner"
    },
    {
      "code": 6082,
      "name": "userBalanceNotEqualToRefund",
      "msg": "User balance not equal to refund"
    },
    {
      "code": 6083,
      "name": "vaultBalanceNotEqualToRefund",
      "msg": "Vault balance not equal to refund"
    },
    {
      "code": 6084,
      "name": "insufficientMintTokenVaultBalance",
      "msg": "Insufficient mint token vault balance"
    },
    {
      "code": 6085,
      "name": "poolAlreadyCreated",
      "msg": "Pool already created"
    },
    {
      "code": 6086,
      "name": "invalidVaultBalance",
      "msg": "Vault balance not equal to refund"
    },
    {
      "code": 6087,
      "name": "invalidMintTokenVault",
      "msg": "Invalid mint token vault"
    },
    {
      "code": 6088,
      "name": "launchTokenPaused",
      "msg": "Launch token paused"
    }
  ],
  "types": [
    {
      "name": "ammConfig",
      "docs": [
        "Holds the current owner of the factory"
      ],
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "bump",
            "docs": [
              "Bump to identify PDA"
            ],
            "type": "u8"
          },
          {
            "name": "disableCreatePool",
            "docs": [
              "Status to control if new pool can be create"
            ],
            "type": "bool"
          },
          {
            "name": "index",
            "docs": [
              "Config index"
            ],
            "type": "u16"
          },
          {
            "name": "tradeFeeRate",
            "docs": [
              "The trade fee, denominated in hundredths of a bip (10^-6)"
            ],
            "type": "u64"
          },
          {
            "name": "protocolFeeRate",
            "docs": [
              "The protocol fee"
            ],
            "type": "u64"
          },
          {
            "name": "fundFeeRate",
            "docs": [
              "The fund fee, denominated in hundredths of a bip (10^-6)"
            ],
            "type": "u64"
          },
          {
            "name": "createPoolFee",
            "docs": [
              "Fee for create a new pool"
            ],
            "type": "u64"
          },
          {
            "name": "protocolOwner",
            "docs": [
              "Address of the protocol fee owner"
            ],
            "type": "pubkey"
          },
          {
            "name": "fundOwner",
            "docs": [
              "Address of the fund fee owner"
            ],
            "type": "pubkey"
          },
          {
            "name": "padding",
            "docs": [
              "padding"
            ],
            "type": {
              "array": [
                "u64",
                16
              ]
            }
          }
        ]
      }
    },
    {
      "name": "closeTokenEvent",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "mint",
            "type": "pubkey"
          },
          {
            "name": "configAccount",
            "type": "pubkey"
          },
          {
            "name": "tokenVault",
            "type": "pubkey"
          }
        ]
      }
    },
    {
      "name": "codeAccountData",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "referralAccount",
            "type": "pubkey"
          }
        ]
      }
    },
    {
      "name": "initializeTokenConfigData",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "targetEras",
            "type": "u32"
          },
          {
            "name": "epochesPerEra",
            "type": "u64"
          },
          {
            "name": "targetSecondsPerEpoch",
            "type": "u64"
          },
          {
            "name": "reduceRatio",
            "type": "f64"
          },
          {
            "name": "initialMintSize",
            "type": "u64"
          },
          {
            "name": "initialTargetMintSizePerEpoch",
            "type": "u64"
          },
          {
            "name": "feeRate",
            "type": "u64"
          },
          {
            "name": "liquidityTokensRatio",
            "type": "f64"
          },
          {
            "name": "startTimestamp",
            "type": "u64"
          }
        ]
      }
    },
    {
      "name": "initializeTokenEvent",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "metadata",
            "type": {
              "defined": {
                "name": "tokenMetadata"
              }
            }
          },
          {
            "name": "initConfigData",
            "type": {
              "defined": {
                "name": "initializeTokenConfigData"
              }
            }
          },
          {
            "name": "admin",
            "type": "pubkey"
          },
          {
            "name": "tokenId",
            "type": "u64"
          },
          {
            "name": "mint",
            "type": "pubkey"
          },
          {
            "name": "configAccount",
            "type": "pubkey"
          },
          {
            "name": "metadataAccount",
            "type": "pubkey"
          },
          {
            "name": "timestamp",
            "type": "u64"
          },
          {
            "name": "tokenVault",
            "type": "pubkey"
          },
          {
            "name": "mintStateData",
            "type": {
              "defined": {
                "name": "tokenMintState"
              }
            }
          },
          {
            "name": "valueManager",
            "type": "pubkey"
          },
          {
            "name": "wsolVault",
            "type": "pubkey"
          }
        ]
      }
    },
    {
      "name": "mintEvent",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "sender",
            "type": "pubkey"
          },
          {
            "name": "mint",
            "type": "pubkey"
          },
          {
            "name": "configAccount",
            "type": "pubkey"
          },
          {
            "name": "tokenVault",
            "type": "pubkey"
          },
          {
            "name": "referralAccount",
            "type": "pubkey"
          },
          {
            "name": "referrerMain",
            "type": "pubkey"
          },
          {
            "name": "referrerAta",
            "type": "pubkey"
          },
          {
            "name": "refundAccount",
            "type": "pubkey"
          },
          {
            "name": "timestamp",
            "type": "u64"
          },
          {
            "name": "mintStateData",
            "type": {
              "defined": {
                "name": "tokenMintState"
              }
            }
          },
          {
            "name": "mintFee",
            "type": "u64"
          },
          {
            "name": "referrerFee",
            "type": "u64"
          },
          {
            "name": "wsolVault",
            "type": "pubkey"
          }
        ]
      }
    },
    {
      "name": "observation",
      "docs": [
        "The element of observations in ObservationState"
      ],
      "serialization": "bytemuckunsafe",
      "repr": {
        "kind": "c",
        "packed": true
      },
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "blockTimestamp",
            "docs": [
              "The block timestamp of the observation"
            ],
            "type": "u64"
          },
          {
            "name": "cumulativeToken0PriceX32",
            "docs": [
              "the cumulative of token0 price during the duration time, Q32.32, the remaining 64 bit for overflow"
            ],
            "type": "u128"
          },
          {
            "name": "cumulativeToken1PriceX32",
            "docs": [
              "the cumulative of token1 price during the duration time, Q32.32, the remaining 64 bit for overflow"
            ],
            "type": "u128"
          }
        ]
      }
    },
    {
      "name": "observationState",
      "serialization": "bytemuckunsafe",
      "repr": {
        "kind": "c",
        "packed": true
      },
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "initialized",
            "docs": [
              "Whether the ObservationState is initialized"
            ],
            "type": "bool"
          },
          {
            "name": "observationIndex",
            "docs": [
              "the most-recently updated index of the observations array"
            ],
            "type": "u16"
          },
          {
            "name": "poolId",
            "type": "pubkey"
          },
          {
            "name": "observations",
            "docs": [
              "observation array"
            ],
            "type": {
              "array": [
                {
                  "defined": {
                    "name": "observation"
                  }
                },
                100
              ]
            }
          },
          {
            "name": "padding",
            "docs": [
              "padding for feature update"
            ],
            "type": {
              "array": [
                "u64",
                4
              ]
            }
          }
        ]
      }
    },
    {
      "name": "poolState",
      "serialization": "bytemuckunsafe",
      "repr": {
        "kind": "c",
        "packed": true
      },
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "ammConfig",
            "docs": [
              "Which config the pool belongs"
            ],
            "type": "pubkey"
          },
          {
            "name": "poolCreator",
            "docs": [
              "pool creator"
            ],
            "type": "pubkey"
          },
          {
            "name": "token0Vault",
            "docs": [
              "Token A"
            ],
            "type": "pubkey"
          },
          {
            "name": "token1Vault",
            "docs": [
              "Token B"
            ],
            "type": "pubkey"
          },
          {
            "name": "lpMint",
            "docs": [
              "Pool tokens are issued when A or B tokens are deposited.",
              "Pool tokens can be withdrawn back to the original A or B token."
            ],
            "type": "pubkey"
          },
          {
            "name": "token0Mint",
            "docs": [
              "Mint information for token A"
            ],
            "type": "pubkey"
          },
          {
            "name": "token1Mint",
            "docs": [
              "Mint information for token B"
            ],
            "type": "pubkey"
          },
          {
            "name": "token0Program",
            "docs": [
              "token_0 program"
            ],
            "type": "pubkey"
          },
          {
            "name": "token1Program",
            "docs": [
              "token_1 program"
            ],
            "type": "pubkey"
          },
          {
            "name": "observationKey",
            "docs": [
              "observation account to store oracle data"
            ],
            "type": "pubkey"
          },
          {
            "name": "authBump",
            "type": "u8"
          },
          {
            "name": "status",
            "docs": [
              "Bitwise representation of the state of the pool",
              "bit0, 1: disable deposit(vaule is 1), 0: normal",
              "bit1, 1: disable withdraw(vaule is 2), 0: normal",
              "bit2, 1: disable swap(vaule is 4), 0: normal"
            ],
            "type": "u8"
          },
          {
            "name": "lpMintDecimals",
            "type": "u8"
          },
          {
            "name": "mint0Decimals",
            "docs": [
              "mint0 and mint1 decimals"
            ],
            "type": "u8"
          },
          {
            "name": "mint1Decimals",
            "type": "u8"
          },
          {
            "name": "lpSupply",
            "docs": [
              "lp mint supply"
            ],
            "type": "u64"
          },
          {
            "name": "protocolFeesToken0",
            "docs": [
              "The amounts of token_0 and token_1 that are owed to the liquidity provider."
            ],
            "type": "u64"
          },
          {
            "name": "protocolFeesToken1",
            "type": "u64"
          },
          {
            "name": "fundFeesToken0",
            "type": "u64"
          },
          {
            "name": "fundFeesToken1",
            "type": "u64"
          },
          {
            "name": "openTime",
            "docs": [
              "The timestamp allowed for swap in the pool."
            ],
            "type": "u64"
          },
          {
            "name": "padding",
            "docs": [
              "padding for future updates"
            ],
            "type": {
              "array": [
                "u64",
                32
              ]
            }
          }
        ]
      }
    },
    {
      "name": "refundEvent",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "sender",
            "type": "pubkey"
          },
          {
            "name": "mint",
            "type": "pubkey"
          },
          {
            "name": "refundAccount",
            "type": "pubkey"
          },
          {
            "name": "configAccount",
            "type": "pubkey"
          },
          {
            "name": "tokenVault",
            "type": "pubkey"
          },
          {
            "name": "tokenAta",
            "type": "pubkey"
          },
          {
            "name": "timestamp",
            "type": "u64"
          },
          {
            "name": "supply",
            "type": "u64"
          },
          {
            "name": "totalTokens",
            "type": "u64"
          },
          {
            "name": "totalMintFee",
            "type": "u64"
          },
          {
            "name": "refundFee",
            "type": "u64"
          },
          {
            "name": "refundAmountIncludingFee",
            "type": "u64"
          },
          {
            "name": "burnAmountFromVault",
            "type": "u64"
          },
          {
            "name": "burnAmountFromUser",
            "type": "u64"
          }
        ]
      }
    },
    {
      "name": "setRefererCodeEvent",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "mint",
            "type": "pubkey"
          },
          {
            "name": "referralAccount",
            "type": "pubkey"
          },
          {
            "name": "referrerAta",
            "type": "pubkey"
          },
          {
            "name": "payer",
            "type": "pubkey"
          },
          {
            "name": "codeHash",
            "type": "pubkey"
          },
          {
            "name": "activeTimestamp",
            "type": "u64"
          }
        ]
      }
    },
    {
      "name": "systemConfigData",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "admin",
            "type": "pubkey"
          },
          {
            "name": "count",
            "type": "u64"
          },
          {
            "name": "referralUsageMaxCount",
            "type": "u32"
          },
          {
            "name": "protocolFeeRate",
            "type": "f64"
          },
          {
            "name": "protocolFeeAccount",
            "type": "pubkey"
          },
          {
            "name": "refundFeeRate",
            "type": "f64"
          },
          {
            "name": "referrerResetIntervalSeconds",
            "type": "u64"
          },
          {
            "name": "updateMetadataFee",
            "type": "u64"
          },
          {
            "name": "customizedDeployFee",
            "type": "u64"
          },
          {
            "name": "initPoolWsolAmount",
            "type": "u64"
          },
          {
            "name": "graduateFeeRate",
            "type": "u64"
          },
          {
            "name": "minGraduateFee",
            "type": "u64"
          },
          {
            "name": "raydiumCpmmCreateFee",
            "type": "u64"
          },
          {
            "name": "transferFeeBasisPoints",
            "type": "u16"
          },
          {
            "name": "isPause",
            "type": "bool"
          }
        ]
      }
    },
    {
      "name": "tokenConfigData",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "targetEras",
            "type": "u32"
          },
          {
            "name": "mintStateData",
            "type": {
              "defined": {
                "name": "tokenMintState"
              }
            }
          },
          {
            "name": "admin",
            "type": "pubkey"
          },
          {
            "name": "tokenId",
            "type": "u64"
          },
          {
            "name": "feeRate",
            "type": "u64"
          },
          {
            "name": "maxSupply",
            "type": "u64"
          },
          {
            "name": "epochesPerEra",
            "type": "u64"
          },
          {
            "name": "targetSecondsPerEpoch",
            "type": "u64"
          },
          {
            "name": "reduceRatio",
            "type": "f64"
          },
          {
            "name": "initialMintSize",
            "type": "u64"
          },
          {
            "name": "initialTargetMintSizePerEpoch",
            "type": "u64"
          },
          {
            "name": "liquidityTokensRatio",
            "type": "f64"
          },
          {
            "name": "tokenVault",
            "type": "pubkey"
          },
          {
            "name": "wsolVault",
            "type": "pubkey"
          },
          {
            "name": "mintTokenVault",
            "type": "pubkey"
          },
          {
            "name": "startTimestamp",
            "type": "u64"
          },
          {
            "name": "isProcessing",
            "type": "bool"
          },
          {
            "name": "valueManager",
            "type": "pubkey"
          }
        ]
      }
    },
    {
      "name": "tokenMetadata",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "symbol",
            "type": "string"
          },
          {
            "name": "name",
            "type": "string"
          },
          {
            "name": "uri",
            "type": "string"
          }
        ]
      }
    },
    {
      "name": "tokenMintState",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "supply",
            "type": "u64"
          },
          {
            "name": "currentEra",
            "type": "u32"
          },
          {
            "name": "currentEpoch",
            "type": "u64"
          },
          {
            "name": "elapsedSecondsEpoch",
            "type": "u64"
          },
          {
            "name": "startTimestampEpoch",
            "type": "u64"
          },
          {
            "name": "lastDifficultyCoefficientEpoch",
            "type": "f64"
          },
          {
            "name": "difficultyCoefficientEpoch",
            "type": "f64"
          },
          {
            "name": "mintSizeEpoch",
            "type": "u64"
          },
          {
            "name": "quantityMintedEpoch",
            "type": "u64"
          },
          {
            "name": "targetMintSizeEpoch",
            "type": "u64"
          },
          {
            "name": "totalMintFee",
            "type": "u64"
          },
          {
            "name": "totalReferrerFee",
            "type": "u64"
          },
          {
            "name": "totalTokens",
            "type": "u64"
          },
          {
            "name": "graduateEpoch",
            "type": "u32"
          }
        ]
      }
    },
    {
      "name": "tokenReferralData",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "referrerMain",
            "type": "pubkey"
          },
          {
            "name": "referrerAta",
            "type": "pubkey"
          },
          {
            "name": "usageCount",
            "type": "u32"
          },
          {
            "name": "codeHash",
            "type": "pubkey"
          },
          {
            "name": "mint",
            "type": "pubkey"
          },
          {
            "name": "activeTimestamp",
            "type": "u64"
          },
          {
            "name": "isProcessing",
            "type": "bool"
          }
        ]
      }
    },
    {
      "name": "tokenRefundData",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "owner",
            "type": "pubkey"
          },
          {
            "name": "totalTokens",
            "type": "u64"
          },
          {
            "name": "totalMintFee",
            "type": "u64"
          },
          {
            "name": "totalReferrerFee",
            "type": "u64"
          },
          {
            "name": "isProcessing",
            "type": "bool"
          },
          {
            "name": "vaultTokens",
            "type": "u64"
          }
        ]
      }
    },
    {
      "name": "updateTokenMetadataEvent",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "metadata",
            "type": {
              "defined": {
                "name": "tokenMetadata"
              }
            }
          },
          {
            "name": "admin",
            "type": "pubkey"
          },
          {
            "name": "mint",
            "type": "pubkey"
          },
          {
            "name": "configAccount",
            "type": "pubkey"
          },
          {
            "name": "metadataAccount",
            "type": "pubkey"
          },
          {
            "name": "timestamp",
            "type": "u64"
          }
        ]
      }
    }
  ]
};
