{
  "manifestVersion": "3.1",
  "impls": {
    "8017a3ab2df68c7bd617cfa4cdf583a7a7513e79c4971763d1785a0e10d82df2": {
      "address": "0xD557c0B91C5918E271c3BF4685614b6Cd4D2E6f2",
      "txHash": "0x7be7caa3d829e646cee3083bf92220c2af9194c43aa7140570de16e024338c39",
      "layout": {
        "storage": [
          {
            "contract": "Initializable",
            "label": "initialized",
            "type": "t_bool",
            "src": "../.openzeppelin/@openzeppelin/upgrades-core/contracts/Initializable.sol:23"
          },
          {
            "contract": "Initializable",
            "label": "initializing",
            "type": "t_bool",
            "src": "../.openzeppelin/@openzeppelin/upgrades-core/contracts/Initializable.sol:28"
          },
          {
            "contract": "Initializable",
            "label": "______gap",
            "type": "t_array(t_uint256)50_storage",
            "src": "../.openzeppelin/@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": "0x5A647D8a3761F39De44b17B2e0289630d299a593",
      "txHash": "0x7d8eb2ef18abcd67c901d48f8b0fbaee03718e2badb4e814f0dbf53f1f7cf305",
      "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": "0x2Ea4aAA8351CfE63B537E81Cd4a13c435B945C1D",
    "txHash": "0xe83c227660b4e3444a3167b9df083fac7e6d3a41a435108df4707a8662e8c38d"
  }
}
