{
  "4663": {
    "machine": "0x82c4d60becbe3a8903c726a3c2bfbc7b7c6a3fe7",
    "ponsFactory": "0x7eD598BcEf8bd9Edd8C97A195C6d13f40801EC7e",
    "npm": "0x73991a25C818Bf1f1128dEAaB1492D45638DE0D3",
    "weth": "0x0Bd7D308f8E1639FAb988df18A8011f41EAcAD73",
    "usdg": "0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168",
    "stocks": [
      {
        "symbol": "NVDA",
        "name": "NVIDIA",
        "token": "0xd0601CE157Db5bdC3162BbaC2a2C8aF5320D9EEC",
        "pool": "0xd4eb21209c4d6093f80b5b84f5c45cc093ea14a3"
      },
      {
        "symbol": "TSLA",
        "name": "Tesla",
        "token": "0x322F0929c4625eD5bAd873c95208D54E1c003b2d",
        "pool": "0xf4acdaeeb7022862a763c9b1b885e11191c889e3"
      }
    ],
    "machineDeployBlock": 87350329,
    "listingMath": "0x025aC67d8e476EB8b837C964b4F738867869C114"
  },
  "abi": {
    "machine": [
      {
        "type": "constructor",
        "inputs": [
          {
            "name": "owner_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "keeper_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "dev_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "w",
            "type": "tuple",
            "internalType": "struct MarkupMachine.Wiring",
            "components": [
              {
                "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"
              },
              {
                "name": "v3Factory",
                "type": "address",
                "internalType": "address"
              },
              {
                "name": "npm",
                "type": "address",
                "internalType": "address"
              },
              {
                "name": "router",
                "type": "address",
                "internalType": "address"
              },
              {
                "name": "weth",
                "type": "address",
                "internalType": "address"
              },
              {
                "name": "usdg",
                "type": "address",
                "internalType": "address"
              },
              {
                "name": "wethUsdgPool",
                "type": "address",
                "internalType": "address"
              }
            ]
          },
          {
            "name": "initialStocks",
            "type": "tuple[]",
            "internalType": "struct MarkupMachine.Stock[]",
            "components": [
              {
                "name": "token",
                "type": "address",
                "internalType": "address"
              },
              {
                "name": "pool",
                "type": "address",
                "internalType": "address"
              },
              {
                "name": "fee",
                "type": "uint24",
                "internalType": "uint24"
              },
              {
                "name": "tickSpacing",
                "type": "int24",
                "internalType": "int24"
              },
              {
                "name": "stockIsToken0",
                "type": "bool",
                "internalType": "bool"
              },
              {
                "name": "active",
                "type": "bool",
                "internalType": "bool"
              }
            ]
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "receive",
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "acceptDev",
        "inputs": [],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "acceptOwnership",
        "inputs": [],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "addStock",
        "inputs": [],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "bind",
        "inputs": [
          {
            "name": "t",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "buckets",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "burnNow",
        "inputs": [
          {
            "name": "minTokensOut",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [
          {
            "name": "burned",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "buy",
        "inputs": [
          {
            "name": "minUsdgOut",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "minStockOut",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [
          {
            "name": "listingId",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "cancelAt",
        "inputs": [
          {
            "name": "listingId",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "cancelListing",
        "inputs": [
          {
            "name": "listingId",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "collectFees",
        "inputs": [
          {
            "name": "listingId",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "dev",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "devOwed",
        "inputs": [
          {
            "name": "account",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "dustStock",
        "inputs": [
          {
            "name": "stock",
            "type": "uint8",
            "internalType": "uint8"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "harvest",
        "inputs": [],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "isFilled",
        "inputs": [
          {
            "name": "listingId",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [
          {
            "name": "filled",
            "type": "bool",
            "internalType": "bool"
          },
          {
            "name": "currentTick",
            "type": "int24",
            "internalType": "int24"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "keeper",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "lastBurnAt",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "lastBuyAt",
        "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": "listingCount",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "listings",
        "inputs": [
          {
            "name": "id",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "tuple",
            "internalType": "struct MarkupMachine.Listing",
            "components": [
              {
                "name": "stock",
                "type": "uint8",
                "internalType": "uint8"
              },
              {
                "name": "status",
                "type": "uint8",
                "internalType": "uint8"
              },
              {
                "name": "positionId",
                "type": "uint256",
                "internalType": "uint256"
              },
              {
                "name": "stockAmount",
                "type": "uint256",
                "internalType": "uint256"
              },
              {
                "name": "costUsdg",
                "type": "uint256",
                "internalType": "uint256"
              },
              {
                "name": "costEth",
                "type": "uint256",
                "internalType": "uint256"
              },
              {
                "name": "tickLower",
                "type": "int24",
                "internalType": "int24"
              },
              {
                "name": "tickUpper",
                "type": "int24",
                "internalType": "int24"
              },
              {
                "name": "askUsdg",
                "type": "uint256",
                "internalType": "uint256"
              },
              {
                "name": "listedAt",
                "type": "uint64",
                "internalType": "uint64"
              },
              {
                "name": "settledAt",
                "type": "uint64",
                "internalType": "uint64"
              },
              {
                "name": "proceedsUsdg",
                "type": "uint256",
                "internalType": "uint256"
              },
              {
                "name": "burnedTokens",
                "type": "uint256",
                "internalType": "uint256"
              }
            ]
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "lowerDev",
        "inputs": [
          {
            "name": "newDevBps",
            "type": "uint16",
            "internalType": "uint16"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "maxBuyEth",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "nextStock",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint8",
            "internalType": "uint8"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "npm",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "owner",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "params",
        "inputs": [],
        "outputs": [
          {
            "name": "markupBps",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "potBps",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "burnBps",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "devBps",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "minBuyEth",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "twapWindow",
            "type": "uint32",
            "internalType": "uint32"
          },
          {
            "name": "maxDeviationBps",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "publicBuyDelay",
            "type": "uint32",
            "internalType": "uint32"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "pauseStock",
        "inputs": [
          {
            "name": "i",
            "type": "uint8",
            "internalType": "uint8"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "pendingDev",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "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": "queueCancel",
        "inputs": [
          {
            "name": "listingId",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "queueStock",
        "inputs": [
          {
            "name": "s",
            "type": "tuple",
            "internalType": "struct MarkupMachine.Stock",
            "components": [
              {
                "name": "token",
                "type": "address",
                "internalType": "address"
              },
              {
                "name": "pool",
                "type": "address",
                "internalType": "address"
              },
              {
                "name": "fee",
                "type": "uint24",
                "internalType": "uint24"
              },
              {
                "name": "tickSpacing",
                "type": "int24",
                "internalType": "int24"
              },
              {
                "name": "stockIsToken0",
                "type": "bool",
                "internalType": "bool"
              },
              {
                "name": "active",
                "type": "bool",
                "internalType": "bool"
              }
            ]
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "queuedStock",
        "inputs": [],
        "outputs": [
          {
            "name": "s",
            "type": "tuple",
            "internalType": "struct MarkupMachine.Stock",
            "components": [
              {
                "name": "token",
                "type": "address",
                "internalType": "address"
              },
              {
                "name": "pool",
                "type": "address",
                "internalType": "address"
              },
              {
                "name": "fee",
                "type": "uint24",
                "internalType": "uint24"
              },
              {
                "name": "tickSpacing",
                "type": "int24",
                "internalType": "int24"
              },
              {
                "name": "stockIsToken0",
                "type": "bool",
                "internalType": "bool"
              },
              {
                "name": "active",
                "type": "bool",
                "internalType": "bool"
              }
            ]
          },
          {
            "name": "executableAt",
            "type": "uint64",
            "internalType": "uint64"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "quoteAsk",
        "inputs": [
          {
            "name": "listingId",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [
          {
            "name": "askPriceUsdgE18",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "spotPriceUsdgE18",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "raiseBurn",
        "inputs": [
          {
            "name": "newBurnBps",
            "type": "uint16",
            "internalType": "uint16"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "raiseMarkup",
        "inputs": [
          {
            "name": "newBps",
            "type": "uint16",
            "internalType": "uint16"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "renounceOwnership",
        "inputs": [],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "router",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "setBuyConfig",
        "inputs": [
          {
            "name": "minBuyEth",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "twapWindow",
            "type": "uint32",
            "internalType": "uint32"
          },
          {
            "name": "maxDeviationBps",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "publicBuyDelay",
            "type": "uint32",
            "internalType": "uint32"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "setDev",
        "inputs": [
          {
            "name": "next",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "setKeeper",
        "inputs": [
          {
            "name": "k",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "setMaxBuyEth",
        "inputs": [
          {
            "name": "v",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "settle",
        "inputs": [
          {
            "name": "listingId",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "minTokensOut",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [
          {
            "name": "burned",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "stockCodeHash",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "bytes32",
            "internalType": "bytes32"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "stockCount",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "stockDecimals",
        "inputs": [
          {
            "name": "i",
            "type": "uint8",
            "internalType": "uint8"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint8",
            "internalType": "uint8"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "stocks",
        "inputs": [
          {
            "name": "i",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "tuple",
            "internalType": "struct MarkupMachine.Stock",
            "components": [
              {
                "name": "token",
                "type": "address",
                "internalType": "address"
              },
              {
                "name": "pool",
                "type": "address",
                "internalType": "address"
              },
              {
                "name": "fee",
                "type": "uint24",
                "internalType": "uint24"
              },
              {
                "name": "tickSpacing",
                "type": "int24",
                "internalType": "int24"
              },
              {
                "name": "stockIsToken0",
                "type": "bool",
                "internalType": "bool"
              },
              {
                "name": "active",
                "type": "bool",
                "internalType": "bool"
              }
            ]
          }
        ],
        "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": "spentEth_",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "boughtListings_",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "settledListings_",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "proceedsUsdg_",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "burnedTokens_",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "burnedEth_",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "feesCollectedEth_",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "transferOwnership",
        "inputs": [
          {
            "name": "newOwner",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "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": "usdg",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "weth",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "wethUsdgPool",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "withdrawDev",
        "inputs": [],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "event",
        "name": "Bought",
        "inputs": [
          {
            "name": "listingId",
            "type": "uint256",
            "indexed": true,
            "internalType": "uint256"
          },
          {
            "name": "stock",
            "type": "uint8",
            "indexed": true,
            "internalType": "uint8"
          },
          {
            "name": "costEth",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          },
          {
            "name": "costUsdg",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          },
          {
            "name": "stockAmount",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Bound",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Burned",
        "inputs": [
          {
            "name": "ethIn",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          },
          {
            "name": "tokensBurned",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          },
          {
            "name": "fromSale",
            "type": "bool",
            "indexed": false,
            "internalType": "bool"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "BuyConfigSet",
        "inputs": [
          {
            "name": "minBuyEth",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          },
          {
            "name": "twapWindow",
            "type": "uint32",
            "indexed": false,
            "internalType": "uint32"
          },
          {
            "name": "maxDeviationBps",
            "type": "uint16",
            "indexed": false,
            "internalType": "uint16"
          },
          {
            "name": "publicBuyDelay",
            "type": "uint32",
            "indexed": false,
            "internalType": "uint32"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "CancelQueued",
        "inputs": [
          {
            "name": "listingId",
            "type": "uint256",
            "indexed": true,
            "internalType": "uint256"
          },
          {
            "name": "executableAt",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Cancelled",
        "inputs": [
          {
            "name": "listingId",
            "type": "uint256",
            "indexed": true,
            "internalType": "uint256"
          },
          {
            "name": "stockBack",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          },
          {
            "name": "usdgIn",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          },
          {
            "name": "ethToBurn",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "DevChanged",
        "inputs": [
          {
            "name": "dev",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "DevPaid",
        "inputs": [
          {
            "name": "to",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "amount",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "DevProposed",
        "inputs": [
          {
            "name": "next",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "DevPushFailed",
        "inputs": [
          {
            "name": "to",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "amount",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "FeesCollected",
        "inputs": [
          {
            "name": "listingId",
            "type": "uint256",
            "indexed": true,
            "internalType": "uint256"
          },
          {
            "name": "ethToPot",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Harvested",
        "inputs": [
          {
            "name": "eth",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          },
          {
            "name": "toPot",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          },
          {
            "name": "toBurn",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          },
          {
            "name": "toDev",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "KeeperSet",
        "inputs": [
          {
            "name": "",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Listed",
        "inputs": [
          {
            "name": "listingId",
            "type": "uint256",
            "indexed": true,
            "internalType": "uint256"
          },
          {
            "name": "positionId",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          },
          {
            "name": "tickLower",
            "type": "int24",
            "indexed": false,
            "internalType": "int24"
          },
          {
            "name": "tickUpper",
            "type": "int24",
            "indexed": false,
            "internalType": "int24"
          },
          {
            "name": "askUsdg",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "MarkupRaised",
        "inputs": [
          {
            "name": "",
            "type": "uint16",
            "indexed": false,
            "internalType": "uint16"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "MaxBuyEthSet",
        "inputs": [
          {
            "name": "maxBuyEth",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          }
        ],
        "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": "Settled",
        "inputs": [
          {
            "name": "listingId",
            "type": "uint256",
            "indexed": true,
            "internalType": "uint256"
          },
          {
            "name": "proceedsUsdg",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          },
          {
            "name": "ethIn",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          },
          {
            "name": "tokensBurned",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "SplitChanged",
        "inputs": [
          {
            "name": "pot",
            "type": "uint16",
            "indexed": false,
            "internalType": "uint16"
          },
          {
            "name": "burn",
            "type": "uint16",
            "indexed": false,
            "internalType": "uint16"
          },
          {
            "name": "dev",
            "type": "uint16",
            "indexed": false,
            "internalType": "uint16"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "StockAdded",
        "inputs": [
          {
            "name": "i",
            "type": "uint8",
            "indexed": true,
            "internalType": "uint8"
          },
          {
            "name": "token",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "StockPaused",
        "inputs": [
          {
            "name": "i",
            "type": "uint8",
            "indexed": true,
            "internalType": "uint8"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "StockQueued",
        "inputs": [
          {
            "name": "i",
            "type": "uint8",
            "indexed": true,
            "internalType": "uint8"
          },
          {
            "name": "token",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          },
          {
            "name": "executableAt",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          }
        ],
        "anonymous": false
      },
      {
        "type": "error",
        "name": "AlreadyBound",
        "inputs": []
      },
      {
        "type": "error",
        "name": "BadSplit",
        "inputs": []
      },
      {
        "type": "error",
        "name": "BadStock",
        "inputs": []
      },
      {
        "type": "error",
        "name": "MinOutRequired",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NoActiveStock",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotBound",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotFilled",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotKeeper",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotListed",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotLower",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotPending",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotPoolManager",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotRaise",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotRecipient",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotSingleSided",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotTradable",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NothingQueued",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NothingToBurn",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NothingToClaim",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NothingToCollect",
        "inputs": []
      },
      {
        "type": "error",
        "name": "OutOfBounds",
        "inputs": []
      },
      {
        "type": "error",
        "name": "OwnableInvalidOwner",
        "inputs": [
          {
            "name": "owner",
            "type": "address",
            "internalType": "address"
          }
        ]
      },
      {
        "type": "error",
        "name": "OwnableUnauthorizedAccount",
        "inputs": [
          {
            "name": "account",
            "type": "address",
            "internalType": "address"
          }
        ]
      },
      {
        "type": "error",
        "name": "PotTooSmall",
        "inputs": []
      },
      {
        "type": "error",
        "name": "PriceDeviation",
        "inputs": [
          {
            "name": "pool",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "spot",
            "type": "int24",
            "internalType": "int24"
          },
          {
            "name": "twap",
            "type": "int24",
            "internalType": "int24"
          }
        ]
      },
      {
        "type": "error",
        "name": "RangeNotAhead",
        "inputs": [
          {
            "name": "currentTick",
            "type": "int24",
            "internalType": "int24"
          },
          {
            "name": "tickLower",
            "type": "int24",
            "internalType": "int24"
          },
          {
            "name": "tickUpper",
            "type": "int24",
            "internalType": "int24"
          }
        ]
      },
      {
        "type": "error",
        "name": "ReentrancyGuardReentrantCall",
        "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": "TooEarly",
        "inputs": []
      },
      {
        "type": "error",
        "name": "TooManyStocks",
        "inputs": []
      },
      {
        "type": "error",
        "name": "TransferFailed",
        "inputs": []
      },
      {
        "type": "error",
        "name": "UnknownListing",
        "inputs": []
      },
      {
        "type": "error",
        "name": "UnsupportedPair",
        "inputs": []
      },
      {
        "type": "error",
        "name": "ZeroAddress",
        "inputs": []
      }
    ]
  }
}
