UNPKG

@newos/upgrades

Version:
1,073 lines (1,072 loc) 41.9 kB
{ "fileName": "SingleInheritanceInitializableMocks.sol", "contractName": "MigratableMockV2", "source": "pragma solidity ^0.5.0;\n\nimport '../Initializable.sol';\n\n/**\n * @title MigratableMockV1\n * @dev This contract is a mock to test initializable functionality through migrations\n */\ncontract MigratableMockV1 is Initializable {\n uint256 public x;\n\n function initialize(uint256 value) initializer public payable {\n x = value;\n }\n}\n\n/**\n * @title MigratableMockV2\n * @dev This contract is a mock to test migratable functionality with params\n */\ncontract MigratableMockV2 is MigratableMockV1 {\n bool migratedV2;\n uint256 public y;\n\n function migrate(uint256 value, uint256 anotherValue) public payable {\n require(!migratedV2);\n x = value;\n y = anotherValue;\n migratedV2 = true;\n }\n}\n\n/**\n * @title MigratableMockV3\n * @dev This contract is a mock to test migratable functionality without params\n */\ncontract MigratableMockV3 is MigratableMockV2 {\n bool migratedV3;\n\n function migrate() public payable {\n require(!migratedV3);\n uint256 oldX = x;\n x = y;\n y = oldX;\n migratedV3 = true;\n }\n}\n", "sourcePath": "contracts/mocks/SingleInheritanceInitializableMocks.sol", "sourceMap": "445:252:17:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;445:252:17;;;;;;;", "deployedSourceMap": "445:252:17:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;226:16;;8:9:-1;5:2;;;30:1;27;20:12;5:2;226:16:17;;;:::i;:::-;;;;;;;;;;;;;;;;;;;535:160;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;535:160:17;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;514:16;;8:9:-1;5:2;;;30:1;27;20:12;5:2;514:16:17;;;:::i;:::-;;;;;;;;;;;;;;;;;;;247:82;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;247:82:17;;;;;;;;;;;;;;;;;:::i;:::-;;226:16;;;;:::o;535:160::-;619:10;;;;;;;;;;;618:11;610:20;;;;;;;;640:5;636:1;:9;;;;655:12;651:1;:16;;;;686:4;673:10;;:17;;;;;;;;;;;;;;;;;;535:160;;:::o;514:16::-;;;;:::o;247:82::-;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;319:5:17;315:1;:9;;;;1268:14:0;1264:55;;;1307:5;1292:12;;:20;;;;;;;;;;;;;;;;;;1264:55;247:82:17;;:::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": "x", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "value", "type": "uint256" }, { "name": "anotherValue", "type": "uint256" } ], "name": "migrate", "outputs": [], "payable": true, "stateMutability": "payable", "type": "function" }, { "constant": true, "inputs": [], "name": "y", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "value", "type": "uint256" } ], "name": "initialize", "outputs": [], "payable": true, "stateMutability": "payable", "type": "function" } ], "ast": { "absolutePath": "contracts/mocks/SingleInheritanceInitializableMocks.sol", "exportedSymbols": { "MigratableMockV1": [ 4300 ], "MigratableMockV2": [ 4332 ], "MigratableMockV3": [ 4362 ] }, "id": 4363, "nodeType": "SourceUnit", "nodes": [ { "id": 4282, "literals": [ "solidity", "^", "0.5", ".0" ], "nodeType": "PragmaDirective", "src": "0:23:17" }, { "absolutePath": "contracts/Initializable.sol", "file": "../Initializable.sol", "id": 4283, "nodeType": "ImportDirective", "scope": 4363, "sourceUnit": 69, "src": "25:30:17", "symbolAliases": [], "unitAlias": "" }, { "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 4284, "name": "Initializable", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 68, "src": "208:13:17", "typeDescriptions": { "typeIdentifier": "t_contract$_Initializable_$68", "typeString": "contract Initializable" } }, "id": 4285, "nodeType": "InheritanceSpecifier", "src": "208:13:17" } ], "contractDependencies": [ 68 ], "contractKind": "contract", "documentation": "@title MigratableMockV1\n@dev This contract is a mock to test initializable functionality through migrations", "fullyImplemented": true, "id": 4300, "linearizedBaseContracts": [ 4300, 68 ], "name": "MigratableMockV1", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "id": 4287, "name": "x", "nodeType": "VariableDeclaration", "scope": 4300, "src": "226:16:17", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 4286, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "226:7:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "public" }, { "body": { "id": 4298, "nodeType": "Block", "src": "309:20:17", "statements": [ { "expression": { "argumentTypes": null, "id": 4296, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 4294, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4287, "src": "315:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 4295, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4289, "src": "319:5:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "315:9:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 4297, "nodeType": "ExpressionStatement", "src": "315:9:17" } ] }, "documentation": null, "id": 4299, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, "id": 4292, "modifierName": { "argumentTypes": null, "id": 4291, "name": "initializer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 43, "src": "282:11:17", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", "src": "282:11:17" } ], "name": "initialize", "nodeType": "FunctionDefinition", "parameters": { "id": 4290, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 4289, "name": "value", "nodeType": "VariableDeclaration", "scope": 4299, "src": "267:13:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 4288, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "267:7:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "266:15:17" }, "returnParameters": { "id": 4293, "nodeType": "ParameterList", "parameters": [], "src": "309:0:17" }, "scope": 4300, "src": "247:82:17", "stateMutability": "payable", "superFunction": null, "visibility": "public" } ], "scope": 4363, "src": "179:152:17" }, { "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 4301, "name": "MigratableMockV1", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 4300, "src": "474:16:17", "typeDescriptions": { "typeIdentifier": "t_contract$_MigratableMockV1_$4300", "typeString": "contract MigratableMockV1" } }, "id": 4302, "nodeType": "InheritanceSpecifier", "src": "474:16:17" } ], "contractDependencies": [ 68, 4300 ], "contractKind": "contract", "documentation": "@title MigratableMockV2\n@dev This contract is a mock to test migratable functionality with params", "fullyImplemented": true, "id": 4332, "linearizedBaseContracts": [ 4332, 4300, 68 ], "name": "MigratableMockV2", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "id": 4304, "name": "migratedV2", "nodeType": "VariableDeclaration", "scope": 4332, "src": "495:15:17", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 4303, "name": "bool", "nodeType": "ElementaryTypeName", "src": "495:4:17", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 4306, "name": "y", "nodeType": "VariableDeclaration", "scope": 4332, "src": "514:16:17", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 4305, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "514:7:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "public" }, { "body": { "id": 4330, "nodeType": "Block", "src": "604:91:17", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 4315, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "!", "prefix": true, "src": "618:11:17", "subExpression": { "argumentTypes": null, "id": 4314, "name": "migratedV2", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4304, "src": "619:10:17", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "id": 4313, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6466, 6467 ], "referencedDeclaration": 6466, "src": "610:7:17", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, "id": 4316, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "610:20:17", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 4317, "nodeType": "ExpressionStatement", "src": "610:20:17" }, { "expression": { "argumentTypes": null, "id": 4320, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 4318, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4287, "src": "636:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 4319, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4308, "src": "640:5:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "636:9:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 4321, "nodeType": "ExpressionStatement", "src": "636:9:17" }, { "expression": { "argumentTypes": null, "id": 4324, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 4322, "name": "y", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4306, "src": "651:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 4323, "name": "anotherValue", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4310, "src": "655:12:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "651:16:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 4325, "nodeType": "ExpressionStatement", "src": "651:16:17" }, { "expression": { "argumentTypes": null, "id": 4328, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 4326, "name": "migratedV2", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4304, "src": "673:10:17", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", "id": 4327, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "686:4:17", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, "src": "673:17:17", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 4329, "nodeType": "ExpressionStatement", "src": "673:17:17" } ] }, "documentation": null, "id": 4331, "implemented": true, "kind": "function", "modifiers": [], "name": "migrate", "nodeType": "FunctionDefinition", "parameters": { "id": 4311, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 4308, "name": "value", "nodeType": "VariableDeclaration", "scope": 4331, "src": "552:13:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 4307, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "552:7:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 4310, "name": "anotherValue", "nodeType": "VariableDeclaration", "scope": 4331, "src": "567:20:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 4309, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "567:7:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "551:37:17" }, "returnParameters": { "id": 4312, "nodeType": "ParameterList", "parameters": [], "src": "604:0:17" }, "scope": 4332, "src": "535:160:17", "stateMutability": "payable", "superFunction": null, "visibility": "public" } ], "scope": 4363, "src": "445:252:17" }, { "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 4333, "name": "MigratableMockV2", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 4332, "src": "843:16:17", "typeDescriptions": { "typeIdentifier": "t_contract$_MigratableMockV2_$4332", "typeString": "contract MigratableMockV2" } }, "id": 4334, "nodeType": "InheritanceSpecifier", "src": "843:16:17" } ], "contractDependencies": [ 68, 4300, 4332 ], "contractKind": "contract", "documentation": "@title MigratableMockV3\n@dev This contract is a mock to test migratable functionality without params", "fullyImplemented": true, "id": 4362, "linearizedBaseContracts": [ 4362, 4332, 4300, 68 ], "name": "MigratableMockV3", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "id": 4336, "name": "migratedV3", "nodeType": "VariableDeclaration", "scope": 4362, "src": "864:15:17", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 4335, "name": "bool", "nodeType": "ElementaryTypeName", "src": "864:4:17", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" }, { "body": { "id": 4360, "nodeType": "Block", "src": "918:101:17", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 4341, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "!", "prefix": true, "src": "932:11:17", "subExpression": { "argumentTypes": null, "id": 4340, "name": "migratedV3", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4336, "src": "933:10:17", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "id": 4339, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6466, 6467 ], "referencedDeclaration": 6466, "src": "924:7:17", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, "id": 4342, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "924:20:17", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 4343, "nodeType": "ExpressionStatement", "src": "924:20:17" }, { "assignments": [ 4345 ], "declarations": [ { "constant": false, "id": 4345, "name": "oldX", "nodeType": "VariableDeclaration", "scope": 4360, "src": "950:12:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 4344, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "950:7:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "id": 4347, "initialValue": { "argumentTypes": null, "id": 4346, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4287, "src": "965:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "950:16:17" }, { "expression": { "argumentTypes": null, "id": 4350, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 4348, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4287, "src": "972:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 4349, "name": "y", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4306, "src": "976:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "972:5:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 4351, "nodeType": "ExpressionStatement", "src": "972:5:17" }, { "expression": { "argumentTypes": null, "id": 4354, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 4352, "name": "y", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4306, "src": "983:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 4353, "name": "oldX", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4345, "src": "987:4:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "983:8:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 4355, "nodeType": "ExpressionStatement", "src": "983:8:17" }, { "expression": { "argumentTypes": null, "id": 4358, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 4356, "name": "migratedV3", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4336, "src": "997:10:17", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", "id": 4357, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "1010:4:17", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, "src": "997:17:17", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 4359, "nodeType": "ExpressionStatement", "src": "997:17:17" } ] }, "documentation": null, "id": 4361, "implemented": true, "kind": "function", "modifiers": [], "name": "migrate", "nodeType": "FunctionDefinition", "parameters": { "id": 4337, "nodeType": "ParameterList", "parameters": [], "src": "900:2:17" }, "returnParameters": { "id": 4338, "nodeType": "ParameterList", "parameters": [], "src": "918:0:17" }, "scope": 4362, "src": "884:135:17", "stateMutability": "payable", "superFunction": null, "visibility": "public" } ], "scope": 4363, "src": "814:207:17" } ], "src": "0:1022:17" }, "bytecode": "0x608060405234801561001057600080fd5b506102cf806100206000396000f3fe60806040526004361061003f5760003560e01c80630c55699c146100445780633e54bacb1461006f578063a56dfe4a146100a7578063fe4b84df146100d2575b600080fd5b34801561005057600080fd5b50610059610100565b6040518082815260200191505060405180910390f35b6100a56004803603604081101561008557600080fd5b810190808035906020019092919080359060200190929190505050610106565b005b3480156100b357600080fd5b506100bc61014f565b6040518082815260200191505060405180910390f35b6100fe600480360360208110156100e857600080fd5b8101908080359060200190929190505050610155565b005b60335481565b603460009054906101000a900460ff1615151561012257600080fd5b81603381905550806035819055506001603460006101000a81548160ff0219169083151502179055505050565b60355481565b600060019054906101000a900460ff1680610174575061017361025e565b5b8061018b57506000809054906101000a900460ff16155b15156101e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180610276602e913960400191505060405180910390fd5b60008060019054906101000a900460ff161590508015610232576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b81603381905550801561025a5760008060016101000a81548160ff0219169083151502179055505b5050565b6000803090506000813b905060008114925050509056fe436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a165627a7a72305820970448fe1cf4dec74f8bdfb145fd104eceed2da6224a3bc57f3dbee8a73051640029", "deployedBytecode": "0x60806040526004361061003f5760003560e01c80630c55699c146100445780633e54bacb1461006f578063a56dfe4a146100a7578063fe4b84df146100d2575b600080fd5b34801561005057600080fd5b50610059610100565b6040518082815260200191505060405180910390f35b6100a56004803603604081101561008557600080fd5b810190808035906020019092919080359060200190929190505050610106565b005b3480156100b357600080fd5b506100bc61014f565b6040518082815260200191505060405180910390f35b6100fe600480360360208110156100e857600080fd5b8101908080359060200190929190505050610155565b005b60335481565b603460009054906101000a900460ff1615151561012257600080fd5b81603381905550806035819055506001603460006101000a81548160ff0219169083151502179055505050565b60355481565b600060019054906101000a900460ff1680610174575061017361025e565b5b8061018b57506000809054906101000a900460ff16155b15156101e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180610276602e913960400191505060405180910390fd5b60008060019054906101000a900460ff161590508015610232576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b81603381905550801561025a5760008060016101000a81548160ff0219169083151502179055505b5050565b6000803090506000813b905060008114925050509056fe436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a165627a7a72305820970448fe1cf4dec74f8bdfb145fd104eceed2da6224a3bc57f3dbee8a73051640029", "compiler": { "name": "solc", "version": "0.5.3+commit.10d17f24.Emscripten.clang", "optimizer": {}, "evmVersion": "constantinople" } }