{
  "contractName": "StorageMockWithTransitiveReferences",
  "abi": [],
  "bytecode": "0x6080604052348015600f57600080fd5b50603580601d6000396000f3006080604052600080fd00a165627a7a72305820df42c6e89aa2b48f58800a72ae4387b0c478b8a40031273079296433671b50b50029",
  "deployedBytecode": "0x6080604052600080fd00a165627a7a72305820df42c6e89aa2b48f58800a72ae4387b0c478b8a40031273079296433671b50b50029",
  "sourceMap": "57:192:18:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;57:192:18;;;;;;;",
  "deployedSourceMap": "57:192:18:-;;;;;",
  "source": "pragma solidity ^0.4.24;\n\nimport \"./StorageMocks2.sol\";\n\ncontract StorageMockWithTransitiveReferences {\n  StorageMockWithEnums.MyEnum internal my_enum;\n  StorageMockWithStructs.MyStruct internal my_struct;\n  SimpleStorageMock internal my_contract;\n}\n",
  "sourcePath": "/Users/yoonjae/WebstormProjects/zos/packages/lib/contracts/mocks/StorageMocks3.sol",
  "ast": {
    "absolutePath": "/Users/yoonjae/WebstormProjects/zos/packages/lib/contracts/mocks/StorageMocks3.sol",
    "exportedSymbols": {
      "StorageMockWithTransitiveReferences": [
        2373
      ]
    },
    "id": 2374,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 2365,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".24"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:18"
      },
      {
        "absolutePath": "/Users/yoonjae/WebstormProjects/zos/packages/lib/contracts/mocks/StorageMocks2.sol",
        "file": "./StorageMocks2.sol",
        "id": 2366,
        "nodeType": "ImportDirective",
        "scope": 2374,
        "sourceUnit": 2364,
        "src": "26:29:18",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 2373,
        "linearizedBaseContracts": [
          2373
        ],
        "name": "StorageMockWithTransitiveReferences",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 2368,
            "name": "my_enum",
            "nodeType": "VariableDeclaration",
            "scope": 2373,
            "src": "106:44:18",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_enum$_MyEnum_$2253",
              "typeString": "enum StorageMockWithEnums.MyEnum"
            },
            "typeName": {
              "contractScope": null,
              "id": 2367,
              "name": "StorageMockWithEnums.MyEnum",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 2253,
              "src": "106:27:18",
              "typeDescriptions": {
                "typeIdentifier": "t_enum$_MyEnum_$2253",
                "typeString": "enum StorageMockWithEnums.MyEnum"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 2370,
            "name": "my_struct",
            "nodeType": "VariableDeclaration",
            "scope": 2373,
            "src": "154:50:18",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_struct$_MyStruct_$2236_storage",
              "typeString": "struct StorageMockWithStructs.MyStruct"
            },
            "typeName": {
              "contractScope": null,
              "id": 2369,
              "name": "StorageMockWithStructs.MyStruct",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 2236,
              "src": "154:31:18",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_MyStruct_$2236_storage_ptr",
                "typeString": "struct StorageMockWithStructs.MyStruct"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 2372,
            "name": "my_contract",
            "nodeType": "VariableDeclaration",
            "scope": 2373,
            "src": "208:38:18",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_SimpleStorageMock_$2115",
              "typeString": "contract SimpleStorageMock"
            },
            "typeName": {
              "contractScope": null,
              "id": 2371,
              "name": "SimpleStorageMock",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 2115,
              "src": "208:17:18",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_SimpleStorageMock_$2115",
                "typeString": "contract SimpleStorageMock"
              }
            },
            "value": null,
            "visibility": "internal"
          }
        ],
        "scope": 2374,
        "src": "57:192:18"
      }
    ],
    "src": "0:250:18"
  },
  "legacyAST": {
    "absolutePath": "/Users/yoonjae/WebstormProjects/zos/packages/lib/contracts/mocks/StorageMocks3.sol",
    "exportedSymbols": {
      "StorageMockWithTransitiveReferences": [
        2373
      ]
    },
    "id": 2374,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 2365,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".24"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:18"
      },
      {
        "absolutePath": "/Users/yoonjae/WebstormProjects/zos/packages/lib/contracts/mocks/StorageMocks2.sol",
        "file": "./StorageMocks2.sol",
        "id": 2366,
        "nodeType": "ImportDirective",
        "scope": 2374,
        "sourceUnit": 2364,
        "src": "26:29:18",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 2373,
        "linearizedBaseContracts": [
          2373
        ],
        "name": "StorageMockWithTransitiveReferences",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 2368,
            "name": "my_enum",
            "nodeType": "VariableDeclaration",
            "scope": 2373,
            "src": "106:44:18",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_enum$_MyEnum_$2253",
              "typeString": "enum StorageMockWithEnums.MyEnum"
            },
            "typeName": {
              "contractScope": null,
              "id": 2367,
              "name": "StorageMockWithEnums.MyEnum",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 2253,
              "src": "106:27:18",
              "typeDescriptions": {
                "typeIdentifier": "t_enum$_MyEnum_$2253",
                "typeString": "enum StorageMockWithEnums.MyEnum"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 2370,
            "name": "my_struct",
            "nodeType": "VariableDeclaration",
            "scope": 2373,
            "src": "154:50:18",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_struct$_MyStruct_$2236_storage",
              "typeString": "struct StorageMockWithStructs.MyStruct"
            },
            "typeName": {
              "contractScope": null,
              "id": 2369,
              "name": "StorageMockWithStructs.MyStruct",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 2236,
              "src": "154:31:18",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_MyStruct_$2236_storage_ptr",
                "typeString": "struct StorageMockWithStructs.MyStruct"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 2372,
            "name": "my_contract",
            "nodeType": "VariableDeclaration",
            "scope": 2373,
            "src": "208:38:18",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_SimpleStorageMock_$2115",
              "typeString": "contract SimpleStorageMock"
            },
            "typeName": {
              "contractScope": null,
              "id": 2371,
              "name": "SimpleStorageMock",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 2115,
              "src": "208:17:18",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_SimpleStorageMock_$2115",
                "typeString": "contract SimpleStorageMock"
              }
            },
            "value": null,
            "visibility": "internal"
          }
        ],
        "scope": 2374,
        "src": "57:192:18"
      }
    ],
    "src": "0:250:18"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.24+commit.e67f0147.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "2.0.1",
  "updatedAt": "2019-02-15T10:15:15.405Z"
}