@newos/upgrades
Version:
Core JavaScript library for the NewOS
1,384 lines (1,383 loc) • 61.3 kB
JSON
{
"fileName": "DummyImplementation.sol",
"contractName": "DummyImplementation",
"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": "103:776:9:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;103:776:9;;;;;;;",
"deployedSourceMap": "103:776: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;:::-;;;;;;;;;;;;;;;;;;;740:77;;8:9:-1;5:2;;;30:1;27;20:12;5:2;740: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;740: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;740:77::-;780:13;801:11;;;;;;;;;;;;;;;;;;;;740: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;103:776::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::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": 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",
"scope": 1536,
"src": "956:14:9",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 1527,
"name": "uint256",