Comment on page
AeraVaultModulesFactory
Inherits: IAeraVaultAssetRegistryFactory, IAeraVaultHooksFactory, Sweepable
Used to create new asset registry and hooks.
Only one instance of the factory will be required per chain.
The address of the v2 factory.
address public immutable v2Factory;
Wrapped native token.
IERC20 public immutable wrappedNativeToken;
MODIFIERS ///
Throws if called by any account other than the owner or v2 factory.
modifier onlyOwnerOrV2Factory();
FUNCTIONS ///
constructor(address v2Factory_) Ownable;
Deploy asset registry.
function deployAssetRegistry(
bytes32 salt,
address owner_,
address vault,
IAssetRegistry.AssetInformation[] memory assets,
IERC20 numeraireToken,
IERC20 feeToken,
AggregatorV2V3Interface sequencer
) external override onlyOwnerOrV2Factory returns (address deployed);
Parameters
Name | Type | Description |
---|---|---|
salt | bytes32 | The salt value to deploy asset registry. |
owner_ | address | |
vault | address | Vault address. |
assets | IAssetRegistry.AssetInformation[] | Initial list of registered assets. |
numeraireToken | IERC20 | Numeraire token address. |
feeToken | IERC20 | Fee token address. |
sequencer | AggregatorV2V3Interface | Sequencer Uptime Feed address for L2. |
Returns
Name | Type | Description |
---|---|---|
deployed | address | The address of deployed asset registry. |
Deploy hooks.
function deployHooks(
bytes32 salt,
address owner_,
address vault,
uint256 minDailyValue,
TargetSighashData[] memory targetSighashAllowlist
) external override onlyOwnerOrV2Factory returns (address deployed);
Parameters
Name | Type | Description |
---|---|---|
salt | bytes32 | The salt value to deploy hooks. |
owner_ | address | |
vault | address | Vault address. |
minDailyValue | uint256 | The minimum fraction of value that the vault has to retain during the day in the course of submissions. |
targetSighashAllowlist | TargetSighashData[] | Array of target contract and sighash combinations to allow. |
Returns
Name | Type | Description |
---|---|---|
deployed | address | The address of deployed hooks. |
EVENTS ///
Emitted when the asset registry is created.
event AssetRegistryCreated(
address indexed assetRegistry,
address indexed vault,
address indexed owner,
IAssetRegistry.AssetInformation[] assets,
IERC20 numeraireToken,
IERC20 feeToken,
IERC20 wrappedNativeToken,
AggregatorV2V3Interface sequencer
);
Emitted when the hooks is created.
event HooksCreated(
address indexed hooks,
address indexed vault,
address indexed owner,
uint256 minDailyValue,
TargetSighashData[] targetSighashAllowlist
);
MODIFIERS ///
error Aera_CallerIsNeitherOwnerOrV2Factory();
error Aera__V2FactoryIsZeroAddress();
Last modified 1mo ago