UNPKG

@daostack/upgrades

Version:
1,406 lines (1,405 loc) 63.4 kB
{ "fileName": "DummyImplementation.sol", "contractName": "DummyImplementation", "source": "pragma solidity ^0.6.0;\n// SPDX-License-Identifier: MIT\n\nabstract contract Impl {\n function version() public pure virtual 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 virtual 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 override(DummyImplementation) pure returns (string memory) {\n return \"V2\";\n }\n}\n", "sourcePath": "contracts/mocks/DummyImplementation.sol", "sourceMap": "151:784:9:-:0;;;;;;;;;;;;;;;;;;;;;;", "deployedSourceMap": "151:784:9:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;474:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;208:18;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;258:60;;;;;;;;;;;;;:::i;:::-;;877:56;;;;;;;;;;;;;:::i;:::-;;184:20;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;788:85;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;392:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;230:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;720:64;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;322:66;;;:::i;:::-;;561:155;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;474:83;546:6;538:5;;:14;;;;;;;474:83;;:::o;208:18::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;258:60::-;311:2;303:5;;:10;;;;;;;258:60;:::o;877:56::-;922:5;914:14;;;;;;;;877:56;:::o;184:20::-;;;;;;:::o;788:85::-;836:13;857:11;;;;;;;;;;;;;;;;;;;;;;;788:85;;:::o;392:78::-;459:6;451:5;;:14;;;;;;;392:78;;:::o;230:23::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;720:64::-;756:4;775;768:11;;;;720:64;;:::o;322:66::-;380:3;372:5;;:11;;;;;;;322:66;:::o;561:155::-;665:6;657:5;;:14;;;;;;;684:5;677:4;;:12;;;;;;;;;;;;;:::i;:::-;;704:7;695:6;;:16;;;;;;;;;;;;;:::i;:::-;;561:155;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", "abi": [ { "inputs": [], "name": "get", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_value", "type": "uint256" }, { "internalType": "string", "name": "_text", "type": "string" }, { "internalType": "uint256[]", "name": "_values", "type": "uint256[]" } ], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "initializeNonPayable", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_value", "type": "uint256" } ], "name": "initializeNonPayable", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_value", "type": "uint256" } ], "name": "initializePayable", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "initializePayable", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "reverts", "outputs": [], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "text", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "value", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "values", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "version", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" } ], "ast": { "absolutePath": "contracts/mocks/DummyImplementation.sol", "exportedSymbols": { "DummyImplementation": [ 1629 ], "DummyImplementationV2": [ 1652 ], "Impl": [ 1538 ] }, "id": 1653, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { "id": 1532, "literals": [ "solidity", "^", "0.6", ".0" ], "nodeType": "PragmaDirective", "src": "0:23:9" }, { "abstract": true, "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "documentation": null, "fullyImplemented": false, "id": 1538, "linearizedBaseContracts": [ 1538 ], "name": "Impl", "nodeType": "ContractDefinition", "nodes": [ { "body": null, "documentation": null, "functionSelector": "54fd4d50", "id": 1537, "implemented": false, "kind": "function", "modifiers": [], "name": "version", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 1533, "nodeType": "ParameterList", "parameters": [], "src": "100:2:9" }, "returnParameters": { "id": 1536, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1535, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, "scope": 1537, "src": "132:13:9", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 1534, "name": "string", "nodeType": "ElementaryTypeName", "src": "132:6:9", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "131:15:9" }, "scope": 1538, "src": "84:63:9", "stateMutability": "pure", "virtual": true, "visibility": "public" } ], "scope": 1653, "src": "57:92:9" }, { "abstract": false, "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 1629, "linearizedBaseContracts": [ 1629 ], "name": "DummyImplementation", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "functionSelector": "3fa4f245", "id": 1540, "mutability": "mutable", "name": "value", "nodeType": "VariableDeclaration", "overrides": null, "scope": 1629, "src": "184:20:9", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1539, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "184:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "public" }, { "constant": false, "functionSelector": "1f1bd692", "id": 1542, "mutability": "mutable", "name": "text", "nodeType": "VariableDeclaration", "overrides": null, "scope": 1629, "src": "208:18:9", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string" }, "typeName": { "id": 1541, "name": "string", "nodeType": "ElementaryTypeName", "src": "208:6:9", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "public" }, { "constant": false, "functionSelector": "5e383d21", "id": 1545, "mutability": "mutable", "name": "values", "nodeType": "VariableDeclaration", "overrides": null, "scope": 1629, "src": "230:23:9", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage", "typeString": "uint256[]" }, "typeName": { "baseType": { "id": 1543, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "230:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 1544, "length": null, "nodeType": "ArrayTypeName", "src": "230:9:9", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" } }, "value": null, "visibility": "public" }, { "body": { "id": 1552, "nodeType": "Block", "src": "297:21:9", "statements": [ { "expression": { "argumentTypes": null, "id": 1550, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 1548, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1540, "src": "303:5:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "hexValue": "3130", "id": 1549, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "311:2:9", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" }, "value": "10" }, "src": "303:10:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 1551, "nodeType": "ExpressionStatement", "src": "303:10:9" } ] }, "documentation": null, "functionSelector": "227367d5", "id": 1553, "implemented": true, "kind": "function", "modifiers": [], "name": "initializeNonPayable", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 1546, "nodeType": "ParameterList", "parameters": [], "src": "287:2:9" }, "returnParameters": { "id": 1547, "nodeType": "ParameterList", "parameters": [], "src": "297:0:9" }, "scope": 1629, "src": "258:60:9", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { "id": 1560, "nodeType": "Block", "src": "366:22:9", "statements": [ { "expression": { "argumentTypes": null, "id": 1558, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 1556, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1540, "src": "372:5:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "hexValue": "313030", "id": 1557, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "380:3:9", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_100_by_1", "typeString": "int_const 100" }, "value": "100" }, "src": "372:11:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 1559, "nodeType": "ExpressionStatement", "src": "372:11:9" } ] }, "documentation": null, "functionSelector": "9fba1f9a", "id": 1561, "implemented": true, "kind": "function", "modifiers": [], "name": "initializePayable", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 1554, "nodeType": "ParameterList", "parameters": [], "src": "348:2:9" }, "returnParameters": { "id": 1555, "nodeType": "ParameterList", "parameters": [], "src": "366:0:9" }, "scope": 1629, "src": "322:66:9", "stateMutability": "payable", "virtual": false, "visibility": "public" }, { "body": { "id": 1570, "nodeType": "Block", "src": "445:25:9", "statements": [ { "expression": { "argumentTypes": null, "id": 1568, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 1566, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1540, "src": "451:5:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 1567, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1563, "src": "459:6:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "451:14:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 1569, "nodeType": "ExpressionStatement", "src": "451:14:9" } ] }, "documentation": null, "functionSelector": "5ba8d2ad", "id": 1571, "implemented": true, "kind": "function", "modifiers": [], "name": "initializeNonPayable", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 1564, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1563, "mutability": "mutable", "name": "_value", "nodeType": "VariableDeclaration", "overrides": null, "scope": 1571, "src": "422:14:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1562, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "422:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "421:16:9" }, "returnParameters": { "id": 1565, "nodeType": "ParameterList", "parameters": [], "src": "445:0:9" }, "scope": 1629, "src": "392:78:9", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { "id": 1580, "nodeType": "Block", "src": "532:25:9", "statements": [ { "expression": { "argumentTypes": null, "id": 1578, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 1576, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1540, "src": "538:5:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 1577, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1573, "src": "546:6:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "538:14:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 1579, "nodeType": "ExpressionStatement", "src": "538:14:9" } ] }, "documentation": null, "functionSelector": "16eaa247", "id": 1581, "implemented": true, "kind": "function", "modifiers": [], "name": "initializePayable", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 1574, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1573, "mutability": "mutable", "name": "_value", "nodeType": "VariableDeclaration", "overrides": null, "scope": 1581, "src": "501:14:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1572, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "501:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "500:16:9" }, "returnParameters": { "id": 1575, "nodeType": "ParameterList", "parameters": [], "src": "532:0:9" }, "scope": 1629, "src": "474:83:9", "stateMutability": "payable", "virtual": false, "visibility": "public" }, { "body": { "id": 1603, "nodeType": "Block", "src": "651:65:9", "statements": [ { "expression": { "argumentTypes": null, "id": 1593, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 1591, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1540, "src": "657:5:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 1592, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1583, "src": "665:6:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "657:14:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 1594, "nodeType": "ExpressionStatement", "src": "657:14:9" }, { "expression": { "argumentTypes": null, "id": 1597, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 1595, "name": "text", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1542, "src": "677:4:9", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 1596, "name": "_text", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1585, "src": "684:5:9", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "src": "677:12:9", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "id": 1598, "nodeType": "ExpressionStatement", "src": "677:12:9" }, { "expression": { "argumentTypes": null, "id": 1601, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 1599, "name": "values", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1545, "src": "695:6:9", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage", "typeString": "uint256[] storage ref" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 1600, "name": "_values", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1588, "src": "704:7:9", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, "src": "695:16:9", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage", "typeString": "uint256[] storage ref" } }, "id": 1602, "nodeType": "ExpressionStatement", "src": "695:16:9" } ] }, "documentation": null, "functionSelector": "d31f8b6b", "id": 1604, "implemented": true, "kind": "function", "modifiers": [], "name": "initialize", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 1589, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1583, "mutability": "mutable", "name": "_value", "nodeType": "VariableDeclaration", "overrides": null, "scope": 1604, "src": "581:14:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1582, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "581:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1585, "mutability": "mutable", "name": "_text", "nodeType": "VariableDeclaration", "overrides": null, "scope": 1604, "src": "597:19:9", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 1584, "name": "string", "nodeType": "ElementaryTypeName", "src": "597:6:9", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1588, "mutability": "mutable", "name": "_values", "nodeType": "VariableDeclaration", "overrides": null, "scope": 1604, "src": "618:24:9", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[]" }, "typeName": { "baseType": { "id": 1586, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "618:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 1587, "length": null, "nodeType": "ArrayTypeName", "src": "618:9:9", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" } }, "value": null, "visibility": "internal" } ], "src": "580:63:9" }, "returnParameters": { "id": 1590, "nodeType": "ParameterList", "parameters": [], "src": "651:0:9" }, "scope": 1629, "src": "561:155:9", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { "id": 1611, "nodeType": "Block", "src": "762:22:9", "statements": [ { "expression": { "argumentTypes": null, "hexValue": "74727565", "id": 1609, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "775:4:9", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, "functionReturnParameters": 1608, "id": 1610, "nodeType": "Return", "src": "768:11:9" } ] }, "documentation": null, "functionSelector": "6d4ce63c", "id": 1612, "implemented": true, "kind": "function", "modifiers": [], "name": "get", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 1605, "nodeType": "ParameterList", "parameters": [], "src": "732:2:9" }, "returnParameters": { "id": 1608, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1607, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, "scope": 1612, "src": "756:4:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 1606, "name": "bool", "nodeType": "ElementaryTypeName", "src": "756:4:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "755:6:9" }, "scope": 1629, "src": "720:64:9", "stateMutability": "pure", "virtual": false, "visibility": "public" }, { "body": { "id": 1619, "nodeType": "Block", "src": "851:22:9", "statements": [ { "expression": { "argumentTypes": null, "hexValue": "5631", "id": 1617, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "864:4:9", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4c23426613a5dc69e08fbd2787e6210aa679d4522e95a89d4dd88c4fd13a2283", "typeString": "literal_string \"V1\"" }, "value": "V1" }, "functionReturnParameters": 1616, "id": 1618, "nodeType": "Return", "src": "857:11:9" } ] }, "documentation": null, "functionSelector": "54fd4d50", "id": 1620, "implemented": true, "kind": "function", "modifiers": [], "name": "version", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 1613, "nodeType": "ParameterList", "parameters": [], "src": "804:2:9" }, "returnParameters": { "id": 1616, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1615, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, "scope": 1620, "src": "836:13:9", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 1614, "name": "string", "nodeType": "ElementaryTypeName", "src": "836:6:9", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "835:15:9" }, "scope": 1629, "src": "788:85:9", "stateMutability": "pure", "virtual": true, "visibility": "public" }, { "body": { "id": 1627, "nodeType": "Block", "src": "908:25:9", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "66616c7365", "id": 1624, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "922:5:9", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "id": 1623, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ -18, -18 ], "referencedDeclaration": -18, "src": "914:7:9", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, "id": 1625, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "914:14:9", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1626, "nodeType": "ExpressionStatement", "src": "914:14:9" } ] }, "documentation": null, "functionSelector": "3bccbbc9", "id": 1628, "implemented": true, "kind": "function", "modifiers": [], "name": "reverts", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 1621, "nodeType": "ParameterList", "parameters": [], "src": "893:2:9" }, "returnParameters": { "id": 1622, "nodeType": "ParameterList", "parameters": [], "src": "908:0:9" }, "scope": 1629, "src": "877:56:9", "stateMutability": "pure", "virtual": false, "visibility": "public" } ], "scope": 1653, "src": "151:784:9" }, { "abstract": false, "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 1630, "name": "DummyImplementation", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1629, "src": "971:19:9", "typeDescriptions": { "typeIdentifier": "t_contract$_DummyImplementation_$1629", "typeString": "contract DummyImplementation" } }, "id": 1631, "nodeType": "InheritanceSpecifier", "src": "971:19:9" } ], "contractDependencies": [ 1629 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 1652, "linearizedBaseContracts": [ 1652, 1629 ], "name": "DummyImplementationV2", "nodeType": "ContractDefinition", "nodes": [ { "body": { "id": 1640, "nodeType": "Block", "src": "1043:25:9", "statements": [ { "expression": { "argumentTypes": null, "id": 1638, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 1636, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1540, "src": "1049:5:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 1637, "name": "newVal", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1633, "src": "1057:6:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "1049:14:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 1639, "nodeType": "ExpressionStatement", "src": "1049:14:9" } ] }, "documentation": null, "functionSelector": "454b0608", "id": 1641, "implemented": true, "kind": "function", "modifiers": [], "name": "migrate", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 1634, "nodeType": "ParameterList",