@newos/upgrades
Version:
Core JavaScript library for the NewOS
1,371 lines (1,370 loc) • 48.2 kB
JSON
{
"fileName": "DummyImplementation.sol",
"contractName": "Impl",
"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": "",
"deployedSourceMap": "",
"abi": [
{
"constant": true,
"inputs": [],
"name": "version",
"outputs": [
{
"name": "",
"type": "string"
}
],
"payable": false,
"stateMutability": "pure",
"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",
"nodeType": "ElementaryTypeName",
"src": "956:7:9",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "955:16:9"
},
"returnParameters": {
"id": 1530,
"nodeType": "ParameterList",
"parameters": [],
"src": "987:0:9"
},
"scope": 1545,
"src": "939:73:9",
"stateMutability": "payable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 1543,
"nodeType": "Block",
"src": "1071:22:9",
"statements": [
{
"expression": {
"argumentTypes": null,
"hexValue": "5632",
"id": 1541,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1084:4:9",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_23d235efaf569b2b407d10f447247743508d1762a8e3a3aed85ccc0570dde35f",
"typeString": "literal_string \"V2\""
},
"value": "V2"
},
"functionReturnParameters": 1540,
"id": 1542,
"nodeType": "Return",
"src": "1077:11:9"
}
]
},
"documentation": null,
"id": 1544,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "version",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 1537,
"nodeType": "ParameterList",
"parameters": [],
"src": "1032:2:9"
},
"returnParameters": {
"id": 1540,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 1539,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 1544,
"src": "1056:13:9",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 1538,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "1056:6:9",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1055:15:9"
},
"scope": 1545,
"src": "1016:77:9",
"stateMutability": "pure",
"superFunction": 1515,
"visibility": "public"
}
],
"scope": 1546,
"src": "881:214:9"
}
],
"src": "0:1096:9"
},
"bytecode": "0x",
"deployedBytecode": "0x",
"compiler": {
"name": "solc",
"version": "0.5.3+commit.10d17f24.Emscripten.clang",
"optimizer": {},
"evmVersion": "constantinople"
}
}