UNPKG

witnet-solidity-bridge

Version:

Witnet Solidity Bridge contracts for EVM-compatible chains

1,096 lines 43.5 kB
{ "contractName": "IWitOracleTrustless", "abi": [ { "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" }, { "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": "ff", "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\":[{\"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\"},{\"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\":\"ff\",\"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\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/interfaces/IWitOracleTrustless.sol\":\"IWitOracleTrustless\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/contracts/interfaces/IWitOracleTrustless.sol\":{\"keccak256\":\"0x9220a2dd4736b37d909af59603b3d125758deb5d1845650aaa7c92cabd75f75b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65d224d9c72e077605427b87c1fa1b47de53b1835dd148a27c13e9eb5a620e6d\",\"dweb:/ipfs/Qmaz8y5E4c73Zw4y4Siy2J3oNuhw9M7v2s7uC9XLi6dZaw\"]},\"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 IWitOracleTrustless {\r\n\r\n event Rollup(Witnet.Beacon head);\r\n\r\n function determineBeaconIndexFromTimestamp(Witnet.Timestamp timestamp) external pure returns (uint64);\r\n function determineEpochFromTimestamp(Witnet.Timestamp timestamp) external pure returns (Witnet.BlockNumber);\r\n\r\n function getBeaconByIndex(uint32 index) external view returns (Witnet.Beacon memory);\r\n function getGenesisBeacon() external pure returns (Witnet.Beacon memory);\r\n function getLastKnownBeacon() external view returns (Witnet.Beacon memory);\r\n function getLastKnownBeaconIndex() external view returns (uint32);\r\n\r\n function rollupBeacons(Witnet.FastForward[] calldata ff) external returns (Witnet.Beacon memory);\r\n}\r\n", "sourcePath": "C:\\Users\\guill\\github\\guidiaz\\witnet-solidity-bridge\\contracts\\interfaces\\IWitOracleTrustless.sol", "ast": { "absolutePath": "project:/contracts/interfaces/IWitOracleTrustless.sol", "exportedSymbols": { "Bech32": [ 31372 ], "IWitOracleTrustless": [ 27689 ], "Secp256k1": [ 32535 ], "Witnet": [ 40741 ], "WitnetBuffer": [ 42631 ], "WitnetCBOR": [ 44174 ] }, "id": 27690, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { "id": 27630, "literals": [ "solidity", ">=", "0.8", ".0", "<", "0.9", ".0" ], "nodeType": "PragmaDirective", "src": "35:31:79" }, { "absolutePath": "project:/contracts/libs/Witnet.sol", "file": "../libs/Witnet.sol", "id": 27631, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 27690, "sourceUnit": 40742, "src": "70:28:79", "symbolAliases": [], "unitAlias": "" }, { "abstract": false, "baseContracts": [], "canonicalName": "IWitOracleTrustless", "contractDependencies": [], "contractKind": "interface", "fullyImplemented": false, "id": 27689, "linearizedBaseContracts": [ 27689 ], "name": "IWitOracleTrustless", "nameLocation": "112:19:79", "nodeType": "ContractDefinition", "nodes": [ { "anonymous": false, "eventSelector": "a6c87e90e325ce88c911f114881deb39dabb89e1ba9bf11a1a8e0ca8de94798a", "id": 27636, "name": "Rollup", "nameLocation": "147:6:79", "nodeType": "EventDefinition", "parameters": { "id": 27635, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 27634, "indexed": false, "mutability": "mutable", "name": "head", "nameLocation": "168:4:79", "nodeType": "VariableDeclaration", "scope": 27636, "src": "154:18:79", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_struct$_Beacon_$37242_memory_ptr", "typeString": "struct Witnet.Beacon" }, "typeName": { "id": 27633, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 27632, "name": "Witnet.Beacon", "nameLocations": [ "154:6:79", "161:6:79" ], "nodeType": "IdentifierPath", "referencedDeclaration": 37242, "src": "154:13:79" }, "referencedDeclaration": 37242, "src": "154:13:79", "typeDescriptions": { "typeIdentifier": "t_struct$_Beacon_$37242_storage_ptr", "typeString": "struct Witnet.Beacon" } }, "visibility": "internal" } ], "src": "153:20:79" }, "src": "141:33:79" }, { "functionSelector": "17d298d0", "id": 27644, "implemented": false, "kind": "function", "modifiers": [], "name": "determineBeaconIndexFromTimestamp", "nameLocation": "191:33:79", "nodeType": "FunctionDefinition", "parameters": { "id": 27640, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 27639, "mutability": "mutable", "name": "timestamp", "nameLocation": "242:9:79", "nodeType": "VariableDeclaration", "scope": 27644, "src": "225:26:79", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157", "typeString": "Witnet.Timestamp" }, "typeName": { "id": 27638, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 27637, "name": "Witnet.Timestamp", "nameLocations": [ "225:6:79", "232:9:79" ], "nodeType": "IdentifierPath", "referencedDeclaration": 37157, "src": "225:16:79" }, "referencedDeclaration": 37157, "src": "225:16:79", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157", "typeString": "Witnet.Timestamp" } }, "visibility": "internal" } ], "src": "224:28:79" }, "returnParameters": { "id": 27643, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 27642, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 27644, "src": "276:6:79", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" }, "typeName": { "id": 27641, "name": "uint64", "nodeType": "ElementaryTypeName", "src": "276:6:79", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" } }, "visibility": "internal" } ], "src": "275:8:79" }, "scope": 27689, "src": "182:102:79", "stateMutability": "pure", "virtual": false, "visibility": "external" }, { "functionSelector": "0f884886", "id": 27653, "implemented": false, "kind": "function", "modifiers": [], "name": "determineEpochFromTimestamp", "nameLocation": "299:27:79", "nodeType": "FunctionDefinition", "parameters": { "id": 27648, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 27647, "mutability": "mutable", "name": "timestamp", "nameLocation": "344:9:79", "nodeType": "VariableDeclaration", "scope": 27653, "src": "327:26:79", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157", "typeString": "Witnet.Timestamp" }, "typeName": { "id": 27646, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 27645, "name": "Witnet.Timestamp", "nameLocations": [ "327:6:79", "334:9:79" ], "nodeType": "IdentifierPath", "referencedDeclaration": 37157, "src": "327:16:79" }, "referencedDeclaration": 37157, "src": "327:16:79", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157", "typeString": "Witnet.Timestamp" } }, "visibility": "internal" } ], "src": "326:28:79" }, "returnParameters": { "id": 27652, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 27651, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 27653, "src": "378:18:79", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_BlockNumber_$37145", "typeString": "Witnet.BlockNumber" }, "typeName": { "id": 27650, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 27649, "name": "Witnet.BlockNumber", "nameLocations": [ "378:6:79", "385:11:79" ], "nodeType": "IdentifierPath", "referencedDeclaration": 37145, "src": "378:18:79" }, "referencedDeclaration": 37145, "src": "378:18:79", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_BlockNumber_$37145", "typeString": "Witnet.BlockNumber" } }, "visibility": "internal" } ], "src": "377:20:79" }, "scope": 27689, "src": "290:108:79", "stateMutability": "pure", "virtual": false, "visibility": "external" }, { "functionSelector": "47ad9e69", "id": 27661, "implemented": false, "kind": "function", "modifiers": [], "name": "getBeaconByIndex", "nameLocation": "415:16:79", "nodeType": "FunctionDefinition", "parameters": { "id": 27656, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 27655, "mutability": "mutable", "name": "index", "nameLocation": "439:5:79", "nodeType": "VariableDeclaration", "scope": 27661, "src": "432:12:79", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" }, "typeName": { "id": 27654, "name": "uint32", "nodeType": "ElementaryTypeName", "src": "432:6:79", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } }, "visibility": "internal" } ], "src": "431:14:79" }, "returnParameters": { "id": 27660, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 27659, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 27661, "src": "469:20:79", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_struct$_Beacon_$37242_memory_ptr", "typeString": "struct Witnet.Beacon" }, "typeName": { "id": 27658, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 27657, "name": "Witnet.Beacon", "nameLocations": [ "469:6:79", "476:6:79" ], "nodeType": "IdentifierPath", "referencedDeclaration": 37242, "src": "469:13:79" }, "referencedDeclaration": 37242, "src": "469:13:79", "typeDescriptions": { "typeIdentifier": "t_struct$_Beacon_$37242_storage_ptr", "typeString": "struct Witnet.Beacon" } }, "visibility": "internal" } ], "src": "468:22:79" }, "scope": 27689, "src": "406:85:79", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "functionSelector": "d4038ac6", "id": 27667, "implemented": false, "kind": "function", "modifiers": [], "name": "getGenesisBeacon", "nameLocation": "506:16:79", "nodeType": "FunctionDefinition", "parameters": { "id": 27662, "nodeType": "ParameterList", "parameters": [], "src": "522:2:79" }, "returnParameters": { "id": 27666, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 27665, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 27667, "src": "548:20:79", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_struct$_Beacon_$37242_memory_ptr", "typeString": "struct Witnet.Beacon" }, "typeName": { "id": 27664, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 27663, "name": "Witnet.Beacon", "nameLocations": [ "548:6:79", "555:6:79" ], "nodeType": "IdentifierPath", "referencedDeclaration": 37242, "src": "548:13:79" }, "referencedDeclaration": 37242, "src": "548:13:79", "typeDescriptions": { "typeIdentifier": "t_struct$_Beacon_$37242_storage_ptr", "typeString": "struct Witnet.Beacon" } }, "visibility": "internal" } ], "src": "547:22:79" }, "scope": 27689, "src": "497:73:79", "stateMutability": "pure", "virtual": false, "visibility": "external" }, { "functionSelector": "8bfabb4f", "id": 27673, "implemented": false, "kind": "function", "modifiers": [], "name": "getLastKnownBeacon", "nameLocation": "585:18:79", "nodeType": "FunctionDefinition", "parameters": { "id": 27668, "nodeType": "ParameterList", "parameters": [], "src": "603:2:79" }, "returnParameters": { "id": 27672, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 27671, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 27673, "src": "629:20:79", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_struct$_Beacon_$37242_memory_ptr", "typeString": "struct Witnet.Beacon" }, "typeName": { "id": 27670, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 27669, "name": "Witnet.Beacon", "nameLocations": [ "629:6:79", "636:6:79" ], "nodeType": "IdentifierPath", "referencedDeclaration": 37242, "src": "629:13:79" }, "referencedDeclaration": 37242, "src": "629:13:79", "typeDescriptions": { "typeIdentifier": "t_struct$_Beacon_$37242_storage_ptr", "typeString": "struct Witnet.Beacon" } }, "visibility": "internal" } ], "src": "628:22:79" }, "scope": 27689, "src": "576:75:79", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "functionSelector": "fe52e05f", "id": 27678, "implemented": false, "kind": "function", "modifiers": [], "name": "getLastKnownBeaconIndex", "nameLocation": "666:23:79", "nodeType": "FunctionDefinition", "parameters": { "id": 27674, "nodeType": "ParameterList", "parameters": [], "src": "689:2:79" }, "returnParameters": { "id": 27677, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 27676, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 27678, "src": "715:6:79", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" }, "typeName": { "id": 27675, "name": "uint32", "nodeType": "ElementaryTypeName", "src": "715:6:79", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } }, "visibility": "internal" } ], "src": "714:8:79" }, "scope": 27689, "src": "657:66:79", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "functionSelector": "05760031", "id": 27688, "implemented": false, "kind": "function", "modifiers": [], "name": "rollupBeacons", "nameLocation": "740:13:79", "nodeType": "FunctionDefinition", "parameters": { "id": 27683, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 27682, "mutability": "mutable", "name": "ff", "nameLocation": "784:2:79", "nodeType": "VariableDeclaration", "scope": 27688, "src": "754:32:79", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_FastForward_$37306_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct Witnet.FastForward[]" }, "typeName": { "baseType": { "id": 27680, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 27679, "name": "Witnet.FastForward", "nameLocations": [ "754:6:79", "761:11:79" ], "nodeType": "IdentifierPath", "referencedDeclaration": 37306, "src": "754:18:79" }, "referencedDeclaration": 37306, "src": "754:18:79", "typeDescriptions": { "typeIdentifier": "t_struct$_FastForward_$37306_storage_ptr", "typeString": "struct Witnet.FastForward" } }, "id": 27681, "nodeType": "ArrayTypeName", "src": "754:20:79", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_FastForward_$37306_storage_$dyn_storage_ptr", "typeString": "struct Witnet.FastForward[]" } }, "visibility": "internal" } ], "src": "753:34:79" }, "returnParameters": { "id": 27687, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 27686, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 27688, "src": "806:20:79", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_struct$_Beacon_$37242_memory_ptr", "typeString": "struct Witnet.Beacon" }, "typeName": { "id": 27685, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 27684, "name": "Witnet.Beacon", "nameLocations": [ "806:6:79", "813:6:79" ], "nodeType": "IdentifierPath", "referencedDeclaration": 37242, "src": "806:13:79" }, "referencedDeclaration": 37242, "src": "806:13:79", "typeDescriptions": { "typeIdentifier": "t_struct$_Beacon_$37242_storage_ptr", "typeString": "struct Witnet.Beacon" } }, "visibility": "internal" } ], "src": "805:22:79" }, "scope": 27689, "src": "731:97:79", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" } ], "scope": 27690, "src": "102:729:79", "usedErrors": [], "usedEvents": [ 27636 ] } ], "src": "35:798:79" }, "compiler": { "name": "solc", "version": "0.8.30+commit.73712a01.Emscripten.clang" }, "networks": {}, "schemaVersion": "3.4.16", "updatedAt": "2025-10-15T14:34:45.908Z", "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }