{
  "contractName": "IWitOracleQueriableTrustableReporter",
  "abi": [
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "queryId",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "reason",
          "type": "string"
        }
      ],
      "name": "BatchReportError",
      "type": "event"
    },
    {
      "inputs": [
        {
          "internalType": "uint256[]",
          "name": "queryIds",
          "type": "uint256[]"
        },
        {
          "internalType": "bytes",
          "name": "evmReportTxMsgData",
          "type": "bytes"
        },
        {
          "internalType": "uint256",
          "name": "evmReportTxGasPrice",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "witEthPrice9",
          "type": "uint256"
        }
      ],
      "name": "estimateReportEarnings",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "evmRevenues",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "evmExpenses",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "Witnet.QueryId[]",
          "name": "queryIds",
          "type": "uint64[]"
        }
      ],
      "name": "extractRadonBytecodes",
      "outputs": [
        {
          "internalType": "bytes[]",
          "name": "drBytecodes",
          "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": "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": [
        {
          "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": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "metadata": "{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"queryId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"BatchReportError\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"queryIds\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"evmReportTxMsgData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"evmReportTxGasPrice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"witEthPrice9\",\"type\":\"uint256\"}],\"name\":\"estimateReportEarnings\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"evmRevenues\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"evmExpenses\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Witnet.QueryId[]\",\"name\":\"queryIds\",\"type\":\"uint64[]\"}],\"name\":\"extractRadonBytecodes\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"drBytecodes\",\"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\":\"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\":[{\"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\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"The Witnet Foundation.\",\"kind\":\"dev\",\"methods\":{\"extractRadonBytecodes(uint64[])\":{\"details\":\"Returns empty buffer if the query does not exist.\",\"params\":{\"queryIds\":\"Query identifiers.\"}},\"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 `_tallyHash` is zero;- length of provided `_result` is zero.\",\"params\":{\"queryId\":\"The unique identifier of the data request.\",\"resultCborBytes\":\"The result itself as bytes.\",\"witDrTxHash\":\"The hash of the corresponding data request transaction in Witnet.\"}},\"reportResult(uint64,uint64,bytes32,bytes)\":{\"details\":\"Fails if:- called from unauthorized address;- the `_queryId` is not in 'Posted' status.- provided `_tallyHash` is zero;- length of provided `_result` is zero.\",\"params\":{\"queryId\":\"The unique query identifier\",\"resultCborBytes\":\"The result itself as bytes.\",\"resultTimestamp\":\"The timestamp of the solving tally transaction in Witnet.\",\"witDrTxHash\":\"The hash of the corresponding data request transaction in Witnet.\"}},\"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.\"}}},\"title\":\"The Witnet Request Board Reporter interface.\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"estimateReportEarnings(uint256[],bytes,uint256,uint256)\":{\"notice\":\"Estimates the actual earnings 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.\"},\"reportResult(uint64,bytes32,bytes)\":{\"notice\":\"Reports the Witnet-provided result to a previously posted request. \"},\"reportResult(uint64,uint64,bytes32,bytes)\":{\"notice\":\"Reports the Witnet-provided 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.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/interfaces/IWitOracleQueriableTrustableReporter.sol\":\"IWitOracleQueriableTrustableReporter\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/contracts/interfaces/IWitOracleQueriableTrustableReporter.sol\":{\"keccak256\":\"0x043a719845d75dccc3c7c046fdd214bb252ab2b85400fbd139ed5cea9469becc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b1be7cbf990ff4d383b1c0695626af794442f9a48f02e13435793c4316ff011\",\"dweb:/ipfs/QmX3Lq17FMsN2T9K4fAYg6CRTYjwHd6hT1XKjEA2T7QeM5\"]},\"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/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\"]}},\"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 \"../libs/Witnet.sol\";\r\n\r\n/// @title The Witnet Request Board Reporter interface.\r\n/// @author The Witnet Foundation.\r\ninterface IWitOracleQueriableTrustableReporter {\r\n\r\n    /// @notice Estimates the actual earnings 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 evmReportTxMsgData,\r\n            uint256 evmReportTxGasPrice,\r\n            uint256 witEthPrice9\r\n        ) external view returns (uint256 evmRevenues, uint256 evmExpenses);\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 identifiers.\r\n    function extractRadonBytecodes(Witnet.QueryId[] calldata queryIds) \r\n        external view returns (bytes[] memory drBytecodes);\r\n\r\n    /// @notice Reports the Witnet-provided 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 `_tallyHash` 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 The hash of the corresponding data request transaction in Witnet.\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        ) external returns (uint256);\r\n\r\n    /// @notice Reports the Witnet-provided 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 `_tallyHash` is zero;\r\n    /// @dev - length of provided `_result` is zero.\r\n    /// @param queryId The unique query identifier\r\n    /// @param resultTimestamp The timestamp of the solving tally transaction in Witnet.\r\n    /// @param witDrTxHash The hash of the corresponding data request transaction in Witnet.\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        ) external returns (uint256);\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(BatchResult[] calldata _batchResults) external returns (uint256);\r\n        \r\n        struct BatchResult {\r\n            Witnet.QueryId queryId;\r\n            Witnet.Timestamp resultTimestamp;\r\n            Witnet.TransactionHash drTxHash;\r\n            bytes resultCborBytes;\r\n        }\r\n\r\n        event BatchReportError(uint256 queryId, string reason);\r\n}\r\n",
  "sourcePath": "C:\\Users\\guill\\github\\guidiaz\\witnet-solidity-bridge\\contracts\\interfaces\\IWitOracleQueriableTrustableReporter.sol",
  "ast": {
    "absolutePath": "project:/contracts/interfaces/IWitOracleQueriableTrustableReporter.sol",
    "exportedSymbols": {
      "Bech32": [
        31372
      ],
      "IWitOracleQueriableTrustableReporter": [
        27056
      ],
      "Secp256k1": [
        32535
      ],
      "Witnet": [
        40741
      ],
      "WitnetBuffer": [
        42631
      ],
      "WitnetCBOR": [
        44174
      ]
    },
    "id": 27057,
    "license": "MIT",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 26966,
        "literals": [
          "solidity",
          ">=",
          "0.8",
          ".0",
          "<",
          "0.9",
          ".0"
        ],
        "nodeType": "PragmaDirective",
        "src": "35:31:71"
      },
      {
        "absolutePath": "project:/contracts/libs/Witnet.sol",
        "file": "../libs/Witnet.sol",
        "id": 26967,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 27057,
        "sourceUnit": 40742,
        "src": "70:28:71",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "abstract": false,
        "baseContracts": [],
        "canonicalName": "IWitOracleQueriableTrustableReporter",
        "contractDependencies": [],
        "contractKind": "interface",
        "documentation": {
          "id": 26968,
          "nodeType": "StructuredDocumentation",
          "src": "102:93:71",
          "text": "@title The Witnet Request Board Reporter interface.\n @author The Witnet Foundation."
        },
        "fullyImplemented": false,
        "id": 27056,
        "linearizedBaseContracts": [
          27056
        ],
        "name": "IWitOracleQueriableTrustableReporter",
        "nameLocation": "205:36:71",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "documentation": {
              "id": 26969,
              "nodeType": "StructuredDocumentation",
              "src": "251:291:71",
              "text": "@notice Estimates the actual earnings 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": 26985,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "estimateReportEarnings",
            "nameLocation": "557:22:71",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 26979,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 26972,
                  "mutability": "mutable",
                  "name": "queryIds",
                  "nameLocation": "613:8:71",
                  "nodeType": "VariableDeclaration",
                  "scope": 26985,
                  "src": "594:27:71",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 26970,
                      "name": "uint256",
                      "nodeType": "ElementaryTypeName",
                      "src": "594:7:71",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 26971,
                    "nodeType": "ArrayTypeName",
                    "src": "594:9:71",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 26974,
                  "mutability": "mutable",
                  "name": "evmReportTxMsgData",
                  "nameLocation": "652:18:71",
                  "nodeType": "VariableDeclaration",
                  "scope": 26985,
                  "src": "637:33:71",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 26973,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "637:5:71",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 26976,
                  "mutability": "mutable",
                  "name": "evmReportTxGasPrice",
                  "nameLocation": "693:19:71",
                  "nodeType": "VariableDeclaration",
                  "scope": 26985,
                  "src": "685:27:71",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 26975,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "685:7:71",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 26978,
                  "mutability": "mutable",
                  "name": "witEthPrice9",
                  "nameLocation": "735:12:71",
                  "nodeType": "VariableDeclaration",
                  "scope": 26985,
                  "src": "727:20:71",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 26977,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "727:7:71",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "579:179:71"
            },
            "returnParameters": {
              "id": 26984,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 26981,
                  "mutability": "mutable",
                  "name": "evmRevenues",
                  "nameLocation": "790:11:71",
                  "nodeType": "VariableDeclaration",
                  "scope": 26985,
                  "src": "782:19:71",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 26980,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "782:7:71",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 26983,
                  "mutability": "mutable",
                  "name": "evmExpenses",
                  "nameLocation": "811:11:71",
                  "nodeType": "VariableDeclaration",
                  "scope": 26985,
                  "src": "803:19:71",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 26982,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "803:7:71",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "781:42:71"
            },
            "scope": 27056,
            "src": "548:276:71",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "documentation": {
              "id": 26986,
              "nodeType": "StructuredDocumentation",
              "src": "832:193:71",
              "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 identifiers."
            },
            "functionSelector": "5304bba2",
            "id": 26996,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "extractRadonBytecodes",
            "nameLocation": "1040:21:71",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 26991,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 26990,
                  "mutability": "mutable",
                  "name": "queryIds",
                  "nameLocation": "1088:8:71",
                  "nodeType": "VariableDeclaration",
                  "scope": 26996,
                  "src": "1062:34:71",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_userDefinedValueType$_QueryId_$37151_$dyn_calldata_ptr",
                    "typeString": "Witnet.QueryId[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 26988,
                      "nodeType": "UserDefinedTypeName",
                      "pathNode": {
                        "id": 26987,
                        "name": "Witnet.QueryId",
                        "nameLocations": [
                          "1062:6:71",
                          "1069:7:71"
                        ],
                        "nodeType": "IdentifierPath",
                        "referencedDeclaration": 37151,
                        "src": "1062:14:71"
                      },
                      "referencedDeclaration": 37151,
                      "src": "1062:14:71",
                      "typeDescriptions": {
                        "typeIdentifier": "t_userDefinedValueType$_QueryId_$37151",
                        "typeString": "Witnet.QueryId"
                      }
                    },
                    "id": 26989,
                    "nodeType": "ArrayTypeName",
                    "src": "1062:16:71",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_userDefinedValueType$_QueryId_$37151_$dyn_storage_ptr",
                      "typeString": "Witnet.QueryId[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1061:36:71"
            },
            "returnParameters": {
              "id": 26995,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 26994,
                  "mutability": "mutable",
                  "name": "drBytecodes",
                  "nameLocation": "1146:11:71",
                  "nodeType": "VariableDeclaration",
                  "scope": 26996,
                  "src": "1131:26:71",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr",
                    "typeString": "bytes[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 26992,
                      "name": "bytes",
                      "nodeType": "ElementaryTypeName",
                      "src": "1131:5:71",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_storage_ptr",
                        "typeString": "bytes"
                      }
                    },
                    "id": 26993,
                    "nodeType": "ArrayTypeName",
                    "src": "1131:7:71",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr",
                      "typeString": "bytes[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1130:28:71"
            },
            "scope": 27056,
            "src": "1031:128:71",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "documentation": {
              "id": 26997,
              "nodeType": "StructuredDocumentation",
              "src": "1167:577:71",
              "text": "@notice Reports the Witnet-provided 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 `_tallyHash` is zero;\n @dev - length of provided `_result` is zero.\n @param queryId The unique identifier of the data request.\n @param witDrTxHash The hash of the corresponding data request transaction in Witnet.\n @param resultCborBytes The result itself as bytes."
            },
            "functionSelector": "76d0e357",
            "id": 27010,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "reportResult",
            "nameLocation": "1759:12:71",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 27006,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 27000,
                  "mutability": "mutable",
                  "name": "queryId",
                  "nameLocation": "1801:7:71",
                  "nodeType": "VariableDeclaration",
                  "scope": 27010,
                  "src": "1786:22:71",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_userDefinedValueType$_QueryId_$37151",
                    "typeString": "Witnet.QueryId"
                  },
                  "typeName": {
                    "id": 26999,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 26998,
                      "name": "Witnet.QueryId",
                      "nameLocations": [
                        "1786:6:71",
                        "1793:7:71"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37151,
                      "src": "1786:14:71"
                    },
                    "referencedDeclaration": 37151,
                    "src": "1786:14:71",
                    "typeDescriptions": {
                      "typeIdentifier": "t_userDefinedValueType$_QueryId_$37151",
                      "typeString": "Witnet.QueryId"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 27003,
                  "mutability": "mutable",
                  "name": "witDrTxHash",
                  "nameLocation": "1846:11:71",
                  "nodeType": "VariableDeclaration",
                  "scope": 27010,
                  "src": "1823:34:71",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                    "typeString": "Witnet.TransactionHash"
                  },
                  "typeName": {
                    "id": 27002,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 27001,
                      "name": "Witnet.TransactionHash",
                      "nameLocations": [
                        "1823:6:71",
                        "1830:15:71"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37159,
                      "src": "1823:22:71"
                    },
                    "referencedDeclaration": 37159,
                    "src": "1823:22:71",
                    "typeDescriptions": {
                      "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                      "typeString": "Witnet.TransactionHash"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 27005,
                  "mutability": "mutable",
                  "name": "resultCborBytes",
                  "nameLocation": "1887:15:71",
                  "nodeType": "VariableDeclaration",
                  "scope": 27010,
                  "src": "1872:30:71",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 27004,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "1872:5:71",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1771:142:71"
            },
            "returnParameters": {
              "id": 27009,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 27008,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 27010,
                  "src": "1932:7:71",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 27007,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1932:7:71",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1931:9:71"
            },
            "scope": 27056,
            "src": "1750:191:71",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "documentation": {
              "id": 27011,
              "nodeType": "StructuredDocumentation",
              "src": "1949:607:71",
              "text": "@notice Reports the Witnet-provided 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 `_tallyHash` is zero;\n @dev - length of provided `_result` is zero.\n @param queryId The unique query identifier\n @param resultTimestamp The timestamp of the solving tally transaction in Witnet.\n @param witDrTxHash The hash of the corresponding data request transaction in Witnet.\n @param resultCborBytes The result itself as bytes."
            },
            "functionSelector": "1aea970b",
            "id": 27027,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "reportResult",
            "nameLocation": "2571:12:71",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 27023,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 27014,
                  "mutability": "mutable",
                  "name": "queryId",
                  "nameLocation": "2613:7:71",
                  "nodeType": "VariableDeclaration",
                  "scope": 27027,
                  "src": "2598:22:71",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_userDefinedValueType$_QueryId_$37151",
                    "typeString": "Witnet.QueryId"
                  },
                  "typeName": {
                    "id": 27013,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 27012,
                      "name": "Witnet.QueryId",
                      "nameLocations": [
                        "2598:6:71",
                        "2605:7:71"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37151,
                      "src": "2598:14:71"
                    },
                    "referencedDeclaration": 37151,
                    "src": "2598:14:71",
                    "typeDescriptions": {
                      "typeIdentifier": "t_userDefinedValueType$_QueryId_$37151",
                      "typeString": "Witnet.QueryId"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 27017,
                  "mutability": "mutable",
                  "name": "resultTimestamp",
                  "nameLocation": "2652:15:71",
                  "nodeType": "VariableDeclaration",
                  "scope": 27027,
                  "src": "2635:32:71",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                    "typeString": "Witnet.Timestamp"
                  },
                  "typeName": {
                    "id": 27016,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 27015,
                      "name": "Witnet.Timestamp",
                      "nameLocations": [
                        "2635:6:71",
                        "2642:9:71"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37157,
                      "src": "2635:16:71"
                    },
                    "referencedDeclaration": 37157,
                    "src": "2635:16:71",
                    "typeDescriptions": {
                      "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                      "typeString": "Witnet.Timestamp"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 27020,
                  "mutability": "mutable",
                  "name": "witDrTxHash",
                  "nameLocation": "2705:11:71",
                  "nodeType": "VariableDeclaration",
                  "scope": 27027,
                  "src": "2682:34:71",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                    "typeString": "Witnet.TransactionHash"
                  },
                  "typeName": {
                    "id": 27019,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 27018,
                      "name": "Witnet.TransactionHash",
                      "nameLocations": [
                        "2682:6:71",
                        "2689:15:71"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37159,
                      "src": "2682:22:71"
                    },
                    "referencedDeclaration": 37159,
                    "src": "2682:22:71",
                    "typeDescriptions": {
                      "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                      "typeString": "Witnet.TransactionHash"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 27022,
                  "mutability": "mutable",
                  "name": "resultCborBytes",
                  "nameLocation": "2746:15:71",
                  "nodeType": "VariableDeclaration",
                  "scope": 27027,
                  "src": "2731:30:71",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 27021,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "2731:5:71",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2583:189:71"
            },
            "returnParameters": {
              "id": 27026,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 27025,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 27027,
                  "src": "2791:7:71",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 27024,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2791:7:71",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2790:9:71"
            },
            "scope": 27056,
            "src": "2562:238:71",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "documentation": {
              "id": 27028,
              "nodeType": "StructuredDocumentation",
              "src": "2808:646:71",
              "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": 27037,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "reportResultBatch",
            "nameLocation": "3469:17:71",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 27033,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 27032,
                  "mutability": "mutable",
                  "name": "_batchResults",
                  "nameLocation": "3510:13:71",
                  "nodeType": "VariableDeclaration",
                  "scope": 27037,
                  "src": "3487:36:71",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_BatchResult_$27049_calldata_ptr_$dyn_calldata_ptr",
                    "typeString": "struct IWitOracleQueriableTrustableReporter.BatchResult[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 27030,
                      "nodeType": "UserDefinedTypeName",
                      "pathNode": {
                        "id": 27029,
                        "name": "BatchResult",
                        "nameLocations": [
                          "3487:11:71"
                        ],
                        "nodeType": "IdentifierPath",
                        "referencedDeclaration": 27049,
                        "src": "3487:11:71"
                      },
                      "referencedDeclaration": 27049,
                      "src": "3487:11:71",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_BatchResult_$27049_storage_ptr",
                        "typeString": "struct IWitOracleQueriableTrustableReporter.BatchResult"
                      }
                    },
                    "id": 27031,
                    "nodeType": "ArrayTypeName",
                    "src": "3487:13:71",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_BatchResult_$27049_storage_$dyn_storage_ptr",
                      "typeString": "struct IWitOracleQueriableTrustableReporter.BatchResult[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3486:38:71"
            },
            "returnParameters": {
              "id": 27036,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 27035,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 27037,
                  "src": "3543:7:71",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 27034,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3543:7:71",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3542:9:71"
            },
            "scope": 27056,
            "src": "3460:92:71",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "canonicalName": "IWitOracleQueriableTrustableReporter.BatchResult",
            "id": 27049,
            "members": [
              {
                "constant": false,
                "id": 27040,
                "mutability": "mutable",
                "name": "queryId",
                "nameLocation": "3621:7:71",
                "nodeType": "VariableDeclaration",
                "scope": 27049,
                "src": "3606:22:71",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_userDefinedValueType$_QueryId_$37151",
                  "typeString": "Witnet.QueryId"
                },
                "typeName": {
                  "id": 27039,
                  "nodeType": "UserDefinedTypeName",
                  "pathNode": {
                    "id": 27038,
                    "name": "Witnet.QueryId",
                    "nameLocations": [
                      "3606:6:71",
                      "3613:7:71"
                    ],
                    "nodeType": "IdentifierPath",
                    "referencedDeclaration": 37151,
                    "src": "3606:14:71"
                  },
                  "referencedDeclaration": 37151,
                  "src": "3606:14:71",
                  "typeDescriptions": {
                    "typeIdentifier": "t_userDefinedValueType$_QueryId_$37151",
                    "typeString": "Witnet.QueryId"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 27043,
                "mutability": "mutable",
                "name": "resultTimestamp",
                "nameLocation": "3660:15:71",
                "nodeType": "VariableDeclaration",
                "scope": 27049,
                "src": "3643:32:71",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                  "typeString": "Witnet.Timestamp"
                },
                "typeName": {
                  "id": 27042,
                  "nodeType": "UserDefinedTypeName",
                  "pathNode": {
                    "id": 27041,
                    "name": "Witnet.Timestamp",
                    "nameLocations": [
                      "3643:6:71",
                      "3650:9:71"
                    ],
                    "nodeType": "IdentifierPath",
                    "referencedDeclaration": 37157,
                    "src": "3643:16:71"
                  },
                  "referencedDeclaration": 37157,
                  "src": "3643:16:71",
                  "typeDescriptions": {
                    "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                    "typeString": "Witnet.Timestamp"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 27046,
                "mutability": "mutable",
                "name": "drTxHash",
                "nameLocation": "3713:8:71",
                "nodeType": "VariableDeclaration",
                "scope": 27049,
                "src": "3690:31:71",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                  "typeString": "Witnet.TransactionHash"
                },
                "typeName": {
                  "id": 27045,
                  "nodeType": "UserDefinedTypeName",
                  "pathNode": {
                    "id": 27044,
                    "name": "Witnet.TransactionHash",
                    "nameLocations": [
                      "3690:6:71",
                      "3697:15:71"
                    ],
                    "nodeType": "IdentifierPath",
                    "referencedDeclaration": 37159,
                    "src": "3690:22:71"
                  },
                  "referencedDeclaration": 37159,
                  "src": "3690:22:71",
                  "typeDescriptions": {
                    "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                    "typeString": "Witnet.TransactionHash"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 27048,
                "mutability": "mutable",
                "name": "resultCborBytes",
                "nameLocation": "3742:15:71",
                "nodeType": "VariableDeclaration",
                "scope": 27049,
                "src": "3736:21:71",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 27047,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "3736:5:71",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "BatchResult",
            "nameLocation": "3579:11:71",
            "nodeType": "StructDefinition",
            "scope": 27056,
            "src": "3572:197:71",
            "visibility": "public"
          },
          {
            "anonymous": false,
            "eventSelector": "4df64445edc775fba59db44b8001852fb1b777eea88fd54f04572dd114e3ff7f",
            "id": 27055,
            "name": "BatchReportError",
            "nameLocation": "3787:16:71",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 27054,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 27051,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "queryId",
                  "nameLocation": "3812:7:71",
                  "nodeType": "VariableDeclaration",
                  "scope": 27055,
                  "src": "3804:15:71",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 27050,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3804:7:71",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 27053,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "reason",
                  "nameLocation": "3828:6:71",
                  "nodeType": "VariableDeclaration",
                  "scope": 27055,
                  "src": "3821:13:71",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 27052,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "3821:6:71",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3803:32:71"
            },
            "src": "3781:55:71"
          }
        ],
        "scope": 27057,
        "src": "195:3644:71",
        "usedErrors": [],
        "usedEvents": [
          27055
        ]
      }
    ],
    "src": "35:3806:71"
  },
  "compiler": {
    "name": "solc",
    "version": "0.8.30+commit.73712a01.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "3.4.16",
  "updatedAt": "2025-10-15T14:34:45.900Z",
  "devdoc": {
    "author": "The Witnet Foundation.",
    "kind": "dev",
    "methods": {
      "extractRadonBytecodes(uint64[])": {
        "details": "Returns empty buffer if the query does not exist.",
        "params": {
          "queryIds": "Query identifiers."
        }
      },
      "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 `_tallyHash` is zero;- length of provided `_result` is zero.",
        "params": {
          "queryId": "The unique identifier of the data request.",
          "resultCborBytes": "The result itself as bytes.",
          "witDrTxHash": "The hash of the corresponding data request transaction in Witnet."
        }
      },
      "reportResult(uint64,uint64,bytes32,bytes)": {
        "details": "Fails if:- called from unauthorized address;- the `_queryId` is not in 'Posted' status.- provided `_tallyHash` is zero;- length of provided `_result` is zero.",
        "params": {
          "queryId": "The unique query identifier",
          "resultCborBytes": "The result itself as bytes.",
          "resultTimestamp": "The timestamp of the solving tally transaction in Witnet.",
          "witDrTxHash": "The hash of the corresponding data request transaction in Witnet."
        }
      },
      "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."
        }
      }
    },
    "title": "The Witnet Request Board Reporter interface.",
    "version": 1
  },
  "userdoc": {
    "kind": "user",
    "methods": {
      "estimateReportEarnings(uint256[],bytes,uint256,uint256)": {
        "notice": "Estimates the actual earnings 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."
      },
      "reportResult(uint64,bytes32,bytes)": {
        "notice": "Reports the Witnet-provided result to a previously posted request. "
      },
      "reportResult(uint64,uint64,bytes32,bytes)": {
        "notice": "Reports the Witnet-provided 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."
      }
    },
    "version": 1
  }
}