{
  "contractName": "IWitnetOracleReporter",
  "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": "witnetQueryIds",
          "type": "uint256[]"
        },
        {
          "internalType": "bytes",
          "name": "reportTxMsgData",
          "type": "bytes"
        },
        {
          "internalType": "uint256",
          "name": "reportTxGasPrice",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "nanoWitPrice",
          "type": "uint256"
        }
      ],
      "name": "estimateReportEarnings",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256[]",
          "name": "queryIds",
          "type": "uint256[]"
        }
      ],
      "name": "extractWitnetDataRequests",
      "outputs": [
        {
          "internalType": "bytes[]",
          "name": "drBytecodes",
          "type": "bytes[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "witnetQueryId",
          "type": "uint256"
        },
        {
          "internalType": "bytes32",
          "name": "witnetQueryResultTallyHash",
          "type": "bytes32"
        },
        {
          "internalType": "bytes",
          "name": "witnetQueryResultCborBytes",
          "type": "bytes"
        }
      ],
      "name": "reportResult",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "witnetQueryId",
          "type": "uint256"
        },
        {
          "internalType": "uint32",
          "name": "witnetQueryResultTimestamp",
          "type": "uint32"
        },
        {
          "internalType": "bytes32",
          "name": "witnetQueryResultTallyHash",
          "type": "bytes32"
        },
        {
          "internalType": "bytes",
          "name": "witnetQueryResultCborBytes",
          "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": "queryResultTimestamp",
              "type": "uint32"
            },
            {
              "internalType": "bytes32",
              "name": "queryResultTallyHash",
              "type": "bytes32"
            },
            {
              "internalType": "bytes",
              "name": "queryResultCborBytes",
              "type": "bytes"
            }
          ],
          "internalType": "struct IWitnetOracleReporter.BatchResult[]",
          "name": "_batchResults",
          "type": "tuple[]"
        }
      ],
      "name": "reportResultBatch",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"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\":\"witnetQueryIds\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"reportTxMsgData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"reportTxGasPrice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nanoWitPrice\",\"type\":\"uint256\"}],\"name\":\"estimateReportEarnings\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"queryIds\",\"type\":\"uint256[]\"}],\"name\":\"extractWitnetDataRequests\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"drBytecodes\",\"type\":\"bytes[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"witnetQueryId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"witnetQueryResultTallyHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"witnetQueryResultCborBytes\",\"type\":\"bytes\"}],\"name\":\"reportResult\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"witnetQueryId\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"witnetQueryResultTimestamp\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"witnetQueryResultTallyHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"witnetQueryResultCborBytes\",\"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\":\"queryResultTimestamp\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"queryResultTallyHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"queryResultCborBytes\",\"type\":\"bytes\"}],\"internalType\":\"struct IWitnetOracleReporter.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\":{\"extractWitnetDataRequests(uint256[])\":{\"details\":\"Returns empty buffer if the query does not exist.\",\"params\":{\"queryIds\":\"Query identifiers.\"}},\"reportResult(uint256,bytes32,bytes)\":{\"details\":\"Will assume `block.timestamp` as the timestamp at which the request was solved.Fails if:- the `_witnetQueryId` is not in 'Posted' status.- provided `_tallyHash` is zero;- length of provided `_result` is zero.\",\"params\":{\"witnetQueryId\":\"The unique identifier of the data request.\",\"witnetQueryResultCborBytes\":\"The result itself as bytes.\",\"witnetQueryResultTallyHash\":\"The hash of the corresponding data request transaction in Witnet.\"}},\"reportResult(uint256,uint32,bytes32,bytes)\":{\"details\":\"Fails if:- called from unauthorized address;- the `_witnetQueryId` is not in 'Posted' status.- provided `_tallyHash` is zero;- length of provided `_result` is zero.\",\"params\":{\"witnetQueryId\":\"The unique query identifier\",\"witnetQueryResultCborBytes\":\"The result itself as bytes.\",\"witnetQueryResultTallyHash\":\"The hash of the corresponding data request transaction in Witnet.\",\"witnetQueryResultTimestamp\":\"The timestamp of the solving tally transaction in Witnet.\"}},\"reportResultBatch((uint256,uint32,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.\"},\"extractWitnetDataRequests(uint256[])\":{\"notice\":\"Retrieves the Witnet Data Request bytecodes and SLAs of previously posted queries.\"},\"reportResult(uint256,bytes32,bytes)\":{\"notice\":\"Reports the Witnet-provided result to a previously posted request. \"},\"reportResult(uint256,uint32,bytes32,bytes)\":{\"notice\":\"Reports the Witnet-provided result to a previously posted request.\"},\"reportResultBatch((uint256,uint32,bytes32,bytes)[])\":{\"notice\":\"Reports Witnet-provided results to multiple requests within a single EVM tx.Emits either a WitnetQueryResponse* or a BatchReportError event per batched report.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/interfaces/IWitnetOracleReporter.sol\":\"IWitnetOracleReporter\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/contracts/interfaces/IWitnetOracleReporter.sol\":{\"keccak256\":\"0xf4726c5c522b99ce01c2c870c259ebb8dc1563a25df3d715ed78cff89a8bb122\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11d4d7205c416fc2927856c2ab64a7d2d5374900c6ad41320f512a0f2e17f215\",\"dweb:/ipfs/QmW8gmJ5rkd4K7ahPQ6KuCQ5wdnhoZJTpSL5iPkZcg2dAe\"]},\"project:/contracts/libs/Witnet.sol\":{\"keccak256\":\"0x65a87375dd79d63a83fb454b7199b6c999bd59c50b3b59d521c5c4d45a7d3cc3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca865b681d810c2fc5c3672ea6343c3bdf6fd71764ab824d25994744dc85866b\",\"dweb:/ipfs/QmPGcP3xGTNZfsQ9GSKdujNLRVs8dWDdubyUko1rbQqJNv\"]},\"project:/contracts/libs/WitnetBuffer.sol\":{\"keccak256\":\"0xa14570492eb5a313ddbacae0185c850ec99c67211eb33989a5e21d31bf06a150\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e83c11edb49cab6a767c0b685825bc22ece0d3d2897e0d54fe1923df5cc76ba5\",\"dweb:/ipfs/QmdLDgCc3tnKbgRrXwfNzsg6uUDirNmjvBB8V3iMmnD69a\"]},\"project:/contracts/libs/WitnetCBOR.sol\":{\"keccak256\":\"0xb346547ff731163beea2c657c52675cdf7936691d566a76a045577cf9c34ade0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d4b5b6424a033584b41f1204d635db98fda9ca9bd2a614c9d82539a3e4e6529\",\"dweb:/ipfs/QmW6Qy3wWpzHSECYaCPaf9LWGfPqWDKVoP2kPSNNQu7LMQ\"]},\"project:/contracts/libs/WitnetV2.sol\":{\"keccak256\":\"0xb276a6da373bfbe9cd942dd7e59979cda898215d1e36ab3df95a6d6cc6ff770f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc4890876b9bc64f501ccdd48408bb63724865cb2ce8d2057f6b318540adce7c\",\"dweb:/ipfs/QmPMHPdbCsKBavhiLcaDgQ9EjNSvwwzv8TKffotcCv1ctP\"]}},\"version\":1}",
  "bytecode": "0x",
  "deployedBytecode": "0x",
  "immutableReferences": {},
  "generatedSources": [],
  "deployedGeneratedSources": [],
  "sourceMap": "",
  "deployedSourceMap": "",
  "source": "// SPDX-License-Identifier: MIT\r\n\r\npragma solidity >=0.7.0 <0.9.0;\r\n\r\nimport \"../libs/WitnetV2.sol\";\r\n\r\n/// @title The Witnet Request Board Reporter interface.\r\n/// @author The Witnet Foundation.\r\ninterface IWitnetOracleReporter {\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 witnetQueryIds, \r\n            bytes calldata reportTxMsgData,\r\n            uint256 reportTxGasPrice,\r\n            uint256 nanoWitPrice\r\n        ) external view returns (uint256, uint256);\r\n\r\n    /// @notice Retrieves the Witnet Data Request bytecodes and SLAs 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 extractWitnetDataRequests(uint256[] 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 `_witnetQueryId` is not in 'Posted' status.\r\n    /// @dev - provided `_tallyHash` is zero;\r\n    /// @dev - length of provided `_result` is zero.\r\n    /// @param witnetQueryId The unique identifier of the data request.\r\n    /// @param witnetQueryResultTallyHash The hash of the corresponding data request transaction in Witnet.\r\n    /// @param witnetQueryResultCborBytes The result itself as bytes.\r\n    function reportResult(\r\n            uint256 witnetQueryId,\r\n            bytes32 witnetQueryResultTallyHash,\r\n            bytes calldata witnetQueryResultCborBytes\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 `_witnetQueryId` is not in 'Posted' status.\r\n    /// @dev - provided `_tallyHash` is zero;\r\n    /// @dev - length of provided `_result` is zero.\r\n    /// @param witnetQueryId The unique query identifier\r\n    /// @param witnetQueryResultTimestamp The timestamp of the solving tally transaction in Witnet.\r\n    /// @param witnetQueryResultTallyHash The hash of the corresponding data request transaction in Witnet.\r\n    /// @param witnetQueryResultCborBytes The result itself as bytes.\r\n    function reportResult(\r\n            uint256 witnetQueryId,\r\n            uint32  witnetQueryResultTimestamp,\r\n            bytes32 witnetQueryResultTallyHash,\r\n            bytes calldata witnetQueryResultCborBytes\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 WitnetQueryResponse* 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            uint256 queryId;\r\n            uint32  queryResultTimestamp;\r\n            bytes32 queryResultTallyHash;\r\n            bytes   queryResultCborBytes;\r\n        }\r\n\r\n        event BatchReportError(uint256 queryId, string reason);\r\n}\r\n",
  "sourcePath": "C:\\Users\\guill\\github\\witnet\\witnet-solidity-bridge\\contracts\\interfaces\\IWitnetOracleReporter.sol",
  "ast": {
    "absolutePath": "project:/contracts/interfaces/IWitnetOracleReporter.sol",
    "exportedSymbols": {
      "IWitnetOracleReporter": [
        13398
      ],
      "Witnet": [
        17557
      ],
      "WitnetBuffer": [
        19191
      ],
      "WitnetCBOR": [
        20734
      ],
      "WitnetV2": [
        23640
      ]
    },
    "id": 13399,
    "license": "MIT",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 13317,
        "literals": [
          "solidity",
          ">=",
          "0.7",
          ".0",
          "<",
          "0.9",
          ".0"
        ],
        "nodeType": "PragmaDirective",
        "src": "35:31:51"
      },
      {
        "absolutePath": "project:/contracts/libs/WitnetV2.sol",
        "file": "../libs/WitnetV2.sol",
        "id": 13318,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 13399,
        "sourceUnit": 23641,
        "src": "70:30:51",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "abstract": false,
        "baseContracts": [],
        "canonicalName": "IWitnetOracleReporter",
        "contractDependencies": [],
        "contractKind": "interface",
        "documentation": {
          "id": 13319,
          "nodeType": "StructuredDocumentation",
          "src": "104:93:51",
          "text": "@title The Witnet Request Board Reporter interface.\n @author The Witnet Foundation."
        },
        "fullyImplemented": false,
        "id": 13398,
        "linearizedBaseContracts": [
          13398
        ],
        "name": "IWitnetOracleReporter",
        "nameLocation": "207:21:51",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "documentation": {
              "id": 13320,
              "nodeType": "StructuredDocumentation",
              "src": "238:291:51",
              "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": 13336,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "estimateReportEarnings",
            "nameLocation": "544:22:51",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 13330,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 13323,
                  "mutability": "mutable",
                  "name": "witnetQueryIds",
                  "nameLocation": "600:14:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 13336,
                  "src": "581:33:51",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 13321,
                      "name": "uint256",
                      "nodeType": "ElementaryTypeName",
                      "src": "581:7:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 13322,
                    "nodeType": "ArrayTypeName",
                    "src": "581:9:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13325,
                  "mutability": "mutable",
                  "name": "reportTxMsgData",
                  "nameLocation": "645:15:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 13336,
                  "src": "630:30:51",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 13324,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "630:5:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13327,
                  "mutability": "mutable",
                  "name": "reportTxGasPrice",
                  "nameLocation": "683:16:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 13336,
                  "src": "675:24:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13326,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "675:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13329,
                  "mutability": "mutable",
                  "name": "nanoWitPrice",
                  "nameLocation": "722:12:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 13336,
                  "src": "714:20:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13328,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "714:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "566:179:51"
            },
            "returnParameters": {
              "id": 13335,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 13332,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 13336,
                  "src": "769:7:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13331,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "769:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13334,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 13336,
                  "src": "778:7:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13333,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "778:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "768:18:51"
            },
            "scope": 13398,
            "src": "535:252:51",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "documentation": {
              "id": 13337,
              "nodeType": "StructuredDocumentation",
              "src": "795:202:51",
              "text": "@notice Retrieves the Witnet Data Request bytecodes and SLAs of previously posted queries.\n @dev Returns empty buffer if the query does not exist.\n @param queryIds Query identifiers."
            },
            "functionSelector": "45ea6c17",
            "id": 13346,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "extractWitnetDataRequests",
            "nameLocation": "1012:25:51",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 13341,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 13340,
                  "mutability": "mutable",
                  "name": "queryIds",
                  "nameLocation": "1057:8:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 13346,
                  "src": "1038:27:51",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 13338,
                      "name": "uint256",
                      "nodeType": "ElementaryTypeName",
                      "src": "1038:7:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 13339,
                    "nodeType": "ArrayTypeName",
                    "src": "1038:9:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1037:29:51"
            },
            "returnParameters": {
              "id": 13345,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 13344,
                  "mutability": "mutable",
                  "name": "drBytecodes",
                  "nameLocation": "1115:11:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 13346,
                  "src": "1100:26:51",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr",
                    "typeString": "bytes[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 13342,
                      "name": "bytes",
                      "nodeType": "ElementaryTypeName",
                      "src": "1100:5:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_storage_ptr",
                        "typeString": "bytes"
                      }
                    },
                    "id": 13343,
                    "nodeType": "ArrayTypeName",
                    "src": "1100:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr",
                      "typeString": "bytes[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1099:28:51"
            },
            "scope": 13398,
            "src": "1003:125:51",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "documentation": {
              "id": 13347,
              "nodeType": "StructuredDocumentation",
              "src": "1136:615:51",
              "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 `_witnetQueryId` is not in 'Posted' status.\n @dev - provided `_tallyHash` is zero;\n @dev - length of provided `_result` is zero.\n @param witnetQueryId The unique identifier of the data request.\n @param witnetQueryResultTallyHash The hash of the corresponding data request transaction in Witnet.\n @param witnetQueryResultCborBytes The result itself as bytes."
            },
            "functionSelector": "6280bce8",
            "id": 13358,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "reportResult",
            "nameLocation": "1766:12:51",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 13354,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 13349,
                  "mutability": "mutable",
                  "name": "witnetQueryId",
                  "nameLocation": "1801:13:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 13358,
                  "src": "1793:21:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13348,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1793:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13351,
                  "mutability": "mutable",
                  "name": "witnetQueryResultTallyHash",
                  "nameLocation": "1837:26:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 13358,
                  "src": "1829:34:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 13350,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1829:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13353,
                  "mutability": "mutable",
                  "name": "witnetQueryResultCborBytes",
                  "nameLocation": "1893:26:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 13358,
                  "src": "1878:41:51",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 13352,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "1878:5:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1778:152:51"
            },
            "returnParameters": {
              "id": 13357,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 13356,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 13358,
                  "src": "1949:7:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13355,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1949:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1948:9:51"
            },
            "scope": 13398,
            "src": "1757:201:51",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "documentation": {
              "id": 13359,
              "nodeType": "StructuredDocumentation",
              "src": "1966:656:51",
              "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 `_witnetQueryId` is not in 'Posted' status.\n @dev - provided `_tallyHash` is zero;\n @dev - length of provided `_result` is zero.\n @param witnetQueryId The unique query identifier\n @param witnetQueryResultTimestamp The timestamp of the solving tally transaction in Witnet.\n @param witnetQueryResultTallyHash The hash of the corresponding data request transaction in Witnet.\n @param witnetQueryResultCborBytes The result itself as bytes."
            },
            "functionSelector": "b207e730",
            "id": 13372,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "reportResult",
            "nameLocation": "2637:12:51",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 13368,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 13361,
                  "mutability": "mutable",
                  "name": "witnetQueryId",
                  "nameLocation": "2672:13:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 13372,
                  "src": "2664:21:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13360,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2664:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13363,
                  "mutability": "mutable",
                  "name": "witnetQueryResultTimestamp",
                  "nameLocation": "2708:26:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 13372,
                  "src": "2700:34:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint32",
                    "typeString": "uint32"
                  },
                  "typeName": {
                    "id": 13362,
                    "name": "uint32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2700:6:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13365,
                  "mutability": "mutable",
                  "name": "witnetQueryResultTallyHash",
                  "nameLocation": "2757:26:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 13372,
                  "src": "2749:34:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 13364,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2749:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13367,
                  "mutability": "mutable",
                  "name": "witnetQueryResultCborBytes",
                  "nameLocation": "2813:26:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 13372,
                  "src": "2798:41:51",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 13366,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "2798:5:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2649:201:51"
            },
            "returnParameters": {
              "id": 13371,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 13370,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 13372,
                  "src": "2869:7:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13369,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2869:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2868:9:51"
            },
            "scope": 13398,
            "src": "2628:250:51",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "documentation": {
              "id": 13373,
              "nodeType": "StructuredDocumentation",
              "src": "2886:645:51",
              "text": "@notice Reports Witnet-provided results to multiple requests within a single EVM tx.\n @notice Emits either a WitnetQueryResponse* 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": "06eb2c42",
            "id": 13382,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "reportResultBatch",
            "nameLocation": "3546:17:51",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 13378,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 13377,
                  "mutability": "mutable",
                  "name": "_batchResults",
                  "nameLocation": "3587:13:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 13382,
                  "src": "3564:36:51",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_BatchResult_$13391_calldata_ptr_$dyn_calldata_ptr",
                    "typeString": "struct IWitnetOracleReporter.BatchResult[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 13375,
                      "nodeType": "UserDefinedTypeName",
                      "pathNode": {
                        "id": 13374,
                        "name": "BatchResult",
                        "nameLocations": [
                          "3564:11:51"
                        ],
                        "nodeType": "IdentifierPath",
                        "referencedDeclaration": 13391,
                        "src": "3564:11:51"
                      },
                      "referencedDeclaration": 13391,
                      "src": "3564:11:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_BatchResult_$13391_storage_ptr",
                        "typeString": "struct IWitnetOracleReporter.BatchResult"
                      }
                    },
                    "id": 13376,
                    "nodeType": "ArrayTypeName",
                    "src": "3564:13:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_BatchResult_$13391_storage_$dyn_storage_ptr",
                      "typeString": "struct IWitnetOracleReporter.BatchResult[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3563:38:51"
            },
            "returnParameters": {
              "id": 13381,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 13380,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 13382,
                  "src": "3620:7:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13379,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3620:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3619:9:51"
            },
            "scope": 13398,
            "src": "3537:92:51",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "canonicalName": "IWitnetOracleReporter.BatchResult",
            "id": 13391,
            "members": [
              {
                "constant": false,
                "id": 13384,
                "mutability": "mutable",
                "name": "queryId",
                "nameLocation": "3691:7:51",
                "nodeType": "VariableDeclaration",
                "scope": 13391,
                "src": "3683:15:51",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 13383,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "3683:7:51",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 13386,
                "mutability": "mutable",
                "name": "queryResultTimestamp",
                "nameLocation": "3721:20:51",
                "nodeType": "VariableDeclaration",
                "scope": 13391,
                "src": "3713:28:51",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint32",
                  "typeString": "uint32"
                },
                "typeName": {
                  "id": 13385,
                  "name": "uint32",
                  "nodeType": "ElementaryTypeName",
                  "src": "3713:6:51",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint32",
                    "typeString": "uint32"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 13388,
                "mutability": "mutable",
                "name": "queryResultTallyHash",
                "nameLocation": "3764:20:51",
                "nodeType": "VariableDeclaration",
                "scope": 13391,
                "src": "3756:28:51",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 13387,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "3756:7:51",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 13390,
                "mutability": "mutable",
                "name": "queryResultCborBytes",
                "nameLocation": "3807:20:51",
                "nodeType": "VariableDeclaration",
                "scope": 13391,
                "src": "3799:28:51",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 13389,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "3799:5:51",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "BatchResult",
            "nameLocation": "3656:11:51",
            "nodeType": "StructDefinition",
            "scope": 13398,
            "src": "3649:190:51",
            "visibility": "public"
          },
          {
            "anonymous": false,
            "eventSelector": "4df64445edc775fba59db44b8001852fb1b777eea88fd54f04572dd114e3ff7f",
            "id": 13397,
            "name": "BatchReportError",
            "nameLocation": "3857:16:51",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 13396,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 13393,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "queryId",
                  "nameLocation": "3882:7:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 13397,
                  "src": "3874:15:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13392,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3874:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13395,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "reason",
                  "nameLocation": "3898:6:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 13397,
                  "src": "3891:13:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 13394,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "3891:6:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3873:32:51"
            },
            "src": "3851:55:51"
          }
        ],
        "scope": 13399,
        "src": "197:3712:51",
        "usedErrors": [],
        "usedEvents": [
          13397
        ]
      }
    ],
    "src": "35:3876:51"
  },
  "compiler": {
    "name": "solc",
    "version": "0.8.25+commit.b61c2a91.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "3.4.16",
  "updatedAt": "2024-12-05T09:36:04.504Z",
  "devdoc": {
    "author": "The Witnet Foundation.",
    "kind": "dev",
    "methods": {
      "extractWitnetDataRequests(uint256[])": {
        "details": "Returns empty buffer if the query does not exist.",
        "params": {
          "queryIds": "Query identifiers."
        }
      },
      "reportResult(uint256,bytes32,bytes)": {
        "details": "Will assume `block.timestamp` as the timestamp at which the request was solved.Fails if:- the `_witnetQueryId` is not in 'Posted' status.- provided `_tallyHash` is zero;- length of provided `_result` is zero.",
        "params": {
          "witnetQueryId": "The unique identifier of the data request.",
          "witnetQueryResultCborBytes": "The result itself as bytes.",
          "witnetQueryResultTallyHash": "The hash of the corresponding data request transaction in Witnet."
        }
      },
      "reportResult(uint256,uint32,bytes32,bytes)": {
        "details": "Fails if:- called from unauthorized address;- the `_witnetQueryId` is not in 'Posted' status.- provided `_tallyHash` is zero;- length of provided `_result` is zero.",
        "params": {
          "witnetQueryId": "The unique query identifier",
          "witnetQueryResultCborBytes": "The result itself as bytes.",
          "witnetQueryResultTallyHash": "The hash of the corresponding data request transaction in Witnet.",
          "witnetQueryResultTimestamp": "The timestamp of the solving tally transaction in Witnet."
        }
      },
      "reportResultBatch((uint256,uint32,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."
      },
      "extractWitnetDataRequests(uint256[])": {
        "notice": "Retrieves the Witnet Data Request bytecodes and SLAs of previously posted queries."
      },
      "reportResult(uint256,bytes32,bytes)": {
        "notice": "Reports the Witnet-provided result to a previously posted request. "
      },
      "reportResult(uint256,uint32,bytes32,bytes)": {
        "notice": "Reports the Witnet-provided result to a previously posted request."
      },
      "reportResultBatch((uint256,uint32,bytes32,bytes)[])": {
        "notice": "Reports Witnet-provided results to multiple requests within a single EVM tx.Emits either a WitnetQueryResponse* or a BatchReportError event per batched report."
      }
    },
    "version": 1
  }
}