{
  "4663": {
    "factory": "0x51292ad514edb93e02867da57e5041d90f1ab5f6",
    "ponsFactory": "0x7eD598BcEf8bd9Edd8C97A195C6d13f40801EC7e",
    "feeEscrow": "0xd3AFEB2a57f70eF218Aa82451c51B2fb0416Ac9e",
    "memeHook": "0xE5e702641Ea86F4ae6cC3cDaeD2B886f976Be044",
    "buybackVault": "0x42df2a798f82289E177311362e8f5ccC45c1219c",
    "poolManager": "0x8366a39CC670B4001A1121B8F6A443A643e40951",
    "weth": "0x0Bd7D308f8E1639FAb988df18A8011f41EAcAD73",
    "factoryDeployBlock": 83299396,
    "jackImplementation": "0x915Fb5aF91854f2E588A489fa16f9B8115385497"
  },
  "abi": {
    "factory": [
      {
        "type": "constructor",
        "inputs": [
          {
            "name": "owner_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "keeper_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "rootPoster_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "ponsFactory_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "feeEscrow_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "memeHook_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "buybackVault_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "poolManager_",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "BPS",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "acceptOwnership",
        "inputs": [],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "allJacks",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address[]",
            "internalType": "address[]"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "buybackVault",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "feeEscrow",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "implementation",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isJack",
        "inputs": [
          {
            "name": "jack",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "jackCount",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "jackOf",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "jack",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "keeper",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "memeHook",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "onBind",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "owner",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "patch",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "s",
            "type": "tuple",
            "internalType": "struct Split",
            "components": [
              {
                "name": "burnBps",
                "type": "uint16",
                "internalType": "uint16"
              },
              {
                "name": "holdersBps",
                "type": "uint16",
                "internalType": "uint16"
              },
              {
                "name": "fundBps",
                "type": "uint16",
                "internalType": "uint16"
              }
            ]
          },
          {
            "name": "fund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "jack",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "pendingOwner",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "ponsFactory",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "poolManager",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "predictJack",
        "inputs": [
          {
            "name": "creator",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "salt",
            "type": "bytes32",
            "internalType": "bytes32"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "renounceOwnership",
        "inputs": [],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "reserve",
        "inputs": [
          {
            "name": "s",
            "type": "tuple",
            "internalType": "struct Split",
            "components": [
              {
                "name": "burnBps",
                "type": "uint16",
                "internalType": "uint16"
              },
              {
                "name": "holdersBps",
                "type": "uint16",
                "internalType": "uint16"
              },
              {
                "name": "fundBps",
                "type": "uint16",
                "internalType": "uint16"
              }
            ]
          },
          {
            "name": "fund",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "salt",
            "type": "bytes32",
            "internalType": "bytes32"
          }
        ],
        "outputs": [
          {
            "name": "jack",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "rootPoster",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "setKeeper",
        "inputs": [
          {
            "name": "keeper_",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "setRootPoster",
        "inputs": [
          {
            "name": "rootPoster_",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "transferOwnership",
        "inputs": [
          {
            "name": "newOwner",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "event",
        "name": "Bound",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "jack",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "KeeperSet",
        "inputs": [
          {
            "name": "keeper",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "OwnershipTransferStarted",
        "inputs": [
          {
            "name": "previousOwner",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "newOwner",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "OwnershipTransferred",
        "inputs": [
          {
            "name": "previousOwner",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "newOwner",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Reserved",
        "inputs": [
          {
            "name": "jack",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "creator",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "split",
            "type": "tuple",
            "indexed": false,
            "internalType": "struct Split",
            "components": [
              {
                "name": "burnBps",
                "type": "uint16",
                "internalType": "uint16"
              },
              {
                "name": "holdersBps",
                "type": "uint16",
                "internalType": "uint16"
              },
              {
                "name": "fundBps",
                "type": "uint16",
                "internalType": "uint16"
              }
            ]
          },
          {
            "name": "fund",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "RootPosterSet",
        "inputs": [
          {
            "name": "rootPoster",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "error",
        "name": "AlreadyBound",
        "inputs": []
      },
      {
        "type": "error",
        "name": "AlreadyReserved",
        "inputs": []
      },
      {
        "type": "error",
        "name": "BadSplit",
        "inputs": []
      },
      {
        "type": "error",
        "name": "FailedDeployment",
        "inputs": []
      },
      {
        "type": "error",
        "name": "FundRequired",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InsufficientBalance",
        "inputs": [
          {
            "name": "balance",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "needed",
            "type": "uint256",
            "internalType": "uint256"
          }
        ]
      },
      {
        "type": "error",
        "name": "NotJack",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotRecipient",
        "inputs": []
      },
      {
        "type": "error",
        "name": "OwnableInvalidOwner",
        "inputs": [
          {
            "name": "owner",
            "type": "address",
            "internalType": "address"
          }
        ]
      },
      {
        "type": "error",
        "name": "OwnableUnauthorizedAccount",
        "inputs": [
          {
            "name": "account",
            "type": "address",
            "internalType": "address"
          }
        ]
      }
    ],
    "jack": [
      {
        "type": "constructor",
        "inputs": [
          {
            "name": "factory_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "ponsFactory_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "feeEscrow_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "memeHook_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "buybackVault_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "poolManager_",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "receive",
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "BPS",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "DEAD",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "PUSH_GAS",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "ROUND_TTL",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "acceptCreator",
        "inputs": [],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "acceptFund",
        "inputs": [],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "bind",
        "inputs": [
          {
            "name": "t",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "burnBucket",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "burnTokens",
        "inputs": [],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "burnedEth",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "burnedTokens",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "buybackVault",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "claim",
        "inputs": [
          {
            "name": "round",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "amount",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "proof",
            "type": "bytes32[]",
            "internalType": "bytes32[]"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "claimed",
        "inputs": [
          {
            "name": "round",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "holder",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "creator",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "creatorOwed",
        "inputs": [
          {
            "name": "account",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "creatorOwedTotal",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "creatorPaidEth",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "executeBurn",
        "inputs": [
          {
            "name": "minOut",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "expireRound",
        "inputs": [
          {
            "name": "round",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "factory",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "feeEscrow",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "fund",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "fundOwed",
        "inputs": [
          {
            "name": "account",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "fundOwedTotal",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "fundPaidEth",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "harvest",
        "inputs": [],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "harvestedEth",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "holdersBucket",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "holdersLocked",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "holdersPaidEth",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "initialize",
        "inputs": [
          {
            "name": "creator_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "s",
            "type": "tuple",
            "internalType": "struct Split",
            "components": [
              {
                "name": "burnBps",
                "type": "uint16",
                "internalType": "uint16"
              },
              {
                "name": "holdersBps",
                "type": "uint16",
                "internalType": "uint16"
              },
              {
                "name": "fundBps",
                "type": "uint16",
                "internalType": "uint16"
              }
            ]
          },
          {
            "name": "fund_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "intendedToken_",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "initialized",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "intendedToken",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "knownBalance",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "lastHarvestAt",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "memeHook",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "pending",
        "inputs": [],
        "outputs": [
          {
            "name": "burnEth",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "holdersEth",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "fundEth",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "creatorEth",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "pendingCreator",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "pendingFund",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "ponsFactory",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "poolIdFor",
        "inputs": [
          {
            "name": "lt",
            "type": "tuple",
            "internalType": "struct PonsLaunchedToken",
            "components": [
              {
                "name": "token",
                "type": "address",
                "internalType": "address"
              },
              {
                "name": "curve",
                "type": "address",
                "internalType": "address"
              },
              {
                "name": "deployer",
                "type": "address",
                "internalType": "address"
              },
              {
                "name": "creatorFeeRecipient",
                "type": "address",
                "internalType": "address"
              },
              {
                "name": "pairToken",
                "type": "address",
                "internalType": "address"
              },
              {
                "name": "graduationThreshold",
                "type": "uint256",
                "internalType": "uint256"
              },
              {
                "name": "poolFee",
                "type": "uint24",
                "internalType": "uint24"
              },
              {
                "name": "tickSpacing",
                "type": "int24",
                "internalType": "int24"
              },
              {
                "name": "creatorTaxBps",
                "type": "uint16",
                "internalType": "uint16"
              },
              {
                "name": "buybackEnabled",
                "type": "bool",
                "internalType": "bool"
              },
              {
                "name": "phase",
                "type": "uint8",
                "internalType": "uint8"
              },
              {
                "name": "sweptQuote",
                "type": "uint256",
                "internalType": "uint256"
              },
              {
                "name": "sweptTokens",
                "type": "uint256",
                "internalType": "uint256"
              },
              {
                "name": "sweptAt",
                "type": "uint256",
                "internalType": "uint256"
              },
              {
                "name": "exists",
                "type": "bool",
                "internalType": "bool"
              }
            ]
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bytes32",
            "internalType": "bytes32"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "poolManager",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "postRoot",
        "inputs": [
          {
            "name": "root",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "total",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "proposeCreator",
        "inputs": [
          {
            "name": "next",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "proposeFund",
        "inputs": [
          {
            "name": "next",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "quoteBurn",
        "inputs": [],
        "outputs": [
          {
            "name": "ethIn",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "tokensOut",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "stage",
            "type": "uint8",
            "internalType": "uint8"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "raiseBurn",
        "inputs": [
          {
            "name": "newBps",
            "type": "uint16",
            "internalType": "uint16"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "raiseHolders",
        "inputs": [
          {
            "name": "newBps",
            "type": "uint16",
            "internalType": "uint16"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "roundCount",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "rounds",
        "inputs": [
          {
            "name": "round",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [
          {
            "name": "root",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "total",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "claimed",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "postedAt",
            "type": "uint64",
            "internalType": "uint64"
          },
          {
            "name": "expired",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "split",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "tuple",
            "internalType": "struct Split",
            "components": [
              {
                "name": "burnBps",
                "type": "uint16",
                "internalType": "uint16"
              },
              {
                "name": "holdersBps",
                "type": "uint16",
                "internalType": "uint16"
              },
              {
                "name": "fundBps",
                "type": "uint16",
                "internalType": "uint16"
              }
            ]
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "token",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "totals",
        "inputs": [],
        "outputs": [
          {
            "name": "harvestedEth_",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "burnedEth_",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "burnedTokens_",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "holdersPaidEth_",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "fundPaidEth_",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "creatorPaidEth_",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "unlockCallback",
        "inputs": [
          {
            "name": "data",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "unsplit",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "withdraw",
        "inputs": [],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "event",
        "name": "Burned",
        "inputs": [
          {
            "name": "ethIn",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          },
          {
            "name": "tokensBurned",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Claimed",
        "inputs": [
          {
            "name": "round",
            "type": "uint256",
            "indexed": true,
            "internalType": "uint256"
          },
          {
            "name": "holder",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "amount",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "CreatorChanged",
        "inputs": [
          {
            "name": "creator",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "CreatorProposed",
        "inputs": [
          {
            "name": "next",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "FundChanged",
        "inputs": [
          {
            "name": "fund",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "FundProposed",
        "inputs": [
          {
            "name": "next",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Harvested",
        "inputs": [
          {
            "name": "eth",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          },
          {
            "name": "toBurn",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          },
          {
            "name": "toHolders",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          },
          {
            "name": "toFund",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          },
          {
            "name": "toCreator",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Paid",
        "inputs": [
          {
            "name": "to",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "isFund",
            "type": "bool",
            "indexed": true,
            "internalType": "bool"
          },
          {
            "name": "amount",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "PushFailed",
        "inputs": [
          {
            "name": "to",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "isFund",
            "type": "bool",
            "indexed": true,
            "internalType": "bool"
          },
          {
            "name": "amount",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Received",
        "inputs": [
          {
            "name": "from",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "amount",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "RoundExpired",
        "inputs": [
          {
            "name": "round",
            "type": "uint256",
            "indexed": true,
            "internalType": "uint256"
          },
          {
            "name": "returned",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "RoundPosted",
        "inputs": [
          {
            "name": "round",
            "type": "uint256",
            "indexed": true,
            "internalType": "uint256"
          },
          {
            "name": "root",
            "type": "bytes32",
            "indexed": false,
            "internalType": "bytes32"
          },
          {
            "name": "total",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "SplitRaised",
        "inputs": [
          {
            "name": "burnBps",
            "type": "uint16",
            "indexed": false,
            "internalType": "uint16"
          },
          {
            "name": "holdersBps",
            "type": "uint16",
            "indexed": false,
            "internalType": "uint16"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Withdrawn",
        "inputs": [
          {
            "name": "to",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "amount",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          }
        ],
        "anonymous": false
      },
      {
        "type": "error",
        "name": "AlreadyBound",
        "inputs": []
      },
      {
        "type": "error",
        "name": "AlreadyClaimed",
        "inputs": []
      },
      {
        "type": "error",
        "name": "AlreadyInitialized",
        "inputs": []
      },
      {
        "type": "error",
        "name": "AmountTooLarge",
        "inputs": []
      },
      {
        "type": "error",
        "name": "BadProof",
        "inputs": []
      },
      {
        "type": "error",
        "name": "BadSplit",
        "inputs": []
      },
      {
        "type": "error",
        "name": "EmptyRoot",
        "inputs": []
      },
      {
        "type": "error",
        "name": "FundRequired",
        "inputs": []
      },
      {
        "type": "error",
        "name": "MinOutRequired",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotBound",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotCreator",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotFactory",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotKeeper",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotPending",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotPoolManager",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotRaise",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotRecipient",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotRootPoster",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotTradable",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NothingToBurn",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NothingToClaim",
        "inputs": []
      },
      {
        "type": "error",
        "name": "ReentrancyGuardReentrantCall",
        "inputs": []
      },
      {
        "type": "error",
        "name": "RoundIsExpired",
        "inputs": []
      },
      {
        "type": "error",
        "name": "RoundTooLarge",
        "inputs": []
      },
      {
        "type": "error",
        "name": "SafeERC20FailedOperation",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "internalType": "address"
          }
        ]
      },
      {
        "type": "error",
        "name": "Slippage",
        "inputs": [
          {
            "name": "out",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "minOut",
            "type": "uint256",
            "internalType": "uint256"
          }
        ]
      },
      {
        "type": "error",
        "name": "TokenNotFound",
        "inputs": []
      },
      {
        "type": "error",
        "name": "TokenTaken",
        "inputs": []
      },
      {
        "type": "error",
        "name": "TooEarly",
        "inputs": []
      },
      {
        "type": "error",
        "name": "TransferFailed",
        "inputs": []
      },
      {
        "type": "error",
        "name": "UnknownRound",
        "inputs": []
      },
      {
        "type": "error",
        "name": "UnsupportedPair",
        "inputs": []
      }
    ],
    "ponsFactory": [
      {
        "type": "function",
        "name": "getLaunchedToken",
        "inputs": [
          {
            "name": "token",
            "type": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "tuple",
            "components": [
              {
                "name": "token",
                "type": "address"
              },
              {
                "name": "curve",
                "type": "address"
              },
              {
                "name": "deployer",
                "type": "address"
              },
              {
                "name": "creatorFeeRecipient",
                "type": "address"
              },
              {
                "name": "pairToken",
                "type": "address"
              },
              {
                "name": "graduationThreshold",
                "type": "uint256"
              },
              {
                "name": "poolFee",
                "type": "uint24"
              },
              {
                "name": "tickSpacing",
                "type": "int24"
              },
              {
                "name": "creatorTaxBps",
                "type": "uint16"
              },
              {
                "name": "buybackEnabled",
                "type": "bool"
              },
              {
                "name": "phase",
                "type": "uint8"
              },
              {
                "name": "sweptQuote",
                "type": "uint256"
              },
              {
                "name": "sweptTokens",
                "type": "uint256"
              },
              {
                "name": "sweptAt",
                "type": "uint256"
              },
              {
                "name": "exists",
                "type": "bool"
              }
            ]
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "transferCreatorFeeRecipient",
        "inputs": [
          {
            "name": "token",
            "type": "address"
          },
          {
            "name": "newRecipient",
            "type": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "pendingCreatorFeeRecipient",
        "inputs": [
          {
            "name": "token",
            "type": "address"
          }
        ],
        "outputs": [
          {
            "name": "newRecipient",
            "type": "address"
          },
          {
            "name": "effectiveAt",
            "type": "uint256"
          },
          {
            "name": "expiresAt",
            "type": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "event",
        "name": "CreatorFeeRecipientUpdated",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "indexed": true
          },
          {
            "name": "previousRecipient",
            "type": "address",
            "indexed": true
          },
          {
            "name": "newRecipient",
            "type": "address",
            "indexed": true
          }
        ],
        "anonymous": false
      },
      {
        "type": "error",
        "name": "NotCreatorFeeRecipient",
        "inputs": []
      },
      {
        "type": "error",
        "name": "TokenNotFound",
        "inputs": []
      },
      {
        "type": "error",
        "name": "ZeroAddress",
        "inputs": []
      }
    ],
    "curve": [
      {
        "type": "function",
        "name": "sweepFees",
        "inputs": [
          {
            "name": "minBuybackTokensOut",
            "type": "uint256"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "creatorTaxBalance",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "quoteFeeBalance",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "deployer",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address"
          }
        ],
        "stateMutability": "view"
      }
    ],
    "erc20": [
      {
        "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"
      }
    ]
  }
}