{
   "title": "DexPair",
   "type": "object",
   "properties": {
      "factory_address": {
         "title": "Factory Address",
         "type": "string"
      },
      "token0": {
         "$ref": "#/$defs/Token"
      },
      "token1": {
         "$ref": "#/$defs/Token"
      },
      "address": {
         "title": "Address",
         "type": "string"
      },
      "index": {
         "title": "Index",
         "type": "integer"
      },
      "fee": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "title": "Fee"
      },
      "network": {
         "$ref": "#/$defs/Network"
      },
      "block_number": {
         "title": "Block Number",
         "type": "integer"
      },
      "transaction_hash": {
         "title": "Transaction Hash",
         "type": "string"
      },
      "factory": {
         "$ref": "#/$defs/DexFactory"
      }
   },
   "$defs": {
      "DexFactory": {
         "const": "uniswap",
         "title": "DexFactory"
      },
      "Network": {
         "const": 1,
         "description": "An enum representing the different Networks supported by the SDK",
         "title": "Network"
      },
      "Token": {
         "description": "An abstraction of an ERC20 token instance",
         "properties": {
            "id": {
               "format": "uuid",
               "title": "Id",
               "type": "string"
            },
            "address": {
               "title": "Address",
               "type": "string"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "symbol": {
               "title": "Symbol",
               "type": "string"
            },
            "decimals": {
               "title": "Decimals",
               "type": "integer"
            },
            "chainId": {
               "$ref": "#/$defs/Network"
            }
         },
         "required": [
            "id",
            "address",
            "name",
            "symbol",
            "decimals",
            "chainId"
         ],
         "title": "Token",
         "type": "object"
      }
   },
   "required": [
      "factory_address",
      "token0",
      "token1",
      "address",
      "index",
      "fee",
      "network",
      "block_number",
      "transaction_hash",
      "factory"
   ]
}