@alice-network/zos-lib
Version:
JavaScript library for the ZeppelinOS smart contract platform
1,433 lines • 96.2 kB
JSON
{
"contractName": "Impl",
"abi": [
{
"constant": true,
"inputs": [],
"name": "version",
"outputs": [
{
"name": "",
"type": "string"
}
],
"payable": false,
"stateMutability": "pure",
"type": "function"
}
],
"bytecode": "0x",
"deployedBytecode": "0x",
"sourceMap": "",
"deployedSourceMap": "",
"source": "pragma solidity ^0.4.24;\n\ncontract Impl {\n function version() public pure returns (string); \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 _text, uint256[] _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) {\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) {\n return \"V2\";\n }\n}\n",
"sourcePath": "/Users/yoonjae/WebstormProjects/zos/packages/lib/contracts/mocks/DummyImplementation.sol",
"ast": {
"absolutePath": "/Users/yoonjae/WebstormProjects/zos/packages/lib/contracts/mocks/DummyImplementation.sol",
"exportedSymbols": {
"DummyImplementation": [
1418
],
"DummyImplementationV2": [
1439
],
"Impl": [
1327
]
},
"id": 1440,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1321,
"literals": [
"solidity",
"^",
"0.4",
".24"
],
"nodeType": "PragmaDirective",
"src": "0:24:8"
},
{
"baseContracts": [],
"contractDependencies": [],
"contractKind": "contract",
"documentation": null,
"fullyImplemented": false,
"id": 1327,
"linearizedBaseContracts": [
1327
],
"name": "Impl",
"nodeType": "ContractDefinition",
"nodes": [
{
"body": null,
"documentation": null,
"id": 1326,
"implemented": false,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "version",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 1322,
"nodeType": "ParameterList",
"parameters": [],
"src": "60:2:8"
},
"payable": false,
"returnParameters": {
"id": 1325,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 1324,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 1326,
"src": "84:6:8",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 1323,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "84:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "83:8:8"
},
"scope": 1327,
"src": "44:48:8",
"stateMutability": "pure",
"superFunction": null,
"visibility": "public"
}
],
"scope": 1440,
"src": "26:69:8"
},
{
"baseContracts": [],
"contractDependencies": [],
"contractKind": "contract",
"documentation": null,
"fullyImplemented": true,
"id": 1418,
"linearizedBaseContracts": [
1418
],
"name": "DummyImplementation",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"id": 1329,
"name": "value",
"nodeType": "VariableDeclaration",
"scope": 1418,
"src": "130:20:8",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 1328,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "130:7:8",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "public"
},
{
"constant": false,
"id": 1331,
"name": "text",
"nodeType": "VariableDeclaration",
"scope": 1418,
"src": "154:18:8",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string"
},
"typeName": {
"id": 1330,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "154:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "public"
},
{
"constant": false,
"id": 1334,
"name": "values",
"nodeType": "VariableDeclaration",
"scope": 1418,
"src": "176:23:8",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_storage",
"typeString": "uint256[]"
},
"typeName": {
"baseType": {
"id": 1332,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "176:7:8",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 1333,
"length": null,
"nodeType": "ArrayTypeName",
"src": "176:9:8",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
"typeString": "uint256[]"
}
},
"value": null,
"visibility": "public"
},
{
"body": {
"id": 1341,
"nodeType": "Block",
"src": "243:21:8",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 1339,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 1337,
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1329,
"src": "249:5:8",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"hexValue": "3130",
"id": 1338,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "257:2:8",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_10_by_1",
"typeString": "int_const 10"
},
"value": "10"
},
"src": "249:10:8",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 1340,
"nodeType": "ExpressionStatement",
"src": "249:10:8"
}
]
},
"documentation": null,
"id": 1342,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [],
"name": "initializeNonPayable",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 1335,
"nodeType": "ParameterList",
"parameters": [],
"src": "233:2:8"
},
"payable": false,
"returnParameters": {
"id": 1336,
"nodeType": "ParameterList",
"parameters": [],
"src": "243:0:8"
},
"scope": 1418,
"src": "204:60:8",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 1349,
"nodeType": "Block",
"src": "312:22:8",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 1347,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 1345,
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1329,
"src": "318:5:8",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"hexValue": "313030",
"id": 1346,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "326:3:8",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_100_by_1",
"typeString": "int_const 100"
},
"value": "100"
},
"src": "318:11:8",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 1348,
"nodeType": "ExpressionStatement",
"src": "318:11:8"
}
]
},
"documentation": null,
"id": 1350,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [],
"name": "initializePayable",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 1343,
"nodeType": "ParameterList",
"parameters": [],
"src": "294:2:8"
},
"payable": true,
"returnParameters": {
"id": 1344,
"nodeType": "ParameterList",
"parameters": [],
"src": "312:0:8"
},
"scope": 1418,
"src": "268:66:8",
"stateMutability": "payable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 1359,
"nodeType": "Block",
"src": "391:25:8",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 1357,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 1355,
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1329,
"src": "397:5:8",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 1356,
"name": "_value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1352,
"src": "405:6:8",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "397:14:8",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 1358,
"nodeType": "ExpressionStatement",
"src": "397:14:8"
}
]
},
"documentation": null,
"id": 1360,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [],
"name": "initializeNonPayable",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 1353,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 1352,
"name": "_value",
"nodeType": "VariableDeclaration",
"scope": 1360,
"src": "368:14:8",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 1351,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "368:7:8",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "367:16:8"
},
"payable": false,
"returnParameters": {
"id": 1354,
"nodeType": "ParameterList",
"parameters": [],
"src": "391:0:8"
},
"scope": 1418,
"src": "338:78:8",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 1369,
"nodeType": "Block",
"src": "478:25:8",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 1367,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 1365,
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1329,
"src": "484:5:8",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 1366,
"name": "_value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1362,
"src": "492:6:8",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "484:14:8",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 1368,
"nodeType": "ExpressionStatement",
"src": "484:14:8"
}
]
},
"documentation": null,
"id": 1370,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [],
"name": "initializePayable",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 1363,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 1362,
"name": "_value",
"nodeType": "VariableDeclaration",
"scope": 1370,
"src": "447:14:8",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 1361,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "447:7:8",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "446:16:8"
},
"payable": true,
"returnParameters": {
"id": 1364,
"nodeType": "ParameterList",
"parameters": [],
"src": "478:0:8"
},
"scope": 1418,
"src": "420:83:8",
"stateMutability": "payable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 1392,
"nodeType": "Block",
"src": "583:65:8",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 1382,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 1380,
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1329,
"src": "589:5:8",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 1381,
"name": "_value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1372,
"src": "597:6:8",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "589:14:8",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 1383,
"nodeType": "ExpressionStatement",
"src": "589:14:8"
},
{
"expression": {
"argumentTypes": null,
"id": 1386,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 1384,
"name": "text",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1331,
"src": "609:4:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string storage ref"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 1385,
"name": "_text",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1374,
"src": "616:5:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"src": "609:12:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string storage ref"
}
},
"id": 1387,
"nodeType": "ExpressionStatement",
"src": "609:12:8"
},
{
"expression": {
"argumentTypes": null,
"id": 1390,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 1388,
"name": "values",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1334,
"src": "627:6:8",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_storage",
"typeString": "uint256[] storage ref"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 1389,
"name": "_values",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1377,
"src": "636:7:8",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
"typeString": "uint256[] memory"
}
},
"src": "627:16:8",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_storage",
"typeString": "uint256[] storage ref"
}
},
"id": 1391,
"nodeType": "ExpressionStatement",
"src": "627:16:8"
}
]
},
"documentation": null,
"id": 1393,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [],
"name": "initialize",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 1378,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 1372,
"name": "_value",
"nodeType": "VariableDeclaration",
"scope": 1393,
"src": "527:14:8",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 1371,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "527:7:8",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 1374,
"name": "_text",
"nodeType": "VariableDeclaration",
"scope": 1393,
"src": "543:12:8",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 1373,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "543:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 1377,
"name": "_values",
"nodeType": "VariableDeclaration",
"scope": 1393,
"src": "557:17:8",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
"typeString": "uint256[]"
},
"typeName": {
"baseType": {
"id": 1375,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "557:7:8",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 1376,
"length": null,
"nodeType": "ArrayTypeName",
"src": "557:9:8",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
"typeString": "uint256[]"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "526:49:8"
},
"payable": false,
"returnParameters": {
"id": 1379,
"nodeType": "ParameterList",
"parameters": [],
"src": "583:0:8"
},
"scope": 1418,
"src": "507:141:8",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 1400,
"nodeType": "Block",
"src": "694:22:8",
"statements": [
{
"expression": {
"argumentTypes": null,
"hexValue": "74727565",
"id": 1398,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "bool",
"lValueRequested": false,
"nodeType": "Literal",
"src": "707:4:8",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"value": "true"
},
"functionReturnParameters": 1397,
"id": 1399,
"nodeType": "Return",
"src": "700:11:8"
}
]
},
"documentation": null,
"id": 1401,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "get",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 1394,
"nodeType": "ParameterList",
"parameters": [],
"src": "664:2:8"
},
"payable": false,
"returnParameters": {
"id": 1397,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 1396,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 1401,
"src": "688:4:8",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 1395,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "688:4:8",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "687:6:8"
},
"scope": 1418,
"src": "652:64:8",
"stateMutability": "pure",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 1408,
"nodeType": "Block",
"src": "768:22:8",
"statements": [
{
"expression": {
"argumentTypes": null,
"hexValue": "5631",
"id": 1406,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "781:4:8",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_4c23426613a5dc69e08fbd2787e6210aa679d4522e95a89d4dd88c4fd13a2283",
"typeString": "literal_string \"V1\""
},
"value": "V1"
},
"functionReturnParameters": 1405,
"id": 1407,
"nodeType": "Return",
"src": "774:11:8"
}
]
},
"documentation": null,
"id": 1409,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "version",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 1402,
"nodeType": "ParameterList",
"parameters": [],
"src": "736:2:8"
},
"payable": false,
"returnParameters": {
"id": 1405,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 1404,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 1409,
"src": "760:6:8",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 1403,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "760:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "759:8:8"
},
"scope": 1418,
"src": "720:70:8",
"stateMutability": "pure",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 1416,
"nodeType": "Block",
"src": "825:25:8",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "66616c7365",
"id": 1413,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "bool",
"lValueRequested": false,
"nodeType": "Literal",
"src": "839:5:8",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"value": "false"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
}
],
"id": 1412,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
3160,
3161
],
"referencedDeclaration": 3160,
"src": "831:7:8",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
"typeString": "function (bool) pure"
}
},
"id": 1414,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "831:14:8",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 1415,
"nodeType": "ExpressionStatement",
"src": "831:14:8"
}
]
},
"documentation": null,
"id": 1417,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "reverts",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 1410,
"nodeType": "ParameterList",
"parameters": [],
"src": "810:2:8"
},
"payable": false,
"returnParameters": {
"id": 1411,
"nodeType": "ParameterList",
"parameters": [],
"src": "825:0:8"
},
"scope": 1418,
"src": "794:56:8",
"stateMutability": "pure",
"superFunction": null,
"visibility": "public"
}
],
"scope": 1440,
"src": "97:755:8"
},
{
"baseContracts": [
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 1419,
"name": "DummyImplementation",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 1418,
"src": "888:19:8",
"typeDescriptions": {
"typeIdentifier": "t_contract$_DummyImplementation_$1418",
"typeString": "contract DummyImplementation"
}
},
"id": 1420,
"nodeType": "InheritanceSpecifier",
"src": "888:19:8"
}
],
"contractDependencies": [
1418
],
"contractKind": "contract",
"documentation": null,
"fullyImplemented": true,
"id": 1439,
"linearizedBaseContracts": [
1439,
1418
],
"name": "DummyImplementationV2",
"nodeType": "ContractDefinition",
"nodes": [
{
"body": {
"id": 1429,
"nodeType": "Block",
"src": "960:25:8",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 1427,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 1425,
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1329,
"src": "966:5:8",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 1426,
"name": "newVal",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1422,
"src": "974:6:8",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "966:14:8",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 1428,
"nodeType": "ExpressionStatement",
"src": "966:14:8"
}
]
},
"documentation": null,
"id": 1430,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [],
"name": "migrate",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 1423,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 1422,
"name": "newVal",
"nodeType": "VariableDeclaration",
"scope": 1430,
"src": "929:14:8",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 1421,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "929:7:8",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "928:16:8"
},
"payable": true,
"returnParameters": {
"id": 1424,
"nodeType": "ParameterList",
"parameters": [],
"src": "960:0:8"
},
"scope": 1439,
"src": "912:73:8",
"stateMutability": "payable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 1437,
"nodeType": "Block",
"src": "1037:22:8",
"statements": [
{
"expression": {
"argumentTypes": null,
"hexValue": "5632",
"id": 1435,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1050:4:8",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_23d235efaf569b2b407d10f447247743508d1762a8e3a3aed85ccc0570dde35f",
"typeString": "literal_string \"V2\""
},
"value": "V2"
},
"functionReturnParameters": 1434,
"id": 1436,
"nodeType": "Return",
"src": "1043:11:8"
}
]
},
"documentation": null,
"id": 1438,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "version",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 1431,
"nodeType": "ParameterList",
"parameters": [],
"src": "1005:2:8"
},
"payable": false,
"returnParameters": {
"id": 1434,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 1433,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 1438,
"src": "1029:6:8",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 1432,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "1029:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1028:8:8"
},
"scope": 1439,
"src": "989:70:8",
"stateMutability": "pure",
"superFunction": 1409,
"visibility": "public"
}
],
"scope": 1440,
"src": "854:207:8"
}
],
"src": "0:1062:8"
},
"legacyAST": {
"absolutePath": "/Users/yoonjae/WebstormProjects/zos/packages/lib/contracts/mocks/DummyImplementation.sol",
"exportedSymbols": {
"DummyImplementation": [
1418
],
"DummyImplementationV2": [
1439
],
"Impl": [
1327
]
},
"id": 1440,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1321,
"literals": [
"solidity",
"^",
"0.4",
".24"
],
"nodeType": "PragmaDirective",
"src": "0:24:8"
},
{
"baseContracts": [],
"contractDependencies": [],
"contractKind": "contract",
"documentation": null,
"fullyImplemented": false,
"id": 1327,
"linearizedBaseContracts": [
1327
],
"name": "Impl",
"nodeType": "ContractDefinition",
"nodes": [
{
"body": null,
"documentation": null,
"id": 1326,
"implemented": false,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "ve