witnet-solidity-bridge
Version:
Witnet Solidity Bridge contracts for EVM-compatible chains
1,043 lines • 62.9 kB
JSON
{
"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": "defaul