UNPKG

@alice-network/zos-lib

Version:

JavaScript library for the ZeppelinOS smart contract platform

1,454 lines (1,453 loc) 90.5 kB
{ "contractName": "DoesNotNeedAnInitialize", "abi": [ { "constant": true, "inputs": [], "name": "value", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "someValue", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [], "name": "initialize", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "say", "outputs": [ { "name": "", "type": "string" } ], "payable": false, "stateMutability": "pure", "type": "function" } ], "bytecode": "0x608060405234801561001057600080fd5b506101e3806100206000396000f300608060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633fa4f245146100675780634a627e61146100925780638129fc1c146100bd578063954ab4b2146100d4575b600080fd5b34801561007357600080fd5b5061007c610164565b6040518082815260200191505060405180910390f35b34801561009e57600080fd5b506100a761016a565b6040518082815260200191505060405180910390f35b3480156100c957600080fd5b506100d2610170565b005b3480156100e057600080fd5b506100e961017a565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561012957808201518184015260208101905061010e565b50505050905090810190601f1680156101565780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60005481565b60015481565b602a600081905550565b60606040805190810160405280601181526020017f576974686f7574496e697469616c697a650000000000000000000000000000008152509050905600a165627a7a72305820704e7c67736b1852a1ea2b56dd2e2b64ce522120315fc119e9c1f72a4d865b030029", "deployedBytecode": "0x608060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633fa4f245146100675780634a627e61146100925780638129fc1c146100bd578063954ab4b2146100d4575b600080fd5b34801561007357600080fd5b5061007c610164565b6040518082815260200191505060405180910390f35b34801561009e57600080fd5b506100a761016a565b6040518082815260200191505060405180910390f35b3480156100c957600080fd5b506100d2610170565b005b3480156100e057600080fd5b506100e961017a565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561012957808201518184015260208101905061010e565b50505050905090810190601f1680156101565780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60005481565b60015481565b602a600081905550565b60606040805190810160405280601181526020017f576974686f7574496e697469616c697a650000000000000000000000000000008152509050905600a165627a7a72305820704e7c67736b1852a1ea2b56dd2e2b64ce522120315fc119e9c1f72a4d865b030029", "sourceMap": "1058:98:22:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1058:98:22;;;;;;;", "deployedSourceMap": "1058:98:22:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;86:17;;8:9:-1;5:2;;;30:1;27;20:12;5:2;86:17:22;;;;;;;;;;;;;;;;;;;;;;;1132:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1132:21:22;;;;;;;;;;;;;;;;;;;;;;;108:50;;8:9:-1;5:2;;;30:1;27;20:12;5:2;108:50:22;;;;;;341:81;;8:9:-1;5:2;;;30:1;27;20:12;5:2;341:81:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;341:81:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;86:17;;;;:::o;1132:21::-;;;;:::o;108:50::-;151:2;143:5;:10;;;;108:50::o;341:81::-;377:6;391:26;;;;;;;;;;;;;;;;;;;;341:81;:::o", "source": "pragma solidity ^0.4.24;\n\nimport \"../Initializable.sol\";\n\ncontract WithInitialize {\n uint public value;\n\n function initialize() public {\n value = 42;\n }\n}\n\ncontract AnotherWithInitialize is Initializable {\n uint public anotherValue;\n\n function init() initializer public {\n anotherValue = 42;\n }\n}\n\ncontract WithoutInitialize {\n function say() public pure returns (string) {\n return \"WithoutInitialize\";\n }\n}\n\ncontract WithBaseUninitialized is WithInitialize, AnotherWithInitialize {\n uint public someValue;\n\n function initialize() public {\n someValue = 42;\n }\n}\n\ncontract WithBaseInitialized is WithInitialize, AnotherWithInitialize {\n uint public someValue;\n\n function initialize() public {\n WithInitialize.initialize();\n AnotherWithInitialize.init();\n someValue = 42;\n }\n}\n\ncontract WithSimpleBaseUninitialized is WithoutInitialize {\n uint public someValue;\n\n function initialize() public {\n someValue = 42;\n }\n}\n\ncontract ShouldHaveInitialize is WithInitialize, AnotherWithInitialize {\n uint public someValue;\n}\n\ncontract DoesNotNeedAnInitialize is WithInitialize, WithoutInitialize {\n uint public someValue;\n}\n\ncontract ExtendsFromShouldHaveInitialize is ShouldHaveInitialize {\n uint public someOtherValue;\n}\n", "sourcePath": "/Users/yoonjae/WebstormProjects/zos/packages/lib/contracts/mocks/WithInitialize.sol", "ast": { "absolutePath": "/Users/yoonjae/WebstormProjects/zos/packages/lib/contracts/mocks/WithInitialize.sol", "exportedSymbols": { "AnotherWithInitialize": [ 2553 ], "DoesNotNeedAnInitialize": [ 2629 ], "ExtendsFromShouldHaveInitialize": [ 2634 ], "ShouldHaveInitialize": [ 2622 ], "WithBaseInitialized": [ 2602 ], "WithBaseUninitialized": [ 2577 ], "WithInitialize": [ 2538 ], "WithSimpleBaseUninitialized": [ 2615 ], "WithoutInitialize": [ 2562 ] }, "id": 2635, "nodeType": "SourceUnit", "nodes": [ { "id": 2526, "literals": [ "solidity", "^", "0.4", ".24" ], "nodeType": "PragmaDirective", "src": "0:24:22" }, { "absolutePath": "/Users/yoonjae/WebstormProjects/zos/packages/lib/contracts/Initializable.sol", "file": "../Initializable.sol", "id": 2527, "nodeType": "ImportDirective", "scope": 2635, "sourceUnit": 56, "src": "26:30:22", "symbolAliases": [], "unitAlias": "" }, { "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 2538, "linearizedBaseContracts": [ 2538 ], "name": "WithInitialize", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "id": 2529, "name": "value", "nodeType": "VariableDeclaration", "scope": 2538, "src": "86:17:22", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2528, "name": "uint", "nodeType": "ElementaryTypeName", "src": "86:4:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "public" }, { "body": { "id": 2536, "nodeType": "Block", "src": "137:21:22", "statements": [ { "expression": { "argumentTypes": null, "id": 2534, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 2532, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2529, "src": "143:5:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "hexValue": "3432", "id": 2533, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "151:2:22", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_42_by_1", "typeString": "int_const 42" }, "value": "42" }, "src": "143:10:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 2535, "nodeType": "ExpressionStatement", "src": "143:10:22" } ] }, "documentation": null, "id": 2537, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [], "name": "initialize", "nodeType": "FunctionDefinition", "parameters": { "id": 2530, "nodeType": "ParameterList", "parameters": [], "src": "127:2:22" }, "payable": false, "returnParameters": { "id": 2531, "nodeType": "ParameterList", "parameters": [], "src": "137:0:22" }, "scope": 2538, "src": "108:50:22", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], "scope": 2635, "src": "58:102:22" }, { "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 2539, "name": "Initializable", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 55, "src": "196:13:22", "typeDescriptions": { "typeIdentifier": "t_contract$_Initializable_$55", "typeString": "contract Initializable" } }, "id": 2540, "nodeType": "InheritanceSpecifier", "src": "196:13:22" } ], "contractDependencies": [ 55 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 2553, "linearizedBaseContracts": [ 2553, 55 ], "name": "AnotherWithInitialize", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "id": 2542, "name": "anotherValue", "nodeType": "VariableDeclaration", "scope": 2553, "src": "214:24:22", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2541, "name": "uint", "nodeType": "ElementaryTypeName", "src": "214:4:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "public" }, { "body": { "id": 2551, "nodeType": "Block", "src": "278:28:22", "statements": [ { "expression": { "argumentTypes": null, "id": 2549, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 2547, "name": "anotherValue", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2542, "src": "284:12:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "hexValue": "3432", "id": 2548, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "299:2:22", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_42_by_1", "typeString": "int_const 42" }, "value": "42" }, "src": "284:17:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 2550, "nodeType": "ExpressionStatement", "src": "284:17:22" } ] }, "documentation": null, "id": 2552, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, "id": 2545, "modifierName": { "argumentTypes": null, "id": 2544, "name": "initializer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 36, "src": "259:11:22", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", "src": "259:11:22" } ], "name": "init", "nodeType": "FunctionDefinition", "parameters": { "id": 2543, "nodeType": "ParameterList", "parameters": [], "src": "256:2:22" }, "payable": false, "returnParameters": { "id": 2546, "nodeType": "ParameterList", "parameters": [], "src": "278:0:22" }, "scope": 2553, "src": "243:63:22", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], "scope": 2635, "src": "162:146:22" }, { "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 2562, "linearizedBaseContracts": [ 2562 ], "name": "WithoutInitialize", "nodeType": "ContractDefinition", "nodes": [ { "body": { "id": 2560, "nodeType": "Block", "src": "385:37:22", "statements": [ { "expression": { "argumentTypes": null, "hexValue": "576974686f7574496e697469616c697a65", "id": 2558, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "398:19:22", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_29904a0199e04a428d841982e15369f76a041f59a9487735d519e6dd6ca6c78c", "typeString": "literal_string \"WithoutInitialize\"" }, "value": "WithoutInitialize" }, "functionReturnParameters": 2557, "id": 2559, "nodeType": "Return", "src": "391:26:22" } ] }, "documentation": null, "id": 2561, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "say", "nodeType": "FunctionDefinition", "parameters": { "id": 2554, "nodeType": "ParameterList", "parameters": [], "src": "353:2:22" }, "payable": false, "returnParameters": { "id": 2557, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2556, "name": "", "nodeType": "VariableDeclaration", "scope": 2561, "src": "377:6:22", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2555, "name": "string", "nodeType": "ElementaryTypeName", "src": "377:6:22", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "376:8:22" }, "scope": 2562, "src": "341:81:22", "stateMutability": "pure", "superFunction": null, "visibility": "public" } ], "scope": 2635, "src": "310:114:22" }, { "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 2563, "name": "WithInitialize", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2538, "src": "460:14:22", "typeDescriptions": { "typeIdentifier": "t_contract$_WithInitialize_$2538", "typeString": "contract WithInitialize" } }, "id": 2564, "nodeType": "InheritanceSpecifier", "src": "460:14:22" }, { "arguments": null, "baseName": { "contractScope": null, "id": 2565, "name": "AnotherWithInitialize", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2553, "src": "476:21:22", "typeDescriptions": { "typeIdentifier": "t_contract$_AnotherWithInitialize_$2553", "typeString": "contract AnotherWithInitialize" } }, "id": 2566, "nodeType": "InheritanceSpecifier", "src": "476:21:22" } ], "contractDependencies": [ 55, 2538, 2553 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 2577, "linearizedBaseContracts": [ 2577, 2553, 55, 2538 ], "name": "WithBaseUninitialized", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "id": 2568, "name": "someValue", "nodeType": "VariableDeclaration", "scope": 2577, "src": "502:21:22", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2567, "name": "uint", "nodeType": "ElementaryTypeName", "src": "502:4:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "public" }, { "body": { "id": 2575, "nodeType": "Block", "src": "557:25:22", "statements": [ { "expression": { "argumentTypes": null, "id": 2573, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 2571, "name": "someValue", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2568, "src": "563:9:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "hexValue": "3432", "id": 2572, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "575:2:22", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_42_by_1", "typeString": "int_const 42" }, "value": "42" }, "src": "563:14:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 2574, "nodeType": "ExpressionStatement", "src": "563:14:22" } ] }, "documentation": null, "id": 2576, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [], "name": "initialize", "nodeType": "FunctionDefinition", "parameters": { "id": 2569, "nodeType": "ParameterList", "parameters": [], "src": "547:2:22" }, "payable": false, "returnParameters": { "id": 2570, "nodeType": "ParameterList", "parameters": [], "src": "557:0:22" }, "scope": 2577, "src": "528:54:22", "stateMutability": "nonpayable", "superFunction": 2537, "visibility": "public" } ], "scope": 2635, "src": "426:158:22" }, { "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 2578, "name": "WithInitialize", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2538, "src": "618:14:22", "typeDescriptions": { "typeIdentifier": "t_contract$_WithInitialize_$2538", "typeString": "contract WithInitialize" } }, "id": 2579, "nodeType": "InheritanceSpecifier", "src": "618:14:22" }, { "arguments": null, "baseName": { "contractScope": null, "id": 2580, "name": "AnotherWithInitialize", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2553, "src": "634:21:22", "typeDescriptions": { "typeIdentifier": "t_contract$_AnotherWithInitialize_$2553", "typeString": "contract AnotherWithInitialize" } }, "id": 2581, "nodeType": "InheritanceSpecifier", "src": "634:21:22" } ], "contractDependencies": [ 55, 2538, 2553 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 2602, "linearizedBaseContracts": [ 2602, 2553, 55, 2538 ], "name": "WithBaseInitialized", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "id": 2583, "name": "someValue", "nodeType": "VariableDeclaration", "scope": 2602, "src": "660:21:22", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2582, "name": "uint", "nodeType": "ElementaryTypeName", "src": "660:4:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "public" }, { "body": { "id": 2600, "nodeType": "Block", "src": "715:92:22", "statements": [ { "expression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "id": 2586, "name": "WithInitialize", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2538, "src": "721:14:22", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_WithInitialize_$2538_$", "typeString": "type(contract WithInitialize)" } }, "id": 2588, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "initialize", "nodeType": "MemberAccess", "referencedDeclaration": 2537, "src": "721:25:22", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, "id": 2589, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "721:27:22", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2590, "nodeType": "ExpressionStatement", "src": "721:27:22" }, { "expression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "id": 2591, "name": "AnotherWithInitialize", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2553, "src": "754:21:22", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_AnotherWithInitialize_$2553_$", "typeString": "type(contract AnotherWithInitialize)" } }, "id": 2593, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "init", "nodeType": "MemberAccess", "referencedDeclaration": 2552, "src": "754:26:22", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, "id": 2594, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "754:28:22", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2595, "nodeType": "ExpressionStatement", "src": "754:28:22" }, { "expression": { "argumentTypes": null, "id": 2598, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 2596, "name": "someValue", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2583, "src": "788:9:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "hexValue": "3432", "id": 2597, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "800:2:22", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_42_by_1", "typeString": "int_const 42" }, "value": "42" }, "src": "788:14:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 2599, "nodeType": "ExpressionStatement", "src": "788:14:22" } ] }, "documentation": null, "id": 2601, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [], "name": "initialize", "nodeType": "FunctionDefinition", "parameters": { "id": 2584, "nodeType": "ParameterList", "parameters": [], "src": "705:2:22" }, "payable": false, "returnParameters": { "id": 2585, "nodeType": "ParameterList", "parameters": [], "src": "715:0:22" }, "scope": 2602, "src": "686:121:22", "stateMutability": "nonpayable", "superFunction": 2537, "visibility": "public" } ], "scope": 2635, "src": "586:223:22" }, { "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 2603, "name": "WithoutInitialize", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2562, "src": "851:17:22", "typeDescriptions": { "typeIdentifier": "t_contract$_WithoutInitialize_$2562", "typeString": "contract WithoutInitialize" } }, "id": 2604, "nodeType": "InheritanceSpecifier", "src": "851:17:22" } ], "contractDependencies": [ 2562 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 2615, "linearizedBaseContracts": [ 2615, 2562 ], "name": "WithSimpleBaseUninitialized", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "id": 2606, "name": "someValue", "nodeType": "VariableDeclaration", "scope": 2615, "src": "873:21:22", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2605, "name": "uint", "nodeType": "ElementaryTypeName", "src": "873:4:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "public" }, { "body": { "id": 2613, "nodeType": "Block", "src": "928:25:22", "statements": [ { "expression": { "argumentTypes": null, "id": 2611, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 2609, "name": "someValue", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2606, "src": "934:9:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "hexValue": "3432", "id": 2610, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "946:2:22", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_42_by_1", "typeString": "int_const 42" }, "value": "42" }, "src": "934:14:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 2612, "nodeType": "ExpressionStatement", "src": "934:14:22" } ] }, "documentation": null, "id": 2614, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [], "name": "initialize", "nodeType": "FunctionDefinition", "parameters": { "id": 2607, "nodeType": "ParameterList", "parameters": [], "src": "918:2:22" }, "payable": false, "returnParameters": { "id": 2608, "nodeType": "ParameterList", "parameters": [], "src": "928:0:22" }, "scope": 2615, "src": "899:54:22", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], "scope": 2635, "src": "811:144:22" }, { "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 2616, "name": "WithInitialize", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2538, "src": "990:14:22", "typeDescriptions": { "typeIdentifier": "t_contract$_WithInitialize_$2538", "typeString": "contract WithInitialize" } }, "id": 2617, "nodeType": "InheritanceSpecifier", "src": "990:14:22" }, { "arguments": null, "baseName": { "contractScope": null, "id": 2618, "name": "AnotherWithInitialize", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2553, "src": "1006:21:22", "typeDescriptions": { "typeIdentifier": "t_contract$_AnotherWithInitialize_$2553", "typeString": "contract AnotherWithInitialize" } }, "id": 2619, "nodeType": "InheritanceSpecifier", "src": "1006:21:22" } ], "contractDependencies": [ 55, 2538, 2553 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 2622, "linearizedBaseContracts": [ 2622, 2553, 55, 2538 ], "name": "ShouldHaveInitialize", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "id": 2621, "name": "someValue", "nodeType": "VariableDeclaration", "scope": 2622, "src": "1032:21:22", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2620, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1032:4:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "public" } ], "scope": 2635, "src": "957:99:22" }, { "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 2623, "name": "WithInitialize", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2538, "src": "1094:14:22", "typeDescriptions": { "typeIdentifier": "t_contract$_WithInitialize_$2538", "typeString": "contract WithInitialize" } }, "id": 2624, "nodeType": "InheritanceSpecifier", "src": "1094:14:22" }, { "arguments": null, "baseName": { "contractScope": null, "id": 2625, "name": "WithoutInitialize", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2562, "src": "1110:17:22", "typeDescriptions": { "typeIdentifier": "t_contract$_WithoutInitialize_$2562", "typeString": "contract WithoutInitialize" } }, "id": 2626, "nodeType": "InheritanceSpecifier", "src": "1110:17:22" } ], "contractDependencies": [ 2538, 2562 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 2629, "linearizedBaseContracts": [ 2629, 2562, 2538 ], "name": "DoesNotNeedAnInitialize", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "id": 2628, "name": "someValue", "nodeType": "VariableDeclaration", "scope": 2629, "src": "1132:21:22", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2627, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1132:4:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "public" } ], "scope": 2635, "src": "1058:98:22" }, { "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 2630, "name": "ShouldHaveInitialize", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2622, "src": "1202:20:22", "typeDescriptions": { "typeIdentifier": "t_contract$_ShouldHaveInitialize_$2622", "typeString": "contract ShouldHaveInitialize" } }, "id": 2631, "nodeType": "InheritanceSpecifier", "src": "1202:20:22" } ], "contractDependencies": [ 55, 2538, 2553, 2622 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 2634, "linearizedBaseContracts": [ 2634, 2622, 2553, 55, 2538 ], "name": "ExtendsFromShouldHaveInitialize", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "id": 2633, "name": "someOtherValue", "nodeType": "VariableDeclaration", "scope": 2634, "src": "1227:26:22", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2632, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1227:4:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "public" } ], "scope": 2635, "src": "1158:98:22" } ], "src": "0:1257:22" }, "legacyAST": { "absolutePath": "/Users/yoonjae/WebstormProjects/zos/packages/lib/contracts/mocks/WithInitialize.sol", "exportedSymbols": { "AnotherWithInitialize": [ 2553 ], "DoesNotNeedAnInitialize": [ 2629 ], "ExtendsFromShouldHaveInitialize": [ 2634 ], "ShouldHaveInitialize": [ 2622 ], "WithBaseInitialized": [ 2602 ], "WithBaseUninitialized": [ 2577 ], "WithInitialize": [ 2538 ], "WithSimpleBaseUninitialized": [ 2615 ], "WithoutInitialize": [ 2562 ] }, "id": 2635, "nodeType": "SourceUnit", "nodes": [ { "id": 2526, "literals": [ "solidity", "^", "0.4", ".24" ], "nodeType": "PragmaDirective", "src": "0:24:22" }, { "absolutePath": "/Users/yoonjae/WebstormProjects/zos/packages/lib/contracts/Initializable.sol", "file": "../Initializable.sol", "id": 2527, "nodeType": "ImportDirective", "scope": 2635, "sourceUnit": 56, "src": "26:30:22", "symbolAliases": [], "unitAlias": "" }, { "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 2538, "linearizedBaseContracts": [ 2538 ], "name": "WithInitialize", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "id": 2529, "name": "value", "nodeType": "VariableDeclaration", "scope": 2538, "src": "86:17:22", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2528, "name": "uint", "nodeType": "ElementaryTypeName", "src": "86:4:22", "typeDescriptions": {