UNPKG

witnet-solidity-bridge

Version:

Witnet Solidity Bridge contracts for EVM-compatible chains

858 lines 203 kB
{ "contractName": "WitOracleBasePushOnlyTrustless", "abi": [ { "inputs": [], "name": "InvalidDataReport", "type": "error" }, { "anonymous": false, "inputs": [ { "components": [ { "internalType": "uint32", "name": "index", "type": "uint32" }, { "internalType": "uint32", "name": "prevIndex", "type": "uint32" }, { "internalType": "bytes24", "name": "prevRoot", "type": "bytes24" }, { "internalType": "bytes16", "name": "ddrTalliesMerkleRoot", "type": "bytes16" }, { "internalType": "bytes16", "name": "droTalliesMerkleRoot", "type": "bytes16" }, { "internalType": "uint256[4]", "name": "nextCommitteeAggPubkey", "type": "uint256[4]" } ], "indexed": false, "internalType": "struct Witnet.Beacon", "name": "head", "type": "tuple" } ], "name": "Rollup", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "evmOrigin", "type": "address" }, { "indexed": true, "internalType": "address", "name": "evmConsumer", "type": "address" }, { "indexed": false, "internalType": "address", "name": "evmReporter", "type": "address" }, { "indexed": false, "internalType": "Witnet.TransactionHash", "name": "witDrTxHash", "type": "bytes32" }, { "indexed": false, "internalType": "Witnet.RadonHash", "name": "queryRadHash", "type": "bytes32" }, { "components": [ { "internalType": "uint16", "name": "witResultMaxSize", "type": "uint16" }, { "internalType": "uint16", "name": "witCommitteeSize", "type": "uint16" }, { "internalType": "uint64", "name": "witUnitaryReward", "type": "uint64" } ], "indexed": false, "internalType": "struct Witnet.QuerySLA", "name": "queryParams", "type": "tuple" }, { "indexed": false, "internalType": "Witnet.Timestamp", "name": "resultTimestamp", "type": "uint64" }, { "indexed": false, "internalType": "bytes", "name": "resultCborBytes", "type": "bytes" } ], "name": "WitOracleReport", "type": "event" }, { "inputs": [], "name": "channel", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "class", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "registry", "outputs": [ { "internalType": "contract IWitOracleRadonRegistry", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "specs", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "Witnet.TransactionHash", "name": "witDrTxHash", "type": "bytes32" }, { "internalType": "Witnet.RadonHash", "name": "queryRadHash", "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" }, { "internalType": "Witnet.Timestamp", "name": "resultTimestamp", "type": "uint64" }, { "internalType": "bytes", "name": "resultCborBytes", "type": "bytes" } ], "internalType": "struct Witnet.DataPushReport", "name": "_report", "type": "tuple" }, { "internalType": "bytes", "name": "_signature", "type": "bytes" } ], "name": "parseDataReport", "outputs": [ { "components": [ { "internalType": "enum Witnet.ResultStatus", "name": "status", "type": "uint8" }, { "internalType": "enum Witnet.RadonDataTypes", "name": "dataType", "type": "uint8" }, { "internalType": "Witnet.TransactionHash", "name": "drTxHash", "type": "bytes32" }, { "internalType": "uint256", "name": "finality", "type": "uint256" }, { "internalType": "Witnet.Timestamp", "name": "timestamp", "type": "uint64" }, { "components": [ { "components": [ { "internalType": "bytes", "name": "data", "type": "bytes" }, { "internalType": "uint256", "name": "cursor", "type": "uint256" } ], "internalType": "struct WitnetBuffer.Buffer", "name": "buffer", "type": "tuple" }, { "internalType": "uint8", "name": "initialByte", "type": "uint8" }, { "internalType": "uint8", "name": "majorType", "type": "uint8" }, { "internalType": "uint8", "name": "additionalInformation", "type": "uint8" }, { "internalType": "uint64", "name": "len", "type": "uint64" }, { "internalType": "uint64", "name": "tag", "type": "uint64" } ], "internalType": "struct WitnetCBOR.CBOR", "name": "value", "type": "tuple" } ], "internalType": "struct Witnet.DataResult", "name": "_result", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "Witnet.TransactionHash", "name": "witDrTxHash", "type": "bytes32" }, { "internalType": "Witnet.RadonHash", "name": "queryRadHash", "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" }, { "internalType": "Witnet.Timestamp", "name": "resultTimestamp", "type": "uint64" }, { "internalType": "bytes", "name": "resultCborBytes", "type": "bytes" } ], "internalType": "struct Witnet.DataPushReport", "name": "_report", "type": "tuple" }, { "internalType": "bytes", "name": "_signature", "type": "bytes" } ], "name": "pushDataReport", "outputs": [ { "components": [ { "internalType": "enum Witnet.ResultStatus", "name": "status", "type": "uint8" }, { "internalType": "enum Witnet.RadonDataTypes", "name": "dataType", "type": "uint8" }, { "internalType": "Witnet.TransactionHash", "name": "drTxHash", "type": "bytes32" }, { "internalType": "uint256", "name": "finality", "type": "uint256" }, { "internalType": "Witnet.Timestamp", "name": "timestamp", "type": "uint64" }, { "components": [ { "components": [ { "internalType": "bytes", "name": "data", "type": "bytes" }, { "internalType": "uint256", "name": "cursor", "type": "uint256" } ], "internalType": "struct WitnetBuffer.Buffer", "name": "buffer", "type": "tuple" }, { "internalType": "uint8", "name": "initialByte", "type": "uint8" }, { "internalType": "uint8", "name": "majorType", "type": "uint8" }, { "internalType": "uint8", "name": "additionalInformation", "type": "uint8" }, { "internalType": "uint64", "name": "len", "type": "uint64" }, { "internalType": "uint64", "name": "tag", "type": "uint64" } ], "internalType": "struct WitnetCBOR.CBOR", "name": "value", "type": "tuple" } ], "internalType": "struct Witnet.DataResult", "name": "", "type": "tuple" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "Witnet.Timestamp", "name": "timestamp", "type": "uint64" } ], "name": "determineBeaconIndexFromTimestamp", "outputs": [ { "internalType": "uint64", "name": "", "type": "uint64" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "Witnet.Timestamp", "name": "timestamp", "type": "uint64" } ], "name": "determineEpochFromTimestamp", "outputs": [ { "internalType": "Witnet.BlockNumber", "name": "", "type": "uint64" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "uint32", "name": "index", "type": "uint32" } ], "name": "getBeaconByIndex", "outputs": [ { "components": [ { "internalType": "uint32", "name": "index", "type": "uint32" }, { "internalType": "uint32", "name": "prevIndex", "type": "uint32" }, { "internalType": "bytes24", "name": "prevRoot", "type": "bytes24" }, { "internalType": "bytes16", "name": "ddrTalliesMerkleRoot", "type": "bytes16" }, { "internalType": "bytes16", "name": "droTalliesMerkleRoot", "type": "bytes16" }, { "internalType": "uint256[4]", "name": "nextCommitteeAggPubkey", "type": "uint256[4]" } ], "internalType": "struct Witnet.Beacon", "name": "", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getGenesisBeacon", "outputs": [ { "components": [ { "internalType": "uint32", "name": "index", "type": "uint32" }, { "internalType": "uint32", "name": "prevIndex", "type": "uint32" }, { "internalType": "bytes24", "name": "prevRoot", "type": "bytes24" }, { "internalType": "bytes16", "name": "ddrTalliesMerkleRoot", "type": "bytes16" }, { "internalType": "bytes16", "name": "droTalliesMerkleRoot", "type": "bytes16" }, { "internalType": "uint256[4]", "name": "nextCommitteeAggPubkey", "type": "uint256[4]" } ], "internalType": "struct Witnet.Beacon", "name": "", "type": "tuple" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "getLastKnownBeacon", "outputs": [ { "components": [ { "internalType": "uint32", "name": "index", "type": "uint32" }, { "internalType": "uint32", "name": "prevIndex", "type": "uint32" }, { "internalType": "bytes24", "name": "prevRoot", "type": "bytes24" }, { "internalType": "bytes16", "name": "ddrTalliesMerkleRoot", "type": "bytes16" }, { "internalType": "bytes16", "name": "droTalliesMerkleRoot", "type": "bytes16" }, { "internalType": "uint256[4]", "name": "nextCommitteeAggPubkey", "type": "uint256[4]" } ], "internalType": "struct Witnet.Beacon", "name": "", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getLastKnownBeaconIndex", "outputs": [ { "internalType": "uint32", "name": "", "type": "uint32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "components": [ { "components": [ { "internalType": "uint32", "name": "index", "type": "uint32" }, { "internalType": "uint32", "name": "prevIndex", "type": "uint32" }, { "internalType": "bytes24", "name": "prevRoot", "type": "bytes24" }, { "internalType": "bytes16", "name": "ddrTalliesMerkleRoot", "type": "bytes16" }, { "internalType": "bytes16", "name": "droTalliesMerkleRoot", "type": "bytes16" }, { "internalType": "uint256[4]", "name": "nextCommitteeAggPubkey", "type": "uint256[4]" } ], "internalType": "struct Witnet.Beacon", "name": "beacon", "type": "tuple" }, { "internalType": "uint256[2]", "name": "committeeAggSignature", "type": "uint256[2]" }, { "internalType": "uint256[4][]", "name": "committeeMissingPubkeys", "type": "uint256[4][]" } ], "internalType": "struct Witnet.FastForward[]", "name": "_witOracleRollup", "type": "tuple[]" } ], "name": "rollupBeacons", "outputs": [ { "components": [ { "internalType": "uint32", "name": "index", "type": "uint32" }, { "internalType": "uint32", "name": "prevIndex", "type": "uint32" }, { "internalType": "bytes24", "name": "prevRoot", "type": "bytes24" }, { "internalType": "bytes16", "name": "ddrTalliesMerkleRoot", "type": "bytes16" }, { "internalType": "bytes16", "name": "droTalliesMerkleRoot", "type": "bytes16" }, { "internalType": "uint256[4]", "name": "nextCommitteeAggPubkey", "type": "uint256[4]" } ], "internalType": "struct Witnet.Beacon", "name": "", "type": "tuple" } ], "stateMutability": "nonpayable", "type": "function" } ], "metadata": "{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"InvalidDataReport\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"prevIndex\",\"type\":\"uint32\"},{\"internalType\":\"bytes24\",\"name\":\"prevRoot\",\"type\":\"bytes24\"},{\"internalType\":\"bytes16\",\"name\":\"ddrTalliesMerkleRoot\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"droTalliesMerkleRoot\",\"type\":\"bytes16\"},{\"internalType\":\"uint256[4]\",\"name\":\"nextCommitteeAggPubkey\",\"type\":\"uint256[4]\"}],\"indexed\":false,\"internalType\":\"struct Witnet.Beacon\",\"name\":\"head\",\"type\":\"tuple\"}],\"name\":\"Rollup\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"evmOrigin\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"evmConsumer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"evmReporter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"Witnet.TransactionHash\",\"name\":\"witDrTxHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"Witnet.RadonHash\",\"name\":\"queryRadHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint16\",\"name\":\"witResultMaxSize\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"witCommitteeSize\",\"type\":\"uint16\"},{\"internalType\":\"uint64\",\"name\":\"witUnitaryReward\",\"type\":\"uint64\"}],\"indexed\":false,\"internalType\":\"struct Witnet.QuerySLA\",\"name\":\"queryParams\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"Witnet.Timestamp\",\"name\":\"resultTimestamp\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"resultCborBytes\",\"type\":\"bytes\"}],\"name\":\"WitOracleReport\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"channel\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"class\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Witnet.Timestamp\",\"name\":\"timestamp\",\"type\":\"uint64\"}],\"name\":\"determineBeaconIndexFromTimestamp\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Witnet.Timestamp\",\"name\":\"timestamp\",\"type\":\"uint64\"}],\"name\":\"determineEpochFromTimestamp\",\"outputs\":[{\"internalType\":\"Witnet.BlockNumber\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"}],\"name\":\"getBeaconByIndex\",\"outputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"prevIndex\",\"type\":\"uint32\"},{\"internalType\":\"bytes24\",\"name\":\"prevRoot\",\"type\":\"bytes24\"},{\"internalType\":\"bytes16\",\"name\":\"ddrTalliesMerkleRoot\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"droTalliesMerkleRoot\",\"type\":\"bytes16\"},{\"internalType\":\"uint256[4]\",\"name\":\"nextCommitteeAggPubkey\",\"type\":\"uint256[4]\"}],\"internalType\":\"struct Witnet.Beacon\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGenesisBeacon\",\"outputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"prevIndex\",\"type\":\"uint32\"},{\"internalType\":\"bytes24\",\"name\":\"prevRoot\",\"type\":\"bytes24\"},{\"internalType\":\"bytes16\",\"name\":\"ddrTalliesMerkleRoot\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"droTalliesMerkleRoot\",\"type\":\"bytes16\"},{\"internalType\":\"uint256[4]\",\"name\":\"nextCommitteeAggPubkey\",\"type\":\"uint256[4]\"}],\"internalType\":\"struct Witnet.Beacon\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLastKnownBeacon\",\"outputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"prevIndex\",\"type\":\"uint32\"},{\"internalType\":\"bytes24\",\"name\":\"prevRoot\",\"type\":\"bytes24\"},{\"internalType\":\"bytes16\",\"name\":\"ddrTalliesMerkleRoot\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"droTalliesMerkleRoot\",\"type\":\"bytes16\"},{\"internalType\":\"uint256[4]\",\"name\":\"nextCommitteeAggPubkey\",\"type\":\"uint256[4]\"}],\"internalType\":\"struct Witnet.Beacon\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLastKnownBeaconIndex\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"Witnet.TransactionHash\",\"name\":\"witDrTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"Witnet.RadonHash\",\"name\":\"queryRadHash\",\"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\"},{\"internalType\":\"Witnet.Timestamp\",\"name\":\"resultTimestamp\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"resultCborBytes\",\"type\":\"bytes\"}],\"internalType\":\"struct Witnet.DataPushReport\",\"name\":\"_report\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"_signature\",\"type\":\"bytes\"}],\"name\":\"parseDataReport\",\"outputs\":[{\"components\":[{\"internalType\":\"enum Witnet.ResultStatus\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"enum Witnet.RadonDataTypes\",\"name\":\"dataType\",\"type\":\"uint8\"},{\"internalType\":\"Witnet.TransactionHash\",\"name\":\"drTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"finality\",\"type\":\"uint256\"},{\"internalType\":\"Witnet.Timestamp\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"cursor\",\"type\":\"uint256\"}],\"internalType\":\"struct WitnetBuffer.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct WitnetCBOR.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.DataResult\",\"name\":\"_result\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"Witnet.TransactionHash\",\"name\":\"witDrTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"Witnet.RadonHash\",\"name\":\"queryRadHash\",\"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\"},{\"internalType\":\"Witnet.Timestamp\",\"name\":\"resultTimestamp\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"resultCborBytes\",\"type\":\"bytes\"}],\"internalType\":\"struct Witnet.DataPushReport\",\"name\":\"_report\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"_signature\",\"type\":\"bytes\"}],\"name\":\"pushDataReport\",\"outputs\":[{\"components\":[{\"internalType\":\"enum Witnet.ResultStatus\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"enum Witnet.RadonDataTypes\",\"name\":\"dataType\",\"type\":\"uint8\"},{\"internalType\":\"Witnet.TransactionHash\",\"name\":\"drTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"finality\",\"type\":\"uint256\"},{\"internalType\":\"Witnet.Timestamp\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"cursor\",\"type\":\"uint256\"}],\"internalType\":\"struct WitnetBuffer.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct WitnetCBOR.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.DataResult\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry\",\"outputs\":[{\"internalType\":\"contract IWitOracleRadonRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"prevIndex\",\"type\":\"uint32\"},{\"internalType\":\"bytes24\",\"name\":\"prevRoot\",\"type\":\"bytes24\"},{\"internalType\":\"bytes16\",\"name\":\"ddrTalliesMerkleRoot\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"droTalliesMerkleRoot\",\"type\":\"bytes16\"},{\"internalType\":\"uint256[4]\",\"name\":\"nextCommitteeAggPubkey\",\"type\":\"uint256[4]\"}],\"internalType\":\"struct Witnet.Beacon\",\"name\":\"beacon\",\"type\":\"tuple\"},{\"internalType\":\"uint256[2]\",\"name\":\"committeeAggSignature\",\"type\":\"uint256[2]\"},{\"internalType\":\"uint256[4][]\",\"name\":\"committeeMissingPubkeys\",\"type\":\"uint256[4][]\"}],\"internalType\":\"struct Witnet.FastForward[]\",\"name\":\"_witOracleRollup\",\"type\":\"tuple[]\"}],\"name\":\"rollupBeacons\",\"outputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"prevIndex\",\"type\":\"uint32\"},{\"internalType\":\"bytes24\",\"name\":\"prevRoot\",\"type\":\"bytes24\"},{\"internalType\":\"bytes16\",\"name\":\"ddrTalliesMerkleRoot\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"droTalliesMerkleRoot\",\"type\":\"bytes16\"},{\"internalType\":\"uint256[4]\",\"name\":\"nextCommitteeAggPubkey\",\"type\":\"uint256[4]\"}],\"internalType\":\"struct Witnet.Beacon\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"specs\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"The Witnet Foundation\",\"kind\":\"dev\",\"methods\":{},\"title\":\"Push-only WitOracle \\\"trustless\\\" base implementation.\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"channel()\":{\"notice\":\"Uniquely identifies the WitOracle instance and the chain on which it's deployed.\"},\"class()\":{\"notice\":\"Returns the name of the actual contract implementing the logic of this Witnet appliance.\"},\"registry()\":{\"notice\":\"Returns the WitOracleRadonRegistry in which Witnet-compliant Radon requestscan be formally verified and forever registered as a away to let smart contracts and users to track actual data sources and offchain computations applied on data updates safely reported from the Wit/Oracle blockchain. \"},\"specs()\":{\"notice\":\"Returns the ERC-165 id of the minimal functionality expected for this appliance.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/core/base/WitOracleBasePushOnlyTrustless.sol\":\"WitOracleBasePushOnlyTrustless\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"project:/contracts/WitOraclePushOnly.sol\":{\"keccak256\":\"0x659b4746c5a773b554b7a94bea3f55a995a8f850d750108302a8face9d1c833c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://291c6b4cd5c0f223ee63cc8cee2e228f47e1344a935eb89b6ef8f993eb5ce18e\",\"dweb:/ipfs/QmeKNLaVURv4N5jz5z67WQ4wyUUucqMaYLZQ2NnuuNyyPS\"]},\"project:/contracts/WitOracleRadonRegistry.sol\":{\"keccak256\":\"0xc9bd0ab02e13b36fe4072868ae978a230c5132a702d6594f11270ec5e7926e09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8321305b131abec96c492302163d95f8777106f74a0d42f5f50fdf60d2b3a381\",\"dweb:/ipfs/QmRx7FGWPkC41afPuJpBTDQ85wjH95Dbi3qAxVNfNZUsWe\"]},\"project:/contracts/core/base/WitOracleBasePushOnly.sol\":{\"keccak256\":\"0xdf4be00f732674d6a1a83fbb5801571690623a17b7388613af3a3debadf9ce2d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d9b4b8a611ed9186249e30fcaeecc1d7bbda50338e794d5b65865f885f20ec6e\",\"dweb:/ipfs/Qme8xqsdQqdyDuy1DYijquG6LGJHqRzyruZ1MR6hPJCxmY\"]},\"project:/contracts/core/base/WitOracleBasePushOnlyTrustless.sol\":{\"keccak256\":\"0x2429d61b79afa8ada733a6d6508fee4aff3b82dab8dd0ca8c41c513d2dbe8507\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://036ca07ef8a02a13ce8945293530b327472fc1255e767ec38ec983a785e57ba4\",\"dweb:/ipfs/QmUE4ZssSpeQzCA3d4aN7n2hcdzpaEu8DEBToyVKjQuokN\"]},\"project:/contracts/data/WitOracleDataLib.sol\":{\"keccak256\":\"0x879c513c3cac839300e954d5ffe61c14eaec3052b39898ec2402068169fddd55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63f58f4aa26e2a174fb5cee2fd9c06a10c337e6766b804e38bb4bbb3c3d4682d\",\"dweb:/ipfs/QmTjS8hws4VAd3S8dpNmX3zyV7oCF7xJ7AZTRJwrmbhSmi\"]},\"project:/contracts/data/WitOracleTrustlessDataLib.sol\":{\"keccak256\":\"0xe8a7bc0ec65380336ceb381c56afa6a3aff93bca34b4380a6c6d6faaeab16ae2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e0a4f80c9cae5ba779b8baa9a85feb2a948dd6d945002859405fd1fada34f809\",\"dweb:/ipfs/QmWGYMduHTbuvNE4p7JuVEBQXPzi8fHs1x7Gvqse2Upssa\"]},\"project:/contracts/interfaces/IWitAppliance.sol\":{\"keccak256\":\"0xd207ca54a1049445a3d99eea497d9b34c6dbdd44d771eee825e4c031bd2f447e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f81de32d868ff2881ed6fe97cc897e40b4b11d23cbe53a0e23cf3e68f9c0f0a3\",\"dweb:/ipfs/QmeeXmzmK5MAzt7Hf5DB2L81efKtTzZg9VbQ8sUiTqEk5c\"]},\"project:/contracts/interfaces/IWitOracle.sol\":{\"keccak256\":\"0x26cbe2074c0b3f545a46d95fad5e2280b67edcd958e4ae0b88f3a018aa11b805\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5324bac61f65e3edb01c88b9b75ca17affd593be88da5753a93b3f5304d3f479\",\"dweb:/ipfs/QmcVmNV6smbFiPaxvuN8ShkqbDZsT1wfjnF7f3qs6ke7QG\"]},\"project:/contracts/interfaces/IWitOracleQueriable.sol\":{\"keccak256\":\"0xdb0da1e377a35a7d620f43cb583a876750a52d91da2b888f48042483ad9c4910\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://edfcdf3e96ec3c5de7438f82e3d5a1dc9af9eb29080044213dccb26ff978354c\",\"dweb:/ipfs/Qmap2FzSysh2fug88eortbsTM7itFygRzKc9HfV43ePMik\"]},\"project:/contracts/interfaces/IWitOracleQueriableConsumer.sol\":{\"keccak256\":\"0xe8143d2387d674022f453b57652998f53cbe4c21fe35e59421428142355c8ebf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e6c3e3d3e7168a3fb75b1eca23d078d5240e5b02dac8a449d1ddf79256a34d8\",\"dweb:/ipfs/QmbGk4tQzTogTBVYiT8t3Gqtk6qDs5nyp9Z53GryTjKAm5\"]},\"project:/contracts/interfaces/IWitOracleQueriableEvents.sol\":{\"keccak256\":\"0x47c283e931006d35bd2599524f86724e45eae6fad2fdd9cdecd1c85a90ff3f8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3ad0520f99ec9298536ae9434f58caeb470c10dd3eaab1e4c7ed4cae9a97e2a2\",\"dweb:/ipfs/QmSuYCsSPweZfQc5Fbf9jYDdx4u7gwYCUdjhpcrrxmWZy6\"]},\"project:/contracts/interfaces/IWitOracleQueriableExperimental.sol\":{\"keccak256\":\"0x57c0007d813ed3e6dd3e0bb128e6ca7a0324214962823c6456e2e37d78ab4070\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b5edc498ccc728327f1f3c80d2decd7ca64920a3aee4faaba08dd354f1256b66\",\"dweb:/ipfs/QmdEJWUtQqTVdFLCiNKUPSe3NwXzuHmG6XzA1VbHHHgdPy\"]},\"project:/contracts/interfaces/IWitOracleQueriableTrustableReporter.sol\":{\"keccak256\":\"0x043a719845d75dccc3c7c046fdd214bb252ab2b85400fbd139ed5cea9469becc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b1be7cbf990ff4d383b1c0695626af794442f9a48f02e13435793c4316ff011\",\"dweb:/ipfs/QmX3Lq17FMsN2T9K4fAYg6CRTYjwHd6hT1XKjEA2T7QeM5\"]},\"project:/contracts/interfaces/IWitOracleRadonRegistry.sol\":{\"keccak256\":\"0x437bbb89129311bd1cc8f6becd333df46109ec53b24d3159be942b225614071f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef9bcdf4a73cb126885478c994821b7fe2b87d9221b767b4c9342b89b0d6550a\",\"dweb:/ipfs/QmXzZXPMxjSiFpcEnhg6CjLFNxGCpDZt22xpUh7VHxNTGd\"]},\"project:/contracts/interfaces/IWitOracleRadonRegistryEvents.sol\":{\"keccak256\":\"0x9bd30477aeb33de11c4f1df3cd7451452a90ffed1f6eabd9e643046bf1e60d66\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18fb38c5528ed2e1bf90ff8d123bf5a9523d0dc49f448d6c39ddad1cd9048d0a\",\"dweb:/ipfs/QmQq1RUwFgnGTk3xDAmN6u2WMPBzvjZNJc7TPYtG6aZfRn\"]},\"project:/contracts/interfaces/IWitOracleTrustableAdmin.sol\":{\"keccak256\":\"0x94b69b5a460d1407746ac70d32a0c5d4fca564b16cbd1940b822dd0ecb5336e9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a773b9d963647a5591b95c8fb359efd461dc494d1e3a1754cc83343310e07605\",\"dweb:/ipfs/QmU77Zre43r5sVj4DK2FjTda31zWgNDr9sGPug1dRv4ih6\"]},\"project:/contracts/interfaces/IWitOracleTrustless.sol\":{\"keccak256\":\"0x9220a2dd4736b37d909af59603b3d125758deb5d1845650aaa7c92cabd75f75b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65d224d9c72e077605427b87c1fa1b47de53b1835dd148a27c13e9eb5a620e6d\",\"dweb:/ipfs/Qmaz8y5E4c73Zw4y4Siy2J3oNuhw9M7v2s7uC9XLi6dZaw\"]},\"project:/contracts/interfaces/legacy/IWitOracleLegacy.sol\":{\"keccak256\":\"0xd2929c9aa5a02d261d6d1a068a6b7231ae58d8f81f081ba89f2d3267a31fbbb5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://956b26323a02cf400c32012586954fc5dbc98b4d5b7a8b0533401cbda8619059\",\"dweb:/ipfs/QmSWdCRwL5t3atFM8osdaohLTqEEmY1FbnR6xrRCmw1GDM\"]},\"project:/contracts/interfaces/legacy/IWitOracleRequest.sol\":{\"keccak256\":\"0x0fb3f0ba03f4f7a0214ecb36df26525564cf51a8a2176cba92c185af8a1d419e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://340b7bdb92c3259519fe120eb3061b393e7a5e9c1b576a2fe4eab020af466b64\",\"dweb:/ipfs/QmRt4wMX9WdxFwfdFMUZ3zKMAW1grS7qLk1x1PDMJdEAVU\"]},\"project:/contracts/interfaces/legacy/IWitOracleRequestTemplate.sol\":{\"keccak256\":\"0x9e065ef5880c64eefff5fcfb1347fde6684e0e311f8c2350a6aefdbd1f8b0f22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://817de760c7cce9d00dcd4312aea6434d88abddf1c0e68ea7e8fb1e6c5165a445\",\"dweb:/ipfs/QmUNmtn85nFXbje2nRJQY2h65KJCVinDMMU6P2jQmo1Nij\"]},\"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\"]},\"project:/contracts/patterns/Escrowable.sol\":{\"keccak256\":\"0xf0fdb82142f66323a1d419839ddcf67b51ac2faa418a2b364e0b2e4b5fdfbc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5123dc63b3d2f501eec6b9616db46833c155c1dca416bb58dbeb924558f8020\",\"dweb:/ipfs/QmakA3u4rqWpzeiKkUZxhnQotReaybCCDMkkJZFHyZVb1U\"]},\"project:/contracts/patterns/Payable.sol\":{\"keccak256\":\"0x29ce79b9329cc854ddb0ee546e5a17f3cedafa91c7d614f43e8d6537680b1734\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00d5ce85f66c3c32b8b69bfed2f07f40d14ac72c2f67d2de6601de0be16b5af1\",\"dweb:/ipfs/QmZogwLRBjFUJVSzR8YuMfo3mKg8WvYVbn2QvWXsCVP92V\"]}},\"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 \"./WitOracleBasePushOnly.sol\";\r\n\r\nimport \"../../data/WitOracleTrustlessDataLib.sol\";\r\nimport \"../../data/WitOracleDataLib.sol\";\r\n\r\n/// @title Push-only WitOracle \"trustless\" base implementation.\r\n/// @author The Witnet Foundation\r\nabstract contract WitOracleBasePushOnlyTrustless\r\n is \r\n WitOracleBasePushOnly,\r\n IWitOracleTrustless\r\n{\r\n using Witnet for Witnet.DataPushReport;\r\n\r\n constructor() {\r\n // store genesis beacon:\r\n WitOracleTrustlessDataLib.data().beacons[\r\n Witnet.WIT_2_GENESIS_BEACON_INDEX\r\n ] = Witnet.Beacon({\r\n index: Witnet.WIT_2_GENESIS_BEACON_INDEX,\r\n prevIndex: Witnet.WIT_2_GENESIS_BEACON_PREV_INDEX,\r\n prevRoot: Witnet.WIT_2_GENESIS_BEACON_PREV_ROOT,\r\n ddrTalliesMerkleRoot: Witnet.WIT_2_GENESIS_BEACON_DDR_TALLIES_MERKLE_ROOT,\r\n droTalliesMerkleRoot: Witnet.WIT_2_GENESIS_BEACON_DRO_TALLIES_MERKLE_ROOT,\r\n nextCommitteeAggPubkey: [\r\n Witnet.WIT_2_GENESIS_BEACON_NEXT_COMMITTEE_AGG_PUBKEY_0,\r\n Witnet.WIT_2_GENESIS_BEACON_NEXT_COMMITTEE_AGG_PUBKEY_1,\r\n Witnet.WIT_2_GENESIS_BEACON_NEXT_COMMITTEE_AGG_PUBKEY_2,\r\n Witnet.WIT_2_GENESIS_BEACON_NEXT_COMMITTEE_AGG_PUBKEY_3\r\n ]\r\n });\r\n }\r\n\r\n \r\n // ================================================================================================================\r\n // --- IWitOracle -------------------------------------------------------------------------------------------------\r\n\r\n function parseDataReport(Witnet.DataPushReport calldata _report, bytes calldata _signature)\r\n virtual override public view\r\n returns (Witnet.DataResult memory _result)\r\n {\r\n (, _result) = WitOracleDataLib.parseDataReport(_report, _signature);\r\n }\r\n\r\n function pushDataReport(Witnet.DataPushReport calldata _report, bytes calldata _signature)\r\n virtual override external\r\n returns (Witnet.DataResult memory)\r\n {\r\n (address _evmSigner, Witnet.DataResult memory _result) = WitOracleDataLib.parseDataReport(_report, _signature);\r\n emit WitOracleReport(\r\n tx.origin, \r\n msg.sender, \r\n _evmSigner, \r\n _report.witDrTxHash,\r\n _report.queryRadHash,\r\n _report.queryParams,\r\n _report.resultTimestamp,\r\n _report.resultCborBytes\r\n );\r\n return _result;\r\n }\r\n\r\n\r\n // ================================================================================================================\r\n // --- IWitOracleTrustless -------------------------------------------------------------------------------------------\r\n\r\n function determineBeaconIndexFromTimestamp(Witnet.Timestamp timestamp)\r\n virtual override\r\n external pure\r\n returns (uint64)\r\n {\r\n return Witnet.determineBeaconIndexFromTimestamp(timestamp);\r\n }\r\n \r\n function determineEpochFromTimestamp(Witnet.Timestamp timestamp)\r\n virtual override\r\n external pure\r\n returns (Witnet.BlockNumber)\r\n {\r\n return Witnet.determineEpochFromTimestamp(timestamp);\r\n }\r\n\r\n function getBeaconByIndex(uint32 index)\r\n virtual override\r\n public view\r\n returns (Witnet.Beacon memory)\r\n {\r\n return WitOracleTrustlessDataLib.seekBeacon(index);\r\n }\r\n\r\n function getGenesisBeacon() \r\n virtual override \r\n external pure\r\n returns (Witnet.Beacon memory)\r\n {\r\n return Witnet.Beacon({\r\n index: Witnet.WIT_2_GENESIS_BEACON_INDEX,\r\n prevIndex: Witnet.WIT_2_GENESIS_BEACON_PREV_INDEX,\r\n prevRoot: Witnet.WIT_2_GENESIS_BEACON_PREV_ROOT,\r\n ddrTalliesMerkleRoot: Witnet.WIT_2_GENESIS_BEACON_DDR_TALLIES_MERKLE_ROOT,\r\n droTalliesMerkleRoot: Witnet.WIT_2_GENESIS_BEACON_DRO_TALLIES_MERKLE_ROOT,\r\n nextCommitteeAggPubkey: [\r\n Witnet.WIT_2_GENESIS_BEACON_NEXT_COMMITTEE_AGG_PUBKEY_0,\r\n Witnet.WIT_2_GENESIS_BEACON_NEXT_COMMITTEE_AGG_PUBKEY_1,\r\n Witnet.WIT_2_GENESIS_BEACON_NEXT_COMMITTEE_AGG_PUBKEY_2,\r\n Witnet.WIT_2_GENESIS_BEACON_NEXT_COMMITTEE_AGG_PUBKEY_3\r\n ]\r\n });\r\n }\r\n\r\n function getLastKnownBeacon() \r\n virtual override\r\n public view\r\n returns (Witnet.Beacon memory)\r\n {\r\n return WitOracleTrustlessDataLib.getLastKnownBeacon();\r\n }\r\n\r\n function getLastKnownBeaconIndex()\r\n virtual override\r\n public view\r\n returns (uint32)\r\n {\r\n return uint32(WitOracleTrustlessDataLib.getLastKnownBeaconIndex());\r\n }\r\n\r\n function rollupBeacons(Witnet.FastForward[] calldata _witOracleRollup)\r\n virtual override public \r\n returns (Witnet.Beacon memory)\r\n {\r\n try WitOracleTrustlessDataLib.rollupBeacons(\r\n _witOracleRollup\r\n ) returns (\r\n Witnet.Beacon memory _witOracleHead\r\n ) {\r\n return _witOracleHead;\r\n \r\n } catch Error(string memory _reason) {\r\n _revert(_reason);\r\n \r\n } catch (bytes memory) {\r\n _revertUnhandledException();\r\n }\r\n }\r\n \r\n\r\n\r\n // ================================================================================================================\r\n // --- Internal functions -----------------------------------------------------------------------------------------\r\n\r\n function _revertUnhandledExceptionReason() \r\n virtual override internal pure returns (string memory)\r\n {\r\n return string(abi.encodePacked(\r\n type(WitOracleTrustlessDataLib).name,\r\n \": unhandled assertion\"\r\n ));\r\n }\r\n\r\n // /// Returns storage pointer to contents of 'WitOracleDataLib.Storage' struct.\r\n // function __storage() virtual internal pure returns (WitOracleDataLib.Storage storage _ptr) {\r\n // return WitOracleDataLib.data();\r\n // }\r\n}\r\n", "sourcePath": "C:\\Users\\guill\\github\\guidiaz\\witnet-solidity-bridge\\contracts\\core\\base\\WitOracleBasePushOnlyTrustless.sol", "ast": { "absolutePath": "project:/contracts/core/base/WitOracleBasePushOnlyTrustless.sol", "exportedSymbols": { "Bech32": [ 31372 ], "Escrowable": [ 45618 ], "IERC20": [ 493 ], "IWitAppliance": [ 26514 ], "IWitOracle": [ 26581 ], "IWitOracleLegacy": [ 28786 ], "IWitOracleQueriable": [ 26795 ], "IWitOracleQueriableConsumer": [ 26815 ], "IWitOracleQueriableEvents": [ 26892 ], "IWitOracleQueriableExperimental": [ 26964 ], "IWitOracleQueriableTrustableReporter": [ 27056 ], "IWitOracleRadonRegistry": [ 27394 ], "IWitOracleRadonRegistryEvents": [ 27414 ], "IWitOracleRequest": [ 28922 ], "IWitOracleRequestTemplate": [ 29115 ], "IWitOracleTrustableAdmin": [ 27628 ], "IWitOracleTrustless": [ 27689 ], "Payable": [ 45766 ], "Secp256k1": [ 32535 ], "WitOracleBasePushOnly": [ 9455 ], "WitOracleBasePushOnlyTrustless": [ 9936 ], "WitOracleDataLib": [ 20110 ], "WitOraclePushOnly": [ 701 ], "WitOracleRadonRegistry": [ 726 ], "WitOracleTrustlessDataLib": [ 22249 ], "Witnet": [ 40741 ], "WitnetBuffer": [ 42631 ], "WitnetCBOR": [ 44174 ] }, "id": 9937, "license": "