UNPKG

witnet-solidity-bridge

Version:

Witnet Solidity Bridge contracts for EVM-compatible chains

850 lines 184 kB
{ "contractName": "IWitOracleRadonRegistry", "abi": [ { "inputs": [ { "internalType": "bytes", "name": "radonRequestBytecode", "type": "bytes" }, { "components": [ { "internalType": "uint16", "name": "witResultMaxSize", "type": "uint16" }, { "internalType": "uint16", "name": "witCommitteeSize", "type": "uint16" }, { "internalType": "uint64", "name": "witUnitaryReward", "type": "uint64" } ], "internalType": "struct Witnet.QuerySLA", "name": "queryParams", "type": "tuple" } ], "name": "bytecodeOf", "outputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "Witnet.RadonHash", "name": "radonRequestHash", "type": "bytes32" }, { "components": [ { "internalType": "uint16", "name": "witResultMaxSize", "type": "uint16" }, { "internalType": "uint16", "name": "witCommitteeSize", "type": "uint16" }, { "internalType": "uint64", "name": "witUnitaryReward", "type": "uint64" } ], "internalType": "struct Witnet.QuerySLA", "name": "queryParams", "type": "tuple" } ], "name": "bytecodeOf", "outputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "name": "hashOf", "outputs": [ { "internalType": "Witnet.RadonHash", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "name": "isVerifiedRadonReducer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "Witnet.RadonHash", "name": "", "type": "bytes32" } ], "name": "isVerifiedRadonRequest", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "name": "isVerifiedRadonRetrieval", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "hash", "type": "bytes32" } ], "name": "lookupRadonReducer", "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": "Witnet.RadonHash", "name": "radonRequestHash", "type": "bytes32" } ], "name": "lookupRadonRequestBytecode", "outputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "Witnet.RadonHash", "name": "radonRequestHash", "type": "bytes32" } ], "name": "lookupRadonRequestCrowdAttestationTally", "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": "Witnet.RadonHash", "name": "radonRequestHash", "type": "bytes32" } ], "name": "lookupRadonRequestResultDataType", "outputs": [ { "internalType": "enum Witnet.RadonDataTypes", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "Witnet.RadonHash", "name": "radonRequestHash", "type": "bytes32" } ], "name": "lookupRadonRequestRetrievals", "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": [ { "internalType": "Witnet.RadonHash", "name": "radonRequestHash", "type": "bytes32" } ], "name": "lookupRadonRequestRetrievalsAggregator", "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": "Witnet.RadonHash", "name": "radonRequestHash", "type": "bytes32" } ], "name": "lookupRadonRequestRetrievalsCount", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "hash", "type": "bytes32" } ], "name": "lookupRadonRetrieval", "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": [ { "internalType": "bytes32", "name": "hash", "type": "bytes32" } ], "name": "lookupRadonRetrievalArgsCount", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "hash", "type": "bytes32" } ], "name": "lookupRadonRetrievalResultDataType", "outputs": [ { "internalType": "enum Witnet.RadonDataTypes", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "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": "reducer", "type": "tuple" } ], "name": "verifyRadonReducer", "outputs": [ { "internalType": "bytes32", "name": "hash", "type": "bytes32" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32[]", "name": "retrieveHashes", "type": "bytes32[]" }, { "internalType": "bytes32", "name": "aggregateReducerHash", "type": "bytes32" }, { "internalType": "bytes32", "name": "tallyReducerHash", "type": "bytes32" } ], "name": "verifyRadonRequest", "outputs": [ { "internalType": "Witnet.RadonHash", "name": "radonRequestHash", "type": "bytes32" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32[]", "name": "radonRetrieveHashes", "type": "bytes32[]" }, { "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": "dataSourcesAggregator", "type": "tuple" }, { "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": "crowsAttestationTally", "type": "tuple" } ], "name": "verifyRadonRequest", "outputs": [ { "internalType": "Witnet.RadonHash", "name": "radonRequestHash", "type": "bytes32" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "commonRetrieveHash", "type": "bytes32" }, { "internalType": "string[]", "name": "commonRetrieveArgs", "type": "string[]" }, { "internalType": "string[]", "name": "dataProviders", "type": "string[]" }, { "internalType": "bytes32", "name": "dataSourcesAggregatorHash", "type": "bytes32" }, { "internalType": "bytes32", "name": "crowdAttestationTallyHash", "type": "bytes32" } ], "name": "verifyRadonRequest", "outputs": [ { "internalType": "Witnet.RadonHash", "name": "radonRequestHash", "type": "bytes32" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32[]", "name": "radonRetrieveHashes", "type": "bytes32[]" }, { "internalType": "string[][]", "name": "radonRetrieveArgs", "type": "string[][]" }, { "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": "dataSourcesAggregator", "type": "tuple" }, { "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": "crowdAttestationTally", "type": "tuple" } ], "name": "verifyRadonRequest", "outputs": [ { "internalType": "Witnet.RadonHash", "name": "radonRequestHash", "type": "bytes32" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32[]", "name": "radonRetrieveHashes", "type": "bytes32[]" }, { "internalType": "string[][]", "name": "radonRetrieveArgs", "type": "string[][]" }, { "internalType": "bytes32", "name": "dataSourcesAggregatorHash", "type": "bytes32" }, { "internalType": "bytes32", "name": "crowdAttestationTallyHash", "type": "bytes32" } ], "name": "verifyRadonRequest", "outputs": [ { "internalType": "Witnet.RadonHash", "name": "radonRequestHash", "type": "bytes32" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "enum Witnet.RadonRetrievalMethods", "name": "requestMethod", "type": "uint8" }, { "internalType": "string", "name": "requestURL", "type": "string" }, { "internalType": "string", "name": "requestBody", "type": "string" }, { "internalType": "string[2][]", "name": "requestHeaders", "type": "string[2][]" }, { "internalType": "bytes", "name": "requestRadonScript", "type": "bytes" } ], "name": "verifyRadonRetrieval", "outputs": [ { "internalType": "bytes32", "name": "hash", "type": "bytes32" } ], "stateMutability": "nonpayable", "type": "function" } ], "metadata": "{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"radonRequestBytecode\",\"type\":\"bytes\"},{\"components\":[{\"internalType\":\"uint16\",\"name\":\"witResultMaxSize\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"witCommitteeSize\",\"type\":\"uint16\"},{\"internalType\":\"uint64\",\"name\":\"witUnitaryReward\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.QuerySLA\",\"name\":\"queryParams\",\"type\":\"tuple\"}],\"name\":\"bytecodeOf\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Witnet.RadonHash\",\"name\":\"radonRequestHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint16\",\"name\":\"witResultMaxSize\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"witCommitteeSize\",\"type\":\"uint16\"},{\"internalType\":\"uint64\",\"name\":\"witUnitaryReward\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.QuerySLA\",\"name\":\"queryParams\",\"type\":\"tuple\"}],\"name\":\"bytecodeOf\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"hashOf\",\"outputs\":[{\"internalType\":\"Witnet.RadonHash\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"isVerifiedRadonReducer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Witnet.RadonHash\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"isVerifiedRadonRequest\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"isVerifiedRadonRetrieval\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"}],\"name\":\"lookupRadonReducer\",\"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\":\"Witnet.RadonHash\",\"name\":\"radonRequestHash\",\"type\":\"bytes32\"}],\"name\":\"lookupRadonRequestBytecode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Witnet.RadonHash\",\"name\":\"radonRequestHash\",\"type\":\"bytes32\"}],\"name\":\"lookupRadonRequestCrowdAttestationTally\",\"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\":\"Witnet.RadonHash\",\"name\":\"radonRequestHash\",\"type\":\"bytes32\"}],\"name\":\"lookupRadonRequestResultDataType\",\"outputs\":[{\"internalType\":\"enum Witnet.RadonDataTypes\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Witnet.RadonHash\",\"name\":\"radonRequestHash\",\"type\":\"bytes32\"}],\"name\":\"lookupRadonRequestRetrievals\",\"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\":[{\"internalType\":\"Witnet.RadonHash\",\"name\":\"radonRequestHash\",\"type\":\"bytes32\"}],\"name\":\"lookupRadonRequestRetrievalsAggregator\",\"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\":\"Witnet.RadonHash\",\"name\":\"radonRequestHash\",\"type\":\"bytes32\"}],\"name\":\"lookupRadonRequestRetrievalsCount\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"}],\"name\":\"lookupRadonRetrieval\",\"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\":[{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"}],\"name\":\"lookupRadonRetrievalArgsCount\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"}],\"name\":\"lookupRadonRetrievalResultDataType\",\"outputs\":[{\"internalType\":\"enum Witnet.RadonDataTypes\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"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\":\"reducer\",\"type\":\"tuple\"}],\"name\":\"verifyRadonReducer\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"retrieveHashes\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32\",\"name\":\"aggregateReducerHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"tallyReducerHash\",\"type\":\"bytes32\"}],\"name\":\"verifyRadonRequest\",\"outputs\":[{\"internalType\":\"Witnet.RadonHash\",\"name\":\"radonRequestHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"radonRetrieveHashes\",\"type\":\"bytes32[]\"},{\"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\":\"dataSourcesAggregator\",\"type\":\"tuple\"},{\"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\":\"crowsAttestationTally\",\"type\":\"tuple\"}],\"name\":\"verifyRadonRequest\",\"outputs\":[{\"internalType\":\"Witnet.RadonHash\",\"name\":\"radonRequestHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"commonRetrieveHash\",\"type\":\"bytes32\"},{\"internalType\":\"string[]\",\"name\":\"commonRetrieveArgs\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"dataProviders\",\"type\":\"string[]\"},{\"internalType\":\"bytes32\",\"name\":\"dataSourcesAggregatorHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"crowdAttestationTallyHash\",\"type\":\"bytes32\"}],\"name\":\"verifyRadonRequest\",\"outputs\":[{\"internalType\":\"Witnet.RadonHash\",\"name\":\"radonRequestHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"radonRetrieveHashes\",\"type\":\"bytes32[]\"},{\"internalType\":\"string[][]\",\"name\":\"radonRetrieveArgs\",\"type\":\"string[][]\"},{\"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\":\"dataSourcesAggregator\",\"type\":\"tuple\"},{\"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\":\"crowdAttestationTally\",\"type\":\"tuple\"}],\"name\":\"verifyRadonRequest\",\"outputs\":[{\"internalType\":\"Witnet.RadonHash\",\"name\":\"radonRequestHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"radonRetrieveHashes\",\"type\":\"bytes32[]\"},{\"internalType\":\"string[][]\",\"name\":\"radonRetrieveArgs\",\"type\":\"string[][]\"},{\"internalType\":\"bytes32\",\"name\":\"dataSourcesAggregatorHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"crowdAttestationTallyHash\",\"type\":\"bytes32\"}],\"name\":\"verifyRadonRequest\",\"outputs\":[{\"internalType\":\"Witnet.RadonHash\",\"name\":\"radonRequestHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum Witnet.RadonRetrievalMethods\",\"name\":\"requestMethod\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"requestURL\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"requestBody\",\"type\":\"string\"},{\"internalType\":\"string[2][]\",\"name\":\"requestHeaders\",\"type\":\"string[2][]\"},{\"internalType\":\"bytes\",\"name\":\"requestRadonScript\",\"type\":\"bytes\"}],\"name\":\"verifyRadonRetrieval\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"lookupRadonReducer(bytes32)\":{\"details\":\"Reverts if unknown.\"},\"lookupRadonRequestCrowdAttestationTally(bytes32)\":{\"details\":\"Reverts if unknown.\"},\"lookupRadonRequestResultDataType(bytes32)\":{\"details\":\"Reverts if unknown.\"},\"lookupRadonRequestRetrievals(bytes32)\":{\"details\":\"Reverts if unknown.\"},\"lookupRadonRequestRetrievalsAggregator(bytes32)\":{\"details\":\"Reverts if unknown.\"},\"lookupRadonRetrieval(bytes32)\":{\"details\":\"Reverts if unknown.\"},\"lookupRadonRetrievalArgsCount(bytes32)\":{\"details\":\"Reverts if unknown.\"},\"lookupRadonRetrievalResultDataType(bytes32)\":{\"details\":\"Reverts if unknown.\"},\"verifyRadonReducer((uint8,(uint8,bytes)[]))\":{\"details\":\"Reverts if unsupported reducing or filtering methods are specified.\"},\"verifyRadonRequest(bytes32[],(uint8,(uint8,bytes)[]),(uint8,(uint8,bytes)[]))\":{\"details\":\"Reverts if: - unverified retrievals are passed; - retrievals return different data types; - any of passed retrievals is parameterized; - unsupported reducers are passed.\"},\"verifyRadonRequest(bytes32[],bytes32,bytes32)\":{\"details\":\"Reverts if: - unverified retrievals are passed; - retrievals return different data types; - ranks of passed args don't match with those required by each given retrieval; - unverified reducers are passed.\"},\"verifyRadonRequest(bytes32[],string[][],(uint8,(uint8,bytes)[]),(uint8,(uint8,bytes)[]))\":{\"details\":\"Reverts if: - unverified retrievals are passed; - retrievals return different data types; - ranks of passed args don't match with those required by each given retrieval; - unsupported reducers are passed.\"},\"verifyRadonRequest(bytes32[],string[][],bytes32,bytes32)\":{\"details\":\"Reverts if: - unverified retrieval is passed; - ranks of passed args don't match with those expected by given retrieval, after replacing the data provider URL. - unverified reducers are passed.\"},\"verifyRadonRetrieval(uint8,string,string,string[2][],bytes)\":{\"details\":\"Reverts if: - unsupported retrieval method is given; - no URL is provided Http/* requests; - non-empty strings given on RNG reqs.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"bytecodeOf(bytes,(uint16,uint16,uint64))\":{\"notice\":\"Returns the Witnet-compliant DRO bytecode for some data request object made out of the given RAD bytecode and Radon SLA security parameters. \"},\"bytecodeOf(bytes32,(uint16,uint16,uint64))\":{\"notice\":\"Returns the Witnet-compliant DRO bytecode for some data request object made out of the given Radon Request and Radon SLA security parameters. \"},\"hashOf(bytes)\":{\"notice\":\"Returns the hash of the given Witnet-compliant bytecode. Returned value can be used to trace back in the Witnet blockchain all past resolutions of the given data request payload.\"},\"isVerifiedRadonReducer(bytes32)\":{\"notice\":\"Tells whether the specified Radon Reducer has been formally verified into the registry.\"},\"isVerifiedRadonRequest(bytes32)\":{\"notice\":\"Tells whether the given Radon Hash has been formally verified into the registry.\"},\"isVerifiedRadonRetrieval(bytes32)\":{\"notice\":\"Tells whether the specified Radon Retrieval has been formally verified into the registry.\"},\"lookupRadonReducer(bytes32)\":{\"notice\":\"Returns the whole Witnet.RadonReducer metadata struct for the given hash.\"},\"lookupRadonRequestBytecode(bytes32)\":{\"notice\":\"Returns the Witnet-compliant RAD bytecode for some Radon Request identified by its unique RAD hash. \"},\"lookupRadonRequestCrowdAttestationTally(bytes32)\":{\"notice\":\"Returns the Tally reducer that is applied to aggregated values revealed by the witnessing nodes on the Witnet blockchain. \"},\"lookupRadonRequestResultDataType(bytes32)\":{\"notice\":\"Returns the deterministic data type returned by successful resolutions of the given Radon Request. \"},\"lookupRadonRequestRetrievals(bytes32)\":{\"notice\":\"Returns an array (one or more items) containing the introspective metadata of the given Radon Request's data sources (i.e. Radon Retrievals). \"},\"lookupRadonRequestRetrievalsAggregator(bytes32)\":{\"notice\":\"Returns the Aggregate reducer that is applied to the data extracted from the data sources (i.e. Radon Retrievals) whenever the given Radon Request gets solved on the Witnet blockchain. \"},\"lookupRadonRetrieval(bytes32)\":{\"notice\":\"Returns introspective metadata of some previously verified Radon Retrieval (i.e. public data source). \"},\"lookupRadonRetrievalArgsCount(bytes32)\":{\"notice\":\"Returns the number of indexed parameters required to be fulfilled when eventually using the given Radon Retrieval. \"},\"lookupRadonRetrievalResultDataType(bytes32)\":{\"notice\":\"Returns the type of the data that would be retrieved by the given Radon Retrieval (i.e. public data source). \"},\"verifyRadonReducer((uint8,(uint8,bytes)[]))\":{\"notice\":\"Verifies and registers the given sequence of dataset filters and reducing function to be potentially used as either Aggregate or Tally reducers within the resolution workflow of Radon Requests in the Wit/Oracle blockchain. Returns a unique hash that identifies the given Radon Reducer in the registry. \"},\"verifyRadonRequest(bytes32[],(uint8,(uint8,bytes)[]),(uint8,(uint8,bytes)[]))\":{\"notice\":\"Verifies and registers the specified Radon Request out of the given data sources (i.e. retrievals) and the aggregate and tally Radon Reducers. Returns a unique RAD hash that identifies the verified Radon Request. \"},\"verifyRadonRequest(bytes32[],bytes32,bytes32)\":{\"notice\":\"Verifies and registers the specified Radon Request out of the given data sources (i.e. retrievals), data sources parameters (if required), and some pre-verified aggregate and tally Radon Reducers. Returns a unique RAD hash that identifies the verified Radon Request.\"},\"verifyRadonRequest(bytes32[],string[][],(uint8,(uint8,bytes)[]),(uint8,(uint8,bytes)[]))\":{\"notice\":\"Verifies and registers the specified Radon Request out of the given data sources (i.e. retrievals), data sources parameters (if required), and the aggregate and tally Radon Reducers. Returns a unique RAD hash that identifies the verified Radon Request.\"},\"verifyRadonRequest(bytes32[],string[][],bytes32,bytes32)\":{\"notice\":\"Verifies and registers the specified Radon Request out of a single modal retrieval where first parameter corresponds to data provider's URL, an array of data providers (i.e. URLs), and an array of parmeter values common to all data providers. Some pre-verified aggregate and tally Radon Reducers must also be provided. Returns a unique RAD hash that identifies the verified Radon Request.\"},\"verifyRadonRetrieval(uint8,string,string,string[2][],bytes)\":{\"notice\":\"Verifies and registers the specified Radon Retrieval (i.e. public data source) into this registry contract. Returns a unique retrieval hash that identifies the verified Radon Retrieval. All parameters but the retrieval method are parameterizable by using embedded wildcard \\\\x\\\\ substrings (with x='0'..'9').\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/interfaces/IWitOracleRadonRegistry.sol\":\"IWitOracleRadonRegistry\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/contracts/interfaces/IWitOracleRadonRegistry.sol\":{\"keccak256\":\"0x437bbb89129311bd1cc8f6becd333df46109ec53b24d3159be942b225614071f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef9bcdf4a73cb126885478c994821b7fe2b87d9221b767b4c9342b89b0d6550a\",\"dweb:/ipfs/QmXzZXPMxjSiFpcEnhg6CjLFNxGCpDZt22xpUh7VHxNTGd\"]},\"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 IWitOracleRadonRegistry {\r\n\r\n /// @notice Returns the Witnet-compliant DRO bytecode for some data request object \r\n /// made out of the given Radon Request and Radon SLA security parameters. \r\n function bytecodeOf(\r\n Witnet.RadonHash radonRequestHash, \r\n Witnet.QuerySLA calldata queryParams\r\n ) external view returns (bytes memory);\r\n \r\n /// @notice Returns the Witnet-compliant DRO bytecode for some data request object \r\n /// made out of the given RAD bytecode and Radon SLA security parameters. \r\n function bytecodeOf(\r\n bytes calldata radonRequestBytecode, \r\n Witnet.QuerySLA calldata queryParams\r\n ) external view returns (bytes memory);\r\n\r\n /// @notice Returns the hash of the given Witnet-compliant bytecode. Returned value\r\n /// can be used to trace back in the Witnet blockchain all past resolutions \r\n /// of the given data request payload.\r\n function hashOf(bytes calldata) external view returns (Witnet.RadonHash);\r\n\r\n /// @notice Tells whether the specified Radon Reducer has been formally verified into the registry.\r\n function isVerifiedRadonReducer(bytes32) external view returns (bool);\r\n \r\n /// @notice Tells whether the given Radon Hash has been formally verified into the registry.\r\n function isVerifiedRadonRequest(Witnet.RadonHash) external view returns (bool);\r\n \r\n /// @notice Tells whether the specified Radon Retrieval has been formally verified into the registry.\r\n function isVerifiedRadonRetrieval(bytes32) external view returns (bool);\r\n \r\n /// @notice Returns the whole Witnet.RadonReducer metadata struct for the given hash.\r\n /// @dev Reverts if unknown.\r\n function lookupRadonReducer(bytes32 hash) external view returns (Witnet.RadonReducer memory);\r\n\r\n // /// @notice Returns the whole Witnet.RadonRequest metadata struct for the given RAD hash value. \r\n // /// @dev Reverts if unknown.\r\n // function lookupRadonRequest(Witnet.RadonHash radonRequestHash) external view returns (Witnet.RadonRequest memory);\r\n\r\n /// @notice Returns the Witnet-compliant RAD bytecode for some Radon Request \r\n /// identified by its unique RAD hash. \r\n function lookupRadonRequestBytecode(Witnet.RadonHash radonRequestHash) external view returns (bytes memory);\r\n\r\n /// @notice Returns the Tally reducer that is applied to aggregated values revealed by the witnessing nodes on the \r\n /// Witnet blockchain. \r\n /// @dev Reverts if unknown.\r\n function lookupRadonRequestCrowdAttestationTally(Witnet.RadonHash radonRequestHash) external view returns (Witnet.RadonReducer memory);\r\n \r\n /// @notice Returns the deterministic data type returned by successful resolutions of the given Radon Request. \r\n /// @dev Reverts if unknown.\r\n function lookupRadonRequestResultDataType(Witnet.RadonHash radonRequestHash) external view returns (Witnet.RadonDataTypes);\r\n\r\n /// @notice Returns introspective metadata for the index-th data source of some pre-verified Radon Request. \r\n /// @dev Reverts if out of range.\r\n // function lookupRadonRequestRetrievalByIndex(Witnet.RadonHash radonRequestHash, uint256 index) external view returns (Witnet.RadonRetrieval memory);\r\n\r\n /// @notice Returns an array (one or more items) containing the introspective metadata of the given Radon Request's \r\n /// data sources (i.e. Radon Retrievals). \r\n /// @dev Reverts if unknown.\r\n function lookupRadonRequestRetrievals(Witnet.RadonHash radonRequestHash) external view returns (Witnet.RadonRetrieval[] memory);\r\n\r\n /// @notice Returns the Aggregate reducer that is applied to the data extracted from the data sources \r\n /// (i.e. Radon Retrievals) whenever the given Radon Request gets solved on the Witnet blockchain. \r\n /// @dev Reverts if unknown.\r\n function lookupRadonRequestRetrievalsAggregator(Witnet.RadonHash radonRequestHash) external view returns (Witnet.RadonReducer memory);\r\n\r\n function lookupRadonRequestRetrievalsCount(Witnet.RadonHash radonRequestHash) external view returns (uint8);\r\n\r\n /// @notice Returns introspective metadata of some previously verified Radon Retrieval (i.e. public data source). \r\n ///@dev Reverts if unknown.\r\n function lookupRadonRetrieval(bytes32 hash) external view returns (Witnet.RadonRetrieval memory);\r\n \r\n /// @notice Returns the number of indexed parameters required to be fulfilled when \r\n /// eventually using the given Radon Retrieval. \r\n /// @dev Reverts if unknown.\r\n function lookupRadonRetrievalArgsCount(bytes32 hash) external view returns (uint8);\r\n\r\n /// @notice Returns the type of the data that would be retrieved by the given Radon Retrieval \r\n /// (i.e. public data source). \r\n /// @dev Reverts if unknown.\r\n function lookupRadonRetrievalResultDataType(bytes32 hash) external view returns (Witnet.RadonDataTypes);\r\n\r\n /// @notice Verifies and registers the given sequence of dataset filters and reducing function to be \r\n /// potentially used as either Aggregate or Tally reducers within the resolution workflow\r\n /// of Radon Requests in the Wit/Oracle blockchain. Returns a unique hash that identifies the \r\n /// given Radon Reducer in the registry. \r\n /// @dev Reverts if unsupported reducing or filtering methods are specified.\r\n function verifyRadonReducer(Witnet.RadonReducer calldata reducer) external returns (bytes32 hash);\r\n \r\n /// @notice Verifies and registers the specified Radon Request out of the given data sources (i.e. retrievals)\r\n /// and the aggregate and tally Radon Reducers. Returns a unique RAD hash that identifies the \r\n /// verified Radon Request. \r\n /// @dev Reverts if:\r\n /// - unverified retrievals are passed;\r\n /// - retrievals return different data types;\r\n /// - any of passed retrievals is parameterized;\r\n /// - unsupported reducers are passed.\r\n function verifyRadonRequest(\r\n bytes32[] calldata radonRetrieveHashes,\r\n Witnet.RadonReducer calldata dataSourcesAggregator,\r\n Witnet.RadonReducer calldata crowsAttestationTally\r\n ) external returns (Witnet.RadonHash radonRequestHash);\r\n\r\n /// @notice Verifies and registers the specified Radon Request out of the given data sources (i.e. retrievals), \r\n /// data sources parameters (if required), and some p