{
  "_format": "hh-sol-artifact-1",
  "contractName": "Directory",
  "sourceName": "contracts/misc/Directory.sol",
  "abi": [
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "contractType",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "contractAddress",
          "type": "address"
        }
      ],
      "name": "NewAddress",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferred",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "contractType",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "contractAddress",
          "type": "address"
        }
      ],
      "name": "RemoveAddress",
      "type": "event"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_type",
          "type": "bytes32"
        },
        {
          "internalType": "address[]",
          "name": "_addresses",
          "type": "address[]"
        }
      ],
      "name": "addAddress",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_type",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "_address",
          "type": "address"
        }
      ],
      "name": "addressExist",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_type",
          "type": "bytes32"
        }
      ],
      "name": "getAddressesFromType",
      "outputs": [
        {
          "internalType": "address[]",
          "name": "list",
          "type": "address[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_type",
          "type": "bytes32"
        },
        {
          "internalType": "address[]",
          "name": "_addresses",
          "type": "address[]"
        }
      ],
      "name": "removeAddress",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "renounceOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b50600061001b61006a565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35061006e565b3390565b610acc8061007d6000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80637ec3d62c1161005b5780637ec3d62c146100c85780638da5cb5b146100e8578063f2fde38b146100fd578063fc0527e4146101105761007d565b806348efff3114610082578063715018a6146100975780637d50fdc91461009f575b600080fd5b6100956100903660046108bc565b610123565b005b610095610279565b6100b26100ad366004610879565b610325565b6040516100bf9190610949565b60405180910390f35b6100db6100d6366004610891565b6103dc565b6040516100bf9190610996565b6100f06103fd565b6040516100bf9190610935565b61009561010b36600461085f565b61040c565b61009561011e3660046108bc565b61050e565b61012b610656565b6001600160a01b031661013c6103fd565b6001600160a01b031614610185576040805162461bcd60e51b81526020600482018190526024820152600080516020610a77833981519152604482015290519081900360640190fd5b60005b8181101561027357600083838381811061019e57fe5b90506020020160208101906101b3919061085f565b90506001600160a01b0381166101e45760405162461bcd60e51b81526004016101db906109e0565b60405180910390fd5b60008581526001602052604090206101fc908261065a565b6102185760405162461bcd60e51b81526004016101db90610a06565b6000858152600160205260409020610230908261066f565b507ff5e4303253eeb171e82c29899b478619012188fb35603062a896a44f03b3075185826040516102629291906109a1565b60405180910390a150600101610188565b50505050565b610281610656565b6001600160a01b03166102926103fd565b6001600160a01b0316146102db576040805162461bcd60e51b81526020600482018190526024820152600080516020610a77833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60008181526001602052604081206060919061034090610684565b90508067ffffffffffffffff8111801561035957600080fd5b50604051908082528060200260200182016040528015610383578160200160208202803683370190505b50915060005b818110156103d55760008481526001602052604090206103a99082610697565b8382815181106103b557fe5b6001600160a01b0390921660209283029190910190910152600101610389565b5050919050565b60008281526001602052604081206103f4908361065a565b90505b92915050565b6000546001600160a01b031690565b610414610656565b6001600160a01b03166104256103fd565b6001600160a01b03161461046e576040805162461bcd60e51b81526020600482018190526024820152600080516020610a77833981519152604482015290519081900360640190fd5b6001600160a01b0381166104b35760405162461bcd60e51b8152600401808060200182810382526026815260200180610a516026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b610516610656565b6001600160a01b03166105276103fd565b6001600160a01b031614610570576040805162461bcd60e51b81526020600482018190526024820152600080516020610a77833981519152604482015290519081900360640190fd5b60005b8181101561027357600083838381811061058957fe5b905060200201602081019061059e919061085f565b90506001600160a01b0381166105c65760405162461bcd60e51b81526004016101db906109e0565b60008581526001602052604090206105de908261065a565b156105fb5760405162461bcd60e51b81526004016101db906109b8565b600085815260016020526040902061061390826106a3565b507fb5ba698ccb27130c5be1f6dbf65af98e06307efa244343d7adcf066d16898fa685826040516106459291906109a1565b60405180910390a150600101610573565b3390565b60006103f4836001600160a01b0384166106b8565b60006103f4836001600160a01b0384166106d0565b600061068f82610796565b90505b919050565b60006103f4838361079a565b60006103f4836001600160a01b0384166107fe565b60009081526001919091016020526040902054151590565b6000818152600183016020526040812054801561078c578354600019808301919081019060009087908390811061070357fe5b906000526020600020015490508087600001848154811061072057fe5b60009182526020808320909101929092558281526001898101909252604090209084019055865487908061075057fe5b600190038181906000526020600020016000905590558660010160008781526020019081526020016000206000905560019450505050506103f7565b60009150506103f7565b5490565b815460009082106107dc5760405162461bcd60e51b8152600401808060200182810382526022815260200180610a2f6022913960400191505060405180910390fd5b8260000182815481106107eb57fe5b9060005260206000200154905092915050565b600061080a83836106b8565b610840575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556103f7565b5060006103f7565b80356001600160a01b038116811461069257600080fd5b600060208284031215610870578081fd5b6103f482610848565b60006020828403121561088a578081fd5b5035919050565b600080604083850312156108a3578081fd5b823591506108b360208401610848565b90509250929050565b6000806000604084860312156108d0578081fd5b83359250602084013567ffffffffffffffff808211156108ee578283fd5b818601915086601f830112610901578283fd5b81358181111561090f578384fd5b8760208083028501011115610922578384fd5b6020830194508093505050509250925092565b6001600160a01b0391909116815260200190565b6020808252825182820181905260009190848201906040850190845b8181101561098a5783516001600160a01b031683529284019291840191600101610965565b50909695505050505050565b901515815260200190565b9182526001600160a01b0316602082015260400190565b6020808252600e908201526d414c52454144595f45584953545360901b604082015260600190565b6020808252600c908201526b5a45524f5f4144445245535360a01b604082015260600190565b6020808252600e908201526d1113d154d7d393d517d1561254d560921b60408201526060019056fe456e756d657261626c655365743a20696e646578206f7574206f6620626f756e64734f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a26469706673582212201218047d94ea403ab7b42c9e41560e5dcd82b8ce18962e9eb89721079670b4d364736f6c63430007060033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c80637ec3d62c1161005b5780637ec3d62c146100c85780638da5cb5b146100e8578063f2fde38b146100fd578063fc0527e4146101105761007d565b806348efff3114610082578063715018a6146100975780637d50fdc91461009f575b600080fd5b6100956100903660046108bc565b610123565b005b610095610279565b6100b26100ad366004610879565b610325565b6040516100bf9190610949565b60405180910390f35b6100db6100d6366004610891565b6103dc565b6040516100bf9190610996565b6100f06103fd565b6040516100bf9190610935565b61009561010b36600461085f565b61040c565b61009561011e3660046108bc565b61050e565b61012b610656565b6001600160a01b031661013c6103fd565b6001600160a01b031614610185576040805162461bcd60e51b81526020600482018190526024820152600080516020610a77833981519152604482015290519081900360640190fd5b60005b8181101561027357600083838381811061019e57fe5b90506020020160208101906101b3919061085f565b90506001600160a01b0381166101e45760405162461bcd60e51b81526004016101db906109e0565b60405180910390fd5b60008581526001602052604090206101fc908261065a565b6102185760405162461bcd60e51b81526004016101db90610a06565b6000858152600160205260409020610230908261066f565b507ff5e4303253eeb171e82c29899b478619012188fb35603062a896a44f03b3075185826040516102629291906109a1565b60405180910390a150600101610188565b50505050565b610281610656565b6001600160a01b03166102926103fd565b6001600160a01b0316146102db576040805162461bcd60e51b81526020600482018190526024820152600080516020610a77833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60008181526001602052604081206060919061034090610684565b90508067ffffffffffffffff8111801561035957600080fd5b50604051908082528060200260200182016040528015610383578160200160208202803683370190505b50915060005b818110156103d55760008481526001602052604090206103a99082610697565b8382815181106103b557fe5b6001600160a01b0390921660209283029190910190910152600101610389565b5050919050565b60008281526001602052604081206103f4908361065a565b90505b92915050565b6000546001600160a01b031690565b610414610656565b6001600160a01b03166104256103fd565b6001600160a01b03161461046e576040805162461bcd60e51b81526020600482018190526024820152600080516020610a77833981519152604482015290519081900360640190fd5b6001600160a01b0381166104b35760405162461bcd60e51b8152600401808060200182810382526026815260200180610a516026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b610516610656565b6001600160a01b03166105276103fd565b6001600160a01b031614610570576040805162461bcd60e51b81526020600482018190526024820152600080516020610a77833981519152604482015290519081900360640190fd5b60005b8181101561027357600083838381811061058957fe5b905060200201602081019061059e919061085f565b90506001600160a01b0381166105c65760405162461bcd60e51b81526004016101db906109e0565b60008581526001602052604090206105de908261065a565b156105fb5760405162461bcd60e51b81526004016101db906109b8565b600085815260016020526040902061061390826106a3565b507fb5ba698ccb27130c5be1f6dbf65af98e06307efa244343d7adcf066d16898fa685826040516106459291906109a1565b60405180910390a150600101610573565b3390565b60006103f4836001600160a01b0384166106b8565b60006103f4836001600160a01b0384166106d0565b600061068f82610796565b90505b919050565b60006103f4838361079a565b60006103f4836001600160a01b0384166107fe565b60009081526001919091016020526040902054151590565b6000818152600183016020526040812054801561078c578354600019808301919081019060009087908390811061070357fe5b906000526020600020015490508087600001848154811061072057fe5b60009182526020808320909101929092558281526001898101909252604090209084019055865487908061075057fe5b600190038181906000526020600020016000905590558660010160008781526020019081526020016000206000905560019450505050506103f7565b60009150506103f7565b5490565b815460009082106107dc5760405162461bcd60e51b8152600401808060200182810382526022815260200180610a2f6022913960400191505060405180910390fd5b8260000182815481106107eb57fe5b9060005260206000200154905092915050565b600061080a83836106b8565b610840575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556103f7565b5060006103f7565b80356001600160a01b038116811461069257600080fd5b600060208284031215610870578081fd5b6103f482610848565b60006020828403121561088a578081fd5b5035919050565b600080604083850312156108a3578081fd5b823591506108b360208401610848565b90509250929050565b6000806000604084860312156108d0578081fd5b83359250602084013567ffffffffffffffff808211156108ee578283fd5b818601915086601f830112610901578283fd5b81358181111561090f578384fd5b8760208083028501011115610922578384fd5b6020830194508093505050509250925092565b6001600160a01b0391909116815260200190565b6020808252825182820181905260009190848201906040850190845b8181101561098a5783516001600160a01b031683529284019291840191600101610965565b50909695505050505050565b901515815260200190565b9182526001600160a01b0316602082015260400190565b6020808252600e908201526d414c52454144595f45584953545360901b604082015260600190565b6020808252600c908201526b5a45524f5f4144445245535360a01b604082015260600190565b6020808252600e908201526d1113d154d7d393d517d1561254d560921b60408201526060019056fe456e756d657261626c655365743a20696e646578206f7574206f6620626f756e64734f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a26469706673582212201218047d94ea403ab7b42c9e41560e5dcd82b8ce18962e9eb89721079670b4d364736f6c63430007060033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
