@etherisc/registry-contracts
Version:
Etherisc's smart contracts for the registry.
1,346 lines • 90.8 kB
JSON
{
"abi": [
{
"inputs": [],
"name": "blockNumber",
"outputs": [
{
"internalType": "Blocknumber",
"name": "",
"type": "uint32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "x",
"type": "uint256"
},
{
"internalType": "uint8",
"name": "shift",
"type": "uint8"
}
],
"name": "intToBytes",
"outputs": [
{
"internalType": "bytes",
"name": "",
"type": "bytes"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "ChainId",
"name": "x",
"type": "bytes5"
}
],
"name": "toInt",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "Blocknumber",
"name": "x",
"type": "uint32"
}
],
"name": "toInt",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "Timestamp",
"name": "x",
"type": "uint40"
}
],
"name": "toInt",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
}
],
"allSourcePaths": {
"42": "contracts/shared/BaseTypes.sol",
"43": "contracts/shared/IBaseTypes.sol"
},
"ast": {
"absolutePath": "contracts/shared/BaseTypes.sol",
"exportedSymbols": {
"BaseTypes": [
4443
],
"Blocknumber": [
4713
],
"ChainId": [
4447
],
"IBaseTypes": [
4753
],
"Timestamp": [
4530
]
},
"id": 4444,
"license": "Apache-2.0",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 4346,
"literals": [
"solidity",
"^",
"0.8",
".19"
],
"nodeType": "PragmaDirective",
"src": "39:24:42"
},
{
"absolutePath": "contracts/shared/IBaseTypes.sol",
"file": "./IBaseTypes.sol",
"id": 4351,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 4444,
"sourceUnit": 4754,
"src": "65:77:42",
"symbolAliases": [
{
"foreign": {
"id": 4347,
"name": "IBaseTypes",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4753,
"src": "73:10:42",
"typeDescriptions": {}
},
"nameLocation": "-1:-1:-1"
},
{
"foreign": {
"id": 4348,
"name": "ChainId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4447,
"src": "85:7:42",
"typeDescriptions": {}
},
"nameLocation": "-1:-1:-1"
},
{
"foreign": {
"id": 4349,
"name": "Blocknumber",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4713,
"src": "94:11:42",
"typeDescriptions": {}
},
"nameLocation": "-1:-1:-1"
},
{
"foreign": {
"id": 4350,
"name": "Timestamp",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4530,
"src": "107:9:42",
"typeDescriptions": {}
},
"nameLocation": "-1:-1:-1"
}
],
"unitAlias": ""
},
{
"abstract": false,
"baseContracts": [
{
"baseName": {
"id": 4352,
"name": "IBaseTypes",
"nameLocations": [
"167:10:42"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 4753,
"src": "167:10:42"
},
"id": 4353,
"nodeType": "InheritanceSpecifier",
"src": "167:10:42"
}
],
"canonicalName": "BaseTypes",
"contractDependencies": [],
"contractKind": "contract",
"fullyImplemented": true,
"id": 4443,
"linearizedBaseContracts": [
4443,
4753
],
"name": "BaseTypes",
"nameLocation": "154:9:42",
"nodeType": "ContractDefinition",
"nodes": [
{
"baseFunctions": [
4722
],
"body": {
"id": 4373,
"nodeType": "Block",
"src": "272:60:42",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 4369,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 4367,
"name": "x",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4355,
"src": "313:1:42",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "<<",
"rightExpression": {
"id": 4368,
"name": "shift",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4357,
"src": "318:5:42",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"src": "313:10:42",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"id": 4366,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "306:6:42",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_uint16_$",
"typeString": "type(uint16)"
},
"typeName": {
"id": 4365,
"name": "uint16",
"nodeType": "ElementaryTypeName",
"src": "306:6:42",
"typeDescriptions": {}
}
},
"id": 4370,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "306:18:42",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint16",
"typeString": "uint16"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint16",
"typeString": "uint16"
}
],
"expression": {
"id": 4363,
"name": "abi",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -1,
"src": "289:3:42",
"typeDescriptions": {
"typeIdentifier": "t_magic_abi",
"typeString": "abi"
}
},
"id": 4364,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberLocation": "293:12:42",
"memberName": "encodePacked",
"nodeType": "MemberAccess",
"src": "289:16:42",
"typeDescriptions": {
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
"typeString": "function () pure returns (bytes memory)"
}
},
"id": 4371,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "289:36:42",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
"functionReturnParameters": 4362,
"id": 4372,
"nodeType": "Return",
"src": "282:43:42"
}
]
},
"functionSelector": "1080d895",
"id": 4374,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "intToBytes",
"nameLocation": "194:10:42",
"nodeType": "FunctionDefinition",
"overrides": {
"id": 4359,
"nodeType": "OverrideSpecifier",
"overrides": [],
"src": "236:8:42"
},
"parameters": {
"id": 4358,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 4355,
"mutability": "mutable",
"name": "x",
"nameLocation": "213:1:42",
"nodeType": "VariableDeclaration",
"scope": 4374,
"src": "205:9:42",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 4354,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "205:7:42",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 4357,
"mutability": "mutable",
"name": "shift",
"nameLocation": "222:5:42",
"nodeType": "VariableDeclaration",
"scope": 4374,
"src": "216:11:42",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
"id": 4356,
"name": "uint8",
"nodeType": "ElementaryTypeName",
"src": "216:5:42",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"visibility": "internal"
}
],
"src": "204:24:42"
},
"returnParameters": {
"id": 4362,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 4361,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 4374,
"src": "258:12:42",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 4360,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "258:5:42",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"visibility": "internal"
}
],
"src": "257:14:42"
},
"scope": 4443,
"src": "185:147:42",
"stateMutability": "pure",
"virtual": false,
"visibility": "public"
},
{
"baseFunctions": [
4730
],
"body": {
"id": 4388,
"nodeType": "Block",
"src": "403:33:42",
"statements": [
{
"expression": {
"arguments": [
{
"id": 4385,
"name": "x",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4377,
"src": "431:1:42",
"typeDescriptions": {
"typeIdentifier": "t_userDefinedValueType$_Blocknumber_$4713",
"typeString": "Blocknumber"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_userDefinedValueType$_Blocknumber_$4713",
"typeString": "Blocknumber"
}
],
"expression": {
"id": 4383,
"name": "Blocknumber",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4713,
"src": "412:11:42",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_userDefinedValueType$_Blocknumber_$4713_$",
"typeString": "type(Blocknumber)"
}
},
"id": 4384,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberLocation": "424:6:42",
"memberName": "unwrap",
"nodeType": "MemberAccess",
"src": "412:18:42",
"typeDescriptions": {
"typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Blocknumber_$4713_$returns$_t_uint32_$",
"typeString": "function (Blocknumber) pure returns (uint32)"
}
},
"id": 4386,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "412:21:42",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
"functionReturnParameters": 4382,
"id": 4387,
"nodeType": "Return",
"src": "405:28:42"
}
]
},
"functionSelector": "6effeac4",
"id": 4389,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "toInt",
"nameLocation": "347:5:42",
"nodeType": "FunctionDefinition",
"overrides": {
"id": 4379,
"nodeType": "OverrideSpecifier",
"overrides": [],
"src": "375:8:42"
},
"parameters": {
"id": 4378,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 4377,
"mutability": "mutable",
"name": "x",
"nameLocation": "365:1:42",
"nodeType": "VariableDeclaration",
"scope": 4389,
"src": "353:13:42",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_userDefinedValueType$_Blocknumber_$4713",
"typeString": "Blocknumber"
},
"typeName": {
"id": 4376,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 4375,
"name": "Blocknumber",
"nameLocations": [
"353:11:42"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 4713,
"src": "353:11:42"
},
"referencedDeclaration": 4713,
"src": "353:11:42",
"typeDescriptions": {
"typeIdentifier": "t_userDefinedValueType$_Blocknumber_$4713",
"typeString": "Blocknumber"
}
},
"visibility": "internal"
}
],
"src": "352:15:42"
},
"returnParameters": {
"id": 4382,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 4381,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 4389,
"src": "397:4:42",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 4380,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "397:4:42",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "396:6:42"
},
"scope": 4443,
"src": "338:98:42",
"stateMutability": "pure",
"virtual": false,
"visibility": "public"
},
{
"baseFunctions": [
4738
],
"body": {
"id": 4403,
"nodeType": "Block",
"src": "504:31:42",
"statements": [
{
"expression": {
"arguments": [
{
"id": 4400,
"name": "x",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4392,
"src": "530:1:42",
"typeDescriptions": {
"typeIdentifier": "t_userDefinedValueType$_Timestamp_$4530",
"typeString": "Timestamp"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_userDefinedValueType$_Timestamp_$4530",
"typeString": "Timestamp"
}
],
"expression": {
"id": 4398,
"name": "Timestamp",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4530,
"src": "513:9:42",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_userDefinedValueType$_Timestamp_$4530_$",
"typeString": "type(Timestamp)"
}
},
"id": 4399,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberLocation": "523:6:42",
"memberName": "unwrap",
"nodeType": "MemberAccess",
"src": "513:16:42",
"typeDescriptions": {
"typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Timestamp_$4530_$returns$_t_uint40_$",
"typeString": "function (Timestamp) pure returns (uint40)"
}
},
"id": 4401,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "513:19:42",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint40",
"typeString": "uint40"
}
},
"functionReturnParameters": 4397,
"id": 4402,
"nodeType": "Return",
"src": "506:26:42"
}
]
},
"functionSelector": "da09d484",
"id": 4404,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "toInt",
"nameLocation": "450:5:42",
"nodeType": "FunctionDefinition",
"overrides": {
"id": 4394,
"nodeType": "OverrideSpecifier",
"overrides": [],
"src": "476:8:42"
},
"parameters": {
"id": 4393,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 4392,
"mutability": "mutable",
"name": "x",
"nameLocation": "466:1:42",
"nodeType": "VariableDeclaration",
"scope": 4404,
"src": "456:11:42",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_userDefinedValueType$_Timestamp_$4530",
"typeString": "Timestamp"
},
"typeName": {
"id": 4391,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 4390,
"name": "Timestamp",
"nameLocations": [
"456:9:42"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 4530,
"src": "456:9:42"
},
"referencedDeclaration": 4530,
"src": "456:9:42",
"typeDescriptions": {
"typeIdentifier": "t_userDefinedValueType$_Timestamp_$4530",
"typeString": "Timestamp"
}
},
"visibility": "internal"
}
],
"src": "455:13:42"
},
"returnParameters": {
"id": 4397,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 4396,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 4404,
"src": "498:4:42",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 4395,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "498:4:42",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "497:6:42"
},
"scope": 4443,
"src": "441:94:42",
"stateMutability": "pure",
"virtual": false,
"visibility": "public"
},
{
"baseFunctions": [
4746
],
"body": {
"id": 4424,
"nodeType": "Block",
"src": "601:43:42",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"id": 4419,
"name": "x",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4407,
"src": "637:1:42",
"typeDescriptions": {
"typeIdentifier": "t_userDefinedValueType$_ChainId_$4447",
"typeString": "ChainId"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_userDefinedValueType$_ChainId_$4447",
"typeString": "ChainId"
}
],
"expression": {
"id": 4417,
"name": "ChainId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4447,
"src": "622:7:42",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_userDefinedValueType$_ChainId_$4447_$",
"typeString": "type(ChainId)"
}
},
"id": 4418,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberLocation": "630:6:42",
"memberName": "unwrap",
"nodeType": "MemberAccess",
"src": "622:14:42",
"typeDescriptions": {
"typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_ChainId_$4447_$returns$_t_bytes5_$",
"typeString": "function (ChainId) pure returns (bytes5)"
}
},
"id": 4420,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "622:17:42",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes5",
"typeString": "bytes5"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes5",
"typeString": "bytes5"
}
],
"id": 4416,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "615:6:42",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_uint40_$",
"typeString": "type(uint40)"
},
"typeName": {
"id": 4415,
"name": "uint40",
"nodeType": "ElementaryTypeName",
"src": "615:6:42",
"typeDescriptions": {}
}
},
"id": 4421,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "615:25:42",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint40",
"typeString": "uint40"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint40",
"typeString": "uint40"
}
],
"id": 4414,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "610:4:42",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_uint256_$",
"typeString": "type(uint256)"
},
"typeName": {
"id": 4413,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "610:4:42",
"typeDescriptions": {}
}
},
"id": 4422,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "610:31:42",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"functionReturnParameters": 4412,
"id": 4423,
"nodeType": "Return",
"src": "603:38:42"
}
]
},
"functionSelector": "66362612",
"id": 4425,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "toInt",
"nameLocation": "549:5:42",
"nodeType": "FunctionDefinition",
"overrides": {
"id": 4409,
"nodeType": "OverrideSpecifier",
"overrides": [],
"src": "573:8:42"
},
"parameters": {
"id": 4408,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 4407,
"mutability": "mutable",
"name": "x",
"nameLocation": "563:1:42",
"nodeType": "VariableDeclaration",
"scope": 4425,
"src": "555:9:42",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_userDefinedValueType$_ChainId_$4447",
"typeString": "ChainId"
},
"typeName": {
"id": 4406,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 4405,
"name": "ChainId",
"nameLocations": [
"555:7:42"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 4447,
"src": "555:7:42"
},
"referencedDeclaration": 4447,
"src": "555:7:42",
"typeDescriptions": {
"typeIdentifier": "t_userDefinedValueType$_ChainId_$4447",
"typeString": "ChainId"
}
},
"visibility": "internal"
}
],
"src": "554:11:42"
},
"returnParameters": {
"id": 4412,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 4411,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 4425,
"src": "595:4:42",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 4410,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "595:4:42",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "594:6:42"
},
"scope": 4443,
"src": "540:104:42",
"stateMutability": "pure",
"virtual": false,
"visibility": "public"
},
{
"baseFunctions": [
4752
],
"body": {
"id": 4441,
"nodeType": "Block",
"src": "715:62:42",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"expression": {
"id": 4436,
"name": "block",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -4,
"src": "756:5:42",
"typeDescriptions": {
"typeIdentifier": "t_magic_block",
"typeString": "block"
}
},
"id": 4437,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "762:6:42",
"memberName": "number",
"nodeType": "MemberAccess",
"src": "756:12:42",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"id": 4435,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "749:6:42",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_uint32_$",
"typeString": "type(uint32)"
},
"typeName": {
"id": 4434,
"name": "uint32",
"nodeType": "ElementaryTypeName",
"src": "749:6:42",
"typeDescriptions": {}
}
},
"id": 4438,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "749:20:42",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
],
"expression": {
"id": 4432,
"name": "Blocknumber",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4713,
"src": "732:11:42",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_userDefinedValueType$_Blocknumber_$4713_$",
"typeString": "type(Blocknumber)"
}
},
"id": 4433,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberLocation": "744:4:42",
"memberName": "wrap",
"nodeType": "MemberAccess",
"src": "732:16:42",
"typeDescriptions": {
"typeIdentifier": "t_function_wrap_pure$_t_uint32_$returns$_t_userDefinedValueType$_Blocknumber_$4713_$",
"typeString": "function (uint32) pure returns (Blocknumber)"
}
},
"id": 4439,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "732:38:42",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_userDefinedValueType$_Blocknumber_$4713",
"typeString": "Blocknumber"
}
},
"functionReturnParameters": 4431,
"id": 4440,
"nodeType": "Return",
"src": "725:45:42"
}
]
},
"functionSelector": "57e871e7",
"id": 4442,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "blockNumber",
"nameLocation": "659:11:42",
"nodeType": "FunctionDefinition",
"overrides": {
"id": 4427,
"nodeType": "OverrideSpecifier",
"overrides": [],
"src": "680:8:42"
},
"parameters": {
"id": 4426,
"nodeType": "ParameterList",
"parameters": [],
"src": "670:2:42"
},
"returnParameters": {
"id": 4431,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 4430,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 4442,
"src": "702:11:42",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_userDefinedValueType$_Blocknumber_$4713",
"typeString": "Blocknumber"
},
"typeName": {
"id": 4429,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 4428,
"name": "Blocknumber",
"nameLocations": [
"702:11:42"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 4713,
"src": "702:11:42"
},
"referencedDeclaration": 4713,
"src": "702:11:42",
"typeDescriptions": {
"typeIdentifier": "t_userDefinedValueType$_Blocknumber_$4713",
"typeString": "Blocknumber"
}
},
"visibility": "internal"
}
],
"src": "701:13:42"
},
"scope": 4443,
"src": "650:127:42",
"stateMutability": "view",
"virtual": false,
"visibility": "public"
}
],
"scope": 4444,
"src": "145:634:42",
"usedErrors": []
}
],
"src": "39:740:42"
},
"bytecode": "608060405234801561001057600080fd5b50610252806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80631080d8951461005c57806357e871e7146100b557806366362612146100c95780636effeac4146100eb578063da09d48414610102575b600080fd5b61009f61006a36600461011a565b6040805160ff929092169290921b60f01b6001600160f01b031916602082015281516002818303018152602290910190915290565b6040516100ac9190610150565b60405180910390f35b60405163ffffffff431681526020016100ac565b6100dd6100d736600461019e565b60d81c90565b6040519081526020016100ac565b6100dd6100f93660046101cf565b63ffffffff1690565b6100dd6101103660046101f5565b64ffffffffff1690565b6000806040838503121561012d57600080fd5b82359150602083013560ff8116811461014557600080fd5b809150509250929050565b600060208083528351808285015260005b8181101561017d57858101830151858201604001528201610161565b506000604082860101526040601f19601f8301168501019250505092915050565b6000602082840312156101b057600080fd5b8135600