{
  "contractName": "WitOracleBaseQueriableTrustable",
  "abi": [
    {
      "inputs": [],
      "name": "InvalidDataReport",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InvalidInitialization",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "NotInitializing",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        }
      ],
      "name": "OwnableInvalidOwner",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "OwnableUnauthorizedAccount",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "ReentrancyGuardReentrantCall",
      "type": "error"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "queryId",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "reason",
          "type": "string"
        }
      ],
      "name": "BatchReportError",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint64",
          "name": "version",
          "type": "uint64"
        }
      ],
      "name": "Initialized",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferStarted",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferred",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "Received",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address[]",
          "name": "reporters",
          "type": "address[]"
        }
      ],
      "name": "ReportersSet",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address[]",
          "name": "reporters",
          "type": "address[]"
        }
      ],
      "name": "ReportersUnset",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "Transfer",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "baseAddr",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "baseCodehash",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "versionTag",
          "type": "string"
        }
      ],
      "name": "Upgraded",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "evmRequester",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "evmGasPrice",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "evmReward",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "Witnet.QueryId",
          "name": "queryId",
          "type": "uint64"
        },
        {
          "indexed": false,
          "internalType": "Witnet.RadonHash",
          "name": "radonHash",
          "type": "bytes32"
        },
        {
          "components": [
            {
              "internalType": "uint16",
              "name": "witResultMaxSize",
              "type": "uint16"
            },
            {
              "internalType": "uint16",
              "name": "witCommitteeSize",
              "type": "uint16"
            },
            {
              "internalType": "uint64",
              "name": "witUnitaryReward",
              "type": "uint64"
            }
          ],
          "indexed": false,
          "internalType": "struct Witnet.QuerySLA",
          "name": "radonParams",
          "type": "tuple"
        }
      ],
      "name": "WitOracleQuery",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "Witnet.QueryId",
          "name": "queryId",
          "type": "uint64"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "evmGasPrice",
          "type": "uint256"
        }
      ],
      "name": "WitOracleQueryReport",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "Witnet.QueryId",
          "name": "queryId",
          "type": "uint64"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "evmConsumer",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "evmGasPrice",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "evmCallbackGas",
          "type": "uint256"
        }
      ],
      "name": "WitOracleQueryReportDelivery",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "Witnet.QueryId",
          "name": "queryId",
          "type": "uint64"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "evmDisputer",
          "type": "address"
        }
      ],
      "name": "WitOracleQueryReportDispute",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "Witnet.QueryId",
          "name": "queryId",
          "type": "uint64"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "evmSender",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "evmGasPrice",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "evmReward",
          "type": "uint256"
        }
      ],
      "name": "WitOracleQueryUpgrade",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "evmOrigin",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "evmConsumer",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "evmReporter",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "Witnet.TransactionHash",
          "name": "witDrTxHash",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "Witnet.RadonHash",
          "name": "queryRadHash",
          "type": "bytes32"
        },
        {
          "components": [
            {
              "internalType": "uint16",
              "name": "witResultMaxSize",
              "type": "uint16"
            },
            {
              "internalType": "uint16",
              "name": "witCommitteeSize",
              "type": "uint16"
            },
            {
              "internalType": "uint64",
              "name": "witUnitaryReward",
              "type": "uint64"
            }
          ],
          "indexed": false,
          "internalType": "struct Witnet.QuerySLA",
          "name": "queryParams",
          "type": "tuple"
        },
        {
          "indexed": false,
          "internalType": "Witnet.Timestamp",
          "name": "resultTimestamp",
          "type": "uint64"
        },
        {
          "indexed": false,
          "internalType": "bytes",
          "name": "resultCborBytes",
          "type": "bytes"
        }
      ],
      "name": "WitOracleReport",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "Witnet.QueryId",
          "name": "queryId",
          "type": "uint64"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "evmConsumer",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "evmGasPrice",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "evmCallbackActualGas",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "evmCallbackRevertReason",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "bytes",
          "name": "resultCborBytes",
          "type": "bytes"
        }
      ],
      "name": "WitOracleResportDeliveryFailed",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "evmReward",
          "type": "uint256"
        },
        {
          "components": [
            {
              "internalType": "uint8",
              "name": "numWitnesses",
              "type": "uint8"
            },
            {
              "internalType": "uint64",
              "name": "witnessReward",
              "type": "uint64"
            }
          ],
          "indexed": false,
          "internalType": "struct IWitOracleLegacy.RadonSLA",
          "name": "witnetSLA",
          "type": "tuple"
        }
      ],
      "name": "WitnetQuery",
      "type": "event"
    },
    {
      "stateMutability": "nonpayable",
      "type": "fallback"
    },
    {
      "inputs": [],
      "name": "acceptOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "base",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "channel",
      "outputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "class",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "codehash",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "_codehash",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "currency",
      "outputs": [
        {
          "internalType": "contract IERC20",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "deployer",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_evmGasPrice",
          "type": "uint256"
        },
        {
          "internalType": "uint24",
          "name": "_evmCallbackGasLimit",
          "type": "uint24"
        }
      ],
      "name": "estimateBaseFeeWithCallback",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_evmGasPrice",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_evmWitPrice",
          "type": "uint256"
        },
        {
          "components": [
            {
              "internalType": "uint16",
              "name": "witResultMaxSize",
              "type": "uint16"
            },
            {
              "internalType": "uint16",
              "name": "witCommitteeSize",
              "type": "uint16"
            },
            {
              "internalType": "uint64",
              "name": "witUnitaryReward",
              "type": "uint64"
            }
          ],
          "internalType": "struct Witnet.QuerySLA",
          "name": "_querySLA",
          "type": "tuple"
        }
      ],
      "name": "estimateExtraFee",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getNextQueryId",
      "outputs": [
        {
          "internalType": "Witnet.QueryId",
          "name": "",
          "type": "uint64"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_queryId",
          "type": "uint256"
        }
      ],
      "name": "getQueryEvmReward",
      "outputs": [
        {
          "internalType": "Witnet.QueryEvmReward",
          "name": "",
          "type": "uint72"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_queryId",
          "type": "uint256"
        }
      ],
      "name": "getQueryResult",
      "outputs": [
        {
          "components": [
            {
              "internalType": "enum Witnet.ResultStatus",
              "name": "status",
              "type": "uint8"
            },
            {
              "internalType": "enum Witnet.RadonDataTypes",
              "name": "dataType",
              "type": "uint8"
            },
            {
              "internalType": "Witnet.TransactionHash",
              "name": "drTxHash",
              "type": "bytes32"
            },
            {
              "internalType": "uint256",
              "name": "finality",
              "type": "uint256"
            },
            {
              "internalType": "Witnet.Timestamp",
              "name": "timestamp",
              "type": "uint64"
            },
            {
              "components": [
                {
                  "components": [
                    {
                      "internalType": "bytes",
                      "name": "data",
                      "type": "bytes"
                    },
                    {
                      "internalType": "uint256",
                      "name": "cursor",
                      "type": "uint256"
                    }
                  ],
                  "internalType": "struct WitnetBuffer.Buffer",
                  "name": "buffer",
                  "type": "tuple"
                },
                {
                  "internalType": "uint8",
                  "name": "initialByte",
                  "type": "uint8"
                },
                {
                  "internalType": "uint8",
                  "name": "majorType",
                  "type": "uint8"
                },
                {
                  "internalType": "uint8",
                  "name": "additionalInformation",
                  "type": "uint8"
                },
                {
                  "internalType": "uint64",
                  "name": "len",
                  "type": "uint64"
                },
                {
                  "internalType": "uint64",
                  "name": "tag",
                  "type": "uint64"
                }
              ],
              "internalType": "struct WitnetCBOR.CBOR",
              "name": "value",
              "type": "tuple"
            }
          ],
          "internalType": "struct Witnet.DataResult",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_queryId",
          "type": "uint256"
        }
      ],
      "name": "getQueryResultStatus",
      "outputs": [
        {
          "internalType": "enum Witnet.ResultStatus",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_queryId",
          "type": "uint256"
        }
      ],
      "name": "getQueryResultStatusDescription",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_queryId",
          "type": "uint256"
        }
      ],
      "name": "getQueryResultTrails",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "queryUUID",
          "type": "bytes32"
        },
        {
          "internalType": "Witnet.TransactionHash",
          "name": "resultDrTxHash",
          "type": "bytes32"
        },
        {
          "internalType": "Witnet.Timestamp",
          "name": "resultTimestamp",
          "type": "uint64"
        },
        {
          "internalType": "uint256",
          "name": "resultFinalityBlock",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256[]",
          "name": "_queryIds",
          "type": "uint256[]"
        }
      ],
      "name": "getQueryStatusBatch",
      "outputs": [
        {
          "internalType": "enum Witnet.QueryStatus[]",
          "name": "_status",
          "type": "uint8[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_queryId",
          "type": "uint256"
        }
      ],
      "name": "getQueryStatusString",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "_initData",
          "type": "bytes"
        }
      ],
      "name": "initialize",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "isUpgradable",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_from",
          "type": "address"
        }
      ],
      "name": "isUpgradableFrom",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "pendingOwner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "proxiableUUID",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "Witnet.RadonHash",
          "name": "_queryRAD",
          "type": "bytes32"
        },
        {
          "components": [
            {
              "internalType": "uint16",
              "name": "witResultMaxSize",
              "type": "uint16"
            },
            {
              "internalType": "uint16",
              "name": "witCommitteeSize",
              "type": "uint16"
            },
            {
              "internalType": "uint64",
              "name": "witUnitaryReward",
              "type": "uint64"
            }
          ],
          "internalType": "struct Witnet.QuerySLA",
          "name": "_querySLA",
          "type": "tuple"
        }
      ],
      "name": "queryData",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "_queryId",
          "type": "uint256"
        }
      ],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "Witnet.RadonHash",
          "name": "_queryRAD",
          "type": "bytes32"
        },
        {
          "components": [
            {
              "internalType": "uint16",
              "name": "witResultMaxSize",
              "type": "uint16"
            },
            {
              "internalType": "uint16",
              "name": "witCommitteeSize",
              "type": "uint16"
            },
            {
              "internalType": "uint64",
              "name": "witUnitaryReward",
              "type": "uint64"
            }
          ],
          "internalType": "struct Witnet.QuerySLA",
          "name": "_querySLA",
          "type": "tuple"
        },
        {
          "components": [
            {
              "internalType": "address",
              "name": "consumer",
              "type": "address"
            },
            {
              "internalType": "uint24",
              "name": "gasLimit",
              "type": "uint24"
            }
          ],
          "internalType": "struct Witnet.QueryCallback",
          "name": "_queryCallback",
          "type": "tuple"
        }
      ],
      "name": "queryDataWithCallback",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "_queryId",
          "type": "uint256"
        }
      ],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "registry",
      "outputs": [
        {
          "internalType": "contract IWitOracleRadonRegistry",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "renounceOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "specs",
      "outputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_queryId",
          "type": "uint256"
        }
      ],
      "name": "upgradeQueryEvmReward",
      "outputs": [],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "version",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "Witnet.TransactionHash",
              "name": "witDrTxHash",
              "type": "bytes32"
            },
            {
              "internalType": "Witnet.RadonHash",
              "name": "queryRadHash",
              "type": "bytes32"
            },
            {
              "components": [
                {
                  "internalType": "uint16",
                  "name": "witResultMaxSize",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "witCommitteeSize",
                  "type": "uint16"
                },
                {
                  "internalType": "uint64",
                  "name": "witUnitaryReward",
                  "type": "uint64"
                }
              ],
              "internalType": "struct Witnet.QuerySLA",
              "name": "queryParams",
              "type": "tuple"
            },
            {
              "internalType": "Witnet.Timestamp",
              "name": "resultTimestamp",
              "type": "uint64"
            },
            {
              "internalType": "bytes",
              "name": "resultCborBytes",
              "type": "bytes"
            }
          ],
          "internalType": "struct Witnet.DataPushReport",
          "name": "_report",
          "type": "tuple"
        },
        {
          "internalType": "bytes",
          "name": "_signature",
          "type": "bytes"
        }
      ],
      "name": "parseDataReport",
      "outputs": [
        {
          "components": [
            {
              "internalType": "enum Witnet.ResultStatus",
              "name": "status",
              "type": "uint8"
            },
            {
              "internalType": "enum Witnet.RadonDataTypes",
              "name": "dataType",
              "type": "uint8"
            },
            {
              "internalType": "Witnet.TransactionHash",
              "name": "drTxHash",
              "type": "bytes32"
            },
            {
              "internalType": "uint256",
              "name": "finality",
              "type": "uint256"
            },
            {
              "internalType": "Witnet.Timestamp",
              "name": "timestamp",
              "type": "uint64"
            },
            {
              "components": [
                {
                  "components": [
                    {
                      "internalType": "bytes",
                      "name": "data",
                      "type": "bytes"
                    },
                    {
                      "internalType": "uint256",
                      "name": "cursor",
                      "type": "uint256"
                    }
                  ],
                  "internalType": "struct WitnetBuffer.Buffer",
                  "name": "buffer",
                  "type": "tuple"
                },
                {
                  "internalType": "uint8",
                  "name": "initialByte",
                  "type": "uint8"
                },
                {
                  "internalType": "uint8",
                  "name": "majorType",
                  "type": "uint8"
                },
                {
                  "internalType": "uint8",
                  "name": "additionalInformation",
                  "type": "uint8"
                },
                {
                  "internalType": "uint64",
                  "name": "len",
                  "type": "uint64"
                },
                {
                  "internalType": "uint64",
                  "name": "tag",
                  "type": "uint64"
                }
              ],
              "internalType": "struct WitnetCBOR.CBOR",
              "name": "value",
              "type": "tuple"
            }
          ],
          "internalType": "struct Witnet.DataResult",
          "name": "_result",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "Witnet.TransactionHash",
              "name": "witDrTxHash",
              "type": "bytes32"
            },
            {
              "internalType": "Witnet.RadonHash",
              "name": "queryRadHash",
              "type": "bytes32"
            },
            {
              "components": [
                {
                  "internalType": "uint16",
                  "name": "witResultMaxSize",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "witCommitteeSize",
                  "type": "uint16"
                },
                {
                  "internalType": "uint64",
                  "name": "witUnitaryReward",
                  "type": "uint64"
                }
              ],
              "internalType": "struct Witnet.QuerySLA",
              "name": "queryParams",
              "type": "tuple"
            },
            {
              "internalType": "Witnet.Timestamp",
              "name": "resultTimestamp",
              "type": "uint64"
            },
            {
              "internalType": "bytes",
              "name": "resultCborBytes",
              "type": "bytes"
            }
          ],
          "internalType": "struct Witnet.DataPushReport",
          "name": "_report",
          "type": "tuple"
        },
        {
          "internalType": "bytes",
          "name": "_signature",
          "type": "bytes"
        }
      ],
      "name": "pushDataReport",
      "outputs": [
        {
          "components": [
            {
              "internalType": "enum Witnet.ResultStatus",
              "name": "status",
              "type": "uint8"
            },
            {
              "internalType": "enum Witnet.RadonDataTypes",
              "name": "dataType",
              "type": "uint8"
            },
            {
              "internalType": "Witnet.TransactionHash",
              "name": "drTxHash",
              "type": "bytes32"
            },
            {
              "internalType": "uint256",
              "name": "finality",
              "type": "uint256"
            },
            {
              "internalType": "Witnet.Timestamp",
              "name": "timestamp",
              "type": "uint64"
            },
            {
              "components": [
                {
                  "components": [
                    {
                      "internalType": "bytes",
                      "name": "data",
                      "type": "bytes"
                    },
                    {
                      "internalType": "uint256",
                      "name": "cursor",
                      "type": "uint256"
                    }
                  ],
                  "internalType": "struct WitnetBuffer.Buffer",
                  "name": "buffer",
                  "type": "tuple"
                },
                {
                  "internalType": "uint8",
                  "name": "initialByte",
                  "type": "uint8"
                },
                {
                  "internalType": "uint8",
                  "name": "majorType",
                  "type": "uint8"
                },
                {
                  "internalType": "uint8",
                  "name": "additionalInformation",
                  "type": "uint8"
                },
                {
                  "internalType": "uint64",
                  "name": "len",
                  "type": "uint64"
                },
                {
                  "internalType": "uint64",
                  "name": "tag",
                  "type": "uint64"
                }
              ],
              "internalType": "struct WitnetCBOR.CBOR",
              "name": "value",
              "type": "tuple"
            }
          ],
          "internalType": "struct Witnet.DataResult",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_queryId",
          "type": "uint256"
        }
      ],
      "name": "deleteQuery",
      "outputs": [
        {
          "internalType": "Witnet.QueryEvmReward",
          "name": "",
          "type": "uint72"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_queryId",
          "type": "uint256"
        }
      ],
      "name": "getQueryStatus",
      "outputs": [
        {
          "internalType": "enum Witnet.QueryStatus",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_queryResponseReporter",
          "type": "address"
        }
      ],
      "name": "isReporter",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address[]",
          "name": "_queryResponseReporters",
          "type": "address[]"
        }
      ],
      "name": "setReporters",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address[]",
          "name": "_exReporters",
          "type": "address[]"
        }
      ],
      "name": "unsetReporters",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_evmGasPrice",
          "type": "uint256"
        }
      ],
      "name": "estimateBaseFee",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_gasPrice",
          "type": "uint256"
        },
        {
          "internalType": "uint16",
          "name": "",
          "type": "uint16"
        }
      ],
      "name": "estimateBaseFee",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "gasPrice",
          "type": "uint256"
        },
        {
          "internalType": "bytes32",
          "name": "radHash",
          "type": "bytes32"
        }
      ],
      "name": "estimateBaseFee",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256[]",
          "name": "queryIds",
          "type": "uint256[]"
        }
      ],
      "name": "extractWitnetDataRequests",
      "outputs": [
        {
          "internalType": "bytes[]",
          "name": "",
          "type": "bytes[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "queryId",
          "type": "uint256"
        }
      ],
      "name": "fetchQueryResponse",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "Witnet.QueryId",
          "name": "_queryId",
          "type": "uint64"
        }
      ],
      "name": "getQuery",
      "outputs": [
        {
          "components": [
            {
              "components": [
                {
                  "internalType": "address",
                  "name": "requester",
                  "type": "address"
                },
                {
                  "internalType": "uint24",
                  "name": "callbackGas",
                  "type": "uint24"
                },
                {
                  "internalType": "bytes",
                  "name": "radonBytecode",
                  "type": "bytes"
                },
                {
                  "internalType": "Witnet.RadonHash",
                  "name": "radonHash",
                  "type": "bytes32"
                }
              ],
              "internalType": "struct Witnet.QueryRequest",
              "name": "request",
              "type": "tuple"
            },
            {
              "components": [
                {
                  "internalType": "address",
                  "name": "reporter",
                  "type": "address"
                },
                {
                  "internalType": "Witnet.Timestamp",
                  "name": "resultTimestamp",
                  "type": "uint64"
                },
                {
                  "internalType": "Witnet.TransactionHash",
                  "name": "resultDrTxHash",
                  "type": "bytes32"
                },
                {
                  "internalType": "bytes",
                  "name": "resultCborBytes",
                  "type": "bytes"
                },
                {
                  "internalType": "address",
                  "name": "disputer",
                  "type": "address"
                }
              ],
              "internalType": "struct Witnet.QueryResponse",
              "name": "response",
              "type": "tuple"
            },
            {
              "components": [
                {
                  "internalType": "uint16",
                  "name": "witResultMaxSize",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "witCommitteeSize",
                  "type": "uint16"
                },
                {
                  "internalType": "uint64",
                  "name": "witUnitaryReward",
                  "type": "uint64"
                }
              ],
              "internalType": "struct Witnet.QuerySLA",
              "name": "slaParams",
              "type": "tuple"
            },
            {
              "internalType": "Witnet.QueryUUID",
              "name": "uuid",
              "type": "bytes15"
            },
            {
              "internalType": "Witnet.QueryEvmReward",
              "name": "reward",
              "type": "uint72"
            },
            {
              "internalType": "Witnet.BlockNumber",
              "name": "checkpoint",
              "type": "uint64"
            }
          ],
          "internalType": "struct Witnet.Query",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "queryId",
          "type": "uint256"
        }
      ],
      "name": "getQuery",
      "outputs": [
        {
          "components": [
            {
              "components": [
                {
                  "internalType": "address",
                  "name": "requester",
                  "type": "address"
                },
                {
                  "internalType": "uint24",
                  "name": "callbackGas",
                  "type": "uint24"
                },
                {
                  "internalType": "uint72",
                  "name": "evmReward",
                  "type": "uint72"
                },
                {
                  "internalType": "bytes",
                  "name": "radonBytecode",
                  "type": "bytes"
                },
                {
                  "internalType": "bytes32",
                  "name": "radonHash",
                  "type": "bytes32"
                },
                {
                  "components": [
                    {
                      "internalType": "uint8",
                      "name": "numWitnesses",
                      "type": "uint8"
                    },
                    {
                      "internalType": "uint64",
                      "name": "witnessReward",
                      "type": "uint64"
                    }
                  ],
                  "internalType": "struct IWitOracleLegacy.RadonSLA",
                  "name": "radonParams",
                  "type": "tuple"
                }
              ],
              "internalType": "struct IWitOracleLegacy.QueryRequest",
              "name": "request",
              "type": "tuple"
            },
            {
              "components": [
                {
                  "internalType": "address",
                  "name": "reporter",
                  "type": "address"
                },
                {
                  "internalType": "uint64",
                  "name": "finality",
                  "type": "uint64"
                },
                {
                  "internalType": "uint32",
                  "name": "timestamp",
                  "type": "uint32"
                },
                {
                  "internalType": "bytes32",
                  "name": "trail",
                  "type": "bytes32"
                },
                {
                  "internalType": "bytes",
                  "name": "cborBytes",
                  "type": "bytes"
                }
              ],
              "internalType": "struct IWitOracleLegacy.QueryResponse",
              "name": "response",
              "type": "tuple"
            }
          ],
          "internalType": "struct IWitOracleLegacy.Query",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "queryId",
          "type": "uint256"
        }
      ],
      "name": "getQueryRequest",
      "outputs": [
        {
          "components": [
            {
              "internalType": "address",
              "name": "requester",
              "type": "address"
            },
            {
              "internalType": "uint24",
              "name": "callbackGas",
              "type": "uint24"
            },
            {
              "internalType": "uint72",
              "name": "evmReward",
              "type": "uint72"
            },
            {
              "internalType": "bytes",
              "name": "radonBytecode",
              "type": "bytes"
            },
            {
              "internalType": "bytes32",
              "name": "radonHash",
              "type": "bytes32"
            },
            {
              "components": [
                {
                  "internalType": "uint8",
                  "name": "numWitnesses",
                  "type": "uint8"
                },
                {
                  "internalType": "uint64",
                  "name": "witnessReward",
                  "type": "uint64"
                }
              ],
              "internalType": "struct IWitOracleLegacy.RadonSLA",
              "name": "radonParams",
              "type": "tuple"
            }
          ],
          "internalType": "struct IWitOracleLegacy.QueryRequest",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "Witnet.QueryId",
          "name": "_queryId",
          "type": "uint64"
        }
      ],
      "name": "getQueryRequest",
      "outputs": [
        {
          "components": [
            {
              "internalType": "address",
              "name": "requester",
              "type": "address"
            },
            {
              "internalType": "uint24",
              "name": "callbackGas",
              "type": "uint24"
            },
            {
              "internalType": "bytes",
              "name": "radonBytecode",
              "type": "bytes"
            },
            {
              "internalType": "Witnet.RadonHash",
              "name": "radonHash",
              "type": "bytes32"
            }
          ],
          "internalType": "struct Witnet.QueryRequest",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "Witnet.QueryId",
          "name": "_queryId",
          "type": "uint64"
        }
      ],
      "name": "getQueryResponse",
      "outputs": [
        {
          "components": [
            {
              "internalType": "address",
              "name": "reporter",
              "type": "address"
            },
            {
              "internalType": "Witnet.Timestamp",
              "name": "resultTimestamp",
              "type": "uint64"
            },
            {
              "internalType": "Witnet.TransactionHash",
              "name": "resultDrTxHash",
              "type": "bytes32"
            },
            {
              "internalType": "bytes",
              "name": "resultCborBytes",
              "type": "bytes"
            },
            {
              "internalType": "address",
              "name": "disputer",
              "type": "address"
            }
          ],
          "internalType": "struct Witnet.QueryResponse",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "queryId",
          "type": "uint256"
        }
      ],
      "name": "getQueryResponse",
      "outputs": [
        {
          "components": [
            {
              "internalType": "address",
              "name": "reporter",
              "type": "address"
            },
            {
              "internalType": "uint64",
              "name": "finality",
              "type": "uint64"
            },
            {
              "internalType": "uint32",
              "name": "timestamp",
              "type": "uint32"
            },
            {
              "internalType": "bytes32",
              "name": "trail",
              "type": "bytes32"
            },
            {
              "internalType": "bytes",
              "name": "cborBytes",
              "type": "bytes"
            }
          ],
          "internalType": "struct IWitOracleLegacy.QueryResponse",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "queryId",
          "type": "uint256"
        }
      ],
      "name": "getQueryResponseStatus",
      "outputs": [
        {
          "internalType": "enum IWitOracleLegacy.QueryResponseStatus",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "queryId",
          "type": "uint256"
        }
      ],
      "name": "getQueryResultCborBytes",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "queryId",
          "type": "uint256"
        }
      ],
      "name": "getQueryResultError",
      "outputs": [
        {
          "components": [
            {
              "internalType": "uint8",
              "name": "code",
              "type": "uint8"
            },
            {
              "internalType": "string",
              "name": "reason",
              "type": "string"
            }
          ],
          "internalType": "struct IWitOracleLegacy.ResultError",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_queryRadHash",
          "type": "bytes32"
        },
        {
          "components": [
            {
              "internalType": "uint8",
              "name": "numWitnesses",
              "type": "uint8"
            },
            {
              "internalType": "uint64",
              "name": "witnessReward",
              "type": "uint64"
            }
          ],
          "internalType": "struct IWitOracleLegacy.RadonSLA",
          "name": "_querySLA",
          "type": "tuple"
        }
      ],
      "name": "postRequest",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_queryRadHash",
          "type": "bytes32"
        },
        {
          "components": [
            {
              "internalType": "uint8",
              "name": "numWitnesses",
              "type": "uint8"
            },
            {
              "internalType": "uint64",
              "name": "witnessReward",
              "type": "uint64"
            }
          ],
          "internalType": "struct IWitOracleLegacy.RadonSLA",
          "name": "_querySLA",
          "type": "tuple"
        },
        {
          "internalType": "uint24",
          "name": "_queryCallbackGas",
          "type": "uint24"
        }
      ],
      "name": "postRequestWithCallback",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256[]",
          "name": "_queryIds",
          "type": "uint256[]"
        },
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        },
        {
          "internalType": "uint256",
          "name": "_evmGasPrice",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_evmWitPrice",
          "type": "uint256"
        }
      ],
      "name": "estimateReportEarnings",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "_revenues",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_expenses",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "Witnet.QueryId[]",
          "name": "_queryIds",
          "type": "uint64[]"
        }
      ],
      "name": "extractRadonBytecodes",
      "outputs": [
        {
          "internalType": "bytes[]",
          "name": "_bytecodes",
          "type": "bytes[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "Witnet.QueryId",
          "name": "_queryId",
          "type": "uint64"
        },
        {
          "internalType": "Witnet.Timestamp",
          "name": "_resultTimestamp",
          "type": "uint64"
        },
        {
          "internalType": "Witnet.TransactionHash",
          "name": "_witDrTxHash",
          "type": "bytes32"
        },
        {
          "internalType": "bytes",
          "name": "_resultCborBytes",
          "type": "bytes"
        }
      ],
      "name": "reportResult",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "queryId",
          "type": "uint256"
        },
        {
          "internalType": "bytes32",
          "name": "drTxHash",
          "type": "bytes32"
        },
        {
          "internalType": "bytes",
          "name": "resultCborBytes",
          "type": "bytes"
        }
      ],
      "name": "reportResult",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "Witnet.QueryId",
          "name": "_queryId",
          "type": "uint64"
        },
        {
          "internalType": "Witnet.TransactionHash",
          "name": "_witDrTxHash",
          "type": "bytes32"
        },
        {
          "internalType": "bytes",
          "name": "_resultCborBytes",
          "type": "bytes"
        }
      ],
      "name": "reportResult",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "queryId",
          "type": "uint256"
        },
        {
          "internalType": "uint32",
          "name": "resultTimestamp",
          "type": "uint32"
        },
        {
          "internalType": "bytes32",
          "name": "drTxHash",
          "type": "bytes32"
        },
        {
          "internalType": "bytes",
          "name": "resultCborBytes",
          "type": "bytes"
        }
      ],
      "name": "reportResult",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "uint256",
              "name": "queryId",
              "type": "uint256"
            },
            {
              "internalType": "uint32",
              "name": "resultTimestamp",
              "type": "uint32"
            },
            {
              "internalType": "bytes32",
              "name": "drTxHash",
              "type": "bytes32"
            },
            {
              "internalType": "bytes",
              "name": "resultCborBytes",
              "type": "bytes"
            }
          ],
          "internalType": "struct IWitOracleLegacy.BatchResultLegacy[]",
          "name": "results",
          "type": "tuple[]"
        }
      ],
      "name": "reportResultBatch",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "_batchReward",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "Witnet.QueryId",
              "name": "queryId",
              "type": "uint64"
            },
            {
              "internalType": "Witnet.Timestamp",
              "name": "resultTimestamp",
              "type": "uint64"
            },
            {
              "internalType": "Witnet.TransactionHash",
              "name": "drTxHash",
              "type": "bytes32"
            },
            {
              "internalType": "bytes",
              "name": "resultCborBytes",
              "type": "bytes"
            }
          ],
          "internalType": "struct IWitOracleQueriableTrustableReporter.BatchResult[]",
          "name": "_batchResults",
          "type": "tuple[]"
        }
      ],
      "name": "reportResultBatch",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "_batchReward",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "metadata": "{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"InvalidDataReport\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"queryId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"BatchReportError\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferStarted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Received\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"reporters\",\"type\":\"address[]\"}],\"name\":\"ReportersSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"reporters\",\"type\":\"address[]\"}],\"name\":\"ReportersUnset\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"baseAddr\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"baseCodehash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"versionTag\",\"type\":\"string\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"evmRequester\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"evmGasPrice\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"evmReward\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"Witnet.QueryId\",\"name\":\"queryId\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"Witnet.RadonHash\",\"name\":\"radonHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint16\",\"name\":\"witResultMaxSize\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"witCommitteeSize\",\"type\":\"uint16\"},{\"internalType\":\"uint64\",\"name\":\"witUnitaryReward\",\"type\":\"uint64\"}],\"indexed\":false,\"internalType\":\"struct Witnet.QuerySLA\",\"name\":\"radonParams\",\"type\":\"tuple\"}],\"name\":\"WitOracleQuery\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"Witnet.QueryId\",\"name\":\"queryId\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"evmGasPrice\",\"type\":\"uint256\"}],\"name\":\"WitOracleQueryReport\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"Witnet.QueryId\",\"name\":\"queryId\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"evmConsumer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"evmGasPrice\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"evmCallbackGas\",\"type\":\"uint256\"}],\"name\":\"WitOracleQueryReportDelivery\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"Witnet.QueryId\",\"name\":\"queryId\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"evmDisputer\",\"type\":\"address\"}],\"name\":\"WitOracleQueryReportDispute\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"Witnet.QueryId\",\"name\":\"queryId\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"evmSender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"evmGasPrice\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"evmReward\",\"type\":\"uint256\"}],\"name\":\"WitOracleQueryUpgrade\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"evmOrigin\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"evmConsumer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"evmReporter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"Witnet.TransactionHash\",\"name\":\"witDrTxHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"Witnet.RadonHash\",\"name\":\"queryRadHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint16\",\"name\":\"witResultMaxSize\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"witCommitteeSize\",\"type\":\"uint16\"},{\"internalType\":\"uint64\",\"name\":\"witUnitaryReward\",\"type\":\"uint64\"}],\"indexed\":false,\"internalType\":\"struct Witnet.QuerySLA\",\"name\":\"queryParams\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"Witnet.Timestamp\",\"name\":\"resultTimestamp\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"resultCborBytes\",\"type\":\"bytes\"}],\"name\":\"WitOracleReport\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"Witnet.QueryId\",\"name\":\"queryId\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"evmConsumer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"evmGasPrice\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"evmCallbackActualGas\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"evmCallbackRevertReason\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"resultCborBytes\",\"type\":\"bytes\"}],\"name\":\"WitOracleResportDeliveryFailed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"evmReward\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"numWitnesses\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"witnessReward\",\"type\":\"uint64\"}],\"indexed\":false,\"internalType\":\"struct IWitOracleLegacy.RadonSLA\",\"name\":\"witnetSLA\",\"type\":\"tuple\"}],\"name\":\"WitnetQuery\",\"type\":\"event\"},{\"stateMutability\":\"nonpayable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"acceptOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"base\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"channel\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"class\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"codehash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_codehash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currency\",\"outputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"deleteQuery\",\"outputs\":[{\"internalType\":\"Witnet.QueryEvmReward\",\"name\":\"\",\"type\":\"uint72\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_evmGasPrice\",\"type\":\"uint256\"}],\"name\":\"estimateBaseFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"uint16\",\"name\":\"\",\"type\":\"uint16\"}],\"name\":\"estimateBaseFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"radHash\",\"type\":\"bytes32\"}],\"name\":\"estimateBaseFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_evmGasPrice\",\"type\":\"uint256\"},{\"internalType\":\"uint24\",\"name\":\"_evmCallbackGasLimit\",\"type\":\"uint24\"}],\"name\":\"estimateBaseFeeWithCallback\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_evmGasPrice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_evmWitPrice\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint16\",\"name\":\"witResultMaxSize\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"witCommitteeSize\",\"type\":\"uint16\"},{\"internalType\":\"uint64\",\"name\":\"witUnitaryReward\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.QuerySLA\",\"name\":\"_querySLA\",\"type\":\"tuple\"}],\"name\":\"estimateExtraFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_queryIds\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"_evmGasPrice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_evmWitPrice\",\"type\":\"uint256\"}],\"name\":\"estimateReportEarnings\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_revenues\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_expenses\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Witnet.QueryId[]\",\"name\":\"_queryIds\",\"type\":\"uint64[]\"}],\"name\":\"extractRadonBytecodes\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"_bytecodes\",\"type\":\"bytes[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"queryIds\",\"type\":\"uint256[]\"}],\"name\":\"extractWitnetDataRequests\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"queryId\",\"type\":\"uint256\"}],\"name\":\"fetchQueryResponse\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getNextQueryId\",\"outputs\":[{\"internalType\":\"Witnet.QueryId\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Witnet.QueryId\",\"name\":\"_queryId\",\"type\":\"uint64\"}],\"name\":\"getQuery\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"callbackGas\",\"type\":\"uint24\"},{\"internalType\":\"bytes\",\"name\":\"radonBytecode\",\"type\":\"bytes\"},{\"internalType\":\"Witnet.RadonHash\",\"name\":\"radonHash\",\"type\":\"bytes32\"}],\"internalType\":\"struct Witnet.QueryRequest\",\"name\":\"request\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"reporter\",\"type\":\"address\"},{\"internalType\":\"Witnet.Timestamp\",\"name\":\"resultTimestamp\",\"type\":\"uint64\"},{\"internalType\":\"Witnet.TransactionHash\",\"name\":\"resultDrTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"resultCborBytes\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"disputer\",\"type\":\"address\"}],\"internalType\":\"struct Witnet.QueryResponse\",\"name\":\"response\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint16\",\"name\":\"witResultMaxSize\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"witCommitteeSize\",\"type\":\"uint16\"},{\"internalType\":\"uint64\",\"name\":\"witUnitaryReward\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.QuerySLA\",\"name\":\"slaParams\",\"type\":\"tuple\"},{\"internalType\":\"Witnet.QueryUUID\",\"name\":\"uuid\",\"type\":\"bytes15\"},{\"internalType\":\"Witnet.QueryEvmReward\",\"name\":\"reward\",\"type\":\"uint72\"},{\"internalType\":\"Witnet.BlockNumber\",\"name\":\"checkpoint\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.Query\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"queryId\",\"type\":\"uint256\"}],\"name\":\"getQuery\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"callbackGas\",\"type\":\"uint24\"},{\"internalType\":\"uint72\",\"name\":\"evmReward\",\"type\":\"uint72\"},{\"internalType\":\"bytes\",\"name\":\"radonBytecode\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"radonHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"numWitnesses\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"witnessReward\",\"type\":\"uint64\"}],\"internalType\":\"struct IWitOracleLegacy.RadonSLA\",\"name\":\"radonParams\",\"type\":\"tuple\"}],\"internalType\":\"struct IWitOracleLegacy.QueryRequest\",\"name\":\"request\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"reporter\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"finality\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"timestamp\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"trail\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"cborBytes\",\"type\":\"bytes\"}],\"internalType\":\"struct IWitOracleLegacy.QueryResponse\",\"name\":\"response\",\"type\":\"tuple\"}],\"internalType\":\"struct IWitOracleLegacy.Query\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"getQueryEvmReward\",\"outputs\":[{\"internalType\":\"Witnet.QueryEvmReward\",\"name\":\"\",\"type\":\"uint72\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"queryId\",\"type\":\"uint256\"}],\"name\":\"getQueryRequest\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"callbackGas\",\"type\":\"uint24\"},{\"internalType\":\"uint72\",\"name\":\"evmReward\",\"type\":\"uint72\"},{\"internalType\":\"bytes\",\"name\":\"radonBytecode\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"radonHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"numWitnesses\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"witnessReward\",\"type\":\"uint64\"}],\"internalType\":\"struct IWitOracleLegacy.RadonSLA\",\"name\":\"radonParams\",\"type\":\"tuple\"}],\"internalType\":\"struct IWitOracleLegacy.QueryRequest\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Witnet.QueryId\",\"name\":\"_queryId\",\"type\":\"uint64\"}],\"name\":\"getQueryRequest\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"callbackGas\",\"type\":\"uint24\"},{\"internalType\":\"bytes\",\"name\":\"radonBytecode\",\"type\":\"bytes\"},{\"internalType\":\"Witnet.RadonHash\",\"name\":\"radonHash\",\"type\":\"bytes32\"}],\"internalType\":\"struct Witnet.QueryRequest\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Witnet.QueryId\",\"name\":\"_queryId\",\"type\":\"uint64\"}],\"name\":\"getQueryResponse\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"reporter\",\"type\":\"address\"},{\"internalType\":\"Witnet.Timestamp\",\"name\":\"resultTimestamp\",\"type\":\"uint64\"},{\"internalType\":\"Witnet.TransactionHash\",\"name\":\"resultDrTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"resultCborBytes\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"disputer\",\"type\":\"address\"}],\"internalType\":\"struct Witnet.QueryResponse\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"queryId\",\"type\":\"uint256\"}],\"name\":\"getQueryResponse\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"reporter\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"finality\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"timestamp\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"trail\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"cborBytes\",\"type\":\"bytes\"}],\"internalType\":\"struct IWitOracleLegacy.QueryResponse\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"queryId\",\"type\":\"uint256\"}],\"name\":\"getQueryResponseStatus\",\"outputs\":[{\"internalType\":\"enum IWitOracleLegacy.QueryResponseStatus\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"getQueryResult\",\"outputs\":[{\"components\":[{\"internalType\":\"enum Witnet.ResultStatus\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"enum Witnet.RadonDataTypes\",\"name\":\"dataType\",\"type\":\"uint8\"},{\"internalType\":\"Witnet.TransactionHash\",\"name\":\"drTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"finality\",\"type\":\"uint256\"},{\"internalType\":\"Witnet.Timestamp\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"cursor\",\"type\":\"uint256\"}],\"internalType\":\"struct WitnetBuffer.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct WitnetCBOR.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.DataResult\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"queryId\",\"type\":\"uint256\"}],\"name\":\"getQueryResultCborBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"queryId\",\"type\":\"uint256\"}],\"name\":\"getQueryResultError\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"code\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"internalType\":\"struct IWitOracleLegacy.ResultError\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"getQueryResultStatus\",\"outputs\":[{\"internalType\":\"enum Witnet.ResultStatus\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"getQueryResultStatusDescription\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"getQueryResultTrails\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"queryUUID\",\"type\":\"bytes32\"},{\"internalType\":\"Witnet.TransactionHash\",\"name\":\"resultDrTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"Witnet.Timestamp\",\"name\":\"resultTimestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"resultFinalityBlock\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"getQueryStatus\",\"outputs\":[{\"internalType\":\"enum Witnet.QueryStatus\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_queryIds\",\"type\":\"uint256[]\"}],\"name\":\"getQueryStatusBatch\",\"outputs\":[{\"internalType\":\"enum Witnet.QueryStatus[]\",\"name\":\"_status\",\"type\":\"uint8[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"getQueryStatusString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_initData\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_queryResponseReporter\",\"type\":\"address\"}],\"name\":\"isReporter\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isUpgradable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"}],\"name\":\"isUpgradableFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"Witnet.TransactionHash\",\"name\":\"witDrTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"Witnet.RadonHash\",\"name\":\"queryRadHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint16\",\"name\":\"witResultMaxSize\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"witCommitteeSize\",\"type\":\"uint16\"},{\"internalType\":\"uint64\",\"name\":\"witUnitaryReward\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.QuerySLA\",\"name\":\"queryParams\",\"type\":\"tuple\"},{\"internalType\":\"Witnet.Timestamp\",\"name\":\"resultTimestamp\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"resultCborBytes\",\"type\":\"bytes\"}],\"internalType\":\"struct Witnet.DataPushReport\",\"name\":\"_report\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"_signature\",\"type\":\"bytes\"}],\"name\":\"parseDataReport\",\"outputs\":[{\"components\":[{\"internalType\":\"enum Witnet.ResultStatus\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"enum Witnet.RadonDataTypes\",\"name\":\"dataType\",\"type\":\"uint8\"},{\"internalType\":\"Witnet.TransactionHash\",\"name\":\"drTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"finality\",\"type\":\"uint256\"},{\"internalType\":\"Witnet.Timestamp\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"cursor\",\"type\":\"uint256\"}],\"internalType\":\"struct WitnetBuffer.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct WitnetCBOR.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.DataResult\",\"name\":\"_result\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pendingOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_queryRadHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"numWitnesses\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"witnessReward\",\"type\":\"uint64\"}],\"internalType\":\"struct IWitOracleLegacy.RadonSLA\",\"name\":\"_querySLA\",\"type\":\"tuple\"}],\"name\":\"postRequest\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_queryRadHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"numWitnesses\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"witnessReward\",\"type\":\"uint64\"}],\"internalType\":\"struct IWitOracleLegacy.RadonSLA\",\"name\":\"_querySLA\",\"type\":\"tuple\"},{\"internalType\":\"uint24\",\"name\":\"_queryCallbackGas\",\"type\":\"uint24\"}],\"name\":\"postRequestWithCallback\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"Witnet.TransactionHash\",\"name\":\"witDrTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"Witnet.RadonHash\",\"name\":\"queryRadHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint16\",\"name\":\"witResultMaxSize\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"witCommitteeSize\",\"type\":\"uint16\"},{\"internalType\":\"uint64\",\"name\":\"witUnitaryReward\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.QuerySLA\",\"name\":\"queryParams\",\"type\":\"tuple\"},{\"internalType\":\"Witnet.Timestamp\",\"name\":\"resultTimestamp\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"resultCborBytes\",\"type\":\"bytes\"}],\"internalType\":\"struct Witnet.DataPushReport\",\"name\":\"_report\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"_signature\",\"type\":\"bytes\"}],\"name\":\"pushDataReport\",\"outputs\":[{\"components\":[{\"internalType\":\"enum Witnet.ResultStatus\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"enum Witnet.RadonDataTypes\",\"name\":\"dataType\",\"type\":\"uint8\"},{\"internalType\":\"Witnet.TransactionHash\",\"name\":\"drTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"finality\",\"type\":\"uint256\"},{\"internalType\":\"Witnet.Timestamp\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"cursor\",\"type\":\"uint256\"}],\"internalType\":\"struct WitnetBuffer.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct WitnetCBOR.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.DataResult\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Witnet.RadonHash\",\"name\":\"_queryRAD\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint16\",\"name\":\"witResultMaxSize\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"witCommitteeSize\",\"type\":\"uint16\"},{\"internalType\":\"uint64\",\"name\":\"witUnitaryReward\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.QuerySLA\",\"name\":\"_querySLA\",\"type\":\"tuple\"}],\"name\":\"queryData\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Witnet.RadonHash\",\"name\":\"_queryRAD\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint16\",\"name\":\"witResultMaxSize\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"witCommitteeSize\",\"type\":\"uint16\"},{\"internalType\":\"uint64\",\"name\":\"witUnitaryReward\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.QuerySLA\",\"name\":\"_querySLA\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"consumer\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"gasLimit\",\"type\":\"uint24\"}],\"internalType\":\"struct Witnet.QueryCallback\",\"name\":\"_queryCallback\",\"type\":\"tuple\"}],\"name\":\"queryDataWithCallback\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry\",\"outputs\":[{\"internalType\":\"contract IWitOracleRadonRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Witnet.QueryId\",\"name\":\"_queryId\",\"type\":\"uint64\"},{\"internalType\":\"Witnet.Timestamp\",\"name\":\"_resultTimestamp\",\"type\":\"uint64\"},{\"internalType\":\"Witnet.TransactionHash\",\"name\":\"_witDrTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_resultCborBytes\",\"type\":\"bytes\"}],\"name\":\"reportResult\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"queryId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"drTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"resultCborBytes\",\"type\":\"bytes\"}],\"name\":\"reportResult\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Witnet.QueryId\",\"name\":\"_queryId\",\"type\":\"uint64\"},{\"internalType\":\"Witnet.TransactionHash\",\"name\":\"_witDrTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_resultCborBytes\",\"type\":\"bytes\"}],\"name\":\"reportResult\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"queryId\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"resultTimestamp\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"drTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"resultCborBytes\",\"type\":\"bytes\"}],\"name\":\"reportResult\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"queryId\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"resultTimestamp\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"drTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"resultCborBytes\",\"type\":\"bytes\"}],\"internalType\":\"struct IWitOracleLegacy.BatchResultLegacy[]\",\"name\":\"results\",\"type\":\"tuple[]\"}],\"name\":\"reportResultBatch\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_batchReward\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"Witnet.QueryId\",\"name\":\"queryId\",\"type\":\"uint64\"},{\"internalType\":\"Witnet.Timestamp\",\"name\":\"resultTimestamp\",\"type\":\"uint64\"},{\"internalType\":\"Witnet.TransactionHash\",\"name\":\"drTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"resultCborBytes\",\"type\":\"bytes\"}],\"internalType\":\"struct IWitOracleQueriableTrustableReporter.BatchResult[]\",\"name\":\"_batchResults\",\"type\":\"tuple[]\"}],\"name\":\"reportResultBatch\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_batchReward\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_queryResponseReporters\",\"type\":\"address[]\"}],\"name\":\"setReporters\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"specs\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_exReporters\",\"type\":\"address[]\"}],\"name\":\"unsetReporters\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"upgradeQueryEvmReward\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"The Witnet Foundation\",\"errors\":{\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address,address,bytes32,string)\":{\"params\":{\"baseAddr\":\"The address of the new implementation contract.\",\"baseCodehash\":\"The EVM-codehash of the new implementation contract.\",\"from\":\"The address who ordered the upgrading. Namely, the WRB operator in \\\"trustable\\\" implementations.\",\"versionTag\":\"Ascii-encoded version literal with which the implementation deployer decided to tag it.\"}}},\"kind\":\"dev\",\"methods\":{\"acceptOwnership()\":{\"details\":\"The new owner accepts the ownership transfer.\"},\"base()\":{\"details\":\"Retrieves base contract. Differs from address(this) when called via delegate-proxy pattern.\"},\"codehash()\":{\"details\":\"Retrieves the immutable codehash of this contract, even if invoked as delegatecall.\"},\"deleteQuery(uint256)\":{\"details\":\"Fails if the query is not in a final status, or not called from the actual requester.\"},\"estimateBaseFee(uint256)\":{\"params\":{\"_evmGasPrice\":\"Expected gas price to pay upon posting the data request.\"}},\"estimateBaseFee(uint256,bytes32)\":{\"details\":\"Underestimates if the size of returned data is greater than `resultMaxSize`. \",\"params\":{\"gasPrice\":\"Expected gas price to pay upon posting the data request.\",\"radHash\":\"The hash of some Witnet Data Request previously posted in the WitOracleRadonRegistry registry.\"}},\"estimateBaseFee(uint256,uint16)\":{\"details\":\"Underestimates if the size of returned data is greater than `_resultMaxSize`. \",\"params\":{\"_gasPrice\":\"Expected gas price to pay upon posting the data request.\"}},\"estimateBaseFeeWithCallback(uint256,uint24)\":{\"params\":{\"_evmCallbackGasLimit\":\"Maximum gas to be spent when reporting the data request result.\",\"_evmGasPrice\":\"Expected gas price to pay upon posting the data request.\"}},\"estimateExtraFee(uint256,uint256,(uint16,uint16,uint64))\":{\"details\":\"The extra fee gets calculated in proportion to:\",\"params\":{\"_evmGasPrice\":\"Tentative EVM gas price at the moment the query result is ready.\",\"_evmWitPrice\":\"Tentative nanoWit price in Wei at the moment the query is solved on the Wit/Oracle blockchain.\",\"_querySLA\":\"The query SLA data security parameters as required for the Wit/Oracle blockchain. \"}},\"extractRadonBytecodes(uint64[])\":{\"details\":\"Returns empty buffer if the query does not exist.\",\"params\":{\"_queryIds\":\"Query identifies.\"}},\"getQueryRequest(uint64)\":{\"params\":{\"_queryId\":\"The unique query identifier.\"}},\"getQueryResponse(uint64)\":{\"details\":\"Fails if the `_queryId` is not in 'Reported' status.\",\"params\":{\"_queryId\":\"The unique query identifier\"}},\"initialize(bytes)\":{\"details\":\"Must fail when trying to upgrade to same logic contract more than once.\"},\"isReporter(address)\":{\"params\":{\"_queryResponseReporter\":\"The address to be checked.\"}},\"isUpgradable()\":{\"details\":\"Determines whether the logic of this contract is potentially upgradable.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"pendingOwner()\":{\"details\":\"Returns the address of the pending owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"reportResult(uint64,bytes32,bytes)\":{\"details\":\"Will assume `block.timestamp` as the timestamp at which the request was solved.Fails if:- the `_queryId` is not in 'Posted' status.- provided `_witDrTxHash` is zero;- length of provided `_result` is zero.\",\"params\":{\"_queryId\":\"The unique identifier of the data request.\",\"_resultCborBytes\":\"The result itself as bytes.\",\"_witDrTxHash\":\"Hash of the commit/reveal witnessing act that took place in the Witnet blockahin.\"}},\"reportResult(uint64,uint64,bytes32,bytes)\":{\"details\":\"Fails if:- called from unauthorized address;- the `_queryId` is not in 'Posted' status.- provided `_witDrTxHash` is zero;- length of provided `_resultCborBytes` is zero.\",\"params\":{\"_queryId\":\"The unique query identifier\",\"_resultCborBytes\":\"The result itself as bytes.\",\"_resultTimestamp\":\"Timestamp at which the reported value was captured by the Witnet blockchain. \",\"_witDrTxHash\":\"Hash of the commit/reveal witnessing act that took place in the Witnet blockahin.\"}},\"reportResultBatch((uint64,uint64,bytes32,bytes)[])\":{\"details\":\"Fails only if called from unauthorized address.\",\"params\":{\"_batchResults\":\"Array of BatchResult structs, every one containing:         - unique query identifier;         - timestamp of the solving tally txs in Witnet. If zero is provided, EVM-timestamp will be used instead;         - hash of the corresponding data request tx at the Witnet side-chain level;         - data request result in raw bytes.\"}},\"setReporters(address[])\":{\"details\":\"Can only be called from the owner address.Emits the `ReportersSet` event. \",\"params\":{\"_queryResponseReporters\":\"List of addresses to be added to the active reporters control list.\"}},\"transferOwnership(address)\":{\"details\":\"Starts the ownership transfer of the contract to a new account. Replaces the pending transfer if there is one. Can only be called by the current owner.\"},\"unsetReporters(address[])\":{\"details\":\"Can only be called from the owner address.Emits the `ReportersUnset` event. \",\"params\":{\"_exReporters\":\"List of addresses to be added to the active reporters control list.\"}},\"upgradeQueryEvmReward(uint256)\":{\"details\":\"Fails if the `_queryId` is not in 'Posted' status.\",\"params\":{\"_queryId\":\"The unique query identifier.\"}}},\"title\":\"Queriable WitOracle \\\"trustable\\\" base implementation.\",\"version\":1},\"userdoc\":{\"events\":{\"Upgraded(address,address,bytes32,string)\":{\"notice\":\"Emitted every time the contract gets upgraded.\"},\"WitOracleQuery(address,uint256,uint256,uint64,bytes32,(uint16,uint16,uint64))\":{\"notice\":\"Emitted every time a new query containing some verified data request is posted to the WitOracle.\"},\"WitOracleQueryReport(uint64,uint256)\":{\"notice\":\"Emitted when a query with no callback gets reported into the WRB.\"},\"WitOracleQueryReportDelivery(uint64,address,uint256,uint256)\":{\"notice\":\"Emitted when a query with a callback gets successfully reported into the WRB.\"},\"WitOracleQueryUpgrade(uint64,address,uint256,uint256)\":{\"notice\":\"Emitted when the reward of some not-yet reported query gets upgraded.\"},\"WitOracleResportDeliveryFailed(uint64,address,uint256,uint256,string,bytes)\":{\"notice\":\"Emitted when a query with a callback cannot get reported into the WRB.\"}},\"kind\":\"user\",\"methods\":{\"channel()\":{\"notice\":\"Uniquely identifies the WitOracle instance and the chain on which it's deployed.\"},\"class()\":{\"notice\":\"Returns the name of the actual contract implementing the logic of this Witnet appliance.\"},\"deleteQuery(uint256)\":{\"notice\":\"Removes all query data from storage. Pays back reward on expired queries.\"},\"estimateBaseFee(uint256)\":{\"notice\":\"Estimate the minimum reward required for posting a data request.\"},\"estimateBaseFee(uint256,bytes32)\":{\"notice\":\"Estimate the minimum reward required for posting a data request.\"},\"estimateBaseFee(uint256,uint16)\":{\"notice\":\"Estimate the minimum reward required for posting a data request.\"},\"estimateBaseFeeWithCallback(uint256,uint24)\":{\"notice\":\"Estimate the minimum reward required for posting a data request with a callback.\"},\"estimateExtraFee(uint256,uint256,(uint16,uint16,uint64))\":{\"notice\":\"Estimate the extra reward (i.e. over the base fee) to be paid when posting a newdata query in order to avoid getting provable \\\"too low incentives\\\" results fromthe Wit/Oracle blockchain. \"},\"estimateReportEarnings(uint256[],bytes,uint256,uint256)\":{\"notice\":\"Estimates the actual earnings (or loss), in WEI, that a reporter would get by reporting result to given query,based on the gas price of the calling transaction. Data requesters should consider upgrading the reward on queries providing no actual earnings.\"},\"extractRadonBytecodes(uint64[])\":{\"notice\":\"Retrieves the Witnet Data Request bytecodes of previously posted queries.\"},\"getNextQueryId()\":{\"notice\":\"Returns next query id to be generated by the Witnet Request Board.\"},\"getQuery(uint64)\":{\"notice\":\"Gets the whole Query data contents, if any, no matter its current status.\"},\"getQueryEvmReward(uint256)\":{\"notice\":\"Gets the current EVM reward the report can claim, if not done yet.\"},\"getQueryRequest(uint64)\":{\"notice\":\"Retrieves the RAD hash and SLA parameters of the given query.\"},\"getQueryResponse(uint64)\":{\"notice\":\"Retrieves the Witnet-provable result, and metadata, to a previously posted request.    \"},\"getQueryResultTrails(uint256)\":{\"notice\":\"Gets query's result back tracing trails\"},\"getQueryStatus(uint256)\":{\"notice\":\"Gets current status of given query.\"},\"initialize(bytes)\":{\"notice\":\"Re-initialize contract's storage context upon a new upgrade from a proxy.\"},\"isReporter(address)\":{\"notice\":\"Tells whether given address is included in the active reporters control list.\"},\"isUpgradableFrom(address)\":{\"notice\":\"Tells whether provided address could eventually upgrade the contract.\"},\"registry()\":{\"notice\":\"Returns the WitOracleRadonRegistry in which Witnet-compliant Radon requestscan be formally verified and forever registered as a away to let smart contracts and users to track actual data sources and offchain computations applied on data updates safely reported from the Wit/Oracle blockchain. \"},\"reportResult(uint64,bytes32,bytes)\":{\"notice\":\"Reports the Witnet-provable result to a previously posted request. \"},\"reportResult(uint64,uint64,bytes32,bytes)\":{\"notice\":\"Reports the Witnet-provable result to a previously posted request.\"},\"reportResultBatch((uint64,uint64,bytes32,bytes)[])\":{\"notice\":\"Reports Witnet-provided results to multiple requests within a single EVM tx.Emits either a WitOracleQueryReport* or a BatchReportError event per batched report.\"},\"setReporters(address[])\":{\"notice\":\"Adds given addresses to the active reporters control list.\"},\"specs()\":{\"notice\":\"Returns the ERC-165 id of the minimal functionality expected for this appliance.\"},\"unsetReporters(address[])\":{\"notice\":\"Removes given addresses from the active reporters control list.\"},\"upgradeQueryEvmReward(uint256)\":{\"notice\":\"Increments the reward of a previously posted request by adding the transaction value to it.\"},\"version()\":{\"notice\":\"Retrieves human-readable version tag of current implementation.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/core/base/WitOracleBaseQueriableTrustable.sol\":\"WitOracleBaseQueriableTrustable\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"@openzeppelin/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0x11a5a79827df29e915a12740caf62fe21ebe27c08c9ae3e09abe9ee3ba3866d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cf0c69ab827e3251db9ee6a50647d62c90ba580a4d7bbff21f2bea39e7b2f4a\",\"dweb:/ipfs/QmZiKwtKU1SBX4RGfQtY7PZfiapbbu6SZ9vizGQD9UHjRA\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0x2d9dc2fe26180f74c11c13663647d38e259e45f95eb88f57b61d2160b0109d3e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://81233d1f98060113d9922180bb0f14f8335856fe9f339134b09335e9f678c377\",\"dweb:/ipfs/QmWh6R35SarhAn4z2wH8SU456jJSYL2FgucfTFgbHJJN4E\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"project:/contracts/WitOracle.sol\":{\"keccak256\":\"0x7f20eab15140df459753dfa8e406b826918b56ebe2c46456f9d04345c02629d1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e0573ce3d48200c71d8235a1a8c055b706420b2037bd21336f3c61713c3b8349\",\"dweb:/ipfs/QmY7BnVaNXFtJs1BFdeaa7dQfvUVoZyfwtv9HuToCxUUHU\"]},\"project:/contracts/WitOraclePushOnly.sol\":{\"keccak256\":\"0x659b4746c5a773b554b7a94bea3f55a995a8f850d750108302a8face9d1c833c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://291c6b4cd5c0f223ee63cc8cee2e228f47e1344a935eb89b6ef8f993eb5ce18e\",\"dweb:/ipfs/QmeKNLaVURv4N5jz5z67WQ4wyUUucqMaYLZQ2NnuuNyyPS\"]},\"project:/contracts/WitOracleRadonRegistry.sol\":{\"keccak256\":\"0xc9bd0ab02e13b36fe4072868ae978a230c5132a702d6594f11270ec5e7926e09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8321305b131abec96c492302163d95f8777106f74a0d42f5f50fdf60d2b3a381\",\"dweb:/ipfs/QmRx7FGWPkC41afPuJpBTDQ85wjH95Dbi3qAxVNfNZUsWe\"]},\"project:/contracts/core/WitnetProxy.sol\":{\"keccak256\":\"0x6f0ec2c544192c9439bde88f5ed4efec5bdef506cb0dcb739c29329a798033fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca05338334632aab3aef3c17a4b8686251ec488da49b9fcd3712642e57e0ce2a\",\"dweb:/ipfs/QmZk1uDdytKFii4TXUnJkFBBB3CZVSPKKR85ugFjWUTufS\"]},\"project:/contracts/core/WitnetUpgradableBase.sol\":{\"keccak256\":\"0x4cea0415b77897e151454ce87c1e20b7dc9f232de72b54a6740c90e076f7e1b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e0b803611c3a863ac5806b16e7d2a48b0e062fece262c750d121b5e9e17eb082\",\"dweb:/ipfs/QmVhFt1TkbkZ48jLsN5LgnpzpTdoMbfqGyMSJxjaEqisht\"]},\"project:/contracts/core/base/WitOracleBasePushOnly.sol\":{\"keccak256\":\"0xdf4be00f732674d6a1a83fbb5801571690623a17b7388613af3a3debadf9ce2d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d9b4b8a611ed9186249e30fcaeecc1d7bbda50338e794d5b65865f885f20ec6e\",\"dweb:/ipfs/Qme8xqsdQqdyDuy1DYijquG6LGJHqRzyruZ1MR6hPJCxmY\"]},\"project:/contracts/core/base/WitOracleBaseQueriable.sol\":{\"keccak256\":\"0xed332c1131be86c1b97223e0488488f7091fe84f21b88fd2724cb7c0d91397ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c8c48b617f0696470db8914a6c8627fc6c85ef09794e2d13accbbe73399442bb\",\"dweb:/ipfs/QmVG1wvboCBWGw2Q2Lr7yqTmBNwzspyD3mTMYkZm57WY31\"]},\"project:/contracts/core/base/WitOracleBaseQueriableTrustable.sol\":{\"keccak256\":\"0x16940ffb1a139c2f223ea78c86769a565956116bc6e941d824621f7b2ab0ae91\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c671c1ed610c1d2be08c8d7547f73a6684f17221625a06821fa7652bf4f6b727\",\"dweb:/ipfs/QmUD2v1zin5hYTVg97eszTMBjo1KaPWK4kmS7eA5cQtjZU\"]},\"project:/contracts/data/WitOracleDataLib.sol\":{\"keccak256\":\"0x879c513c3cac839300e954d5ffe61c14eaec3052b39898ec2402068169fddd55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63f58f4aa26e2a174fb5cee2fd9c06a10c337e6766b804e38bb4bbb3c3d4682d\",\"dweb:/ipfs/QmTjS8hws4VAd3S8dpNmX3zyV7oCF7xJ7AZTRJwrmbhSmi\"]},\"project:/contracts/interfaces/IWitAppliance.sol\":{\"keccak256\":\"0xd207ca54a1049445a3d99eea497d9b34c6dbdd44d771eee825e4c031bd2f447e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f81de32d868ff2881ed6fe97cc897e40b4b11d23cbe53a0e23cf3e68f9c0f0a3\",\"dweb:/ipfs/QmeeXmzmK5MAzt7Hf5DB2L81efKtTzZg9VbQ8sUiTqEk5c\"]},\"project:/contracts/interfaces/IWitOracle.sol\":{\"keccak256\":\"0x26cbe2074c0b3f545a46d95fad5e2280b67edcd958e4ae0b88f3a018aa11b805\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5324bac61f65e3edb01c88b9b75ca17affd593be88da5753a93b3f5304d3f479\",\"dweb:/ipfs/QmcVmNV6smbFiPaxvuN8ShkqbDZsT1wfjnF7f3qs6ke7QG\"]},\"project:/contracts/interfaces/IWitOracleAppliance.sol\":{\"keccak256\":\"0xcd8e57eca7f8042c85a83264e2ff6d1cd7a9f1521831736d7f57bcc7800642e6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c639668e9439d60770b5df77436088ae7bd0aeb1d1be446552a98b6c29138f0\",\"dweb:/ipfs/QmbN3f5YuKMSd2j9tjay3VEkiYibGWpbfbwRNyrxA8k4o4\"]},\"project:/contracts/interfaces/IWitOracleQueriable.sol\":{\"keccak256\":\"0xdb0da1e377a35a7d620f43cb583a876750a52d91da2b888f48042483ad9c4910\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://edfcdf3e96ec3c5de7438f82e3d5a1dc9af9eb29080044213dccb26ff978354c\",\"dweb:/ipfs/Qmap2FzSysh2fug88eortbsTM7itFygRzKc9HfV43ePMik\"]},\"project:/contracts/interfaces/IWitOracleQueriableConsumer.sol\":{\"keccak256\":\"0xe8143d2387d674022f453b57652998f53cbe4c21fe35e59421428142355c8ebf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e6c3e3d3e7168a3fb75b1eca23d078d5240e5b02dac8a449d1ddf79256a34d8\",\"dweb:/ipfs/QmbGk4tQzTogTBVYiT8t3Gqtk6qDs5nyp9Z53GryTjKAm5\"]},\"project:/contracts/interfaces/IWitOracleQueriableEvents.sol\":{\"keccak256\":\"0x47c283e931006d35bd2599524f86724e45eae6fad2fdd9cdecd1c85a90ff3f8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3ad0520f99ec9298536ae9434f58caeb470c10dd3eaab1e4c7ed4cae9a97e2a2\",\"dweb:/ipfs/QmSuYCsSPweZfQc5Fbf9jYDdx4u7gwYCUdjhpcrrxmWZy6\"]},\"project:/contracts/interfaces/IWitOracleQueriableExperimental.sol\":{\"keccak256\":\"0x57c0007d813ed3e6dd3e0bb128e6ca7a0324214962823c6456e2e37d78ab4070\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b5edc498ccc728327f1f3c80d2decd7ca64920a3aee4faaba08dd354f1256b66\",\"dweb:/ipfs/QmdEJWUtQqTVdFLCiNKUPSe3NwXzuHmG6XzA1VbHHHgdPy\"]},\"project:/contracts/interfaces/IWitOracleQueriableTrustableReporter.sol\":{\"keccak256\":\"0x043a719845d75dccc3c7c046fdd214bb252ab2b85400fbd139ed5cea9469becc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b1be7cbf990ff4d383b1c0695626af794442f9a48f02e13435793c4316ff011\",\"dweb:/ipfs/QmX3Lq17FMsN2T9K4fAYg6CRTYjwHd6hT1XKjEA2T7QeM5\"]},\"project:/contracts/interfaces/IWitOracleRadonRegistry.sol\":{\"keccak256\":\"0x437bbb89129311bd1cc8f6becd333df46109ec53b24d3159be942b225614071f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef9bcdf4a73cb126885478c994821b7fe2b87d9221b767b4c9342b89b0d6550a\",\"dweb:/ipfs/QmXzZXPMxjSiFpcEnhg6CjLFNxGCpDZt22xpUh7VHxNTGd\"]},\"project:/contracts/interfaces/IWitOracleRadonRegistryEvents.sol\":{\"keccak256\":\"0x9bd30477aeb33de11c4f1df3cd7451452a90ffed1f6eabd9e643046bf1e60d66\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18fb38c5528ed2e1bf90ff8d123bf5a9523d0dc49f448d6c39ddad1cd9048d0a\",\"dweb:/ipfs/QmQq1RUwFgnGTk3xDAmN6u2WMPBzvjZNJc7TPYtG6aZfRn\"]},\"project:/contracts/interfaces/IWitOracleTrustableAdmin.sol\":{\"keccak256\":\"0x94b69b5a460d1407746ac70d32a0c5d4fca564b16cbd1940b822dd0ecb5336e9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a773b9d963647a5591b95c8fb359efd461dc494d1e3a1754cc83343310e07605\",\"dweb:/ipfs/QmU77Zre43r5sVj4DK2FjTda31zWgNDr9sGPug1dRv4ih6\"]},\"project:/contracts/interfaces/legacy/IWitOracleLegacy.sol\":{\"keccak256\":\"0xd2929c9aa5a02d261d6d1a068a6b7231ae58d8f81f081ba89f2d3267a31fbbb5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://956b26323a02cf400c32012586954fc5dbc98b4d5b7a8b0533401cbda8619059\",\"dweb:/ipfs/QmSWdCRwL5t3atFM8osdaohLTqEEmY1FbnR6xrRCmw1GDM\"]},\"project:/contracts/interfaces/legacy/IWitOracleRequest.sol\":{\"keccak256\":\"0x0fb3f0ba03f4f7a0214ecb36df26525564cf51a8a2176cba92c185af8a1d419e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://340b7bdb92c3259519fe120eb3061b393e7a5e9c1b576a2fe4eab020af466b64\",\"dweb:/ipfs/QmRt4wMX9WdxFwfdFMUZ3zKMAW1grS7qLk1x1PDMJdEAVU\"]},\"project:/contracts/interfaces/legacy/IWitOracleRequestTemplate.sol\":{\"keccak256\":\"0x9e065ef5880c64eefff5fcfb1347fde6684e0e311f8c2350a6aefdbd1f8b0f22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://817de760c7cce9d00dcd4312aea6434d88abddf1c0e68ea7e8fb1e6c5165a445\",\"dweb:/ipfs/QmUNmtn85nFXbje2nRJQY2h65KJCVinDMMU6P2jQmo1Nij\"]},\"project:/contracts/libs/Bech32.sol\":{\"keccak256\":\"0x14618323a0efe7586c20906a2e9cee7ad63baa976ff231c57f7f2d7d3707fb8b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a19f05fe84047a7a6d3d6fc39972b432e6e536aa70472386a9d7a6d9aab64a64\",\"dweb:/ipfs/QmcHwUY66yjiotRH4Q3kbRvSzcHyLQ1yHL3KbtQKiMhtZE\"]},\"project:/contracts/libs/Secp256k1.sol\":{\"keccak256\":\"0xbe686002da5004ff39dd70709f3820eba2afe9323ae9cb894009c161e4b1a666\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18fab91775216de0707cea9ad285b10be09127461a13432fea358bf9cb2a0c2e\",\"dweb:/ipfs/QmeRUGsgstnM4hxM9hpkBf3L6cE5btirEaowcMxmuw3utj\"]},\"project:/contracts/libs/WitOracleResultStatusLib.sol\":{\"keccak256\":\"0x9ea0a1a68498957ee7baaae50e078ee845dacd031f129b0a3cbf40cd413f3efb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0836f04c9ed07cb90b54b07b38eb95fba769be0d921e687fe1184d6570ff34e8\",\"dweb:/ipfs/QmPv9g3KGobVdr5bsCv5715V97DmEdTqzz9mhbEZjugqgC\"]},\"project:/contracts/libs/Witnet.sol\":{\"keccak256\":\"0x1d446c3e534e40e676d1763bfb2897fadfac8afed904ab757843d7d6770b0a6c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://338fb1073f17d64e8d31bfe492d9475ce906788ee08e6489ce30413f91dc1328\",\"dweb:/ipfs/QmPe5QX2AGTnQFjse1Xttq4ZYWwYAiXoySb5VUui3PqPhk\"]},\"project:/contracts/libs/WitnetBuffer.sol\":{\"keccak256\":\"0x8e07aebe2954ab3e6f2d8eceedb12db7cf915c1f3e8630f4fa9999cecb1c78ec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed6c54cc901183d61546e8fd15bd5ea8ef238ebc915642946071d435dd7481ea\",\"dweb:/ipfs/Qmcaqta7YjUSBbBUGqoh44bsCS6UqqoyHjBuz4qnKBShXM\"]},\"project:/contracts/libs/WitnetCBOR.sol\":{\"keccak256\":\"0xd99308373575cc10fb7f2ceb0f6a8625f3911275c1fa27811fae498d98d03d97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4909a999d7b660a2dc54ca957b6eccfa523e2765fc4d6a2574dee7d5cd67b43\",\"dweb:/ipfs/QmWGQT4KDcfSFe1hcHVoWx6E4PhYMaod5iLpJCWBEeShzh\"]},\"project:/contracts/patterns/Initializable.sol\":{\"keccak256\":\"0xaac470e87f361cf15d68d1618d6eb7d4913885d33ccc39c797841a9591d44296\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef3760b2039feda8715d4bd9f8de8e3885f25573d12ba92f52d626ba880a08bf\",\"dweb:/ipfs/QmP2mfHPBKkjTAKft95sPDb4PBsjfmAwc47Kdcv3xYSf3g\"]},\"project:/contracts/patterns/Ownable.sol\":{\"keccak256\":\"0x494bda32f9a218d9c33ea82112129c0933ab52f57eabfbf0d14a8742a3370800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c4cf04ebb052fed9d15cf93ff4523955ee311aa4425ee85f0e80b4489c94e76\",\"dweb:/ipfs/QmfMf4WD7woTaQSTbJxxoan2aXSeY7ovY5NoipSBw5rMPK\"]},\"project:/contracts/patterns/Ownable2Step.sol\":{\"keccak256\":\"0x45ed9d1f98e2a7a5bd1a7040dbd4292f1458fa1cb212d0143718684efa436bd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45d347c5ef492b33dcf3953bb3911fe7160a6c812e69ed84d2511f0847e19229\",\"dweb:/ipfs/QmZp3icE2gQBoJp8KorWC1GfGC8mK29sK9fEveKRMNCY1U\"]},\"project:/contracts/patterns/Payable.sol\":{\"keccak256\":\"0x29ce79b9329cc854ddb0ee546e5a17f3cedafa91c7d614f43e8d6537680b1734\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00d5ce85f66c3c32b8b69bfed2f07f40d14ac72c2f67d2de6601de0be16b5af1\",\"dweb:/ipfs/QmZogwLRBjFUJVSzR8YuMfo3mKg8WvYVbn2QvWXsCVP92V\"]},\"project:/contracts/patterns/Proxiable.sol\":{\"keccak256\":\"0x86032205378fed9ed2bf155eed8ce4bdbb13b7f5960850c6d50954a38b61a3d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f89978eda4244a13f42a6092a94ac829bb3e38c92d77d4978b9f32894b187a63\",\"dweb:/ipfs/Qmbc1XaFCvLm3Sxvh7tP29Ug32jBGy3avsCqBGAptxs765\"]},\"project:/contracts/patterns/ReentrancyGuard.sol\":{\"keccak256\":\"0x1470caf4bd78b79f706e28a8a85c95a6e13ec33eda04275e5da84464130831e6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c974fb4dc29718a84f9ab5fa3f8c25c7f889050a38445e16c3ead5ff9d4b4bab\",\"dweb:/ipfs/QmbuGjkSjngbTZMRPijL9p56fP9cK5jMnWsFmvYAQj3qAY\"]},\"project:/contracts/patterns/Upgradeable.sol\":{\"keccak256\":\"0x49d1a83abc7a9b39d224677dde65ead4b7f1104332a94c9e619854b2a6b3a89e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e6a798a953af921a5b4e24e3f78bebae97819a85c90deb12ec505952faa42814\",\"dweb:/ipfs/QmVJhv4x3MXf4aDbMC5Q259K8kZNvxSXzmy8anoow7nS7k\"]}},\"version\":1}",
  "bytecode": "0x",
  "deployedBytecode": "0x",
  "immutableReferences": {},
  "generatedSources": [],
  "deployedGeneratedSources": [],
  "sourceMap": "",
  "deployedSourceMap": "",
  "source": "// SPDX-License-Identifier: MIT\r\n\r\npragma solidity >=0.8.0 <0.9.0;\r\n\r\nimport \"./WitOracleBaseQueriable.sol\";\r\nimport \"../WitnetUpgradableBase.sol\";\r\nimport \"../../interfaces/IWitOracleTrustableAdmin.sol\";\r\nimport \"../../interfaces/IWitOracleQueriable.sol\";\r\nimport \"../../interfaces/IWitOracleQueriableTrustableReporter.sol\";\r\nimport \"../../interfaces/legacy/IWitOracleLegacy.sol\";\r\n\r\n/// @title Queriable WitOracle \"trustable\" base implementation.\r\n/// @author The Witnet Foundation\r\nabstract contract WitOracleBaseQueriableTrustable\r\n    is\r\n        WitnetUpgradableBase,\r\n        WitOracleBaseQueriable,\r\n        IWitOracleTrustableAdmin,\r\n        IWitOracleLegacy,\r\n        IWitOracleQueriableTrustableReporter\r\n{\r\n    using Witnet for Witnet.DataPushReport;\r\n    using Witnet for Witnet.QuerySLA;\r\n    using Witnet for Witnet.Timestamp;\r\n\r\n    /// Asserts the caller is authorized as a reporter\r\n    modifier onlyReporters virtual {\r\n        _require(\r\n            WitOracleDataLib.data().reporters[msg.sender],\r\n            \"unauthorized reporter\"\r\n        ); _;\r\n    }\r\n\r\n    constructor(bytes32 _versionTag)\r\n        Ownable(msg.sender)\r\n        Payable(address(0))\r\n        WitnetUpgradableBase(\r\n            true, \r\n            _versionTag,\r\n            \"io.witnet.proxiable.board\"\r\n        )\r\n    {} \r\n\r\n\r\n    // ================================================================================================================\r\n    // --- Upgradeable ------------------------------------------------------------------------------------------------\r\n\r\n    /// @notice Re-initialize contract's storage context upon a new upgrade from a proxy.\r\n    function __initializeUpgradableData(bytes memory _initData) virtual override internal {\r\n        WitOracleDataLib.setReporters(abi.decode(_initData, (address[])));\r\n    }\r\n\r\n\r\n    // ================================================================================================================\r\n    // --- IWitOracle -------------------------------------------------------------------------------------------------\r\n\r\n    function parseDataReport(Witnet.DataPushReport calldata _report, bytes calldata _signature)\r\n        virtual override public view\r\n        returns (Witnet.DataResult memory _result)\r\n    {\r\n        (, _result) = WitOracleDataLib.parseDataReport(_report, _signature);\r\n    }\r\n\r\n    function pushDataReport(Witnet.DataPushReport calldata _report, bytes calldata _signature)\r\n        virtual override external\r\n        returns (Witnet.DataResult memory)\r\n    {\r\n        (address _evmSigner, Witnet.DataResult memory _result) = WitOracleDataLib.parseDataReport(_report, _signature);\r\n        emit WitOracleReport(\r\n            tx.origin, \r\n            msg.sender, \r\n            _evmSigner, \r\n            _report.witDrTxHash,\r\n            _report.queryRadHash,\r\n            _report.queryParams,\r\n            _report.resultTimestamp,\r\n            _report.resultCborBytes\r\n        );\r\n        return _result;\r\n    }\r\n\r\n\r\n    // ================================================================================================================\r\n    // --- IWitOracleQueriable ----------------------------------------------------------------------------------------\r\n\r\n    /// @notice Removes all query data from storage. Pays back reward on expired queries.\r\n    /// @dev Fails if the query is not in a final status, or not called from the actual requester.\r\n    function deleteQuery(uint256 _queryId)\r\n        virtual override public\r\n        returns (Witnet.QueryEvmReward)\r\n    {\r\n        try WitOracleDataLib.deleteQuery(\r\n            _queryId\r\n        \r\n        ) returns (\r\n            Witnet.QueryEvmReward _queryReward\r\n        ) {\r\n            uint256 _evmPayback = Witnet.QueryEvmReward.unwrap(_queryReward);\r\n            if (_evmPayback > 0) {\r\n                // transfer unused reward to requester, only if the query expired:\r\n                __safeTransferTo(\r\n                    payable(msg.sender),\r\n                    _evmPayback\r\n                );\r\n            }\r\n            return _queryReward;\r\n        \r\n        } catch Error(string memory _reason) {\r\n            _revert(_reason);\r\n\r\n        } catch (bytes memory) {\r\n            _revertUnhandledException();\r\n        }\r\n    }\r\n\r\n    /// Gets current status of given query.\r\n    function getQueryStatus(uint256 _queryId) \r\n        virtual override\r\n        public view\r\n        returns (Witnet.QueryStatus)\r\n    {\r\n        return WitOracleDataLib.getQueryStatus(_queryId);\r\n    }\r\n\r\n\r\n    // ================================================================================================================\r\n    // --- Implements IWitOracleTrustableAdmin -----------------------------------------------------------------------------\r\n\r\n    /// Tells whether given address is included in the active reporters control list.\r\n    /// @param _queryResponseReporter The address to be checked.\r\n    function isReporter(address _queryResponseReporter) virtual override public view returns (bool) {\r\n        return WitOracleDataLib.isReporter(_queryResponseReporter);\r\n    }\r\n\r\n    /// Adds given addresses to the active reporters control list.\r\n    /// @dev Can only be called from the owner address.\r\n    /// @dev Emits the `ReportersSet` event. \r\n    /// @param _queryResponseReporters List of addresses to be added to the active reporters control list.\r\n    function setReporters(address[] calldata _queryResponseReporters)\r\n        virtual override public\r\n        onlyOwner\r\n    {\r\n        WitOracleDataLib.setReporters(_queryResponseReporters);\r\n    }\r\n\r\n    /// Removes given addresses from the active reporters control list.\r\n    /// @dev Can only be called from the owner address.\r\n    /// @dev Emits the `ReportersUnset` event. \r\n    /// @param _exReporters List of addresses to be added to the active reporters control list.\r\n    function unsetReporters(address[] calldata _exReporters)\r\n        virtual override public\r\n        onlyOwner\r\n    {\r\n        WitOracleDataLib.unsetReporters(_exReporters);\r\n    }\r\n\r\n\r\n    /// ===============================================================================================================\r\n    /// --- IWitOracleLegacy ------------------------------------------------------------------------------------------\r\n\r\n    /// @notice Estimate the minimum reward required for posting a data request.\r\n    /// @dev Underestimates if the size of returned data is greater than `_resultMaxSize`. \r\n    /// @param _gasPrice Expected gas price to pay upon posting the data request.\r\n    function estimateBaseFee(uint256 _gasPrice, uint16)\r\n        public view\r\n        virtual override\r\n        returns (uint256)\r\n    {\r\n        return estimateBaseFee(_gasPrice);\r\n    }\r\n\r\n    /// @notice Estimate the minimum reward required for posting a data request.\r\n    /// @dev Underestimates if the size of returned data is greater than `resultMaxSize`. \r\n    /// @param gasPrice Expected gas price to pay upon posting the data request.\r\n    /// @param radHash The hash of some Witnet Data Request previously posted in the WitOracleRadonRegistry registry.\r\n    function estimateBaseFee(uint256 gasPrice, bytes32 radHash)\r\n        public view\r\n        virtual override\r\n        returns (uint256)\r\n    {\r\n        // Check this rad hash is actually verified:\r\n        _require(\r\n            registry.isVerifiedRadonRequest(Witnet.RadonHash.wrap(radHash)),\r\n            \"unknown radon hash\"\r\n        );\r\n\r\n        // Base fee is actually invariant to max result size:\r\n        return estimateBaseFee(gasPrice);\r\n    }\r\n\r\n    function extractWitnetDataRequests(uint256[] calldata queryIds) external view returns (bytes[] memory) {\r\n        Witnet.QueryId[] memory _ids = new Witnet.QueryId[](queryIds.length);\r\n        for (uint _ix; _ix < _ids.length; _ix ++) {\r\n            _ids[_ix] = Witnet.QueryId.wrap(uint64(queryIds[_ix]));\r\n        }\r\n        return extractRadonBytecodes(_ids);\r\n    }\r\n\r\n    function fetchQueryResponse(uint256 queryId) virtual override external returns (bytes memory) {\r\n        deleteQuery(queryId);\r\n        return hex\"\";\r\n    }\r\n\r\n    function getQuery(uint256 queryId) \r\n        virtual override \r\n        external view \r\n        returns (IWitOracleLegacy.Query memory)\r\n    {\r\n        return IWitOracleLegacy.Query({\r\n            request: getQueryRequest(queryId),\r\n            response: getQueryResponse(queryId)\r\n        });\r\n    }\r\n\r\n    function getQueryRequest(uint256 queryId)\r\n        virtual override\r\n        public view\r\n        returns (IWitOracleLegacy.QueryRequest memory)\r\n    {\r\n        WitOracleDataLib.Query storage __query = __storage().queries[queryId];\r\n        if (__query.request.radonBytecode.length > 65535) {\r\n            // read from v1 layout\r\n            return IWitOracleLegacy.QueryRequest({\r\n                requester: address(0),\r\n                callbackGas: 0,\r\n                evmReward: 0,\r\n                radonBytecode: hex\"\",\r\n                radonHash: __query.request.radonHash,\r\n                radonParams: IWitOracleLegacy.RadonSLA({\r\n                    numWitnesses: 0,\r\n                    witnessReward: 0\r\n                })\r\n            });\r\n\r\n        } else if (__query.request._1 > 0) {\r\n            // read from v2 layout\r\n            return IWitOracleLegacy.QueryRequest({\r\n                requester: __query.request.requester,\r\n                callbackGas: __query.request.callbackGas,\r\n                evmReward: __query.request._0,\r\n                radonBytecode: __query.request.radonBytecode,\r\n                radonHash: __query.request.radonHash,\r\n                radonParams: IWitOracleLegacy.RadonSLA({\r\n                    numWitnesses: uint8(__query.slaParams.witCommitteeSize),\r\n                    witnessReward: __query.slaParams.witUnitaryReward\r\n                })\r\n            });\r\n        } else {\r\n            // read from v3 layout\r\n            return IWitOracleLegacy.QueryRequest({\r\n                requester: __query.request.requester,\r\n                callbackGas: __query.request.callbackGas,\r\n                evmReward: Witnet.QueryEvmReward.unwrap(__query.reward),\r\n                radonBytecode: __query.request.radonBytecode,\r\n                radonHash: __query.request.radonHash,\r\n                radonParams: IWitOracleLegacy.RadonSLA({\r\n                    numWitnesses: uint8(__query.slaParams.witCommitteeSize),\r\n                    witnessReward: __query.slaParams.witUnitaryReward\r\n                })\r\n            });\r\n        }\r\n    }\r\n\r\n    function getQueryResponse(uint256 queryId)\r\n        virtual override\r\n        public view\r\n        returns (IWitOracleLegacy.QueryResponse memory)\r\n    {\r\n        WitOracleDataLib.Query storage __query = __storage().queries[queryId];\r\n        if (__query.request.radonBytecode.length > 65535) {\r\n            // read from v1 layout\r\n            return IWitOracleLegacy.QueryResponse({\r\n                reporter: address(0),\r\n                finality: uint64(0),\r\n                timestamp: uint32(0),\r\n                trail: bytes32(0),\r\n                cborBytes: new bytes(0)\r\n            });\r\n\r\n        } else if (__query.request._1 > 0) {\r\n            // read from v2 layout\r\n            return IWitOracleLegacy.QueryResponse({\r\n                reporter: __query.response.reporter,\r\n                finality: uint64(__query.response._0),\r\n                timestamp: uint32(__query.response.resultTimestamp >> 32),\r\n                trail: __query.response.resultDrTxHash,\r\n                cborBytes: __query.response.resultCborBytes\r\n            });\r\n\r\n        } else {\r\n            // read from v3 layout\r\n            return IWitOracleLegacy.QueryResponse({\r\n                reporter: __query.response.reporter,\r\n                finality: Witnet.BlockNumber.unwrap(__query.checkpoint),\r\n                timestamp: uint32(__query.response.resultTimestamp),\r\n                trail: __query.response.resultDrTxHash,\r\n                cborBytes: __query.response.resultCborBytes\r\n            });\r\n        }\r\n    }\r\n\r\n    function getQueryResponseStatus(uint256 queryId) \r\n        virtual override \r\n        public view \r\n        returns (IWitOracleLegacy.QueryResponseStatus)\r\n    {\r\n        return WitOracleDataLib.getQueryResponseStatus(queryId);\r\n    }\r\n\r\n    function getQueryResultCborBytes(uint256 queryId) virtual override external view returns (bytes memory) {\r\n        return getQueryResponse(Witnet.QueryId.wrap(uint64(queryId))).resultCborBytes;\r\n    }\r\n\r\n    function getQueryResultError(uint256 queryId) virtual override external view returns (IWitOracleLegacy.ResultError memory) {\r\n        Witnet.DataResult memory _result = getQueryResult(queryId);\r\n        return IWitOracleLegacy.ResultError({\r\n            code: uint8(_result.status),\r\n            reason: WitOracleResultStatusLib.toString(abi.encode(_result))\r\n        });\r\n    }\r\n\r\n    function postRequest(\r\n            bytes32 _queryRadHash, \r\n            IWitOracleLegacy.RadonSLA calldata _querySLA\r\n        )\r\n        virtual override\r\n        external payable\r\n        returns (uint256)\r\n    {\r\n        return queryData(\r\n            Witnet.RadonHash.wrap(_queryRadHash),\r\n            Witnet.QuerySLA({\r\n                witResultMaxSize: 32,\r\n                witCommitteeSize: _querySLA.numWitnesses,\r\n                witUnitaryReward: _querySLA.witnessReward\r\n            })\r\n        );\r\n    }\r\n\r\n    function postRequestWithCallback(\r\n            bytes32 _queryRadHash,\r\n            IWitOracleLegacy.RadonSLA calldata _querySLA,\r\n            uint24 _queryCallbackGas\r\n        )\r\n        virtual override\r\n        external payable\r\n        returns (uint256)\r\n    {\r\n        return queryDataWithCallback(\r\n            Witnet.RadonHash.wrap(_queryRadHash),\r\n            Witnet.QuerySLA({\r\n                witResultMaxSize: 32,\r\n                witCommitteeSize: _querySLA.numWitnesses,\r\n                witUnitaryReward: _querySLA.witnessReward\r\n            }),\r\n            Witnet.QueryCallback({\r\n                consumer: msg.sender,\r\n                gasLimit: _queryCallbackGas\r\n            })\r\n        );\r\n    }\r\n\r\n    function reportResult(\r\n            uint256 queryId,\r\n            uint32 resultTimestamp,\r\n            bytes32 drTxHash,\r\n            bytes calldata resultCborBytes\r\n        )\r\n        external override\r\n        onlyReporters\r\n        returns (uint256)\r\n    {\r\n        return reportResult(\r\n            Witnet.QueryId.wrap(uint64(queryId)),\r\n            Witnet.Timestamp.wrap(resultTimestamp),\r\n            Witnet.TransactionHash.wrap(drTxHash),\r\n            resultCborBytes\r\n        );\r\n    }\r\n\r\n    function reportResult(\r\n            uint256 queryId,\r\n            bytes32 drTxHash,\r\n            bytes calldata resultCborBytes\r\n        )\r\n        external override\r\n        onlyReporters\r\n        returns (uint256)\r\n    {\r\n        return reportResult(\r\n            Witnet.QueryId.wrap(uint64(queryId)),\r\n            Witnet.TransactionHash.wrap(drTxHash),\r\n            resultCborBytes\r\n        );\r\n    }\r\n\r\n    function reportResultBatch(BatchResultLegacy[] calldata results)\r\n        external override\r\n        onlyReporters\r\n        returns (uint256 _batchReward)\r\n    {\r\n        IWitOracleQueriableTrustableReporter.BatchResult[] memory _results = new IWitOracleQueriableTrustableReporter.BatchResult[](results.length);\r\n        for (uint _ix = 0; _ix < results.length; _ix ++) {\r\n            _results[_ix] = BatchResult({\r\n                queryId: Witnet.QueryId.wrap(uint64(results[_ix].queryId)),\r\n                resultTimestamp: Witnet.Timestamp.wrap(results[_ix].resultTimestamp),\r\n                drTxHash: Witnet.TransactionHash.wrap(results[_ix].drTxHash),\r\n                resultCborBytes: results[_ix].resultCborBytes\r\n            });\r\n        }\r\n        return reportResultBatch(_results);\r\n    }\r\n\r\n\r\n\r\n    // =========================================================================================================================\r\n    // --- Implements IWitOracleQueriableTrustableReporter ------------------------------------------------------------------------------\r\n\r\n    /// @notice Estimates the actual earnings (or loss), in WEI, that a reporter would get by reporting result to given query,\r\n    /// @notice based on the gas price of the calling transaction. Data requesters should consider upgrading the reward on \r\n    /// @notice queries providing no actual earnings.\r\n    function estimateReportEarnings(\r\n            uint256[] calldata _queryIds, \r\n            bytes calldata,\r\n            uint256 _evmGasPrice,\r\n            uint256 _evmWitPrice\r\n        )\r\n        external view\r\n        virtual override\r\n        returns (uint256 _revenues, uint256 _expenses)\r\n    {\r\n        for (uint _ix = 0; _ix < _queryIds.length; _ix ++) {\r\n            uint256 _queryId = _queryIds[_ix];\r\n            if (\r\n                getQueryStatus(_queryId) == Witnet.QueryStatus.Posted\r\n            ) {\r\n                WitOracleDataLib.Query storage __query = WitOracleDataLib.seekQuery(_queryId);\r\n                if (__query.request.callbackGas > 0) {\r\n                    _expenses += (\r\n                        estimateBaseFeeWithCallback(_evmGasPrice, __query.request.callbackGas)\r\n                            + estimateExtraFee(_evmGasPrice, _evmWitPrice,\r\n                                Witnet.QuerySLA({\r\n                                    witResultMaxSize: uint16(0),\r\n                                    witCommitteeSize: __query.slaParams.witCommitteeSize,\r\n                                    witUnitaryReward: __query.slaParams.witUnitaryReward\r\n                                })\r\n                            )\r\n                    );\r\n                } else {\r\n                    _expenses += (\r\n                        estimateBaseFee(_evmGasPrice)\r\n                            + estimateExtraFee(_evmGasPrice, _evmWitPrice, __query.slaParams)\r\n                    );\r\n                }\r\n                _expenses +=  _evmWitPrice * __query.slaParams.witUnitaryReward;\r\n                _revenues += Witnet.QueryEvmReward.unwrap(__query.reward);\r\n            }\r\n        }\r\n    }\r\n\r\n    /// @notice Retrieves the Witnet Data Request bytecodes of previously posted queries.\r\n    /// @dev Returns empty buffer if the query does not exist.\r\n    /// @param _queryIds Query identifies.\r\n    function extractRadonBytecodes(Witnet.QueryId[] memory _queryIds)\r\n        public view \r\n        virtual override\r\n        returns (bytes[] memory _bytecodes)\r\n    {\r\n        return WitOracleDataLib.extractRadonBytecodes(registry, _queryIds);\r\n    }\r\n\r\n    /// Reports the Witnet-provable result to a previously posted request. \r\n    /// @dev Will assume `block.timestamp` as the timestamp at which the request was solved.\r\n    /// @dev Fails if:\r\n    /// @dev - the `_queryId` is not in 'Posted' status.\r\n    /// @dev - provided `_witDrTxHash` is zero;\r\n    /// @dev - length of provided `_result` is zero.\r\n    /// @param _queryId The unique identifier of the data request.\r\n    /// @param _witDrTxHash Hash of the commit/reveal witnessing act that took place in the Witnet blockahin.\r\n    /// @param _resultCborBytes The result itself as bytes.\r\n    function reportResult(\r\n            Witnet.QueryId _queryId,\r\n            Witnet.TransactionHash _witDrTxHash,\r\n            bytes calldata _resultCborBytes\r\n        )\r\n        public override\r\n        onlyReporters\r\n        returns (uint256)\r\n    {\r\n        // results cannot be empty:\r\n        _require(\r\n            _resultCborBytes.length != 0, \r\n            \"result cannot be empty\"\r\n        );\r\n        // do actual report and return reward transfered to the reproter:\r\n        // solhint-disable not-rely-on-time\r\n        return __reportResultAndReward(\r\n            Witnet.QueryId.unwrap(_queryId),\r\n            Witnet.Timestamp.wrap(uint64(block.timestamp)),\r\n            _witDrTxHash,\r\n            _resultCborBytes\r\n        );\r\n    }\r\n\r\n    /// Reports the Witnet-provable result to a previously posted request.\r\n    /// @dev Fails if:\r\n    /// @dev - called from unauthorized address;\r\n    /// @dev - the `_queryId` is not in 'Posted' status.\r\n    /// @dev - provided `_witDrTxHash` is zero;\r\n    /// @dev - length of provided `_resultCborBytes` is zero.\r\n    /// @param _queryId The unique query identifier\r\n    /// @param _resultTimestamp Timestamp at which the reported value was captured by the Witnet blockchain. \r\n    /// @param _witDrTxHash Hash of the commit/reveal witnessing act that took place in the Witnet blockahin.\r\n    /// @param _resultCborBytes The result itself as bytes.\r\n    function reportResult(\r\n            Witnet.QueryId _queryId,\r\n            Witnet.Timestamp  _resultTimestamp,\r\n            Witnet.TransactionHash _witDrTxHash,\r\n            bytes calldata _resultCborBytes\r\n        )\r\n        public \r\n        override\r\n        onlyReporters\r\n        returns (uint256)\r\n    {\r\n        // validate timestamp\r\n        _require(\r\n            !_resultTimestamp.isZero(),\r\n            \"bad timestamp\"\r\n        );\r\n        // results cannot be empty\r\n        _require(\r\n            _resultCborBytes.length != 0, \r\n            \"result cannot be empty\"\r\n        );\r\n        // do actual report and return reward transfered to the reproter:\r\n        return  __reportResultAndReward(\r\n            Witnet.QueryId.unwrap(_queryId),\r\n            _resultTimestamp,\r\n            _witDrTxHash,\r\n            _resultCborBytes\r\n        );\r\n    }\r\n\r\n    /// @notice Reports Witnet-provided results to multiple requests within a single EVM tx.\r\n    /// @notice Emits either a WitOracleQueryReport* or a BatchReportError event per batched report.\r\n    /// @dev Fails only if called from unauthorized address.\r\n    /// @param _batchResults Array of BatchResult structs, every one containing:\r\n    ///         - unique query identifier;\r\n    ///         - timestamp of the solving tally txs in Witnet. If zero is provided, EVM-timestamp will be used instead;\r\n    ///         - hash of the corresponding data request tx at the Witnet side-chain level;\r\n    ///         - data request result in raw bytes.\r\n    function reportResultBatch(IWitOracleQueriableTrustableReporter.BatchResult[] memory _batchResults)\r\n        public override\r\n        onlyReporters\r\n        returns (uint256 _batchReward)\r\n    {\r\n        for (uint _i = 0; _i < _batchResults.length; _i ++) {\r\n            uint256 _queryId = Witnet.QueryId.unwrap(_batchResults[_i].queryId);\r\n            if (\r\n                getQueryStatus(_queryId)\r\n                    != Witnet.QueryStatus.Posted\r\n            ) {\r\n                emit BatchReportError(\r\n                    Witnet.QueryId.unwrap(_batchResults[_i].queryId),\r\n                    string(abi.encodePacked(\r\n                        class(),\r\n                        \": \", WitOracleDataLib.notInStatusRevertMessage(Witnet.QueryStatus.Posted)\r\n                    ))\r\n                );\r\n            } else if (\r\n                Witnet.Timestamp.unwrap(_batchResults[_i].resultTimestamp) > uint64(block.timestamp)\r\n                    || _batchResults[_i].resultTimestamp.isZero()\r\n                    || _batchResults[_i].resultCborBytes.length == 0\r\n            ) {\r\n                emit BatchReportError(\r\n                    Witnet.QueryId.unwrap(_batchResults[_i].queryId), \r\n                    string(abi.encodePacked(\r\n                        class(),\r\n                        \": invalid report data\"\r\n                    ))\r\n                );\r\n            } else {\r\n                _batchReward += __reportResult(\r\n                    Witnet.QueryId.unwrap(_batchResults[_i].queryId),\r\n                    _batchResults[_i].resultTimestamp,\r\n                    _batchResults[_i].drTxHash,\r\n                    _batchResults[_i].resultCborBytes\r\n                );\r\n            }\r\n        }   \r\n        // Transfer rewards to all reported results in one single transfer to the reporter:\r\n        if (_batchReward > 0) {\r\n            __safeTransferTo(\r\n                payable(msg.sender),\r\n                _batchReward\r\n            );\r\n        }\r\n    }\r\n\r\n\r\n    /// ================================================================================================================\r\n    /// --- Internal methods -------------------------------------------------------------------------------------------\r\n\r\n    function __queryData(\r\n            address _requester,\r\n            uint24  _callbackGas,\r\n            uint72  _evmReward,\r\n            Witnet.RadonHash _radonHash,\r\n            Witnet.QuerySLA memory _querySLA\r\n        ) \r\n        virtual override\r\n        internal\r\n        returns (uint256 _queryId)\r\n    {\r\n        _queryId = super.__queryData(\r\n            _requester,\r\n            _callbackGas,\r\n            _evmReward,\r\n            _radonHash,\r\n            _querySLA\r\n        );\r\n        // todo: deprecate legacy events\r\n        emit IWitOracleLegacy.WitnetQuery(\r\n            _queryId, \r\n            msg.value, \r\n            IWitOracleLegacy.RadonSLA({\r\n                numWitnesses: uint8(_querySLA.witCommitteeSize),\r\n                witnessReward: _querySLA.witUnitaryReward\r\n            })\r\n        );\r\n    }\r\n\r\n    function __reportResult(\r\n            uint256 _queryId,\r\n            Witnet.Timestamp  _resultTimestamp,\r\n            Witnet.TransactionHash _witDrTxHash,\r\n            bytes memory _resultCborBytes\r\n        )\r\n        virtual internal\r\n        returns (uint256)\r\n    {\r\n        _require(\r\n            WitOracleDataLib.getQueryStatus(_queryId) == Witnet.QueryStatus.Posted,\r\n            \"not in Posted status\"\r\n        );\r\n        return WitOracleDataLib.reportResult(\r\n            msg.sender,\r\n            tx.gasprice,\r\n            uint64(block.number),\r\n            _queryId, \r\n            _resultTimestamp, \r\n            _witDrTxHash, \r\n            _resultCborBytes\r\n        );\r\n    }\r\n\r\n    function __reportResultAndReward(\r\n            uint256 _queryId,\r\n            Witnet.Timestamp  _resultTimestamp,\r\n            Witnet.TransactionHash _witDrTxHash,\r\n            bytes calldata _resultCborBytes\r\n        )\r\n        virtual internal\r\n        returns (uint256 _evmReward)\r\n    {\r\n        _evmReward = __reportResult(\r\n            _queryId, \r\n            _resultTimestamp, \r\n            _witDrTxHash, \r\n            _resultCborBytes\r\n        );\r\n        // transfer reward to reporter\r\n        __safeTransferTo(\r\n            payable(msg.sender),\r\n            _evmReward\r\n        );\r\n    }\r\n}\r\n",
  "sourcePath": "C:\\Users\\guill\\github\\guidiaz\\witnet-solidity-bridge\\contracts\\core\\base\\WitOracleBaseQueriableTrustable.sol",
  "ast": {
    "absolutePath": "project:/contracts/core/base/WitOracleBaseQueriableTrustable.sol",
    "exportedSymbols": {
      "Bech32": [
        31372
      ],
      "Context": [
        523
      ],
      "ERC165": [
        616
      ],
      "IERC165": [
        628
      ],
      "IERC20": [
        493
      ],
      "IWitAppliance": [
        26514
      ],
      "IWitOracle": [
        26581
      ],
      "IWitOracleAppliance": [
        26593
      ],
      "IWitOracleLegacy": [
        28786
      ],
      "IWitOracleQueriable": [
        26795
      ],
      "IWitOracleQueriableConsumer": [
        26815
      ],
      "IWitOracleQueriableEvents": [
        26892
      ],
      "IWitOracleQueriableExperimental": [
        26964
      ],
      "IWitOracleQueriableTrustableReporter": [
        27056
      ],
      "IWitOracleRadonRegistry": [
        27394
      ],
      "IWitOracleRadonRegistryEvents": [
        27414
      ],
      "IWitOracleRequest": [
        28922
      ],
      "IWitOracleRequestTemplate": [
        29115
      ],
      "IWitOracleTrustableAdmin": [
        27628
      ],
      "Initializable": [
        267
      ],
      "Ownable": [
        415
      ],
      "Ownable2Step": [
        45709
      ],
      "Payable": [
        45766
      ],
      "Proxiable": [
        45810
      ],
      "ReentrancyGuard": [
        592
      ],
      "Secp256k1": [
        32535
      ],
      "Upgradeable": [
        45930
      ],
      "WitOracle": [
        678
      ],
      "WitOracleBasePushOnly": [
        9455
      ],
      "WitOracleBaseQueriable": [
        11059
      ],
      "WitOracleBaseQueriableTrustable": [
        12527
      ],
      "WitOracleDataLib": [
        20110
      ],
      "WitOraclePushOnly": [
        701
      ],
      "WitOracleRadonRegistry": [
        726
      ],
      "WitOracleResultStatusLib": [
        37119
      ],
      "Witnet": [
        40741
      ],
      "WitnetBuffer": [
        42631
      ],
      "WitnetCBOR": [
        44174
      ],
      "WitnetProxy": [
        8994
      ],
      "WitnetUpgradableBase": [
        9373
      ]
    },
    "id": 12528,
    "license": "MIT",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 11061,
        "literals": [
          "solidity",
          ">=",
          "0.8",
          ".0",
          "<",
          "0.9",
          ".0"
        ],
        "nodeType": "PragmaDirective",
        "src": "35:31:32"
      },
      {
        "absolutePath": "project:/contracts/core/base/WitOracleBaseQueriable.sol",
        "file": "./WitOracleBaseQueriable.sol",
        "id": 11062,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 12528,
        "sourceUnit": 11060,
        "src": "70:38:32",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "project:/contracts/core/WitnetUpgradableBase.sol",
        "file": "../WitnetUpgradableBase.sol",
        "id": 11063,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 12528,
        "sourceUnit": 9374,
        "src": "110:37:32",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "project:/contracts/interfaces/IWitOracleTrustableAdmin.sol",
        "file": "../../interfaces/IWitOracleTrustableAdmin.sol",
        "id": 11064,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 12528,
        "sourceUnit": 27629,
        "src": "149:55:32",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "project:/contracts/interfaces/IWitOracleQueriable.sol",
        "file": "../../interfaces/IWitOracleQueriable.sol",
        "id": 11065,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 12528,
        "sourceUnit": 26796,
        "src": "206:50:32",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "project:/contracts/interfaces/IWitOracleQueriableTrustableReporter.sol",
        "file": "../../interfaces/IWitOracleQueriableTrustableReporter.sol",
        "id": 11066,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 12528,
        "sourceUnit": 27057,
        "src": "258:67:32",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "project:/contracts/interfaces/legacy/IWitOracleLegacy.sol",
        "file": "../../interfaces/legacy/IWitOracleLegacy.sol",
        "id": 11067,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 12528,
        "sourceUnit": 28787,
        "src": "327:54:32",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "abstract": true,
        "baseContracts": [
          {
            "baseName": {
              "id": 11069,
              "name": "WitnetUpgradableBase",
              "nameLocations": [
                "552:20:32"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 9373,
              "src": "552:20:32"
            },
            "id": 11070,
            "nodeType": "InheritanceSpecifier",
            "src": "552:20:32"
          },
          {
            "baseName": {
              "id": 11071,
              "name": "WitOracleBaseQueriable",
              "nameLocations": [
                "583:22:32"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 11059,
              "src": "583:22:32"
            },
            "id": 11072,
            "nodeType": "InheritanceSpecifier",
            "src": "583:22:32"
          },
          {
            "baseName": {
              "id": 11073,
              "name": "IWitOracleTrustableAdmin",
              "nameLocations": [
                "616:24:32"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 27628,
              "src": "616:24:32"
            },
            "id": 11074,
            "nodeType": "InheritanceSpecifier",
            "src": "616:24:32"
          },
          {
            "baseName": {
              "id": 11075,
              "name": "IWitOracleLegacy",
              "nameLocations": [
                "651:16:32"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 28786,
              "src": "651:16:32"
            },
            "id": 11076,
            "nodeType": "InheritanceSpecifier",
            "src": "651:16:32"
          },
          {
            "baseName": {
              "id": 11077,
              "name": "IWitOracleQueriableTrustableReporter",
              "nameLocations": [
                "678:36:32"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 27056,
              "src": "678:36:32"
            },
            "id": 11078,
            "nodeType": "InheritanceSpecifier",
            "src": "678:36:32"
          }
        ],
        "canonicalName": "WitOracleBaseQueriableTrustable",
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": {
          "id": 11068,
          "nodeType": "StructuredDocumentation",
          "src": "385:100:32",
          "text": "@title Queriable WitOracle \"trustable\" base implementation.\n @author The Witnet Foundation"
        },
        "fullyImplemented": false,
        "id": 12527,
        "linearizedBaseContracts": [
          12527,
          27056,
          28786,
          27628,
          11059,
          678,
          26892,
          26795,
          26581,
          26514,
          45766,
          9373,
          592,
          45930,
          45810,
          267,
          45709,
          415,
          523
        ],
        "name": "WitOracleBaseQueriableTrustable",
        "nameLocation": "503:31:32",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "global": false,
            "id": 11082,
            "libraryName": {
              "id": 11079,
              "name": "Witnet",
              "nameLocations": [
                "729:6:32"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 40741,
              "src": "729:6:32"
            },
            "nodeType": "UsingForDirective",
            "src": "723:39:32",
            "typeName": {
              "id": 11081,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 11080,
                "name": "Witnet.DataPushReport",
                "nameLocations": [
                  "740:6:32",
                  "747:14:32"
                ],
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 37274,
                "src": "740:21:32"
              },
              "referencedDeclaration": 37274,
              "src": "740:21:32",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_DataPushReport_$37274_storage_ptr",
                "typeString": "struct Witnet.DataPushReport"
              }
            }
          },
          {
            "global": false,
            "id": 11086,
            "libraryName": {
              "id": 11083,
              "name": "Witnet",
              "nameLocations": [
                "774:6:32"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 40741,
              "src": "774:6:32"
            },
            "nodeType": "UsingForDirective",
            "src": "768:33:32",
            "typeName": {
              "id": 11085,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 11084,
                "name": "Witnet.QuerySLA",
                "nameLocations": [
                  "785:6:32",
                  "792:8:32"
                ],
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 37373,
                "src": "785:15:32"
              },
              "referencedDeclaration": 37373,
              "src": "785:15:32",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_QuerySLA_$37373_storage_ptr",
                "typeString": "struct Witnet.QuerySLA"
              }
            }
          },
          {
            "global": false,
            "id": 11090,
            "libraryName": {
              "id": 11087,
              "name": "Witnet",
              "nameLocations": [
                "813:6:32"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 40741,
              "src": "813:6:32"
            },
            "nodeType": "UsingForDirective",
            "src": "807:34:32",
            "typeName": {
              "id": 11089,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 11088,
                "name": "Witnet.Timestamp",
                "nameLocations": [
                  "824:6:32",
                  "831:9:32"
                ],
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 37157,
                "src": "824:16:32"
              },
              "referencedDeclaration": 37157,
              "src": "824:16:32",
              "typeDescriptions": {
                "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                "typeString": "Witnet.Timestamp"
              }
            }
          },
          {
            "body": {
              "id": 11105,
              "nodeType": "Block",
              "src": "936:139:32",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "baseExpression": {
                          "expression": {
                            "arguments": [],
                            "expression": {
                              "argumentTypes": [],
                              "expression": {
                                "id": 11094,
                                "name": "WitOracleDataLib",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 20110,
                                "src": "970:16:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_WitOracleDataLib_$20110_$",
                                  "typeString": "type(library WitOracleDataLib)"
                                }
                              },
                              "id": 11095,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "987:4:32",
                              "memberName": "data",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 18116,
                              "src": "970:21:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$18055_storage_ptr_$",
                                "typeString": "function () pure returns (struct WitOracleDataLib.Storage storage pointer)"
                              }
                            },
                            "id": 11096,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "970:23:32",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Storage_$18055_storage_ptr",
                              "typeString": "struct WitOracleDataLib.Storage storage pointer"
                            }
                          },
                          "id": 11097,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "994:9:32",
                          "memberName": "reporters",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 18046,
                          "src": "970:33:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
                            "typeString": "mapping(address => bool)"
                          }
                        },
                        "id": 11100,
                        "indexExpression": {
                          "expression": {
                            "id": 11098,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4294967281,
                            "src": "1004:3:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 11099,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "1008:6:32",
                          "memberName": "sender",
                          "nodeType": "MemberAccess",
                          "src": "1004:10:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "970:45:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "756e617574686f72697a6564207265706f72746572",
                        "id": 11101,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1030:23:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_6180e01bc6a842700481b1d2fd88798472e17f6021a35e228531ce5b0c073b92",
                          "typeString": "literal_string \"unauthorized reporter\""
                        },
                        "value": "unauthorized reporter"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_6180e01bc6a842700481b1d2fd88798472e17f6021a35e228531ce5b0c073b92",
                          "typeString": "literal_string \"unauthorized reporter\""
                        }
                      ],
                      "id": 11093,
                      "name": "_require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 26494,
                      "src": "947:8:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) view"
                      }
                    },
                    "id": 11102,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "947:117:32",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 11103,
                  "nodeType": "ExpressionStatement",
                  "src": "947:117:32"
                },
                {
                  "id": 11104,
                  "nodeType": "PlaceholderStatement",
                  "src": "1066:1:32"
                }
              ]
            },
            "documentation": {
              "id": 11091,
              "nodeType": "StructuredDocumentation",
              "src": "849:50:32",
              "text": "Asserts the caller is authorized as a reporter"
            },
            "id": 11106,
            "name": "onlyReporters",
            "nameLocation": "914:13:32",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 11092,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "928:0:32"
            },
            "src": "905:170:32",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 11126,
              "nodeType": "Block",
              "src": "1308:2:32",
              "statements": []
            },
            "id": 11127,
            "implemented": true,
            "kind": "constructor",
            "modifiers": [
              {
                "arguments": [
                  {
                    "expression": {
                      "id": 11111,
                      "name": "msg",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4294967281,
                      "src": "1133:3:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_magic_message",
                        "typeString": "msg"
                      }
                    },
                    "id": 11112,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberLocation": "1137:6:32",
                    "memberName": "sender",
                    "nodeType": "MemberAccess",
                    "src": "1133:10:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  }
                ],
                "id": 11113,
                "kind": "baseConstructorSpecifier",
                "modifierName": {
                  "id": 11110,
                  "name": "Ownable",
                  "nameLocations": [
                    "1125:7:32"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 415,
                  "src": "1125:7:32"
                },
                "nodeType": "ModifierInvocation",
                "src": "1125:19:32"
              },
              {
                "arguments": [
                  {
                    "arguments": [
                      {
                        "hexValue": "30",
                        "id": 11117,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1170:1:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        }
                      ],
                      "id": 11116,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "1162:7:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_address_$",
                        "typeString": "type(address)"
                      },
                      "typeName": {
                        "id": 11115,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "1162:7:32",
                        "typeDescriptions": {}
                      }
                    },
                    "id": 11118,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1162:10:32",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  }
                ],
                "id": 11119,
                "kind": "baseConstructorSpecifier",
                "modifierName": {
                  "id": 11114,
                  "name": "Payable",
                  "nameLocations": [
                    "1154:7:32"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 45766,
                  "src": "1154:7:32"
                },
                "nodeType": "ModifierInvocation",
                "src": "1154:19:32"
              },
              {
                "arguments": [
                  {
                    "hexValue": "74727565",
                    "id": 11121,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "bool",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "1218:4:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "value": "true"
                  },
                  {
                    "id": 11122,
                    "name": "_versionTag",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 11108,
                    "src": "1238:11:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  {
                    "hexValue": "696f2e7769746e65742e70726f786961626c652e626f617264",
                    "id": 11123,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "string",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "1264:27:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_stringliteral_9969c6aff411c5e5f0807500693e8f819ce88529615cfa6cab569b24788a1018",
                      "typeString": "literal_string \"io.witnet.proxiable.board\""
                    },
                    "value": "io.witnet.proxiable.board"
                  }
                ],
                "id": 11124,
                "kind": "baseConstructorSpecifier",
                "modifierName": {
                  "id": 11120,
                  "name": "WitnetUpgradableBase",
                  "nameLocations": [
                    "1183:20:32"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 9373,
                  "src": "1183:20:32"
                },
                "nodeType": "ModifierInvocation",
                "src": "1183:119:32"
              }
            ],
            "name": "",
            "nameLocation": "-1:-1:-1",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 11109,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 11108,
                  "mutability": "mutable",
                  "name": "_versionTag",
                  "nameLocation": "1103:11:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 11127,
                  "src": "1095:19:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 11107,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1095:7:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1094:21:32"
            },
            "returnParameters": {
              "id": 11125,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1308:0:32"
            },
            "scope": 12527,
            "src": "1083:227:32",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "baseFunctions": [
              45923
            ],
            "body": {
              "id": 11147,
              "nodeType": "Block",
              "src": "1742:84:32",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "id": 11139,
                            "name": "_initData",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 11130,
                            "src": "1794:9:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          },
                          {
                            "components": [
                              {
                                "baseExpression": {
                                  "id": 11141,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "nodeType": "ElementaryTypeNameExpression",
                                  "src": "1806:7:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_address_$",
                                    "typeString": "type(address)"
                                  },
                                  "typeName": {
                                    "id": 11140,
                                    "name": "address",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "1806:7:32",
                                    "typeDescriptions": {}
                                  }
                                },
                                "id": 11142,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "1806:9:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_array$_t_address_$dyn_memory_ptr_$",
                                  "typeString": "type(address[] memory)"
                                }
                              }
                            ],
                            "id": 11143,
                            "isConstant": false,
                            "isInlineArray": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "TupleExpression",
                            "src": "1805:11:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_array$_t_address_$dyn_memory_ptr_$",
                              "typeString": "type(address[] memory)"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            },
                            {
                              "typeIdentifier": "t_type$_t_array$_t_address_$dyn_memory_ptr_$",
                              "typeString": "type(address[] memory)"
                            }
                          ],
                          "expression": {
                            "id": 11137,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4294967295,
                            "src": "1783:3:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 11138,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "1787:6:32",
                          "memberName": "decode",
                          "nodeType": "MemberAccess",
                          "src": "1783:10:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
                            "typeString": "function () pure"
                          }
                        },
                        "id": 11144,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "1783:34:32",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                          "typeString": "address[] memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                          "typeString": "address[] memory"
                        }
                      ],
                      "expression": {
                        "id": 11134,
                        "name": "WitOracleDataLib",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20110,
                        "src": "1753:16:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_WitOracleDataLib_$20110_$",
                          "typeString": "type(library WitOracleDataLib)"
                        }
                      },
                      "id": 11136,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "1770:12:32",
                      "memberName": "setReporters",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 18611,
                      "src": "1753:29:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_delegatecall_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$returns$__$",
                        "typeString": "function (address[] memory)"
                      }
                    },
                    "id": 11145,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1753:65:32",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 11146,
                  "nodeType": "ExpressionStatement",
                  "src": "1753:65:32"
                }
              ]
            },
            "documentation": {
              "id": 11128,
              "nodeType": "StructuredDocumentation",
              "src": "1565:85:32",
              "text": "@notice Re-initialize contract's storage context upon a new upgrade from a proxy."
            },
            "id": 11148,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "__initializeUpgradableData",
            "nameLocation": "1665:26:32",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 11132,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "1724:8:32"
            },
            "parameters": {
              "id": 11131,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 11130,
                  "mutability": "mutable",
                  "name": "_initData",
                  "nameLocation": "1705:9:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 11148,
                  "src": "1692:22:32",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 11129,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "1692:5:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1691:24:32"
            },
            "returnParameters": {
              "id": 11133,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1742:0:32"
            },
            "scope": 12527,
            "src": "1656:170:32",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "baseFunctions": [
              26561
            ],
            "body": {
              "id": 11169,
              "nodeType": "Block",
              "src": "2267:86:32",
              "statements": [
                {
                  "expression": {
                    "id": 11167,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "components": [
                        null,
                        {
                          "id": 11160,
                          "name": "_result",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 11158,
                          "src": "2281:7:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_DataResult_$37293_memory_ptr",
                            "typeString": "struct Witnet.DataResult memory"
                          }
                        }
                      ],
                      "id": 11161,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "TupleExpression",
                      "src": "2278:11:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$__$_t_struct$_DataResult_$37293_memory_ptr_$",
                        "typeString": "tuple(,struct Witnet.DataResult memory)"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "id": 11164,
                          "name": "_report",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 11151,
                          "src": "2325:7:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_DataPushReport_$37274_calldata_ptr",
                            "typeString": "struct Witnet.DataPushReport calldata"
                          }
                        },
                        {
                          "id": 11165,
                          "name": "_signature",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 11153,
                          "src": "2334:10:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_calldata_ptr",
                            "typeString": "bytes calldata"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_struct$_DataPushReport_$37274_calldata_ptr",
                            "typeString": "struct Witnet.DataPushReport calldata"
                          },
                          {
                            "typeIdentifier": "t_bytes_calldata_ptr",
                            "typeString": "bytes calldata"
                          }
                        ],
                        "expression": {
                          "id": 11162,
                          "name": "WitOracleDataLib",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 20110,
                          "src": "2292:16:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_WitOracleDataLib_$20110_$",
                            "typeString": "type(library WitOracleDataLib)"
                          }
                        },
                        "id": 11163,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "2309:15:32",
                        "memberName": "parseDataReport",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 18737,
                        "src": "2292:32:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_delegatecall_view$_t_struct$_DataPushReport_$37274_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_address_$_t_struct$_DataResult_$37293_memory_ptr_$",
                          "typeString": "function (struct Witnet.DataPushReport memory,bytes memory) view returns (address,struct Witnet.DataResult memory)"
                        }
                      },
                      "id": 11166,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "2292:53:32",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_address_$_t_struct$_DataResult_$37293_memory_ptr_$",
                        "typeString": "tuple(address,struct Witnet.DataResult memory)"
                      }
                    },
                    "src": "2278:67:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 11168,
                  "nodeType": "ExpressionStatement",
                  "src": "2278:67:32"
                }
              ]
            },
            "functionSelector": "b783922b",
            "id": 11170,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "parseDataReport",
            "nameLocation": "2089:15:32",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 11155,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "2189:8:32"
            },
            "parameters": {
              "id": 11154,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 11151,
                  "mutability": "mutable",
                  "name": "_report",
                  "nameLocation": "2136:7:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 11170,
                  "src": "2105:38:32",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_DataPushReport_$37274_calldata_ptr",
                    "typeString": "struct Witnet.DataPushReport"
                  },
                  "typeName": {
                    "id": 11150,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 11149,
                      "name": "Witnet.DataPushReport",
                      "nameLocations": [
                        "2105:6:32",
                        "2112:14:32"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37274,
                      "src": "2105:21:32"
                    },
                    "referencedDeclaration": 37274,
                    "src": "2105:21:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_DataPushReport_$37274_storage_ptr",
                      "typeString": "struct Witnet.DataPushReport"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 11153,
                  "mutability": "mutable",
                  "name": "_signature",
                  "nameLocation": "2160:10:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 11170,
                  "src": "2145:25:32",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 11152,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "2145:5:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2104:67:32"
            },
            "returnParameters": {
              "id": 11159,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 11158,
                  "mutability": "mutable",
                  "name": "_result",
                  "nameLocation": "2253:7:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 11170,
                  "src": "2228:32:32",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_DataResult_$37293_memory_ptr",
                    "typeString": "struct Witnet.DataResult"
                  },
                  "typeName": {
                    "id": 11157,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 11156,
                      "name": "Witnet.DataResult",
                      "nameLocations": [
                        "2228:6:32",
                        "2235:10:32"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37293,
                      "src": "2228:17:32"
                    },
                    "referencedDeclaration": 37293,
                    "src": "2228:17:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_DataResult_$37293_storage_ptr",
                      "typeString": "struct Witnet.DataResult"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2227:34:32"
            },
            "scope": 12527,
            "src": "2080:273:32",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              26573
            ],
            "body": {
              "id": 11213,
              "nodeType": "Block",
              "src": "2536:452:32",
              "statements": [
                {
                  "assignments": [
                    11183,
                    11186
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 11183,
                      "mutability": "mutable",
                      "name": "_evmSigner",
                      "nameLocation": "2556:10:32",
                      "nodeType": "VariableDeclaration",
                      "scope": 11213,
                      "src": "2548:18:32",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 11182,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "2548:7:32",
                        "stateMutability": "nonpayable",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "visibility": "internal"
                    },
                    {
                      "constant": false,
                      "id": 11186,
                      "mutability": "mutable",
                      "name": "_result",
                      "nameLocation": "2593:7:32",
                      "nodeType": "VariableDeclaration",
                      "scope": 11213,
                      "src": "2568:32:32",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_DataResult_$37293_memory_ptr",
                        "typeString": "struct Witnet.DataResult"
                      },
                      "typeName": {
                        "id": 11185,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 11184,
                          "name": "Witnet.DataResult",
                          "nameLocations": [
                            "2568:6:32",
                            "2575:10:32"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 37293,
                          "src": "2568:17:32"
                        },
                        "referencedDeclaration": 37293,
                        "src": "2568:17:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DataResult_$37293_storage_ptr",
                          "typeString": "struct Witnet.DataResult"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 11192,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 11189,
                        "name": "_report",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 11173,
                        "src": "2637:7:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DataPushReport_$37274_calldata_ptr",
                          "typeString": "struct Witnet.DataPushReport calldata"
                        }
                      },
                      {
                        "id": 11190,
                        "name": "_signature",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 11175,
                        "src": "2646:10:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_calldata_ptr",
                          "typeString": "bytes calldata"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_DataPushReport_$37274_calldata_ptr",
                          "typeString": "struct Witnet.DataPushReport calldata"
                        },
                        {
                          "typeIdentifier": "t_bytes_calldata_ptr",
                          "typeString": "bytes calldata"
                        }
                      ],
                      "expression": {
                        "id": 11187,
                        "name": "WitOracleDataLib",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20110,
                        "src": "2604:16:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_WitOracleDataLib_$20110_$",
                          "typeString": "type(library WitOracleDataLib)"
                        }
                      },
                      "id": 11188,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "2621:15:32",
                      "memberName": "parseDataReport",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 18737,
                      "src": "2604:32:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_delegatecall_view$_t_struct$_DataPushReport_$37274_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_address_$_t_struct$_DataResult_$37293_memory_ptr_$",
                        "typeString": "function (struct Witnet.DataPushReport memory,bytes memory) view returns (address,struct Witnet.DataResult memory)"
                      }
                    },
                    "id": 11191,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2604:53:32",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$_t_address_$_t_struct$_DataResult_$37293_memory_ptr_$",
                      "typeString": "tuple(address,struct Witnet.DataResult memory)"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2547:110:32"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "expression": {
                          "id": 11194,
                          "name": "tx",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4294967270,
                          "src": "2703:2:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_transaction",
                            "typeString": "tx"
                          }
                        },
                        "id": 11195,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "2706:6:32",
                        "memberName": "origin",
                        "nodeType": "MemberAccess",
                        "src": "2703:9:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "expression": {
                          "id": 11196,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4294967281,
                          "src": "2728:3:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 11197,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "2732:6:32",
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "src": "2728:10:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 11198,
                        "name": "_evmSigner",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 11183,
                        "src": "2754:10:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "expression": {
                          "id": 11199,
                          "name": "_report",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 11173,
                          "src": "2780:7:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_DataPushReport_$37274_calldata_ptr",
                            "typeString": "struct Witnet.DataPushReport calldata"
                          }
                        },
                        "id": 11200,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "2788:11:32",
                        "memberName": "witDrTxHash",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 37262,
                        "src": "2780:19:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                          "typeString": "Witnet.TransactionHash"
                        }
                      },
                      {
                        "expression": {
                          "id": 11201,
                          "name": "_report",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 11173,
                          "src": "2814:7:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_DataPushReport_$37274_calldata_ptr",
                            "typeString": "struct Witnet.DataPushReport calldata"
                          }
                        },
                        "id": 11202,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "2822:12:32",
                        "memberName": "queryRadHash",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 37265,
                        "src": "2814:20:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_userDefinedValueType$_RadonHash_$37153",
                          "typeString": "Witnet.RadonHash"
                        }
                      },
                      {
                        "expression": {
                          "id": 11203,
                          "name": "_report",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 11173,
                          "src": "2849:7:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_DataPushReport_$37274_calldata_ptr",
                            "typeString": "struct Witnet.DataPushReport calldata"
                          }
                        },
                        "id": 11204,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "2857:11:32",
                        "memberName": "queryParams",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 37268,
                        "src": "2849:19:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_QuerySLA_$37373_calldata_ptr",
                          "typeString": "struct Witnet.QuerySLA calldata"
                        }
                      },
                      {
                        "expression": {
                          "id": 11205,
                          "name": "_report",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 11173,
                          "src": "2883:7:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_DataPushReport_$37274_calldata_ptr",
                            "typeString": "struct Witnet.DataPushReport calldata"
                          }
                        },
                        "id": 11206,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "2891:15:32",
                        "memberName": "resultTimestamp",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 37271,
                        "src": "2883:23:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                          "typeString": "Witnet.Timestamp"
                        }
                      },
                      {
                        "expression": {
                          "id": 11207,
                          "name": "_report",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 11173,
                          "src": "2921:7:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_DataPushReport_$37274_calldata_ptr",
                            "typeString": "struct Witnet.DataPushReport calldata"
                          }
                        },
                        "id": 11208,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "2929:15:32",
                        "memberName": "resultCborBytes",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 37273,
                        "src": "2921:23:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_calldata_ptr",
                          "typeString": "bytes calldata"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                          "typeString": "Witnet.TransactionHash"
                        },
                        {
                          "typeIdentifier": "t_userDefinedValueType$_RadonHash_$37153",
                          "typeString": "Witnet.RadonHash"
                        },
                        {
                          "typeIdentifier": "t_struct$_QuerySLA_$37373_calldata_ptr",
                          "typeString": "struct Witnet.QuerySLA calldata"
                        },
                        {
                          "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                          "typeString": "Witnet.Timestamp"
                        },
                        {
                          "typeIdentifier": "t_bytes_calldata_ptr",
                          "typeString": "bytes calldata"
                        }
                      ],
                      "id": 11193,
                      "name": "WitOracleReport",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 26543,
                      "src": "2673:15:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$_t_userDefinedValueType$_TransactionHash_$37159_$_t_userDefinedValueType$_RadonHash_$37153_$_t_struct$_QuerySLA_$37373_memory_ptr_$_t_userDefinedValueType$_Timestamp_$37157_$_t_bytes_memory_ptr_$returns$__$",
                        "typeString": "function (address,address,address,Witnet.TransactionHash,Witnet.RadonHash,struct Witnet.QuerySLA memory,Witnet.Timestamp,bytes memory)"
                      }
                    },
                    "id": 11209,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2673:282:32",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 11210,
                  "nodeType": "EmitStatement",
                  "src": "2668:287:32"
                },
                {
                  "expression": {
                    "id": 11211,
                    "name": "_result",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 11186,
                    "src": "2973:7:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_DataResult_$37293_memory_ptr",
                      "typeString": "struct Witnet.DataResult memory"
                    }
                  },
                  "functionReturnParameters": 11181,
                  "id": 11212,
                  "nodeType": "Return",
                  "src": "2966:14:32"
                }
              ]
            },
            "functionSelector": "6d0d6a7e",
            "id": 11214,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "pushDataReport",
            "nameLocation": "2370:14:32",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 11177,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "2469:8:32"
            },
            "parameters": {
              "id": 11176,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 11173,
                  "mutability": "mutable",
                  "name": "_report",
                  "nameLocation": "2416:7:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 11214,
                  "src": "2385:38:32",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_DataPushReport_$37274_calldata_ptr",
                    "typeString": "struct Witnet.DataPushReport"
                  },
                  "typeName": {
                    "id": 11172,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 11171,
                      "name": "Witnet.DataPushReport",
                      "nameLocations": [
                        "2385:6:32",
                        "2392:14:32"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37274,
                      "src": "2385:21:32"
                    },
                    "referencedDeclaration": 37274,
                    "src": "2385:21:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_DataPushReport_$37274_storage_ptr",
                      "typeString": "struct Witnet.DataPushReport"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 11175,
                  "mutability": "mutable",
                  "name": "_signature",
                  "nameLocation": "2440:10:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 11214,
                  "src": "2425:25:32",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 11174,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "2425:5:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2384:67:32"
            },
            "returnParameters": {
              "id": 11181,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 11180,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 11214,
                  "src": "2505:24:32",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_DataResult_$37293_memory_ptr",
                    "typeString": "struct Witnet.DataResult"
                  },
                  "typeName": {
                    "id": 11179,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 11178,
                      "name": "Witnet.DataResult",
                      "nameLocations": [
                        "2505:6:32",
                        "2512:10:32"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37293,
                      "src": "2505:17:32"
                    },
                    "referencedDeclaration": 37293,
                    "src": "2505:17:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_DataResult_$37293_storage_ptr",
                      "typeString": "struct Witnet.DataResult"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2504:26:32"
            },
            "scope": 12527,
            "src": "2361:627:32",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              26618
            ],
            "body": {
              "id": 11276,
              "nodeType": "Block",
              "src": "3551:721:32",
              "statements": [
                {
                  "clauses": [
                    {
                      "block": {
                        "id": 11256,
                        "nodeType": "Block",
                        "src": "3708:400:32",
                        "statements": [
                          {
                            "assignments": [
                              11233
                            ],
                            "declarations": [
                              {
                                "constant": false,
                                "id": 11233,
                                "mutability": "mutable",
                                "name": "_evmPayback",
                                "nameLocation": "3731:11:32",
                                "nodeType": "VariableDeclaration",
                                "scope": 11256,
                                "src": "3723:19:32",
                                "stateVariable": false,
                                "storageLocation": "default",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                "typeName": {
                                  "id": 11232,
                                  "name": "uint256",
                                  "nodeType": "ElementaryTypeName",
                                  "src": "3723:7:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "visibility": "internal"
                              }
                            ],
                            "id": 11239,
                            "initialValue": {
                              "arguments": [
                                {
                                  "id": 11237,
                                  "name": "_queryReward",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 11230,
                                  "src": "3774:12:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_userDefinedValueType$_QueryEvmReward_$37147",
                                    "typeString": "Witnet.QueryEvmReward"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_userDefinedValueType$_QueryEvmReward_$37147",
                                    "typeString": "Witnet.QueryEvmReward"
                                  }
                                ],
                                "expression": {
                                  "expression": {
                                    "id": 11234,
                                    "name": "Witnet",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 40741,
                                    "src": "3745:6:32",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                      "typeString": "type(library Witnet)"
                                    }
                                  },
                                  "id": 11235,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "3752:14:32",
                                  "memberName": "QueryEvmReward",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 37147,
                                  "src": "3745:21:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_userDefinedValueType$_QueryEvmReward_$37147_$",
                                    "typeString": "type(Witnet.QueryEvmReward)"
                                  }
                                },
                                "id": 11236,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "memberLocation": "3767:6:32",
                                "memberName": "unwrap",
                                "nodeType": "MemberAccess",
                                "src": "3745:28:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_QueryEvmReward_$37147_$returns$_t_uint72_$",
                                  "typeString": "function (Witnet.QueryEvmReward) pure returns (uint72)"
                                }
                              },
                              "id": 11238,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "3745:42:32",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint72",
                                "typeString": "uint72"
                              }
                            },
                            "nodeType": "VariableDeclarationStatement",
                            "src": "3723:64:32"
                          },
                          {
                            "condition": {
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 11242,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "id": 11240,
                                "name": "_evmPayback",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 11233,
                                "src": "3806:11:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": ">",
                              "rightExpression": {
                                "hexValue": "30",
                                "id": 11241,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "3820:1:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                },
                                "value": "0"
                              },
                              "src": "3806:15:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "id": 11253,
                            "nodeType": "IfStatement",
                            "src": "3802:251:32",
                            "trueBody": {
                              "id": 11252,
                              "nodeType": "Block",
                              "src": "3823:230:32",
                              "statements": [
                                {
                                  "expression": {
                                    "arguments": [
                                      {
                                        "arguments": [
                                          {
                                            "expression": {
                                              "id": 11246,
                                              "name": "msg",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 4294967281,
                                              "src": "3973:3:32",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_magic_message",
                                                "typeString": "msg"
                                              }
                                            },
                                            "id": 11247,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberLocation": "3977:6:32",
                                            "memberName": "sender",
                                            "nodeType": "MemberAccess",
                                            "src": "3973:10:32",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_address",
                                              "typeString": "address"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_address",
                                              "typeString": "address"
                                            }
                                          ],
                                          "id": 11245,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "nodeType": "ElementaryTypeNameExpression",
                                          "src": "3965:8:32",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_address_payable_$",
                                            "typeString": "type(address payable)"
                                          },
                                          "typeName": {
                                            "id": 11244,
                                            "name": "address",
                                            "nodeType": "ElementaryTypeName",
                                            "src": "3965:8:32",
                                            "stateMutability": "payable",
                                            "typeDescriptions": {}
                                          }
                                        },
                                        "id": 11248,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "typeConversion",
                                        "lValueRequested": false,
                                        "nameLocations": [],
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "3965:19:32",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_address_payable",
                                          "typeString": "address payable"
                                        }
                                      },
                                      {
                                        "id": 11249,
                                        "name": "_evmPayback",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 11233,
                                        "src": "4007:11:32",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_address_payable",
                                          "typeString": "address payable"
                                        },
                                        {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      ],
                                      "id": 11243,
                                      "name": "__safeTransferTo",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [
                                        10337
                                      ],
                                      "referencedDeclaration": 10337,
                                      "src": "3926:16:32",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_payable_$_t_uint256_$returns$__$",
                                        "typeString": "function (address payable,uint256)"
                                      }
                                    },
                                    "id": 11250,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "3926:111:32",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_tuple$__$",
                                      "typeString": "tuple()"
                                    }
                                  },
                                  "id": 11251,
                                  "nodeType": "ExpressionStatement",
                                  "src": "3926:111:32"
                                }
                              ]
                            }
                          },
                          {
                            "expression": {
                              "id": 11254,
                              "name": "_queryReward",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 11230,
                              "src": "4074:12:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_userDefinedValueType$_QueryEvmReward_$37147",
                                "typeString": "Witnet.QueryEvmReward"
                              }
                            },
                            "functionReturnParameters": 11223,
                            "id": 11255,
                            "nodeType": "Return",
                            "src": "4067:19:32"
                          }
                        ]
                      },
                      "errorName": "",
                      "id": 11257,
                      "nodeType": "TryCatchClause",
                      "parameters": {
                        "id": 11231,
                        "nodeType": "ParameterList",
                        "parameters": [
                          {
                            "constant": false,
                            "id": 11230,
                            "mutability": "mutable",
                            "name": "_queryReward",
                            "nameLocation": "3684:12:32",
                            "nodeType": "VariableDeclaration",
                            "scope": 11257,
                            "src": "3662:34:32",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_userDefinedValueType$_QueryEvmReward_$37147",
                              "typeString": "Witnet.QueryEvmReward"
                            },
                            "typeName": {
                              "id": 11229,
                              "nodeType": "UserDefinedTypeName",
                              "pathNode": {
                                "id": 11228,
                                "name": "Witnet.QueryEvmReward",
                                "nameLocations": [
                                  "3662:6:32",
                                  "3669:14:32"
                                ],
                                "nodeType": "IdentifierPath",
                                "referencedDeclaration": 37147,
                                "src": "3662:21:32"
                              },
                              "referencedDeclaration": 37147,
                              "src": "3662:21:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_userDefinedValueType$_QueryEvmReward_$37147",
                                "typeString": "Witnet.QueryEvmReward"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "src": "3647:60:32"
                      },
                      "src": "3639:469:32"
                    },
                    {
                      "block": {
                        "id": 11265,
                        "nodeType": "Block",
                        "src": "4144:45:32",
                        "statements": [
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "id": 11262,
                                  "name": "_reason",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 11259,
                                  "src": "4167:7:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                ],
                                "id": 11261,
                                "name": "_revert",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 26513,
                                "src": "4159:7:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$__$",
                                  "typeString": "function (string memory) view"
                                }
                              },
                              "id": 11263,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "4159:16:32",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_tuple$__$",
                                "typeString": "tuple()"
                              }
                            },
                            "id": 11264,
                            "nodeType": "ExpressionStatement",
                            "src": "4159:16:32"
                          }
                        ]
                      },
                      "errorName": "Error",
                      "id": 11266,
                      "nodeType": "TryCatchClause",
                      "parameters": {
                        "id": 11260,
                        "nodeType": "ParameterList",
                        "parameters": [
                          {
                            "constant": false,
                            "id": 11259,
                            "mutability": "mutable",
                            "name": "_reason",
                            "nameLocation": "4135:7:32",
                            "nodeType": "VariableDeclaration",
                            "scope": 11266,
                            "src": "4121:21:32",
                            "stateVariable": false,
                            "storageLocation": "memory",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string"
                            },
                            "typeName": {
                              "id": 11258,
                              "name": "string",
                              "nodeType": "ElementaryTypeName",
                              "src": "4121:6:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_storage_ptr",
                                "typeString": "string"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "src": "4120:23:32"
                      },
                      "src": "4109:80:32"
                    },
                    {
                      "block": {
                        "id": 11273,
                        "nodeType": "Block",
                        "src": "4211:54:32",
                        "statements": [
                          {
                            "expression": {
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 11270,
                                "name": "_revertUnhandledException",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 11028,
                                "src": "4226:25:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$__$returns$__$",
                                  "typeString": "function () view"
                                }
                              },
                              "id": 11271,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "4226:27:32",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_tuple$__$",
                                "typeString": "tuple()"
                              }
                            },
                            "id": 11272,
                            "nodeType": "ExpressionStatement",
                            "src": "4226:27:32"
                          }
                        ]
                      },
                      "errorName": "",
                      "id": 11274,
                      "nodeType": "TryCatchClause",
                      "parameters": {
                        "id": 11269,
                        "nodeType": "ParameterList",
                        "parameters": [
                          {
                            "constant": false,
                            "id": 11268,
                            "mutability": "mutable",
                            "name": "",
                            "nameLocation": "-1:-1:-1",
                            "nodeType": "VariableDeclaration",
                            "scope": 11274,
                            "src": "4197:12:32",
                            "stateVariable": false,
                            "storageLocation": "memory",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes"
                            },
                            "typeName": {
                              "id": 11267,
                              "name": "bytes",
                              "nodeType": "ElementaryTypeName",
                              "src": "4197:5:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_storage_ptr",
                                "typeString": "bytes"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "src": "4196:14:32"
                      },
                      "src": "4190:75:32"
                    }
                  ],
                  "externalCall": {
                    "arguments": [
                      {
                        "id": 11226,
                        "name": "_queryId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 11217,
                        "src": "3609:8:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 11224,
                        "name": "WitOracleDataLib",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20110,
                        "src": "3566:16:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_WitOracleDataLib_$20110_$",
                          "typeString": "type(library WitOracleDataLib)"
                        }
                      },
                      "id": 11225,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "3583:11:32",
                      "memberName": "deleteQuery",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 18813,
                      "src": "3566:28:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_delegatecall_nonpayable$_t_uint256_$returns$_t_userDefinedValueType$_QueryEvmReward_$37147_$",
                        "typeString": "function (uint256) returns (Witnet.QueryEvmReward)"
                      }
                    },
                    "id": 11227,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3566:72:32",
                    "tryCall": true,
                    "typeDescriptions": {
                      "typeIdentifier": "t_userDefinedValueType$_QueryEvmReward_$37147",
                      "typeString": "Witnet.QueryEvmReward"
                    }
                  },
                  "id": 11275,
                  "nodeType": "TryStatement",
                  "src": "3562:703:32"
                }
              ]
            },
            "documentation": {
              "id": 11215,
              "nodeType": "StructuredDocumentation",
              "src": "3242:185:32",
              "text": "@notice Removes all query data from storage. Pays back reward on expired queries.\n @dev Fails if the query is not in a final status, or not called from the actual requester."
            },
            "functionSelector": "7c1fbda3",
            "id": 11277,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "deleteQuery",
            "nameLocation": "3442:11:32",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 11219,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "3489:8:32"
            },
            "parameters": {
              "id": 11218,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 11217,
                  "mutability": "mutable",
                  "name": "_queryId",
                  "nameLocation": "3462:8:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 11277,
                  "src": "3454:16:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 11216,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3454:7:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3453:18:32"
            },
            "returnParameters": {
              "id": 11223,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 11222,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 11277,
                  "src": "3523:21:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_userDefinedValueType$_QueryEvmReward_$37147",
                    "typeString": "Witnet.QueryEvmReward"
                  },
                  "typeName": {
                    "id": 11221,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 11220,
                      "name": "Witnet.QueryEvmReward",
                      "nameLocations": [
                        "3523:6:32",
                        "3530:14:32"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37147,
                      "src": "3523:21:32"
                    },
                    "referencedDeclaration": 37147,
                    "src": "3523:21:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_userDefinedValueType$_QueryEvmReward_$37147",
                      "typeString": "Witnet.QueryEvmReward"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3522:23:32"
            },
            "scope": 12527,
            "src": "3433:839:32",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              10286
            ],
            "body": {
              "id": 11292,
              "nodeType": "Block",
              "src": "4458:67:32",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 11289,
                        "name": "_queryId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 11280,
                        "src": "4508:8:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 11287,
                        "name": "WitOracleDataLib",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20110,
                        "src": "4476:16:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_WitOracleDataLib_$20110_$",
                          "typeString": "type(library WitOracleDataLib)"
                        }
                      },
                      "id": 11288,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "4493:14:32",
                      "memberName": "getQueryStatus",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 19166,
                      "src": "4476:31:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_delegatecall_view$_t_uint256_$returns$_t_enum$_QueryStatus_$37335_$",
                        "typeString": "function (uint256) view returns (enum Witnet.QueryStatus)"
                      }
                    },
                    "id": 11290,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4476:41:32",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_QueryStatus_$37335",
                      "typeString": "enum Witnet.QueryStatus"
                    }
                  },
                  "functionReturnParameters": 11286,
                  "id": 11291,
                  "nodeType": "Return",
                  "src": "4469:48:32"
                }
              ]
            },
            "documentation": {
              "id": 11278,
              "nodeType": "StructuredDocumentation",
              "src": "4280:39:32",
              "text": "Gets current status of given query."
            },
            "functionSelector": "6f07abcc",
            "id": 11293,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getQueryStatus",
            "nameLocation": "4334:14:32",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 11282,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "4385:8:32"
            },
            "parameters": {
              "id": 11281,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 11280,
                  "mutability": "mutable",
                  "name": "_queryId",
                  "nameLocation": "4357:8:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 11293,
                  "src": "4349:16:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 11279,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4349:7:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4348:18:32"
            },
            "returnParameters": {
              "id": 11286,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 11285,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 11293,
                  "src": "4433:18:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_QueryStatus_$37335",
                    "typeString": "enum Witnet.QueryStatus"
                  },
                  "typeName": {
                    "id": 11284,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 11283,
                      "name": "Witnet.QueryStatus",
                      "nameLocations": [
                        "4433:6:32",
                        "4440:11:32"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37335,
                      "src": "4433:18:32"
                    },
                    "referencedDeclaration": 37335,
                    "src": "4433:18:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_QueryStatus_$37335",
                      "typeString": "enum Witnet.QueryStatus"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4432:20:32"
            },
            "scope": 12527,
            "src": "4325:200:32",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              27613
            ],
            "body": {
              "id": 11307,
              "nodeType": "Block",
              "src": "5033:77:32",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 11304,
                        "name": "_queryResponseReporter",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 11296,
                        "src": "5079:22:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "expression": {
                        "id": 11302,
                        "name": "WitOracleDataLib",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20110,
                        "src": "5051:16:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_WitOracleDataLib_$20110_$",
                          "typeString": "type(library WitOracleDataLib)"
                        }
                      },
                      "id": 11303,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "5068:10:32",
                      "memberName": "isReporter",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 18575,
                      "src": "5051:27:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$",
                        "typeString": "function (address) view returns (bool)"
                      }
                    },
                    "id": 11305,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5051:51:32",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 11301,
                  "id": 11306,
                  "nodeType": "Return",
                  "src": "5044:58:32"
                }
              ]
            },
            "documentation": {
              "id": 11294,
              "nodeType": "StructuredDocumentation",
              "src": "4784:147:32",
              "text": "Tells whether given address is included in the active reporters control list.\n @param _queryResponseReporter The address to be checked."
            },
            "functionSelector": "044ad7be",
            "id": 11308,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "isReporter",
            "nameLocation": "4946:10:32",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 11298,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "4997:8:32"
            },
            "parameters": {
              "id": 11297,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 11296,
                  "mutability": "mutable",
                  "name": "_queryResponseReporter",
                  "nameLocation": "4965:22:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 11308,
                  "src": "4957:30:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 11295,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "4957:7:32",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4956:32:32"
            },
            "returnParameters": {
              "id": 11301,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 11300,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 11308,
                  "src": "5027:4:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 11299,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "5027:4:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5026:6:32"
            },
            "scope": 12527,
            "src": "4937:173:32",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              27620
            ],
            "body": {
              "id": 11324,
              "nodeType": "Block",
              "src": "5521:73:32",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 11321,
                        "name": "_queryResponseReporters",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 11312,
                        "src": "5562:23:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                          "typeString": "address[] calldata"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                          "typeString": "address[] calldata"
                        }
                      ],
                      "expression": {
                        "id": 11318,
                        "name": "WitOracleDataLib",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20110,
                        "src": "5532:16:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_WitOracleDataLib_$20110_$",
                          "typeString": "type(library WitOracleDataLib)"
                        }
                      },
                      "id": 11320,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "5549:12:32",
                      "memberName": "setReporters",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 18611,
                      "src": "5532:29:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_delegatecall_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$returns$__$",
                        "typeString": "function (address[] memory)"
                      }
                    },
                    "id": 11322,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5532:54:32",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 11323,
                  "nodeType": "ExpressionStatement",
                  "src": "5532:54:32"
                }
              ]
            },
            "documentation": {
              "id": 11309,
              "nodeType": "StructuredDocumentation",
              "src": "5118:274:32",
              "text": "Adds given addresses to the active reporters control list.\n @dev Can only be called from the owner address.\n @dev Emits the `ReportersSet` event. \n @param _queryResponseReporters List of addresses to be added to the active reporters control list."
            },
            "functionSelector": "4c9f72e3",
            "id": 11325,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 11316,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 11315,
                  "name": "onlyOwner",
                  "nameLocations": [
                    "5506:9:32"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 326,
                  "src": "5506:9:32"
                },
                "nodeType": "ModifierInvocation",
                "src": "5506:9:32"
              }
            ],
            "name": "setReporters",
            "nameLocation": "5407:12:32",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 11314,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "5481:8:32"
            },
            "parameters": {
              "id": 11313,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 11312,
                  "mutability": "mutable",
                  "name": "_queryResponseReporters",
                  "nameLocation": "5439:23:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 11325,
                  "src": "5420:42:32",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 11310,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "5420:7:32",
                      "stateMutability": "nonpayable",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 11311,
                    "nodeType": "ArrayTypeName",
                    "src": "5420:9:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5419:44:32"
            },
            "returnParameters": {
              "id": 11317,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5521:0:32"
            },
            "scope": 12527,
            "src": "5398:196:32",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              27627
            ],
            "body": {
              "id": 11341,
              "nodeType": "Block",
              "src": "5992:64:32",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 11338,
                        "name": "_exReporters",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 11329,
                        "src": "6035:12:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                          "typeString": "address[] calldata"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                          "typeString": "address[] calldata"
                        }
                      ],
                      "expression": {
                        "id": 11335,
                        "name": "WitOracleDataLib",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20110,
                        "src": "6003:16:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_WitOracleDataLib_$20110_$",
                          "typeString": "type(library WitOracleDataLib)"
                        }
                      },
                      "id": 11337,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "6020:14:32",
                      "memberName": "unsetReporters",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 18647,
                      "src": "6003:31:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_delegatecall_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$returns$__$",
                        "typeString": "function (address[] memory)"
                      }
                    },
                    "id": 11339,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6003:45:32",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 11340,
                  "nodeType": "ExpressionStatement",
                  "src": "6003:45:32"
                }
              ]
            },
            "documentation": {
              "id": 11326,
              "nodeType": "StructuredDocumentation",
              "src": "5602:270:32",
              "text": "Removes given addresses from the active reporters control list.\n @dev Can only be called from the owner address.\n @dev Emits the `ReportersUnset` event. \n @param _exReporters List of addresses to be added to the active reporters control list."
            },
            "functionSelector": "28a78d9b",
            "id": 11342,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 11333,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 11332,
                  "name": "onlyOwner",
                  "nameLocations": [
                    "5977:9:32"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 326,
                  "src": "5977:9:32"
                },
                "nodeType": "ModifierInvocation",
                "src": "5977:9:32"
              }
            ],
            "name": "unsetReporters",
            "nameLocation": "5887:14:32",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 11331,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "5952:8:32"
            },
            "parameters": {
              "id": 11330,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 11329,
                  "mutability": "mutable",
                  "name": "_exReporters",
                  "nameLocation": "5921:12:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 11342,
                  "src": "5902:31:32",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 11327,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "5902:7:32",
                      "stateMutability": "nonpayable",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 11328,
                    "nodeType": "ArrayTypeName",
                    "src": "5902:9:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5901:33:32"
            },
            "returnParameters": {
              "id": 11334,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5992:0:32"
            },
            "scope": 12527,
            "src": "5878:178:32",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              28630
            ],
            "body": {
              "id": 11357,
              "nodeType": "Block",
              "src": "6699:52:32",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 11354,
                        "name": "_gasPrice",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 11345,
                        "src": "6733:9:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 11353,
                      "name": "estimateBaseFee",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        11358,
                        11386,
                        10356
                      ],
                      "referencedDeclaration": 10356,
                      "src": "6717:15:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$",
                        "typeString": "function (uint256) view returns (uint256)"
                      }
                    },
                    "id": 11355,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6717:26:32",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 11352,
                  "id": 11356,
                  "nodeType": "Return",
                  "src": "6710:33:32"
                }
              ]
            },
            "documentation": {
              "id": 11343,
              "nodeType": "StructuredDocumentation",
              "src": "6310:252:32",
              "text": "@notice Estimate the minimum reward required for posting a data request.\n @dev Underestimates if the size of returned data is greater than `_resultMaxSize`. \n @param _gasPrice Expected gas price to pay upon posting the data request."
            },
            "functionSelector": "7bd88218",
            "id": 11358,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "estimateBaseFee",
            "nameLocation": "6577:15:32",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 11349,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "6658:8:32"
            },
            "parameters": {
              "id": 11348,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 11345,
                  "mutability": "mutable",
                  "name": "_gasPrice",
                  "nameLocation": "6601:9:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 11358,
                  "src": "6593:17:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 11344,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6593:7:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 11347,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 11358,
                  "src": "6612:6:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint16",
                    "typeString": "uint16"
                  },
                  "typeName": {
                    "id": 11346,
                    "name": "uint16",
                    "nodeType": "ElementaryTypeName",
                    "src": "6612:6:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint16",
                      "typeString": "uint16"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "6592:27:32"
            },
            "returnParameters": {
              "id": 11352,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 11351,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 11358,
                  "src": "6685:7:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 11350,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6685:7:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "6684:9:32"
            },
            "scope": 12527,
            "src": "6568:183:32",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              28640
            ],
            "body": {
              "id": 11385,
              "nodeType": "Block",
              "src": "7273:313:32",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "id": 11375,
                                "name": "radHash",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 11363,
                                "src": "7415:7:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "expression": {
                                "expression": {
                                  "id": 11372,
                                  "name": "Witnet",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 40741,
                                  "src": "7393:6:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                    "typeString": "type(library Witnet)"
                                  }
                                },
                                "id": 11373,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "7400:9:32",
                                "memberName": "RadonHash",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 37153,
                                "src": "7393:16:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_userDefinedValueType$_RadonHash_$37153_$",
                                  "typeString": "type(Witnet.RadonHash)"
                                }
                              },
                              "id": 11374,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberLocation": "7410:4:32",
                              "memberName": "wrap",
                              "nodeType": "MemberAccess",
                              "src": "7393:21:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_wrap_pure$_t_bytes32_$returns$_t_userDefinedValueType$_RadonHash_$37153_$",
                                "typeString": "function (bytes32) pure returns (Witnet.RadonHash)"
                              }
                            },
                            "id": 11376,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "7393:30:32",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_userDefinedValueType$_RadonHash_$37153",
                              "typeString": "Witnet.RadonHash"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_userDefinedValueType$_RadonHash_$37153",
                              "typeString": "Witnet.RadonHash"
                            }
                          ],
                          "expression": {
                            "id": 11370,
                            "name": "registry",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10085,
                            "src": "7361:8:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_IWitOracleRadonRegistry_$27394",
                              "typeString": "contract IWitOracleRadonRegistry"
                            }
                          },
                          "id": 11371,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "7370:22:32",
                          "memberName": "isVerifiedRadonRequest",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 27177,
                          "src": "7361:31:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$_t_userDefinedValueType$_RadonHash_$37153_$returns$_t_bool_$",
                            "typeString": "function (Witnet.RadonHash) view external returns (bool)"
                          }
                        },
                        "id": 11377,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "7361:63:32",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "756e6b6e6f776e207261646f6e2068617368",
                        "id": 11378,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "7439:20:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_50757b9aa183a946269afed02952ab5f4a5b0f0f864c36fcc67165d2e686fc39",
                          "typeString": "literal_string \"unknown radon hash\""
                        },
                        "value": "unknown radon hash"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_50757b9aa183a946269afed02952ab5f4a5b0f0f864c36fcc67165d2e686fc39",
                          "typeString": "literal_string \"unknown radon hash\""
                        }
                      ],
                      "id": 11369,
                      "name": "_require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 26494,
                      "src": "7338:8:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) view"
                      }
                    },
                    "id": 11379,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7338:132:32",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 11380,
                  "nodeType": "ExpressionStatement",
                  "src": "7338:132:32"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 11382,
                        "name": "gasPrice",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 11361,
                        "src": "7569:8:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 11381,
                      "name": "estimateBaseFee",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        11358,
                        11386,
                        10356
                      ],
                      "referencedDeclaration": 10356,
                      "src": "7553:15:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$",
                        "typeString": "function (uint256) view returns (uint256)"
                      }
                    },
                    "id": 11383,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7553:25:32",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 11368,
                  "id": 11384,
                  "nodeType": "Return",
                  "src": "7546:32:32"
                }
              ]
            },
            "documentation": {
              "id": 11359,
              "nodeType": "StructuredDocumentation",
              "src": "6759:369:32",
              "text": "@notice Estimate the minimum reward required for posting a data request.\n @dev Underestimates if the size of returned data is greater than `resultMaxSize`. \n @param gasPrice Expected gas price to pay upon posting the data request.\n @param radHash The hash of some Witnet Data Request previously posted in the WitOracleRadonRegistry registry."
            },
            "functionSelector": "9cc56e67",
            "id": 11386,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "estimateBaseFee",
            "nameLocation": "7143:15:32",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 11365,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "7232:8:32"
            },
            "parameters": {
              "id": 11364,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 11361,
                  "mutability": "mutable",
                  "name": "gasPrice",
                  "nameLocation": "7167:8:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 11386,
                  "src": "7159:16:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 11360,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "7159:7:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 11363,
                  "mutability": "mutable",
                  "name": "radHash",
                  "nameLocation": "7185:7:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 11386,
                  "src": "7177:15:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 11362,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "7177:7:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7158:35:32"
            },
            "returnParameters": {
              "id": 11368,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 11367,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 11386,
                  "src": "7259:7:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 11366,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "7259:7:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7258:9:32"
            },
            "scope": 12527,
            "src": "7134:452:32",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              28714
            ],
            "body": {
              "id": 11440,
              "nodeType": "Block",
              "src": "7697:265:32",
              "statements": [
                {
                  "assignments": [
                    11400
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 11400,
                      "mutability": "mutable",
                      "name": "_ids",
                      "nameLocation": "7732:4:32",
                      "nodeType": "VariableDeclaration",
                      "scope": 11440,
                      "src": "7708:28:32",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_userDefinedValueType$_QueryId_$37151_$dyn_memory_ptr",
                        "typeString": "Witnet.QueryId[]"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 11398,
                          "nodeType": "UserDefinedTypeName",
                          "pathNode": {
                            "id": 11397,
                            "name": "Witnet.QueryId",
                            "nameLocations": [
                              "7708:6:32",
                              "7715:7:32"
                            ],
                            "nodeType": "IdentifierPath",
                            "referencedDeclaration": 37151,
                            "src": "7708:14:32"
                          },
                          "referencedDeclaration": 37151,
                          "src": "7708:14:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_userDefinedValueType$_QueryId_$37151",
                            "typeString": "Witnet.QueryId"
                          }
                        },
                        "id": 11399,
                        "nodeType": "ArrayTypeName",
                        "src": "7708:16:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_userDefinedValueType$_QueryId_$37151_$dyn_storage_ptr",
                          "typeString": "Witnet.QueryId[]"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 11408,
                  "initialValue": {
                    "arguments": [
                      {
                        "expression": {
                          "id": 11405,
                          "name": "queryIds",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 11389,
                          "src": "7760:8:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
                            "typeString": "uint256[] calldata"
                          }
                        },
                        "id": 11406,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "7769:6:32",
                        "memberName": "length",
                        "nodeType": "MemberAccess",
                        "src": "7760:15:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 11404,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "NewExpression",
                      "src": "7739:20:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_userDefinedValueType$_QueryId_$37151_$dyn_memory_ptr_$",
                        "typeString": "function (uint256) pure returns (Witnet.QueryId[] memory)"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 11402,
                          "nodeType": "UserDefinedTypeName",
                          "pathNode": {
                            "id": 11401,
                            "name": "Witnet.QueryId",
                            "nameLocations": [
                              "7743:6:32",
                              "7750:7:32"
                            ],
                            "nodeType": "IdentifierPath",
                            "referencedDeclaration": 37151,
                            "src": "7743:14:32"
                          },
                          "referencedDeclaration": 37151,
                          "src": "7743:14:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_userDefinedValueType$_QueryId_$37151",
                            "typeString": "Witnet.QueryId"
                          }
                        },
                        "id": 11403,
                        "nodeType": "ArrayTypeName",
                        "src": "7743:16:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_userDefinedValueType$_QueryId_$37151_$dyn_storage_ptr",
                          "typeString": "Witnet.QueryId[]"
                        }
                      }
                    },
                    "id": 11407,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7739:37:32",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_userDefinedValueType$_QueryId_$37151_$dyn_memory_ptr",
                      "typeString": "Witnet.QueryId[] memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "7708:68:32"
                },
                {
                  "body": {
                    "id": 11434,
                    "nodeType": "Block",
                    "src": "7829:81:32",
                    "statements": [
                      {
                        "expression": {
                          "id": 11432,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "baseExpression": {
                              "id": 11419,
                              "name": "_ids",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 11400,
                              "src": "7844:4:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_userDefinedValueType$_QueryId_$37151_$dyn_memory_ptr",
                                "typeString": "Witnet.QueryId[] memory"
                              }
                            },
                            "id": 11421,
                            "indexExpression": {
                              "id": 11420,
                              "name": "_ix",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 11410,
                              "src": "7849:3:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "7844:9:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_userDefinedValueType$_QueryId_$37151",
                              "typeString": "Witnet.QueryId"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "baseExpression": {
                                      "id": 11427,
                                      "name": "queryIds",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 11389,
                                      "src": "7883:8:32",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
                                        "typeString": "uint256[] calldata"
                                      }
                                    },
                                    "id": 11429,
                                    "indexExpression": {
                                      "id": 11428,
                                      "name": "_ix",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 11410,
                                      "src": "7892:3:32",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "nodeType": "IndexAccess",
                                    "src": "7883:13:32",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  ],
                                  "id": 11426,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "nodeType": "ElementaryTypeNameExpression",
                                  "src": "7876:6:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_uint64_$",
                                    "typeString": "type(uint64)"
                                  },
                                  "typeName": {
                                    "id": 11425,
                                    "name": "uint64",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "7876:6:32",
                                    "typeDescriptions": {}
                                  }
                                },
                                "id": 11430,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "typeConversion",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "7876:21:32",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint64",
                                  "typeString": "uint64"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint64",
                                  "typeString": "uint64"
                                }
                              ],
                              "expression": {
                                "expression": {
                                  "id": 11422,
                                  "name": "Witnet",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 40741,
                                  "src": "7856:6:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                    "typeString": "type(library Witnet)"
                                  }
                                },
                                "id": 11423,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "7863:7:32",
                                "memberName": "QueryId",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 37151,
                                "src": "7856:14:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_userDefinedValueType$_QueryId_$37151_$",
                                  "typeString": "type(Witnet.QueryId)"
                                }
                              },
                              "id": 11424,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberLocation": "7871:4:32",
                              "memberName": "wrap",
                              "nodeType": "MemberAccess",
                              "src": "7856:19:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_wrap_pure$_t_uint64_$returns$_t_userDefinedValueType$_QueryId_$37151_$",
                                "typeString": "function (uint64) pure returns (Witnet.QueryId)"
                              }
                            },
                            "id": 11431,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "7856:42:32",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_userDefinedValueType$_QueryId_$37151",
                              "typeString": "Witnet.QueryId"
                            }
                          },
                          "src": "7844:54:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_userDefinedValueType$_QueryId_$37151",
                            "typeString": "Witnet.QueryId"
                          }
                        },
                        "id": 11433,
                        "nodeType": "ExpressionStatement",
                        "src": "7844:54:32"
                      }
                    ]
                  },
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 11415,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 11412,
                      "name": "_ix",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 11410,
                      "src": "7802:3:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "expression": {
                        "id": 11413,
                        "name": "_ids",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 11400,
                        "src": "7808:4:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_userDefinedValueType$_QueryId_$37151_$dyn_memory_ptr",
                          "typeString": "Witnet.QueryId[] memory"
                        }
                      },
                      "id": 11414,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "7813:6:32",
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "src": "7808:11:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "7802:17:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 11435,
                  "initializationExpression": {
                    "assignments": [
                      11410
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 11410,
                        "mutability": "mutable",
                        "name": "_ix",
                        "nameLocation": "7797:3:32",
                        "nodeType": "VariableDeclaration",
                        "scope": 11435,
                        "src": "7792:8:32",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 11409,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "7792:4:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "visibility": "internal"
                      }
                    ],
                    "id": 11411,
                    "nodeType": "VariableDeclarationStatement",
                    "src": "7792:8:32"
                  },
                  "isSimpleCounterLoop": true,
                  "loopExpression": {
                    "expression": {
                      "id": 11417,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "7821:6:32",
                      "subExpression": {
                        "id": 11416,
                        "name": "_ix",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 11410,
                        "src": "7821:3:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 11418,
                    "nodeType": "ExpressionStatement",
                    "src": "7821:6:32"
                  },
                  "nodeType": "ForStatement",
                  "src": "7787:123:32"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 11437,
                        "name": "_ids",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 11400,
                        "src": "7949:4:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_userDefinedValueType$_QueryId_$37151_$dyn_memory_ptr",
                          "typeString": "Witnet.QueryId[] memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_array$_t_userDefinedValueType$_QueryId_$37151_$dyn_memory_ptr",
                          "typeString": "Witnet.QueryId[] memory"
                        }
                      ],
                      "id": 11436,
                      "name": "extractRadonBytecodes",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 12141,
                      "src": "7927:21:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_array$_t_userDefinedValueType$_QueryId_$37151_$dyn_memory_ptr_$returns$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$",
                        "typeString": "function (Witnet.QueryId[] memory) view returns (bytes memory[] memory)"
                      }
                    },
                    "id": 11438,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7927:27:32",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr",
                      "typeString": "bytes memory[] memory"
                    }
                  },
                  "functionReturnParameters": 11394,
                  "id": 11439,
                  "nodeType": "Return",
                  "src": "7920:34:32"
                }
              ]
            },
            "functionSelector": "45ea6c17",
            "id": 11441,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "extractWitnetDataRequests",
            "nameLocation": "7603:25:32",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 11390,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 11389,
                  "mutability": "mutable",
                  "name": "queryIds",
                  "nameLocation": "7648:8:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 11441,
                  "src": "7629:27:32",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 11387,
                      "name": "uint256",
                      "nodeType": "ElementaryTypeName",
                      "src": "7629:7:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 11388,
                    "nodeType": "ArrayTypeName",
                    "src": "7629:9:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7628:29:32"
            },
            "returnParameters": {
              "id": 11394,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 11393,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 11441,
                  "src": "7681:14:32",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr",
                    "typeString": "bytes[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 11391,
                      "name": "bytes",
                      "nodeType": "ElementaryTypeName",
                      "src": "7681:5:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_storage_ptr",
                        "typeString": "bytes"
                      }
                    },
                    "id": 11392,
                    "nodeType": "ArrayTypeName",
                    "src": "7681:7:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr",
                      "typeString": "bytes[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7680:16:32"
            },
            "scope": 12527,
            "src": "7594:368:32",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              28721
            ],
            "body": {
              "id": 11455,
              "nodeType": "Block",
              "src": "8064:62:32",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 11450,
                        "name": "queryId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 11443,
                        "src": "8087:7:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 11449,
                      "name": "deleteQuery",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 11277,
                      "src": "8075:11:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_userDefinedValueType$_QueryEvmReward_$37147_$",
                        "typeString": "function (uint256) returns (Witnet.QueryEvmReward)"
                      }
                    },
                    "id": 11451,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8075:20:32",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_userDefinedValueType$_QueryEvmReward_$37147",
                      "typeString": "Witnet.QueryEvmReward"
                    }
                  },
                  "id": 11452,
                  "nodeType": "ExpressionStatement",
                  "src": "8075:20:32"
                },
                {
                  "expression": {
                    "hexValue": "",
                    "id": 11453,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "hexString",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "8113:5:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
                      "typeString": "literal_string \"\""
                    },
                    "value": ""
                  },
                  "functionReturnParameters": 11448,
                  "id": 11454,
                  "nodeType": "Return",
                  "src": "8106:12:32"
                }
              ]
            },
            "functionSelector": "08b7e85e",
            "id": 11456,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "fetchQueryResponse",
            "nameLocation": "7979:18:32",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 11445,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "8023:8:32"
            },
            "parameters": {
              "id": 11444,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 11443,
                  "mutability": "mutable",
                  "name": "queryId",
                  "nameLocation": "8006:7:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 11456,
                  "src": "7998:15:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 11442,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "7998:7:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7997:17:32"
            },
            "returnParameters": {
              "id": 11448,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 11447,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 11456,
                  "src": "8050:12:32",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 11446,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "8050:5:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8049:14:32"
            },
            "scope": 12527,
            "src": "7970:156:32",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              28648
            ],
            "body": {
              "id": 11475,
              "nodeType": "Block",
              "src": "8275:159:32",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "id": 11468,
                            "name": "queryId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 11458,
                            "src": "8356:7:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "id": 11467,
                          "name": "getQueryRequest",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 11597,
                          "src": "8340:15:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_struct$_QueryRequest_$28595_memory_ptr_$",
                            "typeString": "function (uint256) view returns (struct IWitOracleLegacy.QueryRequest memory)"
                          }
                        },
                        "id": 11469,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "8340:24:32",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_QueryRequest_$28595_memory_ptr",
                          "typeString": "struct IWitOracleLegacy.QueryRequest memory"
                        }
                      },
                      {
                        "arguments": [
                          {
                            "id": 11471,
                            "name": "queryId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 11458,
                            "src": "8406:7:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "id": 11470,
                          "name": "getQueryResponse",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [
                            11710,
                            10512
                          ],
                          "referencedDeclaration": 11710,
                          "src": "8389:16:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_struct$_QueryResponse_$28606_memory_ptr_$",
                            "typeString": "function (uint256) view returns (struct IWitOracleLegacy.QueryResponse memory)"
                          }
                        },
                        "id": 11472,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "8389:25:32",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_QueryResponse_$28606_memory_ptr",
                          "typeString": "struct IWitOracleLegacy.QueryResponse memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_QueryRequest_$28595_memory_ptr",
                          "typeString": "struct IWitOracleLegacy.QueryRequest memory"
                        },
                        {
                          "typeIdentifier": "t_struct$_QueryResponse_$28606_memory_ptr",
                          "typeString": "struct IWitOracleLegacy.QueryResponse memory"
                        }
                      ],
                      "expression": {
                        "id": 11465,
                        "name": "IWitOracleLegacy",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 28786,
                        "src": "8293:16:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_IWitOracleLegacy_$28786_$",
                          "typeString": "type(contract IWitOracleLegacy)"
                        }
                      },
                      "id": 11466,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "8310:5:32",
                      "memberName": "Query",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 28581,
                      "src": "8293:22:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_struct$_Query_$28581_storage_ptr_$",
                        "typeString": "type(struct IWitOracleLegacy.Query storage pointer)"
                      }
                    },
                    "id": 11473,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "structConstructorCall",
                    "lValueRequested": false,
                    "nameLocations": [
                      "8331:7:32",
                      "8379:8:32"
                    ],
                    "names": [
                      "request",
                      "response"
                    ],
                    "nodeType": "FunctionCall",
                    "src": "8293:133:32",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Query_$28581_memory_ptr",
                      "typeString": "struct IWitOracleLegacy.Query memory"
                    }
                  },
                  "functionReturnParameters": 11464,
                  "id": 11474,
                  "nodeType": "Return",
                  "src": "8286:140:32"
                }
              ]
            },
            "functionSelector": "aeb2ffc1",
            "id": 11476,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getQuery",
            "nameLocation": "8143:8:32",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 11460,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "8187:8:32"
            },
            "parameters": {
              "id": 11459,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 11458,
                  "mutability": "mutable",
                  "name": "queryId",
                  "nameLocation": "8160:7:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 11476,
                  "src": "8152:15:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 11457,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8152:7:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8151:17:32"
            },
            "returnParameters": {
              "id": 11464,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 11463,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 11476,
                  "src": "8239:29:32",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Query_$28581_memory_ptr",
                    "typeString": "struct IWitOracleLegacy.Query"
                  },
                  "typeName": {
                    "id": 11462,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 11461,
                      "name": "IWitOracleLegacy.Query",
                      "nameLocations": [
                        "8239:16:32",
                        "8256:5:32"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 28581,
                      "src": "8239:22:32"
                    },
                    "referencedDeclaration": 28581,
                    "src": "8239:22:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Query_$28581_storage_ptr",
                      "typeString": "struct IWitOracleLegacy.Query"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8238:31:32"
            },
            "scope": 12527,
            "src": "8134:300:32",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              28656
            ],
            "body": {
              "id": 11596,
              "nodeType": "Block",
              "src": "8592:1933:32",
              "statements": [
                {
                  "assignments": [
                    11489
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 11489,
                      "mutability": "mutable",
                      "name": "__query",
                      "nameLocation": "8634:7:32",
                      "nodeType": "VariableDeclaration",
                      "scope": 11596,
                      "src": "8603:38:32",
                      "stateVariable": false,
                      "storageLocation": "storage",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                        "typeString": "struct WitOracleDataLib.Query"
                      },
                      "typeName": {
                        "id": 11488,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 11487,
                          "name": "WitOracleDataLib.Query",
                          "nameLocations": [
                            "8603:16:32",
                            "8620:5:32"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 18074,
                          "src": "8603:22:32"
                        },
                        "referencedDeclaration": 18074,
                        "src": "8603:22:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                          "typeString": "struct WitOracleDataLib.Query"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 11495,
                  "initialValue": {
                    "baseExpression": {
                      "expression": {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 11490,
                          "name": "__storage",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 11058,
                          "src": "8644:9:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$18055_storage_ptr_$",
                            "typeString": "function () pure returns (struct WitOracleDataLib.Storage storage pointer)"
                          }
                        },
                        "id": 11491,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "8644:11:32",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Storage_$18055_storage_ptr",
                          "typeString": "struct WitOracleDataLib.Storage storage pointer"
                        }
                      },
                      "id": 11492,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "8656:7:32",
                      "memberName": "queries",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 18042,
                      "src": "8644:19:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Query_$18074_storage_$",
                        "typeString": "mapping(uint256 => struct WitOracleDataLib.Query storage ref)"
                      }
                    },
                    "id": 11494,
                    "indexExpression": {
                      "id": 11493,
                      "name": "queryId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 11478,
                      "src": "8664:7:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "8644:28:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Query_$18074_storage",
                      "typeString": "struct WitOracleDataLib.Query storage ref"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "8603:69:32"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 11501,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "expression": {
                        "expression": {
                          "expression": {
                            "id": 11496,
                            "name": "__query",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 11489,
                            "src": "8687:7:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                              "typeString": "struct WitOracleDataLib.Query storage pointer"
                            }
                          },
                          "id": 11497,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "8695:7:32",
                          "memberName": "request",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 18058,
                          "src": "8687:15:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_QueryRequest_$18087_storage",
                            "typeString": "struct WitOracleDataLib.QueryRequest storage ref"
                          }
                        },
                        "id": 11498,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "8703:13:32",
                        "memberName": "radonBytecode",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 18082,
                        "src": "8687:29:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage",
                          "typeString": "bytes storage ref"
                        }
                      },
                      "id": 11499,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "8717:6:32",
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "src": "8687:36:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">",
                    "rightExpression": {
                      "hexValue": "3635353335",
                      "id": 11500,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "8726:5:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_65535_by_1",
                        "typeString": "int_const 65535"
                      },
                      "value": "65535"
                    },
                    "src": "8687:44:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "condition": {
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 11526,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "expression": {
                          "expression": {
                            "id": 11522,
                            "name": "__query",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 11489,
                            "src": "9214:7:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                              "typeString": "struct WitOracleDataLib.Query storage pointer"
                            }
                          },
                          "id": 11523,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "9222:7:32",
                          "memberName": "request",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 18058,
                          "src": "9214:15:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_QueryRequest_$18087_storage",
                            "typeString": "struct WitOracleDataLib.QueryRequest storage ref"
                          }
                        },
                        "id": 11524,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "9230:2:32",
                        "memberName": "_1",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 18086,
                        "src": "9214:18:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": ">",
                      "rightExpression": {
                        "hexValue": "30",
                        "id": 11525,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "9235:1:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      },
                      "src": "9214:22:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "falseBody": {
                      "id": 11593,
                      "nodeType": "Block",
                      "src": "9868:650:32",
                      "statements": [
                        {
                          "expression": {
                            "arguments": [
                              {
                                "expression": {
                                  "expression": {
                                    "id": 11561,
                                    "name": "__query",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 11489,
                                    "src": "9986:7:32",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                      "typeString": "struct WitOracleDataLib.Query storage pointer"
                                    }
                                  },
                                  "id": 11562,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "9994:7:32",
                                  "memberName": "request",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 18058,
                                  "src": "9986:15:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_QueryRequest_$18087_storage",
                                    "typeString": "struct WitOracleDataLib.QueryRequest storage ref"
                                  }
                                },
                                "id": 11563,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "10002:9:32",
                                "memberName": "requester",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 18076,
                                "src": "9986:25:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              {
                                "expression": {
                                  "expression": {
                                    "id": 11564,
                                    "name": "__query",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 11489,
                                    "src": "10043:7:32",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                      "typeString": "struct WitOracleDataLib.Query storage pointer"
                                    }
                                  },
                                  "id": 11565,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "10051:7:32",
                                  "memberName": "request",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 18058,
                                  "src": "10043:15:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_QueryRequest_$18087_storage",
                                    "typeString": "struct WitOracleDataLib.QueryRequest storage ref"
                                  }
                                },
                                "id": 11566,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "10059:11:32",
                                "memberName": "callbackGas",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 18078,
                                "src": "10043:27:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint24",
                                  "typeString": "uint24"
                                }
                              },
                              {
                                "arguments": [
                                  {
                                    "expression": {
                                      "id": 11570,
                                      "name": "__query",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 11489,
                                      "src": "10129:7:32",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                        "typeString": "struct WitOracleDataLib.Query storage pointer"
                                      }
                                    },
                                    "id": 11571,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "10137:6:32",
                                    "memberName": "reward",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 18070,
                                    "src": "10129:14:32",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_userDefinedValueType$_QueryEvmReward_$37147",
                                      "typeString": "Witnet.QueryEvmReward"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_userDefinedValueType$_QueryEvmReward_$37147",
                                      "typeString": "Witnet.QueryEvmReward"
                                    }
                                  ],
                                  "expression": {
                                    "expression": {
                                      "id": 11567,
                                      "name": "Witnet",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 40741,
                                      "src": "10100:6:32",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                        "typeString": "type(library Witnet)"
                                      }
                                    },
                                    "id": 11568,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "10107:14:32",
                                    "memberName": "QueryEvmReward",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 37147,
                                    "src": "10100:21:32",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_userDefinedValueType$_QueryEvmReward_$37147_$",
                                      "typeString": "type(Witnet.QueryEvmReward)"
                                    }
                                  },
                                  "id": 11569,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "memberLocation": "10122:6:32",
                                  "memberName": "unwrap",
                                  "nodeType": "MemberAccess",
                                  "src": "10100:28:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_QueryEvmReward_$37147_$returns$_t_uint72_$",
                                    "typeString": "function (Witnet.QueryEvmReward) pure returns (uint72)"
                                  }
                                },
                                "id": 11572,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "10100:44:32",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint72",
                                  "typeString": "uint72"
                                }
                              },
                              {
                                "expression": {
                                  "expression": {
                                    "id": 11573,
                                    "name": "__query",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 11489,
                                    "src": "10178:7:32",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                      "typeString": "struct WitOracleDataLib.Query storage pointer"
                                    }
                                  },
                                  "id": 11574,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "10186:7:32",
                                  "memberName": "request",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 18058,
                                  "src": "10178:15:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_QueryRequest_$18087_storage",
                                    "typeString": "struct WitOracleDataLib.QueryRequest storage ref"
                                  }
                                },
                                "id": 11575,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "10194:13:32",
                                "memberName": "radonBytecode",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 18082,
                                "src": "10178:29:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes_storage",
                                  "typeString": "bytes storage ref"
                                }
                              },
                              {
                                "expression": {
                                  "expression": {
                                    "id": 11576,
                                    "name": "__query",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 11489,
                                    "src": "10237:7:32",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                      "typeString": "struct WitOracleDataLib.Query storage pointer"
                                    }
                                  },
                                  "id": 11577,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "10245:7:32",
                                  "memberName": "request",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 18058,
                                  "src": "10237:15:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_QueryRequest_$18087_storage",
                                    "typeString": "struct WitOracleDataLib.QueryRequest storage ref"
                                  }
                                },
                                "id": 11578,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "10253:9:32",
                                "memberName": "radonHash",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 18084,
                                "src": "10237:25:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "expression": {
                                          "expression": {
                                            "id": 11583,
                                            "name": "__query",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 11489,
                                            "src": "10363:7:32",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                              "typeString": "struct WitOracleDataLib.Query storage pointer"
                                            }
                                          },
                                          "id": 11584,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberLocation": "10371:9:32",
                                          "memberName": "slaParams",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": 18064,
                                          "src": "10363:17:32",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_struct$_QuerySLA_$37373_storage",
                                            "typeString": "struct Witnet.QuerySLA storage ref"
                                          }
                                        },
                                        "id": 11585,
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "10381:16:32",
                                        "memberName": "witCommitteeSize",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 37370,
                                        "src": "10363:34:32",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint16",
                                          "typeString": "uint16"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_uint16",
                                          "typeString": "uint16"
                                        }
                                      ],
                                      "id": 11582,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "nodeType": "ElementaryTypeNameExpression",
                                      "src": "10357:5:32",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_uint8_$",
                                        "typeString": "type(uint8)"
                                      },
                                      "typeName": {
                                        "id": 11581,
                                        "name": "uint8",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "10357:5:32",
                                        "typeDescriptions": {}
                                      }
                                    },
                                    "id": 11586,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "typeConversion",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "10357:41:32",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint8",
                                      "typeString": "uint8"
                                    }
                                  },
                                  {
                                    "expression": {
                                      "expression": {
                                        "id": 11587,
                                        "name": "__query",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 11489,
                                        "src": "10436:7:32",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                          "typeString": "struct WitOracleDataLib.Query storage pointer"
                                        }
                                      },
                                      "id": 11588,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberLocation": "10444:9:32",
                                      "memberName": "slaParams",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 18064,
                                      "src": "10436:17:32",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_QuerySLA_$37373_storage",
                                        "typeString": "struct Witnet.QuerySLA storage ref"
                                      }
                                    },
                                    "id": 11589,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "10454:16:32",
                                    "memberName": "witUnitaryReward",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 37372,
                                    "src": "10436:34:32",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint64",
                                      "typeString": "uint64"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint8",
                                      "typeString": "uint8"
                                    },
                                    {
                                      "typeIdentifier": "t_uint64",
                                      "typeString": "uint64"
                                    }
                                  ],
                                  "expression": {
                                    "id": 11579,
                                    "name": "IWitOracleLegacy",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 28786,
                                    "src": "10294:16:32",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_IWitOracleLegacy_$28786_$",
                                      "typeString": "type(contract IWitOracleLegacy)"
                                    }
                                  },
                                  "id": 11580,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "10311:8:32",
                                  "memberName": "RadonSLA",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 28611,
                                  "src": "10294:25:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_struct$_RadonSLA_$28611_storage_ptr_$",
                                    "typeString": "type(struct IWitOracleLegacy.RadonSLA storage pointer)"
                                  }
                                },
                                "id": 11590,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "structConstructorCall",
                                "lValueRequested": false,
                                "nameLocations": [
                                  "10343:12:32",
                                  "10421:13:32"
                                ],
                                "names": [
                                  "numWitnesses",
                                  "witnessReward"
                                ],
                                "nodeType": "FunctionCall",
                                "src": "10294:196:32",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_RadonSLA_$28611_memory_ptr",
                                  "typeString": "struct IWitOracleLegacy.RadonSLA memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_uint24",
                                  "typeString": "uint24"
                                },
                                {
                                  "typeIdentifier": "t_uint72",
                                  "typeString": "uint72"
                                },
                                {
                                  "typeIdentifier": "t_bytes_storage",
                                  "typeString": "bytes storage ref"
                                },
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_struct$_RadonSLA_$28611_memory_ptr",
                                  "typeString": "struct IWitOracleLegacy.RadonSLA memory"
                                }
                              ],
                              "expression": {
                                "id": 11559,
                                "name": "IWitOracleLegacy",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 28786,
                                "src": "9926:16:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_IWitOracleLegacy_$28786_$",
                                  "typeString": "type(contract IWitOracleLegacy)"
                                }
                              },
                              "id": 11560,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "9943:12:32",
                              "memberName": "QueryRequest",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 28595,
                              "src": "9926:29:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_struct$_QueryRequest_$28595_storage_ptr_$",
                                "typeString": "type(struct IWitOracleLegacy.QueryRequest storage pointer)"
                              }
                            },
                            "id": 11591,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "structConstructorCall",
                            "lValueRequested": false,
                            "nameLocations": [
                              "9975:9:32",
                              "10030:11:32",
                              "10089:9:32",
                              "10163:13:32",
                              "10226:9:32",
                              "10281:11:32"
                            ],
                            "names": [
                              "requester",
                              "callbackGas",
                              "evmReward",
                              "radonBytecode",
                              "radonHash",
                              "radonParams"
                            ],
                            "nodeType": "FunctionCall",
                            "src": "9926:580:32",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_QueryRequest_$28595_memory_ptr",
                              "typeString": "struct IWitOracleLegacy.QueryRequest memory"
                            }
                          },
                          "functionReturnParameters": 11484,
                          "id": 11592,
                          "nodeType": "Return",
                          "src": "9919:587:32"
                        }
                      ]
                    },
                    "id": 11594,
                    "nodeType": "IfStatement",
                    "src": "9210:1308:32",
                    "trueBody": {
                      "id": 11558,
                      "nodeType": "Block",
                      "src": "9238:624:32",
                      "statements": [
                        {
                          "expression": {
                            "arguments": [
                              {
                                "expression": {
                                  "expression": {
                                    "id": 11529,
                                    "name": "__query",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 11489,
                                    "src": "9356:7:32",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                      "typeString": "struct WitOracleDataLib.Query storage pointer"
                                    }
                                  },
                                  "id": 11530,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "9364:7:32",
                                  "memberName": "request",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 18058,
                                  "src": "9356:15:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_QueryRequest_$18087_storage",
                                    "typeString": "struct WitOracleDataLib.QueryRequest storage ref"
                                  }
                                },
                                "id": 11531,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "9372:9:32",
                                "memberName": "requester",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 18076,
                                "src": "9356:25:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              {
                                "expression": {
                                  "expression": {
                                    "id": 11532,
                                    "name": "__query",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 11489,
                                    "src": "9413:7:32",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                      "typeString": "struct WitOracleDataLib.Query storage pointer"
                                    }
                                  },
                                  "id": 11533,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "9421:7:32",
                                  "memberName": "request",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 18058,
                                  "src": "9413:15:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_QueryRequest_$18087_storage",
                                    "typeString": "struct WitOracleDataLib.QueryRequest storage ref"
                                  }
                                },
                                "id": 11534,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "9429:11:32",
                                "memberName": "callbackGas",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 18078,
                                "src": "9413:27:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint24",
                                  "typeString": "uint24"
                                }
                              },
                              {
                                "expression": {
                                  "expression": {
                                    "id": 11535,
                                    "name": "__query",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 11489,
                                    "src": "9470:7:32",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                      "typeString": "struct WitOracleDataLib.Query storage pointer"
                                    }
                                  },
                                  "id": 11536,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "9478:7:32",
                                  "memberName": "request",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 18058,
                                  "src": "9470:15:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_QueryRequest_$18087_storage",
                                    "typeString": "struct WitOracleDataLib.QueryRequest storage ref"
                                  }
                                },
                                "id": 11537,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "9486:2:32",
                                "memberName": "_0",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 18080,
                                "src": "9470:18:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint72",
                                  "typeString": "uint72"
                                }
                              },
                              {
                                "expression": {
                                  "expression": {
                                    "id": 11538,
                                    "name": "__query",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 11489,
                                    "src": "9522:7:32",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                      "typeString": "struct WitOracleDataLib.Query storage pointer"
                                    }
                                  },
                                  "id": 11539,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "9530:7:32",
                                  "memberName": "request",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 18058,
                                  "src": "9522:15:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_QueryRequest_$18087_storage",
                                    "typeString": "struct WitOracleDataLib.QueryRequest storage ref"
                                  }
                                },
                                "id": 11540,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "9538:13:32",
                                "memberName": "radonBytecode",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 18082,
                                "src": "9522:29:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes_storage",
                                  "typeString": "bytes storage ref"
                                }
                              },
                              {
                                "expression": {
                                  "expression": {
                                    "id": 11541,
                                    "name": "__query",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 11489,
                                    "src": "9581:7:32",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                      "typeString": "struct WitOracleDataLib.Query storage pointer"
                                    }
                                  },
                                  "id": 11542,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "9589:7:32",
                                  "memberName": "request",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 18058,
                                  "src": "9581:15:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_QueryRequest_$18087_storage",
                                    "typeString": "struct WitOracleDataLib.QueryRequest storage ref"
                                  }
                                },
                                "id": 11543,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "9597:9:32",
                                "memberName": "radonHash",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 18084,
                                "src": "9581:25:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "expression": {
                                          "expression": {
                                            "id": 11548,
                                            "name": "__query",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 11489,
                                            "src": "9707:7:32",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                              "typeString": "struct WitOracleDataLib.Query storage pointer"
                                            }
                                          },
                                          "id": 11549,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberLocation": "9715:9:32",
                                          "memberName": "slaParams",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": 18064,
                                          "src": "9707:17:32",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_struct$_QuerySLA_$37373_storage",
                                            "typeString": "struct Witnet.QuerySLA storage ref"
                                          }
                                        },
                                        "id": 11550,
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "9725:16:32",
                                        "memberName": "witCommitteeSize",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 37370,
                                        "src": "9707:34:32",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint16",
                                          "typeString": "uint16"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_uint16",
                                          "typeString": "uint16"
                                        }
                                      ],
                                      "id": 11547,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "nodeType": "ElementaryTypeNameExpression",
                                      "src": "9701:5:32",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_uint8_$",
                                        "typeString": "type(uint8)"
                                      },
                                      "typeName": {
                                        "id": 11546,
                                        "name": "uint8",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "9701:5:32",
                                        "typeDescriptions": {}
                                      }
                                    },
                                    "id": 11551,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "typeConversion",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "9701:41:32",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint8",
                                      "typeString": "uint8"
                                    }
                                  },
                                  {
                                    "expression": {
                                      "expression": {
                                        "id": 11552,
                                        "name": "__query",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 11489,
                                        "src": "9780:7:32",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                          "typeString": "struct WitOracleDataLib.Query storage pointer"
                                        }
                                      },
                                      "id": 11553,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberLocation": "9788:9:32",
                                      "memberName": "slaParams",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 18064,
                                      "src": "9780:17:32",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_QuerySLA_$37373_storage",
                                        "typeString": "struct Witnet.QuerySLA storage ref"
                                      }
                                    },
                                    "id": 11554,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "9798:16:32",
                                    "memberName": "witUnitaryReward",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 37372,
                                    "src": "9780:34:32",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint64",
                                      "typeString": "uint64"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint8",
                                      "typeString": "uint8"
                                    },
                                    {
                                      "typeIdentifier": "t_uint64",
                                      "typeString": "uint64"
                                    }
                                  ],
                                  "expression": {
                                    "id": 11544,
                                    "name": "IWitOracleLegacy",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 28786,
                                    "src": "9638:16:32",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_IWitOracleLegacy_$28786_$",
                                      "typeString": "type(contract IWitOracleLegacy)"
                                    }
                                  },
                                  "id": 11545,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "9655:8:32",
                                  "memberName": "RadonSLA",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 28611,
                                  "src": "9638:25:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_struct$_RadonSLA_$28611_storage_ptr_$",
                                    "typeString": "type(struct IWitOracleLegacy.RadonSLA storage pointer)"
                                  }
                                },
                                "id": 11555,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "structConstructorCall",
                                "lValueRequested": false,
                                "nameLocations": [
                                  "9687:12:32",
                                  "9765:13:32"
                                ],
                                "names": [
                                  "numWitnesses",
                                  "witnessReward"
                                ],
                                "nodeType": "FunctionCall",
                                "src": "9638:196:32",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_RadonSLA_$28611_memory_ptr",
                                  "typeString": "struct IWitOracleLegacy.RadonSLA memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_uint24",
                                  "typeString": "uint24"
                                },
                                {
                                  "typeIdentifier": "t_uint72",
                                  "typeString": "uint72"
                                },
                                {
                                  "typeIdentifier": "t_bytes_storage",
                                  "typeString": "bytes storage ref"
                                },
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_struct$_RadonSLA_$28611_memory_ptr",
                                  "typeString": "struct IWitOracleLegacy.RadonSLA memory"
                                }
                              ],
                              "expression": {
                                "id": 11527,
                                "name": "IWitOracleLegacy",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 28786,
                                "src": "9296:16:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_IWitOracleLegacy_$28786_$",
                                  "typeString": "type(contract IWitOracleLegacy)"
                                }
                              },
                              "id": 11528,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "9313:12:32",
                              "memberName": "QueryRequest",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 28595,
                              "src": "9296:29:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_struct$_QueryRequest_$28595_storage_ptr_$",
                                "typeString": "type(struct IWitOracleLegacy.QueryRequest storage pointer)"
                              }
                            },
                            "id": 11556,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "structConstructorCall",
                            "lValueRequested": false,
                            "nameLocations": [
                              "9345:9:32",
                              "9400:11:32",
                              "9459:9:32",
                              "9507:13:32",
                              "9570:9:32",
                              "9625:11:32"
                            ],
                            "names": [
                              "requester",
                              "callbackGas",
                              "evmReward",
                              "radonBytecode",
                              "radonHash",
                              "radonParams"
                            ],
                            "nodeType": "FunctionCall",
                            "src": "9296:554:32",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_QueryRequest_$28595_memory_ptr",
                              "typeString": "struct IWitOracleLegacy.QueryRequest memory"
                            }
                          },
                          "functionReturnParameters": 11484,
                          "id": 11557,
                          "nodeType": "Return",
                          "src": "9289:561:32"
                        }
                      ]
                    }
                  },
                  "id": 11595,
                  "nodeType": "IfStatement",
                  "src": "8683:1835:32",
                  "trueBody": {
                    "id": 11521,
                    "nodeType": "Block",
                    "src": "8733:471:32",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "hexValue": "30",
                                  "id": 11506,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "8859:1:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  },
                                  "value": "0"
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  }
                                ],
                                "id": 11505,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "ElementaryTypeNameExpression",
                                "src": "8851:7:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_address_$",
                                  "typeString": "type(address)"
                                },
                                "typeName": {
                                  "id": 11504,
                                  "name": "address",
                                  "nodeType": "ElementaryTypeName",
                                  "src": "8851:7:32",
                                  "typeDescriptions": {}
                                }
                              },
                              "id": 11507,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "8851:10:32",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            {
                              "hexValue": "30",
                              "id": 11508,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "8893:1:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            },
                            {
                              "hexValue": "30",
                              "id": 11509,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "8924:1:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            },
                            {
                              "hexValue": "",
                              "id": 11510,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "hexString",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "8959:5:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
                                "typeString": "literal_string \"\""
                              },
                              "value": ""
                            },
                            {
                              "expression": {
                                "expression": {
                                  "id": 11511,
                                  "name": "__query",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 11489,
                                  "src": "8994:7:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                    "typeString": "struct WitOracleDataLib.Query storage pointer"
                                  }
                                },
                                "id": 11512,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "9002:7:32",
                                "memberName": "request",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 18058,
                                "src": "8994:15:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_QueryRequest_$18087_storage",
                                  "typeString": "struct WitOracleDataLib.QueryRequest storage ref"
                                }
                              },
                              "id": 11513,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "9010:9:32",
                              "memberName": "radonHash",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 18084,
                              "src": "8994:25:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "arguments": [
                                {
                                  "hexValue": "30",
                                  "id": 11516,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "9114:1:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  },
                                  "value": "0"
                                },
                                {
                                  "hexValue": "30",
                                  "id": 11517,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "9153:1:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  },
                                  "value": "0"
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  },
                                  {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  }
                                ],
                                "expression": {
                                  "id": 11514,
                                  "name": "IWitOracleLegacy",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 28786,
                                  "src": "9051:16:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_contract$_IWitOracleLegacy_$28786_$",
                                    "typeString": "type(contract IWitOracleLegacy)"
                                  }
                                },
                                "id": 11515,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "9068:8:32",
                                "memberName": "RadonSLA",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 28611,
                                "src": "9051:25:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_struct$_RadonSLA_$28611_storage_ptr_$",
                                  "typeString": "type(struct IWitOracleLegacy.RadonSLA storage pointer)"
                                }
                              },
                              "id": 11518,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "structConstructorCall",
                              "lValueRequested": false,
                              "nameLocations": [
                                "9100:12:32",
                                "9138:13:32"
                              ],
                              "names": [
                                "numWitnesses",
                                "witnessReward"
                              ],
                              "nodeType": "FunctionCall",
                              "src": "9051:123:32",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_RadonSLA_$28611_memory_ptr",
                                "typeString": "struct IWitOracleLegacy.RadonSLA memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
                                "typeString": "literal_string \"\""
                              },
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_struct$_RadonSLA_$28611_memory_ptr",
                                "typeString": "struct IWitOracleLegacy.RadonSLA memory"
                              }
                            ],
                            "expression": {
                              "id": 11502,
                              "name": "IWitOracleLegacy",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 28786,
                              "src": "8791:16:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_IWitOracleLegacy_$28786_$",
                                "typeString": "type(contract IWitOracleLegacy)"
                              }
                            },
                            "id": 11503,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "8808:12:32",
                            "memberName": "QueryRequest",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 28595,
                            "src": "8791:29:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_struct$_QueryRequest_$28595_storage_ptr_$",
                              "typeString": "type(struct IWitOracleLegacy.QueryRequest storage pointer)"
                            }
                          },
                          "id": 11519,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "structConstructorCall",
                          "lValueRequested": false,
                          "nameLocations": [
                            "8840:9:32",
                            "8880:11:32",
                            "8913:9:32",
                            "8944:13:32",
                            "8983:9:32",
                            "9038:11:32"
                          ],
                          "names": [
                            "requester",
                            "callbackGas",
                            "evmReward",
                            "radonBytecode",
                            "radonHash",
                            "radonParams"
                          ],
                          "nodeType": "FunctionCall",
                          "src": "8791:399:32",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_QueryRequest_$28595_memory_ptr",
                            "typeString": "struct IWitOracleLegacy.QueryRequest memory"
                          }
                        },
                        "functionReturnParameters": 11484,
                        "id": 11520,
                        "nodeType": "Return",
                        "src": "8784:406:32"
                      }
                    ]
                  }
                }
              ]
            },
            "functionSelector": "0aa4112a",
            "id": 11597,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getQueryRequest",
            "nameLocation": "8451:15:32",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 11480,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "8501:8:32"
            },
            "parameters": {
              "id": 11479,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 11478,
                  "mutability": "mutable",
                  "name": "queryId",
                  "nameLocation": "8475:7:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 11597,
                  "src": "8467:15:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 11477,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8467:7:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8466:17:32"
            },
            "returnParameters": {
              "id": 11484,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 11483,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 11597,
                  "src": "8549:36:32",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_QueryRequest_$28595_memory_ptr",
                    "typeString": "struct IWitOracleLegacy.QueryRequest"
                  },
                  "typeName": {
                    "id": 11482,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 11481,
                      "name": "IWitOracleLegacy.QueryRequest",
                      "nameLocations": [
                        "8549:16:32",
                        "8566:12:32"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 28595,
                      "src": "8549:29:32"
                    },
                    "referencedDeclaration": 28595,
                    "src": "8549:29:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_QueryRequest_$28595_storage_ptr",
                      "typeString": "struct IWitOracleLegacy.QueryRequest"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8548:38:32"
            },
            "scope": 12527,
            "src": "8442:2083:32",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              28664
            ],
            "body": {
              "id": 11709,
              "nodeType": "Block",
              "src": "10685:1359:32",
              "statements": [
                {
                  "assignments": [
                    11610
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 11610,
                      "mutability": "mutable",
                      "name": "__query",
                      "nameLocation": "10727:7:32",
                      "nodeType": "VariableDeclaration",
                      "scope": 11709,
                      "src": "10696:38:32",
                      "stateVariable": false,
                      "storageLocation": "storage",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                        "typeString": "struct WitOracleDataLib.Query"
                      },
                      "typeName": {
                        "id": 11609,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 11608,
                          "name": "WitOracleDataLib.Query",
                          "nameLocations": [
                            "10696:16:32",
                            "10713:5:32"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 18074,
                          "src": "10696:22:32"
                        },
                        "referencedDeclaration": 18074,
                        "src": "10696:22:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                          "typeString": "struct WitOracleDataLib.Query"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 11616,
                  "initialValue": {
                    "baseExpression": {
                      "expression": {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 11611,
                          "name": "__storage",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 11058,
                          "src": "10737:9:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$18055_storage_ptr_$",
                            "typeString": "function () pure returns (struct WitOracleDataLib.Storage storage pointer)"
                          }
                        },
                        "id": 11612,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "10737:11:32",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Storage_$18055_storage_ptr",
                          "typeString": "struct WitOracleDataLib.Storage storage pointer"
                        }
                      },
                      "id": 11613,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "10749:7:32",
                      "memberName": "queries",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 18042,
                      "src": "10737:19:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Query_$18074_storage_$",
                        "typeString": "mapping(uint256 => struct WitOracleDataLib.Query storage ref)"
                      }
                    },
                    "id": 11615,
                    "indexExpression": {
                      "id": 11614,
                      "name": "queryId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 11599,
                      "src": "10757:7:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "10737:28:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Query_$18074_storage",
                      "typeString": "struct WitOracleDataLib.Query storage ref"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "10696:69:32"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 11622,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "expression": {
                        "expression": {
                          "expression": {
                            "id": 11617,
                            "name": "__query",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 11610,
                            "src": "10780:7:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                              "typeString": "struct WitOracleDataLib.Query storage pointer"
                            }
                          },
                          "id": 11618,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "10788:7:32",
                          "memberName": "request",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 18058,
                          "src": "10780:15:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_QueryRequest_$18087_storage",
                            "typeString": "struct WitOracleDataLib.QueryRequest storage ref"
                          }
                        },
                        "id": 11619,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "10796:13:32",
                        "memberName": "radonBytecode",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 18082,
                        "src": "10780:29:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage",
                          "typeString": "bytes storage ref"
                        }
                      },
                      "id": 11620,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "10810:6:32",
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "src": "10780:36:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">",
                    "rightExpression": {
                      "hexValue": "3635353335",
                      "id": 11621,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "10819:5:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_65535_by_1",
                        "typeString": "int_const 65535"
                      },
                      "value": "65535"
                    },
                    "src": "10780:44:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "condition": {
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 11652,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "expression": {
                          "expression": {
                            "id": 11648,
                            "name": "__query",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 11610,
                            "src": "11149:7:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                              "typeString": "struct WitOracleDataLib.Query storage pointer"
                            }
                          },
                          "id": 11649,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "11157:7:32",
                          "memberName": "request",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 18058,
                          "src": "11149:15:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_QueryRequest_$18087_storage",
                            "typeString": "struct WitOracleDataLib.QueryRequest storage ref"
                          }
                        },
                        "id": 11650,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "11165:2:32",
                        "memberName": "_1",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 18086,
                        "src": "11149:18:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": ">",
                      "rightExpression": {
                        "hexValue": "30",
                        "id": 11651,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "11170:1:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      },
                      "src": "11149:22:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "falseBody": {
                      "id": 11706,
                      "nodeType": "Block",
                      "src": "11603:434:32",
                      "statements": [
                        {
                          "expression": {
                            "arguments": [
                              {
                                "expression": {
                                  "expression": {
                                    "id": 11683,
                                    "name": "__query",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 11610,
                                    "src": "11721:7:32",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                      "typeString": "struct WitOracleDataLib.Query storage pointer"
                                    }
                                  },
                                  "id": 11684,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "11729:8:32",
                                  "memberName": "response",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 18061,
                                  "src": "11721:16:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_QueryResponse_$18100_storage",
                                    "typeString": "struct WitOracleDataLib.QueryResponse storage ref"
                                  }
                                },
                                "id": 11685,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "11738:8:32",
                                "memberName": "reporter",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 18089,
                                "src": "11721:25:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              {
                                "arguments": [
                                  {
                                    "expression": {
                                      "id": 11689,
                                      "name": "__query",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 11610,
                                      "src": "11801:7:32",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                        "typeString": "struct WitOracleDataLib.Query storage pointer"
                                      }
                                    },
                                    "id": 11690,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "11809:10:32",
                                    "memberName": "checkpoint",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 18073,
                                    "src": "11801:18:32",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_userDefinedValueType$_BlockNumber_$37145",
                                      "typeString": "Witnet.BlockNumber"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_userDefinedValueType$_BlockNumber_$37145",
                                      "typeString": "Witnet.BlockNumber"
                                    }
                                  ],
                                  "expression": {
                                    "expression": {
                                      "id": 11686,
                                      "name": "Witnet",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 40741,
                                      "src": "11775:6:32",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                        "typeString": "type(library Witnet)"
                                      }
                                    },
                                    "id": 11687,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "11782:11:32",
                                    "memberName": "BlockNumber",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 37145,
                                    "src": "11775:18:32",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_userDefinedValueType$_BlockNumber_$37145_$",
                                      "typeString": "type(Witnet.BlockNumber)"
                                    }
                                  },
                                  "id": 11688,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "memberLocation": "11794:6:32",
                                  "memberName": "unwrap",
                                  "nodeType": "MemberAccess",
                                  "src": "11775:25:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_BlockNumber_$37145_$returns$_t_uint64_$",
                                    "typeString": "function (Witnet.BlockNumber) pure returns (uint64)"
                                  }
                                },
                                "id": 11691,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "11775:45:32",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint64",
                                  "typeString": "uint64"
                                }
                              },
                              {
                                "arguments": [
                                  {
                                    "expression": {
                                      "expression": {
                                        "id": 11694,
                                        "name": "__query",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 11610,
                                        "src": "11857:7:32",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                          "typeString": "struct WitOracleDataLib.Query storage pointer"
                                        }
                                      },
                                      "id": 11695,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberLocation": "11865:8:32",
                                      "memberName": "response",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 18061,
                                      "src": "11857:16:32",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_QueryResponse_$18100_storage",
                                        "typeString": "struct WitOracleDataLib.QueryResponse storage ref"
                                      }
                                    },
                                    "id": 11696,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "11874:15:32",
                                    "memberName": "resultTimestamp",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 18093,
                                    "src": "11857:32:32",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint64",
                                      "typeString": "uint64"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint64",
                                      "typeString": "uint64"
                                    }
                                  ],
                                  "id": 11693,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "nodeType": "ElementaryTypeNameExpression",
                                  "src": "11850:6:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_uint32_$",
                                    "typeString": "type(uint32)"
                                  },
                                  "typeName": {
                                    "id": 11692,
                                    "name": "uint32",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "11850:6:32",
                                    "typeDescriptions": {}
                                  }
                                },
                                "id": 11697,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "typeConversion",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "11850:40:32",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint32",
                                  "typeString": "uint32"
                                }
                              },
                              {
                                "expression": {
                                  "expression": {
                                    "id": 11698,
                                    "name": "__query",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 11610,
                                    "src": "11916:7:32",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                      "typeString": "struct WitOracleDataLib.Query storage pointer"
                                    }
                                  },
                                  "id": 11699,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "11924:8:32",
                                  "memberName": "response",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 18061,
                                  "src": "11916:16:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_QueryResponse_$18100_storage",
                                    "typeString": "struct WitOracleDataLib.QueryResponse storage ref"
                                  }
                                },
                                "id": 11700,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "11933:14:32",
                                "memberName": "resultDrTxHash",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 18095,
                                "src": "11916:31:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              {
                                "expression": {
                                  "expression": {
                                    "id": 11701,
                                    "name": "__query",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 11610,
                                    "src": "11977:7:32",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                      "typeString": "struct WitOracleDataLib.Query storage pointer"
                                    }
                                  },
                                  "id": 11702,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "11985:8:32",
                                  "memberName": "response",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 18061,
                                  "src": "11977:16:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_QueryResponse_$18100_storage",
                                    "typeString": "struct WitOracleDataLib.QueryResponse storage ref"
                                  }
                                },
                                "id": 11703,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "11994:15:32",
                                "memberName": "resultCborBytes",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 18097,
                                "src": "11977:32:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes_storage",
                                  "typeString": "bytes storage ref"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_uint64",
                                  "typeString": "uint64"
                                },
                                {
                                  "typeIdentifier": "t_uint32",
                                  "typeString": "uint32"
                                },
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_bytes_storage",
                                  "typeString": "bytes storage ref"
                                }
                              ],
                              "expression": {
                                "id": 11681,
                                "name": "IWitOracleLegacy",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 28786,
                                "src": "11661:16:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_IWitOracleLegacy_$28786_$",
                                  "typeString": "type(contract IWitOracleLegacy)"
                                }
                              },
                              "id": 11682,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "11678:13:32",
                              "memberName": "QueryResponse",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 28606,
                              "src": "11661:30:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_struct$_QueryResponse_$28606_storage_ptr_$",
                                "typeString": "type(struct IWitOracleLegacy.QueryResponse storage pointer)"
                              }
                            },
                            "id": 11704,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "structConstructorCall",
                            "lValueRequested": false,
                            "nameLocations": [
                              "11711:8:32",
                              "11765:8:32",
                              "11839:9:32",
                              "11909:5:32",
                              "11966:9:32"
                            ],
                            "names": [
                              "reporter",
                              "finality",
                              "timestamp",
                              "trail",
                              "cborBytes"
                            ],
                            "nodeType": "FunctionCall",
                            "src": "11661:364:32",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_QueryResponse_$28606_memory_ptr",
                              "typeString": "struct IWitOracleLegacy.QueryResponse memory"
                            }
                          },
                          "functionReturnParameters": 11605,
                          "id": 11705,
                          "nodeType": "Return",
                          "src": "11654:371:32"
                        }
                      ]
                    },
                    "id": 11707,
                    "nodeType": "IfStatement",
                    "src": "11145:892:32",
                    "trueBody": {
                      "id": 11680,
                      "nodeType": "Block",
                      "src": "11173:424:32",
                      "statements": [
                        {
                          "expression": {
                            "arguments": [
                              {
                                "expression": {
                                  "expression": {
                                    "id": 11655,
                                    "name": "__query",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 11610,
                                    "src": "11291:7:32",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                      "typeString": "struct WitOracleDataLib.Query storage pointer"
                                    }
                                  },
                                  "id": 11656,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "11299:8:32",
                                  "memberName": "response",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 18061,
                                  "src": "11291:16:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_QueryResponse_$18100_storage",
                                    "typeString": "struct WitOracleDataLib.QueryResponse storage ref"
                                  }
                                },
                                "id": 11657,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "11308:8:32",
                                "memberName": "reporter",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 18089,
                                "src": "11291:25:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              {
                                "arguments": [
                                  {
                                    "expression": {
                                      "expression": {
                                        "id": 11660,
                                        "name": "__query",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 11610,
                                        "src": "11352:7:32",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                          "typeString": "struct WitOracleDataLib.Query storage pointer"
                                        }
                                      },
                                      "id": 11661,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberLocation": "11360:8:32",
                                      "memberName": "response",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 18061,
                                      "src": "11352:16:32",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_QueryResponse_$18100_storage",
                                        "typeString": "struct WitOracleDataLib.QueryResponse storage ref"
                                      }
                                    },
                                    "id": 11662,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "11369:2:32",
                                    "memberName": "_0",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 18091,
                                    "src": "11352:19:32",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint32",
                                      "typeString": "uint32"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint32",
                                      "typeString": "uint32"
                                    }
                                  ],
                                  "id": 11659,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "nodeType": "ElementaryTypeNameExpression",
                                  "src": "11345:6:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_uint64_$",
                                    "typeString": "type(uint64)"
                                  },
                                  "typeName": {
                                    "id": 11658,
                                    "name": "uint64",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "11345:6:32",
                                    "typeDescriptions": {}
                                  }
                                },
                                "id": 11663,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "typeConversion",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "11345:27:32",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint64",
                                  "typeString": "uint64"
                                }
                              },
                              {
                                "arguments": [
                                  {
                                    "commonType": {
                                      "typeIdentifier": "t_uint64",
                                      "typeString": "uint64"
                                    },
                                    "id": 11670,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "expression": {
                                        "expression": {
                                          "id": 11666,
                                          "name": "__query",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 11610,
                                          "src": "11409:7:32",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                            "typeString": "struct WitOracleDataLib.Query storage pointer"
                                          }
                                        },
                                        "id": 11667,
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "11417:8:32",
                                        "memberName": "response",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 18061,
                                        "src": "11409:16:32",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_struct$_QueryResponse_$18100_storage",
                                          "typeString": "struct WitOracleDataLib.QueryResponse storage ref"
                                        }
                                      },
                                      "id": 11668,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberLocation": "11426:15:32",
                                      "memberName": "resultTimestamp",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 18093,
                                      "src": "11409:32:32",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint64",
                                        "typeString": "uint64"
                                      }
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": ">>",
                                    "rightExpression": {
                                      "hexValue": "3332",
                                      "id": 11669,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "number",
                                      "lValueRequested": false,
                                      "nodeType": "Literal",
                                      "src": "11445:2:32",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_rational_32_by_1",
                                        "typeString": "int_const 32"
                                      },
                                      "value": "32"
                                    },
                                    "src": "11409:38:32",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint64",
                                      "typeString": "uint64"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint64",
                                      "typeString": "uint64"
                                    }
                                  ],
                                  "id": 11665,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "nodeType": "ElementaryTypeNameExpression",
                                  "src": "11402:6:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_uint32_$",
                                    "typeString": "type(uint32)"
                                  },
                                  "typeName": {
                                    "id": 11664,
                                    "name": "uint32",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "11402:6:32",
                                    "typeDescriptions": {}
                                  }
                                },
                                "id": 11671,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "typeConversion",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "11402:46:32",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint32",
                                  "typeString": "uint32"
                                }
                              },
                              {
                                "expression": {
                                  "expression": {
                                    "id": 11672,
                                    "name": "__query",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 11610,
                                    "src": "11474:7:32",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                      "typeString": "struct WitOracleDataLib.Query storage pointer"
                                    }
                                  },
                                  "id": 11673,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "11482:8:32",
                                  "memberName": "response",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 18061,
                                  "src": "11474:16:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_QueryResponse_$18100_storage",
                                    "typeString": "struct WitOracleDataLib.QueryResponse storage ref"
                                  }
                                },
                                "id": 11674,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "11491:14:32",
                                "memberName": "resultDrTxHash",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 18095,
                                "src": "11474:31:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              {
                                "expression": {
                                  "expression": {
                                    "id": 11675,
                                    "name": "__query",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 11610,
                                    "src": "11535:7:32",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                      "typeString": "struct WitOracleDataLib.Query storage pointer"
                                    }
                                  },
                                  "id": 11676,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "11543:8:32",
                                  "memberName": "response",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 18061,
                                  "src": "11535:16:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_QueryResponse_$18100_storage",
                                    "typeString": "struct WitOracleDataLib.QueryResponse storage ref"
                                  }
                                },
                                "id": 11677,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "11552:15:32",
                                "memberName": "resultCborBytes",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 18097,
                                "src": "11535:32:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes_storage",
                                  "typeString": "bytes storage ref"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_uint64",
                                  "typeString": "uint64"
                                },
                                {
                                  "typeIdentifier": "t_uint32",
                                  "typeString": "uint32"
                                },
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_bytes_storage",
                                  "typeString": "bytes storage ref"
                                }
                              ],
                              "expression": {
                                "id": 11653,
                                "name": "IWitOracleLegacy",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 28786,
                                "src": "11231:16:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_IWitOracleLegacy_$28786_$",
                                  "typeString": "type(contract IWitOracleLegacy)"
                                }
                              },
                              "id": 11654,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "11248:13:32",
                              "memberName": "QueryResponse",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 28606,
                              "src": "11231:30:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_struct$_QueryResponse_$28606_storage_ptr_$",
                                "typeString": "type(struct IWitOracleLegacy.QueryResponse storage pointer)"
                              }
                            },
                            "id": 11678,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "structConstructorCall",
                            "lValueRequested": false,
                            "nameLocations": [
                              "11281:8:32",
                              "11335:8:32",
                              "11391:9:32",
                              "11467:5:32",
                              "11524:9:32"
                            ],
                            "names": [
                              "reporter",
                              "finality",
                              "timestamp",
                              "trail",
                              "cborBytes"
                            ],
                            "nodeType": "FunctionCall",
                            "src": "11231:352:32",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_QueryResponse_$28606_memory_ptr",
                              "typeString": "struct IWitOracleLegacy.QueryResponse memory"
                            }
                          },
                          "functionReturnParameters": 11605,
                          "id": 11679,
                          "nodeType": "Return",
                          "src": "11224:359:32"
                        }
                      ]
                    }
                  },
                  "id": 11708,
                  "nodeType": "IfStatement",
                  "src": "10776:1261:32",
                  "trueBody": {
                    "id": 11647,
                    "nodeType": "Block",
                    "src": "10826:313:32",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "hexValue": "30",
                                  "id": 11627,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "10952:1:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  },
                                  "value": "0"
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  }
                                ],
                                "id": 11626,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "ElementaryTypeNameExpression",
                                "src": "10944:7:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_address_$",
                                  "typeString": "type(address)"
                                },
                                "typeName": {
                                  "id": 11625,
                                  "name": "address",
                                  "nodeType": "ElementaryTypeName",
                                  "src": "10944:7:32",
                                  "typeDescriptions": {}
                                }
                              },
                              "id": 11628,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "10944:10:32",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            {
                              "arguments": [
                                {
                                  "hexValue": "30",
                                  "id": 11631,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "10990:1:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  },
                                  "value": "0"
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  }
                                ],
                                "id": 11630,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "ElementaryTypeNameExpression",
                                "src": "10983:6:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_uint64_$",
                                  "typeString": "type(uint64)"
                                },
                                "typeName": {
                                  "id": 11629,
                                  "name": "uint64",
                                  "nodeType": "ElementaryTypeName",
                                  "src": "10983:6:32",
                                  "typeDescriptions": {}
                                }
                              },
                              "id": 11632,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "10983:9:32",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint64",
                                "typeString": "uint64"
                              }
                            },
                            {
                              "arguments": [
                                {
                                  "hexValue": "30",
                                  "id": 11635,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "11029:1:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  },
                                  "value": "0"
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  }
                                ],
                                "id": 11634,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "ElementaryTypeNameExpression",
                                "src": "11022:6:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_uint32_$",
                                  "typeString": "type(uint32)"
                                },
                                "typeName": {
                                  "id": 11633,
                                  "name": "uint32",
                                  "nodeType": "ElementaryTypeName",
                                  "src": "11022:6:32",
                                  "typeDescriptions": {}
                                }
                              },
                              "id": 11636,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "11022:9:32",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint32",
                                "typeString": "uint32"
                              }
                            },
                            {
                              "arguments": [
                                {
                                  "hexValue": "30",
                                  "id": 11639,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "11065:1:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  },
                                  "value": "0"
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  }
                                ],
                                "id": 11638,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "ElementaryTypeNameExpression",
                                "src": "11057:7:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_bytes32_$",
                                  "typeString": "type(bytes32)"
                                },
                                "typeName": {
                                  "id": 11637,
                                  "name": "bytes32",
                                  "nodeType": "ElementaryTypeName",
                                  "src": "11057:7:32",
                                  "typeDescriptions": {}
                                }
                              },
                              "id": 11640,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "11057:10:32",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "arguments": [
                                {
                                  "hexValue": "30",
                                  "id": 11643,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "11107:1:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  },
                                  "value": "0"
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  }
                                ],
                                "id": 11642,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "NewExpression",
                                "src": "11097:9:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$",
                                  "typeString": "function (uint256) pure returns (bytes memory)"
                                },
                                "typeName": {
                                  "id": 11641,
                                  "name": "bytes",
                                  "nodeType": "ElementaryTypeName",
                                  "src": "11101:5:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes_storage_ptr",
                                    "typeString": "bytes"
                                  }
                                }
                              },
                              "id": 11644,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "11097:12:32",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              {
                                "typeIdentifier": "t_uint64",
                                "typeString": "uint64"
                              },
                              {
                                "typeIdentifier": "t_uint32",
                                "typeString": "uint32"
                              },
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            ],
                            "expression": {
                              "id": 11623,
                              "name": "IWitOracleLegacy",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 28786,
                              "src": "10884:16:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_IWitOracleLegacy_$28786_$",
                                "typeString": "type(contract IWitOracleLegacy)"
                              }
                            },
                            "id": 11624,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "10901:13:32",
                            "memberName": "QueryResponse",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 28606,
                            "src": "10884:30:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_struct$_QueryResponse_$28606_storage_ptr_$",
                              "typeString": "type(struct IWitOracleLegacy.QueryResponse storage pointer)"
                            }
                          },
                          "id": 11645,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "structConstructorCall",
                          "lValueRequested": false,
                          "nameLocations": [
                            "10934:8:32",
                            "10973:8:32",
                            "11011:9:32",
                            "11050:5:32",
                            "11086:9:32"
                          ],
                          "names": [
                            "reporter",
                            "finality",
                            "timestamp",
                            "trail",
                            "cborBytes"
                          ],
                          "nodeType": "FunctionCall",
                          "src": "10884:241:32",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_QueryResponse_$28606_memory_ptr",
                            "typeString": "struct IWitOracleLegacy.QueryResponse memory"
                          }
                        },
                        "functionReturnParameters": 11605,
                        "id": 11646,
                        "nodeType": "Return",
                        "src": "10877:248:32"
                      }
                    ]
                  }
                }
              ]
            },
            "functionSelector": "f61921b2",
            "id": 11710,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getQueryResponse",
            "nameLocation": "10542:16:32",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 11601,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "10593:8:32"
            },
            "parameters": {
              "id": 11600,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 11599,
                  "mutability": "mutable",
                  "name": "queryId",
                  "nameLocation": "10567:7:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 11710,
                  "src": "10559:15:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 11598,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "10559:7:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "10558:17:32"
            },
            "returnParameters": {
              "id": 11605,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 11604,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 11710,
                  "src": "10641:37:32",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_QueryResponse_$28606_memory_ptr",
                    "typeString": "struct IWitOracleLegacy.QueryResponse"
                  },
                  "typeName": {
                    "id": 11603,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 11602,
                      "name": "IWitOracleLegacy.QueryResponse",
                      "nameLocations": [
                        "10641:16:32",
                        "10658:13:32"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 28606,
                      "src": "10641:30:32"
                    },
                    "referencedDeclaration": 28606,
                    "src": "10641:30:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_QueryResponse_$28606_storage_ptr",
                      "typeString": "struct IWitOracleLegacy.QueryResponse"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "10640:39:32"
            },
            "scope": 12527,
            "src": "10533:1511:32",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              28673
            ],
            "body": {
              "id": 11724,
              "nodeType": "Block",
              "src": "12212:74:32",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 11721,
                        "name": "queryId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 11712,
                        "src": "12270:7:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 11719,
                        "name": "WitOracleDataLib",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20110,
                        "src": "12230:16:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_WitOracleDataLib_$20110_$",
                          "typeString": "type(library WitOracleDataLib)"
                        }
                      },
                      "id": 11720,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "12247:22:32",
                      "memberName": "getQueryResponseStatus",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 19431,
                      "src": "12230:39:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_delegatecall_view$_t_uint256_$returns$_t_enum$_QueryResponseStatus_$28682_$",
                        "typeString": "function (uint256) view returns (enum IWitOracleLegacy.QueryResponseStatus)"
                      }
                    },
                    "id": 11722,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "12230:48:32",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_QueryResponseStatus_$28682",
                      "typeString": "enum IWitOracleLegacy.QueryResponseStatus"
                    }
                  },
                  "functionReturnParameters": 11718,
                  "id": 11723,
                  "nodeType": "Return",
                  "src": "12223:55:32"
                }
              ]
            },
            "functionSelector": "234fe6e3",
            "id": 11725,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getQueryResponseStatus",
            "nameLocation": "12061:22:32",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 11714,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "12119:8:32"
            },
            "parameters": {
              "id": 11713,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 11712,
                  "mutability": "mutable",
                  "name": "queryId",
                  "nameLocation": "12092:7:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 11725,
                  "src": "12084:15:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 11711,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "12084:7:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "12083:17:32"
            },
            "returnParameters": {
              "id": 11718,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 11717,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 11725,
                  "src": "12169:36:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_QueryResponseStatus_$28682",
                    "typeString": "enum IWitOracleLegacy.QueryResponseStatus"
                  },
                  "typeName": {
                    "id": 11716,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 11715,
                      "name": "IWitOracleLegacy.QueryResponseStatus",
                      "nameLocations": [
                        "12169:16:32",
                        "12186:19:32"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 28682,
                      "src": "12169:36:32"
                    },
                    "referencedDeclaration": 28682,
                    "src": "12169:36:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_QueryResponseStatus_$28682",
                      "typeString": "enum IWitOracleLegacy.QueryResponseStatus"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "12168:38:32"
            },
            "scope": 12527,
            "src": "12052:234:32",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              28690
            ],
            "body": {
              "id": 11745,
              "nodeType": "Block",
              "src": "12398:96:32",
              "statements": [
                {
                  "expression": {
                    "expression": {
                      "arguments": [
                        {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "id": 11739,
                                  "name": "queryId",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 11727,
                                  "src": "12460:7:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                ],
                                "id": 11738,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "ElementaryTypeNameExpression",
                                "src": "12453:6:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_uint64_$",
                                  "typeString": "type(uint64)"
                                },
                                "typeName": {
                                  "id": 11737,
                                  "name": "uint64",
                                  "nodeType": "ElementaryTypeName",
                                  "src": "12453:6:32",
                                  "typeDescriptions": {}
                                }
                              },
                              "id": 11740,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "12453:15:32",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint64",
                                "typeString": "uint64"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint64",
                                "typeString": "uint64"
                              }
                            ],
                            "expression": {
                              "expression": {
                                "id": 11734,
                                "name": "Witnet",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 40741,
                                "src": "12433:6:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                  "typeString": "type(library Witnet)"
                                }
                              },
                              "id": 11735,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "12440:7:32",
                              "memberName": "QueryId",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 37151,
                              "src": "12433:14:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_userDefinedValueType$_QueryId_$37151_$",
                                "typeString": "type(Witnet.QueryId)"
                              }
                            },
                            "id": 11736,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberLocation": "12448:4:32",
                            "memberName": "wrap",
                            "nodeType": "MemberAccess",
                            "src": "12433:19:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_wrap_pure$_t_uint64_$returns$_t_userDefinedValueType$_QueryId_$37151_$",
                              "typeString": "function (uint64) pure returns (Witnet.QueryId)"
                            }
                          },
                          "id": 11741,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "12433:36:32",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_userDefinedValueType$_QueryId_$37151",
                            "typeString": "Witnet.QueryId"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_userDefinedValueType$_QueryId_$37151",
                            "typeString": "Witnet.QueryId"
                          }
                        ],
                        "id": 11733,
                        "name": "getQueryResponse",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [
                          11710,
                          10512
                        ],
                        "referencedDeclaration": 10512,
                        "src": "12416:16:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_view$_t_userDefinedValueType$_QueryId_$37151_$returns$_t_struct$_QueryResponse_$37365_memory_ptr_$",
                          "typeString": "function (Witnet.QueryId) view returns (struct Witnet.QueryResponse memory)"
                        }
                      },
                      "id": 11742,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "12416:54:32",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_QueryResponse_$37365_memory_ptr",
                        "typeString": "struct Witnet.QueryResponse memory"
                      }
                    },
                    "id": 11743,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberLocation": "12471:15:32",
                    "memberName": "resultCborBytes",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 37362,
                    "src": "12416:70:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_memory_ptr",
                      "typeString": "bytes memory"
                    }
                  },
                  "functionReturnParameters": 11732,
                  "id": 11744,
                  "nodeType": "Return",
                  "src": "12409:77:32"
                }
              ]
            },
            "functionSelector": "8d3d8b38",
            "id": 11746,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getQueryResultCborBytes",
            "nameLocation": "12303:23:32",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 11729,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "12352:8:32"
            },
            "parameters": {
              "id": 11728,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 11727,
                  "mutability": "mutable",
                  "name": "queryId",
                  "nameLocation": "12335:7:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 11746,
                  "src": "12327:15:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 11726,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "12327:7:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "12326:17:32"
            },
            "returnParameters": {
              "id": 11732,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 11731,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 11746,
                  "src": "12384:12:32",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 11730,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "12384:5:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "12383:14:32"
            },
            "scope": 12527,
            "src": "12294:200:32",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              28699
            ],
            "body": {
              "id": 11780,
              "nodeType": "Block",
              "src": "12625:255:32",
              "statements": [
                {
                  "assignments": [
                    11759
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 11759,
                      "mutability": "mutable",
                      "name": "_result",
                      "nameLocation": "12661:7:32",
                      "nodeType": "VariableDeclaration",
                      "scope": 11780,
                      "src": "12636:32:32",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_DataResult_$37293_memory_ptr",
                        "typeString": "struct Witnet.DataResult"
                      },
                      "typeName": {
                        "id": 11758,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 11757,
                          "name": "Witnet.DataResult",
                          "nameLocations": [
                            "12636:6:32",
                            "12643:10:32"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 37293,
                          "src": "12636:17:32"
                        },
                        "referencedDeclaration": 37293,
                        "src": "12636:17:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DataResult_$37293_storage_ptr",
                          "typeString": "struct Witnet.DataResult"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 11763,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 11761,
                        "name": "queryId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 11748,
                        "src": "12686:7:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 11760,
                      "name": "getQueryResult",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 10527,
                      "src": "12671:14:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_struct$_DataResult_$37293_memory_ptr_$",
                        "typeString": "function (uint256) view returns (struct Witnet.DataResult memory)"
                      }
                    },
                    "id": 11762,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "12671:23:32",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_DataResult_$37293_memory_ptr",
                      "typeString": "struct Witnet.DataResult memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "12636:58:32"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "expression": {
                              "id": 11768,
                              "name": "_result",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 11759,
                              "src": "12768:7:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_DataResult_$37293_memory_ptr",
                                "typeString": "struct Witnet.DataResult memory"
                              }
                            },
                            "id": 11769,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "12776:6:32",
                            "memberName": "status",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 37278,
                            "src": "12768:14:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_ResultStatus_$37698",
                              "typeString": "enum Witnet.ResultStatus"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_enum$_ResultStatus_$37698",
                              "typeString": "enum Witnet.ResultStatus"
                            }
                          ],
                          "id": 11767,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "12762:5:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_uint8_$",
                            "typeString": "type(uint8)"
                          },
                          "typeName": {
                            "id": 11766,
                            "name": "uint8",
                            "nodeType": "ElementaryTypeName",
                            "src": "12762:5:32",
                            "typeDescriptions": {}
                          }
                        },
                        "id": 11770,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "12762:21:32",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint8",
                          "typeString": "uint8"
                        }
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "id": 11775,
                                "name": "_result",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 11759,
                                "src": "12851:7:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_DataResult_$37293_memory_ptr",
                                  "typeString": "struct Witnet.DataResult memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_struct$_DataResult_$37293_memory_ptr",
                                  "typeString": "struct Witnet.DataResult memory"
                                }
                              ],
                              "expression": {
                                "id": 11773,
                                "name": "abi",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4294967295,
                                "src": "12840:3:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_magic_abi",
                                  "typeString": "abi"
                                }
                              },
                              "id": 11774,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberLocation": "12844:6:32",
                              "memberName": "encode",
                              "nodeType": "MemberAccess",
                              "src": "12840:10:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$",
                                "typeString": "function () pure returns (bytes memory)"
                              }
                            },
                            "id": 11776,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "12840:19:32",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          ],
                          "expression": {
                            "id": 11771,
                            "name": "WitOracleResultStatusLib",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 37119,
                            "src": "12806:24:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_WitOracleResultStatusLib_$37119_$",
                              "typeString": "type(library WitOracleResultStatusLib)"
                            }
                          },
                          "id": 11772,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "12831:8:32",
                          "memberName": "toString",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 36607,
                          "src": "12806:33:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_delegatecall_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$",
                            "typeString": "function (bytes memory) pure returns (string memory)"
                          }
                        },
                        "id": 11777,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "12806:54:32",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint8",
                          "typeString": "uint8"
                        },
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "expression": {
                        "id": 11764,
                        "name": "IWitOracleLegacy",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 28786,
                        "src": "12712:16:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_IWitOracleLegacy_$28786_$",
                          "typeString": "type(contract IWitOracleLegacy)"
                        }
                      },
                      "id": 11765,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "12729:11:32",
                      "memberName": "ResultError",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 28705,
                      "src": "12712:28:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_struct$_ResultError_$28705_storage_ptr_$",
                        "typeString": "type(struct IWitOracleLegacy.ResultError storage pointer)"
                      }
                    },
                    "id": 11778,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "structConstructorCall",
                    "lValueRequested": false,
                    "nameLocations": [
                      "12756:4:32",
                      "12798:6:32"
                    ],
                    "names": [
                      "code",
                      "reason"
                    ],
                    "nodeType": "FunctionCall",
                    "src": "12712:160:32",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_ResultError_$28705_memory_ptr",
                      "typeString": "struct IWitOracleLegacy.ResultError memory"
                    }
                  },
                  "functionReturnParameters": 11754,
                  "id": 11779,
                  "nodeType": "Return",
                  "src": "12705:167:32"
                }
              ]
            },
            "functionSelector": "a77fc1a4",
            "id": 11781,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getQueryResultError",
            "nameLocation": "12511:19:32",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 11750,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "12556:8:32"
            },
            "parameters": {
              "id": 11749,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 11748,
                  "mutability": "mutable",
                  "name": "queryId",
                  "nameLocation": "12539:7:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 11781,
                  "src": "12531:15:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 11747,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "12531:7:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "12530:17:32"
            },
            "returnParameters": {
              "id": 11754,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 11753,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 11781,
                  "src": "12588:35:32",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_ResultError_$28705_memory_ptr",
                    "typeString": "struct IWitOracleLegacy.ResultError"
                  },
                  "typeName": {
                    "id": 11752,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 11751,
                      "name": "IWitOracleLegacy.ResultError",
                      "nameLocations": [
                        "12588:16:32",
                        "12605:11:32"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 28705,
                      "src": "12588:28:32"
                    },
                    "referencedDeclaration": 28705,
                    "src": "12588:28:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_ResultError_$28705_storage_ptr",
                      "typeString": "struct IWitOracleLegacy.ResultError"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "12587:37:32"
            },
            "scope": 12527,
            "src": "12502:378:32",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              28731
            ],
            "body": {
              "id": 11808,
              "nodeType": "Block",
              "src": "13100:302:32",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "id": 11796,
                            "name": "_queryRadHash",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 11783,
                            "src": "13164:13:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "expression": {
                            "expression": {
                              "id": 11793,
                              "name": "Witnet",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 40741,
                              "src": "13142:6:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                "typeString": "type(library Witnet)"
                              }
                            },
                            "id": 11794,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "13149:9:32",
                            "memberName": "RadonHash",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 37153,
                            "src": "13142:16:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_userDefinedValueType$_RadonHash_$37153_$",
                              "typeString": "type(Witnet.RadonHash)"
                            }
                          },
                          "id": 11795,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "13159:4:32",
                          "memberName": "wrap",
                          "nodeType": "MemberAccess",
                          "src": "13142:21:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_wrap_pure$_t_bytes32_$returns$_t_userDefinedValueType$_RadonHash_$37153_$",
                            "typeString": "function (bytes32) pure returns (Witnet.RadonHash)"
                          }
                        },
                        "id": 11797,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "13142:36:32",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_userDefinedValueType$_RadonHash_$37153",
                          "typeString": "Witnet.RadonHash"
                        }
                      },
                      {
                        "arguments": [
                          {
                            "hexValue": "3332",
                            "id": 11800,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "13246:2:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_32_by_1",
                              "typeString": "int_const 32"
                            },
                            "value": "32"
                          },
                          {
                            "expression": {
                              "id": 11801,
                              "name": "_querySLA",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 11786,
                              "src": "13285:9:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_RadonSLA_$28611_calldata_ptr",
                                "typeString": "struct IWitOracleLegacy.RadonSLA calldata"
                              }
                            },
                            "id": 11802,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "13295:12:32",
                            "memberName": "numWitnesses",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 28608,
                            "src": "13285:22:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint8",
                              "typeString": "uint8"
                            }
                          },
                          {
                            "expression": {
                              "id": 11803,
                              "name": "_querySLA",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 11786,
                              "src": "13344:9:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_RadonSLA_$28611_calldata_ptr",
                                "typeString": "struct IWitOracleLegacy.RadonSLA calldata"
                              }
                            },
                            "id": 11804,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "13354:13:32",
                            "memberName": "witnessReward",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 28610,
                            "src": "13344:23:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint64",
                              "typeString": "uint64"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_rational_32_by_1",
                              "typeString": "int_const 32"
                            },
                            {
                              "typeIdentifier": "t_uint8",
                              "typeString": "uint8"
                            },
                            {
                              "typeIdentifier": "t_uint64",
                              "typeString": "uint64"
                            }
                          ],
                          "expression": {
                            "id": 11798,
                            "name": "Witnet",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 40741,
                            "src": "13193:6:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                              "typeString": "type(library Witnet)"
                            }
                          },
                          "id": 11799,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "13200:8:32",
                          "memberName": "QuerySLA",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 37373,
                          "src": "13193:15:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_struct$_QuerySLA_$37373_storage_ptr_$",
                            "typeString": "type(struct Witnet.QuerySLA storage pointer)"
                          }
                        },
                        "id": 11805,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "structConstructorCall",
                        "lValueRequested": false,
                        "nameLocations": [
                          "13228:16:32",
                          "13267:16:32",
                          "13326:16:32"
                        ],
                        "names": [
                          "witResultMaxSize",
                          "witCommitteeSize",
                          "witUnitaryReward"
                        ],
                        "nodeType": "FunctionCall",
                        "src": "13193:190:32",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_QuerySLA_$37373_memory_ptr",
                          "typeString": "struct Witnet.QuerySLA memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_userDefinedValueType$_RadonHash_$37153",
                          "typeString": "Witnet.RadonHash"
                        },
                        {
                          "typeIdentifier": "t_struct$_QuerySLA_$37373_memory_ptr",
                          "typeString": "struct Witnet.QuerySLA memory"
                        }
                      ],
                      "id": 11792,
                      "name": "queryData",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 10769,
                      "src": "13118:9:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_userDefinedValueType$_RadonHash_$37153_$_t_struct$_QuerySLA_$37373_memory_ptr_$returns$_t_uint256_$",
                        "typeString": "function (Witnet.RadonHash,struct Witnet.QuerySLA memory) returns (uint256)"
                      }
                    },
                    "id": 11806,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "13118:276:32",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 11791,
                  "id": 11807,
                  "nodeType": "Return",
                  "src": "13111:283:32"
                }
              ]
            },
            "functionSelector": "3dc2b7a2",
            "id": 11809,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "postRequest",
            "nameLocation": "12897:11:32",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 11788,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "13033:8:32"
            },
            "parameters": {
              "id": 11787,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 11783,
                  "mutability": "mutable",
                  "name": "_queryRadHash",
                  "nameLocation": "12931:13:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 11809,
                  "src": "12923:21:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 11782,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "12923:7:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 11786,
                  "mutability": "mutable",
                  "name": "_querySLA",
                  "nameLocation": "12995:9:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 11809,
                  "src": "12960:44:32",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_RadonSLA_$28611_calldata_ptr",
                    "typeString": "struct IWitOracleLegacy.RadonSLA"
                  },
                  "typeName": {
                    "id": 11785,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 11784,
                      "name": "IWitOracleLegacy.RadonSLA",
                      "nameLocations": [
                        "12960:16:32",
                        "12977:8:32"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 28611,
                      "src": "12960:25:32"
                    },
                    "referencedDeclaration": 28611,
                    "src": "12960:25:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RadonSLA_$28611_storage_ptr",
                      "typeString": "struct IWitOracleLegacy.RadonSLA"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "12908:107:32"
            },
            "returnParameters": {
              "id": 11791,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 11790,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 11809,
                  "src": "13086:7:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 11789,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "13086:7:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "13085:9:32"
            },
            "scope": 12527,
            "src": "12888:514:32",
            "stateMutability": "payable",
            "virtual": true,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              28743
            ],
            "body": {
              "id": 11844,
              "nodeType": "Block",
              "src": "13672:451:32",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "id": 11826,
                            "name": "_queryRadHash",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 11811,
                            "src": "13748:13:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "expression": {
                            "expression": {
                              "id": 11823,
                              "name": "Witnet",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 40741,
                              "src": "13726:6:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                "typeString": "type(library Witnet)"
                              }
                            },
                            "id": 11824,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "13733:9:32",
                            "memberName": "RadonHash",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 37153,
                            "src": "13726:16:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_userDefinedValueType$_RadonHash_$37153_$",
                              "typeString": "type(Witnet.RadonHash)"
                            }
                          },
                          "id": 11825,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "13743:4:32",
                          "memberName": "wrap",
                          "nodeType": "MemberAccess",
                          "src": "13726:21:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_wrap_pure$_t_bytes32_$returns$_t_userDefinedValueType$_RadonHash_$37153_$",
                            "typeString": "function (bytes32) pure returns (Witnet.RadonHash)"
                          }
                        },
                        "id": 11827,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "13726:36:32",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_userDefinedValueType$_RadonHash_$37153",
                          "typeString": "Witnet.RadonHash"
                        }
                      },
                      {
                        "arguments": [
                          {
                            "hexValue": "3332",
                            "id": 11830,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "13830:2:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_32_by_1",
                              "typeString": "int_const 32"
                            },
                            "value": "32"
                          },
                          {
                            "expression": {
                              "id": 11831,
                              "name": "_querySLA",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 11814,
                              "src": "13869:9:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_RadonSLA_$28611_calldata_ptr",
                                "typeString": "struct IWitOracleLegacy.RadonSLA calldata"
                              }
                            },
                            "id": 11832,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "13879:12:32",
                            "memberName": "numWitnesses",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 28608,
                            "src": "13869:22:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint8",
                              "typeString": "uint8"
                            }
                          },
                          {
                            "expression": {
                              "id": 11833,
                              "name": "_querySLA",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 11814,
                              "src": "13928:9:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_RadonSLA_$28611_calldata_ptr",
                                "typeString": "struct IWitOracleLegacy.RadonSLA calldata"
                              }
                            },
                            "id": 11834,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "13938:13:32",
                            "memberName": "witnessReward",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 28610,
                            "src": "13928:23:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint64",
                              "typeString": "uint64"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_rational_32_by_1",
                              "typeString": "int_const 32"
                            },
                            {
                              "typeIdentifier": "t_uint8",
                              "typeString": "uint8"
                            },
                            {
                              "typeIdentifier": "t_uint64",
                              "typeString": "uint64"
                            }
                          ],
                          "expression": {
                            "id": 11828,
                            "name": "Witnet",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 40741,
                            "src": "13777:6:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                              "typeString": "type(library Witnet)"
                            }
                          },
                          "id": 11829,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "13784:8:32",
                          "memberName": "QuerySLA",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 37373,
                          "src": "13777:15:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_struct$_QuerySLA_$37373_storage_ptr_$",
                            "typeString": "type(struct Witnet.QuerySLA storage pointer)"
                          }
                        },
                        "id": 11835,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "structConstructorCall",
                        "lValueRequested": false,
                        "nameLocations": [
                          "13812:16:32",
                          "13851:16:32",
                          "13910:16:32"
                        ],
                        "names": [
                          "witResultMaxSize",
                          "witCommitteeSize",
                          "witUnitaryReward"
                        ],
                        "nodeType": "FunctionCall",
                        "src": "13777:190:32",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_QuerySLA_$37373_memory_ptr",
                          "typeString": "struct Witnet.QuerySLA memory"
                        }
                      },
                      {
                        "arguments": [
                          {
                            "expression": {
                              "id": 11838,
                              "name": "msg",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4294967281,
                              "src": "14032:3:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_message",
                                "typeString": "msg"
                              }
                            },
                            "id": 11839,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "14036:6:32",
                            "memberName": "sender",
                            "nodeType": "MemberAccess",
                            "src": "14032:10:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "id": 11840,
                            "name": "_queryCallbackGas",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 11816,
                            "src": "14071:17:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint24",
                              "typeString": "uint24"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_uint24",
                              "typeString": "uint24"
                            }
                          ],
                          "expression": {
                            "id": 11836,
                            "name": "Witnet",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 40741,
                            "src": "13982:6:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                              "typeString": "type(library Witnet)"
                            }
                          },
                          "id": 11837,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "13989:13:32",
                          "memberName": "QueryCallback",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 37340,
                          "src": "13982:20:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_struct$_QueryCallback_$37340_storage_ptr_$",
                            "typeString": "type(struct Witnet.QueryCallback storage pointer)"
                          }
                        },
                        "id": 11841,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "structConstructorCall",
                        "lValueRequested": false,
                        "nameLocations": [
                          "14022:8:32",
                          "14061:8:32"
                        ],
                        "names": [
                          "consumer",
                          "gasLimit"
                        ],
                        "nodeType": "FunctionCall",
                        "src": "13982:122:32",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_QueryCallback_$37340_memory_ptr",
                          "typeString": "struct Witnet.QueryCallback memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_userDefinedValueType$_RadonHash_$37153",
                          "typeString": "Witnet.RadonHash"
                        },
                        {
                          "typeIdentifier": "t_struct$_QuerySLA_$37373_memory_ptr",
                          "typeString": "struct Witnet.QuerySLA memory"
                        },
                        {
                          "typeIdentifier": "t_struct$_QueryCallback_$37340_memory_ptr",
                          "typeString": "struct Witnet.QueryCallback memory"
                        }
                      ],
                      "id": 11822,
                      "name": "queryDataWithCallback",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 10836,
                      "src": "13690:21:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_userDefinedValueType$_RadonHash_$37153_$_t_struct$_QuerySLA_$37373_memory_ptr_$_t_struct$_QueryCallback_$37340_memory_ptr_$returns$_t_uint256_$",
                        "typeString": "function (Witnet.RadonHash,struct Witnet.QuerySLA memory,struct Witnet.QueryCallback memory) returns (uint256)"
                      }
                    },
                    "id": 11842,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "13690:425:32",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 11821,
                  "id": 11843,
                  "nodeType": "Return",
                  "src": "13683:432:32"
                }
              ]
            },
            "functionSelector": "e900aa33",
            "id": 11845,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "postRequestWithCallback",
            "nameLocation": "13419:23:32",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 11818,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "13605:8:32"
            },
            "parameters": {
              "id": 11817,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 11811,
                  "mutability": "mutable",
                  "name": "_queryRadHash",
                  "nameLocation": "13465:13:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 11845,
                  "src": "13457:21:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 11810,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "13457:7:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 11814,
                  "mutability": "mutable",
                  "name": "_querySLA",
                  "nameLocation": "13528:9:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 11845,
                  "src": "13493:44:32",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_RadonSLA_$28611_calldata_ptr",
                    "typeString": "struct IWitOracleLegacy.RadonSLA"
                  },
                  "typeName": {
                    "id": 11813,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 11812,
                      "name": "IWitOracleLegacy.RadonSLA",
                      "nameLocations": [
                        "13493:16:32",
                        "13510:8:32"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 28611,
                      "src": "13493:25:32"
                    },
                    "referencedDeclaration": 28611,
                    "src": "13493:25:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RadonSLA_$28611_storage_ptr",
                      "typeString": "struct IWitOracleLegacy.RadonSLA"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 11816,
                  "mutability": "mutable",
                  "name": "_queryCallbackGas",
                  "nameLocation": "13559:17:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 11845,
                  "src": "13552:24:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint24",
                    "typeString": "uint24"
                  },
                  "typeName": {
                    "id": 11815,
                    "name": "uint24",
                    "nodeType": "ElementaryTypeName",
                    "src": "13552:6:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint24",
                      "typeString": "uint24"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "13442:145:32"
            },
            "returnParameters": {
              "id": 11821,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 11820,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 11845,
                  "src": "13658:7:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 11819,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "13658:7:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "13657:9:32"
            },
            "scope": 12527,
            "src": "13410:713:32",
            "stateMutability": "payable",
            "virtual": true,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              28756
            ],
            "body": {
              "id": 11883,
              "nodeType": "Block",
              "src": "14389:235:32",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "id": 11867,
                                "name": "queryId",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 11847,
                                "src": "14461:7:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "id": 11866,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "14454:6:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_uint64_$",
                                "typeString": "type(uint64)"
                              },
                              "typeName": {
                                "id": 11865,
                                "name": "uint64",
                                "nodeType": "ElementaryTypeName",
                                "src": "14454:6:32",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 11868,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "14454:15:32",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint64",
                              "typeString": "uint64"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint64",
                              "typeString": "uint64"
                            }
                          ],
                          "expression": {
                            "expression": {
                              "id": 11862,
                              "name": "Witnet",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 40741,
                              "src": "14434:6:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                "typeString": "type(library Witnet)"
                              }
                            },
                            "id": 11863,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "14441:7:32",
                            "memberName": "QueryId",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 37151,
                            "src": "14434:14:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_userDefinedValueType$_QueryId_$37151_$",
                              "typeString": "type(Witnet.QueryId)"
                            }
                          },
                          "id": 11864,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "14449:4:32",
                          "memberName": "wrap",
                          "nodeType": "MemberAccess",
                          "src": "14434:19:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_wrap_pure$_t_uint64_$returns$_t_userDefinedValueType$_QueryId_$37151_$",
                            "typeString": "function (uint64) pure returns (Witnet.QueryId)"
                          }
                        },
                        "id": 11869,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "14434:36:32",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_userDefinedValueType$_QueryId_$37151",
                          "typeString": "Witnet.QueryId"
                        }
                      },
                      {
                        "arguments": [
                          {
                            "id": 11873,
                            "name": "resultTimestamp",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 11849,
                            "src": "14507:15:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            }
                          ],
                          "expression": {
                            "expression": {
                              "id": 11870,
                              "name": "Witnet",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 40741,
                              "src": "14485:6:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                "typeString": "type(library Witnet)"
                              }
                            },
                            "id": 11871,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "14492:9:32",
                            "memberName": "Timestamp",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 37157,
                            "src": "14485:16:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_userDefinedValueType$_Timestamp_$37157_$",
                              "typeString": "type(Witnet.Timestamp)"
                            }
                          },
                          "id": 11872,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "14502:4:32",
                          "memberName": "wrap",
                          "nodeType": "MemberAccess",
                          "src": "14485:21:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_wrap_pure$_t_uint64_$returns$_t_userDefinedValueType$_Timestamp_$37157_$",
                            "typeString": "function (uint64) pure returns (Witnet.Timestamp)"
                          }
                        },
                        "id": 11874,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "14485:38:32",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                          "typeString": "Witnet.Timestamp"
                        }
                      },
                      {
                        "arguments": [
                          {
                            "id": 11878,
                            "name": "drTxHash",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 11851,
                            "src": "14566:8:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "expression": {
                            "expression": {
                              "id": 11875,
                              "name": "Witnet",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 40741,
                              "src": "14538:6:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                "typeString": "type(library Witnet)"
                              }
                            },
                            "id": 11876,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "14545:15:32",
                            "memberName": "TransactionHash",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 37159,
                            "src": "14538:22:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_userDefinedValueType$_TransactionHash_$37159_$",
                              "typeString": "type(Witnet.TransactionHash)"
                            }
                          },
                          "id": 11877,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "14561:4:32",
                          "memberName": "wrap",
                          "nodeType": "MemberAccess",
                          "src": "14538:27:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_wrap_pure$_t_bytes32_$returns$_t_userDefinedValueType$_TransactionHash_$37159_$",
                            "typeString": "function (bytes32) pure returns (Witnet.TransactionHash)"
                          }
                        },
                        "id": 11879,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "14538:37:32",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                          "typeString": "Witnet.TransactionHash"
                        }
                      },
                      {
                        "id": 11880,
                        "name": "resultCborBytes",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 11853,
                        "src": "14590:15:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_calldata_ptr",
                          "typeString": "bytes calldata"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_userDefinedValueType$_QueryId_$37151",
                          "typeString": "Witnet.QueryId"
                        },
                        {
                          "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                          "typeString": "Witnet.Timestamp"
                        },
                        {
                          "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                          "typeString": "Witnet.TransactionHash"
                        },
                        {
                          "typeIdentifier": "t_bytes_calldata_ptr",
                          "typeString": "bytes calldata"
                        }
                      ],
                      "id": 11861,
                      "name": "reportResult",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        12186,
                        12234
                      ],
                      "referencedDeclaration": 12234,
                      "src": "14407:12:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_userDefinedValueType$_QueryId_$37151_$_t_userDefinedValueType$_Timestamp_$37157_$_t_userDefinedValueType$_TransactionHash_$37159_$_t_bytes_calldata_ptr_$returns$_t_uint256_$",
                        "typeString": "function (Witnet.QueryId,Witnet.Timestamp,Witnet.TransactionHash,bytes calldata) returns (uint256)"
                      }
                    },
                    "id": 11881,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "14407:209:32",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 11860,
                  "id": 11882,
                  "nodeType": "Return",
                  "src": "14400:216:32"
                }
              ]
            },
            "functionSelector": "b207e730",
            "id": 11884,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 11857,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 11856,
                  "name": "onlyReporters",
                  "nameLocations": [
                    "14343:13:32"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 11106,
                  "src": "14343:13:32"
                },
                "nodeType": "ModifierInvocation",
                "src": "14343:13:32"
              }
            ],
            "name": "reportResult",
            "nameLocation": "14140:12:32",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 11855,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "14325:8:32"
            },
            "parameters": {
              "id": 11854,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 11847,
                  "mutability": "mutable",
                  "name": "queryId",
                  "nameLocation": "14175:7:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 11884,
                  "src": "14167:15:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 11846,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "14167:7:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 11849,
                  "mutability": "mutable",
                  "name": "resultTimestamp",
                  "nameLocation": "14204:15:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 11884,
                  "src": "14197:22:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint32",
                    "typeString": "uint32"
                  },
                  "typeName": {
                    "id": 11848,
                    "name": "uint32",
                    "nodeType": "ElementaryTypeName",
                    "src": "14197:6:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 11851,
                  "mutability": "mutable",
                  "name": "drTxHash",
                  "nameLocation": "14242:8:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 11884,
                  "src": "14234:16:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 11850,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "14234:7:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 11853,
                  "mutability": "mutable",
                  "name": "resultCborBytes",
                  "nameLocation": "14280:15:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 11884,
                  "src": "14265:30:32",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 11852,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "14265:5:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "14152:154:32"
            },
            "returnParameters": {
              "id": 11860,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 11859,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 11884,
                  "src": "14375:7:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 11858,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "14375:7:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "14374:9:32"
            },
            "scope": 12527,
            "src": "14131:493:32",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              28767
            ],
            "body": {
              "id": 11915,
              "nodeType": "Block",
              "src": "14853:182:32",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "id": 11904,
                                "name": "queryId",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 11886,
                                "src": "14925:7:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "id": 11903,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "14918:6:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_uint64_$",
                                "typeString": "type(uint64)"
                              },
                              "typeName": {
                                "id": 11902,
                                "name": "uint64",
                                "nodeType": "ElementaryTypeName",
                                "src": "14918:6:32",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 11905,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "14918:15:32",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint64",
                              "typeString": "uint64"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint64",
                              "typeString": "uint64"
                            }
                          ],
                          "expression": {
                            "expression": {
                              "id": 11899,
                              "name": "Witnet",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 40741,
                              "src": "14898:6:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                "typeString": "type(library Witnet)"
                              }
                            },
                            "id": 11900,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "14905:7:32",
                            "memberName": "QueryId",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 37151,
                            "src": "14898:14:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_userDefinedValueType$_QueryId_$37151_$",
                              "typeString": "type(Witnet.QueryId)"
                            }
                          },
                          "id": 11901,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "14913:4:32",
                          "memberName": "wrap",
                          "nodeType": "MemberAccess",
                          "src": "14898:19:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_wrap_pure$_t_uint64_$returns$_t_userDefinedValueType$_QueryId_$37151_$",
                            "typeString": "function (uint64) pure returns (Witnet.QueryId)"
                          }
                        },
                        "id": 11906,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "14898:36:32",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_userDefinedValueType$_QueryId_$37151",
                          "typeString": "Witnet.QueryId"
                        }
                      },
                      {
                        "arguments": [
                          {
                            "id": 11910,
                            "name": "drTxHash",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 11888,
                            "src": "14977:8:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "expression": {
                            "expression": {
                              "id": 11907,
                              "name": "Witnet",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 40741,
                              "src": "14949:6:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                "typeString": "type(library Witnet)"
                              }
                            },
                            "id": 11908,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "14956:15:32",
                            "memberName": "TransactionHash",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 37159,
                            "src": "14949:22:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_userDefinedValueType$_TransactionHash_$37159_$",
                              "typeString": "type(Witnet.TransactionHash)"
                            }
                          },
                          "id": 11909,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "14972:4:32",
                          "memberName": "wrap",
                          "nodeType": "MemberAccess",
                          "src": "14949:27:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_wrap_pure$_t_bytes32_$returns$_t_userDefinedValueType$_TransactionHash_$37159_$",
                            "typeString": "function (bytes32) pure returns (Witnet.TransactionHash)"
                          }
                        },
                        "id": 11911,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "14949:37:32",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                          "typeString": "Witnet.TransactionHash"
                        }
                      },
                      {
                        "id": 11912,
                        "name": "resultCborBytes",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 11890,
                        "src": "15001:15:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_calldata_ptr",
                          "typeString": "bytes calldata"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_userDefinedValueType$_QueryId_$37151",
                          "typeString": "Witnet.QueryId"
                        },
                        {
                          "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                          "typeString": "Witnet.TransactionHash"
                        },
                        {
                          "typeIdentifier": "t_bytes_calldata_ptr",
                          "typeString": "bytes calldata"
                        }
                      ],
                      "id": 11898,
                      "name": "reportResult",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        12186,
                        12234
                      ],
                      "referencedDeclaration": 12186,
                      "src": "14871:12:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_userDefinedValueType$_QueryId_$37151_$_t_userDefinedValueType$_TransactionHash_$37159_$_t_bytes_calldata_ptr_$returns$_t_uint256_$",
                        "typeString": "function (Witnet.QueryId,Witnet.TransactionHash,bytes calldata) returns (uint256)"
                      }
                    },
                    "id": 11913,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "14871:156:32",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 11897,
                  "id": 11914,
                  "nodeType": "Return",
                  "src": "14864:163:32"
                }
              ]
            },
            "functionSelector": "6280bce8",
            "id": 11916,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 11894,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 11893,
                  "name": "onlyReporters",
                  "nameLocations": [
                    "14807:13:32"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 11106,
                  "src": "14807:13:32"
                },
                "nodeType": "ModifierInvocation",
                "src": "14807:13:32"
              }
            ],
            "name": "reportResult",
            "nameLocation": "14641:12:32",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 11892,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "14789:8:32"
            },
            "parameters": {
              "id": 11891,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 11886,
                  "mutability": "mutable",
                  "name": "queryId",
                  "nameLocation": "14676:7:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 11916,
                  "src": "14668:15:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 11885,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "14668:7:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 11888,
                  "mutability": "mutable",
                  "name": "drTxHash",
                  "nameLocation": "14706:8:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 11916,
                  "src": "14698:16:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 11887,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "14698:7:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 11890,
                  "mutability": "mutable",
                  "name": "resultCborBytes",
                  "nameLocation": "14744:15:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 11916,
                  "src": "14729:30:32",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 11889,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "14729:5:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "14653:117:32"
            },
            "returnParameters": {
              "id": 11897,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 11896,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 11916,
                  "src": "14839:7:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 11895,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "14839:7:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "14838:9:32"
            },
            "scope": 12527,
            "src": "14632:403:32",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              28785
            ],
            "body": {
              "id": 11997,
              "nodeType": "Block",
              "src": "15203:640:32",
              "statements": [
                {
                  "assignments": [
                    11933
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 11933,
                      "mutability": "mutable",
                      "name": "_results",
                      "nameLocation": "15272:8:32",
                      "nodeType": "VariableDeclaration",
                      "scope": 11997,
                      "src": "15214:66:32",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_BatchResult_$27049_memory_ptr_$dyn_memory_ptr",
                        "typeString": "struct IWitOracleQueriableTrustableReporter.BatchResult[]"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 11931,
                          "nodeType": "UserDefinedTypeName",
                          "pathNode": {
                            "id": 11930,
                            "name": "IWitOracleQueriableTrustableReporter.BatchResult",
                            "nameLocations": [
                              "15214:36:32",
                              "15251:11:32"
                            ],
                            "nodeType": "IdentifierPath",
                            "referencedDeclaration": 27049,
                            "src": "15214:48:32"
                          },
                          "referencedDeclaration": 27049,
                          "src": "15214:48:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_BatchResult_$27049_storage_ptr",
                            "typeString": "struct IWitOracleQueriableTrustableReporter.BatchResult"
                          }
                        },
                        "id": 11932,
                        "nodeType": "ArrayTypeName",
                        "src": "15214:50:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_BatchResult_$27049_storage_$dyn_storage_ptr",
                          "typeString": "struct IWitOracleQueriableTrustableReporter.BatchResult[]"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 11941,
                  "initialValue": {
                    "arguments": [
                      {
                        "expression": {
                          "id": 11938,
                          "name": "results",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 11920,
                          "src": "15338:7:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_BatchResultLegacy_$28776_calldata_ptr_$dyn_calldata_ptr",
                            "typeString": "struct IWitOracleLegacy.BatchResultLegacy calldata[] calldata"
                          }
                        },
                        "id": 11939,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "15346:6:32",
                        "memberName": "length",
                        "nodeType": "MemberAccess",
                        "src": "15338:14:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 11937,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "NewExpression",
                      "src": "15283:54:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_BatchResult_$27049_memory_ptr_$dyn_memory_ptr_$",
                        "typeString": "function (uint256) pure returns (struct IWitOracleQueriableTrustableReporter.BatchResult memory[] memory)"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 11935,
                          "nodeType": "UserDefinedTypeName",
                          "pathNode": {
                            "id": 11934,
                            "name": "IWitOracleQueriableTrustableReporter.BatchResult",
                            "nameLocations": [
                              "15287:36:32",
                              "15324:11:32"
                            ],
                            "nodeType": "IdentifierPath",
                            "referencedDeclaration": 27049,
                            "src": "15287:48:32"
                          },
                          "referencedDeclaration": 27049,
                          "src": "15287:48:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_BatchResult_$27049_storage_ptr",
                            "typeString": "struct IWitOracleQueriableTrustableReporter.BatchResult"
                          }
                        },
                        "id": 11936,
                        "nodeType": "ArrayTypeName",
                        "src": "15287:50:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_BatchResult_$27049_storage_$dyn_storage_ptr",
                          "typeString": "struct IWitOracleQueriableTrustableReporter.BatchResult[]"
                        }
                      }
                    },
                    "id": 11940,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "15283:70:32",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_BatchResult_$27049_memory_ptr_$dyn_memory_ptr",
                      "typeString": "struct IWitOracleQueriableTrustableReporter.BatchResult memory[] memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "15214:139:32"
                },
                {
                  "body": {
                    "id": 11991,
                    "nodeType": "Block",
                    "src": "15413:378:32",
                    "statements": [
                      {
                        "expression": {
                          "id": 11989,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "baseExpression": {
                              "id": 11953,
                              "name": "_results",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 11933,
                              "src": "15428:8:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_struct$_BatchResult_$27049_memory_ptr_$dyn_memory_ptr",
                                "typeString": "struct IWitOracleQueriableTrustableReporter.BatchResult memory[] memory"
                              }
                            },
                            "id": 11955,
                            "indexExpression": {
                              "id": 11954,
                              "name": "_ix",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 11943,
                              "src": "15437:3:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "15428:13:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_BatchResult_$27049_memory_ptr",
                              "typeString": "struct IWitOracleQueriableTrustableReporter.BatchResult memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "expression": {
                                          "baseExpression": {
                                            "id": 11962,
                                            "name": "results",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 11920,
                                            "src": "15511:7:32",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_array$_t_struct$_BatchResultLegacy_$28776_calldata_ptr_$dyn_calldata_ptr",
                                              "typeString": "struct IWitOracleLegacy.BatchResultLegacy calldata[] calldata"
                                            }
                                          },
                                          "id": 11964,
                                          "indexExpression": {
                                            "id": 11963,
                                            "name": "_ix",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 11943,
                                            "src": "15519:3:32",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_uint256",
                                              "typeString": "uint256"
                                            }
                                          },
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "nodeType": "IndexAccess",
                                          "src": "15511:12:32",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_struct$_BatchResultLegacy_$28776_calldata_ptr",
                                            "typeString": "struct IWitOracleLegacy.BatchResultLegacy calldata"
                                          }
                                        },
                                        "id": 11965,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "15524:7:32",
                                        "memberName": "queryId",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 28769,
                                        "src": "15511:20:32",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      ],
                                      "id": 11961,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "nodeType": "ElementaryTypeNameExpression",
                                      "src": "15504:6:32",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_uint64_$",
                                        "typeString": "type(uint64)"
                                      },
                                      "typeName": {
                                        "id": 11960,
                                        "name": "uint64",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "15504:6:32",
                                        "typeDescriptions": {}
                                      }
                                    },
                                    "id": 11966,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "typeConversion",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "15504:28:32",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint64",
                                      "typeString": "uint64"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint64",
                                      "typeString": "uint64"
                                    }
                                  ],
                                  "expression": {
                                    "expression": {
                                      "id": 11957,
                                      "name": "Witnet",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 40741,
                                      "src": "15484:6:32",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                        "typeString": "type(library Witnet)"
                                      }
                                    },
                                    "id": 11958,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "15491:7:32",
                                    "memberName": "QueryId",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 37151,
                                    "src": "15484:14:32",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_userDefinedValueType$_QueryId_$37151_$",
                                      "typeString": "type(Witnet.QueryId)"
                                    }
                                  },
                                  "id": 11959,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "memberLocation": "15499:4:32",
                                  "memberName": "wrap",
                                  "nodeType": "MemberAccess",
                                  "src": "15484:19:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_wrap_pure$_t_uint64_$returns$_t_userDefinedValueType$_QueryId_$37151_$",
                                    "typeString": "function (uint64) pure returns (Witnet.QueryId)"
                                  }
                                },
                                "id": 11967,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "15484:49:32",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_userDefinedValueType$_QueryId_$37151",
                                  "typeString": "Witnet.QueryId"
                                }
                              },
                              {
                                "arguments": [
                                  {
                                    "expression": {
                                      "baseExpression": {
                                        "id": 11971,
                                        "name": "results",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 11920,
                                        "src": "15591:7:32",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_array$_t_struct$_BatchResultLegacy_$28776_calldata_ptr_$dyn_calldata_ptr",
                                          "typeString": "struct IWitOracleLegacy.BatchResultLegacy calldata[] calldata"
                                        }
                                      },
                                      "id": 11973,
                                      "indexExpression": {
                                        "id": 11972,
                                        "name": "_ix",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 11943,
                                        "src": "15599:3:32",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "nodeType": "IndexAccess",
                                      "src": "15591:12:32",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_BatchResultLegacy_$28776_calldata_ptr",
                                        "typeString": "struct IWitOracleLegacy.BatchResultLegacy calldata"
                                      }
                                    },
                                    "id": 11974,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "15604:15:32",
                                    "memberName": "resultTimestamp",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 28771,
                                    "src": "15591:28:32",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint32",
                                      "typeString": "uint32"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint32",
                                      "typeString": "uint32"
                                    }
                                  ],
                                  "expression": {
                                    "expression": {
                                      "id": 11968,
                                      "name": "Witnet",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 40741,
                                      "src": "15569:6:32",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                        "typeString": "type(library Witnet)"
                                      }
                                    },
                                    "id": 11969,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "15576:9:32",
                                    "memberName": "Timestamp",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 37157,
                                    "src": "15569:16:32",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_userDefinedValueType$_Timestamp_$37157_$",
                                      "typeString": "type(Witnet.Timestamp)"
                                    }
                                  },
                                  "id": 11970,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "memberLocation": "15586:4:32",
                                  "memberName": "wrap",
                                  "nodeType": "MemberAccess",
                                  "src": "15569:21:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_wrap_pure$_t_uint64_$returns$_t_userDefinedValueType$_Timestamp_$37157_$",
                                    "typeString": "function (uint64) pure returns (Witnet.Timestamp)"
                                  }
                                },
                                "id": 11975,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "15569:51:32",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                                  "typeString": "Witnet.Timestamp"
                                }
                              },
                              {
                                "arguments": [
                                  {
                                    "expression": {
                                      "baseExpression": {
                                        "id": 11979,
                                        "name": "results",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 11920,
                                        "src": "15677:7:32",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_array$_t_struct$_BatchResultLegacy_$28776_calldata_ptr_$dyn_calldata_ptr",
                                          "typeString": "struct IWitOracleLegacy.BatchResultLegacy calldata[] calldata"
                                        }
                                      },
                                      "id": 11981,
                                      "indexExpression": {
                                        "id": 11980,
                                        "name": "_ix",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 11943,
                                        "src": "15685:3:32",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "nodeType": "IndexAccess",
                                      "src": "15677:12:32",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_BatchResultLegacy_$28776_calldata_ptr",
                                        "typeString": "struct IWitOracleLegacy.BatchResultLegacy calldata"
                                      }
                                    },
                                    "id": 11982,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "15690:8:32",
                                    "memberName": "drTxHash",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 28773,
                                    "src": "15677:21:32",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  ],
                                  "expression": {
                                    "expression": {
                                      "id": 11976,
                                      "name": "Witnet",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 40741,
                                      "src": "15649:6:32",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                        "typeString": "type(library Witnet)"
                                      }
                                    },
                                    "id": 11977,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "15656:15:32",
                                    "memberName": "TransactionHash",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 37159,
                                    "src": "15649:22:32",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_userDefinedValueType$_TransactionHash_$37159_$",
                                      "typeString": "type(Witnet.TransactionHash)"
                                    }
                                  },
                                  "id": 11978,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "memberLocation": "15672:4:32",
                                  "memberName": "wrap",
                                  "nodeType": "MemberAccess",
                                  "src": "15649:27:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_wrap_pure$_t_bytes32_$returns$_t_userDefinedValueType$_TransactionHash_$37159_$",
                                    "typeString": "function (bytes32) pure returns (Witnet.TransactionHash)"
                                  }
                                },
                                "id": 11983,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "15649:50:32",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                                  "typeString": "Witnet.TransactionHash"
                                }
                              },
                              {
                                "expression": {
                                  "baseExpression": {
                                    "id": 11984,
                                    "name": "results",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 11920,
                                    "src": "15735:7:32",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_array$_t_struct$_BatchResultLegacy_$28776_calldata_ptr_$dyn_calldata_ptr",
                                      "typeString": "struct IWitOracleLegacy.BatchResultLegacy calldata[] calldata"
                                    }
                                  },
                                  "id": 11986,
                                  "indexExpression": {
                                    "id": 11985,
                                    "name": "_ix",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 11943,
                                    "src": "15743:3:32",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "15735:12:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_BatchResultLegacy_$28776_calldata_ptr",
                                    "typeString": "struct IWitOracleLegacy.BatchResultLegacy calldata"
                                  }
                                },
                                "id": 11987,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "15748:15:32",
                                "memberName": "resultCborBytes",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 28775,
                                "src": "15735:28:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes_calldata_ptr",
                                  "typeString": "bytes calldata"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_userDefinedValueType$_QueryId_$37151",
                                  "typeString": "Witnet.QueryId"
                                },
                                {
                                  "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                                  "typeString": "Witnet.Timestamp"
                                },
                                {
                                  "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                                  "typeString": "Witnet.TransactionHash"
                                },
                                {
                                  "typeIdentifier": "t_bytes_calldata_ptr",
                                  "typeString": "bytes calldata"
                                }
                              ],
                              "id": 11956,
                              "name": "BatchResult",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 27049,
                              "src": "15444:11:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_struct$_BatchResult_$27049_storage_ptr_$",
                                "typeString": "type(struct IWitOracleQueriableTrustableReporter.BatchResult storage pointer)"
                              }
                            },
                            "id": 11988,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "structConstructorCall",
                            "lValueRequested": false,
                            "nameLocations": [
                              "15475:7:32",
                              "15552:15:32",
                              "15639:8:32",
                              "15718:15:32"
                            ],
                            "names": [
                              "queryId",
                              "resultTimestamp",
                              "drTxHash",
                              "resultCborBytes"
                            ],
                            "nodeType": "FunctionCall",
                            "src": "15444:335:32",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_BatchResult_$27049_memory_ptr",
                              "typeString": "struct IWitOracleQueriableTrustableReporter.BatchResult memory"
                            }
                          },
                          "src": "15428:351:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_BatchResult_$27049_memory_ptr",
                            "typeString": "struct IWitOracleQueriableTrustableReporter.BatchResult memory"
                          }
                        },
                        "id": 11990,
                        "nodeType": "ExpressionStatement",
                        "src": "15428:351:32"
                      }
                    ]
                  },
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 11949,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 11946,
                      "name": "_ix",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 11943,
                      "src": "15383:3:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "expression": {
                        "id": 11947,
                        "name": "results",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 11920,
                        "src": "15389:7:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_BatchResultLegacy_$28776_calldata_ptr_$dyn_calldata_ptr",
                          "typeString": "struct IWitOracleLegacy.BatchResultLegacy calldata[] calldata"
                        }
                      },
                      "id": 11948,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "15397:6:32",
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "src": "15389:14:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "15383:20:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 11992,
                  "initializationExpression": {
                    "assignments": [
                      11943
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 11943,
                        "mutability": "mutable",
                        "name": "_ix",
                        "nameLocation": "15374:3:32",
                        "nodeType": "VariableDeclaration",
                        "scope": 11992,
                        "src": "15369:8:32",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 11942,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "15369:4:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "visibility": "internal"
                      }
                    ],
                    "id": 11945,
                    "initialValue": {
                      "hexValue": "30",
                      "id": 11944,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "15380:1:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "15369:12:32"
                  },
                  "isSimpleCounterLoop": true,
                  "loopExpression": {
                    "expression": {
                      "id": 11951,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "15405:6:32",
                      "subExpression": {
                        "id": 11950,
                        "name": "_ix",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 11943,
                        "src": "15405:3:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 11952,
                    "nodeType": "ExpressionStatement",
                    "src": "15405:6:32"
                  },
                  "nodeType": "ForStatement",
                  "src": "15364:427:32"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 11994,
                        "name": "_results",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 11933,
                        "src": "15826:8:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_BatchResult_$27049_memory_ptr_$dyn_memory_ptr",
                          "typeString": "struct IWitOracleQueriableTrustableReporter.BatchResult memory[] memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_array$_t_struct$_BatchResult_$27049_memory_ptr_$dyn_memory_ptr",
                          "typeString": "struct IWitOracleQueriableTrustableReporter.BatchResult memory[] memory"
                        }
                      ],
                      "id": 11993,
                      "name": "reportResultBatch",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 12398,
                      "src": "15808:17:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_BatchResult_$27049_memory_ptr_$dyn_memory_ptr_$returns$_t_uint256_$",
                        "typeString": "function (struct IWitOracleQueriableTrustableReporter.BatchResult memory[] memory) returns (uint256)"
                      }
                    },
                    "id": 11995,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "15808:27:32",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 11927,
                  "id": 11996,
                  "nodeType": "Return",
                  "src": "15801:34:32"
                }
              ]
            },
            "functionSelector": "06eb2c42",
            "id": 11998,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 11924,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 11923,
                  "name": "onlyReporters",
                  "nameLocations": [
                    "15144:13:32"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 11106,
                  "src": "15144:13:32"
                },
                "nodeType": "ModifierInvocation",
                "src": "15144:13:32"
              }
            ],
            "name": "reportResultBatch",
            "nameLocation": "15052:17:32",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 11922,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "15126:8:32"
            },
            "parameters": {
              "id": 11921,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 11920,
                  "mutability": "mutable",
                  "name": "results",
                  "nameLocation": "15099:7:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 11998,
                  "src": "15070:36:32",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_BatchResultLegacy_$28776_calldata_ptr_$dyn_calldata_ptr",
                    "typeString": "struct IWitOracleLegacy.BatchResultLegacy[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 11918,
                      "nodeType": "UserDefinedTypeName",
                      "pathNode": {
                        "id": 11917,
                        "name": "BatchResultLegacy",
                        "nameLocations": [
                          "15070:17:32"
                        ],
                        "nodeType": "IdentifierPath",
                        "referencedDeclaration": 28776,
                        "src": "15070:17:32"
                      },
                      "referencedDeclaration": 28776,
                      "src": "15070:17:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_BatchResultLegacy_$28776_storage_ptr",
                        "typeString": "struct IWitOracleLegacy.BatchResultLegacy"
                      }
                    },
                    "id": 11919,
                    "nodeType": "ArrayTypeName",
                    "src": "15070:19:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_BatchResultLegacy_$28776_storage_$dyn_storage_ptr",
                      "typeString": "struct IWitOracleLegacy.BatchResultLegacy[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "15069:38:32"
            },
            "returnParameters": {
              "id": 11927,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 11926,
                  "mutability": "mutable",
                  "name": "_batchReward",
                  "nameLocation": "15184:12:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 11998,
                  "src": "15176:20:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 11925,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "15176:7:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "15175:22:32"
            },
            "scope": 12527,
            "src": "15043:800:32",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              26985
            ],
            "body": {
              "id": 12121,
              "nodeType": "Block",
              "src": "16730:1412:32",
              "statements": [
                {
                  "body": {
                    "id": 12119,
                    "nodeType": "Block",
                    "src": "16792:1343:32",
                    "statements": [
                      {
                        "assignments": [
                          12028
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 12028,
                            "mutability": "mutable",
                            "name": "_queryId",
                            "nameLocation": "16815:8:32",
                            "nodeType": "VariableDeclaration",
                            "scope": 12119,
                            "src": "16807:16:32",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "typeName": {
                              "id": 12027,
                              "name": "uint256",
                              "nodeType": "ElementaryTypeName",
                              "src": "16807:7:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 12032,
                        "initialValue": {
                          "baseExpression": {
                            "id": 12029,
                            "name": "_queryIds",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 12002,
                            "src": "16826:9:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
                              "typeString": "uint256[] calldata"
                            }
                          },
                          "id": 12031,
                          "indexExpression": {
                            "id": 12030,
                            "name": "_ix",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 12017,
                            "src": "16836:3:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "16826:14:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "16807:33:32"
                      },
                      {
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_enum$_QueryStatus_$37335",
                            "typeString": "enum Witnet.QueryStatus"
                          },
                          "id": 12039,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "arguments": [
                              {
                                "id": 12034,
                                "name": "_queryId",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 12028,
                                "src": "16892:8:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "id": 12033,
                              "name": "getQueryStatus",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [
                                11293
                              ],
                              "referencedDeclaration": 11293,
                              "src": "16877:14:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_enum$_QueryStatus_$37335_$",
                                "typeString": "function (uint256) view returns (enum Witnet.QueryStatus)"
                              }
                            },
                            "id": 12035,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "16877:24:32",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_QueryStatus_$37335",
                              "typeString": "enum Witnet.QueryStatus"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "expression": {
                              "expression": {
                                "id": 12036,
                                "name": "Witnet",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 40741,
                                "src": "16905:6:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                  "typeString": "type(library Witnet)"
                                }
                              },
                              "id": 12037,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "16912:11:32",
                              "memberName": "QueryStatus",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 37335,
                              "src": "16905:18:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_enum$_QueryStatus_$37335_$",
                                "typeString": "type(enum Witnet.QueryStatus)"
                              }
                            },
                            "id": 12038,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberLocation": "16924:6:32",
                            "memberName": "Posted",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 37329,
                            "src": "16905:25:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_QueryStatus_$37335",
                              "typeString": "enum Witnet.QueryStatus"
                            }
                          },
                          "src": "16877:53:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 12118,
                        "nodeType": "IfStatement",
                        "src": "16855:1269:32",
                        "trueBody": {
                          "id": 12117,
                          "nodeType": "Block",
                          "src": "16946:1178:32",
                          "statements": [
                            {
                              "assignments": [
                                12044
                              ],
                              "declarations": [
                                {
                                  "constant": false,
                                  "id": 12044,
                                  "mutability": "mutable",
                                  "name": "__query",
                                  "nameLocation": "16996:7:32",
                                  "nodeType": "VariableDeclaration",
                                  "scope": 12117,
                                  "src": "16965:38:32",
                                  "stateVariable": false,
                                  "storageLocation": "storage",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                    "typeString": "struct WitOracleDataLib.Query"
                                  },
                                  "typeName": {
                                    "id": 12043,
                                    "nodeType": "UserDefinedTypeName",
                                    "pathNode": {
                                      "id": 12042,
                                      "name": "WitOracleDataLib.Query",
                                      "nameLocations": [
                                        "16965:16:32",
                                        "16982:5:32"
                                      ],
                                      "nodeType": "IdentifierPath",
                                      "referencedDeclaration": 18074,
                                      "src": "16965:22:32"
                                    },
                                    "referencedDeclaration": 18074,
                                    "src": "16965:22:32",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                      "typeString": "struct WitOracleDataLib.Query"
                                    }
                                  },
                                  "visibility": "internal"
                                }
                              ],
                              "id": 12049,
                              "initialValue": {
                                "arguments": [
                                  {
                                    "id": 12047,
                                    "name": "_queryId",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 12028,
                                    "src": "17033:8:32",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  ],
                                  "expression": {
                                    "id": 12045,
                                    "name": "WitOracleDataLib",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 20110,
                                    "src": "17006:16:32",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_WitOracleDataLib_$20110_$",
                                      "typeString": "type(library WitOracleDataLib)"
                                    }
                                  },
                                  "id": 12046,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "17023:9:32",
                                  "memberName": "seekQuery",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 18181,
                                  "src": "17006:26:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_struct$_Query_$18074_storage_ptr_$",
                                    "typeString": "function (uint256) view returns (struct WitOracleDataLib.Query storage pointer)"
                                  }
                                },
                                "id": 12048,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "17006:36:32",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                  "typeString": "struct WitOracleDataLib.Query storage pointer"
                                }
                              },
                              "nodeType": "VariableDeclarationStatement",
                              "src": "16965:77:32"
                            },
                            {
                              "condition": {
                                "commonType": {
                                  "typeIdentifier": "t_uint24",
                                  "typeString": "uint24"
                                },
                                "id": 12054,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "expression": {
                                    "expression": {
                                      "id": 12050,
                                      "name": "__query",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 12044,
                                      "src": "17065:7:32",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                        "typeString": "struct WitOracleDataLib.Query storage pointer"
                                      }
                                    },
                                    "id": 12051,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "17073:7:32",
                                    "memberName": "request",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 18058,
                                    "src": "17065:15:32",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_QueryRequest_$18087_storage",
                                      "typeString": "struct WitOracleDataLib.QueryRequest storage ref"
                                    }
                                  },
                                  "id": 12052,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "17081:11:32",
                                  "memberName": "callbackGas",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 18078,
                                  "src": "17065:27:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint24",
                                    "typeString": "uint24"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": ">",
                                "rightExpression": {
                                  "hexValue": "30",
                                  "id": 12053,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "17095:1:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  },
                                  "value": "0"
                                },
                                "src": "17065:31:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              "falseBody": {
                                "id": 12098,
                                "nodeType": "Block",
                                "src": "17721:230:32",
                                "statements": [
                                  {
                                    "expression": {
                                      "id": 12096,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "leftHandSide": {
                                        "id": 12084,
                                        "name": "_expenses",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 12014,
                                        "src": "17744:9:32",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "nodeType": "Assignment",
                                      "operator": "+=",
                                      "rightHandSide": {
                                        "components": [
                                          {
                                            "commonType": {
                                              "typeIdentifier": "t_uint256",
                                              "typeString": "uint256"
                                            },
                                            "id": 12094,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "leftExpression": {
                                              "arguments": [
                                                {
                                                  "id": 12086,
                                                  "name": "_evmGasPrice",
                                                  "nodeType": "Identifier",
                                                  "overloadedDeclarations": [],
                                                  "referencedDeclaration": 12006,
                                                  "src": "17800:12:32",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                  }
                                                }
                                              ],
                                              "expression": {
                                                "argumentTypes": [
                                                  {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                  }
                                                ],
                                                "id": 12085,
                                                "name": "estimateBaseFee",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [
                                                  11358,
                                                  11386,
                                                  10356
                                                ],
                                                "referencedDeclaration": 10356,
                                                "src": "17784:15:32",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$",
                                                  "typeString": "function (uint256) view returns (uint256)"
                                                }
                                              },
                                              "id": 12087,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "kind": "functionCall",
                                              "lValueRequested": false,
                                              "nameLocations": [],
                                              "names": [],
                                              "nodeType": "FunctionCall",
                                              "src": "17784:29:32",
                                              "tryCall": false,
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                              }
                                            },
                                            "nodeType": "BinaryOperation",
                                            "operator": "+",
                                            "rightExpression": {
                                              "arguments": [
                                                {
                                                  "id": 12089,
                                                  "name": "_evmGasPrice",
                                                  "nodeType": "Identifier",
                                                  "overloadedDeclarations": [],
                                                  "referencedDeclaration": 12006,
                                                  "src": "17862:12:32",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                  }
                                                },
                                                {
                                                  "id": 12090,
                                                  "name": "_evmWitPrice",
                                                  "nodeType": "Identifier",
                                                  "overloadedDeclarations": [],
                                                  "referencedDeclaration": 12008,
                                                  "src": "17876:12:32",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                  }
                                                },
                                                {
                                                  "expression": {
                                                    "id": 12091,
                                                    "name": "__query",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 12044,
                                                    "src": "17890:7:32",
                                                    "typeDescriptions": {
                                                      "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                                      "typeString": "struct WitOracleDataLib.Query storage pointer"
                                                    }
                                                  },
                                                  "id": 12092,
                                                  "isConstant": false,
                                                  "isLValue": true,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "memberLocation": "17898:9:32",
                                                  "memberName": "slaParams",
                                                  "nodeType": "MemberAccess",
                                                  "referencedDeclaration": 18064,
                                                  "src": "17890:17:32",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_struct$_QuerySLA_$37373_storage",
                                                    "typeString": "struct Witnet.QuerySLA storage ref"
                                                  }
                                                }
                                              ],
                                              "expression": {
                                                "argumentTypes": [
                                                  {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                  },
                                                  {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                  },
                                                  {
                                                    "typeIdentifier": "t_struct$_QuerySLA_$37373_storage",
                                                    "typeString": "struct Witnet.QuerySLA storage ref"
                                                  }
                                                ],
                                                "id": 12088,
                                                "name": "estimateExtraFee",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 10443,
                                                "src": "17845:16:32",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_struct$_QuerySLA_$37373_memory_ptr_$returns$_t_uint256_$",
                                                  "typeString": "function (uint256,uint256,struct Witnet.QuerySLA memory) view returns (uint256)"
                                                }
                                              },
                                              "id": 12093,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "kind": "functionCall",
                                              "lValueRequested": false,
                                              "nameLocations": [],
                                              "names": [],
                                              "nodeType": "FunctionCall",
                                              "src": "17845:63:32",
                                              "tryCall": false,
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                              }
                                            },
                                            "src": "17784:124:32",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_uint256",
                                              "typeString": "uint256"
                                            }
                                          }
                                        ],
                                        "id": 12095,
                                        "isConstant": false,
                                        "isInlineArray": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "nodeType": "TupleExpression",
                                        "src": "17757:174:32",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "src": "17744:187:32",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "id": 12097,
                                    "nodeType": "ExpressionStatement",
                                    "src": "17744:187:32"
                                  }
                                ]
                              },
                              "id": 12099,
                              "nodeType": "IfStatement",
                              "src": "17061:890:32",
                              "trueBody": {
                                "id": 12083,
                                "nodeType": "Block",
                                "src": "17098:617:32",
                                "statements": [
                                  {
                                    "expression": {
                                      "id": 12081,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "leftHandSide": {
                                        "id": 12055,
                                        "name": "_expenses",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 12014,
                                        "src": "17121:9:32",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "nodeType": "Assignment",
                                      "operator": "+=",
                                      "rightHandSide": {
                                        "components": [
                                          {
                                            "commonType": {
                                              "typeIdentifier": "t_uint256",
                                              "typeString": "uint256"
                                            },
                                            "id": 12079,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "leftExpression": {
                                              "arguments": [
                                                {
                                                  "id": 12057,
                                                  "name": "_evmGasPrice",
                                                  "nodeType": "Identifier",
                                                  "overloadedDeclarations": [],
                                                  "referencedDeclaration": 12006,
                                                  "src": "17189:12:32",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                  }
                                                },
                                                {
                                                  "expression": {
                                                    "expression": {
                                                      "id": 12058,
                                                      "name": "__query",
                                                      "nodeType": "Identifier",
                                                      "overloadedDeclarations": [],
                                                      "referencedDeclaration": 12044,
                                                      "src": "17203:7:32",
                                                      "typeDescriptions": {
                                                        "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                                        "typeString": "struct WitOracleDataLib.Query storage pointer"
                                                      }
                                                    },
                                                    "id": 12059,
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "memberLocation": "17211:7:32",
                                                    "memberName": "request",
                                                    "nodeType": "MemberAccess",
                                                    "referencedDeclaration": 18058,
                                                    "src": "17203:15:32",
                                                    "typeDescriptions": {
                                                      "typeIdentifier": "t_struct$_QueryRequest_$18087_storage",
                                                      "typeString": "struct WitOracleDataLib.QueryRequest storage ref"
                                                    }
                                                  },
                                                  "id": 12060,
                                                  "isConstant": false,
                                                  "isLValue": true,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "memberLocation": "17219:11:32",
                                                  "memberName": "callbackGas",
                                                  "nodeType": "MemberAccess",
                                                  "referencedDeclaration": 18078,
                                                  "src": "17203:27:32",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_uint24",
                                                    "typeString": "uint24"
                                                  }
                                                }
                                              ],
                                              "expression": {
                                                "argumentTypes": [
                                                  {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                  },
                                                  {
                                                    "typeIdentifier": "t_uint24",
                                                    "typeString": "uint24"
                                                  }
                                                ],
                                                "id": 12056,
                                                "name": "estimateBaseFeeWithCallback",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 10402,
                                                "src": "17161:27:32",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint24_$returns$_t_uint256_$",
                                                  "typeString": "function (uint256,uint24) view returns (uint256)"
                                                }
                                              },
                                              "id": 12061,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "kind": "functionCall",
                                              "lValueRequested": false,
                                              "nameLocations": [],
                                              "names": [],
                                              "nodeType": "FunctionCall",
                                              "src": "17161:70:32",
                                              "tryCall": false,
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                              }
                                            },
                                            "nodeType": "BinaryOperation",
                                            "operator": "+",
                                            "rightExpression": {
                                              "arguments": [
                                                {
                                                  "id": 12063,
                                                  "name": "_evmGasPrice",
                                                  "nodeType": "Identifier",
                                                  "overloadedDeclarations": [],
                                                  "referencedDeclaration": 12006,
                                                  "src": "17280:12:32",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                  }
                                                },
                                                {
                                                  "id": 12064,
                                                  "name": "_evmWitPrice",
                                                  "nodeType": "Identifier",
                                                  "overloadedDeclarations": [],
                                                  "referencedDeclaration": 12008,
                                                  "src": "17294:12:32",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                  }
                                                },
                                                {
                                                  "arguments": [
                                                    {
                                                      "arguments": [
                                                        {
                                                          "hexValue": "30",
                                                          "id": 12069,
                                                          "isConstant": false,
                                                          "isLValue": false,
                                                          "isPure": true,
                                                          "kind": "number",
                                                          "lValueRequested": false,
                                                          "nodeType": "Literal",
                                                          "src": "17421:1:32",
                                                          "typeDescriptions": {
                                                            "typeIdentifier": "t_rational_0_by_1",
                                                            "typeString": "int_const 0"
                                                          },
                                                          "value": "0"
                                                        }
                                                      ],
                                                      "expression": {
                                                        "argumentTypes": [
                                                          {
                                                            "typeIdentifier": "t_rational_0_by_1",
                                                            "typeString": "int_const 0"
                                                          }
                                                        ],
                                                        "id": 12068,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "lValueRequested": false,
                                                        "nodeType": "ElementaryTypeNameExpression",
                                                        "src": "17414:6:32",
                                                        "typeDescriptions": {
                                                          "typeIdentifier": "t_type$_t_uint16_$",
                                                          "typeString": "type(uint16)"
                                                        },
                                                        "typeName": {
                                                          "id": 12067,
                                                          "name": "uint16",
                                                          "nodeType": "ElementaryTypeName",
                                                          "src": "17414:6:32",
                                                          "typeDescriptions": {}
                                                        }
                                                      },
                                                      "id": 12070,
                                                      "isConstant": false,
                                                      "isLValue": false,
                                                      "isPure": true,
                                                      "kind": "typeConversion",
                                                      "lValueRequested": false,
                                                      "nameLocations": [],
                                                      "names": [],
                                                      "nodeType": "FunctionCall",
                                                      "src": "17414:9:32",
                                                      "tryCall": false,
                                                      "typeDescriptions": {
                                                        "typeIdentifier": "t_uint16",
                                                        "typeString": "uint16"
                                                      }
                                                    },
                                                    {
                                                      "expression": {
                                                        "expression": {
                                                          "id": 12071,
                                                          "name": "__query",
                                                          "nodeType": "Identifier",
                                                          "overloadedDeclarations": [],
                                                          "referencedDeclaration": 12044,
                                                          "src": "17480:7:32",
                                                          "typeDescriptions": {
                                                            "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                                            "typeString": "struct WitOracleDataLib.Query storage pointer"
                                                          }
                                                        },
                                                        "id": 12072,
                                                        "isConstant": false,
                                                        "isLValue": true,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "memberLocation": "17488:9:32",
                                                        "memberName": "slaParams",
                                                        "nodeType": "MemberAccess",
                                                        "referencedDeclaration": 18064,
                                                        "src": "17480:17:32",
                                                        "typeDescriptions": {
                                                          "typeIdentifier": "t_struct$_QuerySLA_$37373_storage",
                                                          "typeString": "struct Witnet.QuerySLA storage ref"
                                                        }
                                                      },
                                                      "id": 12073,
                                                      "isConstant": false,
                                                      "isLValue": true,
                                                      "isPure": false,
                                                      "lValueRequested": false,
                                                      "memberLocation": "17498:16:32",
                                                      "memberName": "witCommitteeSize",
                                                      "nodeType": "MemberAccess",
                                                      "referencedDeclaration": 37370,
                                                      "src": "17480:34:32",
                                                      "typeDescriptions": {
                                                        "typeIdentifier": "t_uint16",
                                                        "typeString": "uint16"
                                                      }
                                                    },
                                                    {
                                                      "expression": {
                                                        "expression": {
                                                          "id": 12074,
                                                          "name": "__query",
                                                          "nodeType": "Identifier",
                                                          "overloadedDeclarations": [],
                                                          "referencedDeclaration": 12044,
                                                          "src": "17571:7:32",
                                                          "typeDescriptions": {
                                                            "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                                            "typeString": "struct WitOracleDataLib.Query storage pointer"
                                                          }
                                                        },
                                                        "id": 12075,
                                                        "isConstant": false,
                                                        "isLValue": true,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "memberLocation": "17579:9:32",
                                                        "memberName": "slaParams",
                                                        "nodeType": "MemberAccess",
                                                        "referencedDeclaration": 18064,
                                                        "src": "17571:17:32",
                                                        "typeDescriptions": {
                                                          "typeIdentifier": "t_struct$_QuerySLA_$37373_storage",
                                                          "typeString": "struct Witnet.QuerySLA storage ref"
                                                        }
                                                      },
                                                      "id": 12076,
                                                      "isConstant": false,
                                                      "isLValue": true,
                                                      "isPure": false,
                                                      "lValueRequested": false,
                                                      "memberLocation": "17589:16:32",
                                                      "memberName": "witUnitaryReward",
                                                      "nodeType": "MemberAccess",
                                                      "referencedDeclaration": 37372,
                                                      "src": "17571:34:32",
                                                      "typeDescriptions": {
                                                        "typeIdentifier": "t_uint64",
                                                        "typeString": "uint64"
                                                      }
                                                    }
                                                  ],
                                                  "expression": {
                                                    "argumentTypes": [
                                                      {
                                                        "typeIdentifier": "t_uint16",
                                                        "typeString": "uint16"
                                                      },
                                                      {
                                                        "typeIdentifier": "t_uint16",
                                                        "typeString": "uint16"
                                                      },
                                                      {
                                                        "typeIdentifier": "t_uint64",
                                                        "typeString": "uint64"
                                                      }
                                                    ],
                                                    "expression": {
                                                      "id": 12065,
                                                      "name": "Witnet",
                                                      "nodeType": "Identifier",
                                                      "overloadedDeclarations": [],
                                                      "referencedDeclaration": 40741,
                                                      "src": "17341:6:32",
                                                      "typeDescriptions": {
                                                        "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                                        "typeString": "type(library Witnet)"
                                                      }
                                                    },
                                                    "id": 12066,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "memberLocation": "17348:8:32",
                                                    "memberName": "QuerySLA",
                                                    "nodeType": "MemberAccess",
                                                    "referencedDeclaration": 37373,
                                                    "src": "17341:15:32",
                                                    "typeDescriptions": {
                                                      "typeIdentifier": "t_type$_t_struct$_QuerySLA_$37373_storage_ptr_$",
                                                      "typeString": "type(struct Witnet.QuerySLA storage pointer)"
                                                    }
                                                  },
                                                  "id": 12077,
                                                  "isConstant": false,
                                                  "isLValue": false,
                                                  "isPure": false,
                                                  "kind": "structConstructorCall",
                                                  "lValueRequested": false,
                                                  "nameLocations": [
                                                    "17396:16:32",
                                                    "17462:16:32",
                                                    "17553:16:32"
                                                  ],
                                                  "names": [
                                                    "witResultMaxSize",
                                                    "witCommitteeSize",
                                                    "witUnitaryReward"
                                                  ],
                                                  "nodeType": "FunctionCall",
                                                  "src": "17341:300:32",
                                                  "tryCall": false,
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_struct$_QuerySLA_$37373_memory_ptr",
                                                    "typeString": "struct Witnet.QuerySLA memory"
                                                  }
                                                }
                                              ],
                                              "expression": {
                                                "argumentTypes": [
                                                  {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                  },
                                                  {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                  },
                                                  {
                                                    "typeIdentifier": "t_struct$_QuerySLA_$37373_memory_ptr",
                                                    "typeString": "struct Witnet.QuerySLA memory"
                                                  }
                                                ],
                                                "id": 12062,
                                                "name": "estimateExtraFee",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 10443,
                                                "src": "17263:16:32",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_struct$_QuerySLA_$37373_memory_ptr_$returns$_t_uint256_$",
                                                  "typeString": "function (uint256,uint256,struct Witnet.QuerySLA memory) view returns (uint256)"
                                                }
                                              },
                                              "id": 12078,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "kind": "functionCall",
                                              "lValueRequested": false,
                                              "nameLocations": [],
                                              "names": [],
                                              "nodeType": "FunctionCall",
                                              "src": "17263:409:32",
                                              "tryCall": false,
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                              }
                                            },
                                            "src": "17161:511:32",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_uint256",
                                              "typeString": "uint256"
                                            }
                                          }
                                        ],
                                        "id": 12080,
                                        "isConstant": false,
                                        "isInlineArray": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "nodeType": "TupleExpression",
                                        "src": "17134:561:32",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "src": "17121:574:32",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "id": 12082,
                                    "nodeType": "ExpressionStatement",
                                    "src": "17121:574:32"
                                  }
                                ]
                              }
                            },
                            {
                              "expression": {
                                "id": 12106,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "id": 12100,
                                  "name": "_expenses",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 12014,
                                  "src": "17969:9:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "+=",
                                "rightHandSide": {
                                  "commonType": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  "id": 12105,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftExpression": {
                                    "id": 12101,
                                    "name": "_evmWitPrice",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 12008,
                                    "src": "17983:12:32",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "nodeType": "BinaryOperation",
                                  "operator": "*",
                                  "rightExpression": {
                                    "expression": {
                                      "expression": {
                                        "id": 12102,
                                        "name": "__query",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 12044,
                                        "src": "17998:7:32",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                          "typeString": "struct WitOracleDataLib.Query storage pointer"
                                        }
                                      },
                                      "id": 12103,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberLocation": "18006:9:32",
                                      "memberName": "slaParams",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 18064,
                                      "src": "17998:17:32",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_QuerySLA_$37373_storage",
                                        "typeString": "struct Witnet.QuerySLA storage ref"
                                      }
                                    },
                                    "id": 12104,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "18016:16:32",
                                    "memberName": "witUnitaryReward",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 37372,
                                    "src": "17998:34:32",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint64",
                                      "typeString": "uint64"
                                    }
                                  },
                                  "src": "17983:49:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "src": "17969:63:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 12107,
                              "nodeType": "ExpressionStatement",
                              "src": "17969:63:32"
                            },
                            {
                              "expression": {
                                "id": 12115,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "id": 12108,
                                  "name": "_revenues",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 12012,
                                  "src": "18051:9:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "+=",
                                "rightHandSide": {
                                  "arguments": [
                                    {
                                      "expression": {
                                        "id": 12112,
                                        "name": "__query",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 12044,
                                        "src": "18093:7:32",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                          "typeString": "struct WitOracleDataLib.Query storage pointer"
                                        }
                                      },
                                      "id": 12113,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberLocation": "18101:6:32",
                                      "memberName": "reward",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 18070,
                                      "src": "18093:14:32",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_userDefinedValueType$_QueryEvmReward_$37147",
                                        "typeString": "Witnet.QueryEvmReward"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_userDefinedValueType$_QueryEvmReward_$37147",
                                        "typeString": "Witnet.QueryEvmReward"
                                      }
                                    ],
                                    "expression": {
                                      "expression": {
                                        "id": 12109,
                                        "name": "Witnet",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 40741,
                                        "src": "18064:6:32",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                          "typeString": "type(library Witnet)"
                                        }
                                      },
                                      "id": 12110,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberLocation": "18071:14:32",
                                      "memberName": "QueryEvmReward",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 37147,
                                      "src": "18064:21:32",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_userDefinedValueType$_QueryEvmReward_$37147_$",
                                        "typeString": "type(Witnet.QueryEvmReward)"
                                      }
                                    },
                                    "id": 12111,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "memberLocation": "18086:6:32",
                                    "memberName": "unwrap",
                                    "nodeType": "MemberAccess",
                                    "src": "18064:28:32",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_QueryEvmReward_$37147_$returns$_t_uint72_$",
                                      "typeString": "function (Witnet.QueryEvmReward) pure returns (uint72)"
                                    }
                                  },
                                  "id": 12114,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "18064:44:32",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint72",
                                    "typeString": "uint72"
                                  }
                                },
                                "src": "18051:57:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 12116,
                              "nodeType": "ExpressionStatement",
                              "src": "18051:57:32"
                            }
                          ]
                        }
                      }
                    ]
                  },
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 12023,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 12020,
                      "name": "_ix",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 12017,
                      "src": "16760:3:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "expression": {
                        "id": 12021,
                        "name": "_queryIds",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 12002,
                        "src": "16766:9:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
                          "typeString": "uint256[] calldata"
                        }
                      },
                      "id": 12022,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "16776:6:32",
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "src": "16766:16:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "16760:22:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 12120,
                  "initializationExpression": {
                    "assignments": [
                      12017
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 12017,
                        "mutability": "mutable",
                        "name": "_ix",
                        "nameLocation": "16751:3:32",
                        "nodeType": "VariableDeclaration",
                        "scope": 12120,
                        "src": "16746:8:32",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 12016,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "16746:4:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "visibility": "internal"
                      }
                    ],
                    "id": 12019,
                    "initialValue": {
                      "hexValue": "30",
                      "id": 12018,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "16757:1:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "16746:12:32"
                  },
                  "isSimpleCounterLoop": true,
                  "loopExpression": {
                    "expression": {
                      "id": 12025,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "16784:6:32",
                      "subExpression": {
                        "id": 12024,
                        "name": "_ix",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 12017,
                        "src": "16784:3:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 12026,
                    "nodeType": "ExpressionStatement",
                    "src": "16784:6:32"
                  },
                  "nodeType": "ForStatement",
                  "src": "16741:1394:32"
                }
              ]
            },
            "documentation": {
              "id": 11999,
              "nodeType": "StructuredDocumentation",
              "src": "16126:302:32",
              "text": "@notice Estimates the actual earnings (or loss), in WEI, that a reporter would get by reporting result to given query,\n @notice based on the gas price of the calling transaction. Data requesters should consider upgrading the reward on \n @notice queries providing no actual earnings."
            },
            "functionSelector": "93d5185c",
            "id": 12122,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "estimateReportEarnings",
            "nameLocation": "16443:22:32",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 12010,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "16660:8:32"
            },
            "parameters": {
              "id": 12009,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12002,
                  "mutability": "mutable",
                  "name": "_queryIds",
                  "nameLocation": "16499:9:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 12122,
                  "src": "16480:28:32",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 12000,
                      "name": "uint256",
                      "nodeType": "ElementaryTypeName",
                      "src": "16480:7:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 12001,
                    "nodeType": "ArrayTypeName",
                    "src": "16480:9:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12004,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 12122,
                  "src": "16524:14:32",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 12003,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "16524:5:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12006,
                  "mutability": "mutable",
                  "name": "_evmGasPrice",
                  "nameLocation": "16561:12:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 12122,
                  "src": "16553:20:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 12005,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "16553:7:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12008,
                  "mutability": "mutable",
                  "name": "_evmWitPrice",
                  "nameLocation": "16596:12:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 12122,
                  "src": "16588:20:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 12007,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "16588:7:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "16465:154:32"
            },
            "returnParameters": {
              "id": 12015,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12012,
                  "mutability": "mutable",
                  "name": "_revenues",
                  "nameLocation": "16695:9:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 12122,
                  "src": "16687:17:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 12011,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "16687:7:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12014,
                  "mutability": "mutable",
                  "name": "_expenses",
                  "nameLocation": "16714:9:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 12122,
                  "src": "16706:17:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 12013,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "16706:7:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "16686:38:32"
            },
            "scope": 12527,
            "src": "16434:1708:32",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              26996
            ],
            "body": {
              "id": 12140,
              "nodeType": "Block",
              "src": "18513:85:32",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 12136,
                        "name": "registry",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10085,
                        "src": "18570:8:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IWitOracleRadonRegistry_$27394",
                          "typeString": "contract IWitOracleRadonRegistry"
                        }
                      },
                      {
                        "id": 12137,
                        "name": "_queryIds",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 12127,
                        "src": "18580:9:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_userDefinedValueType$_QueryId_$37151_$dyn_memory_ptr",
                          "typeString": "Witnet.QueryId[] memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_IWitOracleRadonRegistry_$27394",
                          "typeString": "contract IWitOracleRadonRegistry"
                        },
                        {
                          "typeIdentifier": "t_array$_t_userDefinedValueType$_QueryId_$37151_$dyn_memory_ptr",
                          "typeString": "Witnet.QueryId[] memory"
                        }
                      ],
                      "expression": {
                        "id": 12134,
                        "name": "WitOracleDataLib",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20110,
                        "src": "18531:16:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_WitOracleDataLib_$20110_$",
                          "typeString": "type(library WitOracleDataLib)"
                        }
                      },
                      "id": 12135,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "18548:21:32",
                      "memberName": "extractRadonBytecodes",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 19522,
                      "src": "18531:38:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_delegatecall_view$_t_contract$_IWitOracleRadonRegistry_$27394_$_t_array$_t_userDefinedValueType$_QueryId_$37151_$dyn_memory_ptr_$returns$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$",
                        "typeString": "function (contract IWitOracleRadonRegistry,Witnet.QueryId[] memory) view returns (bytes memory[] memory)"
                      }
                    },
                    "id": 12138,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "18531:59:32",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr",
                      "typeString": "bytes memory[] memory"
                    }
                  },
                  "functionReturnParameters": 12133,
                  "id": 12139,
                  "nodeType": "Return",
                  "src": "18524:66:32"
                }
              ]
            },
            "documentation": {
              "id": 12123,
              "nodeType": "StructuredDocumentation",
              "src": "18150:193:32",
              "text": "@notice Retrieves the Witnet Data Request bytecodes of previously posted queries.\n @dev Returns empty buffer if the query does not exist.\n @param _queryIds Query identifies."
            },
            "functionSelector": "5304bba2",
            "id": 12141,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "extractRadonBytecodes",
            "nameLocation": "18358:21:32",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 12129,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "18454:8:32"
            },
            "parameters": {
              "id": 12128,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12127,
                  "mutability": "mutable",
                  "name": "_queryIds",
                  "nameLocation": "18404:9:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 12141,
                  "src": "18380:33:32",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_userDefinedValueType$_QueryId_$37151_$dyn_memory_ptr",
                    "typeString": "Witnet.QueryId[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 12125,
                      "nodeType": "UserDefinedTypeName",
                      "pathNode": {
                        "id": 12124,
                        "name": "Witnet.QueryId",
                        "nameLocations": [
                          "18380:6:32",
                          "18387:7:32"
                        ],
                        "nodeType": "IdentifierPath",
                        "referencedDeclaration": 37151,
                        "src": "18380:14:32"
                      },
                      "referencedDeclaration": 37151,
                      "src": "18380:14:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_userDefinedValueType$_QueryId_$37151",
                        "typeString": "Witnet.QueryId"
                      }
                    },
                    "id": 12126,
                    "nodeType": "ArrayTypeName",
                    "src": "18380:16:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_userDefinedValueType$_QueryId_$37151_$dyn_storage_ptr",
                      "typeString": "Witnet.QueryId[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "18379:35:32"
            },
            "returnParameters": {
              "id": 12133,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12132,
                  "mutability": "mutable",
                  "name": "_bytecodes",
                  "nameLocation": "18496:10:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 12141,
                  "src": "18481:25:32",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr",
                    "typeString": "bytes[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 12130,
                      "name": "bytes",
                      "nodeType": "ElementaryTypeName",
                      "src": "18481:5:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_storage_ptr",
                        "typeString": "bytes"
                      }
                    },
                    "id": 12131,
                    "nodeType": "ArrayTypeName",
                    "src": "18481:7:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr",
                      "typeString": "bytes[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "18480:27:32"
            },
            "scope": 12527,
            "src": "18349:249:32",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              27010
            ],
            "body": {
              "id": 12185,
              "nodeType": "Block",
              "src": "19449:495:32",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 12162,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "expression": {
                            "id": 12159,
                            "name": "_resultCborBytes",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 12150,
                            "src": "19520:16:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_calldata_ptr",
                              "typeString": "bytes calldata"
                            }
                          },
                          "id": 12160,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "19537:6:32",
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "src": "19520:23:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "hexValue": "30",
                          "id": 12161,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "19547:1:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "19520:28:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "726573756c742063616e6e6f7420626520656d707479",
                        "id": 12163,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "19564:24:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_ccfc17ffe113a62111ac4353d6344750c7ff8d2c9b9400b3b822a627b2b56cc8",
                          "typeString": "literal_string \"result cannot be empty\""
                        },
                        "value": "result cannot be empty"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_ccfc17ffe113a62111ac4353d6344750c7ff8d2c9b9400b3b822a627b2b56cc8",
                          "typeString": "literal_string \"result cannot be empty\""
                        }
                      ],
                      "id": 12158,
                      "name": "_require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 26494,
                      "src": "19497:8:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) view"
                      }
                    },
                    "id": 12164,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "19497:102:32",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 12165,
                  "nodeType": "ExpressionStatement",
                  "src": "19497:102:32"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "id": 12170,
                            "name": "_queryId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 12145,
                            "src": "19797:8:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_userDefinedValueType$_QueryId_$37151",
                              "typeString": "Witnet.QueryId"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_userDefinedValueType$_QueryId_$37151",
                              "typeString": "Witnet.QueryId"
                            }
                          ],
                          "expression": {
                            "expression": {
                              "id": 12167,
                              "name": "Witnet",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 40741,
                              "src": "19775:6:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                "typeString": "type(library Witnet)"
                              }
                            },
                            "id": 12168,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "19782:7:32",
                            "memberName": "QueryId",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 37151,
                            "src": "19775:14:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_userDefinedValueType$_QueryId_$37151_$",
                              "typeString": "type(Witnet.QueryId)"
                            }
                          },
                          "id": 12169,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "19790:6:32",
                          "memberName": "unwrap",
                          "nodeType": "MemberAccess",
                          "src": "19775:21:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_QueryId_$37151_$returns$_t_uint64_$",
                            "typeString": "function (Witnet.QueryId) pure returns (uint64)"
                          }
                        },
                        "id": 12171,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "19775:31:32",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        }
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "expression": {
                                  "id": 12177,
                                  "name": "block",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4294967292,
                                  "src": "19850:5:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_magic_block",
                                    "typeString": "block"
                                  }
                                },
                                "id": 12178,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "19856:9:32",
                                "memberName": "timestamp",
                                "nodeType": "MemberAccess",
                                "src": "19850:15:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "id": 12176,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "19843:6:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_uint64_$",
                                "typeString": "type(uint64)"
                              },
                              "typeName": {
                                "id": 12175,
                                "name": "uint64",
                                "nodeType": "ElementaryTypeName",
                                "src": "19843:6:32",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 12179,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "19843:23:32",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint64",
                              "typeString": "uint64"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint64",
                              "typeString": "uint64"
                            }
                          ],
                          "expression": {
                            "expression": {
                              "id": 12172,
                              "name": "Witnet",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 40741,
                              "src": "19821:6:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                "typeString": "type(library Witnet)"
                              }
                            },
                            "id": 12173,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "19828:9:32",
                            "memberName": "Timestamp",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 37157,
                            "src": "19821:16:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_userDefinedValueType$_Timestamp_$37157_$",
                              "typeString": "type(Witnet.Timestamp)"
                            }
                          },
                          "id": 12174,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "19838:4:32",
                          "memberName": "wrap",
                          "nodeType": "MemberAccess",
                          "src": "19821:21:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_wrap_pure$_t_uint64_$returns$_t_userDefinedValueType$_Timestamp_$37157_$",
                            "typeString": "function (uint64) pure returns (Witnet.Timestamp)"
                          }
                        },
                        "id": 12180,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "19821:46:32",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                          "typeString": "Witnet.Timestamp"
                        }
                      },
                      {
                        "id": 12181,
                        "name": "_witDrTxHash",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 12148,
                        "src": "19882:12:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                          "typeString": "Witnet.TransactionHash"
                        }
                      },
                      {
                        "id": 12182,
                        "name": "_resultCborBytes",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 12150,
                        "src": "19909:16:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_calldata_ptr",
                          "typeString": "bytes calldata"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        },
                        {
                          "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                          "typeString": "Witnet.Timestamp"
                        },
                        {
                          "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                          "typeString": "Witnet.TransactionHash"
                        },
                        {
                          "typeIdentifier": "t_bytes_calldata_ptr",
                          "typeString": "bytes calldata"
                        }
                      ],
                      "id": 12166,
                      "name": "__reportResultAndReward",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 12526,
                      "src": "19737:23:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_userDefinedValueType$_Timestamp_$37157_$_t_userDefinedValueType$_TransactionHash_$37159_$_t_bytes_calldata_ptr_$returns$_t_uint256_$",
                        "typeString": "function (uint256,Witnet.Timestamp,Witnet.TransactionHash,bytes calldata) returns (uint256)"
                      }
                    },
                    "id": 12183,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "19737:199:32",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 12157,
                  "id": 12184,
                  "nodeType": "Return",
                  "src": "19730:206:32"
                }
              ]
            },
            "documentation": {
              "id": 12142,
              "nodeType": "StructuredDocumentation",
              "src": "18606:590:32",
              "text": "Reports the Witnet-provable result to a previously posted request. \n @dev Will assume `block.timestamp` as the timestamp at which the request was solved.\n @dev Fails if:\n @dev - the `_queryId` is not in 'Posted' status.\n @dev - provided `_witDrTxHash` is zero;\n @dev - length of provided `_result` is zero.\n @param _queryId The unique identifier of the data request.\n @param _witDrTxHash Hash of the commit/reveal witnessing act that took place in the Witnet blockahin.\n @param _resultCborBytes The result itself as bytes."
            },
            "functionSelector": "76d0e357",
            "id": 12186,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 12154,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 12153,
                  "name": "onlyReporters",
                  "nameLocations": [
                    "19403:13:32"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 11106,
                  "src": "19403:13:32"
                },
                "nodeType": "ModifierInvocation",
                "src": "19403:13:32"
              }
            ],
            "name": "reportResult",
            "nameLocation": "19211:12:32",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 12152,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "19385:8:32"
            },
            "parameters": {
              "id": 12151,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12145,
                  "mutability": "mutable",
                  "name": "_queryId",
                  "nameLocation": "19253:8:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 12186,
                  "src": "19238:23:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_userDefinedValueType$_QueryId_$37151",
                    "typeString": "Witnet.QueryId"
                  },
                  "typeName": {
                    "id": 12144,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 12143,
                      "name": "Witnet.QueryId",
                      "nameLocations": [
                        "19238:6:32",
                        "19245:7:32"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37151,
                      "src": "19238:14:32"
                    },
                    "referencedDeclaration": 37151,
                    "src": "19238:14:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_userDefinedValueType$_QueryId_$37151",
                      "typeString": "Witnet.QueryId"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12148,
                  "mutability": "mutable",
                  "name": "_witDrTxHash",
                  "nameLocation": "19299:12:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 12186,
                  "src": "19276:35:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                    "typeString": "Witnet.TransactionHash"
                  },
                  "typeName": {
                    "id": 12147,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 12146,
                      "name": "Witnet.TransactionHash",
                      "nameLocations": [
                        "19276:6:32",
                        "19283:15:32"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37159,
                      "src": "19276:22:32"
                    },
                    "referencedDeclaration": 37159,
                    "src": "19276:22:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                      "typeString": "Witnet.TransactionHash"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12150,
                  "mutability": "mutable",
                  "name": "_resultCborBytes",
                  "nameLocation": "19341:16:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 12186,
                  "src": "19326:31:32",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 12149,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "19326:5:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "19223:145:32"
            },
            "returnParameters": {
              "id": 12157,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12156,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 12186,
                  "src": "19435:7:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 12155,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "19435:7:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "19434:9:32"
            },
            "scope": 12527,
            "src": "19202:742:32",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              27027
            ],
            "body": {
              "id": 12233,
              "nodeType": "Block",
              "src": "20914:552:32",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 12210,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "UnaryOperation",
                        "operator": "!",
                        "prefix": true,
                        "src": "20979:26:32",
                        "subExpression": {
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "id": 12207,
                              "name": "_resultTimestamp",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 12193,
                              "src": "20980:16:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                                "typeString": "Witnet.Timestamp"
                              }
                            },
                            "id": 12208,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "20997:6:32",
                            "memberName": "isZero",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 39097,
                            "src": "20980:23:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_userDefinedValueType$_Timestamp_$37157_$returns$_t_bool_$attached_to$_t_userDefinedValueType$_Timestamp_$37157_$",
                              "typeString": "function (Witnet.Timestamp) pure returns (bool)"
                            }
                          },
                          "id": 12209,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "20980:25:32",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "6261642074696d657374616d70",
                        "id": 12211,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "21020:15:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_fd972d2f7059975408733d0027af02f68a86abdae415cfd4f9f6ec59581f8976",
                          "typeString": "literal_string \"bad timestamp\""
                        },
                        "value": "bad timestamp"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_fd972d2f7059975408733d0027af02f68a86abdae415cfd4f9f6ec59581f8976",
                          "typeString": "literal_string \"bad timestamp\""
                        }
                      ],
                      "id": 12206,
                      "name": "_require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 26494,
                      "src": "20956:8:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) view"
                      }
                    },
                    "id": 12212,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "20956:90:32",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 12213,
                  "nodeType": "ExpressionStatement",
                  "src": "20956:90:32"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 12218,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "expression": {
                            "id": 12215,
                            "name": "_resultCborBytes",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 12198,
                            "src": "21116:16:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_calldata_ptr",
                              "typeString": "bytes calldata"
                            }
                          },
                          "id": 12216,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "21133:6:32",
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "src": "21116:23:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "hexValue": "30",
                          "id": 12217,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "21143:1:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "21116:28:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "726573756c742063616e6e6f7420626520656d707479",
                        "id": 12219,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "21160:24:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_ccfc17ffe113a62111ac4353d6344750c7ff8d2c9b9400b3b822a627b2b56cc8",
                          "typeString": "literal_string \"result cannot be empty\""
                        },
                        "value": "result cannot be empty"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_ccfc17ffe113a62111ac4353d6344750c7ff8d2c9b9400b3b822a627b2b56cc8",
                          "typeString": "literal_string \"result cannot be empty\""
                        }
                      ],
                      "id": 12214,
                      "name": "_require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 26494,
                      "src": "21093:8:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) view"
                      }
                    },
                    "id": 12220,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "21093:102:32",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 12221,
                  "nodeType": "ExpressionStatement",
                  "src": "21093:102:32"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "id": 12226,
                            "name": "_queryId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 12190,
                            "src": "21349:8:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_userDefinedValueType$_QueryId_$37151",
                              "typeString": "Witnet.QueryId"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_userDefinedValueType$_QueryId_$37151",
                              "typeString": "Witnet.QueryId"
                            }
                          ],
                          "expression": {
                            "expression": {
                              "id": 12223,
                              "name": "Witnet",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 40741,
                              "src": "21327:6:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                "typeString": "type(library Witnet)"
                              }
                            },
                            "id": 12224,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "21334:7:32",
                            "memberName": "QueryId",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 37151,
                            "src": "21327:14:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_userDefinedValueType$_QueryId_$37151_$",
                              "typeString": "type(Witnet.QueryId)"
                            }
                          },
                          "id": 12225,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "21342:6:32",
                          "memberName": "unwrap",
                          "nodeType": "MemberAccess",
                          "src": "21327:21:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_QueryId_$37151_$returns$_t_uint64_$",
                            "typeString": "function (Witnet.QueryId) pure returns (uint64)"
                          }
                        },
                        "id": 12227,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "21327:31:32",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        }
                      },
                      {
                        "id": 12228,
                        "name": "_resultTimestamp",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 12193,
                        "src": "21373:16:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                          "typeString": "Witnet.Timestamp"
                        }
                      },
                      {
                        "id": 12229,
                        "name": "_witDrTxHash",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 12196,
                        "src": "21404:12:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                          "typeString": "Witnet.TransactionHash"
                        }
                      },
                      {
                        "id": 12230,
                        "name": "_resultCborBytes",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 12198,
                        "src": "21431:16:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_calldata_ptr",
                          "typeString": "bytes calldata"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        },
                        {
                          "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                          "typeString": "Witnet.Timestamp"
                        },
                        {
                          "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                          "typeString": "Witnet.TransactionHash"
                        },
                        {
                          "typeIdentifier": "t_bytes_calldata_ptr",
                          "typeString": "bytes calldata"
                        }
                      ],
                      "id": 12222,
                      "name": "__reportResultAndReward",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 12526,
                      "src": "21289:23:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_userDefinedValueType$_Timestamp_$37157_$_t_userDefinedValueType$_TransactionHash_$37159_$_t_bytes_calldata_ptr_$returns$_t_uint256_$",
                        "typeString": "function (uint256,Witnet.Timestamp,Witnet.TransactionHash,bytes calldata) returns (uint256)"
                      }
                    },
                    "id": 12231,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "21289:169:32",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 12205,
                  "id": 12232,
                  "nodeType": "Return",
                  "src": "21281:177:32"
                }
              ]
            },
            "documentation": {
              "id": 12187,
              "nodeType": "StructuredDocumentation",
              "src": "19952:650:32",
              "text": "Reports the Witnet-provable result to a previously posted request.\n @dev Fails if:\n @dev - called from unauthorized address;\n @dev - the `_queryId` is not in 'Posted' status.\n @dev - provided `_witDrTxHash` is zero;\n @dev - length of provided `_resultCborBytes` is zero.\n @param _queryId The unique query identifier\n @param _resultTimestamp Timestamp at which the reported value was captured by the Witnet blockchain. \n @param _witDrTxHash Hash of the commit/reveal witnessing act that took place in the Witnet blockahin.\n @param _resultCborBytes The result itself as bytes."
            },
            "functionSelector": "1aea970b",
            "id": 12234,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 12202,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 12201,
                  "name": "onlyReporters",
                  "nameLocations": [
                    "20868:13:32"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 11106,
                  "src": "20868:13:32"
                },
                "nodeType": "ModifierInvocation",
                "src": "20868:13:32"
              }
            ],
            "name": "reportResult",
            "nameLocation": "20617:12:32",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 12200,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "20850:8:32"
            },
            "parameters": {
              "id": 12199,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12190,
                  "mutability": "mutable",
                  "name": "_queryId",
                  "nameLocation": "20659:8:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 12234,
                  "src": "20644:23:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_userDefinedValueType$_QueryId_$37151",
                    "typeString": "Witnet.QueryId"
                  },
                  "typeName": {
                    "id": 12189,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 12188,
                      "name": "Witnet.QueryId",
                      "nameLocations": [
                        "20644:6:32",
                        "20651:7:32"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37151,
                      "src": "20644:14:32"
                    },
                    "referencedDeclaration": 37151,
                    "src": "20644:14:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_userDefinedValueType$_QueryId_$37151",
                      "typeString": "Witnet.QueryId"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12193,
                  "mutability": "mutable",
                  "name": "_resultTimestamp",
                  "nameLocation": "20700:16:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 12234,
                  "src": "20682:34:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                    "typeString": "Witnet.Timestamp"
                  },
                  "typeName": {
                    "id": 12192,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 12191,
                      "name": "Witnet.Timestamp",
                      "nameLocations": [
                        "20682:6:32",
                        "20689:9:32"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37157,
                      "src": "20682:16:32"
                    },
                    "referencedDeclaration": 37157,
                    "src": "20682:16:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                      "typeString": "Witnet.Timestamp"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12196,
                  "mutability": "mutable",
                  "name": "_witDrTxHash",
                  "nameLocation": "20754:12:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 12234,
                  "src": "20731:35:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                    "typeString": "Witnet.TransactionHash"
                  },
                  "typeName": {
                    "id": 12195,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 12194,
                      "name": "Witnet.TransactionHash",
                      "nameLocations": [
                        "20731:6:32",
                        "20738:15:32"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37159,
                      "src": "20731:22:32"
                    },
                    "referencedDeclaration": 37159,
                    "src": "20731:22:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                      "typeString": "Witnet.TransactionHash"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12198,
                  "mutability": "mutable",
                  "name": "_resultCborBytes",
                  "nameLocation": "20796:16:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 12234,
                  "src": "20781:31:32",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 12197,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "20781:5:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "20629:194:32"
            },
            "returnParameters": {
              "id": 12205,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12204,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 12234,
                  "src": "20900:7:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 12203,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "20900:7:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "20899:9:32"
            },
            "scope": 12527,
            "src": "20608:858:32",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              27037
            ],
            "body": {
              "id": 12397,
              "nodeType": "Block",
              "src": "22319:1784:32",
              "statements": [
                {
                  "body": {
                    "id": 12381,
                    "nodeType": "Block",
                    "src": "22382:1459:32",
                    "statements": [
                      {
                        "assignments": [
                          12259
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 12259,
                            "mutability": "mutable",
                            "name": "_queryId",
                            "nameLocation": "22405:8:32",
                            "nodeType": "VariableDeclaration",
                            "scope": 12381,
                            "src": "22397:16:32",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "typeName": {
                              "id": 12258,
                              "name": "uint256",
                              "nodeType": "ElementaryTypeName",
                              "src": "22397:7:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 12268,
                        "initialValue": {
                          "arguments": [
                            {
                              "expression": {
                                "baseExpression": {
                                  "id": 12263,
                                  "name": "_batchResults",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 12239,
                                  "src": "22438:13:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_struct$_BatchResult_$27049_memory_ptr_$dyn_memory_ptr",
                                    "typeString": "struct IWitOracleQueriableTrustableReporter.BatchResult memory[] memory"
                                  }
                                },
                                "id": 12265,
                                "indexExpression": {
                                  "id": 12264,
                                  "name": "_i",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 12248,
                                  "src": "22452:2:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "22438:17:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_BatchResult_$27049_memory_ptr",
                                  "typeString": "struct IWitOracleQueriableTrustableReporter.BatchResult memory"
                                }
                              },
                              "id": 12266,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "22456:7:32",
                              "memberName": "queryId",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 27040,
                              "src": "22438:25:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_userDefinedValueType$_QueryId_$37151",
                                "typeString": "Witnet.QueryId"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_userDefinedValueType$_QueryId_$37151",
                                "typeString": "Witnet.QueryId"
                              }
                            ],
                            "expression": {
                              "expression": {
                                "id": 12260,
                                "name": "Witnet",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 40741,
                                "src": "22416:6:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                  "typeString": "type(library Witnet)"
                                }
                              },
                              "id": 12261,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "22423:7:32",
                              "memberName": "QueryId",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 37151,
                              "src": "22416:14:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_userDefinedValueType$_QueryId_$37151_$",
                                "typeString": "type(Witnet.QueryId)"
                              }
                            },
                            "id": 12262,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberLocation": "22431:6:32",
                            "memberName": "unwrap",
                            "nodeType": "MemberAccess",
                            "src": "22416:21:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_QueryId_$37151_$returns$_t_uint64_$",
                              "typeString": "function (Witnet.QueryId) pure returns (uint64)"
                            }
                          },
                          "id": 12267,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "22416:48:32",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint64",
                            "typeString": "uint64"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "22397:67:32"
                      },
                      {
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_enum$_QueryStatus_$37335",
                            "typeString": "enum Witnet.QueryStatus"
                          },
                          "id": 12275,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "arguments": [
                              {
                                "id": 12270,
                                "name": "_queryId",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 12259,
                                "src": "22516:8:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "id": 12269,
                              "name": "getQueryStatus",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [
                                11293
                              ],
                              "referencedDeclaration": 11293,
                              "src": "22501:14:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_enum$_QueryStatus_$37335_$",
                                "typeString": "function (uint256) view returns (enum Witnet.QueryStatus)"
                              }
                            },
                            "id": 12271,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "22501:24:32",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_QueryStatus_$37335",
                              "typeString": "enum Witnet.QueryStatus"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "!=",
                          "rightExpression": {
                            "expression": {
                              "expression": {
                                "id": 12272,
                                "name": "Witnet",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 40741,
                                "src": "22550:6:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                  "typeString": "type(library Witnet)"
                                }
                              },
                              "id": 12273,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "22557:11:32",
                              "memberName": "QueryStatus",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 37335,
                              "src": "22550:18:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_enum$_QueryStatus_$37335_$",
                                "typeString": "type(enum Witnet.QueryStatus)"
                              }
                            },
                            "id": 12274,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberLocation": "22569:6:32",
                            "memberName": "Posted",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 37329,
                            "src": "22550:25:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_QueryStatus_$37335",
                              "typeString": "enum Witnet.QueryStatus"
                            }
                          },
                          "src": "22501:74:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": {
                          "condition": {
                            "commonType": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            },
                            "id": 12331,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "commonType": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              "id": 12323,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "commonType": {
                                  "typeIdentifier": "t_uint64",
                                  "typeString": "uint64"
                                },
                                "id": 12316,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "arguments": [
                                    {
                                      "expression": {
                                        "baseExpression": {
                                          "id": 12306,
                                          "name": "_batchResults",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 12239,
                                          "src": "22994:13:32",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_array$_t_struct$_BatchResult_$27049_memory_ptr_$dyn_memory_ptr",
                                            "typeString": "struct IWitOracleQueriableTrustableReporter.BatchResult memory[] memory"
                                          }
                                        },
                                        "id": 12308,
                                        "indexExpression": {
                                          "id": 12307,
                                          "name": "_i",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 12248,
                                          "src": "23008:2:32",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          }
                                        },
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "nodeType": "IndexAccess",
                                        "src": "22994:17:32",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_struct$_BatchResult_$27049_memory_ptr",
                                          "typeString": "struct IWitOracleQueriableTrustableReporter.BatchResult memory"
                                        }
                                      },
                                      "id": 12309,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberLocation": "23012:15:32",
                                      "memberName": "resultTimestamp",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 27043,
                                      "src": "22994:33:32",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                                        "typeString": "Witnet.Timestamp"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                                        "typeString": "Witnet.Timestamp"
                                      }
                                    ],
                                    "expression": {
                                      "expression": {
                                        "id": 12303,
                                        "name": "Witnet",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 40741,
                                        "src": "22970:6:32",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                          "typeString": "type(library Witnet)"
                                        }
                                      },
                                      "id": 12304,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberLocation": "22977:9:32",
                                      "memberName": "Timestamp",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 37157,
                                      "src": "22970:16:32",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_userDefinedValueType$_Timestamp_$37157_$",
                                        "typeString": "type(Witnet.Timestamp)"
                                      }
                                    },
                                    "id": 12305,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "memberLocation": "22987:6:32",
                                    "memberName": "unwrap",
                                    "nodeType": "MemberAccess",
                                    "src": "22970:23:32",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Timestamp_$37157_$returns$_t_uint64_$",
                                      "typeString": "function (Witnet.Timestamp) pure returns (uint64)"
                                    }
                                  },
                                  "id": 12310,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "22970:58:32",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint64",
                                    "typeString": "uint64"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": ">",
                                "rightExpression": {
                                  "arguments": [
                                    {
                                      "expression": {
                                        "id": 12313,
                                        "name": "block",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 4294967292,
                                        "src": "23038:5:32",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_magic_block",
                                          "typeString": "block"
                                        }
                                      },
                                      "id": 12314,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberLocation": "23044:9:32",
                                      "memberName": "timestamp",
                                      "nodeType": "MemberAccess",
                                      "src": "23038:15:32",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    ],
                                    "id": 12312,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "nodeType": "ElementaryTypeNameExpression",
                                    "src": "23031:6:32",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_uint64_$",
                                      "typeString": "type(uint64)"
                                    },
                                    "typeName": {
                                      "id": 12311,
                                      "name": "uint64",
                                      "nodeType": "ElementaryTypeName",
                                      "src": "23031:6:32",
                                      "typeDescriptions": {}
                                    }
                                  },
                                  "id": 12315,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "typeConversion",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "23031:23:32",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint64",
                                    "typeString": "uint64"
                                  }
                                },
                                "src": "22970:84:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "||",
                              "rightExpression": {
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "expression": {
                                    "expression": {
                                      "baseExpression": {
                                        "id": 12317,
                                        "name": "_batchResults",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 12239,
                                        "src": "23079:13:32",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_array$_t_struct$_BatchResult_$27049_memory_ptr_$dyn_memory_ptr",
                                          "typeString": "struct IWitOracleQueriableTrustableReporter.BatchResult memory[] memory"
                                        }
                                      },
                                      "id": 12319,
                                      "indexExpression": {
                                        "id": 12318,
                                        "name": "_i",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 12248,
                                        "src": "23093:2:32",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "nodeType": "IndexAccess",
                                      "src": "23079:17:32",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_BatchResult_$27049_memory_ptr",
                                        "typeString": "struct IWitOracleQueriableTrustableReporter.BatchResult memory"
                                      }
                                    },
                                    "id": 12320,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "23097:15:32",
                                    "memberName": "resultTimestamp",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 27043,
                                    "src": "23079:33:32",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                                      "typeString": "Witnet.Timestamp"
                                    }
                                  },
                                  "id": 12321,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "23113:6:32",
                                  "memberName": "isZero",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 39097,
                                  "src": "23079:40:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$_t_userDefinedValueType$_Timestamp_$37157_$returns$_t_bool_$attached_to$_t_userDefinedValueType$_Timestamp_$37157_$",
                                    "typeString": "function (Witnet.Timestamp) pure returns (bool)"
                                  }
                                },
                                "id": 12322,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "23079:42:32",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              "src": "22970:151:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "||",
                            "rightExpression": {
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 12330,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "expression": {
                                  "expression": {
                                    "baseExpression": {
                                      "id": 12324,
                                      "name": "_batchResults",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 12239,
                                      "src": "23146:13:32",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_array$_t_struct$_BatchResult_$27049_memory_ptr_$dyn_memory_ptr",
                                        "typeString": "struct IWitOracleQueriableTrustableReporter.BatchResult memory[] memory"
                                      }
                                    },
                                    "id": 12326,
                                    "indexExpression": {
                                      "id": 12325,
                                      "name": "_i",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 12248,
                                      "src": "23160:2:32",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "nodeType": "IndexAccess",
                                    "src": "23146:17:32",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_BatchResult_$27049_memory_ptr",
                                      "typeString": "struct IWitOracleQueriableTrustableReporter.BatchResult memory"
                                    }
                                  },
                                  "id": 12327,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "23164:15:32",
                                  "memberName": "resultCborBytes",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 27048,
                                  "src": "23146:33:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes_memory_ptr",
                                    "typeString": "bytes memory"
                                  }
                                },
                                "id": 12328,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "23180:6:32",
                                "memberName": "length",
                                "nodeType": "MemberAccess",
                                "src": "23146:40:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "==",
                              "rightExpression": {
                                "hexValue": "30",
                                "id": 12329,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "23190:1:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                },
                                "value": "0"
                              },
                              "src": "23146:45:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "src": "22970:221:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "falseBody": {
                            "id": 12378,
                            "nodeType": "Block",
                            "src": "23514:316:32",
                            "statements": [
                              {
                                "expression": {
                                  "id": 12376,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftHandSide": {
                                    "id": 12353,
                                    "name": "_batchReward",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 12245,
                                    "src": "23533:12:32",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "nodeType": "Assignment",
                                  "operator": "+=",
                                  "rightHandSide": {
                                    "arguments": [
                                      {
                                        "arguments": [
                                          {
                                            "expression": {
                                              "baseExpression": {
                                                "id": 12358,
                                                "name": "_batchResults",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 12239,
                                                "src": "23608:13:32",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_array$_t_struct$_BatchResult_$27049_memory_ptr_$dyn_memory_ptr",
                                                  "typeString": "struct IWitOracleQueriableTrustableReporter.BatchResult memory[] memory"
                                                }
                                              },
                                              "id": 12360,
                                              "indexExpression": {
                                                "id": 12359,
                                                "name": "_i",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 12248,
                                                "src": "23622:2:32",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_uint256",
                                                  "typeString": "uint256"
                                                }
                                              },
                                              "isConstant": false,
                                              "isLValue": true,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "nodeType": "IndexAccess",
                                              "src": "23608:17:32",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_struct$_BatchResult_$27049_memory_ptr",
                                                "typeString": "struct IWitOracleQueriableTrustableReporter.BatchResult memory"
                                              }
                                            },
                                            "id": 12361,
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberLocation": "23626:7:32",
                                            "memberName": "queryId",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 27040,
                                            "src": "23608:25:32",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_userDefinedValueType$_QueryId_$37151",
                                              "typeString": "Witnet.QueryId"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_userDefinedValueType$_QueryId_$37151",
                                              "typeString": "Witnet.QueryId"
                                            }
                                          ],
                                          "expression": {
                                            "expression": {
                                              "id": 12355,
                                              "name": "Witnet",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 40741,
                                              "src": "23586:6:32",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                                "typeString": "type(library Witnet)"
                                              }
                                            },
                                            "id": 12356,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberLocation": "23593:7:32",
                                            "memberName": "QueryId",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 37151,
                                            "src": "23586:14:32",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_type$_t_userDefinedValueType$_QueryId_$37151_$",
                                              "typeString": "type(Witnet.QueryId)"
                                            }
                                          },
                                          "id": 12357,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "memberLocation": "23601:6:32",
                                          "memberName": "unwrap",
                                          "nodeType": "MemberAccess",
                                          "src": "23586:21:32",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_QueryId_$37151_$returns$_t_uint64_$",
                                            "typeString": "function (Witnet.QueryId) pure returns (uint64)"
                                          }
                                        },
                                        "id": 12362,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "nameLocations": [],
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "23586:48:32",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint64",
                                          "typeString": "uint64"
                                        }
                                      },
                                      {
                                        "expression": {
                                          "baseExpression": {
                                            "id": 12363,
                                            "name": "_batchResults",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12239,
                                            "src": "23657:13:32",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_array$_t_struct$_BatchResult_$27049_memory_ptr_$dyn_memory_ptr",
                                              "typeString": "struct IWitOracleQueriableTrustableReporter.BatchResult memory[] memory"
                                            }
                                          },
                                          "id": 12365,
                                          "indexExpression": {
                                            "id": 12364,
                                            "name": "_i",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12248,
                                            "src": "23671:2:32",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_uint256",
                                              "typeString": "uint256"
                                            }
                                          },
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "nodeType": "IndexAccess",
                                          "src": "23657:17:32",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_struct$_BatchResult_$27049_memory_ptr",
                                            "typeString": "struct IWitOracleQueriableTrustableReporter.BatchResult memory"
                                          }
                                        },
                                        "id": 12366,
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "23675:15:32",
                                        "memberName": "resultTimestamp",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 27043,
                                        "src": "23657:33:32",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                                          "typeString": "Witnet.Timestamp"
                                        }
                                      },
                                      {
                                        "expression": {
                                          "baseExpression": {
                                            "id": 12367,
                                            "name": "_batchResults",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12239,
                                            "src": "23713:13:32",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_array$_t_struct$_BatchResult_$27049_memory_ptr_$dyn_memory_ptr",
                                              "typeString": "struct IWitOracleQueriableTrustableReporter.BatchResult memory[] memory"
                                            }
                                          },
                                          "id": 12369,
                                          "indexExpression": {
                                            "id": 12368,
                                            "name": "_i",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12248,
                                            "src": "23727:2:32",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_uint256",
                                              "typeString": "uint256"
                                            }
                                          },
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "nodeType": "IndexAccess",
                                          "src": "23713:17:32",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_struct$_BatchResult_$27049_memory_ptr",
                                            "typeString": "struct IWitOracleQueriableTrustableReporter.BatchResult memory"
                                          }
                                        },
                                        "id": 12370,
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "23731:8:32",
                                        "memberName": "drTxHash",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 27046,
                                        "src": "23713:26:32",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                                          "typeString": "Witnet.TransactionHash"
                                        }
                                      },
                                      {
                                        "expression": {
                                          "baseExpression": {
                                            "id": 12371,
                                            "name": "_batchResults",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12239,
                                            "src": "23762:13:32",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_array$_t_struct$_BatchResult_$27049_memory_ptr_$dyn_memory_ptr",
                                              "typeString": "struct IWitOracleQueriableTrustableReporter.BatchResult memory[] memory"
                                            }
                                          },
                                          "id": 12373,
                                          "indexExpression": {
                                            "id": 12372,
                                            "name": "_i",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12248,
                                            "src": "23776:2:32",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_uint256",
                                              "typeString": "uint256"
                                            }
                                          },
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "nodeType": "IndexAccess",
                                          "src": "23762:17:32",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_struct$_BatchResult_$27049_memory_ptr",
                                            "typeString": "struct IWitOracleQueriableTrustableReporter.BatchResult memory"
                                          }
                                        },
                                        "id": 12374,
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "23780:15:32",
                                        "memberName": "resultCborBytes",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 27048,
                                        "src": "23762:33:32",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes_memory_ptr",
                                          "typeString": "bytes memory"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_uint64",
                                          "typeString": "uint64"
                                        },
                                        {
                                          "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                                          "typeString": "Witnet.Timestamp"
                                        },
                                        {
                                          "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                                          "typeString": "Witnet.TransactionHash"
                                        },
                                        {
                                          "typeIdentifier": "t_bytes_memory_ptr",
                                          "typeString": "bytes memory"
                                        }
                                      ],
                                      "id": 12354,
                                      "name": "__reportResult",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 12492,
                                      "src": "23549:14:32",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_userDefinedValueType$_Timestamp_$37157_$_t_userDefinedValueType$_TransactionHash_$37159_$_t_bytes_memory_ptr_$returns$_t_uint256_$",
                                        "typeString": "function (uint256,Witnet.Timestamp,Witnet.TransactionHash,bytes memory) returns (uint256)"
                                      }
                                    },
                                    "id": 12375,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "23549:265:32",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "src": "23533:281:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "id": 12377,
                                "nodeType": "ExpressionStatement",
                                "src": "23533:281:32"
                              }
                            ]
                          },
                          "id": 12379,
                          "nodeType": "IfStatement",
                          "src": "22948:882:32",
                          "trueBody": {
                            "id": 12352,
                            "nodeType": "Block",
                            "src": "23207:301:32",
                            "statements": [
                              {
                                "eventCall": {
                                  "arguments": [
                                    {
                                      "arguments": [
                                        {
                                          "expression": {
                                            "baseExpression": {
                                              "id": 12336,
                                              "name": "_batchResults",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 12239,
                                              "src": "23292:13:32",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_array$_t_struct$_BatchResult_$27049_memory_ptr_$dyn_memory_ptr",
                                                "typeString": "struct IWitOracleQueriableTrustableReporter.BatchResult memory[] memory"
                                              }
                                            },
                                            "id": 12338,
                                            "indexExpression": {
                                              "id": 12337,
                                              "name": "_i",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 12248,
                                              "src": "23306:2:32",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                              }
                                            },
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "nodeType": "IndexAccess",
                                            "src": "23292:17:32",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_struct$_BatchResult_$27049_memory_ptr",
                                              "typeString": "struct IWitOracleQueriableTrustableReporter.BatchResult memory"
                                            }
                                          },
                                          "id": 12339,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberLocation": "23310:7:32",
                                          "memberName": "queryId",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": 27040,
                                          "src": "23292:25:32",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_userDefinedValueType$_QueryId_$37151",
                                            "typeString": "Witnet.QueryId"
                                          }
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_userDefinedValueType$_QueryId_$37151",
                                            "typeString": "Witnet.QueryId"
                                          }
                                        ],
                                        "expression": {
                                          "expression": {
                                            "id": 12333,
                                            "name": "Witnet",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 40741,
                                            "src": "23270:6:32",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                              "typeString": "type(library Witnet)"
                                            }
                                          },
                                          "id": 12334,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberLocation": "23277:7:32",
                                          "memberName": "QueryId",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": 37151,
                                          "src": "23270:14:32",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_userDefinedValueType$_QueryId_$37151_$",
                                            "typeString": "type(Witnet.QueryId)"
                                          }
                                        },
                                        "id": 12335,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "memberLocation": "23285:6:32",
                                        "memberName": "unwrap",
                                        "nodeType": "MemberAccess",
                                        "src": "23270:21:32",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_QueryId_$37151_$returns$_t_uint64_$",
                                          "typeString": "function (Witnet.QueryId) pure returns (uint64)"
                                        }
                                      },
                                      "id": 12340,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "functionCall",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "23270:48:32",
                                      "tryCall": false,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint64",
                                        "typeString": "uint64"
                                      }
                                    },
                                    {
                                      "arguments": [
                                        {
                                          "arguments": [
                                            {
                                              "arguments": [],
                                              "expression": {
                                                "argumentTypes": [],
                                                "id": 12345,
                                                "name": "class",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 26472,
                                                "src": "23392:5:32",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_function_internal_view$__$returns$_t_string_memory_ptr_$",
                                                  "typeString": "function () view returns (string memory)"
                                                }
                                              },
                                              "id": 12346,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "kind": "functionCall",
                                              "lValueRequested": false,
                                              "nameLocations": [],
                                              "names": [],
                                              "nodeType": "FunctionCall",
                                              "src": "23392:7:32",
                                              "tryCall": false,
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_string_memory_ptr",
                                                "typeString": "string memory"
                                              }
                                            },
                                            {
                                              "hexValue": "3a20696e76616c6964207265706f72742064617461",
                                              "id": 12347,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": true,
                                              "kind": "string",
                                              "lValueRequested": false,
                                              "nodeType": "Literal",
                                              "src": "23426:23:32",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_stringliteral_18e93b6a9ca9a828871ff24f0fc4025c67d39029bf31e6664071c37d5dc700dd",
                                                "typeString": "literal_string \": invalid report data\""
                                              },
                                              "value": ": invalid report data"
                                            }
                                          ],
                                          "expression": {
                                            "argumentTypes": [
                                              {
                                                "typeIdentifier": "t_string_memory_ptr",
                                                "typeString": "string memory"
                                              },
                                              {
                                                "typeIdentifier": "t_stringliteral_18e93b6a9ca9a828871ff24f0fc4025c67d39029bf31e6664071c37d5dc700dd",
                                                "typeString": "literal_string \": invalid report data\""
                                              }
                                            ],
                                            "expression": {
                                              "id": 12343,
                                              "name": "abi",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 4294967295,
                                              "src": "23349:3:32",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_magic_abi",
                                                "typeString": "abi"
                                              }
                                            },
                                            "id": 12344,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "lValueRequested": false,
                                            "memberLocation": "23353:12:32",
                                            "memberName": "encodePacked",
                                            "nodeType": "MemberAccess",
                                            "src": "23349:16:32",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                              "typeString": "function () pure returns (bytes memory)"
                                            }
                                          },
                                          "id": 12348,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "kind": "functionCall",
                                          "lValueRequested": false,
                                          "nameLocations": [],
                                          "names": [],
                                          "nodeType": "FunctionCall",
                                          "src": "23349:123:32",
                                          "tryCall": false,
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_bytes_memory_ptr",
                                            "typeString": "bytes memory"
                                          }
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_bytes_memory_ptr",
                                            "typeString": "bytes memory"
                                          }
                                        ],
                                        "id": 12342,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "nodeType": "ElementaryTypeNameExpression",
                                        "src": "23342:6:32",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                                          "typeString": "type(string storage pointer)"
                                        },
                                        "typeName": {
                                          "id": 12341,
                                          "name": "string",
                                          "nodeType": "ElementaryTypeName",
                                          "src": "23342:6:32",
                                          "typeDescriptions": {}
                                        }
                                      },
                                      "id": 12349,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "typeConversion",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "23342:131:32",
                                      "tryCall": false,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string memory"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_uint64",
                                        "typeString": "uint64"
                                      },
                                      {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string memory"
                                      }
                                    ],
                                    "id": 12332,
                                    "name": "BatchReportError",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 27055,
                                    "src": "23231:16:32",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$",
                                      "typeString": "function (uint256,string memory)"
                                    }
                                  },
                                  "id": 12350,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "23231:261:32",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_tuple$__$",
                                    "typeString": "tuple()"
                                  }
                                },
                                "id": 12351,
                                "nodeType": "EmitStatement",
                                "src": "23226:266:32"
                              }
                            ]
                          }
                        },
                        "id": 12380,
                        "nodeType": "IfStatement",
                        "src": "22479:1351:32",
                        "trueBody": {
                          "id": 12302,
                          "nodeType": "Block",
                          "src": "22591:351:32",
                          "statements": [
                            {
                              "eventCall": {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "expression": {
                                          "baseExpression": {
                                            "id": 12280,
                                            "name": "_batchResults",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12239,
                                            "src": "22676:13:32",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_array$_t_struct$_BatchResult_$27049_memory_ptr_$dyn_memory_ptr",
                                              "typeString": "struct IWitOracleQueriableTrustableReporter.BatchResult memory[] memory"
                                            }
                                          },
                                          "id": 12282,
                                          "indexExpression": {
                                            "id": 12281,
                                            "name": "_i",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12248,
                                            "src": "22690:2:32",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_uint256",
                                              "typeString": "uint256"
                                            }
                                          },
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "nodeType": "IndexAccess",
                                          "src": "22676:17:32",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_struct$_BatchResult_$27049_memory_ptr",
                                            "typeString": "struct IWitOracleQueriableTrustableReporter.BatchResult memory"
                                          }
                                        },
                                        "id": 12283,
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "22694:7:32",
                                        "memberName": "queryId",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 27040,
                                        "src": "22676:25:32",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_userDefinedValueType$_QueryId_$37151",
                                          "typeString": "Witnet.QueryId"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_userDefinedValueType$_QueryId_$37151",
                                          "typeString": "Witnet.QueryId"
                                        }
                                      ],
                                      "expression": {
                                        "expression": {
                                          "id": 12277,
                                          "name": "Witnet",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 40741,
                                          "src": "22654:6:32",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                            "typeString": "type(library Witnet)"
                                          }
                                        },
                                        "id": 12278,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "22661:7:32",
                                        "memberName": "QueryId",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 37151,
                                        "src": "22654:14:32",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_userDefinedValueType$_QueryId_$37151_$",
                                          "typeString": "type(Witnet.QueryId)"
                                        }
                                      },
                                      "id": 12279,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "memberLocation": "22669:6:32",
                                      "memberName": "unwrap",
                                      "nodeType": "MemberAccess",
                                      "src": "22654:21:32",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_QueryId_$37151_$returns$_t_uint64_$",
                                        "typeString": "function (Witnet.QueryId) pure returns (uint64)"
                                      }
                                    },
                                    "id": 12284,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "22654:48:32",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint64",
                                      "typeString": "uint64"
                                    }
                                  },
                                  {
                                    "arguments": [
                                      {
                                        "arguments": [
                                          {
                                            "arguments": [],
                                            "expression": {
                                              "argumentTypes": [],
                                              "id": 12289,
                                              "name": "class",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 26472,
                                              "src": "22775:5:32",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$__$returns$_t_string_memory_ptr_$",
                                                "typeString": "function () view returns (string memory)"
                                              }
                                            },
                                            "id": 12290,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "kind": "functionCall",
                                            "lValueRequested": false,
                                            "nameLocations": [],
                                            "names": [],
                                            "nodeType": "FunctionCall",
                                            "src": "22775:7:32",
                                            "tryCall": false,
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_string_memory_ptr",
                                              "typeString": "string memory"
                                            }
                                          },
                                          {
                                            "hexValue": "3a20",
                                            "id": 12291,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "kind": "string",
                                            "lValueRequested": false,
                                            "nodeType": "Literal",
                                            "src": "22809:4:32",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_stringliteral_e64009107d042bdc478cc69a5433e4573ea2e8a23a46646c0ee241e30c888e73",
                                              "typeString": "literal_string \": \""
                                            },
                                            "value": ": "
                                          },
                                          {
                                            "arguments": [
                                              {
                                                "expression": {
                                                  "expression": {
                                                    "id": 12294,
                                                    "name": "Witnet",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 40741,
                                                    "src": "22857:6:32",
                                                    "typeDescriptions": {
                                                      "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                                      "typeString": "type(library Witnet)"
                                                    }
                                                  },
                                                  "id": 12295,
                                                  "isConstant": false,
                                                  "isLValue": false,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "memberLocation": "22864:11:32",
                                                  "memberName": "QueryStatus",
                                                  "nodeType": "MemberAccess",
                                                  "referencedDeclaration": 37335,
                                                  "src": "22857:18:32",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_type$_t_enum$_QueryStatus_$37335_$",
                                                    "typeString": "type(enum Witnet.QueryStatus)"
                                                  }
                                                },
                                                "id": 12296,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": true,
                                                "lValueRequested": false,
                                                "memberLocation": "22876:6:32",
                                                "memberName": "Posted",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": 37329,
                                                "src": "22857:25:32",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_enum$_QueryStatus_$37335",
                                                  "typeString": "enum Witnet.QueryStatus"
                                                }
                                              }
                                            ],
                                            "expression": {
                                              "argumentTypes": [
                                                {
                                                  "typeIdentifier": "t_enum$_QueryStatus_$37335",
                                                  "typeString": "enum Witnet.QueryStatus"
                                                }
                                              ],
                                              "expression": {
                                                "id": 12292,
                                                "name": "WitOracleDataLib",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 20110,
                                                "src": "22815:16:32",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_type$_t_contract$_WitOracleDataLib_$20110_$",
                                                  "typeString": "type(library WitOracleDataLib)"
                                                }
                                              },
                                              "id": 12293,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "memberLocation": "22832:24:32",
                                              "memberName": "notInStatusRevertMessage",
                                              "nodeType": "MemberAccess",
                                              "referencedDeclaration": 20042,
                                              "src": "22815:41:32",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_function_delegatecall_pure$_t_enum$_QueryStatus_$37335_$returns$_t_string_memory_ptr_$",
                                                "typeString": "function (enum Witnet.QueryStatus) pure returns (string memory)"
                                              }
                                            },
                                            "id": 12297,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "kind": "functionCall",
                                            "lValueRequested": false,
                                            "nameLocations": [],
                                            "names": [],
                                            "nodeType": "FunctionCall",
                                            "src": "22815:68:32",
                                            "tryCall": false,
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_string_memory_ptr",
                                              "typeString": "string memory"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_string_memory_ptr",
                                              "typeString": "string memory"
                                            },
                                            {
                                              "typeIdentifier": "t_stringliteral_e64009107d042bdc478cc69a5433e4573ea2e8a23a46646c0ee241e30c888e73",
                                              "typeString": "literal_string \": \""
                                            },
                                            {
                                              "typeIdentifier": "t_string_memory_ptr",
                                              "typeString": "string memory"
                                            }
                                          ],
                                          "expression": {
                                            "id": 12287,
                                            "name": "abi",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 4294967295,
                                            "src": "22732:3:32",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_magic_abi",
                                              "typeString": "abi"
                                            }
                                          },
                                          "id": 12288,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "memberLocation": "22736:12:32",
                                          "memberName": "encodePacked",
                                          "nodeType": "MemberAccess",
                                          "src": "22732:16:32",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                            "typeString": "function () pure returns (bytes memory)"
                                          }
                                        },
                                        "id": 12298,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "nameLocations": [],
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "22732:174:32",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes_memory_ptr",
                                          "typeString": "bytes memory"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_bytes_memory_ptr",
                                          "typeString": "bytes memory"
                                        }
                                      ],
                                      "id": 12286,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "nodeType": "ElementaryTypeNameExpression",
                                      "src": "22725:6:32",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                                        "typeString": "type(string storage pointer)"
                                      },
                                      "typeName": {
                                        "id": 12285,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "22725:6:32",
                                        "typeDescriptions": {}
                                      }
                                    },
                                    "id": 12299,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "typeConversion",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "22725:182:32",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_string_memory_ptr",
                                      "typeString": "string memory"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint64",
                                      "typeString": "uint64"
                                    },
                                    {
                                      "typeIdentifier": "t_string_memory_ptr",
                                      "typeString": "string memory"
                                    }
                                  ],
                                  "id": 12276,
                                  "name": "BatchReportError",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 27055,
                                  "src": "22615:16:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$",
                                    "typeString": "function (uint256,string memory)"
                                  }
                                },
                                "id": 12300,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "22615:311:32",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 12301,
                              "nodeType": "EmitStatement",
                              "src": "22610:316:32"
                            }
                          ]
                        }
                      }
                    ]
                  },
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 12254,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 12251,
                      "name": "_i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 12248,
                      "src": "22348:2:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "expression": {
                        "id": 12252,
                        "name": "_batchResults",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 12239,
                        "src": "22353:13:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_BatchResult_$27049_memory_ptr_$dyn_memory_ptr",
                          "typeString": "struct IWitOracleQueriableTrustableReporter.BatchResult memory[] memory"
                        }
                      },
                      "id": 12253,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "22367:6:32",
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "src": "22353:20:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "22348:25:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 12382,
                  "initializationExpression": {
                    "assignments": [
                      12248
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 12248,
                        "mutability": "mutable",
                        "name": "_i",
                        "nameLocation": "22340:2:32",
                        "nodeType": "VariableDeclaration",
                        "scope": 12382,
                        "src": "22335:7:32",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 12247,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "22335:4:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "visibility": "internal"
                      }
                    ],
                    "id": 12250,
                    "initialValue": {
                      "hexValue": "30",
                      "id": 12249,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "22345:1:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "22335:11:32"
                  },
                  "isSimpleCounterLoop": true,
                  "loopExpression": {
                    "expression": {
                      "id": 12256,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "22375:5:32",
                      "subExpression": {
                        "id": 12255,
                        "name": "_i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 12248,
                        "src": "22375:2:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 12257,
                    "nodeType": "ExpressionStatement",
                    "src": "22375:5:32"
                  },
                  "nodeType": "ForStatement",
                  "src": "22330:1511:32"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 12385,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 12383,
                      "name": "_batchReward",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 12245,
                      "src": "23951:12:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">",
                    "rightExpression": {
                      "hexValue": "30",
                      "id": 12384,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "23966:1:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "23951:16:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 12396,
                  "nodeType": "IfStatement",
                  "src": "23947:149:32",
                  "trueBody": {
                    "id": 12395,
                    "nodeType": "Block",
                    "src": "23969:127:32",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "expression": {
                                    "id": 12389,
                                    "name": "msg",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 4294967281,
                                    "src": "24027:3:32",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_magic_message",
                                      "typeString": "msg"
                                    }
                                  },
                                  "id": 12390,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "24031:6:32",
                                  "memberName": "sender",
                                  "nodeType": "MemberAccess",
                                  "src": "24027:10:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                ],
                                "id": 12388,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "ElementaryTypeNameExpression",
                                "src": "24019:8:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_address_payable_$",
                                  "typeString": "type(address payable)"
                                },
                                "typeName": {
                                  "id": 12387,
                                  "name": "address",
                                  "nodeType": "ElementaryTypeName",
                                  "src": "24019:8:32",
                                  "stateMutability": "payable",
                                  "typeDescriptions": {}
                                }
                              },
                              "id": 12391,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "24019:19:32",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_address_payable",
                                "typeString": "address payable"
                              }
                            },
                            {
                              "id": 12392,
                              "name": "_batchReward",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 12245,
                              "src": "24057:12:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address_payable",
                                "typeString": "address payable"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "id": 12386,
                            "name": "__safeTransferTo",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              10337
                            ],
                            "referencedDeclaration": 10337,
                            "src": "23984:16:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_nonpayable$_t_address_payable_$_t_uint256_$returns$__$",
                              "typeString": "function (address payable,uint256)"
                            }
                          },
                          "id": 12393,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "23984:100:32",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 12394,
                        "nodeType": "ExpressionStatement",
                        "src": "23984:100:32"
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": {
              "id": 12235,
              "nodeType": "StructuredDocumentation",
              "src": "21474:646:32",
              "text": "@notice Reports Witnet-provided results to multiple requests within a single EVM tx.\n @notice Emits either a WitOracleQueryReport* or a BatchReportError event per batched report.\n @dev Fails only if called from unauthorized address.\n @param _batchResults Array of BatchResult structs, every one containing:\n         - unique query identifier;\n         - timestamp of the solving tally txs in Witnet. If zero is provided, EVM-timestamp will be used instead;\n         - hash of the corresponding data request tx at the Witnet side-chain level;\n         - data request result in raw bytes."
            },
            "functionSelector": "4e6c13a1",
            "id": 12398,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 12243,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 12242,
                  "name": "onlyReporters",
                  "nameLocations": [
                    "22260:13:32"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 11106,
                  "src": "22260:13:32"
                },
                "nodeType": "ModifierInvocation",
                "src": "22260:13:32"
              }
            ],
            "name": "reportResultBatch",
            "nameLocation": "22135:17:32",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 12241,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "22242:8:32"
            },
            "parameters": {
              "id": 12240,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12239,
                  "mutability": "mutable",
                  "name": "_batchResults",
                  "nameLocation": "22211:13:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 12398,
                  "src": "22153:71:32",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_BatchResult_$27049_memory_ptr_$dyn_memory_ptr",
                    "typeString": "struct IWitOracleQueriableTrustableReporter.BatchResult[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 12237,
                      "nodeType": "UserDefinedTypeName",
                      "pathNode": {
                        "id": 12236,
                        "name": "IWitOracleQueriableTrustableReporter.BatchResult",
                        "nameLocations": [
                          "22153:36:32",
                          "22190:11:32"
                        ],
                        "nodeType": "IdentifierPath",
                        "referencedDeclaration": 27049,
                        "src": "22153:48:32"
                      },
                      "referencedDeclaration": 27049,
                      "src": "22153:48:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_BatchResult_$27049_storage_ptr",
                        "typeString": "struct IWitOracleQueriableTrustableReporter.BatchResult"
                      }
                    },
                    "id": 12238,
                    "nodeType": "ArrayTypeName",
                    "src": "22153:50:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_BatchResult_$27049_storage_$dyn_storage_ptr",
                      "typeString": "struct IWitOracleQueriableTrustableReporter.BatchResult[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "22152:73:32"
            },
            "returnParameters": {
              "id": 12246,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12245,
                  "mutability": "mutable",
                  "name": "_batchReward",
                  "nameLocation": "22300:12:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 12398,
                  "src": "22292:20:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 12244,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "22292:7:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "22291:22:32"
            },
            "scope": 12527,
            "src": "22126:1977:32",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              11019
            ],
            "body": {
              "id": 12446,
              "nodeType": "Block",
              "src": "24667:513:32",
              "statements": [
                {
                  "expression": {
                    "id": 12426,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 12417,
                      "name": "_queryId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 12415,
                      "src": "24678:8:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "id": 12420,
                          "name": "_requester",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 12401,
                          "src": "24721:10:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        {
                          "id": 12421,
                          "name": "_callbackGas",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 12403,
                          "src": "24746:12:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint24",
                            "typeString": "uint24"
                          }
                        },
                        {
                          "id": 12422,
                          "name": "_evmReward",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 12405,
                          "src": "24773:10:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint72",
                            "typeString": "uint72"
                          }
                        },
                        {
                          "id": 12423,
                          "name": "_radonHash",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 12408,
                          "src": "24798:10:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_userDefinedValueType$_RadonHash_$37153",
                            "typeString": "Witnet.RadonHash"
                          }
                        },
                        {
                          "id": 12424,
                          "name": "_querySLA",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 12411,
                          "src": "24823:9:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_QuerySLA_$37373_memory_ptr",
                            "typeString": "struct Witnet.QuerySLA memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          {
                            "typeIdentifier": "t_uint24",
                            "typeString": "uint24"
                          },
                          {
                            "typeIdentifier": "t_uint72",
                            "typeString": "uint72"
                          },
                          {
                            "typeIdentifier": "t_userDefinedValueType$_RadonHash_$37153",
                            "typeString": "Witnet.RadonHash"
                          },
                          {
                            "typeIdentifier": "t_struct$_QuerySLA_$37373_memory_ptr",
                            "typeString": "struct Witnet.QuerySLA memory"
                          }
                        ],
                        "expression": {
                          "id": 12418,
                          "name": "super",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4294967271,
                          "src": "24689:5:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_super$_WitOracleBaseQueriableTrustable_$12527_$",
                            "typeString": "type(contract super WitOracleBaseQueriableTrustable)"
                          }
                        },
                        "id": 12419,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "24695:11:32",
                        "memberName": "__queryData",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 11019,
                        "src": "24689:17:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint24_$_t_uint72_$_t_userDefinedValueType$_RadonHash_$37153_$_t_struct$_QuerySLA_$37373_memory_ptr_$returns$_t_uint256_$",
                          "typeString": "function (address,uint24,uint72,Witnet.RadonHash,struct Witnet.QuerySLA memory) returns (uint256)"
                        }
                      },
                      "id": 12425,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "24689:154:32",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "24678:165:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 12427,
                  "nodeType": "ExpressionStatement",
                  "src": "24678:165:32"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 12431,
                        "name": "_queryId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 12415,
                        "src": "24944:8:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "expression": {
                          "id": 12432,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4294967281,
                          "src": "24968:3:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 12433,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "24972:5:32",
                        "memberName": "value",
                        "nodeType": "MemberAccess",
                        "src": "24968:9:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "expression": {
                                  "id": 12438,
                                  "name": "_querySLA",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 12411,
                                  "src": "25058:9:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_QuerySLA_$37373_memory_ptr",
                                    "typeString": "struct Witnet.QuerySLA memory"
                                  }
                                },
                                "id": 12439,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "25068:16:32",
                                "memberName": "witCommitteeSize",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 37370,
                                "src": "25058:26:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint16",
                                  "typeString": "uint16"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint16",
                                  "typeString": "uint16"
                                }
                              ],
                              "id": 12437,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "25052:5:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_uint8_$",
                                "typeString": "type(uint8)"
                              },
                              "typeName": {
                                "id": 12436,
                                "name": "uint8",
                                "nodeType": "ElementaryTypeName",
                                "src": "25052:5:32",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 12440,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "25052:33:32",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint8",
                              "typeString": "uint8"
                            }
                          },
                          {
                            "expression": {
                              "id": 12441,
                              "name": "_querySLA",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 12411,
                              "src": "25119:9:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_QuerySLA_$37373_memory_ptr",
                                "typeString": "struct Witnet.QuerySLA memory"
                              }
                            },
                            "id": 12442,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "25129:16:32",
                            "memberName": "witUnitaryReward",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 37372,
                            "src": "25119:26:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint64",
                              "typeString": "uint64"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint8",
                              "typeString": "uint8"
                            },
                            {
                              "typeIdentifier": "t_uint64",
                              "typeString": "uint64"
                            }
                          ],
                          "expression": {
                            "id": 12434,
                            "name": "IWitOracleLegacy",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 28786,
                            "src": "24993:16:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_IWitOracleLegacy_$28786_$",
                              "typeString": "type(contract IWitOracleLegacy)"
                            }
                          },
                          "id": 12435,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "25010:8:32",
                          "memberName": "RadonSLA",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 28611,
                          "src": "24993:25:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_struct$_RadonSLA_$28611_storage_ptr_$",
                            "typeString": "type(struct IWitOracleLegacy.RadonSLA storage pointer)"
                          }
                        },
                        "id": 12443,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "structConstructorCall",
                        "lValueRequested": false,
                        "nameLocations": [
                          "25038:12:32",
                          "25104:13:32"
                        ],
                        "names": [
                          "numWitnesses",
                          "witnessReward"
                        ],
                        "nodeType": "FunctionCall",
                        "src": "24993:168:32",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RadonSLA_$28611_memory_ptr",
                          "typeString": "struct IWitOracleLegacy.RadonSLA memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_struct$_RadonSLA_$28611_memory_ptr",
                          "typeString": "struct IWitOracleLegacy.RadonSLA memory"
                        }
                      ],
                      "expression": {
                        "id": 12428,
                        "name": "IWitOracleLegacy",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 28786,
                        "src": "24901:16:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_IWitOracleLegacy_$28786_$",
                          "typeString": "type(contract IWitOracleLegacy)"
                        }
                      },
                      "id": 12430,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "24918:11:32",
                      "memberName": "WitnetQuery",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 28620,
                      "src": "24901:28:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_struct$_RadonSLA_$28611_memory_ptr_$returns$__$",
                        "typeString": "function (uint256,uint256,struct IWitOracleLegacy.RadonSLA memory)"
                      }
                    },
                    "id": 12444,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "24901:271:32",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 12445,
                  "nodeType": "EmitStatement",
                  "src": "24896:276:32"
                }
              ]
            },
            "documentation": {
              "id": 12399,
              "nodeType": "StructuredDocumentation",
              "src": "24113:240:32",
              "text": "================================================================================================================\n --- Internal methods -------------------------------------------------------------------------------------------"
            },
            "id": 12447,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "__queryData",
            "nameLocation": "24368:11:32",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 12413,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "24599:8:32"
            },
            "parameters": {
              "id": 12412,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12401,
                  "mutability": "mutable",
                  "name": "_requester",
                  "nameLocation": "24402:10:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 12447,
                  "src": "24394:18:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 12400,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "24394:7:32",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12403,
                  "mutability": "mutable",
                  "name": "_callbackGas",
                  "nameLocation": "24435:12:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 12447,
                  "src": "24427:20:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint24",
                    "typeString": "uint24"
                  },
                  "typeName": {
                    "id": 12402,
                    "name": "uint24",
                    "nodeType": "ElementaryTypeName",
                    "src": "24427:6:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint24",
                      "typeString": "uint24"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12405,
                  "mutability": "mutable",
                  "name": "_evmReward",
                  "nameLocation": "24470:10:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 12447,
                  "src": "24462:18:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint72",
                    "typeString": "uint72"
                  },
                  "typeName": {
                    "id": 12404,
                    "name": "uint72",
                    "nodeType": "ElementaryTypeName",
                    "src": "24462:6:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint72",
                      "typeString": "uint72"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12408,
                  "mutability": "mutable",
                  "name": "_radonHash",
                  "nameLocation": "24512:10:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 12447,
                  "src": "24495:27:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_userDefinedValueType$_RadonHash_$37153",
                    "typeString": "Witnet.RadonHash"
                  },
                  "typeName": {
                    "id": 12407,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 12406,
                      "name": "Witnet.RadonHash",
                      "nameLocations": [
                        "24495:6:32",
                        "24502:9:32"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37153,
                      "src": "24495:16:32"
                    },
                    "referencedDeclaration": 37153,
                    "src": "24495:16:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_userDefinedValueType$_RadonHash_$37153",
                      "typeString": "Witnet.RadonHash"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12411,
                  "mutability": "mutable",
                  "name": "_querySLA",
                  "nameLocation": "24560:9:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 12447,
                  "src": "24537:32:32",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_QuerySLA_$37373_memory_ptr",
                    "typeString": "struct Witnet.QuerySLA"
                  },
                  "typeName": {
                    "id": 12410,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 12409,
                      "name": "Witnet.QuerySLA",
                      "nameLocations": [
                        "24537:6:32",
                        "24544:8:32"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37373,
                      "src": "24537:15:32"
                    },
                    "referencedDeclaration": 37373,
                    "src": "24537:15:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_QuerySLA_$37373_storage_ptr",
                      "typeString": "struct Witnet.QuerySLA"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "24379:201:32"
            },
            "returnParameters": {
              "id": 12416,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12415,
                  "mutability": "mutable",
                  "name": "_queryId",
                  "nameLocation": "24652:8:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 12447,
                  "src": "24644:16:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 12414,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "24644:7:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "24643:18:32"
            },
            "scope": 12527,
            "src": "24359:821:32",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 12491,
              "nodeType": "Block",
              "src": "25455:419:32",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_enum$_QueryStatus_$37335",
                          "typeString": "enum Witnet.QueryStatus"
                        },
                        "id": 12470,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "arguments": [
                            {
                              "id": 12465,
                              "name": "_queryId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 12449,
                              "src": "25521:8:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "expression": {
                              "id": 12463,
                              "name": "WitOracleDataLib",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 20110,
                              "src": "25489:16:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_WitOracleDataLib_$20110_$",
                                "typeString": "type(library WitOracleDataLib)"
                              }
                            },
                            "id": 12464,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "25506:14:32",
                            "memberName": "getQueryStatus",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 19166,
                            "src": "25489:31:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_delegatecall_view$_t_uint256_$returns$_t_enum$_QueryStatus_$37335_$",
                              "typeString": "function (uint256) view returns (enum Witnet.QueryStatus)"
                            }
                          },
                          "id": 12466,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "25489:41:32",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_QueryStatus_$37335",
                            "typeString": "enum Witnet.QueryStatus"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "expression": {
                            "expression": {
                              "id": 12467,
                              "name": "Witnet",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 40741,
                              "src": "25534:6:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                "typeString": "type(library Witnet)"
                              }
                            },
                            "id": 12468,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "25541:11:32",
                            "memberName": "QueryStatus",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 37335,
                            "src": "25534:18:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_enum$_QueryStatus_$37335_$",
                              "typeString": "type(enum Witnet.QueryStatus)"
                            }
                          },
                          "id": 12469,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "25553:6:32",
                          "memberName": "Posted",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 37329,
                          "src": "25534:25:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_QueryStatus_$37335",
                            "typeString": "enum Witnet.QueryStatus"
                          }
                        },
                        "src": "25489:70:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "6e6f7420696e20506f7374656420737461747573",
                        "id": 12471,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "25574:22:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_1e1992b14f1dde786b138f30dd934f170d10dd393640a6575f1d65c08816abf8",
                          "typeString": "literal_string \"not in Posted status\""
                        },
                        "value": "not in Posted status"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_1e1992b14f1dde786b138f30dd934f170d10dd393640a6575f1d65c08816abf8",
                          "typeString": "literal_string \"not in Posted status\""
                        }
                      ],
                      "id": 12462,
                      "name": "_require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 26494,
                      "src": "25466:8:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) view"
                      }
                    },
                    "id": 12472,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "25466:141:32",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 12473,
                  "nodeType": "ExpressionStatement",
                  "src": "25466:141:32"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "expression": {
                          "id": 12476,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4294967281,
                          "src": "25669:3:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 12477,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "25673:6:32",
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "src": "25669:10:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "expression": {
                          "id": 12478,
                          "name": "tx",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4294967270,
                          "src": "25694:2:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_transaction",
                            "typeString": "tx"
                          }
                        },
                        "id": 12479,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "25697:8:32",
                        "memberName": "gasprice",
                        "nodeType": "MemberAccess",
                        "src": "25694:11:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "arguments": [
                          {
                            "expression": {
                              "id": 12482,
                              "name": "block",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4294967292,
                              "src": "25727:5:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_block",
                                "typeString": "block"
                              }
                            },
                            "id": 12483,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "25733:6:32",
                            "memberName": "number",
                            "nodeType": "MemberAccess",
                            "src": "25727:12:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "id": 12481,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "25720:6:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_uint64_$",
                            "typeString": "type(uint64)"
                          },
                          "typeName": {
                            "id": 12480,
                            "name": "uint64",
                            "nodeType": "ElementaryTypeName",
                            "src": "25720:6:32",
                            "typeDescriptions": {}
                          }
                        },
                        "id": 12484,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "25720:20:32",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        }
                      },
                      {
                        "id": 12485,
                        "name": "_queryId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 12449,
                        "src": "25755:8:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "id": 12486,
                        "name": "_resultTimestamp",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 12452,
                        "src": "25779:16:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                          "typeString": "Witnet.Timestamp"
                        }
                      },
                      {
                        "id": 12487,
                        "name": "_witDrTxHash",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 12455,
                        "src": "25811:12:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                          "typeString": "Witnet.TransactionHash"
                        }
                      },
                      {
                        "id": 12488,
                        "name": "_resultCborBytes",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 12457,
                        "src": "25839:16:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                          "typeString": "Witnet.Timestamp"
                        },
                        {
                          "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                          "typeString": "Witnet.TransactionHash"
                        },
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "expression": {
                        "id": 12474,
                        "name": "WitOracleDataLib",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20110,
                        "src": "25625:16:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_WitOracleDataLib_$20110_$",
                          "typeString": "type(library WitOracleDataLib)"
                        }
                      },
                      "id": 12475,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "25642:12:32",
                      "memberName": "reportResult",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 19691,
                      "src": "25625:29:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_delegatecall_nonpayable$_t_address_$_t_uint256_$_t_uint64_$_t_uint256_$_t_userDefinedValueType$_Timestamp_$37157_$_t_userDefinedValueType$_TransactionHash_$37159_$_t_bytes_memory_ptr_$returns$_t_uint256_$",
                        "typeString": "function (address,uint256,uint64,uint256,Witnet.Timestamp,Witnet.TransactionHash,bytes memory) returns (uint256)"
                      }
                    },
                    "id": 12489,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "25625:241:32",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 12461,
                  "id": 12490,
                  "nodeType": "Return",
                  "src": "25618:248:32"
                }
              ]
            },
            "id": 12492,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "__reportResult",
            "nameLocation": "25197:14:32",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 12458,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12449,
                  "mutability": "mutable",
                  "name": "_queryId",
                  "nameLocation": "25234:8:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 12492,
                  "src": "25226:16:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 12448,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "25226:7:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12452,
                  "mutability": "mutable",
                  "name": "_resultTimestamp",
                  "nameLocation": "25275:16:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 12492,
                  "src": "25257:34:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                    "typeString": "Witnet.Timestamp"
                  },
                  "typeName": {
                    "id": 12451,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 12450,
                      "name": "Witnet.Timestamp",
                      "nameLocations": [
                        "25257:6:32",
                        "25264:9:32"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37157,
                      "src": "25257:16:32"
                    },
                    "referencedDeclaration": 37157,
                    "src": "25257:16:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                      "typeString": "Witnet.Timestamp"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12455,
                  "mutability": "mutable",
                  "name": "_witDrTxHash",
                  "nameLocation": "25329:12:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 12492,
                  "src": "25306:35:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                    "typeString": "Witnet.TransactionHash"
                  },
                  "typeName": {
                    "id": 12454,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 12453,
                      "name": "Witnet.TransactionHash",
                      "nameLocations": [
                        "25306:6:32",
                        "25313:15:32"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37159,
                      "src": "25306:22:32"
                    },
                    "referencedDeclaration": 37159,
                    "src": "25306:22:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                      "typeString": "Witnet.TransactionHash"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12457,
                  "mutability": "mutable",
                  "name": "_resultCborBytes",
                  "nameLocation": "25369:16:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 12492,
                  "src": "25356:29:32",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 12456,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "25356:5:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "25211:185:32"
            },
            "returnParameters": {
              "id": 12461,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12460,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 12492,
                  "src": "25441:7:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 12459,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "25441:7:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "25440:9:32"
            },
            "scope": 12527,
            "src": "25188:686:32",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 12525,
              "nodeType": "Block",
              "src": "26171:309:32",
              "statements": [
                {
                  "expression": {
                    "id": 12514,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 12507,
                      "name": "_evmReward",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 12505,
                      "src": "26182:10:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "id": 12509,
                          "name": "_queryId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 12494,
                          "src": "26224:8:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "id": 12510,
                          "name": "_resultTimestamp",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 12497,
                          "src": "26248:16:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                            "typeString": "Witnet.Timestamp"
                          }
                        },
                        {
                          "id": 12511,
                          "name": "_witDrTxHash",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 12500,
                          "src": "26280:12:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                            "typeString": "Witnet.TransactionHash"
                          }
                        },
                        {
                          "id": 12512,
                          "name": "_resultCborBytes",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 12502,
                          "src": "26308:16:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_calldata_ptr",
                            "typeString": "bytes calldata"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          {
                            "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                            "typeString": "Witnet.Timestamp"
                          },
                          {
                            "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                            "typeString": "Witnet.TransactionHash"
                          },
                          {
                            "typeIdentifier": "t_bytes_calldata_ptr",
                            "typeString": "bytes calldata"
                          }
                        ],
                        "id": 12508,
                        "name": "__reportResult",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 12492,
                        "src": "26195:14:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_userDefinedValueType$_Timestamp_$37157_$_t_userDefinedValueType$_TransactionHash_$37159_$_t_bytes_memory_ptr_$returns$_t_uint256_$",
                          "typeString": "function (uint256,Witnet.Timestamp,Witnet.TransactionHash,bytes memory) returns (uint256)"
                        }
                      },
                      "id": 12513,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "26195:140:32",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "26182:153:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 12515,
                  "nodeType": "ExpressionStatement",
                  "src": "26182:153:32"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "expression": {
                              "id": 12519,
                              "name": "msg",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4294967281,
                              "src": "26425:3:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_message",
                                "typeString": "msg"
                              }
                            },
                            "id": 12520,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "26429:6:32",
                            "memberName": "sender",
                            "nodeType": "MemberAccess",
                            "src": "26425:10:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 12518,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "26417:8:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_address_payable_$",
                            "typeString": "type(address payable)"
                          },
                          "typeName": {
                            "id": 12517,
                            "name": "address",
                            "nodeType": "ElementaryTypeName",
                            "src": "26417:8:32",
                            "stateMutability": "payable",
                            "typeDescriptions": {}
                          }
                        },
                        "id": 12521,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "26417:19:32",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        }
                      },
                      {
                        "id": 12522,
                        "name": "_evmReward",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 12505,
                        "src": "26451:10:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 12516,
                      "name": "__safeTransferTo",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        10337
                      ],
                      "referencedDeclaration": 10337,
                      "src": "26386:16:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_payable_$_t_uint256_$returns$__$",
                        "typeString": "function (address payable,uint256)"
                      }
                    },
                    "id": 12523,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "26386:86:32",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 12524,
                  "nodeType": "ExpressionStatement",
                  "src": "26386:86:32"
                }
              ]
            },
            "id": 12526,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "__reportResultAndReward",
            "nameLocation": "25891:23:32",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 12503,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12494,
                  "mutability": "mutable",
                  "name": "_queryId",
                  "nameLocation": "25937:8:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 12526,
                  "src": "25929:16:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 12493,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "25929:7:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12497,
                  "mutability": "mutable",
                  "name": "_resultTimestamp",
                  "nameLocation": "25978:16:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 12526,
                  "src": "25960:34:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                    "typeString": "Witnet.Timestamp"
                  },
                  "typeName": {
                    "id": 12496,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 12495,
                      "name": "Witnet.Timestamp",
                      "nameLocations": [
                        "25960:6:32",
                        "25967:9:32"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37157,
                      "src": "25960:16:32"
                    },
                    "referencedDeclaration": 37157,
                    "src": "25960:16:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                      "typeString": "Witnet.Timestamp"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12500,
                  "mutability": "mutable",
                  "name": "_witDrTxHash",
                  "nameLocation": "26032:12:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 12526,
                  "src": "26009:35:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                    "typeString": "Witnet.TransactionHash"
                  },
                  "typeName": {
                    "id": 12499,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 12498,
                      "name": "Witnet.TransactionHash",
                      "nameLocations": [
                        "26009:6:32",
                        "26016:15:32"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37159,
                      "src": "26009:22:32"
                    },
                    "referencedDeclaration": 37159,
                    "src": "26009:22:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                      "typeString": "Witnet.TransactionHash"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12502,
                  "mutability": "mutable",
                  "name": "_resultCborBytes",
                  "nameLocation": "26074:16:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 12526,
                  "src": "26059:31:32",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 12501,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "26059:5:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "25914:187:32"
            },
            "returnParameters": {
              "id": 12506,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12505,
                  "mutability": "mutable",
                  "name": "_evmReward",
                  "nameLocation": "26154:10:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 12526,
                  "src": "26146:18:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 12504,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "26146:7:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "26145:20:32"
            },
            "scope": 12527,
            "src": "25882:598:32",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          }
        ],
        "scope": 12528,
        "src": "485:25998:32",
        "usedErrors": [
          16,
          19,
          281,
          286,
          537,
          26521
        ],
        "usedEvents": [
          24,
          292,
          26543,
          26836,
          26848,
          26856,
          26863,
          26875,
          26891,
          27055,
          27600,
          27605,
          28620,
          45638,
          45721,
          45727,
          45853
        ]
      }
    ],
    "src": "35:26450:32"
  },
  "compiler": {
    "name": "solc",
    "version": "0.8.30+commit.73712a01.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "3.4.16",
  "updatedAt": "2025-10-15T14:34:45.489Z",
  "devdoc": {
    "author": "The Witnet Foundation",
    "errors": {
      "InvalidInitialization()": [
        {
          "details": "The contract is already initialized."
        }
      ],
      "NotInitializing()": [
        {
          "details": "The contract is not initializing."
        }
      ],
      "OwnableInvalidOwner(address)": [
        {
          "details": "The owner is not a valid owner account. (eg. `address(0)`)"
        }
      ],
      "OwnableUnauthorizedAccount(address)": [
        {
          "details": "The caller account is not authorized to perform an operation."
        }
      ],
      "ReentrancyGuardReentrantCall()": [
        {
          "details": "Unauthorized reentrant call."
        }
      ]
    },
    "events": {
      "Initialized(uint64)": {
        "details": "Triggered when the contract has been initialized or reinitialized."
      },
      "Upgraded(address,address,bytes32,string)": {
        "params": {
          "baseAddr": "The address of the new implementation contract.",
          "baseCodehash": "The EVM-codehash of the new implementation contract.",
          "from": "The address who ordered the upgrading. Namely, the WRB operator in \"trustable\" implementations.",
          "versionTag": "Ascii-encoded version literal with which the implementation deployer decided to tag it."
        }
      }
    },
    "kind": "dev",
    "methods": {
      "acceptOwnership()": {
        "details": "The new owner accepts the ownership transfer."
      },
      "base()": {
        "details": "Retrieves base contract. Differs from address(this) when called via delegate-proxy pattern."
      },
      "codehash()": {
        "details": "Retrieves the immutable codehash of this contract, even if invoked as delegatecall."
      },
      "deleteQuery(uint256)": {
        "details": "Fails if the query is not in a final status, or not called from the actual requester."
      },
      "estimateBaseFee(uint256)": {
        "params": {
          "_evmGasPrice": "Expected gas price to pay upon posting the data request."
        }
      },
      "estimateBaseFee(uint256,bytes32)": {
        "details": "Underestimates if the size of returned data is greater than `resultMaxSize`. ",
        "params": {
          "gasPrice": "Expected gas price to pay upon posting the data request.",
          "radHash": "The hash of some Witnet Data Request previously posted in the WitOracleRadonRegistry registry."
        }
      },
      "estimateBaseFee(uint256,uint16)": {
        "details": "Underestimates if the size of returned data is greater than `_resultMaxSize`. ",
        "params": {
          "_gasPrice": "Expected gas price to pay upon posting the data request."
        }
      },
      "estimateBaseFeeWithCallback(uint256,uint24)": {
        "params": {
          "_evmCallbackGasLimit": "Maximum gas to be spent when reporting the data request result.",
          "_evmGasPrice": "Expected gas price to pay upon posting the data request."
        }
      },
      "estimateExtraFee(uint256,uint256,(uint16,uint16,uint64))": {
        "details": "The extra fee gets calculated in proportion to:",
        "params": {
          "_evmGasPrice": "Tentative EVM gas price at the moment the query result is ready.",
          "_evmWitPrice": "Tentative nanoWit price in Wei at the moment the query is solved on the Wit/Oracle blockchain.",
          "_querySLA": "The query SLA data security parameters as required for the Wit/Oracle blockchain. "
        }
      },
      "extractRadonBytecodes(uint64[])": {
        "details": "Returns empty buffer if the query does not exist.",
        "params": {
          "_queryIds": "Query identifies."
        }
      },
      "getQueryRequest(uint64)": {
        "params": {
          "_queryId": "The unique query identifier."
        }
      },
      "getQueryResponse(uint64)": {
        "details": "Fails if the `_queryId` is not in 'Reported' status.",
        "params": {
          "_queryId": "The unique query identifier"
        }
      },
      "initialize(bytes)": {
        "details": "Must fail when trying to upgrade to same logic contract more than once."
      },
      "isReporter(address)": {
        "params": {
          "_queryResponseReporter": "The address to be checked."
        }
      },
      "isUpgradable()": {
        "details": "Determines whether the logic of this contract is potentially upgradable."
      },
      "owner()": {
        "details": "Returns the address of the current owner."
      },
      "pendingOwner()": {
        "details": "Returns the address of the pending owner."
      },
      "renounceOwnership()": {
        "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."
      },
      "reportResult(uint64,bytes32,bytes)": {
        "details": "Will assume `block.timestamp` as the timestamp at which the request was solved.Fails if:- the `_queryId` is not in 'Posted' status.- provided `_witDrTxHash` is zero;- length of provided `_result` is zero.",
        "params": {
          "_queryId": "The unique identifier of the data request.",
          "_resultCborBytes": "The result itself as bytes.",
          "_witDrTxHash": "Hash of the commit/reveal witnessing act that took place in the Witnet blockahin."
        }
      },
      "reportResult(uint64,uint64,bytes32,bytes)": {
        "details": "Fails if:- called from unauthorized address;- the `_queryId` is not in 'Posted' status.- provided `_witDrTxHash` is zero;- length of provided `_resultCborBytes` is zero.",
        "params": {
          "_queryId": "The unique query identifier",
          "_resultCborBytes": "The result itself as bytes.",
          "_resultTimestamp": "Timestamp at which the reported value was captured by the Witnet blockchain. ",
          "_witDrTxHash": "Hash of the commit/reveal witnessing act that took place in the Witnet blockahin."
        }
      },
      "reportResultBatch((uint64,uint64,bytes32,bytes)[])": {
        "details": "Fails only if called from unauthorized address.",
        "params": {
          "_batchResults": "Array of BatchResult structs, every one containing:         - unique query identifier;         - timestamp of the solving tally txs in Witnet. If zero is provided, EVM-timestamp will be used instead;         - hash of the corresponding data request tx at the Witnet side-chain level;         - data request result in raw bytes."
        }
      },
      "setReporters(address[])": {
        "details": "Can only be called from the owner address.Emits the `ReportersSet` event. ",
        "params": {
          "_queryResponseReporters": "List of addresses to be added to the active reporters control list."
        }
      },
      "transferOwnership(address)": {
        "details": "Starts the ownership transfer of the contract to a new account. Replaces the pending transfer if there is one. Can only be called by the current owner."
      },
      "unsetReporters(address[])": {
        "details": "Can only be called from the owner address.Emits the `ReportersUnset` event. ",
        "params": {
          "_exReporters": "List of addresses to be added to the active reporters control list."
        }
      },
      "upgradeQueryEvmReward(uint256)": {
        "details": "Fails if the `_queryId` is not in 'Posted' status.",
        "params": {
          "_queryId": "The unique query identifier."
        }
      }
    },
    "title": "Queriable WitOracle \"trustable\" base implementation.",
    "version": 1
  },
  "userdoc": {
    "events": {
      "Upgraded(address,address,bytes32,string)": {
        "notice": "Emitted every time the contract gets upgraded."
      },
      "WitOracleQuery(address,uint256,uint256,uint64,bytes32,(uint16,uint16,uint64))": {
        "notice": "Emitted every time a new query containing some verified data request is posted to the WitOracle."
      },
      "WitOracleQueryReport(uint64,uint256)": {
        "notice": "Emitted when a query with no callback gets reported into the WRB."
      },
      "WitOracleQueryReportDelivery(uint64,address,uint256,uint256)": {
        "notice": "Emitted when a query with a callback gets successfully reported into the WRB."
      },
      "WitOracleQueryUpgrade(uint64,address,uint256,uint256)": {
        "notice": "Emitted when the reward of some not-yet reported query gets upgraded."
      },
      "WitOracleResportDeliveryFailed(uint64,address,uint256,uint256,string,bytes)": {
        "notice": "Emitted when a query with a callback cannot get reported into the WRB."
      }
    },
    "kind": "user",
    "methods": {
      "channel()": {
        "notice": "Uniquely identifies the WitOracle instance and the chain on which it's deployed."
      },
      "class()": {
        "notice": "Returns the name of the actual contract implementing the logic of this Witnet appliance."
      },
      "deleteQuery(uint256)": {
        "notice": "Removes all query data from storage. Pays back reward on expired queries."
      },
      "estimateBaseFee(uint256)": {
        "notice": "Estimate the minimum reward required for posting a data request."
      },
      "estimateBaseFee(uint256,bytes32)": {
        "notice": "Estimate the minimum reward required for posting a data request."
      },
      "estimateBaseFee(uint256,uint16)": {
        "notice": "Estimate the minimum reward required for posting a data request."
      },
      "estimateBaseFeeWithCallback(uint256,uint24)": {
        "notice": "Estimate the minimum reward required for posting a data request with a callback."
      },
      "estimateExtraFee(uint256,uint256,(uint16,uint16,uint64))": {
        "notice": "Estimate the extra reward (i.e. over the base fee) to be paid when posting a newdata query in order to avoid getting provable \"too low incentives\" results fromthe Wit/Oracle blockchain. "
      },
      "estimateReportEarnings(uint256[],bytes,uint256,uint256)": {
        "notice": "Estimates the actual earnings (or loss), in WEI, that a reporter would get by reporting result to given query,based on the gas price of the calling transaction. Data requesters should consider upgrading the reward on queries providing no actual earnings."
      },
      "extractRadonBytecodes(uint64[])": {
        "notice": "Retrieves the Witnet Data Request bytecodes of previously posted queries."
      },
      "getNextQueryId()": {
        "notice": "Returns next query id to be generated by the Witnet Request Board."
      },
      "getQuery(uint64)": {
        "notice": "Gets the whole Query data contents, if any, no matter its current status."
      },
      "getQueryEvmReward(uint256)": {
        "notice": "Gets the current EVM reward the report can claim, if not done yet."
      },
      "getQueryRequest(uint64)": {
        "notice": "Retrieves the RAD hash and SLA parameters of the given query."
      },
      "getQueryResponse(uint64)": {
        "notice": "Retrieves the Witnet-provable result, and metadata, to a previously posted request.    "
      },
      "getQueryResultTrails(uint256)": {
        "notice": "Gets query's result back tracing trails"
      },
      "getQueryStatus(uint256)": {
        "notice": "Gets current status of given query."
      },
      "initialize(bytes)": {
        "notice": "Re-initialize contract's storage context upon a new upgrade from a proxy."
      },
      "isReporter(address)": {
        "notice": "Tells whether given address is included in the active reporters control list."
      },
      "isUpgradableFrom(address)": {
        "notice": "Tells whether provided address could eventually upgrade the contract."
      },
      "registry()": {
        "notice": "Returns the WitOracleRadonRegistry in which Witnet-compliant Radon requestscan be formally verified and forever registered as a away to let smart contracts and users to track actual data sources and offchain computations applied on data updates safely reported from the Wit/Oracle blockchain. "
      },
      "reportResult(uint64,bytes32,bytes)": {
        "notice": "Reports the Witnet-provable result to a previously posted request. "
      },
      "reportResult(uint64,uint64,bytes32,bytes)": {
        "notice": "Reports the Witnet-provable result to a previously posted request."
      },
      "reportResultBatch((uint64,uint64,bytes32,bytes)[])": {
        "notice": "Reports Witnet-provided results to multiple requests within a single EVM tx.Emits either a WitOracleQueryReport* or a BatchReportError event per batched report."
      },
      "setReporters(address[])": {
        "notice": "Adds given addresses to the active reporters control list."
      },
      "specs()": {
        "notice": "Returns the ERC-165 id of the minimal functionality expected for this appliance."
      },
      "unsetReporters(address[])": {
        "notice": "Removes given addresses from the active reporters control list."
      },
      "upgradeQueryEvmReward(uint256)": {
        "notice": "Increments the reward of a previously posted request by adding the transaction value to it."
      },
      "version()": {
        "notice": "Retrieves human-readable version tag of current implementation."
      }
    },
    "version": 1
  }
}