@daostack/upgrades
Version:
Proxy upgadable contracts based on openzeppelin-sdk
1,084 lines (1,083 loc) • 41.7 kB
JSON
{
"fileName": "SingleInheritanceInitializableMocks.sol",
"contractName": "MigratableMockV1",
"source": "pragma solidity ^0.6.0;\n// SPDX-License-Identifier: MIT\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": "211:152:17:-:0;;;;;;;;;;;;;;;;;;;;;;",
"deployedSourceMap": "211:152:17:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;258:16;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;279:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;258:16;;;;;;:::o;279:82::-;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;351:5:17::1;347:1;;:9;;;;;;;1288:1:0;1300:14:::0;1296:55;;;1339:5;1324:12;;:20;;;;;;;;;;;;;;;;;;1296:55;279:82:17;;;:::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": [
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "initialize",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [],
"name": "x",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
}
],
"ast": {
"absolutePath": "contracts/mocks/SingleInheritanceInitializableMocks.sol",
"exportedSymbols": {
"MigratableMockV1": [
4521
],
"MigratableMockV2": [
4554
],
"MigratableMockV3": [
4585
]
},
"id": 4586,
"license": "MIT",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 4502,
"literals": [
"solidity",
"^",
"0.6",
".0"
],
"nodeType": "PragmaDirective",
"src": "0:23:17"
},
{
"absolutePath": "contracts/Initializable.sol",
"file": "../Initializable.sol",
"id": 4503,
"nodeType": "ImportDirective",
"scope": 4586,
"sourceUnit": 75,
"src": "57:30:17",
"symbolAliases": [],
"unitAlias": ""
},
{
"abstract": false,
"baseContracts": [
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 4505,
"name": "Initializable",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 74,
"src": "240:13:17",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Initializable_$74",
"typeString": "contract Initializable"
}
},
"id": 4506,
"nodeType": "InheritanceSpecifier",
"src": "240:13:17"
}
],
"contractDependencies": [
74
],
"contractKind": "contract",
"documentation": {
"id": 4504,
"nodeType": "StructuredDocumentation",
"src": "89:121:17",
"text": " @title MigratableMockV1\n @dev This contract is a mock to test initializable functionality through migrations"
},
"fullyImplemented": true,
"id": 4521,
"linearizedBaseContracts": [
4521,
74
],
"name": "MigratableMockV1",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"functionSelector": "0c55699c",
"id": 4508,
"mutability": "mutable",
"name": "x",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 4521,
"src": "258:16:17",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 4507,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "258:7:17",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "public"
},
{
"body": {
"id": 4519,
"nodeType": "Block",
"src": "341:20:17",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 4517,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 4515,
"name": "x",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4508,
"src": "347:1:17",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 4516,
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4510,
"src": "351:5:17",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "347:9:17",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 4518,
"nodeType": "ExpressionStatement",
"src": "347:9:17"
}
]
},
"documentation": null,
"functionSelector": "fe4b84df",
"id": 4520,
"implemented": true,
"kind": "function",
"modifiers": [
{
"arguments": null,
"id": 4513,
"modifierName": {
"argumentTypes": null,
"id": 4512,
"name": "initializer",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 47,
"src": "314:11:17",
"typeDescriptions": {
"typeIdentifier": "t_modifier$__$",
"typeString": "modifier ()"
}
},
"nodeType": "ModifierInvocation",
"src": "314:11:17"
}
],
"name": "initialize",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
"id": 4511,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 4510,
"mutability": "mutable",
"name": "value",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 4520,
"src": "299:13:17",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 4509,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "299:7:17",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "298:15:17"
},
"returnParameters": {
"id": 4514,
"nodeType": "ParameterList",
"parameters": [],
"src": "341:0:17"
},
"scope": 4521,
"src": "279:82:17",
"stateMutability": "payable",
"virtual": false,
"visibility": "public"
}
],
"scope": 4586,
"src": "211:152:17"
},
{
"abstract": false,
"baseContracts": [
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 4523,
"name": "MigratableMockV1",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 4521,
"src": "506:16:17",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MigratableMockV1_$4521",
"typeString": "contract MigratableMockV1"
}
},
"id": 4524,
"nodeType": "InheritanceSpecifier",
"src": "506:16:17"
}
],
"contractDependencies": [
74,
4521
],
"contractKind": "contract",
"documentation": {
"id": 4522,
"nodeType": "StructuredDocumentation",
"src": "365:111:17",
"text": " @title MigratableMockV2\n @dev This contract is a mock to test migratable functionality with params"
},
"fullyImplemented": true,
"id": 4554,
"linearizedBaseContracts": [
4554,
4521,
74
],
"name": "MigratableMockV2",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"id": 4526,
"mutability": "mutable",
"name": "migratedV2",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 4554,
"src": "527:15:17",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 4525,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "527:4:17",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"functionSelector": "a56dfe4a",
"id": 4528,
"mutability": "mutable",
"name": "y",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 4554,
"src": "546:16:17",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 4527,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "546:7:17",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "public"
},
{
"body": {
"id": 4552,
"nodeType": "Block",
"src": "636:91:17",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 4537,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "UnaryOperation",
"operator": "!",
"prefix": true,
"src": "650:11:17",
"subExpression": {
"argumentTypes": null,
"id": 4536,
"name": "migratedV2",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4526,
"src": "651:10:17",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
}
],
"id": 4535,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
"src": "642:7:17",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
"typeString": "function (bool) pure"
}
},
"id": 4538,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "642:20:17",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 4539,
"nodeType": "ExpressionStatement",
"src": "642:20:17"
},
{
"expression": {
"argumentTypes": null,
"id": 4542,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 4540,
"name": "x",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4508,
"src": "668:1:17",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 4541,
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4530,
"src": "672:5:17",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "668:9:17",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 4543,
"nodeType": "ExpressionStatement",
"src": "668:9:17"
},
{
"expression": {
"argumentTypes": null,
"id": 4546,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 4544,
"name": "y",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4528,
"src": "683:1:17",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 4545,
"name": "anotherValue",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4532,
"src": "687:12:17",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "683:16:17",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 4547,
"nodeType": "ExpressionStatement",
"src": "683:16:17"
},
{
"expression": {
"argumentTypes": null,
"id": 4550,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 4548,
"name": "migratedV2",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4526,
"src": "705:10:17",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"hexValue": "74727565",
"id": 4549,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "bool",
"lValueRequested": false,
"nodeType": "Literal",
"src": "718:4:17",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"value": "true"
},
"src": "705:17:17",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"id": 4551,
"nodeType": "ExpressionStatement",
"src": "705:17:17"
}
]
},
"documentation": null,
"functionSelector": "3e54bacb",
"id": 4553,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "migrate",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
"id": 4533,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 4530,
"mutability": "mutable",
"name": "value",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 4553,
"src": "584:13:17",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 4529,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "584:7:17",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 4532,
"mutability": "mutable",
"name": "anotherValue",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 4553,
"src": "599:20:17",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 4531,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "599:7:17",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "583:37:17"
},
"returnParameters": {
"id": 4534,
"nodeType": "ParameterList",
"parameters": [],
"src": "636:0:17"
},
"scope": 4554,
"src": "567:160:17",
"stateMutability": "payable",
"virtual": false,
"visibility": "public"
}
],
"scope": 4586,
"src": "477:252:17"
},
{
"abstract": false,
"baseContracts": [
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 4556,
"name": "MigratableMockV2",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 4554,
"src": "875:16:17",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MigratableMockV2_$4554",
"typeString": "contract MigratableMockV2"
}
},
"id": 4557,
"nodeType": "InheritanceSpecifier",
"src": "875:16:17"
}
],
"contractDependencies": [
74,
4521,
4554
],
"contractKind": "contract",
"documentation": {
"id": 4555,
"nodeType": "StructuredDocumentation",
"src": "731:114:17",
"text": " @title MigratableMockV3\n @dev This contract is a mock to test migratable functionality without params"
},
"fullyImplemented": true,
"id": 4585,
"linearizedBaseContracts": [
4585,
4554,
4521,
74
],
"name": "MigratableMockV3",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"id": 4559,
"mutability": "mutable",
"name": "migratedV3",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 4585,
"src": "896:15:17",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 4558,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "896:4:17",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"value": null,
"visibility": "internal"
},
{
"body": {
"id": 4583,
"nodeType": "Block",
"src": "950:101:17",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 4564,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "UnaryOperation",
"operator": "!",
"prefix": true,
"src": "964:11:17",
"subExpression": {
"argumentTypes": null,
"id": 4563,
"name": "migratedV3",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4559,
"src": "965:10:17",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
}
],
"id": 4562,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
"src": "956:7:17",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
"typeString": "function (bool) pure"
}
},
"id": 4565,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "956:20:17",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 4566,
"nodeType": "ExpressionStatement",
"src": "956:20:17"
},
{
"assignments": [
4568
],
"declarations": [
{
"constant": false,
"id": 4568,
"mutability": "mutable",
"name": "oldX",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 4583,
"src": "982:12:17",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 4567,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "982:7:17",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 4570,
"initialValue": {
"argumentTypes": null,
"id": 4569,
"name": "x",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4508,
"src": "997:1:17",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "982:16:17"
},
{
"expression": {
"argumentTypes": null,
"id": 4573,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 4571,
"name": "x",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4508,
"src": "1004:1:17",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 4572,
"name": "y",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4528,
"src": "1008:1:17",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "1004:5:17",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 4574,
"nodeType": "ExpressionStatement",
"src": "1004:5:17"
},
{
"expression": {
"argumentTypes": null,
"id": 4577,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 4575,
"name": "y",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4528,
"src": "1015:1:17",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 4576,
"name": "oldX",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4568,
"src": "1019:4:17",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "1015:8:17",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 4578,
"nodeType": "ExpressionStatement",
"src": "1015:8:17"
},
{
"expression": {
"argumentTypes": null,
"id": 4581,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 4579,
"name": "migratedV3",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4559,
"src": "1029:10:17",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"hexValue": "74727565",
"id": 4580,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "bool",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1042:4:17",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"value": "true"
},
"src": "1029:17:17",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"id": 4582,
"nodeType": "ExpressionStatement",
"src": "1029:17:17"
}
]
},
"documentation": null,
"functionSelector": "8fd3ab80",
"id": 4584,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "migrate",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
"id": 4560,
"nodeType": "ParameterList",
"parameters": [],
"src": "932:2:17"
},
"returnParameters": {
"id": 4561,
"nodeType": "ParameterList",
"parameters": [],
"src": "950:0:17"
},
"scope": 4585,
"src": "916:135:17",
"stateMutability": "payable",
"virtual": false,
"visibility": "public"
}
],
"scope": 4586,
"src": "846:207:17"
}
],
"src": "0:1054:17"
},
"bytecode": "0x60806040523480156100115760006000fd5b50610017565b610234806100266000396000f3fe60806040526004361061002d5760003560e01c80630c55699c14610033578063fe4b84df1461005f5761002d565b60006000fd5b3480156100405760006000fd5b5061004961008e565b6040518082815260200191505060405180910390f35b61008c600480360360208110156100765760006000fd5b8101908080359060200190929190505050610097565b005b60336000505481565b600060019054906101000a900460ff16806100bc57506100bb6101b163ffffffff16565b5b806100d45750600060009054906101000a900460ff16155b151561012b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001806101d1602e913960400191505060405180910390fd5b6000600060019054906101000a900460ff16159050801561017d576001600060016101000a81548160ff0219169083151502179055506001600060006101000a81548160ff0219169083151502179055505b8160336000508190909055505b80156101ac576000600060016101000a81548160ff0219169083151502179055505b505b50565b600060003090506000813b905060008114925050506101cd5650505b9056fe436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a264697066735822122041bba1a74b14446d5f313a52345f4dc83bae0bf1398e30aa843895e171e4d76864736f6c634300060a0033",
"deployedBytecode": "0x60806040526004361061002d5760003560e01c80630c55699c14610033578063fe4b84df1461005f5761002d565b60006000fd5b3480156100405760006000fd5b5061004961008e565b6040518082815260200191505060405180910390f35b61008c600480360360208110156100765760006000fd5b8101908080359060200190929190505050610097565b005b60336000505481565b600060019054906101000a900460ff16806100bc57506100bb6101b163ffffffff16565b5b806100d45750600060009054906101000a900460ff16155b151561012b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001806101d1602e913960400191505060405180910390fd5b6000600060019054906101000a900460ff16159050801561017d576001600060016101000a81548160ff0219169083151502179055506001600060006101000a81548160ff0219169083151502179055505b8160336000508190909055505b80156101ac576000600060016101000a81548160ff0219169083151502179055505b505b50565b600060003090506000813b905060008114925050506101cd5650505b9056fe436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a264697066735822122041bba1a74b14446d5f313a52345f4dc83bae0bf1398e30aa843895e171e4d76864736f6c634300060a0033",
"compiler": {
"name": "solc",
"version": "0.6.10+commit.00c0fcaf.Emscripten.clang",
"optimizer": {},
"evmVersion": "constantinople"
}
}