INestorComplianceFactory¶
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.
Interface defining the upgradeable compliance factory for all tokens in the Nestor Protocol.
Functions¶
setTreasuryManager¶
updateModularComplianceImpl¶
updateSupportedComplianceData¶
function updateSupportedComplianceData(UpdateSupportedComplianceData[] calldata updateSupportedComplianceDataArr_) external;
updateModularComplianceData¶
function updateModularComplianceData(UpdateModularComplianceData[] calldata updateModularComplianceDataArr_) external;
deployCompliance¶
Deploys the compliance contract using the ProxyBeacon with the associated NestorPermissionsManager contract
function deployCompliance(IBasicNestorToken.NestorTokenTypes tokenType_) external returns (address);
treasuryManager¶
modularComplianceBeacon¶
getModularComplianceImpl¶
getModularComplianceTokenType¶
function getModularComplianceTokenType(address modularComplianceAddr_) external view returns (IBasicNestorToken.NestorTokenTypes);
getSupportedComplianceModulesCount¶
function getSupportedComplianceModulesCount(IBasicNestorToken.NestorTokenTypes tokenType_) external view returns (uint256);
getSupportedComplianceModules¶
function getSupportedComplianceModules(IBasicNestorToken.NestorTokenTypes tokenType_) external view returns (address[] memory);
getSupportedComplianceInfo¶
function getSupportedComplianceInfo(IBasicNestorToken.NestorTokenTypes tokenType_) external view returns (ModularComplianceInfo memory);
isSupportedComplianceModule¶
function isSupportedComplianceModule(IBasicNestorToken.NestorTokenTypes tokenType_, address moduleToCheck_) external view returns (bool);
isModularCompliance¶
Events¶
NestorComplianceDeployed¶
event NestorComplianceDeployed(
IBasicNestorToken.NestorTokenTypes indexed tokenType,
address newComplianceContract
);
Errors¶
NestorComplianceFactoryZeroAddr¶
NestorComplianceFactoryNotATreasuryManager¶
NestorComplianceFactoryNotAModularCompliance¶
NestorComplianceFactoryInvalidTokenType¶
NestorComplianceFactoryInvalidModularComplianceData¶
error NestorComplianceFactoryInvalidModularComplianceData(UpdateModularComplianceData modularComplianceData);
Structs¶
SupportedComplianceData¶
struct SupportedComplianceData {
uint256 maxModulesCount;
EnumerableSet.AddressSet modules;
bytes32[48] _gap;
}
ModularComplianceInfo¶
UpdateModularComplianceData¶
struct UpdateModularComplianceData {
address modularCompliance;
ModularComplianceInfo complianceInfo;
bool isAdding;
}