UNPKG

witnet-solidity-bridge

Version:

Witnet Solidity Bridge contracts for EVM-compatible chains

809 lines 35.3 kB
{ "contractName": "IWitOracleRadonRequestTemplate", "abi": [ { "inputs": [], "name": "getArgsCount", "outputs": [ { "internalType": "uint8[]", "name": "", "type": "uint8[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getCrowdAttestationTally", "outputs": [ { "components": [ { "internalType": "enum Witnet.RadonReduceOpcodes", "name": "opcode", "type": "uint8" }, { "components": [ { "internalType": "enum Witnet.RadonFilterOpcodes", "name": "opcode", "type": "uint8" }, { "internalType": "bytes", "name": "cborArgs", "type": "bytes" } ], "internalType": "struct Witnet.RadonFilter[]", "name": "filters", "type": "tuple[]" } ], "internalType": "struct Witnet.RadonReducer", "name": "", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getDataResultType", "outputs": [ { "internalType": "enum Witnet.RadonDataTypes", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getDataSources", "outputs": [ { "components": [ { "internalType": "uint8", "name": "argsCount", "type": "uint8" }, { "internalType": "enum Witnet.RadonRetrievalMethods", "name": "method", "type": "uint8" }, { "internalType": "enum Witnet.RadonDataTypes", "name": "dataType", "type": "uint8" }, { "internalType": "string", "name": "url", "type": "string" }, { "internalType": "string", "name": "body", "type": "string" }, { "internalType": "string[2][]", "name": "headers", "type": "string[2][]" }, { "internalType": "bytes", "name": "radonScript", "type": "bytes" } ], "internalType": "struct Witnet.RadonRetrieval[]", "name": "", "type": "tuple[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getDataSourcesAggregator", "outputs": [ { "components": [ { "internalType": "enum Witnet.RadonReduceOpcodes", "name": "opcode", "type": "uint8" }, { "components": [ { "internalType": "enum Witnet.RadonFilterOpcodes", "name": "opcode", "type": "uint8" }, { "internalType": "bytes", "name": "cborArgs", "type": "bytes" } ], "internalType": "struct Witnet.RadonFilter[]", "name": "filters", "type": "tuple[]" } ], "internalType": "struct Witnet.RadonReducer", "name": "", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "string[][]", "name": "args", "type": "string[][]" } ], "name": "verifyRadonRequest", "outputs": [ { "internalType": "Witnet.RadonHash", "name": "", "type": "bytes32" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "witOracle", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" } ], "metadata": "{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getArgsCount\",\"outputs\":[{\"internalType\":\"uint8[]\",\"name\":\"\",\"type\":\"uint8[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCrowdAttestationTally\",\"outputs\":[{\"components\":[{\"internalType\":\"enum Witnet.RadonReduceOpcodes\",\"name\":\"opcode\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"enum Witnet.RadonFilterOpcodes\",\"name\":\"opcode\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"cborArgs\",\"type\":\"bytes\"}],\"internalType\":\"struct Witnet.RadonFilter[]\",\"name\":\"filters\",\"type\":\"tuple[]\"}],\"internalType\":\"struct Witnet.RadonReducer\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDataResultType\",\"outputs\":[{\"internalType\":\"enum Witnet.RadonDataTypes\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDataSources\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"argsCount\",\"type\":\"uint8\"},{\"internalType\":\"enum Witnet.RadonRetrievalMethods\",\"name\":\"method\",\"type\":\"uint8\"},{\"internalType\":\"enum Witnet.RadonDataTypes\",\"name\":\"dataType\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"body\",\"type\":\"string\"},{\"internalType\":\"string[2][]\",\"name\":\"headers\",\"type\":\"string[2][]\"},{\"internalType\":\"bytes\",\"name\":\"radonScript\",\"type\":\"bytes\"}],\"internalType\":\"struct Witnet.RadonRetrieval[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDataSourcesAggregator\",\"outputs\":[{\"components\":[{\"internalType\":\"enum Witnet.RadonReduceOpcodes\",\"name\":\"opcode\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"enum Witnet.RadonFilterOpcodes\",\"name\":\"opcode\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"cborArgs\",\"type\":\"bytes\"}],\"internalType\":\"struct Witnet.RadonFilter[]\",\"name\":\"filters\",\"type\":\"tuple[]\"}],\"internalType\":\"struct Witnet.RadonReducer\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[][]\",\"name\":\"args\",\"type\":\"string[][]\"}],\"name\":\"verifyRadonRequest\",\"outputs\":[{\"internalType\":\"Witnet.RadonHash\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"witOracle\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"verifyRadonRequest(string[][])\":{\"details\":\"This method requires less gas than buildWitOracleRequest(string[][]), and it's usually preferred when data requests built out of this templateare intended to be used just once in lifetime. \"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"verifyRadonRequest(string[][])\":{\"notice\":\"Verifies into the bounded WitOracle's registry the actual bytecode and RAD hash of the Witnet-compliant Radon Request that gets provably made out of the data sources, aggregate and tally Radon Reducers that compose this WitOracleRequestTemplate. While no WitOracleRequest instance is actually constructed, the returned value will be accepted as a valid RAD hash on the witOracle() contract from now on. Reverts if: - the ranks of passed array don't match either the number of this template's data sources, or the number of required parameters by each one of those.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/interfaces/IWitOracleRadonRequestTemplate.sol\":\"IWitOracleRadonRequestTemplate\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/contracts/interfaces/IWitOracleRadonRequestTemplate.sol\":{\"keccak256\":\"0xb3f8ec0cbd9cde19348cfd5f51480fb1a0ffe479bf38043ec385f9b4ef1a53f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://90fa841ff07d95c96d2c0d0423845a49280fbbf287d3b00b56dfda8c7c8ea15c\",\"dweb:/ipfs/QmfD7cP4V4kuFjeNdXC8tDyrEJCbTAHCenJ7sC7f6cfxvP\"]},\"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\ninterface IWitOracleRadonRequestTemplate {\r\n\r\n function getArgsCount() external view returns (uint8[] memory);\r\n function getCrowdAttestationTally() external view returns (Witnet.RadonReducer memory);\r\n function getDataResultType() external view returns (Witnet.RadonDataTypes); \r\n function getDataSources() external view returns (Witnet.RadonRetrieval[] memory);\r\n function getDataSourcesAggregator() external view returns (Witnet.RadonReducer memory);\r\n \r\n /// Verifies into the bounded WitOracle's registry the actual bytecode \r\n /// and RAD hash of the Witnet-compliant Radon Request that gets provably \r\n /// made out of the data sources, aggregate and tally Radon Reducers that \r\n /// compose this WitOracleRequestTemplate. While no WitOracleRequest instance is \r\n /// actually constructed, the returned value will be accepted as a valid\r\n /// RAD hash on the witOracle() contract from now on. \r\n /// Reverts if:\r\n /// - the ranks of passed array don't match either the number of this \r\n /// template's data sources, or the number of required parameters by \r\n /// each one of those.\r\n /// @dev This method requires less gas than buildWitOracleRequest(string[][]), and \r\n /// @dev it's usually preferred when data requests built out of this template\r\n /// @dev are intended to be used just once in lifetime. \r\n function verifyRadonRequest(string[][] calldata args) external returns (Witnet.RadonHash);\r\n\r\n function witOracle() external view returns (address);\r\n}\r\n", "sourcePath": "C:\\Users\\guill\\github\\guidiaz\\witnet-solidity-bridge\\contracts\\interfaces\\IWitOracleRadonRequestTemplate.sol", "ast": { "absolutePath": "project:/contracts/interfaces/IWitOracleRadonRequestTemplate.sol", "exportedSymbols": { "Bech32": [ 31372 ], "IWitOracleRadonRequestTemplate": [ 27592 ], "Secp256k1": [ 32535 ], "Witnet": [ 40741 ], "WitnetBuffer": [ 42631 ], "WitnetCBOR": [ 44174 ] }, "id": 27593, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { "id": 27543, "literals": [ "solidity", ">=", "0.8", ".0", "<", "0.9", ".0" ], "nodeType": "PragmaDirective", "src": "35:31:77" }, { "absolutePath": "project:/contracts/libs/Witnet.sol", "file": "../libs/Witnet.sol", "id": 27544, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 27593, "sourceUnit": 40742, "src": "70:28:77", "symbolAliases": [], "unitAlias": "" }, { "abstract": false, "baseContracts": [], "canonicalName": "IWitOracleRadonRequestTemplate", "contractDependencies": [], "contractKind": "interface", "fullyImplemented": false, "id": 27592, "linearizedBaseContracts": [ 27592 ], "name": "IWitOracleRadonRequestTemplate", "nameLocation": "112:30:77", "nodeType": "ContractDefinition", "nodes": [ { "functionSelector": "13620d8f", "id": 27550, "implemented": false, "kind": "function", "modifiers": [], "name": "getArgsCount", "nameLocation": "161:12:77", "nodeType": "FunctionDefinition", "parameters": { "id": 27545, "nodeType": "ParameterList", "parameters": [], "src": "173:2:77" }, "returnParameters": { "id": 27549, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 27548, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 27550, "src": "199:14:77", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[]" }, "typeName": { "baseType": { "id": 27546, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "199:5:77", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "id": 27547, "nodeType": "ArrayTypeName", "src": "199:7:77", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" } }, "visibility": "internal" } ], "src": "198:16:77" }, "scope": 27592, "src": "152:63:77", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "functionSelector": "0f0adf5b", "id": 27556, "implemented": false, "kind": "function", "modifiers": [], "name": "getCrowdAttestationTally", "nameLocation": "230:24:77", "nodeType": "FunctionDefinition", "parameters": { "id": 27551, "nodeType": "ParameterList", "parameters": [], "src": "254:2:77" }, "returnParameters": { "id": 27555, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 27554, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 27556, "src": "280:26:77", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_struct$_RadonReducer_$37748_memory_ptr", "typeString": "struct Witnet.RadonReducer" }, "typeName": { "id": 27553, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 27552, "name": "Witnet.RadonReducer", "nameLocations": [ "280:6:77", "287:12:77" ], "nodeType": "IdentifierPath", "referencedDeclaration": 37748, "src": "280:19:77" }, "referencedDeclaration": 37748, "src": "280:19:77", "typeDescriptions": { "typeIdentifier": "t_struct$_RadonReducer_$37748_storage_ptr", "typeString": "struct Witnet.RadonReducer" } }, "visibility": "internal" } ], "src": "279:28:77" }, "scope": 27592, "src": "221:87:77", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "functionSelector": "7f2b1d77", "id": 27562, "implemented": false, "kind": "function", "modifiers": [], "name": "getDataResultType", "nameLocation": "323:17:77", "nodeType": "FunctionDefinition", "parameters": { "id": 27557, "nodeType": "ParameterList", "parameters": [], "src": "340:2:77" }, "returnParameters": { "id": 27561, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 27560, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 27562, "src": "366:21:77", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_enum$_RadonDataTypes_$37720", "typeString": "enum Witnet.RadonDataTypes" }, "typeName": { "id": 27559, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 27558, "name": "Witnet.RadonDataTypes", "nameLocations": [ "366:6:77", "373:14:77" ], "nodeType": "IdentifierPath", "referencedDeclaration": 37720, "src": "366:21:77" }, "referencedDeclaration": 37720, "src": "366:21:77", "typeDescriptions": { "typeIdentifier": "t_enum$_RadonDataTypes_$37720", "typeString": "enum Witnet.RadonDataTypes" } }, "visibility": "internal" } ], "src": "365:23:77" }, "scope": 27592, "src": "314:75:77", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "functionSelector": "bc04eba8", "id": 27569, "implemented": false, "kind": "function", "modifiers": [], "name": "getDataSources", "nameLocation": "405:14:77", "nodeType": "FunctionDefinition", "parameters": { "id": 27563, "nodeType": "ParameterList", "parameters": [], "src": "419:2:77" }, "returnParameters": { "id": 27568, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 27567, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 27569, "src": "445:30:77", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_RadonRetrieval_$37795_memory_ptr_$dyn_memory_ptr", "typeString": "struct Witnet.RadonRetrieval[]" }, "typeName": { "baseType": { "id": 27565, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 27564, "name": "Witnet.RadonRetrieval", "nameLocations": [ "445:6:77", "452:14:77" ], "nodeType": "IdentifierPath", "referencedDeclaration": 37795, "src": "445:21:77" }, "referencedDeclaration": 37795, "src": "445:21:77", "typeDescriptions": { "typeIdentifier": "t_struct$_RadonRetrieval_$37795_storage_ptr", "typeString": "struct Witnet.RadonRetrieval" } }, "id": 27566, "nodeType": "ArrayTypeName", "src": "445:23:77", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_RadonRetrieval_$37795_storage_$dyn_storage_ptr", "typeString": "struct Witnet.RadonRetrieval[]" } }, "visibility": "internal" } ], "src": "444:32:77" }, "scope": 27592, "src": "396:81:77", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "functionSelector": "13152e89", "id": 27575, "implemented": false, "kind": "function", "modifiers": [], "name": "getDataSourcesAggregator", "nameLocation": "492:24:77", "nodeType": "FunctionDefinition", "parameters": { "id": 27570, "nodeType": "ParameterList", "parameters": [], "src": "516:2:77" }, "returnParameters": { "id": 27574, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 27573, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 27575, "src": "542:26:77", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_struct$_RadonReducer_$37748_memory_ptr", "typeString": "struct Witnet.RadonReducer" }, "typeName": { "id": 27572, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 27571, "name": "Witnet.RadonReducer", "nameLocations": [ "542:6:77", "549:12:77" ], "nodeType": "IdentifierPath", "referencedDeclaration": 37748, "src": "542:19:77" }, "referencedDeclaration": 37748, "src": "542:19:77", "typeDescriptions": { "typeIdentifier": "t_struct$_RadonReducer_$37748_storage_ptr", "typeString": "struct Witnet.RadonReducer" } }, "visibility": "internal" } ], "src": "541:28:77" }, "scope": 27592, "src": "483:87:77", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "documentation": { "id": 27576, "nodeType": "StructuredDocumentation", "src": "582:897:77", "text": "Verifies into the bounded WitOracle's registry the actual bytecode \n and RAD hash of the Witnet-compliant Radon Request that gets provably \n made out of the data sources, aggregate and tally Radon Reducers that \n compose this WitOracleRequestTemplate. While no WitOracleRequest instance is \n actually constructed, the returned value will be accepted as a valid\n RAD hash on the witOracle() contract from now on. \n Reverts if:\n - the ranks of passed array don't match either the number of this \n template's data sources, or the number of required parameters by \n each one of those.\n @dev This method requires less gas than buildWitOracleRequest(string[][]), and \n @dev it's usually preferred when data requests built out of this template\n @dev are intended to be used just once in lifetime. " }, "functionSelector": "bf7a0bd3", "id": 27586, "implemented": false, "kind": "function", "modifiers": [], "name": "verifyRadonRequest", "nameLocation": "1494:18:77", "nodeType": "FunctionDefinition", "parameters": { "id": 27581, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 27580, "mutability": "mutable", "name": "args", "nameLocation": "1533:4:77", "nodeType": "VariableDeclaration", "scope": 27586, "src": "1513:24:77", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_string_calldata_ptr_$dyn_calldata_ptr_$dyn_calldata_ptr", "typeString": "string[][]" }, "typeName": { "baseType": { "baseType": { "id": 27577, "name": "string", "nodeType": "ElementaryTypeName", "src": "1513:6:77", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "id": 27578, "nodeType": "ArrayTypeName", "src": "1513:8:77", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", "typeString": "string[]" } }, "id": 27579, "nodeType": "ArrayTypeName", "src": "1513:10:77", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_string_storage_$dyn_storage_$dyn_storage_ptr", "typeString": "string[][]" } }, "visibility": "internal" } ], "src": "1512:26:77" }, "returnParameters": { "id": 27585, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 27584, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 27586, "src": "1557:16:77", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_RadonHash_$37153", "typeString": "Witnet.RadonHash" }, "typeName": { "id": 27583, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 27582, "name": "Witnet.RadonHash", "nameLocations": [ "1557:6:77", "1564:9:77" ], "nodeType": "IdentifierPath", "referencedDeclaration": 37153, "src": "1557:16:77" }, "referencedDeclaration": 37153, "src": "1557:16:77", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_RadonHash_$37153", "typeString": "Witnet.RadonHash" } }, "visibility": "internal" } ], "src": "1556:18:77" }, "scope": 27592, "src": "1485:90:77", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "functionSelector": "1014d375", "id": 27591, "implemented": false, "kind": "function", "modifiers": [], "name": "witOracle", "nameLocation": "1592:9:77", "nodeType": "FunctionDefinition", "parameters": { "id": 27587, "nodeType": "ParameterList", "parameters": [], "src": "1601:2:77" }, "returnParameters": { "id": 27590, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 27589, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 27591, "src": "1627:7:77", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 27588, "name": "address", "nodeType": "ElementaryTypeName", "src": "1627:7:77", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "1626:9:77" }, "scope": 27592, "src": "1583:53:77", "stateMutability": "view", "virtual": false, "visibility": "external" } ], "scope": 27593, "src": "102:1537:77", "usedErrors": [], "usedEvents": [] } ], "src": "35:1606:77" }, "compiler": { "name": "solc", "version": "0.8.30+commit.73712a01.Emscripten.clang" }, "networks": {}, "schemaVersion": "3.4.16", "updatedAt": "2025-10-15T14:34:45.906Z", "devdoc": { "kind": "dev", "methods": { "verifyRadonRequest(string[][])": { "details": "This method requires less gas than buildWitOracleRequest(string[][]), and it's usually preferred when data requests built out of this templateare intended to be used just once in lifetime. " } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "verifyRadonRequest(string[][])": { "notice": "Verifies into the bounded WitOracle's registry the actual bytecode and RAD hash of the Witnet-compliant Radon Request that gets provably made out of the data sources, aggregate and tally Radon Reducers that compose this WitOracleRequestTemplate. While no WitOracleRequest instance is actually constructed, the returned value will be accepted as a valid RAD hash on the witOracle() contract from now on. Reverts if: - the ranks of passed array don't match either the number of this template's data sources, or the number of required parameters by each one of those." } }, "version": 1 } }