UNPKG

@daostack/upgrades

Version:
875 lines (874 loc) 38.1 kB
{ "fileName": "InitializableMock.sol", "contractName": "InitializableMock", "source": "pragma solidity ^0.6.0;\n// SPDX-License-Identifier: MIT\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 nonInitializable(uint256 _x) public payable {\n x = _x;\n }\n\n function fail() public pure {\n require(false, \"InitializableMock forced failure\");\n }\n\n function secret() private pure returns (string memory) {\n return 'Im secret';\n }\n\n}\n", "sourcePath": "contracts/mocks/InitializableMock.sol", "sourceMap": "193:590:11:-:0;;;;;;;;;;;;;;;;;;;;;;", "deployedSourceMap": "193:590:11:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;444:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;272:16;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;293:73;;;;;;;;;;;;;:::i;:::-;;603:89;;;;;;;;;;;;;:::i;:::-;;242:26;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;370:70;;;;;;;;;;;;;:::i;:::-;;529;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;444:81;1056:12:0;;;;;;;;;;;:31;;;;1072:15;:13;:15;;:::i;:::-;1056:31;:47;;;;1092:11;;;;;;;;;;;1091:12;1056:47;1048:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1161:19;1184:12;;;;;;;;;;;1183:13;1161:35;;1206:14;1202:80;;;1245:4;1230:12;;:19;;;;;;;;;;;;;;;;;;1271:4;1257:11;;:18;;;;;;;;;;;;;;;;;;1202:80;518:2:11::1;514:1;;:6;;;;;;;1288:1:0;1300:14:::0;1296:55;;;1339:5;1324:12;;:20;;;;;;;;;;;;;;;;;;1296:55;444:81:11;;;:::o;272:16::-;;;;;;:::o;293:73::-;1056:12:0;;;;;;;;;;;:31;;;;1072:15;:13;:15;;:::i;:::-;1056:31;:47;;;;1092:11;;;;;;;;;;;1091:12;1056:47;1048:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1161:19;1184:12;;;;;;;;;;;1183:13;1161:35;;1206:14;1202:80;;;1245:4;1230:12;;:19;;;;;;;;;;;;;;;;;;1271:4;1257:11;;:18;;;;;;;;;;;;;;;;;;1202:80;357:4:11::1;340:14;;:21;;;;;;;;;;;;;;;;;;1288:1:0;1300:14:::0;1296:55;;;1339:5;1324:12;;:20;;;;;;;;;;;;;;;;;;1296:55;293:73:11;;:::o;603:89::-;645:5;637:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;603:89;:::o;242:26::-;;;;;;;;;;;;;:::o;370:70::-;1056:12:0;;;;;;;;;;;:31;;;;1072:15;:13;:15;;:::i;:::-;1056:31;:47;;;;1092:11;;;;;;;;;;;1091:12;1056:47;1048:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1161:19;1184:12;;;;;;;;;;;1183:13;1161:35;;1206:14;1202:80;;;1245:4;1230:12;;:19;;;;;;;;;;;;;;;;;;1271:4;1257:11;;:18;;;;;;;;;;;;;;;;;;1202:80;423:12:11::1;:10;:12;;:::i;:::-;1288:1:0;1300:14:::0;1296:55;;;1339:5;1324:12;;:20;;;;;;;;;;;;;;;;;;1296:55;370:70:11;;:::o;529:::-;592:2;588:1;;:6;;;;;;;529:70;;:::o;1441:498:0:-;1488:4;1829:12;1852:4;1829:28;;1863:10;1908:4;1896:17;1890:23;;1933:1;1927:2;:7;1920:14;;;;;;1441:498;;;;:::o", "abi": [ { "inputs": [], "name": "fail", "outputs": [], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "initializeNested", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_x", "type": "uint256" } ], "name": "initializeWithX", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "initializerRan", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_x", "type": "uint256" } ], "name": "nonInitializable", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "x", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" } ], "ast": { "absolutePath": "contracts/mocks/InitializableMock.sol", "exportedSymbols": { "InitializableMock": [ 1814 ] }, "id": 1815, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { "id": 1747, "literals": [ "solidity", "^", "0.6", ".0" ], "nodeType": "PragmaDirective", "src": "0:23:11" }, { "absolutePath": "contracts/Initializable.sol", "file": "../Initializable.sol", "id": 1748, "nodeType": "ImportDirective", "scope": 1815, "sourceUnit": 75, "src": "57:30:11", "symbolAliases": [], "unitAlias": "" }, { "abstract": false, "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 1750, "name": "Initializable", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 74, "src": "223:13:11", "typeDescriptions": { "typeIdentifier": "t_contract$_Initializable_$74", "typeString": "contract Initializable" } }, "id": 1751, "nodeType": "InheritanceSpecifier", "src": "223:13:11" } ], "contractDependencies": [ 74 ], "contractKind": "contract", "documentation": { "id": 1749, "nodeType": "StructuredDocumentation", "src": "89:103:11", "text": " @title InitializableMock\n @dev This contract is a mock to test initializable functionality" }, "fullyImplemented": true, "id": 1814, "linearizedBaseContracts": [ 1814, 74 ], "name": "InitializableMock", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "functionSelector": "c3b8ef2a", "id": 1753, "mutability": "mutable", "name": "initializerRan", "nodeType": "VariableDeclaration", "overrides": null, "scope": 1814, "src": "242:26:11", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 1752, "name": "bool", "nodeType": "ElementaryTypeName", "src": "242:4:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "public" }, { "constant": false, "functionSelector": "0c55699c", "id": 1755, "mutability": "mutable", "name": "x", "nodeType": "VariableDeclaration", "overrides": null, "scope": 1814, "src": "272:16:11", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1754, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "272:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "public" }, { "body": { "id": 1764, "nodeType": "Block", "src": "334:32:11", "statements": [ { "expression": { "argumentTypes": null, "id": 1762, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 1760, "name": "initializerRan", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1753, "src": "340:14:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", "id": 1761, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "357:4:11", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, "src": "340:21:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 1763, "nodeType": "ExpressionStatement", "src": "340:21:11" } ] }, "documentation": null, "functionSelector": "8129fc1c", "id": 1765, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, "id": 1758, "modifierName": { "argumentTypes": null, "id": 1757, "name": "initializer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 47, "src": "322:11:11", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", "src": "322:11:11" } ], "name": "initialize", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 1756, "nodeType": "ParameterList", "parameters": [], "src": "312:2:11" }, "returnParameters": { "id": 1759, "nodeType": "ParameterList", "parameters": [], "src": "334:0:11" }, "scope": 1814, "src": "293:73:11", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { "id": 1773, "nodeType": "Block", "src": "417:23:11", "statements": [ { "expression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "id": 1770, "name": "initialize", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1765, "src": "423:10:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, "id": 1771, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "423:12:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1772, "nodeType": "ExpressionStatement", "src": "423:12:11" } ] }, "documentation": null, "functionSelector": "cb3a528d", "id": 1774, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, "id": 1768, "modifierName": { "argumentTypes": null, "id": 1767, "name": "initializer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 47, "src": "405:11:11", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", "src": "405:11:11" } ], "name": "initializeNested", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 1766, "nodeType": "ParameterList", "parameters": [], "src": "395:2:11" }, "returnParameters": { "id": 1769, "nodeType": "ParameterList", "parameters": [], "src": "417:0:11" }, "scope": 1814, "src": "370:70:11", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { "id": 1785, "nodeType": "Block", "src": "508:17:11", "statements": [ { "expression": { "argumentTypes": null, "id": 1783, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 1781, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1755, "src": "514:1:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 1782, "name": "_x", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1776, "src": "518:2:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "514:6:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 1784, "nodeType": "ExpressionStatement", "src": "514:6:11" } ] }, "documentation": null, "functionSelector": "0018eaa8", "id": 1786, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, "id": 1779, "modifierName": { "argumentTypes": null, "id": 1778, "name": "initializer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 47, "src": "496:11:11", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", "src": "496:11:11" } ], "name": "initializeWithX", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 1777, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1776, "mutability": "mutable", "name": "_x", "nodeType": "VariableDeclaration", "overrides": null, "scope": 1786, "src": "469:10:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1775, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "469:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "468:12:11" }, "returnParameters": { "id": 1780, "nodeType": "ParameterList", "parameters": [], "src": "508:0:11" }, "scope": 1814, "src": "444:81:11", "stateMutability": "payable", "virtual": false, "visibility": "public" }, { "body": { "id": 1795, "nodeType": "Block", "src": "582:17:11", "statements": [ { "expression": { "argumentTypes": null, "id": 1793, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 1791, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1755, "src": "588:1:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 1792, "name": "_x", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1788, "src": "592:2:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "588:6:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 1794, "nodeType": "ExpressionStatement", "src": "588:6:11" } ] }, "documentation": null, "functionSelector": "e955c9ec", "id": 1796, "implemented": true, "kind": "function", "modifiers": [], "name": "nonInitializable", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 1789, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1788, "mutability": "mutable", "name": "_x", "nodeType": "VariableDeclaration", "overrides": null, "scope": 1796, "src": "555:10:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1787, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "555:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "554:12:11" }, "returnParameters": { "id": 1790, "nodeType": "ParameterList", "parameters": [], "src": "582:0:11" }, "scope": 1814, "src": "529:70:11", "stateMutability": "payable", "virtual": false, "visibility": "public" }, { "body": { "id": 1804, "nodeType": "Block", "src": "631:61:11", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "66616c7365", "id": 1800, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "645:5:11", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, { "argumentTypes": null, "hexValue": "496e697469616c697a61626c654d6f636b20666f72636564206661696c757265", "id": 1801, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "652:34:11", "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": 1799, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ -18, -18 ], "referencedDeclaration": -18, "src": "637:7:11", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 1802, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "637:50:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1803, "nodeType": "ExpressionStatement", "src": "637:50:11" } ] }, "documentation": null, "functionSelector": "a9cc4718", "id": 1805, "implemented": true, "kind": "function", "modifiers": [], "name": "fail", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 1797, "nodeType": "ParameterList", "parameters": [], "src": "616:2:11" }, "returnParameters": { "id": 1798, "nodeType": "ParameterList", "parameters": [], "src": "631:0:11" }, "scope": 1814, "src": "603:89:11", "stateMutability": "pure", "virtual": false, "visibility": "public" }, { "body": { "id": 1812, "nodeType": "Block", "src": "751:29:11", "statements": [ { "expression": { "argumentTypes": null, "hexValue": "496d20736563726574", "id": 1810, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "764:11:11", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_917e1920cd22ea08a6fe16f962e32a49c23ad423aee4a52a1181dc229099e711", "typeString": "literal_string \"Im secret\"" }, "value": "Im secret" }, "functionReturnParameters": 1809, "id": 1811, "nodeType": "Return", "src": "757:18:11" } ] }, "documentation": null, "id": 1813, "implemented": true, "kind": "function", "modifiers": [], "name": "secret", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 1806, "nodeType": "ParameterList", "parameters": [], "src": "711:2:11" }, "returnParameters": { "id": 1809, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1808, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, "scope": 1813, "src": "736:13:11", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 1807, "name": "string", "nodeType": "ElementaryTypeName", "src": "736:6:11", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "735:15:11" }, "scope": 1814, "src": "696:84:11", "stateMutability": "pure", "virtual": false, "visibility": "private" } ], "scope": 1815, "src": "193:590:11" } ], "src": "0:784:11" }, "bytecode": "0x60806040523480156100115760006000fd5b50610017565b610603806100266000396000f3fe6080604052600436106100735760003560e01c8063a9cc47181161004e578063a9cc4718146100ec578063c3b8ef2a14610104578063cb3a528d14610134578063e955c9ec1461014c57610073565b806218eaa8146100795780630c55699c146100a85780638129fc1c146100d457610073565b60006000fd5b6100a6600480360360208110156100905760006000fd5b810190808035906020019092919050505061017b565b005b3480156100b55760006000fd5b506100be610295565b6040518082815260200191505060405180910390f35b3480156100e15760006000fd5b506100ea61029e565b005b3480156100f95760006000fd5b506101026103c6565b005b3480156101115760006000fd5b5061011a610442565b604051808215151515815260200191505060405180910390f35b3480156101415760006000fd5b5061014a610455565b005b610179600480360360208110156101635760006000fd5b8101908080359060200190929190505050610570565b005b600060019054906101000a900460ff16806101a0575061019f61058063ffffffff16565b5b806101b85750600060009054906101000a900460ff16155b151561020f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001806105a0602e913960400191505060405180910390fd5b6000600060019054906101000a900460ff161590508015610261576001600060016101000a81548160ff0219169083151502179055506001600060006101000a81548160ff0219169083151502179055505b8160346000508190909055505b8015610290576000600060016101000a81548160ff0219169083151502179055505b505b50565b60346000505481565b600060019054906101000a900460ff16806102c357506102c261058063ffffffff16565b5b806102db5750600060009054906101000a900460ff16155b1515610332576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001806105a0602e913960400191505060405180910390fd5b6000600060019054906101000a900460ff161590508015610384576001600060016101000a81548160ff0219169083151502179055506001600060006101000a81548160ff0219169083151502179055505b6001603360006101000a81548160ff0219169083151502179055505b80156103c2576000600060016101000a81548160ff0219169083151502179055505b505b565b6000151561043f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f496e697469616c697a61626c654d6f636b20666f72636564206661696c75726581526020015060200191505060405180910390fd5b5b565b603360009054906101000a900460ff1681565b600060019054906101000a900460ff168061047a575061047961058063ffffffff16565b5b806104925750600060009054906101000a900460ff16155b15156104e9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001806105a0602e913960400191505060405180910390fd5b6000600060019054906101000a900460ff16159050801561053b576001600060016101000a81548160ff0219169083151502179055506001600060006101000a81548160ff0219169083151502179055505b61054961029e63ffffffff16565b5b801561056c576000600060016101000a81548160ff0219169083151502179055505b505b565b8060346000508190909055505b50565b600060003090506000813b9050600081149250505061059c5650505b9056fe436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a2646970667358221220fd6995e168a6440a3ed9983bb2dadcf0e14801c409a5f9a7fcccbd26da41ed4b64736f6c634300060a0033", "deployedBytecode": "0x6080604052600436106100735760003560e01c8063a9cc47181161004e578063a9cc4718146100ec578063c3b8ef2a14610104578063cb3a528d14610134578063e955c9ec1461014c57610073565b806218eaa8146100795780630c55699c146100a85780638129fc1c146100d457610073565b60006000fd5b6100a6600480360360208110156100905760006000fd5b810190808035906020019092919050505061017b565b005b3480156100b55760006000fd5b506100be610295565b6040518082815260200191505060405180910390f35b3480156100e15760006000fd5b506100ea61029e565b005b3480156100f95760006000fd5b506101026103c6565b005b3480156101115760006000fd5b5061011a610442565b604051808215151515815260200191505060405180910390f35b3480156101415760006000fd5b5061014a610455565b005b610179600480360360208110156101635760006000fd5b8101908080359060200190929190505050610570565b005b600060019054906101000a900460ff16806101a0575061019f61058063ffffffff16565b5b806101b85750600060009054906101000a900460ff16155b151561020f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001806105a0602e913960400191505060405180910390fd5b6000600060019054906101000a900460ff161590508015610261576001600060016101000a81548160ff0219169083151502179055506001600060006101000a81548160ff0219169083151502179055505b8160346000508190909055505b8015610290576000600060016101000a81548160ff0219169083151502179055505b505b50565b60346000505481565b600060019054906101000a900460ff16806102c357506102c261058063ffffffff16565b5b806102db5750600060009054906101000a900460ff16155b1515610332576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001806105a0602e913960400191505060405180910390fd5b6000600060019054906101000a900460ff161590508015610384576001600060016101000a81548160ff0219169083151502179055506001600060006101000a81548160ff0219169083151502179055505b6001603360006101000a81548160ff0219169083151502179055505b80156103c2576000600060016101000a81548160ff0219169083151502179055505b505b565b6000151561043f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f496e697469616c697a61626c654d6f636b20666f72636564206661696c75726581526020015060200191505060405180910390fd5b5b565b603360009054906101000a900460ff1681565b600060019054906101000a900460ff168061047a575061047961058063ffffffff16565b5b806104925750600060009054906101000a900460ff16155b15156104e9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001806105a0602e913960400191505060405180910390fd5b6000600060019054906101000a900460ff16159050801561053b576001600060016101000a81548160ff0219169083151502179055506001600060006101000a81548160ff0219169083151502179055505b61054961029e63ffffffff16565b5b801561056c576000600060016101000a81548160ff0219169083151502179055505b505b565b8060346000508190909055505b50565b600060003090506000813b9050600081149250505061059c5650505b9056fe436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a2646970667358221220fd6995e168a6440a3ed9983bb2dadcf0e14801c409a5f9a7fcccbd26da41ed4b64736f6c634300060a0033", "compiler": { "name": "solc", "version": "0.6.10+commit.00c0fcaf.Emscripten.clang", "optimizer": {}, "evmVersion": "constantinople" } }