UNPKG

@newos/upgrades

Version:
1,385 lines (1,384 loc) 48.8 kB
{ "fileName": "WithInitialize.sol", "contractName": "ExtendsFromShouldHaveInitialize", "source": "pragma solidity ^0.5.0;\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 memory) {\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": "contracts/mocks/WithInitialize.sol", "sourceMap": "1164:98:24:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1164:98:24;;;;;;;", "deployedSourceMap": "1164:98:24:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1164:98:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;85:17;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1038:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;213:24;;;:::i;:::-;;;;;;;;;;;;;;;;;;;107:50;;;:::i;:::-;;1233:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;242:63;;;:::i;:::-;;85:17;;;;:::o;1038:21::-;;;;:::o;213:24::-;;;;:::o;107:50::-;150:2;142:5;:10;;;;107:50::o;1233:26::-;;;;:::o;242:63::-;1024:12:0;;;;;;;;;;;:31;;;;1040:15;:13;:15::i;:::-;1024:31;:47;;;;1060:11;;;;;;;;;;;1059:12;1024:47;1016:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1129:19;1152:12;;;;;;;;;;;1151:13;1129:35;;1174:14;1170:80;;;1213:4;1198:12;;:19;;;;;;;;;;;;;;;;;;1239:4;1225:11;;:18;;;;;;;;;;;;;;;;;;1170:80;298:2:24;283:12;:17;;;;1268:14:0;1264:55;;;1307:5;1292:12;;:20;;;;;;;;;;;;;;;;;;1264:55;242:63:24;:::o;1409:498:0:-;1456:4;1797:12;1820:4;1797:28;;1831:10;1876:4;1864:17;1858:23;;1901:1;1895:2;:7;1888:14;;;;1409:498;:::o", "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": "initialize", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "someOtherValue", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [], "name": "init", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" } ], "ast": { "absolutePath": "contracts/mocks/WithInitialize.sol", "exportedSymbols": { "AnotherWithInitialize": [ 4818 ], "DoesNotNeedAnInitialize": [ 4894 ], "ExtendsFromShouldHaveInitialize": [ 4899 ], "ShouldHaveInitialize": [ 4887 ], "WithBaseInitialized": [ 4867 ], "WithBaseUninitialized": [ 4842 ], "WithInitialize": [ 4803 ], "WithSimpleBaseUninitialized": [ 4880 ], "WithoutInitialize": [ 4827 ] }, "id": 4900, "nodeType": "SourceUnit", "nodes": [ { "id": 4791, "literals": [ "solidity", "^", "0.5", ".0" ], "nodeType": "PragmaDirective", "src": "0:23:24" }, { "absolutePath": "contracts/Initializable.sol", "file": "../Initializable.sol", "id": 4792, "nodeType": "ImportDirective", "scope": 4900, "sourceUnit": 69, "src": "25:30:24", "symbolAliases": [], "unitAlias": "" }, { "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 4803, "linearizedBaseContracts": [ 4803 ], "name": "WithInitialize", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "id": 4794, "name": "value", "nodeType": "VariableDeclaration", "scope": 4803, "src": "85:17:24", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 4793, "name": "uint", "nodeType": "ElementaryTypeName", "src": "85:4:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "public" }, { "body": { "id": 4801, "nodeType": "Block", "src": "136:21:24", "statements": [ { "expression": { "argumentTypes": null, "id": 4799, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 4797, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4794, "src": "142:5:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "hexValue": "3432", "id": 4798, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "150:2:24", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_42_by_1", "typeString": "int_const 42" }, "value": "42" }, "src": "142:10:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 4800, "nodeType": "ExpressionStatement", "src": "142:10:24" } ] }, "documentation": null, "id": 4802, "implemented": true, "kind": "function", "modifiers": [], "name": "initialize", "nodeType": "FunctionDefinition", "parameters": { "id": 4795, "nodeType": "ParameterList", "parameters": [], "src": "126:2:24" }, "returnParameters": { "id": 4796, "nodeType": "ParameterList", "parameters": [], "src": "136:0:24" }, "scope": 4803, "src": "107:50:24", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], "scope": 4900, "src": "57:102:24" }, { "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 4804, "name": "Initializable", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 68, "src": "195:13:24", "typeDescriptions": { "typeIdentifier": "t_contract$_Initializable_$68", "typeString": "contract Initializable" } }, "id": 4805, "nodeType": "InheritanceSpecifier", "src": "195:13:24" } ], "contractDependencies": [ 68 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 4818, "linearizedBaseContracts": [ 4818, 68 ], "name": "AnotherWithInitialize", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "id": 4807, "name": "anotherValue", "nodeType": "VariableDeclaration", "scope": 4818, "src": "213:24:24", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 4806, "name": "uint", "nodeType": "ElementaryTypeName", "src": "213:4:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "public" }, { "body": { "id": 4816, "nodeType": "Block", "src": "277:28:24", "statements": [ { "expression": { "argumentTypes": null, "id": 4814, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 4812, "name": "anotherValue", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4807, "src": "283:12:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "hexValue": "3432", "id": 4813, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "298:2:24", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_42_by_1", "typeString": "int_const 42" }, "value": "42" }, "src": "283:17:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 4815, "nodeType": "ExpressionStatement", "src": "283:17:24" } ] }, "documentation": null, "id": 4817, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, "id": 4810, "modifierName": { "argumentTypes": null, "id": 4809, "name": "initializer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 43, "src": "258:11:24", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", "src": "258:11:24" } ], "name": "init", "nodeType": "FunctionDefinition", "parameters": { "id": 4808, "nodeType": "ParameterList", "parameters": [], "src": "255:2:24" }, "returnParameters": { "id": 4811, "nodeType": "ParameterList", "parameters": [], "src": "277:0:24" }, "scope": 4818, "src": "242:63:24", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], "scope": 4900, "src": "161:146:24" }, { "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 4827, "linearizedBaseContracts": [ 4827 ], "name": "WithoutInitialize", "nodeType": "ContractDefinition", "nodes": [ { "body": { "id": 4825, "nodeType": "Block", "src": "391:37:24", "statements": [ { "expression": { "argumentTypes": null, "hexValue": "576974686f7574496e697469616c697a65", "id": 4823, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "404:19:24", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_29904a0199e04a428d841982e15369f76a041f59a9487735d519e6dd6ca6c78c", "typeString": "literal_string \"WithoutInitialize\"" }, "value": "WithoutInitialize" }, "functionReturnParameters": 4822, "id": 4824, "nodeType": "Return", "src": "397:26:24" } ] }, "documentation": null, "id": 4826, "implemented": true, "kind": "function", "modifiers": [], "name": "say", "nodeType": "FunctionDefinition", "parameters": { "id": 4819, "nodeType": "ParameterList", "parameters": [], "src": "352:2:24" }, "returnParameters": { "id": 4822, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 4821, "name": "", "nodeType": "VariableDeclaration", "scope": 4826, "src": "376:13:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 4820, "name": "string", "nodeType": "ElementaryTypeName", "src": "376:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "375:15:24" }, "scope": 4827, "src": "340:88:24", "stateMutability": "pure", "superFunction": null, "visibility": "public" } ], "scope": 4900, "src": "309:121:24" }, { "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 4828, "name": "WithInitialize", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 4803, "src": "466:14:24", "typeDescriptions": { "typeIdentifier": "t_contract$_WithInitialize_$4803", "typeString": "contract WithInitialize" } }, "id": 4829, "nodeType": "InheritanceSpecifier", "src": "466:14:24" }, { "arguments": null, "baseName": { "contractScope": null, "id": 4830, "name": "AnotherWithInitialize", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 4818, "src": "482:21:24", "typeDescriptions": { "typeIdentifier": "t_contract$_AnotherWithInitialize_$4818", "typeString": "contract AnotherWithInitialize" } }, "id": 4831, "nodeType": "InheritanceSpecifier", "src": "482:21:24" } ], "contractDependencies": [ 68, 4803, 4818 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 4842, "linearizedBaseContracts": [ 4842, 4818, 68, 4803 ], "name": "WithBaseUninitialized", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "id": 4833, "name": "someValue", "nodeType": "VariableDeclaration", "scope": 4842, "src": "508:21:24", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 4832, "name": "uint", "nodeType": "ElementaryTypeName", "src": "508:4:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "public" }, { "body": { "id": 4840, "nodeType": "Block", "src": "563:25:24", "statements": [ { "expression": { "argumentTypes": null, "id": 4838, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 4836, "name": "someValue", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4833, "src": "569:9:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "hexValue": "3432", "id": 4837, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "581:2:24", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_42_by_1", "typeString": "int_const 42" }, "value": "42" }, "src": "569:14:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 4839, "nodeType": "ExpressionStatement", "src": "569:14:24" } ] }, "documentation": null, "id": 4841, "implemented": true, "kind": "function", "modifiers": [], "name": "initialize", "nodeType": "FunctionDefinition", "parameters": { "id": 4834, "nodeType": "ParameterList", "parameters": [], "src": "553:2:24" }, "returnParameters": { "id": 4835, "nodeType": "ParameterList", "parameters": [], "src": "563:0:24" }, "scope": 4842, "src": "534:54:24", "stateMutability": "nonpayable", "superFunction": 4802, "visibility": "public" } ], "scope": 4900, "src": "432:158:24" }, { "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 4843, "name": "WithInitialize", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 4803, "src": "624:14:24", "typeDescriptions": { "typeIdentifier": "t_contract$_WithInitialize_$4803", "typeString": "contract WithInitialize" } }, "id": 4844, "nodeType": "InheritanceSpecifier", "src": "624:14:24" }, { "arguments": null, "baseName": { "contractScope": null, "id": 4845, "name": "AnotherWithInitialize", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 4818, "src": "640:21:24", "typeDescriptions": { "typeIdentifier": "t_contract$_AnotherWithInitialize_$4818", "typeString": "contract AnotherWithInitialize" } }, "id": 4846, "nodeType": "InheritanceSpecifier", "src": "640:21:24" } ], "contractDependencies": [ 68, 4803, 4818 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 4867, "linearizedBaseContracts": [ 4867, 4818, 68, 4803 ], "name": "WithBaseInitialized", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "id": 4848, "name": "someValue", "nodeType": "VariableDeclaration", "scope": 4867, "src": "666:21:24", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 4847, "name": "uint", "nodeType": "ElementaryTypeName", "src": "666:4:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "public" }, { "body": { "id": 4865, "nodeType": "Block", "src": "721:92:24", "statements": [ { "expression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "id": 4851, "name": "WithInitialize", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4803, "src": "727:14:24", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_WithInitialize_$4803_$", "typeString": "type(contract WithInitialize)" } }, "id": 4853, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "initialize", "nodeType": "MemberAccess", "referencedDeclaration": 4802, "src": "727:25:24", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, "id": 4854, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "727:27:24", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 4855, "nodeType": "ExpressionStatement", "src": "727:27:24" }, { "expression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "id": 4856, "name": "AnotherWithInitialize", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4818, "src": "760:21:24", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_AnotherWithInitialize_$4818_$", "typeString": "type(contract AnotherWithInitialize)" } }, "id": 4858, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "init", "nodeType": "MemberAccess", "referencedDeclaration": 4817, "src": "760:26:24", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, "id": 4859, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "760:28:24", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 4860, "nodeType": "ExpressionStatement", "src": "760:28:24" }, { "expression": { "argumentTypes": null, "id": 4863, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 4861, "name": "someValue", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4848, "src": "794:9:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "hexValue": "3432", "id": 4862, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "806:2:24", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_42_by_1", "typeString": "int_const 42" }, "value": "42" }, "src": "794:14:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 4864, "nodeType": "ExpressionStatement", "src": "794:14:24" } ] }, "documentation": null, "id": 4866, "implemented": true, "kind": "function", "modifiers": [], "name": "initialize", "nodeType": "FunctionDefinition", "parameters": { "id": 4849, "nodeType": "ParameterList", "parameters": [], "src": "711:2:24" }, "returnParameters": { "id": 4850, "nodeType": "ParameterList", "parameters": [], "src": "721:0:24" }, "scope": 4867, "src": "692:121:24", "stateMutability": "nonpayable", "superFunction": 4802, "visibility": "public" } ], "scope": 4900, "src": "592:223:24" }, { "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 4868, "name": "WithoutInitialize", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 4827, "src": "857:17:24", "typeDescriptions": { "typeIdentifier": "t_contract$_WithoutInitialize_$4827", "typeString": "contract WithoutInitialize" } }, "id": 4869, "nodeType": "InheritanceSpecifier", "src": "857:17:24" } ], "contractDependencies": [ 4827 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 4880, "linearizedBaseContracts": [ 4880, 4827 ], "name": "WithSimpleBaseUninitialized", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "id": 4871, "name": "someValue", "nodeType": "VariableDeclaration", "scope": 4880, "src": "879:21:24", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 4870, "name": "uint", "nodeType": "ElementaryTypeName", "src": "879:4:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "public" }, { "body": { "id": 4878, "nodeType": "Block", "src": "934:25:24", "statements": [ { "expression": { "argumentTypes": null, "id": 4876, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 4874, "name": "someValue", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4871, "src": "940:9:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "hexValue": "3432", "id": 4875, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "952:2:24", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_42_by_1", "typeString": "int_const 42" }, "value": "42" }, "src": "940:14:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 4877, "nodeType": "ExpressionStatement", "src": "940:14:24" } ] }, "documentation": null, "id": 4879, "implemented": true, "kind": "function", "modifiers": [], "name": "initialize", "nodeType": "FunctionDefinition", "parameters": { "id": 4872, "nodeType": "ParameterList", "parameters": [], "src": "924:2:24" }, "returnParameters": { "id": 4873, "nodeType": "ParameterList", "parameters": [], "src": "934:0:24" }, "scope": 4880, "src": "905:54:24", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], "scope": 4900, "src": "817:144:24" }, { "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 4881, "name": "WithInitialize", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 4803, "src": "996:14:24", "typeDescriptions": { "typeIdentifier": "t_contract$_WithInitialize_$4803", "typeString": "contract WithInitialize" } }, "id": 4882, "nodeType": "InheritanceSpecifier", "src": "996:14:24" }, { "arguments": null, "baseName": { "contractScope": null, "id": 4883, "name": "AnotherWithInitialize", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 4818, "src": "1012:21:24", "typeDescriptions": { "typeIdentifier": "t_contract$_AnotherWithInitialize_$4818", "typeString": "contract AnotherWithInitialize" } }, "id": 4884, "nodeType": "InheritanceSpecifier", "src": "1012:21:24" } ], "contractDependencies": [ 68, 4803, 4818 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 4887, "linearizedBaseContracts": [ 4887, 4818, 68, 4803 ], "name": "ShouldHaveInitialize", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "id": 4886, "name": "someValue", "nodeType": "VariableDeclaration", "scope": 4887, "src": "1038:21:24", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 4885, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1038:4:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "public" } ], "scope": 4900, "src": "963:99:24" }, { "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 4888, "name": "WithInitialize", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 4803, "src": "1100:14:24", "typeDescriptions": { "typeIdentifier": "t_contract$_WithInitialize_$4803", "typeString": "contract WithInitialize" } }, "id": 4889, "nodeType": "InheritanceSpecifier", "src": "1100:14:24" }, { "arguments": null, "baseName": { "contractScope": null, "id": 4890, "name": "WithoutInitialize", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 4827, "src": "1116:17:24", "typeDescriptions": { "typeIdentifier": "t_contract$_WithoutInitialize_$4827", "typeString": "contract WithoutInitialize" } }, "id": 4891, "nodeType": "InheritanceSpecifier", "src": "1116:17:24" } ], "contractDependencies": [ 4803, 4827 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 4894, "linearizedBaseContracts": [ 4894, 4827, 4803 ], "name": "DoesNotNeedAnInitialize", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "id": 4893, "name": "someValue", "nodeType": "VariableDeclaration", "scope": 4894, "src": "1138:21:24", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 4892, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1138:4:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "public" } ], "scope": 4900, "src": "1064:98:24" }, { "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 4895, "name": "ShouldHaveInitialize", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 4887, "src": "1208:20:24", "typeDescriptions": { "typeIdentifier": "t_contract$_ShouldHaveInitialize_$4887", "typeString": "contract ShouldHaveInitialize" } }, "id": 4896, "nodeType": "InheritanceSpecifier", "src": "1208:20:24" } ], "contractDependencies": [ 68, 4803, 4818, 4887 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 4899, "linearizedBaseContracts": [ 4899, 4887, 4818, 68, 4803 ], "name": "ExtendsFromShouldHaveInitialize", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "id": 4898, "name": "someOtherValue", "nodeType": "VariableDeclaration", "scope": 4899, "src": "1233:26:24", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 4897, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1233:4:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "public" } ], "scope": 4900, "src": "1164:98:24" } ], "src": "0:1263:24" }, "bytecode": "0x608060405234801561001057600080fd5b5061028e806100206000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80633fa4f245146100675780634a627e611461008557806368620bd0146100a35780638129fc1c146100c1578063df04ef0a146100cb578063e1c7392a146100e9575b600080fd5b61006f6100f3565b6040518082815260200191505060405180910390f35b61008d6100f9565b6040518082815260200191505060405180910390f35b6100ab6100ff565b6040518082815260200191505060405180910390f35b6100c9610105565b005b6100d361010f565b6040518082815260200191505060405180910390f35b6100f1610115565b005b60005481565b60355481565b60345481565b602a600081905550565b60365481565b6001809054906101000a900460ff1680610133575061013261021d565b5b8061014b5750600160009054906101000a900460ff16155b15156101a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180610235602e913960400191505060405180910390fd5b60006001809054906101000a900460ff1615905080156101f15760018060016101000a81548160ff02191690831515021790555060018060006101000a81548160ff0219169083151502179055505b602a603481905550801561021a5760006001806101000a81548160ff0219169083151502179055505b50565b6000803090506000813b905060008114925050509056fe436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a165627a7a72305820d15e97d59c176aff3a62934a0b39f324fd19e4102647aa237817886577107e240029", "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100625760003560e01c80633fa4f245146100675780634a627e611461008557806368620bd0146100a35780638129fc1c146100c1578063df04ef0a146100cb578063e1c7392a146100e9575b600080fd5b61006f6100f3565b6040518082815260200191505060405180910390f35b61008d6100f9565b6040518082815260200191505060405180910390f35b6100ab6100ff565b6040518082815260200191505060405180910390f35b6100c9610105565b005b6100d361010f565b6040518082815260200191505060405180910390f35b6100f1610115565b005b60005481565b60355481565b60345481565b602a600081905550565b60365481565b6001809054906101000a900460ff1680610133575061013261021d565b5b8061014b5750600160009054906101000a900460ff16155b15156101a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180610235602e913960400191505060405180910390fd5b60006001809054906101000a900460ff1615905080156101f15760018060016101000a81548160ff02191690831515021790555060018060006101000a81548160ff0219169083151502179055505b602a603481905550801561021a5760006001806101000a81548160ff0219169083151502179055505b50565b6000803090506000813b905060008114925050509056fe436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a165627a7a72305820d15e97d59c176aff3a62934a0b39f324fd19e4102647aa237817886577107e240029", "compiler": { "name": "solc", "version": "0.5.3+commit.10d17f24.Emscripten.clang", "optimizer": {}, "evmVersion": "constantinople" } }