[
  {
    "type": "function",
    "name": "asset",
    "inputs": [
      {
        "name": "id",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "a",
        "type": "tuple",
        "internalType": "struct LocalStockConfigTypes.Asset",
        "components": [
          {
            "name": "chainId",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "quote",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "underlying",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "kind",
            "type": "uint8",
            "internalType": "enum LocalStockConfigTypes.Kind"
          },
          {
            "name": "decimals",
            "type": "uint8",
            "internalType": "uint8"
          },
          {
            "name": "underlyingDecimals",
            "type": "uint8",
            "internalType": "uint8"
          },
          {
            "name": "quoteCodeHash",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "underlyingCodeHash",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "reviewHash",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "reviewValidUntil",
            "type": "uint64",
            "internalType": "uint64"
          },
          {
            "name": "guard",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "guardCodeHash",
            "type": "bytes32",
            "internalType": "bytes32"
          }
        ]
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "configHash",
    "inputs": [
      {
        "name": "",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "preset",
    "inputs": [
      {
        "name": "id",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "e",
        "type": "tuple",
        "internalType": "struct LocalStockConfigTypes.Economics",
        "components": [
          {
            "name": "assetId",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "virtualQuote",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "threshold",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "minimumTrade",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "tickSpacing",
            "type": "int24",
            "internalType": "int24"
          },
          {
            "name": "valuationHash",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "validUntil",
            "type": "uint64",
            "internalType": "uint64"
          }
        ]
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "presetCount",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "validateCreation",
    "inputs": [
      {
        "name": "id",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "expectedConfigHash",
        "type": "bytes32",
        "internalType": "bytes32"
      },
      {
        "name": "deadline",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "a",
        "type": "tuple",
        "internalType": "struct LocalStockConfigTypes.Asset",
        "components": [
          {
            "name": "chainId",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "quote",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "underlying",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "kind",
            "type": "uint8",
            "internalType": "enum LocalStockConfigTypes.Kind"
          },
          {
            "name": "decimals",
            "type": "uint8",
            "internalType": "uint8"
          },
          {
            "name": "underlyingDecimals",
            "type": "uint8",
            "internalType": "uint8"
          },
          {
            "name": "quoteCodeHash",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "underlyingCodeHash",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "reviewHash",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "reviewValidUntil",
            "type": "uint64",
            "internalType": "uint64"
          },
          {
            "name": "guard",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "guardCodeHash",
            "type": "bytes32",
            "internalType": "bytes32"
          }
        ]
      },
      {
        "name": "e",
        "type": "tuple",
        "internalType": "struct LocalStockConfigTypes.Economics",
        "components": [
          {
            "name": "assetId",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "virtualQuote",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "threshold",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "minimumTrade",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "tickSpacing",
            "type": "int24",
            "internalType": "int24"
          },
          {
            "name": "valuationHash",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "validUntil",
            "type": "uint64",
            "internalType": "uint64"
          }
        ]
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "weth",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "address",
        "internalType": "address"
      }
    ],
    "stateMutability": "view"
  }
]
