UNPKG

@alice-network/zos-lib

Version:

JavaScript library for the ZeppelinOS smart contract platform

1,410 lines (1,409 loc) 92 kB
{ "contractName": "WithBaseInitialized", "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": true, "inputs": [], "name": "anotherValue", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [], "name": "init", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [], "name": "initialize", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" } ], "bytecode": "0x608060405234801561001057600080fd5b506102cf806100206000396000f30060806040526004361061006d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633fa4f245146100725780634a627e611461009d57806368620bd0146100c85780638129fc1c146100f3578063e1c7392a1461010a575b600080fd5b34801561007e57600080fd5b50610087610121565b6040518082815260200191505060405180910390f35b3480156100a957600080fd5b506100b2610127565b6040518082815260200191505060405180910390f35b3480156100d457600080fd5b506100dd61012d565b6040518082815260200191505060405180910390f35b3480156100ff57600080fd5b50610108610133565b005b34801561011657600080fd5b5061011f61014d565b005b60005481565b60355481565b60345481565b61013b610288565b61014361014d565b602a603581905550565b60006001809054906101000a900460ff168061016d575061016c610292565b5b806101855750600160009054906101000a900460ff16155b151561021f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f436f6e747261637420696e7374616e63652068617320616c726561647920626581526020017f656e20696e697469616c697a656400000000000000000000000000000000000081525060400191505060405180910390fd5b6001809054906101000a900460ff16905060018060016101000a81548160ff02191690831515021790555060018060006101000a81548160ff021916908315150217905550602a603481905550806001806101000a81548160ff02191690831515021790555050565b602a600081905550565b600080303b905060008114915050905600a165627a7a72305820e640987a57f23d527959a71b022f9021532b4d4c72e46ee76bc1639fb45fff890029", "deployedBytecode": "0x60806040526004361061006d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633fa4f245146100725780634a627e611461009d57806368620bd0146100c85780638129fc1c146100f3578063e1c7392a1461010a575b600080fd5b34801561007e57600080fd5b50610087610121565b6040518082815260200191505060405180910390f35b3480156100a957600080fd5b506100b2610127565b6040518082815260200191505060405180910390f35b3480156100d457600080fd5b506100dd61012d565b6040518082815260200191505060405180910390f35b3480156100ff57600080fd5b50610108610133565b005b34801561011657600080fd5b5061011f61014d565b005b60005481565b60355481565b60345481565b61013b610288565b61014361014d565b602a603581905550565b60006001809054906101000a900460ff168061016d575061016c610292565b5b806101855750600160009054906101000a900460ff16155b151561021f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f436f6e747261637420696e7374616e63652068617320616c726561647920626581526020017f656e20696e697469616c697a656400000000000000000000000000000000000081525060400191505060405180910390fd5b6001809054906101000a900460ff16905060018060016101000a81548160ff02191690831515021790555060018060006101000a81548160ff021916908315150217905550602a603481905550806001806101000a81548160ff02191690831515021790555050565b602a600081905550565b600080303b905060008114915050905600a165627a7a72305820e640987a57f23d527959a71b022f9021532b4d4c72e46ee76bc1639fb45fff890029", "sourceMap": "586:223:22:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;586:223:22;;;;;;;", "deployedSourceMap": "586:223:22:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;86:17;;8:9:-1;5:2;;;30:1;27;20:12;5:2;86:17:22;;;;;;;;;;;;;;;;;;;;;;;660:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;660:21:22;;;;;;;;;;;;;;;;;;;;;;;214:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;214:24:22;;;;;;;;;;;;;;;;;;;;;;;686:121;;8:9:-1;5:2;;;30:1;27;20:12;5:2;686:121:22;;;;;;243:63;;8:9:-1;5:2;;;30:1;27;20:12;5:2;243:63:22;;;;;;86:17;;;;:::o;660:21::-;;;;:::o;214:24::-;;;;:::o;686:121::-;721:27;:25;:27::i;:::-;754:28;:26;:28::i;:::-;800:2;788:9;:14;;;;686:121::o;243:63::-;1129:20:0;1024:12;;;;;;;;;;;:31;;;;1040:15;:13;:15::i;:::-;1024:31;:47;;;;1060:11;;;;;;;;;;;1059:12;1024:47;1016:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1152:12;;;;;;;;;;;1129:35;;1185:4;1170:12;;:19;;;;;;;;;;;;;;;;;;1209:4;1195:11;;:18;;;;;;;;;;;;;;;;;;299:2:22;284:12;:17;;;;1243:15:0;1228:12;;:30;;;;;;;;;;;;;;;;;;243:63:22;:::o;108:50::-;151:2;143:5;:10;;;;108:50::o;1349:467:0:-;1396:4;1737:10;1782:7;1770:20;1764:26;;1810:1;1804:2;:7;1797:14;;1349:467;;:::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": [ {