{
  "contractName": "WitnetRequestTemplate",
  "abi": [
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "request",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "radHash",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "string[][]",
          "name": "args",
          "type": "string[][]"
        }
      ],
      "name": "WitnetRequestBuilt",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "class",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "factory",
      "outputs": [
        {
          "internalType": "contract WitnetRequestFactory",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "registry",
      "outputs": [
        {
          "internalType": "contract WitnetRequestBytecodes",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "specs",
      "outputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "version",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "witnet",
      "outputs": [
        {
          "internalType": "contract WitnetOracle",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "aggregator",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "parameterized",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "resultDataMaxSize",
      "outputs": [
        {
          "internalType": "uint16",
          "name": "",
          "type": "uint16"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "resultDataType",
      "outputs": [
        {
          "internalType": "enum Witnet.RadonDataTypes",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "retrievals",
      "outputs": [
        {
          "internalType": "bytes32[]",
          "name": "",
          "type": "bytes32[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "tally",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getRadonAggregator",
      "outputs": [
        {
          "components": [
            {
              "internalType": "enum Witnet.RadonReducerOpcodes",
              "name": "opcode",
              "type": "uint8"
            },
            {
              "components": [
                {
                  "internalType": "enum Witnet.RadonFilterOpcodes",
                  "name": "opcode",
                  "type": "uint8"
                },
                {
                  "internalType": "bytes",
                  "name": "args",
                  "type": "bytes"
                }
              ],
              "internalType": "struct Witnet.RadonFilter[]",
              "name": "filters",
              "type": "tuple[]"
            }
          ],
          "internalType": "struct Witnet.RadonReducer",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "getRadonRetrievalByIndex",
      "outputs": [
        {
          "components": [
            {
              "internalType": "uint8",
              "name": "argsCount",
              "type": "uint8"
            },
            {
              "internalType": "enum Witnet.RadonDataRequestMethods",
              "name": "method",
              "type": "uint8"
            },
            {
              "internalType": "enum Witnet.RadonDataTypes",
              "name": "resultDataType",
              "type": "uint8"
            },
            {
              "internalType": "string",
              "name": "url",
              "type": "string"
            },
            {
              "internalType": "string",
              "name": "body",
              "type": "string"
            },
            {
              "internalType": "string[2][]",
              "name": "headers",
              "type": "string[2][]"
            },
            {
              "internalType": "bytes",
              "name": "script",
              "type": "bytes"
            }
          ],
          "internalType": "struct Witnet.RadonRetrieval",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getRadonRetrievalsCount",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getRadonTally",
      "outputs": [
        {
          "components": [
            {
              "internalType": "enum Witnet.RadonReducerOpcodes",
              "name": "opcode",
              "type": "uint8"
            },
            {
              "components": [
                {
                  "internalType": "enum Witnet.RadonFilterOpcodes",
                  "name": "opcode",
                  "type": "uint8"
                },
                {
                  "internalType": "bytes",
                  "name": "args",
                  "type": "bytes"
                }
              ],
              "internalType": "struct Witnet.RadonFilter[]",
              "name": "filters",
              "type": "tuple[]"
            }
          ],
          "internalType": "struct Witnet.RadonReducer",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "string[][]",
          "name": "args",
          "type": "string[][]"
        }
      ],
      "name": "buildRequest",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "string[][]",
          "name": "args",
          "type": "string[][]"
        }
      ],
      "name": "verifyRadonRequest",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"request\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"radHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string[][]\",\"name\":\"args\",\"type\":\"string[][]\"}],\"name\":\"WitnetRequestBuilt\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"aggregator\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[][]\",\"name\":\"args\",\"type\":\"string[][]\"}],\"name\":\"buildRequest\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"class\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"factory\",\"outputs\":[{\"internalType\":\"contract WitnetRequestFactory\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRadonAggregator\",\"outputs\":[{\"components\":[{\"internalType\":\"enum Witnet.RadonReducerOpcodes\",\"name\":\"opcode\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"enum Witnet.RadonFilterOpcodes\",\"name\":\"opcode\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"args\",\"type\":\"bytes\"}],\"internalType\":\"struct Witnet.RadonFilter[]\",\"name\":\"filters\",\"type\":\"tuple[]\"}],\"internalType\":\"struct Witnet.RadonReducer\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"getRadonRetrievalByIndex\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"argsCount\",\"type\":\"uint8\"},{\"internalType\":\"enum Witnet.RadonDataRequestMethods\",\"name\":\"method\",\"type\":\"uint8\"},{\"internalType\":\"enum Witnet.RadonDataTypes\",\"name\":\"resultDataType\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"body\",\"type\":\"string\"},{\"internalType\":\"string[2][]\",\"name\":\"headers\",\"type\":\"string[2][]\"},{\"internalType\":\"bytes\",\"name\":\"script\",\"type\":\"bytes\"}],\"internalType\":\"struct Witnet.RadonRetrieval\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRadonRetrievalsCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRadonTally\",\"outputs\":[{\"components\":[{\"internalType\":\"enum Witnet.RadonReducerOpcodes\",\"name\":\"opcode\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"enum Witnet.RadonFilterOpcodes\",\"name\":\"opcode\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"args\",\"type\":\"bytes\"}],\"internalType\":\"struct Witnet.RadonFilter[]\",\"name\":\"filters\",\"type\":\"tuple[]\"}],\"internalType\":\"struct Witnet.RadonReducer\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"parameterized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry\",\"outputs\":[{\"internalType\":\"contract WitnetRequestBytecodes\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resultDataMaxSize\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"\",\"type\":\"uint16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resultDataType\",\"outputs\":[{\"internalType\":\"enum Witnet.RadonDataTypes\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"retrievals\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"specs\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tally\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[][]\",\"name\":\"args\",\"type\":\"string[][]\"}],\"name\":\"verifyRadonRequest\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"witnet\",\"outputs\":[{\"internalType\":\"contract WitnetOracle\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/WitnetRequestTemplate.sol\":\"WitnetRequestTemplate\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/contracts/WitnetOracle.sol\":{\"keccak256\":\"0x84ef8d2ebcba273e4bc23a5ee414a1213df55d1b4e496197a146031fea3a4874\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c4a6e31964ed08c4c9dfe5279b4ffe9eeba6e759f15901e080e174e98e96a7f5\",\"dweb:/ipfs/QmTghzVFf2EHnfnHejgFGRBjanXYcstK9ftVaYmHWJfk8w\"]},\"project:/contracts/WitnetRequestBytecodes.sol\":{\"keccak256\":\"0x2a79d919dd79c0e3f857e6bee08368ad0b463188aced4a52de29270ed0f5f3d2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://290d6013ee9f75fedbbb7726527a637ea2ae7a5da0ad118ecc43b298846f0bb0\",\"dweb:/ipfs/QmU8AZtPyctrrvxdmH297p595ZMS6DgcD6djSFKNxAqYMs\"]},\"project:/contracts/WitnetRequestFactory.sol\":{\"keccak256\":\"0x3c66f27d7c1db0e662c37d98005c4cbd871ceb75e97079d7bf673fb75d59c858\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52adb318b870d0825718125e94fdbdd0e968ced09926420e2543b0ca4c6eb579\",\"dweb:/ipfs/QmYack87Q2UTfQb8KLLEPFBrMJgN2o6PaPqPNSc95McPVH\"]},\"project:/contracts/WitnetRequestTemplate.sol\":{\"keccak256\":\"0x10084f4f493f87d0acd9937fa786bf9e92512bf3670ee0427445d43c2cae973e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2491b8a6ec8f01a53f35f6aa602df8630955000f3dc67e7dc8b61b0b25a71657\",\"dweb:/ipfs/QmXEuPy6pVnSQpbg8G1DuVMKQyVfbTdtsDUrPYCbZNHARD\"]},\"project:/contracts/interfaces/IWitnetOracle.sol\":{\"keccak256\":\"0x5dbb04fce5e05675325232a735c46617378982b48dac2138aca0c6cc95e6e4d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7447a70455478239500e16aebe5dce6676dc86307d22f662761d8e9f7c5d1276\",\"dweb:/ipfs/QmVkvA4Mt6G1JXxE8ebxKGAjT1WvNbp5QMKg9sUKdrJjhv\"]},\"project:/contracts/interfaces/IWitnetOracleEvents.sol\":{\"keccak256\":\"0x0442f474f253dc1f6bd6a4f153c3adb2abe5f6f0f24c76d1baf666185e61e659\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://535e8efcfc5693669d9bd2b6f62e6fc65aca19b7de355a27152e4362b410540d\",\"dweb:/ipfs/QmVZRXgku1cZewhoucebaiBKAyUjF2dmEzYrzGvjPzbwN9\"]},\"project:/contracts/interfaces/IWitnetRequestBytecodes.sol\":{\"keccak256\":\"0x8da168bee9a78442216965976b1f29087f760f37dcb09337283242599ed1cbca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e120623262ee0559913bdae56c0a7921147dfe08ada7ea81061b14e2fc38c5e1\",\"dweb:/ipfs/Qmbxe8XRrH6ZjJHiR6YYzcZV1jnSWwo9iBYz5r6GJ6To5G\"]},\"project:/contracts/interfaces/IWitnetRequestFactory.sol\":{\"keccak256\":\"0x3b19ec4a976745ba2646e7e1886d647ef30ad678460a712c93bbfb4405b57f1f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa759ae15b7d4da622a81d50933474910959ac490d8b63ea2e7ed8608859a9c9\",\"dweb:/ipfs/QmRckCu7eBBP5fn9ff6djs7VbdhFc7sxYb2yqDr4go66jV\"]},\"project:/contracts/libs/Witnet.sol\":{\"keccak256\":\"0x65a87375dd79d63a83fb454b7199b6c999bd59c50b3b59d521c5c4d45a7d3cc3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca865b681d810c2fc5c3672ea6343c3bdf6fd71764ab824d25994744dc85866b\",\"dweb:/ipfs/QmPGcP3xGTNZfsQ9GSKdujNLRVs8dWDdubyUko1rbQqJNv\"]},\"project:/contracts/libs/WitnetBuffer.sol\":{\"keccak256\":\"0xa14570492eb5a313ddbacae0185c850ec99c67211eb33989a5e21d31bf06a150\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e83c11edb49cab6a767c0b685825bc22ece0d3d2897e0d54fe1923df5cc76ba5\",\"dweb:/ipfs/QmdLDgCc3tnKbgRrXwfNzsg6uUDirNmjvBB8V3iMmnD69a\"]},\"project:/contracts/libs/WitnetCBOR.sol\":{\"keccak256\":\"0xb346547ff731163beea2c657c52675cdf7936691d566a76a045577cf9c34ade0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d4b5b6424a033584b41f1204d635db98fda9ca9bd2a614c9d82539a3e4e6529\",\"dweb:/ipfs/QmW6Qy3wWpzHSECYaCPaf9LWGfPqWDKVoP2kPSNNQu7LMQ\"]},\"project:/contracts/libs/WitnetV2.sol\":{\"keccak256\":\"0xb276a6da373bfbe9cd942dd7e59979cda898215d1e36ab3df95a6d6cc6ff770f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc4890876b9bc64f501ccdd48408bb63724865cb2ce8d2057f6b318540adce7c\",\"dweb:/ipfs/QmPMHPdbCsKBavhiLcaDgQ9EjNSvwwzv8TKffotcCv1ctP\"]}},\"version\":1}",
  "bytecode": "0x",
  "deployedBytecode": "0x",
  "immutableReferences": {},
  "generatedSources": [],
  "deployedGeneratedSources": [],
  "sourceMap": "",
  "deployedSourceMap": "",
  "source": "// SPDX-License-Identifier: MIT\r\n\r\npragma solidity >=0.7.0 <0.9.0;\r\npragma experimental ABIEncoderV2;\r\n\r\nimport \"./WitnetRequestBytecodes.sol\";\r\nimport \"./WitnetOracle.sol\";\r\nimport \"./WitnetRequestFactory.sol\";\r\n\r\nabstract contract WitnetRequestTemplate\r\n{\r\n    event WitnetRequestBuilt(address indexed request, bytes32 indexed radHash, string[][] args);\r\n\r\n    function class() virtual external view returns (string memory);\r\n    function factory() virtual external view returns (WitnetRequestFactory);\r\n    function registry() virtual external view returns (WitnetRequestBytecodes);\r\n    function specs() virtual external view returns (bytes4);\r\n    function version() virtual external view returns (string memory);\r\n    function witnet() virtual external view returns (WitnetOracle);\r\n\r\n    function aggregator() virtual external view returns (bytes32);\r\n    function parameterized() virtual external view returns (bool);\r\n    function resultDataMaxSize() virtual external view returns (uint16);\r\n    function resultDataType() virtual external view returns (Witnet.RadonDataTypes);\r\n    function retrievals() virtual external view returns (bytes32[] memory);\r\n    function tally() virtual external view returns (bytes32);\r\n    \r\n    function getRadonAggregator() virtual external view returns (Witnet.RadonReducer memory);\r\n    function getRadonRetrievalByIndex(uint256) virtual external view returns (Witnet.RadonRetrieval memory);\r\n    function getRadonRetrievalsCount() virtual external view returns (uint256);\r\n    function getRadonTally() virtual external view returns (Witnet.RadonReducer memory);\r\n    \r\n    function buildRequest(string[][] calldata args) virtual external returns (address);\r\n    function verifyRadonRequest(string[][] calldata args) virtual external returns (bytes32);\r\n}",
  "sourcePath": "C:\\Users\\guill\\github\\witnet\\witnet-solidity-bridge\\contracts\\WitnetRequestTemplate.sol",
  "ast": {
    "absolutePath": "project:/contracts/WitnetRequestTemplate.sol",
    "exportedSymbols": {
      "IWitnetOracle": [
        13265
      ],
      "IWitnetOracleEvents": [
        13315
      ],
      "IWitnetRequestBytecodes": [
        13979
      ],
      "IWitnetRequestFactory": [
        14002
      ],
      "Witnet": [
        17557
      ],
      "WitnetBuffer": [
        19191
      ],
      "WitnetCBOR": [
        20734
      ],
      "WitnetOracle": [
        749
      ],
      "WitnetRequestBytecodes": [
        849
      ],
      "WitnetRequestFactory": [
        880
      ],
      "WitnetRequestTemplate": [
        1005
      ],
      "WitnetV2": [
        23640
      ]
    },
    "id": 1006,
    "license": "MIT",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 882,
        "literals": [
          "solidity",
          ">=",
          "0.7",
          ".0",
          "<",
          "0.9",
          ".0"
        ],
        "nodeType": "PragmaDirective",
        "src": "35:31:15"
      },
      {
        "id": 883,
        "literals": [
          "experimental",
          "ABIEncoderV2"
        ],
        "nodeType": "PragmaDirective",
        "src": "68:33:15"
      },
      {
        "absolutePath": "project:/contracts/WitnetRequestBytecodes.sol",
        "file": "./WitnetRequestBytecodes.sol",
        "id": 884,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 1006,
        "sourceUnit": 850,
        "src": "105:38:15",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "project:/contracts/WitnetOracle.sol",
        "file": "./WitnetOracle.sol",
        "id": 885,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 1006,
        "sourceUnit": 750,
        "src": "145:28:15",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "project:/contracts/WitnetRequestFactory.sol",
        "file": "./WitnetRequestFactory.sol",
        "id": 886,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 1006,
        "sourceUnit": 881,
        "src": "175:36:15",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "abstract": true,
        "baseContracts": [],
        "canonicalName": "WitnetRequestTemplate",
        "contractDependencies": [],
        "contractKind": "contract",
        "fullyImplemented": false,
        "id": 1005,
        "linearizedBaseContracts": [
          1005
        ],
        "name": "WitnetRequestTemplate",
        "nameLocation": "233:21:15",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "anonymous": false,
            "eventSelector": "410c7975f3418de1a871bdcb16ea6c438f6a6c1e5799e704d4e32f53a405f229",
            "id": 896,
            "name": "WitnetRequestBuilt",
            "nameLocation": "269:18:15",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 895,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 888,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "request",
                  "nameLocation": "304:7:15",
                  "nodeType": "VariableDeclaration",
                  "scope": 896,
                  "src": "288:23:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 887,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "288:7:15",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 890,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "radHash",
                  "nameLocation": "329:7:15",
                  "nodeType": "VariableDeclaration",
                  "scope": 896,
                  "src": "313:23:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 889,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "313:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 894,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "args",
                  "nameLocation": "349:4:15",
                  "nodeType": "VariableDeclaration",
                  "scope": 896,
                  "src": "338:15:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$dyn_memory_ptr",
                    "typeString": "string[][]"
                  },
                  "typeName": {
                    "baseType": {
                      "baseType": {
                        "id": 891,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "338:6:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage_ptr",
                          "typeString": "string"
                        }
                      },
                      "id": 892,
                      "nodeType": "ArrayTypeName",
                      "src": "338:8:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                        "typeString": "string[]"
                      }
                    },
                    "id": 893,
                    "nodeType": "ArrayTypeName",
                    "src": "338:10:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_array$_t_string_storage_$dyn_storage_$dyn_storage_ptr",
                      "typeString": "string[][]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "287:67:15"
            },
            "src": "263:92:15"
          },
          {
            "functionSelector": "bff852fa",
            "id": 901,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "class",
            "nameLocation": "372:5:15",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 897,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "377:2:15"
            },
            "returnParameters": {
              "id": 900,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 899,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 901,
                  "src": "411:13:15",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 898,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "411:6:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "410:15:15"
            },
            "scope": 1005,
            "src": "363:63:15",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "external"
          },
          {
            "functionSelector": "c45a0155",
            "id": 907,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "factory",
            "nameLocation": "441:7:15",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 902,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "448:2:15"
            },
            "returnParameters": {
              "id": 906,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 905,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 907,
                  "src": "482:20:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_WitnetRequestFactory_$880",
                    "typeString": "contract WitnetRequestFactory"
                  },
                  "typeName": {
                    "id": 904,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 903,
                      "name": "WitnetRequestFactory",
                      "nameLocations": [
                        "482:20:15"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 880,
                      "src": "482:20:15"
                    },
                    "referencedDeclaration": 880,
                    "src": "482:20:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_WitnetRequestFactory_$880",
                      "typeString": "contract WitnetRequestFactory"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "481:22:15"
            },
            "scope": 1005,
            "src": "432:72:15",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "external"
          },
          {
            "functionSelector": "7b103999",
            "id": 913,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "registry",
            "nameLocation": "519:8:15",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 908,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "527:2:15"
            },
            "returnParameters": {
              "id": 912,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 911,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 913,
                  "src": "561:22:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_WitnetRequestBytecodes_$849",
                    "typeString": "contract WitnetRequestBytecodes"
                  },
                  "typeName": {
                    "id": 910,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 909,
                      "name": "WitnetRequestBytecodes",
                      "nameLocations": [
                        "561:22:15"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 849,
                      "src": "561:22:15"
                    },
                    "referencedDeclaration": 849,
                    "src": "561:22:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_WitnetRequestBytecodes_$849",
                      "typeString": "contract WitnetRequestBytecodes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "560:24:15"
            },
            "scope": 1005,
            "src": "510:75:15",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "external"
          },
          {
            "functionSelector": "adb7c3f7",
            "id": 918,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "specs",
            "nameLocation": "600:5:15",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 914,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "605:2:15"
            },
            "returnParameters": {
              "id": 917,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 916,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 918,
                  "src": "639:6:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 915,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "639:6:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "638:8:15"
            },
            "scope": 1005,
            "src": "591:56:15",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "external"
          },
          {
            "functionSelector": "54fd4d50",
            "id": 923,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "version",
            "nameLocation": "662:7:15",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 919,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "669:2:15"
            },
            "returnParameters": {
              "id": 922,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 921,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 923,
                  "src": "703:13:15",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 920,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "703:6:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "702:15:15"
            },
            "scope": 1005,
            "src": "653:65:15",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "external"
          },
          {
            "functionSelector": "46d1d21a",
            "id": 929,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "witnet",
            "nameLocation": "733:6:15",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 924,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "739:2:15"
            },
            "returnParameters": {
              "id": 928,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 927,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 929,
                  "src": "773:12:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_WitnetOracle_$749",
                    "typeString": "contract WitnetOracle"
                  },
                  "typeName": {
                    "id": 926,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 925,
                      "name": "WitnetOracle",
                      "nameLocations": [
                        "773:12:15"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 749,
                      "src": "773:12:15"
                    },
                    "referencedDeclaration": 749,
                    "src": "773:12:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_WitnetOracle_$749",
                      "typeString": "contract WitnetOracle"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "772:14:15"
            },
            "scope": 1005,
            "src": "724:63:15",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "external"
          },
          {
            "functionSelector": "245a7bfc",
            "id": 934,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "aggregator",
            "nameLocation": "804:10:15",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 930,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "814:2:15"
            },
            "returnParameters": {
              "id": 933,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 932,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 934,
                  "src": "848:7:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 931,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "848:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "847:9:15"
            },
            "scope": 1005,
            "src": "795:62:15",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "external"
          },
          {
            "functionSelector": "4843f06c",
            "id": 939,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "parameterized",
            "nameLocation": "872:13:15",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 935,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "885:2:15"
            },
            "returnParameters": {
              "id": 938,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 937,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 939,
                  "src": "919:4:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 936,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "919:4:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "918:6:15"
            },
            "scope": 1005,
            "src": "863:62:15",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "external"
          },
          {
            "functionSelector": "09e50249",
            "id": 944,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "resultDataMaxSize",
            "nameLocation": "940:17:15",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 940,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "957:2:15"
            },
            "returnParameters": {
              "id": 943,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 942,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 944,
                  "src": "991:6:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint16",
                    "typeString": "uint16"
                  },
                  "typeName": {
                    "id": 941,
                    "name": "uint16",
                    "nodeType": "ElementaryTypeName",
                    "src": "991:6:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint16",
                      "typeString": "uint16"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "990:8:15"
            },
            "scope": 1005,
            "src": "931:68:15",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "external"
          },
          {
            "functionSelector": "26f8a6d3",
            "id": 950,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "resultDataType",
            "nameLocation": "1014:14:15",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 945,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1028:2:15"
            },
            "returnParameters": {
              "id": 949,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 948,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 950,
                  "src": "1062:21:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                    "typeString": "enum Witnet.RadonDataTypes"
                  },
                  "typeName": {
                    "id": 947,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 946,
                      "name": "Witnet.RadonDataTypes",
                      "nameLocations": [
                        "1062:6:15",
                        "1069:14:15"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 16432,
                      "src": "1062:21:15"
                    },
                    "referencedDeclaration": 16432,
                    "src": "1062:21:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                      "typeString": "enum Witnet.RadonDataTypes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1061:23:15"
            },
            "scope": 1005,
            "src": "1005:80:15",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "external"
          },
          {
            "functionSelector": "b0a41769",
            "id": 956,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "retrievals",
            "nameLocation": "1100:10:15",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 951,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1110:2:15"
            },
            "returnParameters": {
              "id": 955,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 954,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 956,
                  "src": "1144:16:15",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                    "typeString": "bytes32[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 952,
                      "name": "bytes32",
                      "nodeType": "ElementaryTypeName",
                      "src": "1144:7:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "id": 953,
                    "nodeType": "ArrayTypeName",
                    "src": "1144:9:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                      "typeString": "bytes32[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1143:18:15"
            },
            "scope": 1005,
            "src": "1091:71:15",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "external"
          },
          {
            "functionSelector": "410673e5",
            "id": 961,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "tally",
            "nameLocation": "1177:5:15",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 957,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1182:2:15"
            },
            "returnParameters": {
              "id": 960,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 959,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 961,
                  "src": "1216:7:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 958,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1216:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1215:9:15"
            },
            "scope": 1005,
            "src": "1168:57:15",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "external"
          },
          {
            "functionSelector": "10d02e47",
            "id": 967,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getRadonAggregator",
            "nameLocation": "1246:18:15",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 962,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1264:2:15"
            },
            "returnParameters": {
              "id": 966,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 965,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 967,
                  "src": "1298:26:15",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_RadonReducer_$16460_memory_ptr",
                    "typeString": "struct Witnet.RadonReducer"
                  },
                  "typeName": {
                    "id": 964,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 963,
                      "name": "Witnet.RadonReducer",
                      "nameLocations": [
                        "1298:6:15",
                        "1305:12:15"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 16460,
                      "src": "1298:19:15"
                    },
                    "referencedDeclaration": 16460,
                    "src": "1298:19:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RadonReducer_$16460_storage_ptr",
                      "typeString": "struct Witnet.RadonReducer"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1297:28:15"
            },
            "scope": 1005,
            "src": "1237:89:15",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "external"
          },
          {
            "functionSelector": "341e11c8",
            "id": 975,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getRadonRetrievalByIndex",
            "nameLocation": "1341:24:15",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 970,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 969,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 975,
                  "src": "1366:7:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 968,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1366:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1365:9:15"
            },
            "returnParameters": {
              "id": 974,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 973,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 975,
                  "src": "1406:28:15",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_RadonRetrieval_$16495_memory_ptr",
                    "typeString": "struct Witnet.RadonRetrieval"
                  },
                  "typeName": {
                    "id": 972,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 971,
                      "name": "Witnet.RadonRetrieval",
                      "nameLocations": [
                        "1406:6:15",
                        "1413:14:15"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 16495,
                      "src": "1406:21:15"
                    },
                    "referencedDeclaration": 16495,
                    "src": "1406:21:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RadonRetrieval_$16495_storage_ptr",
                      "typeString": "struct Witnet.RadonRetrieval"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1405:30:15"
            },
            "scope": 1005,
            "src": "1332:104:15",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "external"
          },
          {
            "functionSelector": "265e8439",
            "id": 980,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getRadonRetrievalsCount",
            "nameLocation": "1451:23:15",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 976,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1474:2:15"
            },
            "returnParameters": {
              "id": 979,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 978,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 980,
                  "src": "1508:7:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 977,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1508:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1507:9:15"
            },
            "scope": 1005,
            "src": "1442:75:15",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "external"
          },
          {
            "functionSelector": "8ae940e1",
            "id": 986,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getRadonTally",
            "nameLocation": "1532:13:15",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 981,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1545:2:15"
            },
            "returnParameters": {
              "id": 985,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 984,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 986,
                  "src": "1579:26:15",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_RadonReducer_$16460_memory_ptr",
                    "typeString": "struct Witnet.RadonReducer"
                  },
                  "typeName": {
                    "id": 983,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 982,
                      "name": "Witnet.RadonReducer",
                      "nameLocations": [
                        "1579:6:15",
                        "1586:12:15"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 16460,
                      "src": "1579:19:15"
                    },
                    "referencedDeclaration": 16460,
                    "src": "1579:19:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RadonReducer_$16460_storage_ptr",
                      "typeString": "struct Witnet.RadonReducer"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1578:28:15"
            },
            "scope": 1005,
            "src": "1523:84:15",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "external"
          },
          {
            "functionSelector": "7d18db51",
            "id": 995,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "buildRequest",
            "nameLocation": "1628:12:15",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 991,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 990,
                  "mutability": "mutable",
                  "name": "args",
                  "nameLocation": "1661:4:15",
                  "nodeType": "VariableDeclaration",
                  "scope": 995,
                  "src": "1641:24:15",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_array$_t_string_calldata_ptr_$dyn_calldata_ptr_$dyn_calldata_ptr",
                    "typeString": "string[][]"
                  },
                  "typeName": {
                    "baseType": {
                      "baseType": {
                        "id": 987,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "1641:6:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage_ptr",
                          "typeString": "string"
                        }
                      },
                      "id": 988,
                      "nodeType": "ArrayTypeName",
                      "src": "1641:8:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                        "typeString": "string[]"
                      }
                    },
                    "id": 989,
                    "nodeType": "ArrayTypeName",
                    "src": "1641:10:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_array$_t_string_storage_$dyn_storage_$dyn_storage_ptr",
                      "typeString": "string[][]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1640:26:15"
            },
            "returnParameters": {
              "id": 994,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 993,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 995,
                  "src": "1693:7:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 992,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1693:7:15",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1692:9:15"
            },
            "scope": 1005,
            "src": "1619:83:15",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "external"
          },
          {
            "functionSelector": "bf7a0bd3",
            "id": 1004,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "verifyRadonRequest",
            "nameLocation": "1717:18:15",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1000,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 999,
                  "mutability": "mutable",
                  "name": "args",
                  "nameLocation": "1756:4:15",
                  "nodeType": "VariableDeclaration",
                  "scope": 1004,
                  "src": "1736:24:15",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_array$_t_string_calldata_ptr_$dyn_calldata_ptr_$dyn_calldata_ptr",
                    "typeString": "string[][]"
                  },
                  "typeName": {
                    "baseType": {
                      "baseType": {
                        "id": 996,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "1736:6:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage_ptr",
                          "typeString": "string"
                        }
                      },
                      "id": 997,
                      "nodeType": "ArrayTypeName",
                      "src": "1736:8:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                        "typeString": "string[]"
                      }
                    },
                    "id": 998,
                    "nodeType": "ArrayTypeName",
                    "src": "1736:10:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_array$_t_string_storage_$dyn_storage_$dyn_storage_ptr",
                      "typeString": "string[][]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1735:26:15"
            },
            "returnParameters": {
              "id": 1003,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1002,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1004,
                  "src": "1788:7:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1001,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1788:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1787:9:15"
            },
            "scope": 1005,
            "src": "1708:89:15",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "external"
          }
        ],
        "scope": 1006,
        "src": "215:1585:15",
        "usedErrors": [],
        "usedEvents": [
          896
        ]
      }
    ],
    "src": "35:1765:15"
  },
  "compiler": {
    "name": "solc",
    "version": "0.8.25+commit.b61c2a91.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "3.4.16",
  "updatedAt": "2024-12-05T09:36:04.164Z",
  "devdoc": {
    "kind": "dev",
    "methods": {},
    "version": 1
  },
  "userdoc": {
    "kind": "user",
    "methods": {},
    "version": 1
  }
}