[{"inputs":[{"internalType":"address","name":"contractAdmin_","type":"address"},{"internalType":"address","name":"walletsAdmin_","type":"address"},{"internalType":"address","name":"trustedForwarder_","type":"address"},{"internalType":"uint256","name":"amlKycValidityDuration_","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"EasyAccessControl_AlreadyHasRole","type":"error"},{"inputs":[],"name":"EasyAccessControl_ArraysMustBeSameLength","type":"error"},{"inputs":[],"name":"EasyAccessControl_AtLeastOneContractAdminRequired","type":"error"},{"inputs":[],"name":"EasyAccessControl_CannotRevokeRole","type":"error"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"EasyAccessControl_DoesNotHaveContractAdminRole","type":"error"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"EasyAccessControl_DoesNotHaveWalletsAdminRole","type":"error"},{"inputs":[],"name":"EasyAccessControl_InvalidRole","type":"error"},{"inputs":[],"name":"EasyAccessControl_InvalidZeroAddress","type":"error"},{"inputs":[],"name":"IdentityRegistry_AlreadyHasSameAmlKycValidityDuration","type":"error"},{"inputs":[],"name":"IdentityRegistry_EmptyRegionsArray","type":"error"},{"inputs":[],"name":"IdentityRegistry_InvalidAmlKycValidityDuration","type":"error"},{"inputs":[],"name":"IdentityRegistry_InvalidRegion","type":"error"},{"inputs":[],"name":"IdentityRegistry_InvalidTrustedForwarder","type":"error"},{"inputs":[],"name":"IdentityRegistry_InvalidWalletsAdmin","type":"error"},{"inputs":[],"name":"IdentityRegistry_RegionsExceedsMaxCount","type":"error"},{"inputs":[],"name":"IdentityRegistry_TimestampInTheFuture","type":"error"},{"inputs":[],"name":"IdentityRegistry_WalletAlreadyHasNoAccreditation","type":"error"},{"inputs":[],"name":"IdentityRegistry_WalletAlreadyHasRegion","type":"error"},{"inputs":[],"name":"IdentityRegistry_WalletAlreadyHasSameAccreditationLevel","type":"error"},{"inputs":[],"name":"IdentityRegistry_WalletAlreadyHasSameAmlKycStatus","type":"error"},{"inputs":[],"name":"IdentityRegistry_WalletAlreadyHasSameRegions","type":"error"},{"inputs":[],"name":"IdentityRegistry_WalletDoesNotHaveRegion","type":"error"},{"inputs":[],"name":"IdentityRegistry_WalletHasNoIdentityToRemove","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"authority","type":"address"},{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"newAccreditationLevel","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"accreditationTimestamp","type":"uint256"}],"name":"AccreditationGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"authority","type":"address"},{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"revokedAccreditationLevel","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"accreditationTimestamp","type":"uint256"}],"name":"AccreditationRevoked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"authority","type":"address"},{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"amlKycTimestamp","type":"uint256"}],"name":"AmlKycFailed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"authority","type":"address"},{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"amlKycTimestamp","type":"uint256"}],"name":"AmlKycPassed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"authority","type":"address"},{"indexed":false,"internalType":"uint256","name":"oldAmlKycValidityDuration","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newAmlKycValidityDuration","type":"uint256"}],"name":"AmlKycValidityDurationSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"authority","type":"address"},{"indexed":true,"internalType":"address","name":"owner","type":"address"}],"name":"IdentityCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"authority","type":"address"},{"indexed":true,"internalType":"address","name":"owner","type":"address"}],"name":"IdentityRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"authority","type":"address"},{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"region","type":"uint256"}],"name":"RegionAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"authority","type":"address"},{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"region","type":"uint256"}],"name":"RegionRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"authority","type":"address"},{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"regions","type":"uint256[]"}],"name":"RegionsSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"grantor","type":"address"},{"indexed":true,"internalType":"address","name":"grantee","type":"address"},{"indexed":false,"internalType":"uint8","name":"role","type":"uint8"},{"indexed":true,"internalType":"bool","name":"status","type":"bool"}],"name":"RoleChange","type":"event"},{"inputs":[],"name":"CONTRACT_ADMIN_ROLE","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"INTERFACE_ID","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MINT_ADMIN_ROLE","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"RESERVE_ADMIN_ROLE","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SOFT_BURN_ADMIN_ROLE","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TRANSFER_ADMIN_ROLE","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"WALLETS_ADMIN_ROLE","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"accreditationType","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"region","type":"uint256"}],"name":"addRegion","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"amlKycValidityDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"uint8[]","name":"roles_","type":"uint8[]"}],"name":"batchGrantRoles","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"uint8[]","name":"roles_","type":"uint8[]"}],"name":"batchRevokeRoles","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"owners","type":"address[]"},{"components":[{"internalType":"uint256[]","name":"regions","type":"uint256[]"},{"internalType":"uint256","name":"accreditationType","type":"uint256"},{"internalType":"uint256","name":"lastAmlKycChangeTimestamp","type":"uint256"},{"internalType":"uint256","name":"lastAccreditationChangeTimestamp","type":"uint256"},{"internalType":"bool","name":"amlKycPassed","type":"bool"}],"internalType":"struct IIdentityRegistry.IdentityInfo","name":"info","type":"tuple"}],"name":"batchSetIdentity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"contractAdminCount","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"_accreditationType","type":"uint256"},{"internalType":"uint256","name":"accreditationTimestamp","type":"uint256"}],"name":"grantAccreditation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"amlKycTimestamp","type":"uint256"}],"name":"grantAmlKyc","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint8","name":"role","type":"uint8"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"region","type":"uint256"}],"name":"hasRegion","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint8","name":"role","type":"uint8"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"identity","outputs":[{"components":[{"internalType":"uint256[]","name":"regions","type":"uint256[]"},{"internalType":"uint256","name":"accreditationType","type":"uint256"},{"internalType":"uint256","name":"lastAmlKycChangeTimestamp","type":"uint256"},{"internalType":"uint256","name":"lastAccreditationChangeTimestamp","type":"uint256"},{"internalType":"bool","name":"amlKycPassed","type":"bool"}],"internalType":"struct IIdentityRegistry.IdentityInfo","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"isAmlKycPassed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"forwarder","type":"address"}],"name":"isTrustedForwarder","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"regions","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"removeIdentity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"region","type":"uint256"}],"name":"removeRegion","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"accreditationTimestamp","type":"uint256"}],"name":"revokeAccreditation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"amlKycTimestamp","type":"uint256"}],"name":"revokeAmlKyc","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint8","name":"role","type":"uint8"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"roles","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amlKycValidityDuration_","type":"uint256"}],"name":"setAmlKycValidityDuration","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"components":[{"internalType":"uint256[]","name":"regions","type":"uint256[]"},{"internalType":"uint256","name":"accreditationType","type":"uint256"},{"internalType":"uint256","name":"lastAmlKycChangeTimestamp","type":"uint256"},{"internalType":"uint256","name":"lastAccreditationChangeTimestamp","type":"uint256"},{"internalType":"bool","name":"amlKycPassed","type":"bool"}],"internalType":"struct IIdentityRegistry.IdentityInfo","name":"info","type":"tuple"}],"name":"setIdentity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256[]","name":"newRegions","type":"uint256[]"}],"name":"setRegions","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"trustedForwarder","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]