@aragon/apps-payroll
Version:
_**Code in Github:**_ [aragon-apps/apps/payroll](https://github.com/aragon/aragon-apps/tree/master/future-apps/payroll)
1,234 lines (1,233 loc) • 95.3 kB
JSON
{
"contractName": "Initializable",
"abi": [
{
"constant": true,
"inputs": [],
"name": "getInitializationBlock",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "hasInitialized",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
}
],
"bytecode": "0x608060405234801561001057600080fd5b5061011d806100206000396000f30060806040526004361060485763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630803fac08114604d5780638b3dd749146073575b600080fd5b348015605857600080fd5b50605f6097565b604080519115158252519081900360200190f35b348015607e57600080fd5b50608560bb565b60408051918252519081900360200190f35b60008060a060bb565b9050801580159060b557508060b260e9565b10155b91505090565b600060e47febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e60ed565b905090565b4390565b54905600a165627a7a723058209ea8a7ae713814a009edd235bf06e94a62bf6dc234ce2ef1c9179474e51d1bee0029",
"deployedBytecode": "0x60806040526004361060485763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630803fac08114604d5780638b3dd749146073575b600080fd5b348015605857600080fd5b50605f6097565b604080519115158252519081900360200190f35b348015607e57600080fd5b50608560bb565b60408051918252519081900360200190f35b60008060a060bb565b9050801580159060b557508060b260e9565b10155b91505090565b600060e47febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e60ed565b905090565b4390565b54905600a165627a7a723058209ea8a7ae713814a009edd235bf06e94a62bf6dc234ce2ef1c9179474e51d1bee0029",
"sourceMap": "136:1758:32:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;136:1758:32;;;;;;;",
"deployedSourceMap": "136:1758:32:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;1128:208;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1128:208:32;;;;;;;;;;;;;;;;;;;;;;881:137;;8:9:-1;5:2;;;30:1;27;20:12;5:2;881:137:32;;;;;;;;;;;;;;;;;;;;1128:208;1175:4;1191:27;1221:24;:22;:24::i;:::-;1191:54;-1:-1:-1;1262:24:32;;;;;:67;;;1310:19;1290:16;:14;:16::i;:::-;:39;;1262:67;1255:74;;1128:208;;:::o;881:137::-;936:7;962:49;345:66;962:47;:49::i;:::-;955:56;;881:137;:::o;347:94:37:-;422:12;347:94;:::o;519:134:39:-;630:15;;620:27::o",
"source": "/*\n * SPDX-License-Identitifer: MIT\n */\n\npragma solidity ^0.4.24;\n\nimport \"./TimeHelpers.sol\";\nimport \"./UnstructuredStorage.sol\";\n\n\ncontract Initializable is TimeHelpers {\n using UnstructuredStorage for bytes32;\n\n // keccak256(\"aragonOS.initializable.initializationBlock\")\n bytes32 internal constant INITIALIZATION_BLOCK_POSITION = 0xebb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e;\n\n string private constant ERROR_ALREADY_INITIALIZED = \"INIT_ALREADY_INITIALIZED\";\n string private constant ERROR_NOT_INITIALIZED = \"INIT_NOT_INITIALIZED\";\n\n modifier onlyInit {\n require(getInitializationBlock() == 0, ERROR_ALREADY_INITIALIZED);\n _;\n }\n\n modifier isInitialized {\n require(hasInitialized(), ERROR_NOT_INITIALIZED);\n _;\n }\n\n /**\n * @return Block number in which the contract was initialized\n */\n function getInitializationBlock() public view returns (uint256) {\n return INITIALIZATION_BLOCK_POSITION.getStorageUint256();\n }\n\n /**\n * @return Whether the contract has been initialized by the time of the current block\n */\n function hasInitialized() public view returns (bool) {\n uint256 initializationBlock = getInitializationBlock();\n return initializationBlock != 0 && getBlockNumber() >= initializationBlock;\n }\n\n /**\n * @dev Function to be called by top level contract after initialization has finished.\n */\n function initialized() internal onlyInit {\n INITIALIZATION_BLOCK_POSITION.setStorageUint256(getBlockNumber());\n }\n\n /**\n * @dev Function to be called by top level contract after initialization to enable the contract\n * at a future block number rather than immediately.\n */\n function initializedAt(uint256 _blockNumber) internal onlyInit {\n INITIALIZATION_BLOCK_POSITION.setStorageUint256(_blockNumber);\n }\n}\n",
"sourcePath": "@aragon/os/contracts/common/Initializable.sol",
"ast": {
"absolutePath": "@aragon/os/contracts/common/Initializable.sol",
"exportedSymbols": {
"Initializable": [
10810
]
},
"id": 10811,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 10714,
"literals": [
"solidity",
"^",
"0.4",
".24"
],
"nodeType": "PragmaDirective",
"src": "44:24:32"
},
{
"absolutePath": "@aragon/os/contracts/common/TimeHelpers.sol",
"file": "./TimeHelpers.sol",
"id": 10715,
"nodeType": "ImportDirective",
"scope": 10811,
"sourceUnit": 11201,
"src": "70:27:32",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "@aragon/os/contracts/common/UnstructuredStorage.sol",
"file": "./UnstructuredStorage.sol",
"id": 10716,
"nodeType": "ImportDirective",
"scope": 10811,
"sourceUnit": 11307,
"src": "98:35:32",
"symbolAliases": [],
"unitAlias": ""
},
{
"baseContracts": [
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 10717,
"name": "TimeHelpers",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 11200,
"src": "162:11:32",
"typeDescriptions": {
"typeIdentifier": "t_contract$_TimeHelpers_$11200",
"typeString": "contract TimeHelpers"
}
},
"id": 10718,
"nodeType": "InheritanceSpecifier",
"src": "162:11:32"
}
],
"contractDependencies": [
11200
],
"contractKind": "contract",
"documentation": null,
"fullyImplemented": true,
"id": 10810,
"linearizedBaseContracts": [
10810,
11200
],
"name": "Initializable",
"nodeType": "ContractDefinition",
"nodes": [
{
"id": 10721,
"libraryName": {
"contractScope": null,
"id": 10719,
"name": "UnstructuredStorage",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 11306,
"src": "186:19:32",
"typeDescriptions": {
"typeIdentifier": "t_contract$_UnstructuredStorage_$11306",
"typeString": "library UnstructuredStorage"
}
},
"nodeType": "UsingForDirective",
"src": "180:38:32",
"typeName": {
"id": 10720,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "210:7:32",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
},
{
"constant": true,
"id": 10724,
"name": "INITIALIZATION_BLOCK_POSITION",
"nodeType": "VariableDeclaration",
"scope": 10810,
"src": "287:124:32",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 10722,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "287:7:32",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": {
"argumentTypes": null,
"hexValue": "307865626230356233383661386433343838326238373131643135366634363336393039383364633437383135393830666238326165656666316161343335373965",
"id": 10723,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "345:66:32",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_106605114080364359579522388881656407901251981291752319576997573973948972095390_by_1",
"typeString": "int_const 1066...(70 digits omitted)...5390"
},
"value": "0xebb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e"
},
"visibility": "internal"
},
{
"constant": true,
"id": 10727,
"name": "ERROR_ALREADY_INITIALIZED",
"nodeType": "VariableDeclaration",
"scope": 10810,
"src": "418:78:32",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory",
"typeString": "string"
},
"typeName": {
"id": 10725,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "418:6:32",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": {
"argumentTypes": null,
"hexValue": "494e49545f414c52454144595f494e495449414c495a4544",
"id": 10726,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "470:26:32",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_7a2bad6ae343e37d141d3f47355bee0a9a7371affceb8638867384a5d0ab0e73",
"typeString": "literal_string \"INIT_ALREADY_INITIALIZED\""
},
"value": "INIT_ALREADY_INITIALIZED"
},
"visibility": "private"
},
{
"constant": true,
"id": 10730,
"name": "ERROR_NOT_INITIALIZED",
"nodeType": "VariableDeclaration",
"scope": 10810,
"src": "502:70:32",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory",
"typeString": "string"
},
"typeName": {
"id": 10728,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "502:6:32",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": {
"argumentTypes": null,
"hexValue": "494e49545f4e4f545f494e495449414c495a4544",
"id": 10729,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "550:22:32",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_0447b08a3c6a0d1d9310f95dd98634a89b7d8ccef436579bfc11a41060965373",
"typeString": "literal_string \"INIT_NOT_INITIALIZED\""
},
"value": "INIT_NOT_INITIALIZED"
},
"visibility": "private"
},
{
"body": {
"id": 10741,
"nodeType": "Block",
"src": "597:93:32",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 10736,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
"id": 10733,
"name": "getInitializationBlock",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10762,
"src": "615:22:32",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$",
"typeString": "function () view returns (uint256)"
}
},
"id": 10734,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "615:24:32",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"argumentTypes": null,
"hexValue": "30",
"id": 10735,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "643:1:32",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"src": "615:29:32",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"id": 10737,
"name": "ERROR_ALREADY_INITIALIZED",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10727,
"src": "646:25:32",
"typeDescriptions": {
"typeIdentifier": "t_string_memory",
"typeString": "string memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_string_memory",
"typeString": "string memory"
}
],
"id": 10732,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
15156,
15157
],
"referencedDeclaration": 15157,
"src": "607:7:32",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 10738,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "607:65:32",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 10739,
"nodeType": "ExpressionStatement",
"src": "607:65:32"
},
{
"id": 10740,
"nodeType": "PlaceholderStatement",
"src": "682:1:32"
}
]
},
"documentation": null,
"id": 10742,
"name": "onlyInit",
"nodeType": "ModifierDefinition",
"parameters": {
"id": 10731,
"nodeType": "ParameterList",
"parameters": [],
"src": "597:0:32"
},
"src": "579:111:32",
"visibility": "internal"
},
{
"body": {
"id": 10751,
"nodeType": "Block",
"src": "719:76:32",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
"id": 10745,
"name": "hasInitialized",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10782,
"src": "737:14:32",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$",
"typeString": "function () view returns (bool)"
}
},
"id": 10746,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "737:16:32",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"id": 10747,
"name": "ERROR_NOT_INITIALIZED",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10730,
"src": "755:21:32",
"typeDescriptions": {
"typeIdentifier": "t_string_memory",
"typeString": "string memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_string_memory",
"typeString": "string memory"
}
],
"id": 10744,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
15156,
15157
],
"referencedDeclaration": 15157,
"src": "729:7:32",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 10748,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "729:48:32",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 10749,
"nodeType": "ExpressionStatement",
"src": "729:48:32"
},
{
"id": 10750,
"nodeType": "PlaceholderStatement",
"src": "787:1:32"
}
]
},
"documentation": null,
"id": 10752,
"name": "isInitialized",
"nodeType": "ModifierDefinition",
"parameters": {
"id": 10743,
"nodeType": "ParameterList",
"parameters": [],
"src": "719:0:32"
},
"src": "696:99:32",
"visibility": "internal"
},
{
"body": {
"id": 10761,
"nodeType": "Block",
"src": "945:73:32",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
"expression": {
"argumentTypes": null,
"id": 10757,
"name": "INITIALIZATION_BLOCK_POSITION",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10724,
"src": "962:29:32",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"id": 10758,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "getStorageUint256",
"nodeType": "MemberAccess",
"referencedDeclaration": 11269,
"src": "962:47:32",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$bound_to$_t_bytes32_$",
"typeString": "function (bytes32) view returns (uint256)"
}
},
"id": 10759,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "962:49:32",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"functionReturnParameters": 10756,
"id": 10760,
"nodeType": "Return",
"src": "955:56:32"
}
]
},
"documentation": "@return Block number in which the contract was initialized",
"id": 10762,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "getInitializationBlock",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 10753,
"nodeType": "ParameterList",
"parameters": [],
"src": "912:2:32"
},
"payable": false,
"returnParameters": {
"id": 10756,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 10755,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 10762,
"src": "936:7:32",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 10754,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "936:7:32",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "935:9:32"
},
"scope": 10810,
"src": "881:137:32",
"stateMutability": "view",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 10781,
"nodeType": "Block",
"src": "1181:155:32",
"statements": [
{
"assignments": [
10768
],
"declarations": [
{
"constant": false,
"id": 10768,
"name": "initializationBlock",
"nodeType": "VariableDeclaration",
"scope": 10782,
"src": "1191:27:32",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 10767,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1191:7:32",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 10771,
"initialValue": {
"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
"id": 10769,
"name": "getInitializationBlock",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10762,
"src": "1221:22:32",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$",
"typeString": "function () view returns (uint256)"
}
},
"id": 10770,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1221:24:32",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "1191:54:32"
},
{
"expression": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"id": 10779,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 10774,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 10772,
"name": "initializationBlock",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10768,
"src": "1262:19:32",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "!=",
"rightExpression": {
"argumentTypes": null,
"hexValue": "30",
"id": 10773,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1285:1:32",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"src": "1262:24:32",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"nodeType": "BinaryOperation",
"operator": "&&",
"rightExpression": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 10778,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
"id": 10775,
"name": "getBlockNumber",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11168,
"src": "1290:14:32",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$",
"typeString": "function () view returns (uint256)"
}
},
"id": 10776,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1290:16:32",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": ">=",
"rightExpression": {
"argumentTypes": null,
"id": 10777,
"name": "initializationBlock",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10768,
"src": "1310:19:32",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "1290:39:32",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"src": "1262:67:32",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"functionReturnParameters": 10766,
"id": 10780,
"nodeType": "Return",
"src": "1255:74:32"
}
]
},
"documentation": "@return Whether the contract has been initialized by the time of the current block",
"id": 10782,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "hasInitialized",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 10763,
"nodeType": "ParameterList",
"parameters": [],
"src": "1151:2:32"
},
"payable": false,
"returnParameters": {
"id": 10766,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 10765,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 10782,
"src": "1175:4:32",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 10764,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "1175:4:32",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1174:6:32"
},
"scope": 10810,
"src": "1128:208:32",
"stateMutability": "view",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 10794,
"nodeType": "Block",
"src": "1488:82:32",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
"id": 10790,
"name": "getBlockNumber",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11168,
"src": "1546:14:32",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$",
"typeString": "function () view returns (uint256)"
}
},
"id": 10791,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1546:16:32",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"argumentTypes": null,
"id": 10787,
"name": "INITIALIZATION_BLOCK_POSITION",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10724,
"src": "1498:29:32",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"id": 10789,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "setStorageUint256",
"nodeType": "MemberAccess",
"referencedDeclaration": 11305,
"src": "1498:47:32",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_uint256_$returns$__$bound_to$_t_bytes32_$",
"typeString": "function (bytes32,uint256)"
}
},
"id": 10792,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1498:65:32",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 10793,
"nodeType": "ExpressionStatement",
"src": "1498:65:32"
}
]
},
"documentation": "@dev Function to be called by top level contract after initialization has finished.",
"id": 10795,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [
{
"arguments": null,
"id": 10785,
"modifierName": {
"argumentTypes": null,
"id": 10784,
"name": "onlyInit",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10742,
"src": "1479:8:32",
"typeDescriptions": {
"typeIdentifier": "t_modifier$__$",
"typeString": "modifier ()"
}
},
"nodeType": "ModifierInvocation",
"src": "1479:8:32"
}
],
"name": "initialized",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 10783,
"nodeType": "ParameterList",
"parameters": [],
"src": "1467:2:32"
},
"payable": false,
"returnParameters": {
"id": 10786,
"nodeType": "ParameterList",
"parameters": [],
"src": "1488:0:32"
},
"scope": 10810,
"src": "1447:123:32",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "internal"
},
{
"body": {
"id": 10808,
"nodeType": "Block",
"src": "1814:78:32",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 10805,
"name": "_blockNumber",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10797,
"src": "1872:12:32",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"argumentTypes": null,
"id": 10802,
"name": "INITIALIZATION_BLOCK_POSITION",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10724,
"src": "1824:29:32",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"id": 10804,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "setStorageUint256",
"nodeType": "MemberAccess",
"referencedDeclaration": 11305,
"src": "1824:47:32",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_uint256_$returns$__$bound_to$_t_bytes32_$",
"typeString": "function (bytes32,uint256)"
}
},
"id": 10806,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1824:61:32",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 10807,
"nodeType": "ExpressionStatement",
"src": "1824:61:32"
}
]
},
"documentation": "@dev Function to be called by top level contract after initialization to enable the contract\n at a future block number rather than immediately.",
"id": 10809,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [
{
"arguments": null,
"id": 10800,
"modifierName": {
"argumentTypes": null,
"id": 10799,
"name": "onlyInit",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10742,
"src": "1805:8:32",
"typeDescriptions": {
"typeIdentifier": "t_modifier$__$",
"typeString": "modifier ()"
}
},
"nodeType": "ModifierInvocation",
"src": "1805:8:32"
}
],
"name": "initializedAt",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 10798,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 10797,
"name": "_blockNumber",
"nodeType": "VariableDeclaration",
"scope": 10809,
"src": "1774:20:32",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 10796,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1774:7:32",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1773:22:32"
},
"payable": false,
"returnParameters": {
"id": 10801,
"nodeType": "ParameterList",
"parameters": [],
"src": "1814:0:32"
},
"scope": 10810,
"src": "1751:141:32",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "internal"
}
],
"scope": 10811,
"src": "136:1758:32"
}
],
"src": "44:1851:32"
},
"legacyAST": {
"absolutePath": "@aragon/os/contracts/common/Initializable.sol",
"exportedSymbols": {
"Initializable": [
10810
]
},
"id": 10811,
"nodeType": "SourceUnit",
"nodes": [