@daostack/upgrades
Version:
Proxy upgadable contracts based on openzeppelin-sdk
875 lines (874 loc) • 38.1 kB
JSON
{
"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"
}
}