UNPKG

@newos/upgrades

Version:
1,387 lines (1,386 loc) 62 kB
{ "fileName": "DummyImplementation.sol", "contractName": "DummyImplementationV2", "source": "pragma solidity ^0.5.0;\n\ncontract Impl {\n function version() public pure returns (string memory); \n}\n\ncontract DummyImplementation {\n uint256 public value;\n string public text;\n uint256[] public values;\n\n function initializeNonPayable() public {\n value = 10;\n }\n\n function initializePayable() payable public {\n value = 100;\n }\n\n function initializeNonPayable(uint256 _value) public {\n value = _value;\n }\n\n function initializePayable(uint256 _value) payable public {\n value = _value;\n }\n\n function initialize(uint256 _value, string memory _text, uint256[] memory _values) public {\n value = _value;\n text = _text;\n values = _values;\n }\n\n function get() public pure returns (bool) {\n return true;\n }\n\n function version() public pure returns (string memory) {\n return \"V1\";\n }\n\n function reverts() public pure {\n require(false);\n }\n}\n\ncontract DummyImplementationV2 is DummyImplementation {\n function migrate(uint256 newVal) payable public {\n value = newVal;\n }\n\n function version() public pure returns (string memory) {\n return \"V2\";\n }\n}\n", "sourcePath": "contracts/mocks/DummyImplementation.sol", "sourceMap": "881:214:9:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;881:214:9;;;;;;;", "deployedSourceMap": "881:214:9:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;426:83;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;426:83:9;;;;;;;;;;;;;;;;;:::i;:::-;;160:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;160:18:9;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;160:18:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;210:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;210:60:9;;;:::i;:::-;;821:56;;8:9:-1;5:2;;;30:1;27;20:12;5:2;821:56:9;;;:::i;:::-;;136:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;136:20:9;;;:::i;:::-;;;;;;;;;;;;;;;;;;;939:73;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;939:73:9;;;;;;;;;;;;;;;;;:::i;:::-;;1016:77;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1016:77:9;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1016:77:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;344:78;;8:9:-1;5:2;;;30:1;27;20:12;5:2;344:78:9;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;344:78:9;;;;;;;;;;;;;;;;;:::i;:::-;;182:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;182:23:9;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;182:23:9;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;672:64;;8:9:-1;5:2;;;30:1;27;20:12;5:2;672:64:9;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;274:66;;;:::i;:::-;;513:155;;8:9:-1;5:2;;;30:1;27;20:12;5:2;513:155:9;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;513:155:9;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;513:155:9;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;513:155:9;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;513:155:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;513:155:9;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;513:155:9;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;513:155:9;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;513:155:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;513:155:9;;;;;;;;;;;;;;;:::i;:::-;;426:83;498:6;490:5;:14;;;;426:83;:::o;160:18::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;210:60::-;263:2;255:5;:10;;;;210:60::o;821:56::-;866:5;858:14;;;;;;;;821:56::o;136:20::-;;;;:::o;939:73::-;1001:6;993:5;:14;;;;939:73;:::o;1016:77::-;1056:13;1077:11;;;;;;;;;;;;;;;;;;;;1016:77;:::o;344:78::-;411:6;403:5;:14;;;;344:78;:::o;182:23::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;672:64::-;708:4;727;720:11;;672:64;:::o;274:66::-;332:3;324:5;:11;;;;274:66::o;513:155::-;617:6;609:5;:14;;;;636:5;629:4;:12;;;;;;;;;;;;:::i;:::-;;656:7;647:6;:16;;;;;;;;;;;;:::i;:::-;;513:155;;;:::o;881:214::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", "abi": [ { "constant": false, "inputs": [ { "name": "_value", "type": "uint256" } ], "name": "initializePayable", "outputs": [], "payable": true, "stateMutability": "payable", "type": "function" }, { "constant": true, "inputs": [], "name": "text", "outputs": [ { "name": "", "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [], "name": "initializeNonPayable", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "reverts", "outputs": [], "payable": false, "stateMutability": "pure", "type": "function" }, { "constant": true, "inputs": [], "name": "value", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "newVal", "type": "uint256" } ], "name": "migrate", "outputs": [], "payable": true, "stateMutability": "payable", "type": "function" }, { "constant": true, "inputs": [], "name": "version", "outputs": [ { "name": "", "type": "string" } ], "payable": false, "stateMutability": "pure", "type": "function" }, { "constant": false, "inputs": [ { "name": "_value", "type": "uint256" } ], "name": "initializeNonPayable", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "name": "", "type": "uint256" } ], "name": "values", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "get", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "pure", "type": "function" }, { "constant": false, "inputs": [], "name": "initializePayable", "outputs": [], "payable": true, "stateMutability": "payable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_value", "type": "uint256" }, { "name": "_text", "type": "string" }, { "name": "_values", "type": "uint256[]" } ], "name": "initialize", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" } ], "ast": { "absolutePath": "contracts/mocks/DummyImplementation.sol", "exportedSymbols": { "DummyImplementation": [ 1524 ], "DummyImplementationV2": [ 1545 ], "Impl": [ 1433 ] }, "id": 1546, "nodeType": "SourceUnit", "nodes": [ { "id": 1427, "literals": [ "solidity", "^", "0.5", ".0" ], "nodeType": "PragmaDirective", "src": "0:23:9" }, { "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "documentation": null, "fullyImplemented": false, "id": 1433, "linearizedBaseContracts": [ 1433 ], "name": "Impl", "nodeType": "ContractDefinition", "nodes": [ { "body": null, "documentation": null, "id": 1432, "implemented": false, "kind": "function", "modifiers": [], "name": "version", "nodeType": "FunctionDefinition", "parameters": { "id": 1428, "nodeType": "ParameterList", "parameters": [], "src": "59:2:9" }, "returnParameters": { "id": 1431, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1430, "name": "", "nodeType": "VariableDeclaration", "scope": 1432, "src": "83:13:9", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 1429, "name": "string", "nodeType": "ElementaryTypeName", "src": "83:6:9", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "82:15:9" }, "scope": 1433, "src": "43:55:9", "stateMutability": "pure", "superFunction": null, "visibility": "public" } ], "scope": 1546, "src": "25:76:9" }, { "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 1524, "linearizedBaseContracts": [ 1524 ], "name": "DummyImplementation", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "id": 1435, "name": "value", "nodeType": "VariableDeclaration", "scope": 1524, "src": "136:20:9", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1434, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "136:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "public" }, { "constant": false, "id": 1437, "name": "text", "nodeType": "VariableDeclaration", "scope": 1524, "src": "160:18:9", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string" }, "typeName": { "id": 1436, "name": "string", "nodeType": "ElementaryTypeName", "src": "160:6:9", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "public" }, { "constant": false, "id": 1440, "name": "values", "nodeType": "VariableDeclaration", "scope": 1524, "src": "182:23:9", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage", "typeString": "uint256[]" }, "typeName": { "baseType": { "id": 1438, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "182:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 1439, "length": null, "nodeType": "ArrayTypeName", "src": "182:9:9", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" } }, "value": null, "visibility": "public" }, { "body": { "id": 1447, "nodeType": "Block", "src": "249:21:9", "statements": [ { "expression": { "argumentTypes": null, "id": 1445, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 1443, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1435, "src": "255:5:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "hexValue": "3130", "id": 1444, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "263:2:9", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" }, "value": "10" }, "src": "255:10:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 1446, "nodeType": "ExpressionStatement", "src": "255:10:9" } ] }, "documentation": null, "id": 1448, "implemented": true, "kind": "function", "modifiers": [], "name": "initializeNonPayable", "nodeType": "FunctionDefinition", "parameters": { "id": 1441, "nodeType": "ParameterList", "parameters": [], "src": "239:2:9" }, "returnParameters": { "id": 1442, "nodeType": "ParameterList", "parameters": [], "src": "249:0:9" }, "scope": 1524, "src": "210:60:9", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 1455, "nodeType": "Block", "src": "318:22:9", "statements": [ { "expression": { "argumentTypes": null, "id": 1453, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 1451, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1435, "src": "324:5:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "hexValue": "313030", "id": 1452, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "332:3:9", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_100_by_1", "typeString": "int_const 100" }, "value": "100" }, "src": "324:11:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 1454, "nodeType": "ExpressionStatement", "src": "324:11:9" } ] }, "documentation": null, "id": 1456, "implemented": true, "kind": "function", "modifiers": [], "name": "initializePayable", "nodeType": "FunctionDefinition", "parameters": { "id": 1449, "nodeType": "ParameterList", "parameters": [], "src": "300:2:9" }, "returnParameters": { "id": 1450, "nodeType": "ParameterList", "parameters": [], "src": "318:0:9" }, "scope": 1524, "src": "274:66:9", "stateMutability": "payable", "superFunction": null, "visibility": "public" }, { "body": { "id": 1465, "nodeType": "Block", "src": "397:25:9", "statements": [ { "expression": { "argumentTypes": null, "id": 1463, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 1461, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1435, "src": "403:5:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 1462, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1458, "src": "411:6:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "403:14:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 1464, "nodeType": "ExpressionStatement", "src": "403:14:9" } ] }, "documentation": null, "id": 1466, "implemented": true, "kind": "function", "modifiers": [], "name": "initializeNonPayable", "nodeType": "FunctionDefinition", "parameters": { "id": 1459, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1458, "name": "_value", "nodeType": "VariableDeclaration", "scope": 1466, "src": "374:14:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1457, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "374:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "373:16:9" }, "returnParameters": { "id": 1460, "nodeType": "ParameterList", "parameters": [], "src": "397:0:9" }, "scope": 1524, "src": "344:78:9", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 1475, "nodeType": "Block", "src": "484:25:9", "statements": [ { "expression": { "argumentTypes": null, "id": 1473, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 1471, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1435, "src": "490:5:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 1472, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1468, "src": "498:6:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "490:14:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 1474, "nodeType": "ExpressionStatement", "src": "490:14:9" } ] }, "documentation": null, "id": 1476, "implemented": true, "kind": "function", "modifiers": [], "name": "initializePayable", "nodeType": "FunctionDefinition", "parameters": { "id": 1469, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1468, "name": "_value", "nodeType": "VariableDeclaration", "scope": 1476, "src": "453:14:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1467, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "453:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "452:16:9" }, "returnParameters": { "id": 1470, "nodeType": "ParameterList", "parameters": [], "src": "484:0:9" }, "scope": 1524, "src": "426:83:9", "stateMutability": "payable", "superFunction": null, "visibility": "public" }, { "body": { "id": 1498, "nodeType": "Block", "src": "603:65:9", "statements": [ { "expression": { "argumentTypes": null, "id": 1488, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 1486, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1435, "src": "609:5:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 1487, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1478, "src": "617:6:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "609:14:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 1489, "nodeType": "ExpressionStatement", "src": "609:14:9" }, { "expression": { "argumentTypes": null, "id": 1492, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 1490, "name": "text", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1437, "src": "629:4:9", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 1491, "name": "_text", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1480, "src": "636:5:9", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "src": "629:12:9", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "id": 1493, "nodeType": "ExpressionStatement", "src": "629:12:9" }, { "expression": { "argumentTypes": null, "id": 1496, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 1494, "name": "values", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1440, "src": "647:6:9", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage", "typeString": "uint256[] storage ref" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 1495, "name": "_values", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1483, "src": "656:7:9", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, "src": "647:16:9", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage", "typeString": "uint256[] storage ref" } }, "id": 1497, "nodeType": "ExpressionStatement", "src": "647:16:9" } ] }, "documentation": null, "id": 1499, "implemented": true, "kind": "function", "modifiers": [], "name": "initialize", "nodeType": "FunctionDefinition", "parameters": { "id": 1484, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1478, "name": "_value", "nodeType": "VariableDeclaration", "scope": 1499, "src": "533:14:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1477, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "533:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1480, "name": "_text", "nodeType": "VariableDeclaration", "scope": 1499, "src": "549:19:9", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 1479, "name": "string", "nodeType": "ElementaryTypeName", "src": "549:6:9", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1483, "name": "_values", "nodeType": "VariableDeclaration", "scope": 1499, "src": "570:24:9", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[]" }, "typeName": { "baseType": { "id": 1481, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "570:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 1482, "length": null, "nodeType": "ArrayTypeName", "src": "570:9:9", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" } }, "value": null, "visibility": "internal" } ], "src": "532:63:9" }, "returnParameters": { "id": 1485, "nodeType": "ParameterList", "parameters": [], "src": "603:0:9" }, "scope": 1524, "src": "513:155:9", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 1506, "nodeType": "Block", "src": "714:22:9", "statements": [ { "expression": { "argumentTypes": null, "hexValue": "74727565", "id": 1504, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "727:4:9", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, "functionReturnParameters": 1503, "id": 1505, "nodeType": "Return", "src": "720:11:9" } ] }, "documentation": null, "id": 1507, "implemented": true, "kind": "function", "modifiers": [], "name": "get", "nodeType": "FunctionDefinition", "parameters": { "id": 1500, "nodeType": "ParameterList", "parameters": [], "src": "684:2:9" }, "returnParameters": { "id": 1503, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1502, "name": "", "nodeType": "VariableDeclaration", "scope": 1507, "src": "708:4:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 1501, "name": "bool", "nodeType": "ElementaryTypeName", "src": "708:4:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "707:6:9" }, "scope": 1524, "src": "672:64:9", "stateMutability": "pure", "superFunction": null, "visibility": "public" }, { "body": { "id": 1514, "nodeType": "Block", "src": "795:22:9", "statements": [ { "expression": { "argumentTypes": null, "hexValue": "5631", "id": 1512, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "808:4:9", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4c23426613a5dc69e08fbd2787e6210aa679d4522e95a89d4dd88c4fd13a2283", "typeString": "literal_string \"V1\"" }, "value": "V1" }, "functionReturnParameters": 1511, "id": 1513, "nodeType": "Return", "src": "801:11:9" } ] }, "documentation": null, "id": 1515, "implemented": true, "kind": "function", "modifiers": [], "name": "version", "nodeType": "FunctionDefinition", "parameters": { "id": 1508, "nodeType": "ParameterList", "parameters": [], "src": "756:2:9" }, "returnParameters": { "id": 1511, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1510, "name": "", "nodeType": "VariableDeclaration", "scope": 1515, "src": "780:13:9", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 1509, "name": "string", "nodeType": "ElementaryTypeName", "src": "780:6:9", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "779:15:9" }, "scope": 1524, "src": "740:77:9", "stateMutability": "pure", "superFunction": null, "visibility": "public" }, { "body": { "id": 1522, "nodeType": "Block", "src": "852:25:9", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "66616c7365", "id": 1519, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "866:5:9", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "id": 1518, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6466, 6467 ], "referencedDeclaration": 6466, "src": "858:7:9", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, "id": 1520, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "858:14:9", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1521, "nodeType": "ExpressionStatement", "src": "858:14:9" } ] }, "documentation": null, "id": 1523, "implemented": true, "kind": "function", "modifiers": [], "name": "reverts", "nodeType": "FunctionDefinition", "parameters": { "id": 1516, "nodeType": "ParameterList", "parameters": [], "src": "837:2:9" }, "returnParameters": { "id": 1517, "nodeType": "ParameterList", "parameters": [], "src": "852:0:9" }, "scope": 1524, "src": "821:56:9", "stateMutability": "pure", "superFunction": null, "visibility": "public" } ], "scope": 1546, "src": "103:776:9" }, { "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 1525, "name": "DummyImplementation", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1524, "src": "915:19:9", "typeDescriptions": { "typeIdentifier": "t_contract$_DummyImplementation_$1524", "typeString": "contract DummyImplementation" } }, "id": 1526, "nodeType": "InheritanceSpecifier", "src": "915:19:9" } ], "contractDependencies": [ 1524 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 1545, "linearizedBaseContracts": [ 1545, 1524 ], "name": "DummyImplementationV2", "nodeType": "ContractDefinition", "nodes": [ { "body": { "id": 1535, "nodeType": "Block", "src": "987:25:9", "statements": [ { "expression": { "argumentTypes": null, "id": 1533, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 1531, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1435, "src": "993:5:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 1532, "name": "newVal", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1528, "src": "1001:6:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "993:14:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 1534, "nodeType": "ExpressionStatement", "src": "993:14:9" } ] }, "documentation": null, "id": 1536, "implemented": true, "kind": "function", "modifiers": [], "name": "migrate", "nodeType": "FunctionDefinition", "parameters": { "id": 1529, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1528, "name": "newVal", "nodeType": "VariableDeclaration",