{
  "chainId": 99901,
  "deployBlock": 266498,
  "contracts": {
    "PositionManager": {
      "abi": [
        {
          "type": "function",
          "name": "launch",
          "inputs": [
            {
              "name": "params",
              "type": "tuple",
              "components": [
                {
                  "name": "name",
                  "type": "string"
                },
                {
                  "name": "symbol",
                  "type": "string"
                },
                {
                  "name": "tokenUri",
                  "type": "string"
                },
                {
                  "name": "creator",
                  "type": "address"
                },
                {
                  "name": "premineAmount",
                  "type": "uint256"
                },
                {
                  "name": "swapFee",
                  "type": "uint24"
                },
                {
                  "name": "creatorShare",
                  "type": "uint16"
                },
                {
                  "name": "buybackShare",
                  "type": "uint16"
                },
                {
                  "name": "holderShare",
                  "type": "uint16"
                },
                {
                  "name": "startFee",
                  "type": "uint24"
                },
                {
                  "name": "antiSnipeDuration",
                  "type": "uint32"
                },
                {
                  "name": "opensAt",
                  "type": "uint64"
                },
                {
                  "name": "quote",
                  "type": "address"
                }
              ]
            }
          ],
          "outputs": [
            {
              "name": "memecoin",
              "type": "address"
            }
          ],
          "stateMutability": "payable"
        },
        {
          "type": "function",
          "name": "poolKey",
          "inputs": [
            {
              "name": "token",
              "type": "address"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "tuple",
              "components": [
                {
                  "name": "currency0",
                  "type": "address"
                },
                {
                  "name": "currency1",
                  "type": "address"
                },
                {
                  "name": "fee",
                  "type": "uint24"
                },
                {
                  "name": "tickSpacing",
                  "type": "int24"
                },
                {
                  "name": "hooks",
                  "type": "address"
                }
              ]
            }
          ],
          "stateMutability": "view"
        },
        {
          "type": "function",
          "name": "currentSwapFee",
          "inputs": [
            {
              "name": "poolId",
              "type": "bytes32"
            },
            {
              "name": "isBuy",
              "type": "bool"
            }
          ],
          "outputs": [
            {
              "name": "feeBps",
              "type": "uint24"
            }
          ],
          "stateMutability": "view"
        },
        {
          "type": "function",
          "name": "launchFee",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "uint256"
            }
          ],
          "stateMutability": "view"
        },
        {
          "type": "function",
          "name": "creatorNft",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "address"
            }
          ],
          "stateMutability": "view"
        },
        {
          "type": "function",
          "name": "startingMarketCap",
          "inputs": [
            {
              "name": "quote",
              "type": "address"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "uint256"
            }
          ],
          "stateMutability": "view"
        },
        {
          "type": "event",
          "name": "PoolCreated",
          "inputs": [
            {
              "name": "poolId",
              "type": "bytes32",
              "indexed": true
            },
            {
              "name": "_memecoin",
              "type": "address",
              "indexed": true
            },
            {
              "name": "_creator",
              "type": "address",
              "indexed": true
            },
            {
              "name": "_quote",
              "type": "address"
            },
            {
              "name": "_treasury",
              "type": "address"
            },
            {
              "name": "_swapFee",
              "type": "uint256"
            },
            {
              "name": "_opensAt",
              "type": "uint64"
            }
          ],
          "anonymous": false
        },
        {
          "type": "event",
          "name": "PoolSwap",
          "inputs": [
            {
              "name": "poolId",
              "type": "bytes32",
              "indexed": true
            },
            {
              "name": "trader",
              "type": "address",
              "indexed": true
            },
            {
              "name": "isBuy",
              "type": "bool"
            },
            {
              "name": "quoteAmount",
              "type": "uint256"
            },
            {
              "name": "tokenAmount",
              "type": "uint256"
            },
            {
              "name": "feeAmount",
              "type": "uint256"
            }
          ],
          "anonymous": false
        },
        {
          "type": "event",
          "name": "PoolScheduled",
          "inputs": [
            {
              "name": "poolId",
              "type": "bytes32",
              "indexed": true
            },
            {
              "name": "opensAt",
              "type": "uint64"
            }
          ],
          "anonymous": false
        },
        {
          "type": "error",
          "name": "NotOpenYet",
          "inputs": [
            {
              "name": "opensAt",
              "type": "uint64"
            }
          ]
        },
        {
          "type": "error",
          "name": "SplitMustSumToTen000",
          "inputs": []
        },
        {
          "type": "error",
          "name": "AntiSnipeOutOfRange",
          "inputs": []
        },
        {
          "type": "error",
          "name": "DevBuyTooSmall",
          "inputs": [
            {
              "name": "minimum",
              "type": "uint256"
            }
          ]
        }
      ],
      "address": "0x53b4794cC8FA2b8232E4656850c857400160f2bC"
    },
    "Token": {
      "abi": [
        {
          "type": "function",
          "name": "name",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "string"
            }
          ],
          "stateMutability": "view"
        },
        {
          "type": "function",
          "name": "symbol",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "string"
            }
          ],
          "stateMutability": "view"
        },
        {
          "type": "function",
          "name": "decimals",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "uint8"
            }
          ],
          "stateMutability": "view"
        },
        {
          "type": "function",
          "name": "totalSupply",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "uint256"
            }
          ],
          "stateMutability": "view"
        },
        {
          "type": "function",
          "name": "balanceOf",
          "inputs": [
            {
              "name": "account",
              "type": "address"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "uint256"
            }
          ],
          "stateMutability": "view"
        },
        {
          "type": "function",
          "name": "allowance",
          "inputs": [
            {
              "name": "owner",
              "type": "address"
            },
            {
              "name": "spender",
              "type": "address"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "uint256"
            }
          ],
          "stateMutability": "view"
        },
        {
          "type": "function",
          "name": "approve",
          "inputs": [
            {
              "name": "spender",
              "type": "address"
            },
            {
              "name": "value",
              "type": "uint256"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "bool"
            }
          ],
          "stateMutability": "nonpayable"
        },
        {
          "type": "function",
          "name": "transfer",
          "inputs": [
            {
              "name": "to",
              "type": "address"
            },
            {
              "name": "value",
              "type": "uint256"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "bool"
            }
          ],
          "stateMutability": "nonpayable"
        },
        {
          "type": "function",
          "name": "transferFrom",
          "inputs": [
            {
              "name": "from",
              "type": "address"
            },
            {
              "name": "to",
              "type": "address"
            },
            {
              "name": "value",
              "type": "uint256"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "bool"
            }
          ],
          "stateMutability": "nonpayable"
        },
        {
          "type": "event",
          "name": "Transfer",
          "inputs": [
            {
              "name": "from",
              "type": "address",
              "indexed": true
            },
            {
              "name": "to",
              "type": "address",
              "indexed": true
            },
            {
              "name": "value",
              "type": "uint256"
            }
          ],
          "anonymous": false
        },
        {
          "type": "event",
          "name": "Approval",
          "inputs": [
            {
              "name": "owner",
              "type": "address",
              "indexed": true
            },
            {
              "name": "spender",
              "type": "address",
              "indexed": true
            },
            {
              "name": "value",
              "type": "uint256"
            }
          ],
          "anonymous": false
        },
        {
          "type": "function",
          "name": "burn",
          "inputs": [
            {
              "name": "value",
              "type": "uint256"
            }
          ],
          "outputs": [],
          "stateMutability": "nonpayable"
        },
        {
          "type": "function",
          "name": "burnFrom",
          "inputs": [
            {
              "name": "account",
              "type": "address"
            },
            {
              "name": "value",
              "type": "uint256"
            }
          ],
          "outputs": [],
          "stateMutability": "nonpayable"
        },
        {
          "type": "function",
          "name": "treasury",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "address"
            }
          ],
          "stateMutability": "view"
        },
        {
          "type": "event",
          "name": "Burn",
          "inputs": [
            {
              "name": "from",
              "type": "address",
              "indexed": true
            },
            {
              "name": "value",
              "type": "uint256"
            }
          ],
          "anonymous": false
        },
        {
          "type": "error",
          "name": "ERC20InsufficientBalance",
          "inputs": [
            {
              "name": "sender",
              "type": "address"
            },
            {
              "name": "balance",
              "type": "uint256"
            },
            {
              "name": "needed",
              "type": "uint256"
            }
          ]
        },
        {
          "type": "error",
          "name": "ERC20InsufficientAllowance",
          "inputs": [
            {
              "name": "spender",
              "type": "address"
            },
            {
              "name": "allowance",
              "type": "uint256"
            },
            {
              "name": "needed",
              "type": "uint256"
            }
          ]
        }
      ],
      "implementation": "0x6716414Ee4d2a672453F363394FaeB39C139C004"
    },
    "CreatorNFT": {
      "abi": [
        {
          "type": "function",
          "name": "name",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "string"
            }
          ],
          "stateMutability": "view"
        },
        {
          "type": "function",
          "name": "symbol",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "string"
            }
          ],
          "stateMutability": "view"
        },
        {
          "type": "function",
          "name": "ownerOf",
          "inputs": [
            {
              "name": "tokenId",
              "type": "uint256"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "address"
            }
          ],
          "stateMutability": "view"
        },
        {
          "type": "function",
          "name": "balanceOf",
          "inputs": [
            {
              "name": "owner",
              "type": "address"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "uint256"
            }
          ],
          "stateMutability": "view"
        },
        {
          "type": "function",
          "name": "tokenOfPool",
          "inputs": [
            {
              "name": "poolId",
              "type": "bytes32"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "uint256"
            }
          ],
          "stateMutability": "view"
        },
        {
          "type": "function",
          "name": "tokenURI",
          "inputs": [
            {
              "name": "tokenId",
              "type": "uint256"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "string"
            }
          ],
          "stateMutability": "view"
        },
        {
          "type": "function",
          "name": "approve",
          "inputs": [
            {
              "name": "to",
              "type": "address"
            },
            {
              "name": "tokenId",
              "type": "uint256"
            }
          ],
          "outputs": [],
          "stateMutability": "nonpayable"
        },
        {
          "type": "function",
          "name": "safeTransferFrom",
          "inputs": [
            {
              "name": "from",
              "type": "address"
            },
            {
              "name": "to",
              "type": "address"
            },
            {
              "name": "tokenId",
              "type": "uint256"
            }
          ],
          "outputs": [],
          "stateMutability": "nonpayable"
        },
        {
          "type": "event",
          "name": "Transfer",
          "inputs": [
            {
              "name": "from",
              "type": "address",
              "indexed": true
            },
            {
              "name": "to",
              "type": "address",
              "indexed": true
            },
            {
              "name": "tokenId",
              "type": "uint256",
              "indexed": true
            }
          ],
          "anonymous": false
        },
        {
          "type": "event",
          "name": "Approval",
          "inputs": [
            {
              "name": "owner",
              "type": "address",
              "indexed": true
            },
            {
              "name": "approved",
              "type": "address",
              "indexed": true
            },
            {
              "name": "tokenId",
              "type": "uint256",
              "indexed": true
            }
          ],
          "anonymous": false
        },
        {
          "type": "error",
          "name": "NotOwnerOrApproved",
          "inputs": [
            {
              "name": "caller",
              "type": "address"
            },
            {
              "name": "tokenId",
              "type": "uint256"
            }
          ]
        }
      ],
      "address": "0xF66106B83Ec309F31Cb2Fff76657315C04E52A1d"
    },
    "FeeVault": {
      "abi": [
        {
          "type": "function",
          "name": "balanceOf",
          "inputs": [
            {
              "name": "poolId",
              "type": "bytes32"
            },
            {
              "name": "quote",
              "type": "address"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "uint256"
            }
          ],
          "stateMutability": "view"
        },
        {
          "type": "function",
          "name": "threshold",
          "inputs": [
            {
              "name": "poolId",
              "type": "bytes32"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "uint256"
            }
          ],
          "stateMutability": "view"
        },
        {
          "type": "function",
          "name": "deposit",
          "inputs": [
            {
              "name": "poolId",
              "type": "bytes32"
            },
            {
              "name": "quote",
              "type": "address"
            },
            {
              "name": "amount",
              "type": "uint256"
            }
          ],
          "outputs": [],
          "stateMutability": "payable"
        },
        {
          "type": "function",
          "name": "release",
          "inputs": [
            {
              "name": "poolId",
              "type": "bytes32"
            },
            {
              "name": "quote",
              "type": "address"
            },
            {
              "name": "amount",
              "type": "uint256"
            },
            {
              "name": "to",
              "type": "address"
            }
          ],
          "outputs": [],
          "stateMutability": "nonpayable"
        },
        {
          "type": "function",
          "name": "executor",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "address"
            }
          ],
          "stateMutability": "view"
        },
        {
          "type": "event",
          "name": "Deposited",
          "inputs": [
            {
              "name": "poolId",
              "type": "bytes32",
              "indexed": true
            },
            {
              "name": "quote",
              "type": "address",
              "indexed": true
            },
            {
              "name": "amount",
              "type": "uint256"
            }
          ],
          "anonymous": false
        },
        {
          "type": "event",
          "name": "Released",
          "inputs": [
            {
              "name": "poolId",
              "type": "bytes32",
              "indexed": true
            },
            {
              "name": "quote",
              "type": "address",
              "indexed": true
            },
            {
              "name": "amount",
              "type": "uint256"
            },
            {
              "name": "to",
              "type": "address"
            }
          ],
          "anonymous": false
        },
        {
          "type": "error",
          "name": "OnlyExecutor",
          "inputs": [
            {
              "name": "caller",
              "type": "address"
            }
          ]
        },
        {
          "type": "error",
          "name": "BelowThreshold",
          "inputs": [
            {
              "name": "held",
              "type": "uint256"
            },
            {
              "name": "threshold",
              "type": "uint256"
            }
          ]
        }
      ],
      "address": "0x68914Eb7634026F75609C0B3C552febDC4E42901"
    },
    "FeeExecutor": {
      "abi": [
        {
          "type": "function",
          "name": "buyAndBurn",
          "inputs": [
            {
              "name": "poolId",
              "type": "bytes32"
            },
            {
              "name": "amountIn",
              "type": "uint256"
            },
            {
              "name": "minOut",
              "type": "uint256"
            }
          ],
          "outputs": [
            {
              "name": "burned",
              "type": "uint256"
            }
          ],
          "stateMutability": "nonpayable"
        },
        {
          "type": "function",
          "name": "distribute",
          "inputs": [
            {
              "name": "poolId",
              "type": "bytes32"
            }
          ],
          "outputs": [
            {
              "name": "round",
              "type": "uint256"
            }
          ],
          "stateMutability": "nonpayable"
        },
        {
          "type": "function",
          "name": "lastRound",
          "inputs": [
            {
              "name": "poolId",
              "type": "bytes32"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "uint64"
            }
          ],
          "stateMutability": "view"
        },
        {
          "type": "function",
          "name": "minHolding",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "uint256"
            }
          ],
          "stateMutability": "view"
        },
        {
          "type": "function",
          "name": "roundInterval",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "uint64"
            }
          ],
          "stateMutability": "view"
        },
        {
          "type": "event",
          "name": "BuybackBurned",
          "inputs": [
            {
              "name": "poolId",
              "type": "bytes32",
              "indexed": true
            },
            {
              "name": "amountIn",
              "type": "uint256"
            },
            {
              "name": "burned",
              "type": "uint256"
            }
          ],
          "anonymous": false
        },
        {
          "type": "event",
          "name": "HoldersPaid",
          "inputs": [
            {
              "name": "poolId",
              "type": "bytes32",
              "indexed": true
            },
            {
              "name": "round",
              "type": "uint256",
              "indexed": true
            },
            {
              "name": "total",
              "type": "uint256"
            }
          ],
          "anonymous": false
        },
        {
          "type": "error",
          "name": "RoundTooSoon",
          "inputs": [
            {
              "name": "nextAt",
              "type": "uint64"
            }
          ]
        },
        {
          "type": "error",
          "name": "NothingToDistribute",
          "inputs": []
        }
      ],
      "address": "0xFb742F20B4fbe6879bc88aCE7749e9CB88e6c7F6"
    },
    "FeeEscrow": {
      "abi": [
        {
          "type": "function",
          "name": "balanceOf",
          "inputs": [
            {
              "name": "owner",
              "type": "address"
            },
            {
              "name": "quote",
              "type": "address"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "uint256"
            }
          ],
          "stateMutability": "view"
        },
        {
          "type": "function",
          "name": "withdraw",
          "inputs": [
            {
              "name": "quote",
              "type": "address"
            },
            {
              "name": "to",
              "type": "address"
            }
          ],
          "outputs": [
            {
              "name": "amount",
              "type": "uint256"
            }
          ],
          "stateMutability": "nonpayable"
        },
        {
          "type": "function",
          "name": "withdrawMany",
          "inputs": [
            {
              "name": "quotes",
              "type": "address[]"
            },
            {
              "name": "to",
              "type": "address"
            }
          ],
          "outputs": [],
          "stateMutability": "nonpayable"
        },
        {
          "type": "function",
          "name": "protocolBalance",
          "inputs": [
            {
              "name": "quote",
              "type": "address"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "uint256"
            }
          ],
          "stateMutability": "view"
        },
        {
          "type": "event",
          "name": "Allocated",
          "inputs": [
            {
              "name": "owner",
              "type": "address",
              "indexed": true
            },
            {
              "name": "quote",
              "type": "address",
              "indexed": true
            },
            {
              "name": "amount",
              "type": "uint256"
            }
          ],
          "anonymous": false
        },
        {
          "type": "event",
          "name": "Withdrawn",
          "inputs": [
            {
              "name": "owner",
              "type": "address",
              "indexed": true
            },
            {
              "name": "quote",
              "type": "address",
              "indexed": true
            },
            {
              "name": "amount",
              "type": "uint256"
            },
            {
              "name": "to",
              "type": "address"
            }
          ],
          "anonymous": false
        },
        {
          "type": "error",
          "name": "NothingToWithdraw",
          "inputs": []
        }
      ],
      "address": "0x543b28794870f914A0F7f9edD3c3F720C8ed0a26"
    },
    "InternalSwapPool": {
      "abi": [
        {
          "type": "function",
          "name": "poolFees",
          "inputs": [
            {
              "name": "poolId",
              "type": "bytes32"
            }
          ],
          "outputs": [
            {
              "name": "tokens",
              "type": "uint256"
            },
            {
              "name": "quote",
              "type": "uint256"
            }
          ],
          "stateMutability": "view"
        },
        {
          "type": "function",
          "name": "sellFeesToBuyer",
          "inputs": [
            {
              "name": "poolId",
              "type": "bytes32"
            },
            {
              "name": "quoteIn",
              "type": "uint256"
            }
          ],
          "outputs": [
            {
              "name": "tokensOut",
              "type": "uint256"
            }
          ],
          "stateMutability": "payable"
        },
        {
          "type": "event",
          "name": "FeesSold",
          "inputs": [
            {
              "name": "poolId",
              "type": "bytes32",
              "indexed": true
            },
            {
              "name": "tokens",
              "type": "uint256"
            },
            {
              "name": "quote",
              "type": "uint256"
            }
          ],
          "anonymous": false
        },
        {
          "type": "error",
          "name": "OnlyHook",
          "inputs": [
            {
              "name": "caller",
              "type": "address"
            }
          ]
        }
      ],
      "address": "0x6bB6aa1c0aa3506aD5b20838C850Bc81f0D4db92"
    },
    "PairedTokenRegistry": {
      "abi": [
        {
          "type": "function",
          "name": "isApproved",
          "inputs": [
            {
              "name": "token",
              "type": "address"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "bool"
            }
          ],
          "stateMutability": "view"
        },
        {
          "type": "function",
          "name": "approvedList",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "address[]"
            }
          ],
          "stateMutability": "view"
        },
        {
          "type": "function",
          "name": "decimalsOf",
          "inputs": [
            {
              "name": "token",
              "type": "address"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "uint8"
            }
          ],
          "stateMutability": "view"
        },
        {
          "type": "function",
          "name": "pegOf",
          "inputs": [
            {
              "name": "token",
              "type": "address"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "uint8"
            }
          ],
          "stateMutability": "view"
        },
        {
          "type": "function",
          "name": "approve",
          "inputs": [
            {
              "name": "token",
              "type": "address"
            },
            {
              "name": "peg",
              "type": "uint8"
            }
          ],
          "outputs": [],
          "stateMutability": "nonpayable"
        },
        {
          "type": "function",
          "name": "revoke",
          "inputs": [
            {
              "name": "token",
              "type": "address"
            }
          ],
          "outputs": [],
          "stateMutability": "nonpayable"
        },
        {
          "type": "event",
          "name": "Approved",
          "inputs": [
            {
              "name": "token",
              "type": "address",
              "indexed": true
            },
            {
              "name": "peg",
              "type": "uint8"
            }
          ],
          "anonymous": false
        },
        {
          "type": "event",
          "name": "Revoked",
          "inputs": [
            {
              "name": "token",
              "type": "address",
              "indexed": true
            }
          ],
          "anonymous": false
        }
      ],
      "address": "0x0F48c6f7173B2966c836aB7a395D1269a87B0901"
    },
    "HomeInitialPrice": {
      "abi": [
        {
          "type": "function",
          "name": "startingMarketCap",
          "inputs": [
            {
              "name": "quote",
              "type": "address"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "uint256"
            }
          ],
          "stateMutability": "view"
        },
        {
          "type": "function",
          "name": "sqrtPriceX96",
          "inputs": [
            {
              "name": "quote",
              "type": "address"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "uint160"
            }
          ],
          "stateMutability": "view"
        },
        {
          "type": "function",
          "name": "setStartingMarketCap",
          "inputs": [
            {
              "name": "quote",
              "type": "address"
            },
            {
              "name": "value",
              "type": "uint256"
            }
          ],
          "outputs": [],
          "stateMutability": "nonpayable"
        },
        {
          "type": "event",
          "name": "StartingMarketCapSet",
          "inputs": [
            {
              "name": "quote",
              "type": "address",
              "indexed": true
            },
            {
              "name": "value",
              "type": "uint256"
            }
          ],
          "anonymous": false
        }
      ],
      "address": "0x2626F034Aa5107Cbc1b709E7aDE4834AB22DEfa6"
    },
    "Oracle": {
      "abi": [
        {
          "type": "function",
          "name": "observe",
          "inputs": [
            {
              "name": "poolId",
              "type": "bytes32"
            },
            {
              "name": "secondsAgos",
              "type": "uint32[]"
            }
          ],
          "outputs": [
            {
              "name": "tickCumulatives",
              "type": "int56[]"
            }
          ],
          "stateMutability": "view"
        },
        {
          "type": "function",
          "name": "latestPrice",
          "inputs": [
            {
              "name": "poolId",
              "type": "bytes32"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "uint256"
            }
          ],
          "stateMutability": "view"
        },
        {
          "type": "function",
          "name": "record",
          "inputs": [
            {
              "name": "poolId",
              "type": "bytes32"
            },
            {
              "name": "tick",
              "type": "int24"
            }
          ],
          "outputs": [],
          "stateMutability": "nonpayable"
        },
        {
          "type": "event",
          "name": "Observation",
          "inputs": [
            {
              "name": "poolId",
              "type": "bytes32",
              "indexed": true
            },
            {
              "name": "timestamp",
              "type": "uint32"
            },
            {
              "name": "tick",
              "type": "int24"
            }
          ],
          "anonymous": false
        }
      ],
      "address": "0x64e1aFe6E9ee421CAA238513f3cd1698c3618172"
    },
    "TreasuryActionManager": {
      "abi": [
        {
          "type": "function",
          "name": "execute",
          "inputs": [
            {
              "name": "treasury",
              "type": "address"
            },
            {
              "name": "action",
              "type": "address"
            },
            {
              "name": "data",
              "type": "bytes"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "bytes"
            }
          ],
          "stateMutability": "nonpayable"
        },
        {
          "type": "function",
          "name": "isApprovedAction",
          "inputs": [
            {
              "name": "action",
              "type": "address"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "bool"
            }
          ],
          "stateMutability": "view"
        },
        {
          "type": "function",
          "name": "approveAction",
          "inputs": [
            {
              "name": "action",
              "type": "address"
            }
          ],
          "outputs": [],
          "stateMutability": "nonpayable"
        },
        {
          "type": "event",
          "name": "ActionExecuted",
          "inputs": [
            {
              "name": "treasury",
              "type": "address",
              "indexed": true
            },
            {
              "name": "action",
              "type": "address",
              "indexed": true
            }
          ],
          "anonymous": false
        },
        {
          "type": "error",
          "name": "ActionNotApproved",
          "inputs": [
            {
              "name": "action",
              "type": "address"
            }
          ]
        }
      ],
      "address": "0x0e0ac4Ab216CFEFF98BA79bA4A8188d1DB04eAc5"
    },
    "TokenTreasury": {
      "abi": [
        {
          "type": "function",
          "name": "token",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "address"
            }
          ],
          "stateMutability": "view"
        },
        {
          "type": "function",
          "name": "manager",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "address"
            }
          ],
          "stateMutability": "view"
        },
        {
          "type": "function",
          "name": "balanceOf",
          "inputs": [
            {
              "name": "asset",
              "type": "address"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "uint256"
            }
          ],
          "stateMutability": "view"
        },
        {
          "type": "function",
          "name": "transferAsset",
          "inputs": [
            {
              "name": "asset",
              "type": "address"
            },
            {
              "name": "to",
              "type": "address"
            },
            {
              "name": "amount",
              "type": "uint256"
            }
          ],
          "outputs": [],
          "stateMutability": "nonpayable"
        },
        {
          "type": "event",
          "name": "AssetMoved",
          "inputs": [
            {
              "name": "asset",
              "type": "address",
              "indexed": true
            },
            {
              "name": "to",
              "type": "address",
              "indexed": true
            },
            {
              "name": "amount",
              "type": "uint256"
            }
          ],
          "anonymous": false
        },
        {
          "type": "error",
          "name": "OnlyManager",
          "inputs": [
            {
              "name": "caller",
              "type": "address"
            }
          ]
        }
      ],
      "implementation": "0xBa64EB98649214C49243D82977B467D3ED738255"
    },
    "Notifier": {
      "abi": [
        {
          "type": "function",
          "name": "subscribe",
          "inputs": [
            {
              "name": "poolId",
              "type": "bytes32"
            },
            {
              "name": "subscriber",
              "type": "address"
            }
          ],
          "outputs": [],
          "stateMutability": "nonpayable"
        },
        {
          "type": "function",
          "name": "unsubscribe",
          "inputs": [
            {
              "name": "poolId",
              "type": "bytes32"
            },
            {
              "name": "subscriber",
              "type": "address"
            }
          ],
          "outputs": [],
          "stateMutability": "nonpayable"
        },
        {
          "type": "function",
          "name": "subscribers",
          "inputs": [
            {
              "name": "poolId",
              "type": "bytes32"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "address[]"
            }
          ],
          "stateMutability": "view"
        },
        {
          "type": "event",
          "name": "Subscribed",
          "inputs": [
            {
              "name": "poolId",
              "type": "bytes32",
              "indexed": true
            },
            {
              "name": "subscriber",
              "type": "address",
              "indexed": true
            }
          ],
          "anonymous": false
        },
        {
          "type": "event",
          "name": "Unsubscribed",
          "inputs": [
            {
              "name": "poolId",
              "type": "bytes32",
              "indexed": true
            },
            {
              "name": "subscriber",
              "type": "address",
              "indexed": true
            }
          ],
          "anonymous": false
        }
      ],
      "address": "0xA986E5eAe3f5e906A302D0109d62a427Bd8EAE74"
    },
    "LaunchLibrary": {
      "abi": [
        {
          "type": "error",
          "name": "InvalidSplit",
          "inputs": [
            {
              "name": "total",
              "type": "uint256"
            }
          ]
        },
        {
          "type": "error",
          "name": "SwapFeeOutOfRange",
          "inputs": [
            {
              "name": "fee",
              "type": "uint24"
            }
          ]
        },
        {
          "type": "error",
          "name": "ScheduleTooFar",
          "inputs": [
            {
              "name": "opensAt",
              "type": "uint64"
            }
          ]
        },
        {
          "type": "event",
          "name": "LaunchConfigured",
          "inputs": [
            {
              "name": "poolId",
              "type": "bytes32",
              "indexed": true
            },
            {
              "name": "swapFee",
              "type": "uint24"
            },
            {
              "name": "startFee",
              "type": "uint24"
            },
            {
              "name": "duration",
              "type": "uint32"
            }
          ],
          "anonymous": false
        }
      ],
      "address": "0x8dc7E9C678b7782a4fB808D4F545d83BC0c0217B"
    }
  }
}
