AbstractNestorComplianceModule
Git Source
Inherits: INestorComplianceModule, OwnableUpgradeable
Author: Originally developed by DEFYCA Labs S.a.r.l., maintained by Nestor Exchange OÜ
MIT Licence. Originally Copyright © 2023 DEFYCA Labs S.a.r.l.
See {INestorComplianceModule}
State Variables
permissionsManager
INestorPermissionsManager public override permissionsManager;
complianceFactory
INestorComplianceFactory public override complianceFactory;
_complianceBound
mapping(address => bool) private _complianceBound;
Modifiers
onlyApprovedCompliance
Modifier used to verify that only approved compliance modules can be used.
onlyBoundCompliance
Modifier used to verify that only modules that are bound can be used.
Functions
__AbstractNestorComplianceModule_init
function __AbstractNestorComplianceModule_init(
address nestorPermissionsManager_,
address complianceFactory_
) internal onlyInitializing;
setPermissionsManager
function setPermissionsManager(address nestorPermissionsManager_) external override onlyOwner;
setComplianceFactory
function setComplianceFactory(address newComplianceFactory_) external override onlyOwner;
bindCompliance
function bindCompliance(address compliance_) external override onlyApprovedCompliance;
unbindCompliance
function unbindCompliance(address compliance_) external override;
moduleTransferAction
function moduleTransferAction(address from_, address to_, uint256 value_) external virtual override onlyBoundCompliance;
moduleMintAction
function moduleMintAction(address to_, uint256 value_) external virtual override onlyBoundCompliance;
moduleBurnAction
function moduleBurnAction(address from_, uint256 value_) external virtual override onlyBoundCompliance;
moduleCheck
function moduleCheck(address, address, uint256, address) public view virtual override returns (bool);
isComplianceBound
function isComplianceBound(address compliance_) public view override returns (bool);
isTreasury
function isTreasury(address userAddress_) public view override returns (bool);
isCustodian
function isCustodian(address userAddress_) public view override returns (bool);
isInvestor
function isInvestor(address userAddress_) public view override returns (bool);
isManager
function isManager(address userAddress_) public view override returns (bool);
isCalculatingAgent
function isCalculatingAgent(address userAddress_) public view override returns (bool);
isTransferAgent
function isTransferAgent(address userAddress_) public view override returns (bool);
isFundAccountant
function isFundAccountant(address userAddress_) public view override returns (bool);
isUser
Verifies if the specified wallet address is a permissioned user in the Nestor Protocol.
function isUser(address userAddress_) public view override returns (bool);
hasClaim
function hasClaim(address userAddress_, INestorPermissionsManager.NestorPermissionedUser userType_)
public view override returns (bool);
_setPermissionsManager
function _setPermissionsManager(address newNestorPermissionsManager_) internal;
_setComplianceFactory
function _setComplianceFactory(address newComplianceFactory_) internal;
_checkZeroAddr
function _checkZeroAddr(address addrToCheck_, string memory addrName_) internal pure;
_onlyBoundCompliance
function _onlyBoundCompliance(address compliance_) internal view virtual;
_onlyValidCompliance
function _onlyValidCompliance(address compliance_) internal view;
_onlyApprovedCompliance
function _onlyApprovedCompliance() internal view;
_getTokenBound
function _getTokenBound(address compliance_) internal view returns (address);
_hasClaim
function _hasClaim(address userAddress_, INestorPermissionsManager.NestorPermissionedUser userType_)
internal view virtual returns (bool);