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