UNPKG

@alice-network/zos-lib

Version:

JavaScript library for the ZeppelinOS smart contract platform

1,225 lines 49.8 kB
{ "contractName": "InitializableMock", "abi": [ { "constant": true, "inputs": [], "name": "x", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "initializerRan", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [], "name": "initialize", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [], "name": "initializeNested", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_x", "type": "uint256" } ], "name": "initializeWithX", "outputs": [], "payable": true, "stateMutability": "payable", "type": "function" }, { "constant": true, "inputs": [], "name": "fail", "outputs": [], "payable": false, "stateMutability": "pure", "type": "function" } ], "bytecode": "0x608060405234801561001057600080fd5b506105d3806100206000396000f300608060405260043610610077576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806218eaa81461007c5780630c55699c1461009c5780638129fc1c146100c7578063a9cc4718146100de578063c3b8ef2a146100f5578063cb3a528d14610124575b600080fd5b61009a6004803603810190808035906020019092919050505061013b565b005b3480156100a857600080fd5b506100b1610278565b6040518082815260200191505060405180910390f35b3480156100d357600080fd5b506100dc61027e565b005b3480156100ea57600080fd5b506100f36103ce565b005b34801561010157600080fd5b5061010a610446565b604051808215151515815260200191505060405180910390f35b34801561013057600080fd5b50610139610459565b005b60008060019054906101000a900460ff168061015b575061015a610596565b5b8061017257506000809054906101000a900460ff16155b151561020c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f436f6e747261637420696e7374616e63652068617320616c726561647920626581526020017f656e20696e697469616c697a656400000000000000000000000000000000000081525060400191505060405180910390fd5b600060019054906101000a900460ff1690506001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055508160348190555080600060016101000a81548160ff0219169083151502179055505050565b60345481565b60008060019054906101000a900460ff168061029e575061029d610596565b5b806102b557506000809054906101000a900460ff16155b151561034f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f436f6e747261637420696e7374616e63652068617320616c726561647920626581526020017f656e20696e697469616c697a656400000000000000000000000000000000000081525060400191505060405180910390fd5b600060019054906101000a900460ff1690506001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055506001603360006101000a81548160ff02191690831515021790555080600060016101000a81548160ff02191690831515021790555050565b60001515610444576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f496e697469616c697a61626c654d6f636b20666f72636564206661696c75726581525060200191505060405180910390fd5b565b603360009054906101000a900460ff1681565b60008060019054906101000a900460ff16806104795750610478610596565b5b8061049057506000809054906101000a900460ff16155b151561052a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f436f6e747261637420696e7374616e63652068617320616c726561647920626581526020017f656e20696e697469616c697a656400000000000000000000000000000000000081525060400191505060405180910390fd5b600060019054906101000a900460ff1690506001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff02191690831515021790555061057961027e565b80600060016101000a81548160ff02191690831515021790555050565b600080303b905060008114915050905600a165627a7a72305820c71cfecec928117710d7e082014746361809dc6533e629e3efe77c28b66eec3c0029", "deployedBytecode": "0x608060405260043610610077576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806218eaa81461007c5780630c55699c1461009c5780638129fc1c146100c7578063a9cc4718146100de578063c3b8ef2a146100f5578063cb3a528d14610124575b600080fd5b61009a6004803603810190808035906020019092919050505061013b565b005b3480156100a857600080fd5b506100b1610278565b6040518082815260200191505060405180910390f35b3480156100d357600080fd5b506100dc61027e565b005b3480156100ea57600080fd5b506100f36103ce565b005b34801561010157600080fd5b5061010a610446565b604051808215151515815260200191505060405180910390f35b34801561013057600080fd5b50610139610459565b005b60008060019054906101000a900460ff168061015b575061015a610596565b5b8061017257506000809054906101000a900460ff16155b151561020c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f436f6e747261637420696e7374616e63652068617320616c726561647920626581526020017f656e20696e697469616c697a656400000000000000000000000000000000000081525060400191505060405180910390fd5b600060019054906101000a900460ff1690506001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055508160348190555080600060016101000a81548160ff0219169083151502179055505050565b60345481565b60008060019054906101000a900460ff168061029e575061029d610596565b5b806102b557506000809054906101000a900460ff16155b151561034f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f436f6e747261637420696e7374616e63652068617320616c726561647920626581526020017f656e20696e697469616c697a656400000000000000000000000000000000000081525060400191505060405180910390fd5b600060019054906101000a900460ff1690506001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055506001603360006101000a81548160ff02191690831515021790555080600060016101000a81548160ff02191690831515021790555050565b60001515610444576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f496e697469616c697a61626c654d6f636b20666f72636564206661696c75726581525060200191505060405180910390fd5b565b603360009054906101000a900460ff1681565b60008060019054906101000a900460ff16806104795750610478610596565b5b8061049057506000809054906101000a900460ff16155b151561052a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f436f6e747261637420696e7374616e63652068617320616c726561647920626581526020017f656e20696e697469616c697a656400000000000000000000000000000000000081525060400191505060405180910390fd5b600060019054906101000a900460ff1690506001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff02191690831515021790555061057961027e565b80600060016101000a81548160ff02191690831515021790555050565b600080303b905060008114915050905600a165627a7a72305820c71cfecec928117710d7e082014746361809dc6533e629e3efe77c28b66eec3c0029", "sourceMap": "162:428:10:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;162:428:10;;;;;;;", "deployedSourceMap": "162:428:10:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;413:81;;;;;;;;;;;;;;;;;;;;;;;;;;241:16;;8:9:-1;5:2;;;30:1;27;20:12;5:2;241:16:10;;;;;;;;;;;;;;;;;;;;;;;262:73;;8:9:-1;5:2;;;30:1;27;20:12;5:2;262:73:10;;;;;;498:89;;8:9:-1;5:2;;;30:1;27;20:12;5:2;498:89:10;;;;;;211:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;211:26:10;;;;;;;;;;;;;;;;;;;;;;;;;;;339:70;;8:9:-1;5:2;;;30:1;27;20:12;5:2;339:70:10;;;;;;413:81;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;;;;;;;;;;;;;;;;;;487:2:10;483:1;:6;;;;1243:15:0;1228:12;;:30;;;;;;;;;;;;;;;;;;413:81:10;;:::o;241:16::-;;;;:::o;262:73::-;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;;;;;;;;;;;;;;;;;;326:4:10;309:14;;:21;;;;;;;;;;;;;;;;;;1243:15:0;1228:12;;:30;;;;;;;;;;;;;;;;;;262:73:10;:::o;498:89::-;540:5;532:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;498:89::o;211:26::-;;;;;;;;;;;;;:::o;339:70::-;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;;;;;;;;;;;;;;;;;;392:12:10;:10;:12::i;:::-;1243:15:0;1228:12;;:30;;;;;;;;;;;;;;;;;;339:70:10;:::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\n/**\n * @title InitializableMock\n * @dev This contract is a mock to test initializable functionality\n */\ncontract InitializableMock is Initializable {\n\n bool public initializerRan;\n uint256 public x;\n\n function initialize() public initializer {\n initializerRan = true;\n }\n\n function initializeNested() public initializer {\n initialize();\n }\n\n function initializeWithX(uint256 _x) public payable initializer {\n x = _x;\n }\n\n function fail() public pure {\n require(false, \"InitializableMock forced failure\");\n }\n\n}\n", "sourcePath": "/Users/yoonjae/WebstormProjects/zos/packages/lib/contracts/mocks/InitializableMock.sol", "ast": { "absolutePath": "/Users/yoonjae/WebstormProjects/zos/packages/lib/contracts/mocks/InitializableMock.sol", "exportedSymbols": { "InitializableMock": [ 1580 ] }, "id": 1581, "nodeType": "SourceUnit", "nodes": [ { "id": 1532, "literals": [ "solidity", "^", "0.4", ".24" ], "nodeType": "PragmaDirective", "src": "0:24:10" }, { "absolutePath": "/Users/yoonjae/WebstormProjects/zos/packages/lib/contracts/Initializable.sol", "file": "../Initializable.sol", "id": 1533, "nodeType": "ImportDirective", "scope": 1581, "sourceUnit": 56, "src": "26:30:10", "symbolAliases": [], "unitAlias": "" }, { "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 1534, "name": "Initializable", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 55, "src": "192:13:10", "typeDescriptions": { "typeIdentifier": "t_contract$_Initializable_$55", "typeString": "contract Initializable" } }, "id": 1535, "nodeType": "InheritanceSpecifier", "src": "192:13:10" } ], "contractDependencies": [ 55 ], "contractKind": "contract", "documentation": "@title InitializableMock\n@dev This contract is a mock to test initializable functionality", "fullyImplemented": true, "id": 1580, "linearizedBaseContracts": [ 1580, 55 ], "name": "InitializableMock", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "id": 1537, "name": "initializerRan", "nodeType": "VariableDeclaration", "scope": 1580, "src": "211:26:10", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 1536, "name": "bool", "nodeType": "ElementaryTypeName", "src": "211:4:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "public" }, { "constant": false, "id": 1539, "name": "x", "nodeType": "VariableDeclaration", "scope": 1580, "src": "241:16:10", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1538, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "241:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "public" }, { "body": { "id": 1548, "nodeType": "Block", "src": "303:32:10", "statements": [ { "expression": { "argumentTypes": null, "id": 1546, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 1544, "name": "initializerRan", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1537, "src": "309:14:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", "id": 1545, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "326:4:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, "src": "309:21:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 1547, "nodeType": "ExpressionStatement", "src": "309:21:10" } ] }, "documentation": null, "id": 1549, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, "id": 1542, "modifierName": { "argumentTypes": null, "id": 1541, "name": "initializer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 36, "src": "291:11:10", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", "src": "291:11:10" } ], "name": "initialize", "nodeType": "FunctionDefinition", "parameters": { "id": 1540, "nodeType": "ParameterList", "parameters": [], "src": "281:2:10" }, "payable": false, "returnParameters": { "id": 1543, "nodeType": "ParameterList", "parameters": [], "src": "303:0:10" }, "scope": 1580, "src": "262:73:10", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 1557, "nodeType": "Block", "src": "386:23:10", "statements": [ { "expression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "id": 1554, "name": "initialize", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1549, "src": "392:10:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, "id": 1555, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "392:12:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1556, "nodeType": "ExpressionStatement", "src": "392:12:10" } ] }, "documentation": null, "id": 1558, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, "id": 1552, "modifierName": { "argumentTypes": null, "id": 1551, "name": "initializer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 36, "src": "374:11:10", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", "src": "374:11:10" } ], "name": "initializeNested", "nodeType": "FunctionDefinition", "parameters": { "id": 1550, "nodeType": "ParameterList", "parameters": [], "src": "364:2:10" }, "payable": false, "returnParameters": { "id": 1553, "nodeType": "ParameterList", "parameters": [], "src": "386:0:10" }, "scope": 1580, "src": "339:70:10", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 1569, "nodeType": "Block", "src": "477:17:10", "statements": [ { "expression": { "argumentTypes": null, "id": 1567, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 1565, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1539, "src": "483:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 1566, "name": "_x", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1560, "src": "487:2:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "483:6:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 1568, "nodeType": "ExpressionStatement", "src": "483:6:10" } ] }, "documentation": null, "id": 1570, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, "id": 1563, "modifierName": { "argumentTypes": null, "id": 1562, "name": "initializer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 36, "src": "465:11:10", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", "src": "465:11:10" } ], "name": "initializeWithX", "nodeType": "FunctionDefinition", "parameters": { "id": 1561, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1560, "name": "_x", "nodeType": "VariableDeclaration", "scope": 1570, "src": "438:10:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1559, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "438:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "437:12:10" }, "payable": true, "returnParameters": { "id": 1564, "nodeType": "ParameterList", "parameters": [], "src": "477:0:10" }, "scope": 1580, "src": "413:81:10", "stateMutability": "payable", "superFunction": null, "visibility": "public" }, { "body": { "id": 1578, "nodeType": "Block", "src": "526:61:10", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "66616c7365", "id": 1574, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "540:5:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, { "argumentTypes": null, "hexValue": "496e697469616c697a61626c654d6f636b20666f72636564206661696c757265", "id": 1575, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "547:34:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_70458f305ab12a5814a8a6125666b5faf9428e7481e52fe1e943f8addb4009b7", "typeString": "literal_string \"InitializableMock forced failure\"" }, "value": "InitializableMock forced failure" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_70458f305ab12a5814a8a6125666b5faf9428e7481e52fe1e943f8addb4009b7", "typeString": "literal_string \"InitializableMock forced failure\"" } ], "id": 1573, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 3160, 3161 ], "referencedDeclaration": 3161, "src": "532:7:10", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 1576, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "532:50:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1577, "nodeType": "ExpressionStatement", "src": "532:50:10" } ] }, "documentation": null, "id": 1579, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "fail", "nodeType": "FunctionDefinition", "parameters": { "id": 1571, "nodeType": "ParameterList", "parameters": [], "src": "511:2:10" }, "payable": false, "returnParameters": { "id": 1572, "nodeType": "ParameterList", "parameters": [], "src": "526:0:10" }, "scope": 1580, "src": "498:89:10", "stateMutability": "pure", "superFunction": null, "visibility": "public" } ], "scope": 1581, "src": "162:428:10" } ], "src": "0:591:10" }, "legacyAST": { "absolutePath": "/Users/yoonjae/WebstormProjects/zos/packages/lib/contracts/mocks/InitializableMock.sol", "exportedSymbols": { "InitializableMock": [ 1580 ] }, "id": 1581, "nodeType": "SourceUnit", "nodes": [ { "id": 1532, "literals": [ "solidity", "^", "0.4", ".24" ], "nodeType": "PragmaDirective", "src": "0:24:10" }, { "absolutePath": "/Users/yoonjae/WebstormProjects/zos/packages/lib/contracts/Initializable.sol", "file": "../Initializable.sol", "id": 1533, "nodeType": "ImportDirective", "scope": 1581, "sourceUnit": 56, "src": "26:30:10", "symbolAliases": [], "unitAlias": "" }, { "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 1534, "name": "Initializable", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 55, "src": "192:13:10", "typeDescriptions": { "typeIdentifier": "t_contract$_Initializable_$55", "typeString": "contract Initializable" } }, "id": 1535, "nodeType": "InheritanceSpecifier", "src": "192:13:10" } ], "contractDependencies": [ 55 ], "contractKind": "contract", "documentation": "@title InitializableMock\n@dev This contract is a mock to test initializable functionality", "fullyImplemented": true, "id": 1580, "linearizedBaseContracts": [ 1580, 55 ], "name": "InitializableMock", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "id": 1537, "name": "initializerRan", "nodeType": "VariableDeclaration", "scope": 1580, "src": "211:26:10", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 1536, "name": "bool", "nodeType": "ElementaryTypeName", "src": "211:4:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "public" }, { "constant": false, "id": 1539, "name": "x", "nodeType": "VariableDeclaration", "scope": 1580, "src": "241:16:10", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1538, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "241:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "public" }, { "body": { "id": 1548, "nodeType": "Block", "src": "303:32:10", "statements": [ { "expression": { "argumentTypes": null, "id": 1546, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 1544, "name": "initializerRan", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1537, "src": "309:14:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", "id": 1545, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "326:4:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, "src": "309:21:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 1547, "nodeType": "ExpressionStatement", "src": "309:21:10" } ] }, "documentation": null, "id": 1549, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, "id": 1542, "modifierName": { "argumentTypes": null, "id": 1541, "name": "initializer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 36, "src": "291:11:10", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", "src": "291:11:10" } ], "name": "initialize", "nodeType": "FunctionDefinition", "parameters": { "id": 1540, "nodeType": "ParameterList", "parameters": [], "src": "281:2:10" }, "payable": false, "returnParameters": { "id": 1543, "nodeType": "ParameterList", "parameters": [], "src": "303:0:10" }, "scope": 1580, "src": "262:73:10", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 1557, "nodeType": "Block", "src": "386:23:10", "statements": [ { "expression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "id": 1554, "name": "initialize", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1549, "src": "392:10:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, "id": 1555, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "392:12:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1556, "nodeType": "ExpressionStatement", "src": "392:12:10" } ] }, "documentation": null, "id": 1558, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, "id": 1552, "modifierName": { "argumentTypes": null, "id": 1551, "name": "initializer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 36, "src": "374:11:10", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", "src": "374:11:10" } ], "name": "initializeNested", "nodeType": "FunctionDefinition", "parameters": { "id": 1550, "nodeType": "ParameterList", "parameters": [], "src": "364:2:10" }, "payable": false, "returnParameters": { "id": 1553, "nodeType": "ParameterList", "parameters": [], "src": "386:0:10" }, "scope": 1580, "src": "339:70:10", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 1569, "nodeType": "Block", "src": "477:17:10", "statements": [ { "expression": { "argumentTypes": null, "id": 1567, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 1565, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1539, "src": "483:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 1566, "name": "_x", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1560, "src": "487:2:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "483:6:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 1568, "nodeType": "ExpressionStatement", "src": "483:6:10" } ] }, "documentation": null, "id": 1570, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, "id": 1563, "modifierName": { "argumentTypes": null, "id": 1562, "name": "initializer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 36, "src": "465:11:10", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", "src": "465:11:10" } ], "name": "initializeWithX", "nodeType": "FunctionDefinition", "parameters": { "id": 1561, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1560, "name": "_x", "nodeType": "VariableDeclaration", "scope": 1570, "src": "438:10:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1559, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "438:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "437:12:10" }, "payable": true, "returnParameters": { "id": 1564, "nodeType": "ParameterList", "parameters": [], "src": "477:0:10" }, "scope": 1580, "src": "413:81:10", "stateMutability": "payable", "superFunction": null, "visibility": "public" }, { "body": { "id": 1578, "nodeType": "Block", "src": "526:61:10", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "66616c7365", "id": 1574, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "540:5:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, { "argumentTypes": null, "hexValue": "496e697469616c697a61626c654d6f636b20666f72636564206661696c757265", "id": 1575, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "547:34:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_70458f305ab12a5814a8a6125666b5faf9428e7481e52fe1e943f8addb4009b7", "typeString": "literal_string \"InitializableMock forced failure\"" }, "value": "InitializableMock forced failure" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_70458f305ab12a5814a8a6125666b5faf9428e7481e52fe1e943f8addb4009b7", "typeString": "literal_string \"InitializableMock forced failure\"" } ], "id": 1573, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 3160, 3161 ], "referencedDeclaration": 3161, "src": "532:7:10", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 1576, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "532:50:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1577, "nodeType": "ExpressionStatement", "src": "532:50:10" } ] }, "documentation": null, "id": 1579, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "fail", "nodeType": "FunctionDefinition", "parameters": { "id": 1571, "nodeType": "ParameterList", "parameters": [], "src": "511:2:10" }, "payable": false, "returnParameters": { "id": 1572, "nodeType": "ParameterList", "parameters": [], "src": "526:0:10" }, "scope": 1580, "src": "498:89:10", "stateMutability": "pure", "superFunction": null, "visibility": "public" } ], "scope": 1581, "src": "162:428:10" } ], "src": "0:591:10" }, "compiler": { "name": "solc", "version": "0.4.24+commit.e67f0147.Emscripten.clang" }, "networks": {}, "schemaVersion": "2.0.1", "updatedAt": "2019-02-15T10:15:15.367Z" }