{
  "schemaVersion": "1.0.0",
  "name": "Peak Integration Kit",
  "generatedAt": "2026-10-28T11:48:15.444Z",
  "documentation": "https://peakfun.trade/developers/",
  "network": {
    "name": "Avalanche C-Chain",
    "chainId": 43114,
    "nativeCurrency": "AVAX",
    "publicRpc": "https://api.avax.network/ext/bc/C/rpc",
    "explorer": "https://snowtrace.io"
  },
  "contracts": {
    "factory": {
      "name": "PeakLaunchFactory",
      "address": "0xa0BbDD54e51Ce513114354c0b000757a6047a4Eb",
      "deploymentBlock": 97790500,
      "deploymentTransaction": "0xd56305f9dd439e6d44e4af917f2c33c3bd258816b44adf0b07eefdb649b6d0fd",
      "abi": "./abi/PeakLaunchFactory.json"
    },
    "protocolToken": {
      "name": "PEAK",
      "address": "0xe916BeB9ADdfEcC2c7C12C241d8EC65e0c55897F",
      "abi": "./abi/PeakToken.json"
    },
    "orderManager": {
      "name": "PeakOrderManager",
      "address": "0x9C58BE74e4d1fa3e168a73597272555284639C89",
      "abi": "./abi/PeakOrderManager.json"
    },
    "metadataRegistry": {
      "name": "PeakMetadataRegistry",
      "address": "0xFcbD3Ec71Cfd2a54751fffCa40f4299C83eCaC34",
      "abi": "./abi/PeakMetadataRegistry.json"
    },
    "launchExecutor": {
      "name": "PeakLaunchExecutor",
      "address": "0x620b2e2eC414eD30F62Fe95c5BDC7eA0C675269B"
    }
  },
  "quoteTokens": [
    {
      "symbol": "WAVAX",
      "address": "0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7",
      "oracle": "0x0A77230d17318075983913bC2145DB16C7366156",
      "maxPriceAge": 10800,
      "enabled": true
    },
    {
      "symbol": "USDC",
      "address": "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E",
      "oracle": "0xF096872672F44d6EBA71458D74fe67F9a77a23B9",
      "maxPriceAge": 10800,
      "enabled": true
    },
    {
      "symbol": "USDt",
      "address": "0x9702230A8Ea53601f5cD2dc00fDBc13d4dF4A8c7",
      "oracle": "0xEBE676ee90Fe1112671f19b6B7459bC678B67e8a",
      "maxPriceAge": 10800,
      "enabled": true
    },
    {
      "symbol": "BTC.b",
      "address": "0x152b9d0FdC40C096757F570A51E494bd4b943E50",
      "oracle": "0x2779D32d5166BAaa2B2b658333bA7e6Ec0C65743",
      "maxPriceAge": 10800,
      "enabled": true
    },
    {
      "symbol": "WETH.e",
      "address": "0x49D5c2BdFfac6CE2BFdB6640F4F80f226bc10bAB",
      "oracle": "0x976B3D034E162d8bD72D6b9C989d545b839003b0",
      "maxPriceAge": 10800,
      "enabled": true
    },
    {
      "symbol": "JOE",
      "address": "0x6e84a6216eA6dACC71eE8E6b0a5B7322EEbC0fDd",
      "oracle": "0x76bD706cDE6BA7Ab35C9EB44dFD7Bcf46fABef80",
      "maxPriceAge": 10800,
      "enabled": true
    },
    {
      "symbol": "PNG",
      "address": "0x60781C2586D68229fde47564546784ab3fACA982",
      "oracle": "0x21ed7Adfec5921C24150D2350F758E98580637Ca",
      "maxPriceAge": 10800,
      "enabled": true
    },
    {
      "symbol": "COQ",
      "address": "0x420FcA0121DC28039145009570975747295f2329",
      "oracle": "0x9cA197751A7E0c6Abe471823B377362cb3A78Ab3",
      "maxPriceAge": 10800,
      "enabled": true
    },
    {
      "symbol": "KIMBO",
      "address": "0x184ff13b3ebcb25be44e860163a5d8391dd568c1",
      "oracle": "0x7b85420F5134b83B5D94070f7B5fFB6043fdFd72",
      "maxPriceAge": 10800,
      "enabled": true
    },
    {
      "symbol": "NOCHILL",
      "address": "0xacfb898cff266e53278cc0124fc2c7c94c8cb9a5",
      "oracle": "0xfde0efA343454eD82dAC41BdB0Da120456056114",
      "maxPriceAge": 10800,
      "enabled": true
    }
  ],
  "indexer": {
    "startBlock": 97790500,
    "primaryEvent": "TokenLaunched",
    "launchIdentity": [
      "token",
      "creator",
      "quoteToken",
      "pool",
      "rewardVault"
    ],
    "factoryEvents": [
      "TokenLaunched",
      "InitialBuyExecuted",
      "QuoteConfigured"
    ],
    "rewardVaultEvents": [
      "QuoteFeesRouted",
      "CreatorRewardsClaimed",
      "ProtocolRewardsClaimed",
      "BuybackAndBurnExecuted",
      "LaunchTokenFeesConverted"
    ],
    "orderEvents": [
      "OrderCreated",
      "OrderExecuted",
      "OrderCancelled"
    ]
  },
  "urlTemplates": {
    "tokenDetail": "https://peakfun.trade/market/?token={token}&pool={pool}&symbol={symbol}&name={name}&quote={quote}",
    "profile": "https://peakfun.trade/profile/?wallet={wallet}",
    "transaction": "https://snowtrace.io/tx/{txHash}",
    "address": "https://snowtrace.io/address/{address}"
  },
  "abis": {
    "factory": [
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "positionManager_",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "swapRouter_",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "initialBuyRouter_",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "wavax_",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "metadataRegistry_",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "protocolFeeRecipient_",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "conversionKeeper_",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "feeCollector_",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "initialOwner_",
            "type": "address"
          }
        ],
        "stateMutability": "nonpayable",
        "type": "constructor"
      },
      {
        "inputs": [],
        "name": "InvalidDependency",
        "type": "error"
      },
      {
        "inputs": [],
        "name": "InvalidLaunch",
        "type": "error"
      },
      {
        "inputs": [],
        "name": "InvalidOracle",
        "type": "error"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "owner",
            "type": "address"
          }
        ],
        "name": "OwnableInvalidOwner",
        "type": "error"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "account",
            "type": "address"
          }
        ],
        "name": "OwnableUnauthorizedAccount",
        "type": "error"
      },
      {
        "inputs": [],
        "name": "ReentrancyGuardReentrantCall",
        "type": "error"
      },
      {
        "inputs": [],
        "name": "RoleUpdateNotReady",
        "type": "error"
      },
      {
        "inputs": [],
        "name": "UnsupportedQuote",
        "type": "error"
      },
      {
        "anonymous": false,
        "inputs": [
          {
            "indexed": true,
            "internalType": "address",
            "name": "token",
            "type": "address"
          },
          {
            "indexed": true,
            "internalType": "address",
            "name": "creator",
            "type": "address"
          },
          {
            "indexed": true,
            "internalType": "address",
            "name": "quoteToken",
            "type": "address"
          },
          {
            "indexed": false,
            "internalType": "uint256",
            "name": "amountIn",
            "type": "uint256"
          },
          {
            "indexed": false,
            "internalType": "uint256",
            "name": "amountOut",
            "type": "uint256"
          },
          {
            "indexed": false,
            "internalType": "uint256",
            "name": "amountOutMinimum",
            "type": "uint256"
          }
        ],
        "name": "InitialBuyExecuted",
        "type": "event"
      },
      {
        "anonymous": false,
        "inputs": [],
        "name": "OperationalRolesCancelled",
        "type": "event"
      },
      {
        "anonymous": false,
        "inputs": [
          {
            "indexed": false,
            "internalType": "address",
            "name": "protocolFeeRecipient",
            "type": "address"
          },
          {
            "indexed": false,
            "internalType": "address",
            "name": "conversionKeeper",
            "type": "address"
          },
          {
            "indexed": false,
            "internalType": "address",
            "name": "feeCollector",
            "type": "address"
          },
          {
            "indexed": false,
            "internalType": "uint48",
            "name": "validAt",
            "type": "uint48"
          }
        ],
        "name": "OperationalRolesScheduled",
        "type": "event"
      },
      {
        "anonymous": false,
        "inputs": [
          {
            "indexed": false,
            "internalType": "address",
            "name": "protocolFeeRecipient",
            "type": "address"
          },
          {
            "indexed": false,
            "internalType": "address",
            "name": "conversionKeeper",
            "type": "address"
          },
          {
            "indexed": false,
            "internalType": "address",
            "name": "feeCollector",
            "type": "address"
          }
        ],
        "name": "OperationalRolesUpdated",
        "type": "event"
      },
      {
        "anonymous": false,
        "inputs": [
          {
            "indexed": true,
            "internalType": "address",
            "name": "previousOwner",
            "type": "address"
          },
          {
            "indexed": true,
            "internalType": "address",
            "name": "newOwner",
            "type": "address"
          }
        ],
        "name": "OwnershipTransferStarted",
        "type": "event"
      },
      {
        "anonymous": false,
        "inputs": [
          {
            "indexed": true,
            "internalType": "address",
            "name": "previousOwner",
            "type": "address"
          },
          {
            "indexed": true,
            "internalType": "address",
            "name": "newOwner",
            "type": "address"
          }
        ],
        "name": "OwnershipTransferred",
        "type": "event"
      },
      {
        "anonymous": false,
        "inputs": [
          {
            "indexed": true,
            "internalType": "address",
            "name": "quoteToken",
            "type": "address"
          },
          {
            "indexed": true,
            "internalType": "address",
            "name": "oracle",
            "type": "address"
          },
          {
            "indexed": false,
            "internalType": "uint32",
            "name": "maxPriceAge",
            "type": "uint32"
          },
          {
            "indexed": false,
            "internalType": "bool",
            "name": "enabled",
            "type": "bool"
          }
        ],
        "name": "QuoteConfigured",
        "type": "event"
      },
      {
        "anonymous": false,
        "inputs": [
          {
            "indexed": true,
            "internalType": "address",
            "name": "token",
            "type": "address"
          },
          {
            "indexed": true,
            "internalType": "address",
            "name": "creator",
            "type": "address"
          },
          {
            "indexed": true,
            "internalType": "address",
            "name": "quoteToken",
            "type": "address"
          },
          {
            "indexed": false,
            "internalType": "address",
            "name": "pool",
            "type": "address"
          },
          {
            "indexed": false,
            "internalType": "address",
            "name": "rewardVault",
            "type": "address"
          },
          {
            "indexed": false,
            "internalType": "uint256",
            "name": "positionId",
            "type": "uint256"
          },
          {
            "indexed": false,
            "internalType": "uint128",
            "name": "liquidity",
            "type": "uint128"
          },
          {
            "indexed": false,
            "internalType": "uint256",
            "name": "finalSupply",
            "type": "uint256"
          },
          {
            "indexed": false,
            "internalType": "uint256",
            "name": "targetFdvUsd18",
            "type": "uint256"
          },
          {
            "indexed": false,
            "internalType": "address",
            "name": "rewardAsset",
            "type": "address"
          }
        ],
        "name": "TokenLaunched",
        "type": "event"
      },
      {
        "inputs": [],
        "name": "INITIAL_SUPPLY",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "",
            "type": "uint256"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "MAX_LAUNCH_DEADLINE",
        "outputs": [
          {
            "internalType": "uint48",
            "name": "",
            "type": "uint48"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "ROLE_UPDATE_DELAY",
        "outputs": [
          {
            "internalType": "uint48",
            "name": "",
            "type": "uint48"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "TARGET_FDV_USD_18",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "",
            "type": "uint256"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "TICK_SPACING",
        "outputs": [
          {
            "internalType": "int24",
            "name": "",
            "type": "int24"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "acceptOwnership",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "cancelOperationalRoles",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "quoteToken",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "oracle",
            "type": "address"
          },
          {
            "internalType": "uint32",
            "name": "maxPriceAge",
            "type": "uint32"
          },
          {
            "internalType": "bool",
            "name": "enabled",
            "type": "bool"
          }
        ],
        "name": "configureQuote",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "conversionKeeper",
        "outputs": [
          {
            "internalType": "address",
            "name": "",
            "type": "address"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "creator",
            "type": "address"
          },
          {
            "internalType": "uint256",
            "name": "index",
            "type": "uint256"
          }
        ],
        "name": "creatorTokenAt",
        "outputs": [
          {
            "internalType": "address",
            "name": "",
            "type": "address"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "creator",
            "type": "address"
          }
        ],
        "name": "creatorTokenCount",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "",
            "type": "uint256"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "executeOperationalRoles",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "prospectiveToken",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "quoteToken",
            "type": "address"
          }
        ],
        "name": "expectedSqrtPriceX96",
        "outputs": [
          {
            "internalType": "uint160",
            "name": "",
            "type": "uint160"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "feeCollector",
        "outputs": [
          {
            "internalType": "address",
            "name": "",
            "type": "address"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "initialBuyRouter",
        "outputs": [
          {
            "internalType": "address",
            "name": "",
            "type": "address"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "launchExecutor",
        "outputs": [
          {
            "internalType": "contract PeakLaunchExecutor",
            "name": "",
            "type": "address"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "launchMath",
        "outputs": [
          {
            "internalType": "contract PeakLaunchMath",
            "name": "",
            "type": "address"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [
          {
            "internalType": "string",
            "name": "name",
            "type": "string"
          },
          {
            "internalType": "string",
            "name": "symbol",
            "type": "string"
          },
          {
            "internalType": "string",
            "name": "metadataURI",
            "type": "string"
          },
          {
            "internalType": "address",
            "name": "quoteToken",
            "type": "address"
          },
          {
            "components": [
              {
                "internalType": "uint16",
                "name": "creatorBps",
                "type": "uint16"
              },
              {
                "internalType": "uint16",
                "name": "holderBps",
                "type": "uint16"
              }
            ],
            "internalType": "struct PeakRewardVault.FeeStrategy",
            "name": "feeStrategy",
            "type": "tuple"
          },
          {
            "internalType": "uint256",
            "name": "deadline",
            "type": "uint256"
          },
          {
            "internalType": "bytes",
            "name": "metadataSignature",
            "type": "bytes"
          }
        ],
        "name": "launchToken",
        "outputs": [
          {
            "components": [
              {
                "internalType": "address",
                "name": "token",
                "type": "address"
              },
              {
                "internalType": "address",
                "name": "pool",
                "type": "address"
              },
              {
                "internalType": "address",
                "name": "rewardVault",
                "type": "address"
              },
              {
                "internalType": "uint256",
                "name": "positionId",
                "type": "uint256"
              },
              {
                "internalType": "uint128",
                "name": "liquidity",
                "type": "uint128"
              },
              {
                "internalType": "uint256",
                "name": "finalSupply",
                "type": "uint256"
              }
            ],
            "internalType": "struct PeakLaunchFactory.LaunchResult",
            "name": "result",
            "type": "tuple"
          }
        ],
        "stateMutability": "nonpayable",
        "type": "function"
      },
      {
        "inputs": [
          {
            "internalType": "string",
            "name": "name",
            "type": "string"
          },
          {
            "internalType": "string",
            "name": "symbol",
            "type": "string"
          },
          {
            "internalType": "string",
            "name": "metadataURI",
            "type": "string"
          },
          {
            "internalType": "address",
            "name": "quoteToken",
            "type": "address"
          },
          {
            "components": [
              {
                "internalType": "uint16",
                "name": "creatorBps",
                "type": "uint16"
              },
              {
                "internalType": "uint16",
                "name": "holderBps",
                "type": "uint16"
              }
            ],
            "internalType": "struct PeakRewardVault.FeeStrategy",
            "name": "feeStrategy",
            "type": "tuple"
          },
          {
            "internalType": "uint256",
            "name": "deadline",
            "type": "uint256"
          },
          {
            "internalType": "bytes",
            "name": "metadataSignature",
            "type": "bytes"
          },
          {
            "internalType": "uint256",
            "name": "amountOutMinimum",
            "type": "uint256"
          }
        ],
        "name": "launchTokenWithInitialBuy",
        "outputs": [
          {
            "components": [
              {
                "internalType": "address",
                "name": "token",
                "type": "address"
              },
              {
                "internalType": "address",
                "name": "pool",
                "type": "address"
              },
              {
                "internalType": "address",
                "name": "rewardVault",
                "type": "address"
              },
              {
                "internalType": "uint256",
                "name": "positionId",
                "type": "uint256"
              },
              {
                "internalType": "uint128",
                "name": "liquidity",
                "type": "uint128"
              },
              {
                "internalType": "uint256",
                "name": "finalSupply",
                "type": "uint256"
              }
            ],
            "internalType": "struct PeakLaunchFactory.LaunchResult",
            "name": "result",
            "type": "tuple"
          },
          {
            "internalType": "uint256",
            "name": "amountOut",
            "type": "uint256"
          }
        ],
        "stateMutability": "payable",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "launchedTokenCount",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "",
            "type": "uint256"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [
          {
            "internalType": "uint256",
            "name": "",
            "type": "uint256"
          }
        ],
        "name": "launchedTokens",
        "outputs": [
          {
            "internalType": "address",
            "name": "",
            "type": "address"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "metadataRegistry",
        "outputs": [
          {
            "internalType": "contract PeakMetadataRegistry",
            "name": "",
            "type": "address"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "owner",
        "outputs": [
          {
            "internalType": "address",
            "name": "",
            "type": "address"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "pendingOperationalRoles",
        "outputs": [
          {
            "internalType": "address",
            "name": "protocolFeeRecipient",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "conversionKeeper",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "feeCollector",
            "type": "address"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "pendingOperationalRolesValidAt",
        "outputs": [
          {
            "internalType": "uint48",
            "name": "",
            "type": "uint48"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "pendingOwner",
        "outputs": [
          {
            "internalType": "address",
            "name": "",
            "type": "address"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "positionManager",
        "outputs": [
          {
            "internalType": "contract IPharaohPositionManager",
            "name": "",
            "type": "address"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "protocolFeeRecipient",
        "outputs": [
          {
            "internalType": "address",
            "name": "",
            "type": "address"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "quoteToken",
            "type": "address"
          }
        ],
        "name": "quoteConfigs",
        "outputs": [
          {
            "internalType": "address",
            "name": "oracle",
            "type": "address"
          },
          {
            "internalType": "uint32",
            "name": "maxPriceAge",
            "type": "uint32"
          },
          {
            "internalType": "bool",
            "name": "enabled",
            "type": "bool"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "renounceOwnership",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "token",
            "type": "address"
          }
        ],
        "name": "rewardVaultFor",
        "outputs": [
          {
            "internalType": "address",
            "name": "vault",
            "type": "address"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "protocolFeeRecipient_",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "conversionKeeper_",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "feeCollector_",
            "type": "address"
          }
        ],
        "name": "scheduleOperationalRoles",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "swapRouter",
        "outputs": [
          {
            "internalType": "address",
            "name": "",
            "type": "address"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "newOwner",
            "type": "address"
          }
        ],
        "name": "transferOwnership",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "wavax",
        "outputs": [
          {
            "internalType": "address",
            "name": "",
            "type": "address"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      }
    ],
    "token": [
      {
        "inputs": [
          {
            "internalType": "string",
            "name": "name_",
            "type": "string"
          },
          {
            "internalType": "string",
            "name": "symbol_",
            "type": "string"
          },
          {
            "internalType": "string",
            "name": "metadataURI_",
            "type": "string"
          },
          {
            "internalType": "uint256",
            "name": "supply_",
            "type": "uint256"
          },
          {
            "internalType": "address",
            "name": "receiver_",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "rewardAsset_",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "factory_",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "bindingAgent_",
            "type": "address"
          }
        ],
        "stateMutability": "nonpayable",
        "type": "constructor"
      },
      {
        "inputs": [],
        "name": "CheckpointUnorderedInsertion",
        "type": "error"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "spender",
            "type": "address"
          },
          {
            "internalType": "uint256",
            "name": "allowance",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "needed",
            "type": "uint256"
          }
        ],
        "name": "ERC20InsufficientAllowance",
        "type": "error"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "sender",
            "type": "address"
          },
          {
            "internalType": "uint256",
            "name": "balance",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "needed",
            "type": "uint256"
          }
        ],
        "name": "ERC20InsufficientBalance",
        "type": "error"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "approver",
            "type": "address"
          }
        ],
        "name": "ERC20InvalidApprover",
        "type": "error"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "receiver",
            "type": "address"
          }
        ],
        "name": "ERC20InvalidReceiver",
        "type": "error"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "sender",
            "type": "address"
          }
        ],
        "name": "ERC20InvalidSender",
        "type": "error"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "spender",
            "type": "address"
          }
        ],
        "name": "ERC20InvalidSpender",
        "type": "error"
      },
      {
        "inputs": [],
        "name": "InvalidProcessingRequest",
        "type": "error"
      },
      {
        "inputs": [],
        "name": "InvalidRewardSystem",
        "type": "error"
      },
      {
        "inputs": [],
        "name": "ReentrancyGuardReentrantCall",
        "type": "error"
      },
      {
        "inputs": [],
        "name": "RewardSystemAlreadyBound",
        "type": "error"
      },
      {
        "inputs": [
          {
            "internalType": "uint8",
            "name": "bits",
            "type": "uint8"
          },
          {
            "internalType": "uint256",
            "name": "value",
            "type": "uint256"
          }
        ],
        "name": "SafeCastOverflowedUintDowncast",
        "type": "error"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "token",
            "type": "address"
          }
        ],
        "name": "SafeERC20FailedOperation",
        "type": "error"
      },
      {
        "inputs": [],
        "name": "Unauthorized",
        "type": "error"
      },
      {
        "anonymous": false,
        "inputs": [
          {
            "indexed": true,
            "internalType": "address",
            "name": "owner",
            "type": "address"
          },
          {
            "indexed": true,
            "internalType": "address",
            "name": "spender",
            "type": "address"
          },
          {
            "indexed": false,
            "internalType": "uint256",
            "name": "value",
            "type": "uint256"
          }
        ],
        "name": "Approval",
        "type": "event"
      },
      {
        "anonymous": false,
        "inputs": [
          {
            "indexed": true,
            "internalType": "uint256",
            "name": "batchId",
            "type": "uint256"
          },
          {
            "indexed": true,
            "internalType": "uint48",
            "name": "snapshotBlock",
            "type": "uint48"
          },
          {
            "indexed": false,
            "internalType": "uint256",
            "name": "amount",
            "type": "uint256"
          },
          {
            "indexed": false,
            "internalType": "uint256",
            "name": "eligibleSupply",
            "type": "uint256"
          }
        ],
        "name": "HolderRewardBatchCreated",
        "type": "event"
      },
      {
        "anonymous": false,
        "inputs": [
          {
            "indexed": true,
            "internalType": "address",
            "name": "account",
            "type": "address"
          },
          {
            "indexed": true,
            "internalType": "uint256",
            "name": "batchId",
            "type": "uint256"
          },
          {
            "indexed": false,
            "internalType": "uint256",
            "name": "amount",
            "type": "uint256"
          }
        ],
        "name": "HolderRewardPaid",
        "type": "event"
      },
      {
        "anonymous": false,
        "inputs": [
          {
            "indexed": true,
            "internalType": "address",
            "name": "account",
            "type": "address"
          },
          {
            "indexed": true,
            "internalType": "uint256",
            "name": "batchId",
            "type": "uint256"
          },
          {
            "indexed": false,
            "internalType": "uint256",
            "name": "amount",
            "type": "uint256"
          }
        ],
        "name": "HolderRewardPaymentDeferred",
        "type": "event"
      },
      {
        "anonymous": false,
        "inputs": [
          {
            "indexed": false,
            "internalType": "uint256",
            "name": "accounts",
            "type": "uint256"
          },
          {
            "indexed": false,
            "internalType": "uint256",
            "name": "batches",
            "type": "uint256"
          },
          {
            "indexed": false,
            "internalType": "uint256",
            "name": "payments",
            "type": "uint256"
          },
          {
            "indexed": false,
            "internalType": "uint256",
            "name": "amount",
            "type": "uint256"
          }
        ],
        "name": "HolderRewardsProcessed",
        "type": "event"
      },
      {
        "anonymous": false,
        "inputs": [
          {
            "indexed": false,
            "internalType": "uint256",
            "name": "amount",
            "type": "uint256"
          }
        ],
        "name": "HolderRewardsQueued",
        "type": "event"
      },
      {
        "anonymous": false,
        "inputs": [
          {
            "indexed": true,
            "internalType": "address",
            "name": "pool",
            "type": "address"
          },
          {
            "indexed": true,
            "internalType": "address",
            "name": "rewardVault",
            "type": "address"
          }
        ],
        "name": "RewardSystemBound",
        "type": "event"
      },
      {
        "anonymous": false,
        "inputs": [
          {
            "indexed": true,
            "internalType": "address",
            "name": "from",
            "type": "address"
          },
          {
            "indexed": true,
            "internalType": "address",
            "name": "to",
            "type": "address"
          },
          {
            "indexed": false,
            "internalType": "uint256",
            "name": "value",
            "type": "uint256"
          }
        ],
        "name": "Transfer",
        "type": "event"
      },
      {
        "inputs": [],
        "name": "MAX_ACCOUNTS_PER_PROCESS",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "",
            "type": "uint256"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "MAX_BATCHES_PER_ACCOUNT",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "",
            "type": "uint256"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "owner",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "spender",
            "type": "address"
          }
        ],
        "name": "allowance",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "",
            "type": "uint256"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "spender",
            "type": "address"
          },
          {
            "internalType": "uint256",
            "name": "value",
            "type": "uint256"
          }
        ],
        "name": "approve",
        "outputs": [
          {
            "internalType": "bool",
            "name": "",
            "type": "bool"
          }
        ],
        "stateMutability": "nonpayable",
        "type": "function"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "account",
            "type": "address"
          }
        ],
        "name": "balanceOf",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "",
            "type": "uint256"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "pool_",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "rewardVault_",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "positionManager_",
            "type": "address"
          }
        ],
        "name": "bindRewardSystem",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "bindingAgent",
        "outputs": [
          {
            "internalType": "address",
            "name": "",
            "type": "address"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [
          {
            "internalType": "uint256",
            "name": "amount",
            "type": "uint256"
          }
        ],
        "name": "burn",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "decimals",
        "outputs": [
          {
            "internalType": "uint8",
            "name": "",
            "type": "uint8"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [
          {
            "internalType": "uint256",
            "name": "amount",
            "type": "uint256"
          }
        ],
        "name": "distributeHolderRewards",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "eligibleSupply",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "",
            "type": "uint256"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "account",
            "type": "address"
          }
        ],
        "name": "excludedFromRewards",
        "outputs": [
          {
            "internalType": "bool",
            "name": "excluded",
            "type": "bool"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "factory",
        "outputs": [
          {
            "internalType": "address",
            "name": "",
            "type": "address"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "liquidityPool",
        "outputs": [
          {
            "internalType": "address",
            "name": "",
            "type": "address"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "liquidityPoolId",
        "outputs": [
          {
            "internalType": "bytes32",
            "name": "",
            "type": "bytes32"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "metadataURI",
        "outputs": [
          {
            "internalType": "string",
            "name": "",
            "type": "string"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "name",
        "outputs": [
          {
            "internalType": "string",
            "name": "",
            "type": "string"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "account",
            "type": "address"
          }
        ],
        "name": "nextRewardBatch",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "batchIndex",
            "type": "uint256"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "account",
            "type": "address"
          },
          {
            "internalType": "uint48",
            "name": "blockNumber",
            "type": "uint48"
          }
        ],
        "name": "pastBalanceOf",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "",
            "type": "uint256"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [
          {
            "internalType": "uint48",
            "name": "blockNumber",
            "type": "uint48"
          }
        ],
        "name": "pastEligibleSupply",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "",
            "type": "uint256"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "account",
            "type": "address"
          },
          {
            "internalType": "uint256",
            "name": "maxBatches",
            "type": "uint256"
          }
        ],
        "name": "pendingRewardsOf",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "amount",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "nextIndex",
            "type": "uint256"
          },
          {
            "internalType": "bool",
            "name": "hasMore",
            "type": "bool"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [
          {
            "internalType": "address[]",
            "name": "accounts",
            "type": "address[]"
          },
          {
            "internalType": "uint256",
            "name": "maxBatchesPerAccount",
            "type": "uint256"
          }
        ],
        "name": "processHolderRewards",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "batches",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "payments",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "amount",
            "type": "uint256"
          }
        ],
        "stateMutability": "nonpayable",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "queuedRewards",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "",
            "type": "uint256"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "rewardAsset",
        "outputs": [
          {
            "internalType": "contract IERC20",
            "name": "",
            "type": "address"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [
          {
            "internalType": "uint256",
            "name": "index",
            "type": "uint256"
          }
        ],
        "name": "rewardBatch",
        "outputs": [
          {
            "components": [
              {
                "internalType": "uint48",
                "name": "snapshotBlock",
                "type": "uint48"
              },
              {
                "internalType": "uint208",
                "name": "rewardPerShare",
                "type": "uint208"
              },
              {
                "internalType": "uint256",
                "name": "deposited",
                "type": "uint256"
              },
              {
                "internalType": "uint256",
                "name": "paid",
                "type": "uint256"
              }
            ],
            "internalType": "struct PeakToken.RewardBatch",
            "name": "",
            "type": "tuple"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "rewardBatchCount",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "",
            "type": "uint256"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "rewardSnapshotBlock",
        "outputs": [
          {
            "internalType": "uint48",
            "name": "",
            "type": "uint48"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "rewardSystemBound",
        "outputs": [
          {
            "internalType": "bool",
            "name": "",
            "type": "bool"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "rewardVault",
        "outputs": [
          {
            "internalType": "address",
            "name": "",
            "type": "address"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "symbol",
        "outputs": [
          {
            "internalType": "string",
            "name": "",
            "type": "string"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "totalRewardsDistributed",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "",
            "type": "uint256"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "totalRewardsPaid",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "",
            "type": "uint256"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "account",
            "type": "address"
          }
        ],
        "name": "totalRewardsPaidTo",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "amount",
            "type": "uint256"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "totalSupply",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "",
            "type": "uint256"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "to",
            "type": "address"
          },
          {
            "internalType": "uint256",
            "name": "value",
            "type": "uint256"
          }
        ],
        "name": "transfer",
        "outputs": [
          {
            "internalType": "bool",
            "name": "",
            "type": "bool"
          }
        ],
        "stateMutability": "nonpayable",
        "type": "function"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "from",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "to",
            "type": "address"
          },
          {
            "internalType": "uint256",
            "name": "value",
            "type": "uint256"
          }
        ],
        "name": "transferFrom",
        "outputs": [
          {
            "internalType": "bool",
            "name": "",
            "type": "bool"
          }
        ],
        "stateMutability": "nonpayable",
        "type": "function"
      }
    ],
    "rewardVault": [
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "factory_",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "positionManager_",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "swapRouter_",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "pool_",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "launchToken_",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "quoteToken_",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "token0_",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "token1_",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "creator_",
            "type": "address"
          },
          {
            "components": [
              {
                "internalType": "uint16",
                "name": "creatorBps",
                "type": "uint16"
              },
              {
                "internalType": "uint16",
                "name": "holderBps",
                "type": "uint16"
              }
            ],
            "internalType": "struct PeakRewardVault.FeeStrategy",
            "name": "strategy",
            "type": "tuple"
          },
          {
            "internalType": "address",
            "name": "positionBinder_",
            "type": "address"
          }
        ],
        "stateMutability": "nonpayable",
        "type": "constructor"
      },
      {
        "inputs": [],
        "name": "AmountTooLarge",
        "type": "error"
      },
      {
        "inputs": [],
        "name": "BuybackDisabled",
        "type": "error"
      },
      {
        "inputs": [],
        "name": "ConversionCooldown",
        "type": "error"
      },
      {
        "inputs": [],
        "name": "ExcessivePriceImpact",
        "type": "error"
      },
      {
        "inputs": [],
        "name": "InvalidConfiguration",
        "type": "error"
      },
      {
        "inputs": [],
        "name": "NothingToBuyback",
        "type": "error"
      },
      {
        "inputs": [],
        "name": "NothingToClaim",
        "type": "error"
      },
      {
        "inputs": [],
        "name": "NothingToConvert",
        "type": "error"
      },
      {
        "inputs": [],
        "name": "PositionAlreadyBound",
        "type": "error"
      },
      {
        "inputs": [],
        "name": "PositionNotBound",
        "type": "error"
      },
      {
        "inputs": [],
        "name": "PriceMovedTooFar",
        "type": "error"
      },
      {
        "inputs": [],
        "name": "PriceObservationRequired",
        "type": "error"
      },
      {
        "inputs": [],
        "name": "PriceObservationTooNew",
        "type": "error"
      },
      {
        "inputs": [],
        "name": "ReentrancyGuardReentrantCall",
        "type": "error"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "token",
            "type": "address"
          }
        ],
        "name": "SafeERC20FailedOperation",
        "type": "error"
      },
      {
        "inputs": [],
        "name": "SlippageProtectionRequired",
        "type": "error"
      },
      {
        "inputs": [],
        "name": "Unauthorized",
        "type": "error"
      },
      {
        "anonymous": false,
        "inputs": [
          {
            "indexed": false,
            "internalType": "uint256",
            "name": "quoteAmount",
            "type": "uint256"
          },
          {
            "indexed": false,
            "internalType": "uint256",
            "name": "launchAmount",
            "type": "uint256"
          },
          {
            "indexed": false,
            "internalType": "uint256",
            "name": "enforcedMinimumAmountOut",
            "type": "uint256"
          }
        ],
        "name": "BuybackAndBurnExecuted",
        "type": "event"
      },
      {
        "anonymous": false,
        "inputs": [
          {
            "indexed": false,
            "internalType": "uint160",
            "name": "sqrtPriceX96",
            "type": "uint160"
          },
          {
            "indexed": false,
            "internalType": "uint256",
            "name": "observedAt",
            "type": "uint256"
          }
        ],
        "name": "ConversionPriceObserved",
        "type": "event"
      },
      {
        "anonymous": false,
        "inputs": [
          {
            "indexed": true,
            "internalType": "address",
            "name": "creator",
            "type": "address"
          },
          {
            "indexed": false,
            "internalType": "uint256",
            "name": "amount",
            "type": "uint256"
          }
        ],
        "name": "CreatorRewardsClaimed",
        "type": "event"
      },
      {
        "anonymous": false,
        "inputs": [
          {
            "indexed": true,
            "internalType": "uint256",
            "name": "positionId",
            "type": "uint256"
          },
          {
            "indexed": false,
            "internalType": "uint256",
            "name": "amount",
            "type": "uint256"
          }
        ],
        "name": "LaunchTokenFeesCollected",
        "type": "event"
      },
      {
        "anonymous": false,
        "inputs": [
          {
            "indexed": false,
            "internalType": "uint256",
            "name": "amountIn",
            "type": "uint256"
          },
          {
            "indexed": false,
            "internalType": "uint256",
            "name": "amountOut",
            "type": "uint256"
          },
          {
            "indexed": false,
            "internalType": "uint256",
            "name": "enforcedMinimumAmountOut",
            "type": "uint256"
          }
        ],
        "name": "LaunchTokenFeesConverted",
        "type": "event"
      },
      {
        "anonymous": false,
        "inputs": [
          {
            "indexed": true,
            "internalType": "uint256",
            "name": "positionId",
            "type": "uint256"
          }
        ],
        "name": "PositionBound",
        "type": "event"
      },
      {
        "anonymous": false,
        "inputs": [
          {
            "indexed": true,
            "internalType": "address",
            "name": "recipient",
            "type": "address"
          },
          {
            "indexed": false,
            "internalType": "uint256",
            "name": "amount",
            "type": "uint256"
          }
        ],
        "name": "ProtocolRewardsClaimed",
        "type": "event"
      },
      {
        "anonymous": false,
        "inputs": [
          {
            "indexed": true,
            "internalType": "uint256",
            "name": "positionId",
            "type": "uint256"
          },
          {
            "indexed": false,
            "internalType": "uint256",
            "name": "protocolAmount",
            "type": "uint256"
          },
          {
            "indexed": false,
            "internalType": "uint256",
            "name": "creatorAmount",
            "type": "uint256"
          },
          {
            "indexed": false,
            "internalType": "uint256",
            "name": "holderAmount",
            "type": "uint256"
          }
        ],
        "name": "QuoteFeesRouted",
        "type": "event"
      },
      {
        "inputs": [],
        "name": "CONVERSION_COOLDOWN",
        "outputs": [
          {
            "internalType": "uint32",
            "name": "",
            "type": "uint32"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "MAX_OBSERVATION_SQRT_DEVIATION_BPS",
        "outputs": [
          {
            "internalType": "uint16",
            "name": "",
            "type": "uint16"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "MAX_PRICE_IMPACT_BPS",
        "outputs": [
          {
            "internalType": "uint16",
            "name": "",
            "type": "uint16"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "PRICE_OBSERVATION_DELAY",
        "outputs": [
          {
            "internalType": "uint32",
            "name": "",
            "type": "uint32"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "PROTOCOL_FEE_BPS",
        "outputs": [
          {
            "internalType": "uint16",
            "name": "",
            "type": "uint16"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "PUBLIC_COLLECTION_DELAY",
        "outputs": [
          {
            "internalType": "uint32",
            "name": "",
            "type": "uint32"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "QUOTE_SAFETY_BPS",
        "outputs": [
          {
            "internalType": "uint16",
            "name": "",
            "type": "uint16"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "TICK_SPACING",
        "outputs": [
          {
            "internalType": "int24",
            "name": "",
            "type": "int24"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [
          {
            "internalType": "uint256",
            "name": "positionId_",
            "type": "uint256"
          }
        ],
        "name": "bindPosition",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "buybackMode",
        "outputs": [
          {
            "internalType": "bool",
            "name": "",
            "type": "bool"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "claimCreatorRewards",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "amount",
            "type": "uint256"
          }
        ],
        "stateMutability": "nonpayable",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "claimProtocolRewards",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "amount",
            "type": "uint256"
          }
        ],
        "stateMutability": "nonpayable",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "claimableBuybackQuote",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "",
            "type": "uint256"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "claimableCreatorQuote",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "",
            "type": "uint256"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "claimableCreatorReward",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "",
            "type": "uint256"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "claimableProtocolQuote",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "",
            "type": "uint256"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "collectAndRoute",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
      },
      {
        "inputs": [
          {
            "internalType": "uint256",
            "name": "requestedAmount",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "keeperMinimumQuoteOut",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "deadline",
            "type": "uint256"
          }
        ],
        "name": "convertLaunchFees",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "amountOut",
            "type": "uint256"
          }
        ],
        "stateMutability": "nonpayable",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "createdAt",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "",
            "type": "uint256"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "creator",
        "outputs": [
          {
            "internalType": "address",
            "name": "",
            "type": "address"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "creatorBps",
        "outputs": [
          {
            "internalType": "uint16",
            "name": "",
            "type": "uint16"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [
          {
            "internalType": "uint256",
            "name": "requestedQuote",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "keeperMinimumLaunchOut",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "deadline",
            "type": "uint256"
          }
        ],
        "name": "executeBuyback",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "amountOut",
            "type": "uint256"
          }
        ],
        "stateMutability": "nonpayable",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "factory",
        "outputs": [
          {
            "internalType": "address",
            "name": "",
            "type": "address"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "holderBps",
        "outputs": [
          {
            "internalType": "uint16",
            "name": "",
            "type": "uint16"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "lastBuybackAt",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "",
            "type": "uint256"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "lastCollectionAt",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "",
            "type": "uint256"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "lastConversionAt",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "",
            "type": "uint256"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "launchToken",
        "outputs": [
          {
            "internalType": "contract PeakToken",
            "name": "",
            "type": "address"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "lifetimeBuybackLaunch",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "",
            "type": "uint256"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "lifetimeBuybackQuote",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "",
            "type": "uint256"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "lifetimeConvertedLaunchFees",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "",
            "type": "uint256"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "lifetimeConvertedQuote",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "",
            "type": "uint256"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "lifetimeCreatorQuote",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "",
            "type": "uint256"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "lifetimeCreatorReward",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "",
            "type": "uint256"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "lifetimeHolderQuote",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "",
            "type": "uint256"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "lifetimeHolderReward",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "",
            "type": "uint256"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "lifetimeProtocolQuote",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "",
            "type": "uint256"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "lifetimeUnconvertedLaunchFees",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "",
            "type": "uint256"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "observedSqrtPriceX96",
        "outputs": [
          {
            "internalType": "uint160",
            "name": "",
            "type": "uint160"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "",
            "type": "address"
          },
          {
            "internalType": "uint256",
            "name": "",
            "type": "uint256"
          },
          {
            "internalType": "bytes",
            "name": "",
            "type": "bytes"
          }
        ],
        "name": "onERC721Received",
        "outputs": [
          {
            "internalType": "bytes4",
            "name": "",
            "type": "bytes4"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "pendingLaunchFees",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "",
            "type": "uint256"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "pool",
        "outputs": [
          {
            "internalType": "contract IPharaohPool",
            "name": "",
            "type": "address"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "positionBinder",
        "outputs": [
          {
            "internalType": "address",
            "name": "",
            "type": "address"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "positionId",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "",
            "type": "uint256"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "positionManager",
        "outputs": [
          {
            "internalType": "contract IPharaohPositionManager",
            "name": "",
            "type": "address"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "priceObservedAt",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "",
            "type": "uint256"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "quoteToken",
        "outputs": [
          {
            "internalType": "contract IERC20",
            "name": "",
            "type": "address"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "swapRouter",
        "outputs": [
          {
            "internalType": "contract IPharaohSwapRouter",
            "name": "",
            "type": "address"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "token0",
        "outputs": [
          {
            "internalType": "address",
            "name": "",
            "type": "address"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "token1",
        "outputs": [
          {
            "internalType": "address",
            "name": "",
            "type": "address"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      }
    ],
    "orderManager": [
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "router_",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "quoter_",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "wavax_",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "keeper_",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "owner_",
            "type": "address"
          }
        ],
        "stateMutability": "nonpayable",
        "type": "constructor"
      },
      {
        "inputs": [],
        "name": "InvalidOrder",
        "type": "error"
      },
      {
        "inputs": [],
        "name": "NativeTransferFailed",
        "type": "error"
      },
      {
        "inputs": [],
        "name": "NotKeeper",
        "type": "error"
      },
      {
        "inputs": [],
        "name": "NotOrderOwner",
        "type": "error"
      },
      {
        "inputs": [],
        "name": "OrderExpired",
        "type": "error"
      },
      {
        "inputs": [],
        "name": "OrderNotActive",
        "type": "error"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "owner",
            "type": "address"
          }
        ],
        "name": "OwnableInvalidOwner",
        "type": "error"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "account",
            "type": "address"
          }
        ],
        "name": "OwnableUnauthorizedAccount",
        "type": "error"
      },
      {
        "inputs": [],
        "name": "ReentrancyGuardReentrantCall",
        "type": "error"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "token",
            "type": "address"
          }
        ],
        "name": "SafeERC20FailedOperation",
        "type": "error"
      },
      {
        "inputs": [
          {
            "internalType": "uint256",
            "name": "currentAmountOut",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "targetAmountOut",
            "type": "uint256"
          }
        ],
        "name": "TriggerNotReached",
        "type": "error"
      },
      {
        "anonymous": false,
        "inputs": [
          {
            "indexed": true,
            "internalType": "address",
            "name": "previousKeeper",
            "type": "address"
          },
          {
            "indexed": true,
            "internalType": "address",
            "name": "newKeeper",
            "type": "address"
          }
        ],
        "name": "KeeperUpdated",
        "type": "event"
      },
      {
        "anonymous": false,
        "inputs": [
          {
            "indexed": true,
            "internalType": "uint256",
            "name": "orderId",
            "type": "uint256"
          },
          {
            "indexed": true,
            "internalType": "address",
            "name": "owner",
            "type": "address"
          }
        ],
        "name": "OrderCancelled",
        "type": "event"
      },
      {
        "anonymous": false,
        "inputs": [
          {
            "indexed": true,
            "internalType": "uint256",
            "name": "orderId",
            "type": "uint256"
          },
          {
            "indexed": true,
            "internalType": "address",
            "name": "owner",
            "type": "address"
          },
          {
            "indexed": false,
            "internalType": "enum PeakOrderManager.Side",
            "name": "side",
            "type": "uint8"
          },
          {
            "indexed": false,
            "internalType": "bool",
            "name": "triggerAbove",
            "type": "bool"
          },
          {
            "indexed": false,
            "internalType": "uint256",
            "name": "amountIn",
            "type": "uint256"
          },
          {
            "indexed": false,
            "internalType": "uint256",
            "name": "targetAmountOut",
            "type": "uint256"
          },
          {
            "indexed": false,
            "internalType": "uint256",
            "name": "minimumAmountOut",
            "type": "uint256"
          },
          {
            "indexed": false,
            "internalType": "uint256",
            "name": "deadline",
            "type": "uint256"
          },
          {
            "indexed": false,
            "internalType": "bytes",
            "name": "path",
            "type": "bytes"
          }
        ],
        "name": "OrderCreated",
        "type": "event"
      },
      {
        "anonymous": false,
        "inputs": [
          {
            "indexed": true,
            "internalType": "uint256",
            "name": "orderId",
            "type": "uint256"
          },
          {
            "indexed": true,
            "internalType": "address",
            "name": "owner",
            "type": "address"
          },
          {
            "indexed": false,
            "internalType": "uint256",
            "name": "amountOut",
            "type": "uint256"
          }
        ],
        "name": "OrderExecuted",
        "type": "event"
      },
      {
        "anonymous": false,
        "inputs": [
          {
            "indexed": true,
            "internalType": "address",
            "name": "previousOwner",
            "type": "address"
          },
          {
            "indexed": true,
            "internalType": "address",
            "name": "newOwner",
            "type": "address"
          }
        ],
        "name": "OwnershipTransferStarted",
        "type": "event"
      },
      {
        "anonymous": false,
        "inputs": [
          {
            "indexed": true,
            "internalType": "address",
            "name": "previousOwner",
            "type": "address"
          },
          {
            "indexed": true,
            "internalType": "address",
            "name": "newOwner",
            "type": "address"
          }
        ],
        "name": "OwnershipTransferred",
        "type": "event"
      },
      {
        "inputs": [],
        "name": "acceptOwnership",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
      },
      {
        "inputs": [
          {
            "internalType": "uint256",
            "name": "orderId",
            "type": "uint256"
          }
        ],
        "name": "cancelOrder",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
      },
      {
        "inputs": [
          {
            "internalType": "bytes",
            "name": "path",
            "type": "bytes"
          },
          {
            "internalType": "uint256",
            "name": "targetAmountOut",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "minimumAmountOut",
            "type": "uint256"
          },
          {
            "internalType": "bool",
            "name": "triggerAbove",
            "type": "bool"
          },
          {
            "internalType": "uint256",
            "name": "deadline",
            "type": "uint256"
          }
        ],
        "name": "createBuyOrder",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "orderId",
            "type": "uint256"
          }
        ],
        "stateMutability": "payable",
        "type": "function"
      },
      {
        "inputs": [
          {
            "internalType": "bytes",
            "name": "path",
            "type": "bytes"
          },
          {
            "internalType": "uint256",
            "name": "amountIn",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "targetAmountOut",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "minimumAmountOut",
            "type": "uint256"
          },
          {
            "internalType": "bool",
            "name": "triggerAbove",
            "type": "bool"
          },
          {
            "internalType": "uint256",
            "name": "deadline",
            "type": "uint256"
          }
        ],
        "name": "createSellOrder",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "orderId",
            "type": "uint256"
          }
        ],
        "stateMutability": "nonpayable",
        "type": "function"
      },
      {
        "inputs": [
          {
            "internalType": "uint256",
            "name": "orderId",
            "type": "uint256"
          }
        ],
        "name": "executeOrder",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "amountOut",
            "type": "uint256"
          }
        ],
        "stateMutability": "nonpayable",
        "type": "function"
      },
      {
        "inputs": [
          {
            "internalType": "uint256",
            "name": "orderId",
            "type": "uint256"
          }
        ],
        "name": "getOrder",
        "outputs": [
          {
            "components": [
              {
                "internalType": "address",
                "name": "owner",
                "type": "address"
              },
              {
                "internalType": "enum PeakOrderManager.Side",
                "name": "side",
                "type": "uint8"
              },
              {
                "internalType": "bool",
                "name": "triggerAbove",
                "type": "bool"
              },
              {
                "internalType": "uint256",
                "name": "amountIn",
                "type": "uint256"
              },
              {
                "internalType": "uint256",
                "name": "targetAmountOut",
                "type": "uint256"
              },
              {
                "internalType": "uint256",
                "name": "minimumAmountOut",
                "type": "uint256"
              },
              {
                "internalType": "uint256",
                "name": "deadline",
                "type": "uint256"
              },
              {
                "internalType": "bytes",
                "name": "path",
                "type": "bytes"
              },
              {
                "internalType": "bool",
                "name": "active",
                "type": "bool"
              }
            ],
            "internalType": "struct PeakOrderManager.Order",
            "name": "",
            "type": "tuple"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "keeper",
        "outputs": [
          {
            "internalType": "address",
            "name": "",
            "type": "address"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "nextOrderId",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "",
            "type": "uint256"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "owner",
        "outputs": [
          {
            "internalType": "address",
            "name": "",
            "type": "address"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "pendingOwner",
        "outputs": [
          {
            "internalType": "address",
            "name": "",
            "type": "address"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "quoter",
        "outputs": [
          {
            "internalType": "address",
            "name": "",
            "type": "address"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "renounceOwnership",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "router",
        "outputs": [
          {
            "internalType": "address",
            "name": "",
            "type": "address"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "newKeeper",
            "type": "address"
          }
        ],
        "name": "setKeeper",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "newOwner",
            "type": "address"
          }
        ],
        "name": "transferOwnership",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "wavax",
        "outputs": [
          {
            "internalType": "address",
            "name": "",
            "type": "address"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "stateMutability": "payable",
        "type": "receive"
      }
    ],
    "metadataRegistry": [
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "signer_",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "initialOwner_",
            "type": "address"
          }
        ],
        "stateMutability": "nonpayable",
        "type": "constructor"
      },
      {
        "inputs": [],
        "name": "ECDSAInvalidSignature",
        "type": "error"
      },
      {
        "inputs": [
          {
            "internalType": "uint256",
            "name": "length",
            "type": "uint256"
          }
        ],
        "name": "ECDSAInvalidSignatureLength",
        "type": "error"
      },
      {
        "inputs": [
          {
            "internalType": "bytes32",
            "name": "s",
            "type": "bytes32"
          }
        ],
        "name": "ECDSAInvalidSignatureS",
        "type": "error"
      },
      {
        "inputs": [],
        "name": "InvalidMetadataAttestation",
        "type": "error"
      },
      {
        "inputs": [],
        "name": "InvalidSigner",
        "type": "error"
      },
      {
        "inputs": [],
        "name": "MetadataAttestationUsed",
        "type": "error"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "owner",
            "type": "address"
          }
        ],
        "name": "OwnableInvalidOwner",
        "type": "error"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "account",
            "type": "address"
          }
        ],
        "name": "OwnableUnauthorizedAccount",
        "type": "error"
      },
      {
        "inputs": [],
        "name": "SignerUpdateNotReady",
        "type": "error"
      },
      {
        "anonymous": false,
        "inputs": [
          {
            "indexed": true,
            "internalType": "bytes32",
            "name": "attestationHash",
            "type": "bytes32"
          },
          {
            "indexed": true,
            "internalType": "address",
            "name": "factory",
            "type": "address"
          },
          {
            "indexed": true,
            "internalType": "address",
            "name": "creator",
            "type": "address"
          }
        ],
        "name": "MetadataAttestationConsumed",
        "type": "event"
      },
      {
        "anonymous": false,
        "inputs": [
          {
            "indexed": true,
            "internalType": "address",
            "name": "previousOwner",
            "type": "address"
          },
          {
            "indexed": true,
            "internalType": "address",
            "name": "newOwner",
            "type": "address"
          }
        ],
        "name": "OwnershipTransferStarted",
        "type": "event"
      },
      {
        "anonymous": false,
        "inputs": [
          {
            "indexed": true,
            "internalType": "address",
            "name": "previousOwner",
            "type": "address"
          },
          {
            "indexed": true,
            "internalType": "address",
            "name": "newOwner",
            "type": "address"
          }
        ],
        "name": "OwnershipTransferred",
        "type": "event"
      },
      {
        "anonymous": false,
        "inputs": [],
        "name": "SignerUpdateCancelled",
        "type": "event"
      },
      {
        "anonymous": false,
        "inputs": [
          {
            "indexed": true,
            "internalType": "address",
            "name": "signer",
            "type": "address"
          },
          {
            "indexed": false,
            "internalType": "uint48",
            "name": "validAt",
            "type": "uint48"
          }
        ],
        "name": "SignerUpdateScheduled",
        "type": "event"
      },
      {
        "anonymous": false,
        "inputs": [
          {
            "indexed": true,
            "internalType": "address",
            "name": "signer",
            "type": "address"
          }
        ],
        "name": "SignerUpdated",
        "type": "event"
      },
      {
        "inputs": [],
        "name": "ATTESTATION_TYPEHASH",
        "outputs": [
          {
            "internalType": "bytes32",
            "name": "",
            "type": "bytes32"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "SIGNER_UPDATE_DELAY",
        "outputs": [
          {
            "internalType": "uint48",
            "name": "",
            "type": "uint48"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "acceptOwnership",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "factory",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "creator",
            "type": "address"
          },
          {
            "internalType": "string",
            "name": "name",
            "type": "string"
          },
          {
            "internalType": "string",
            "name": "symbol",
            "type": "string"
          },
          {
            "internalType": "string",
            "name": "metadataURI",
            "type": "string"
          },
          {
            "internalType": "address",
            "name": "marketQuoteToken",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "rewardAsset",
            "type": "address"
          },
          {
            "internalType": "uint16",
            "name": "creatorBps",
            "type": "uint16"
          },
          {
            "internalType": "uint16",
            "name": "holderBps",
            "type": "uint16"
          },
          {
            "internalType": "uint256",
            "name": "deadline",
            "type": "uint256"
          }
        ],
        "name": "attestationHash",
        "outputs": [
          {
            "internalType": "bytes32",
            "name": "",
            "type": "bytes32"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "cancelSigner",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "creator",
            "type": "address"
          },
          {
            "internalType": "string",
            "name": "name",
            "type": "string"
          },
          {
            "internalType": "string",
            "name": "symbol",
            "type": "string"
          },
          {
            "internalType": "string",
            "name": "metadataURI",
            "type": "string"
          },
          {
            "internalType": "address",
            "name": "marketQuoteToken",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "rewardAsset",
            "type": "address"
          },
          {
            "internalType": "uint16",
            "name": "creatorBps",
            "type": "uint16"
          },
          {
            "internalType": "uint16",
            "name": "holderBps",
            "type": "uint16"
          },
          {
            "internalType": "uint256",
            "name": "deadline",
            "type": "uint256"
          },
          {
            "internalType": "bytes",
            "name": "signature",
            "type": "bytes"
          }
        ],
        "name": "consumeAttestation",
        "outputs": [
          {
            "internalType": "bytes32",
            "name": "digest",
            "type": "bytes32"
          }
        ],
        "stateMutability": "nonpayable",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "executeSigner",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "owner",
        "outputs": [
          {
            "internalType": "address",
            "name": "",
            "type": "address"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "pendingOwner",
        "outputs": [
          {
            "internalType": "address",
            "name": "",
            "type": "address"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "pendingSigner",
        "outputs": [
          {
            "internalType": "address",
            "name": "",
            "type": "address"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "pendingSignerValidAt",
        "outputs": [
          {
            "internalType": "uint48",
            "name": "",
            "type": "uint48"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "renounceOwnership",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "signer_",
            "type": "address"
          }
        ],
        "name": "scheduleSigner",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "signer",
        "outputs": [
          {
            "internalType": "address",
            "name": "",
            "type": "address"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "newOwner",
            "type": "address"
          }
        ],
        "name": "transferOwnership",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
      },
      {
        "inputs": [
          {
            "internalType": "bytes32",
            "name": "attestationHash",
            "type": "bytes32"
          }
        ],
        "name": "usedAttestations",
        "outputs": [
          {
            "internalType": "bool",
            "name": "used",
            "type": "bool"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      }
    ]
  },
  "security": {
    "authenticationRequired": false,
    "walletSignatureRequired": false,
    "secretsIncluded": false,
    "note": "This package contains public on-chain integration data only. Read mutable roles and quote configuration from the factory at runtime."
  }
}
