{
  "manifestVersion": "3.1",
  "impls": {
    "8017a3ab2df68c7bd617cfa4cdf583a7a7513e79c4971763d1785a0e10d82df2": {
      "address": "0xE55c336234374FA932863B50a11a8480597f27B1",
      "txHash": "0x64e974c9df9a0131d28b2347f757425ed03f7b4c9768a81977f9f2bce37e446b",
      "layout": {
        "storage": [
          {
            "contract": "Initializable",
            "label": "initialized",
            "type": "t_bool",
            "src": "../@openzeppelin/upgrades-core/contracts/Initializable.sol:23"
          },
          {
            "contract": "Initializable",
            "label": "initializing",
            "type": "t_bool",
            "src": "../@openzeppelin/upgrades-core/contracts/Initializable.sol:28"
          },
          {
            "contract": "Initializable",
            "label": "______gap",
            "type": "t_array(t_uint256)50_storage",
            "src": "../@openzeppelin/upgrades-core/contracts/Initializable.sol:63"
          },
          {
            "contract": "InvitesV1",
            "label": "codeToUser",
            "type": "t_mapping(t_bytes32,t_address)",
            "src": "invite/InvitesV1.sol:39"
          },
          {
            "contract": "InvitesV1",
            "label": "users",
            "type": "t_mapping(t_address,t_struct(User)570_storage)",
            "src": "invite/InvitesV1.sol:40"
          },
          {
            "contract": "InvitesV1",
            "label": "avatar",
            "type": "t_address_payable",
            "src": "invite/InvitesV1.sol:41"
          },
          {
            "contract": "InvitesV1",
            "label": "levels",
            "type": "t_mapping(t_uint256,t_struct(Level)581_storage)",
            "src": "invite/InvitesV1.sol:43"
          },
          {
            "contract": "InvitesV1",
            "label": "owner",
            "type": "t_address",
            "src": "invite/InvitesV1.sol:45"
          },
          {
            "contract": "InvitesV1",
            "label": "identity",
            "type": "t_contract(IIdentity)365",
            "src": "invite/InvitesV1.sol:46"
          },
          {
            "contract": "InvitesV1",
            "label": "goodDollar",
            "type": "t_contract(cERC20)257",
            "src": "invite/InvitesV1.sol:47"
          },
          {
            "contract": "InvitesV1",
            "label": "active",
            "type": "t_bool",
            "src": "invite/InvitesV1.sol:48"
          },
          {
            "contract": "InvitesV1",
            "label": "stats",
            "type": "t_struct(Stats)545_storage",
            "src": "invite/InvitesV1.sol:49"
          }
        ],
        "types": {
          "t_mapping(t_bytes32,t_address)": {
            "label": "mapping(bytes32 => address)"
          },
          "t_mapping(t_address,t_struct(User)570_storage)": {
            "label": "mapping(address => struct InvitesV1.User)"
          },
          "t_address_payable": {
            "label": "address payable"
          },
          "t_mapping(t_uint256,t_struct(Level)581_storage)": {
            "label": "mapping(uint256 => struct InvitesV1.Level)"
          },
          "t_address": {
            "label": "address"
          },
          "t_contract(IIdentity)365": {
            "label": "contract IIdentity"
          },
          "t_contract(cERC20)257": {
            "label": "contract cERC20"
          },
          "t_bool": {
            "label": "bool"
          },
          "t_struct(Stats)545_storage": {
            "label": "struct InvitesV1.Stats"
          },
          "t_array(t_uint256)50_storage": {
            "label": "uint256[50]"
          }
        }
      }
    },
    "e0a60649dff7a5bc7393f14bfae719605889a61c09b00e5e96993506a2ec59da": {
      "address": "0x244E348480A4D194bc15bbB3688b935F934bEFe9",
      "txHash": "0x8272bd737a6de6f8e5f68c0de7ad7ef4b27e7eb7ab6504fc99f852c43bf35169",
      "layout": {
        "storage": [
          {
            "contract": "Initializable",
            "label": "initialized",
            "type": "t_bool",
            "src": "../@openzeppelin/upgrades-core/contracts/Initializable.sol:23"
          },
          {
            "contract": "Initializable",
            "label": "initializing",
            "type": "t_bool",
            "src": "../@openzeppelin/upgrades-core/contracts/Initializable.sol:28"
          },
          {
            "contract": "Initializable",
            "label": "______gap",
            "type": "t_array(t_uint256)50_storage",
            "src": "../@openzeppelin/upgrades-core/contracts/Initializable.sol:63"
          },
          {
            "contract": "InvitesV1",
            "label": "codeToUser",
            "type": "t_mapping(t_bytes32,t_address)",
            "src": "invite/InvitesV1.sol:40"
          },
          {
            "contract": "InvitesV1",
            "label": "users",
            "type": "t_mapping(t_address,t_struct(User)555_storage)",
            "src": "invite/InvitesV1.sol:41"
          },
          {
            "contract": "InvitesV1",
            "label": "avatar",
            "type": "t_address_payable",
            "src": "invite/InvitesV1.sol:42"
          },
          {
            "contract": "InvitesV1",
            "label": "levels",
            "type": "t_mapping(t_uint256,t_struct(Level)566_storage)",
            "src": "invite/InvitesV1.sol:44"
          },
          {
            "contract": "InvitesV1",
            "label": "owner",
            "type": "t_address",
            "src": "invite/InvitesV1.sol:46"
          },
          {
            "contract": "InvitesV1",
            "label": "identity",
            "type": "t_contract(IIdentity)347",
            "src": "invite/InvitesV1.sol:47"
          },
          {
            "contract": "InvitesV1",
            "label": "goodDollar",
            "type": "t_contract(cERC20)239",
            "src": "invite/InvitesV1.sol:48"
          },
          {
            "contract": "InvitesV1",
            "label": "active",
            "type": "t_bool",
            "src": "invite/InvitesV1.sol:49"
          },
          {
            "contract": "InvitesV1",
            "label": "stats",
            "type": "t_struct(Stats)528_storage",
            "src": "invite/InvitesV1.sol:50"
          },
          {
            "contract": "InvitesV1",
            "label": "levelExpirationEnabled",
            "type": "t_bool",
            "src": "invite/InvitesV1.sol:52"
          }
        ],
        "types": {
          "t_mapping(t_bytes32,t_address)": {
            "label": "mapping(bytes32 => address)"
          },
          "t_mapping(t_address,t_struct(User)555_storage)": {
            "label": "mapping(address => struct InvitesV1.User)"
          },
          "t_address_payable": {
            "label": "address payable"
          },
          "t_mapping(t_uint256,t_struct(Level)566_storage)": {
            "label": "mapping(uint256 => struct InvitesV1.Level)"
          },
          "t_address": {
            "label": "address"
          },
          "t_contract(IIdentity)347": {
            "label": "contract IIdentity"
          },
          "t_contract(cERC20)239": {
            "label": "contract cERC20"
          },
          "t_bool": {
            "label": "bool"
          },
          "t_struct(Stats)528_storage": {
            "label": "struct InvitesV1.Stats"
          },
          "t_array(t_uint256)50_storage": {
            "label": "uint256[50]"
          }
        }
      }
    }
  },
  "admin": {
    "address": "0xA74F8Ca91bA870608A909A9685e4a984Bbc068b5",
    "txHash": "0x71b64c313a6beef58709df5cb1e536e12f6399bf8c2439a2df46c5101455d771"
  }
}
