ModuleRegistry
Inherits: IModuleRegistry, Ownable, Initializable
State Variables
factory
IArrakisMetaVaultFactory public factory;
admin
should be a timelock contract.
address public immutable admin;
_guardian
address internal immutable _guardian;
_beacons
EnumerableSet.AddressSet internal _beacons;
Functions
constructor
constructor(address owner_, address guardian_, address admin_);
initialize
function used to initialize module registry.
function initialize(address factory_) external initializer;
Parameters
Name | Type | Description |
---|---|---|
factory_ | address | address of ArrakisMetaVaultFactory, who is the only one who can call the init management function. |
beacons
function to get the whitelisted list of IBeacon that have module as implementation.
function beacons() external view returns (address[] memory);
Returns
Name | Type | Description |
---|---|---|
<none> | address[] | beacons list of upgradeable beacon. |
beaconsContains
function to know if the beacons enumerableSet contain beacon_
function beaconsContains(address beacon_)
external
view
returns (bool isContained);
Parameters
Name | Type | Description |
---|---|---|
beacon_ | address | beacon address to check |
guardian
function used to get the guardian address of arrakis protocol.
function guardian() external view returns (address);
Returns
Name | Type | Description |
---|---|---|
<none> | address | guardian address of the pauser. |
whitelistBeacons
function used to whitelist IBeacon that contain implementation of valid module.
function whitelistBeacons(address[] calldata beacons_)
external
onlyOwner;
Parameters
Name | Type | Description |
---|---|---|
beacons_ | address[] | list of beacon to whitelist. |
blacklistBeacons
function used to blacklist IBeacon that contain implementation of unvalid (from now) module.
function blacklistBeacons(address[] calldata beacons_)
external
onlyOwner;
Parameters
Name | Type | Description |
---|---|---|
beacons_ | address[] | list of beacon to blacklist. |
_createModule
function _createModule(
address vault_,
address beacon_,
bytes calldata payload_
) internal returns (address module);
_checkVaultNotAddressZero
function _checkVaultNotAddressZero(address vault_) internal pure;