@alice-network/zos-lib
Version:
JavaScript library for the ZeppelinOS smart contract platform
1,507 lines (1,506 loc) • 64.6 kB
JSON
{
"contractName": "StorageMockChainChild",
"abi": [
{
"constant": true,
"inputs": [],
"name": "a3",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "a4",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "slots",
"outputs": [
{
"name": "baseSlot",
"type": "uint256"
},
{
"name": "a1Slot",
"type": "uint256"
},
{
"name": "a3Slot",
"type": "uint256"
},
{
"name": "b1Slot",
"type": "uint256"
},
{
"name": "childSlot",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "pure",
"type": "function"
}
],
"bytecode": "0x608060405234801561001057600080fd5b50610153806100206000396000f300608060405260043610610057576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806348547d691461005c5780639426eef8146100a3578063f74ea418146100ce575b600080fd5b34801561006857600080fd5b506100716100f9565b604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390f35b3480156100af57600080fd5b506100b861011b565b6040518082815260200191505060405180910390f35b3480156100da57600080fd5b506100e3610121565b6040518082815260200191505060405180910390f35b6000806000806000809450600193506003925060059150600790509091929394565b60035481565b600454815600a165627a7a723058208be893ffd066350b1929b5173245477fbbfa4ed07b01d662959c5d41763184220029",
"deployedBytecode": "0x608060405260043610610057576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806348547d691461005c5780639426eef8146100a3578063f74ea418146100ce575b600080fd5b34801561006857600080fd5b506100716100f9565b604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390f35b3480156100af57600080fd5b506100b861011b565b6040518082815260200191505060405180910390f35b3480156100da57600080fd5b506100e3610121565b6040518082815260200191505060405180910390f35b6000806000806000809450600193506003925060059150600790509091929394565b60035481565b600454815600a165627a7a723058208be893ffd066350b1929b5173245477fbbfa4ed07b01d662959c5d41763184220029",
"sourceMap": "863:383:17:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;863:383:17;;;;;;;",
"deployedSourceMap": "863:383:17:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;966:278;;8:9:-1;5:2;;;30:1;27;20:12;5:2;966:278:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;718:17;;8:9:-1;5:2;;;30:1;27;20:12;5:2;718:17:17;;;;;;;;;;;;;;;;;;;;;;;739;;8:9:-1;5:2;;;30:1;27;20:12;5:2;739:17:17;;;;;;;;;;;;;;;;;;;;;;;966:278;1003:16;1021:14;1037;1053;1069:17;1123:9;1111:21;;1149:7;1139:17;;1173:7;1163:17;;1197:7;1187:17;;1224:10;1211:23;;1103:137;;;;;:::o;718:17::-;;;;:::o;739:::-;;;;:::o",
"source": "pragma solidity ^0.4.24;\n\nimport \"./StorageMocks.sol\";\nimport \"mock-dependency/contracts/DependencyStorageMock.sol\";\n\ncontract StorageMockWithReferences {\n StorageMockWithEnums.MyEnum internal my_enum;\n StorageMockWithStructs.MyStruct internal my_struct;\n SimpleStorageMock internal my_contract;\n}\n\ncontract StorageMockWithNodeModulesReferences {\n DependencyStorageMock.MyEnum internal my_enum;\n DependencyStorageMock.MyStruct internal my_struct;\n DependencyStorageMock internal my_contract;\n}\n\ncontract StorageMockChainBase {\n uint256 internal base;\n}\n\ncontract StorageMockChainA1 is StorageMockChainBase {\n uint256 internal a1;\n uint256 internal a2;\n}\n\ncontract StorageMockChainA2 is StorageMockChainA1 {\n uint256 public a3;\n uint256 public a4;\n}\n\ncontract StorageMockChainB is StorageMockChainBase {\n uint256 internal b1;\n uint256 internal b2;\n}\n\ncontract StorageMockChainChild is StorageMockChainA2, StorageMockChainB {\n uint256 internal child;\n\n function slots() public pure returns(uint256 baseSlot, uint256 a1Slot, uint256 a3Slot, uint256 b1Slot, uint256 childSlot) {\n assembly {\n baseSlot := base_slot\n a1Slot := a1_slot\n a3Slot := a3_slot\n b1Slot := b1_slot\n childSlot := child_slot\n }\n }\n}",
"sourcePath": "/Users/yoonjae/WebstormProjects/zos/packages/lib/contracts/mocks/StorageMocks2.sol",
"ast": {
"absolutePath": "/Users/yoonjae/WebstormProjects/zos/packages/lib/contracts/mocks/StorageMocks2.sol",
"exportedSymbols": {
"StorageMockChainA1": [
2327
],
"StorageMockChainA2": [
2334
],
"StorageMockChainB": [
2341
],
"StorageMockChainBase": [
2320
],
"StorageMockChainChild": [
2363
],
"StorageMockWithNodeModulesReferences": [
2317
],
"StorageMockWithReferences": [
2310
]
},
"id": 2364,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 2301,
"literals": [
"solidity",
"^",
"0.4",
".24"
],
"nodeType": "PragmaDirective",
"src": "0:24:17"
},
{
"absolutePath": "/Users/yoonjae/WebstormProjects/zos/packages/lib/contracts/mocks/StorageMocks.sol",
"file": "./StorageMocks.sol",
"id": 2302,
"nodeType": "ImportDirective",
"scope": 2364,
"sourceUnit": 2300,
"src": "26:28:17",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "mock-dependency/contracts/DependencyStorageMock.sol",
"file": "mock-dependency/contracts/DependencyStorageMock.sol",
"id": 2303,
"nodeType": "ImportDirective",
"scope": 2364,
"sourceUnit": 3038,
"src": "55:61:17",
"symbolAliases": [],
"unitAlias": ""
},
{
"baseContracts": [],
"contractDependencies": [],
"contractKind": "contract",
"documentation": null,
"fullyImplemented": true,
"id": 2310,
"linearizedBaseContracts": [
2310
],
"name": "StorageMockWithReferences",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"id": 2305,
"name": "my_enum",
"nodeType": "VariableDeclaration",
"scope": 2310,
"src": "157:44:17",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_enum$_MyEnum_$2253",
"typeString": "enum StorageMockWithEnums.MyEnum"
},
"typeName": {
"contractScope": null,
"id": 2304,
"name": "StorageMockWithEnums.MyEnum",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2253,
"src": "157:27:17",
"typeDescriptions": {
"typeIdentifier": "t_enum$_MyEnum_$2253",
"typeString": "enum StorageMockWithEnums.MyEnum"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 2307,
"name": "my_struct",
"nodeType": "VariableDeclaration",
"scope": 2310,
"src": "205:50:17",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_struct$_MyStruct_$2236_storage",
"typeString": "struct StorageMockWithStructs.MyStruct"
},
"typeName": {
"contractScope": null,
"id": 2306,
"name": "StorageMockWithStructs.MyStruct",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2236,
"src": "205:31:17",
"typeDescriptions": {
"typeIdentifier": "t_struct$_MyStruct_$2236_storage_ptr",
"typeString": "struct StorageMockWithStructs.MyStruct"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 2309,
"name": "my_contract",
"nodeType": "VariableDeclaration",
"scope": 2310,
"src": "259:38:17",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_SimpleStorageMock_$2115",
"typeString": "contract SimpleStorageMock"
},
"typeName": {
"contractScope": null,
"id": 2308,
"name": "SimpleStorageMock",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2115,
"src": "259:17:17",
"typeDescriptions": {
"typeIdentifier": "t_contract$_SimpleStorageMock_$2115",
"typeString": "contract SimpleStorageMock"
}
},
"value": null,
"visibility": "internal"
}
],
"scope": 2364,
"src": "118:182:17"
},
{
"baseContracts": [],
"contractDependencies": [],
"contractKind": "contract",
"documentation": null,
"fullyImplemented": true,
"id": 2317,
"linearizedBaseContracts": [
2317
],
"name": "StorageMockWithNodeModulesReferences",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"id": 2312,
"name": "my_enum",
"nodeType": "VariableDeclaration",
"scope": 2317,
"src": "352:45:17",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_enum$_MyEnum_$3033",
"typeString": "enum DependencyStorageMock.MyEnum"
},
"typeName": {
"contractScope": null,
"id": 2311,
"name": "DependencyStorageMock.MyEnum",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 3033,
"src": "352:28:17",
"typeDescriptions": {
"typeIdentifier": "t_enum$_MyEnum_$3033",
"typeString": "enum DependencyStorageMock.MyEnum"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 2314,
"name": "my_struct",
"nodeType": "VariableDeclaration",
"scope": 2317,
"src": "401:49:17",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_struct$_MyStruct_$3036_storage",
"typeString": "struct DependencyStorageMock.MyStruct"
},
"typeName": {
"contractScope": null,
"id": 2313,
"name": "DependencyStorageMock.MyStruct",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 3036,
"src": "401:30:17",
"typeDescriptions": {
"typeIdentifier": "t_struct$_MyStruct_$3036_storage_ptr",
"typeString": "struct DependencyStorageMock.MyStruct"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 2316,
"name": "my_contract",
"nodeType": "VariableDeclaration",
"scope": 2317,
"src": "454:42:17",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_DependencyStorageMock_$3037",
"typeString": "contract DependencyStorageMock"
},
"typeName": {
"contractScope": null,
"id": 2315,
"name": "DependencyStorageMock",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 3037,
"src": "454:21:17",
"typeDescriptions": {
"typeIdentifier": "t_contract$_DependencyStorageMock_$3037",
"typeString": "contract DependencyStorageMock"
}
},
"value": null,
"visibility": "internal"
}
],
"scope": 2364,
"src": "302:197:17"
},
{
"baseContracts": [],
"contractDependencies": [],
"contractKind": "contract",
"documentation": null,
"fullyImplemented": true,
"id": 2320,
"linearizedBaseContracts": [
2320
],
"name": "StorageMockChainBase",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"id": 2319,
"name": "base",
"nodeType": "VariableDeclaration",
"scope": 2320,
"src": "535:21:17",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2318,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "535:7:17",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"scope": 2364,
"src": "501:58:17"
},
{
"baseContracts": [
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 2321,
"name": "StorageMockChainBase",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2320,
"src": "592:20:17",
"typeDescriptions": {
"typeIdentifier": "t_contract$_StorageMockChainBase_$2320",
"typeString": "contract StorageMockChainBase"
}
},
"id": 2322,
"nodeType": "InheritanceSpecifier",
"src": "592:20:17"
}
],
"contractDependencies": [
2320
],
"contractKind": "contract",
"documentation": null,
"fullyImplemented": true,
"id": 2327,
"linearizedBaseContracts": [
2327,
2320
],
"name": "StorageMockChainA1",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"id": 2324,
"name": "a1",
"nodeType": "VariableDeclaration",
"scope": 2327,
"src": "617:19:17",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2323,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "617:7:17",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 2326,
"name": "a2",
"nodeType": "VariableDeclaration",
"scope": 2327,
"src": "640:19:17",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2325,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "640:7:17",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"scope": 2364,
"src": "561:101:17"
},
{
"baseContracts": [
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 2328,
"name": "StorageMockChainA1",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2327,
"src": "695:18:17",
"typeDescriptions": {
"typeIdentifier": "t_contract$_StorageMockChainA1_$2327",
"typeString": "contract StorageMockChainA1"
}
},
"id": 2329,
"nodeType": "InheritanceSpecifier",
"src": "695:18:17"
}
],
"contractDependencies": [
2320,
2327
],
"contractKind": "contract",
"documentation": null,
"fullyImplemented": true,
"id": 2334,
"linearizedBaseContracts": [
2334,
2327,
2320
],
"name": "StorageMockChainA2",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"id": 2331,
"name": "a3",
"nodeType": "VariableDeclaration",
"scope": 2334,
"src": "718:17:17",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2330,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "718:7:17",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "public"
},
{
"constant": false,
"id": 2333,
"name": "a4",
"nodeType": "VariableDeclaration",
"scope": 2334,
"src": "739:17:17",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2332,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "739:7:17",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "public"
}
],
"scope": 2364,
"src": "664:95:17"
},
{
"baseContracts": [
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 2335,
"name": "StorageMockChainBase",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2320,
"src": "791:20:17",
"typeDescriptions": {
"typeIdentifier": "t_contract$_StorageMockChainBase_$2320",
"typeString": "contract StorageMockChainBase"
}
},
"id": 2336,
"nodeType": "InheritanceSpecifier",
"src": "791:20:17"
}
],
"contractDependencies": [
2320
],
"contractKind": "contract",
"documentation": null,
"fullyImplemented": true,
"id": 2341,
"linearizedBaseContracts": [
2341,
2320
],
"name": "StorageMockChainB",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"id": 2338,
"name": "b1",
"nodeType": "VariableDeclaration",
"scope": 2341,
"src": "816:19:17",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2337,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "816:7:17",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 2340,
"name": "b2",
"nodeType": "VariableDeclaration",
"scope": 2341,
"src": "839:19:17",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2339,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "839:7:17",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"scope": 2364,
"src": "761:100:17"
},
{
"baseContracts": [
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 2342,
"name": "StorageMockChainA2",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2334,
"src": "897:18:17",
"typeDescriptions": {
"typeIdentifier": "t_contract$_StorageMockChainA2_$2334",
"typeString": "contract StorageMockChainA2"
}
},
"id": 2343,
"nodeType": "InheritanceSpecifier",
"src": "897:18:17"
},
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 2344,
"name": "StorageMockChainB",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2341,
"src": "917:17:17",
"typeDescriptions": {
"typeIdentifier": "t_contract$_StorageMockChainB_$2341",
"typeString": "contract StorageMockChainB"
}
},
"id": 2345,
"nodeType": "InheritanceSpecifier",
"src": "917:17:17"
}
],
"contractDependencies": [
2320,
2327,
2334,
2341
],
"contractKind": "contract",
"documentation": null,
"fullyImplemented": true,
"id": 2363,
"linearizedBaseContracts": [
2363,
2341,
2334,
2327,
2320
],
"name": "StorageMockChainChild",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"id": 2347,
"name": "child",
"nodeType": "VariableDeclaration",
"scope": 2363,
"src": "939:22:17",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2346,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "939:7:17",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"body": {
"id": 2361,
"nodeType": "Block",
"src": "1088:156:17",
"statements": [
{
"externalReferences": [
{
"base_slot": {
"declaration": 2319,
"isOffset": false,
"isSlot": true,
"src": "1123:9:17",
"valueSize": 1
}
},
{
"baseSlot": {
"declaration": 2350,
"isOffset": false,
"isSlot": false,
"src": "1111:8:17",
"valueSize": 1
}
},
{
"a3_slot": {
"declaration": 2331,
"isOffset": false,
"isSlot": true,
"src": "1173:7:17",
"valueSize": 1
}
},
{
"a3Slot": {
"declaration": 2354,
"isOffset": false,
"isSlot": false,
"src": "1163:6:17",
"valueSize": 1
}
},
{
"a1_slot": {
"declaration": 2324,
"isOffset": false,
"isSlot": true,
"src": "1149:7:17",
"valueSize": 1
}
},
{
"a1Slot": {
"declaration": 2352,
"isOffset": false,
"isSlot": false,
"src": "1139:6:17",
"valueSize": 1
}
},
{
"b1_slot": {
"declaration": 2338,
"isOffset": false,
"isSlot": true,
"src": "1197:7:17",
"valueSize": 1
}
},
{
"b1Slot": {
"declaration": 2356,
"isOffset": false,
"isSlot": false,
"src": "1187:6:17",
"valueSize": 1
}
},
{
"child_slot": {
"declaration": 2347,
"isOffset": false,
"isSlot": true,
"src": "1224:10:17",
"valueSize": 1
}
},
{
"childSlot": {
"declaration": 2358,
"isOffset": false,
"isSlot": false,
"src": "1211:9:17",
"valueSize": 1
}
}
],
"id": 2360,
"nodeType": "InlineAssembly",
"operations": "{\n baseSlot := base_slot\n a1Slot := a1_slot\n a3Slot := a3_slot\n b1Slot := b1_slot\n childSlot := child_slot\n}",
"src": "1094:150:17"
}
]
},
"documentation": null,
"id": 2362,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "slots",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2348,
"nodeType": "ParameterList",
"parameters": [],
"src": "980:2:17"
},
"payable": false,
"returnParameters": {
"id": 2359,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2350,
"name": "baseSlot",
"nodeType": "VariableDeclaration",
"scope": 2362,
"src": "1003:16:17",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2349,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1003:7:17",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 2352,
"name": "a1Slot",
"nodeType": "VariableDeclaration",
"scope": 2362,
"src": "1021:14:17",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2351,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1021:7:17",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 2354,
"name": "a3Slot",
"nodeType": "VariableDeclaration",
"scope": 2362,
"src": "1037:14:17",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2353,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1037:7:17",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 2356,
"name": "b1Slot",
"nodeType": "VariableDeclaration",
"scope": 2362,
"src": "1053:14:17",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2355,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1053:7:17",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 2358,
"name": "childSlot",
"nodeType": "VariableDeclaration",
"scope": 2362,
"src": "1069:17:17",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2357,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1069:7:17",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1002:85:17"
},
"scope": 2363,
"src": "966:278:17",
"stateMutability": "pure",
"superFunction": null,
"visibility": "public"
}
],
"scope": 2364,
"src": "863:383:17"
}
],
"src": "0:1246:17"
},
"legacyAST": {
"absolutePath": "/Users/yoonjae/WebstormProjects/zos/packages/lib/contracts/mocks/StorageMocks2.sol",
"exportedSymbols": {
"StorageMockChainA1": [
2327
],
"StorageMockChainA2": [
2334
],
"StorageMockChainB": [
2341
],
"StorageMockChainBase": [
2320
],
"StorageMockChainChild": [
2363
],
"StorageMockWithNodeModulesReferences": [
2317
],
"StorageMockWithReferences": [
2310
]
},
"id": 2364,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 2301,
"literals": [
"solidity",
"^",
"0.4",
".24"
],
"nodeType": "PragmaDirective",
"src": "0:24:17"
},
{
"absolutePath": "/Users/yoonjae/WebstormProjects/zos/packages/lib/contracts/mocks/StorageMocks.sol",
"file": "./StorageMocks.sol",
"id": 2302,
"nodeType": "ImportDirective",
"scope": 2364,
"sourceUnit": 2300,
"src": "26:28:17",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "mock-dependency/contracts/DependencyStorageMock.sol",
"file": "mock-dependency/contracts/DependencyStorageMock.sol",
"id": 2303,
"nodeType": "ImportDirective",
"scope": 2364,
"sourceUnit": 3038,
"src": "55:61:17",
"symbolAliases": [],
"unitAlias": ""
},
{
"baseContracts": [],
"contractDependencies": [],
"contractKind": "contract",
"documentation": null,
"fullyImplemented": true,
"id": 2310,
"linearizedBaseContracts": [
2310
],
"name": "StorageMockWithReferences",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"id": 2305,
"name": "my_enum",
"nodeType": "VariableDeclaration",
"scope": 2310,
"src": "157:44:17",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_enum$_MyEnum_$2253",
"typeString": "enum StorageMockWithEnums.MyEnum"
},
"typeName": {
"contractScope": null,
"id": 2304,
"name": "StorageMockWithEnums.MyEnum",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2253,
"src": "157:27:17",
"typeDescriptions": {
"typeIdentifier": "t_enum$_MyEnum_$2253",
"typeString": "enum StorageMockWithEnums.MyEnum"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 2307,
"name": "my_struct",
"nodeType": "VariableDeclaration",
"scope": 2310,
"src": "205:50:17",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_struct$_MyStruct_$2236_storage",
"typeString": "struct StorageMockWithStructs.MyStruct"
},
"typeName": {
"contractScope": null,
"id": 2306,
"name": "StorageMockWithStructs.MyStruct",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2236,
"src": "205:31:17",
"typeDescriptions": {
"typeIdentifier": "t_struct$_MyStruct_$2236_storage_ptr",
"typeString": "struct StorageMockWithStructs.MyStruct"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 2309,
"name": "my_contract",
"nodeType": "VariableDeclaration",
"scope": 2310,
"src": "259:38:17",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_SimpleStorageMock_$2115",
"typeString": "contract SimpleStorageMock"
},
"typeName": {
"contractScope": null,
"id": 2308,
"name": "SimpleStorageMock",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2115,
"src": "259:17:17",
"typeDescriptions": {
"typeIdentifier": "t_contract$_SimpleStorageMock_$2115",
"typeString": "contract SimpleStorageMock"
}
},
"value": null,
"visibility": "internal"
}
],
"scope": 2364,
"src": "118:182:17"
},
{
"baseContracts": [],
"contractDependencies": [],
"contractKind": "contract",
"documentation": null,
"fullyImplemented": true,
"id": 2317,
"linearizedBaseContracts": [
2317
],
"name": "StorageMockWithNodeModulesReferences",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"id": 2312,
"name": "my_enum",
"nodeType": "VariableDeclaration",
"scope": 2317,
"src": "352:45:17",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_enum$_MyEnum_$3033",
"typeString": "enum DependencyStorageMock.MyEnum"
},
"typeName": {
"contractScope": null,
"id": 2311,
"name": "DependencyStorageMock.MyEnum",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 3033,
"src": "352:28:17",
"typeDescriptions": {
"typeIdentifier": "t_enum$_MyEnum_$3033",
"typeString": "enum DependencyStorageMock.MyEnum"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 2314,
"name": "my_struct",
"nodeType": "VariableDeclaration",
"scope": 2317,
"src": "401:49:17",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_struct$_MyStruct_$3036_storage",
"typeString": "struct DependencyStorageMock.MyStruct"
},
"typeName": {
"contractScope": null,
"id": 2313,
"name": "DependencyStorageMock.MyStruct",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 3036,
"src": "401:30:17",
"typeDescriptions": {
"typeIdentifier": "t_struct$_MyStruct_$3036_storage_ptr",
"typeString": "struct DependencyStorageMock.MyStruct"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 2316,
"name": "my_contract",
"nodeType": "VariableDeclaration",
"scope": 2317,
"src": "454:42:17",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_DependencyStorageMock_$3037",
"typeString": "contract DependencyStorageMock"
},
"typeName": {
"contractScope": null,
"id": 2315,
"name": "DependencyStorageMock",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 3037,
"src": "454:21:17",
"typeDescriptions": {
"typeIdentifier": "t_contract$_DependencyStorageMock_$3037",
"typeString": "contract DependencyStorageMock"
}
},
"value": null,
"visibility": "internal"
}
],
"scope": 2364,
"src": "302:197:17"
},
{
"baseContracts": [],
"contractDependencies": [],
"contractKind": "contract",
"documentation": null,
"fullyImplemented": true,
"id": 2320,
"linearizedBaseContracts": [
2320
],
"name": "StorageMockChainBase",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"id": 2319,
"name": "base",
"nodeType": "VariableDeclaration",
"scope": 2320,
"src": "535:21:17",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2318,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "535:7:17",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"scope": 2364,
"src": "501:58:17"
},
{
"baseContracts": [
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 2321,
"name": "StorageMockChainBase",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2320,
"src": "592:20:17",
"typeDescriptions": {
"typeIdentifier": "t_contract$_StorageMockChainBase_$2320",
"typeString": "contract StorageMockChainBase"
}
},
"id": 2322,
"nodeType": "InheritanceSpecifier",
"src": "592:20:17"
}
],
"contractDependencies": [
2320
],
"contractKind": "contract",
"documentation": null,
"fullyImplemented": true,
"id": 2327,
"linearizedBaseContracts": [
2327,
2320
],
"name": "StorageMockChainA1",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"id": 2324,
"name": "a1",
"nodeType": "VariableDeclaration",
"scope": 2327,
"src": "617:19:17",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2323,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "617:7:17",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 2326,
"name": "a2",
"nodeType": "VariableDeclaration",
"scope": 2327,
"src": "640:19:17",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2325,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "640:7:17",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"scope": 2364,
"src": "561:101:17"
},
{
"baseContracts": [
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 2328,
"name": "StorageMockChainA1",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2327,
"src": "695:18:17",
"typeDescriptions": {
"typeIdentifier": "t_contract$_StorageMockChainA1_$2327",
"typeString": "contract StorageMockChainA1"
}
},
"id": 2329,
"nodeType": "InheritanceSpecifier",
"src": "695:18:17"
}
],
"contractDependencies": [
2320,
2327
],
"contractKind": "contract",
"documentation": null,
"fullyImplemented": true,
"id": 2334,
"linearizedBaseContracts": [
2334,
2327,
2320
],
"name": "StorageMockChainA2",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"id": 2331,
"name": "a3",
"nodeType": "VariableDeclaration",
"scope": 2334,
"src": "718:17:17",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2330,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "718:7:17",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "public"
},
{
"constant": false,
"id": 2333,
"name": "a4",
"nodeType": "VariableDeclaration",
"scope": 2334,
"src": "739:17:17",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2332,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "739:7:17",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "public"
}
],
"scope": 2364,
"src": "664:95:17"
},
{
"baseContracts": [
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 2335,
"name": "StorageMockChainBase",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2320,
"src": "791:20:17",