AeraVaultModulesFactory
AeraVaultModulesFactory
Inherits: IAeraVaultAssetRegistryFactory, IAeraVaultHooksFactory, Sweepable
Used to create new asset registry and hooks.
Only one instance of the factory will be required per chain.
State Variables
v2Factory
The address of the v2 factory.
address public immutable v2Factory;
wrappedNativeToken
Wrapped native token.
IERC20 public immutable wrappedNativeToken;
Functions
onlyOwnerOrV2Factory
MODIFIERS ///
Throws if called by any account other than the owner or v2 factory.
modifier onlyOwnerOrV2Factory();
constructor
FUNCTIONS ///
constructor(address v2Factory_) Ownable;
deployAssetRegistry
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
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
deployed
address
The address of deployed asset registry.
deployHooks
Deploy hooks.
function deployHooks(
bytes32 salt,
address owner_,
address vault,
uint256 minDailyValue,
TargetSighashData[] memory targetSighashAllowlist
) external override onlyOwnerOrV2Factory returns (address deployed);
Parameters
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
deployed
address
The address of deployed hooks.
Events
AssetRegistryCreated
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
);
HooksCreated
Emitted when the hooks is created.
event HooksCreated(
address indexed hooks,
address indexed vault,
address indexed owner,
uint256 minDailyValue,
TargetSighashData[] targetSighashAllowlist
);
Errors
Aera_CallerIsNeitherOwnerOrV2Factory
MODIFIERS ///
error Aera_CallerIsNeitherOwnerOrV2Factory();
Aera__V2FactoryIsZeroAddress
error Aera__V2FactoryIsZeroAddress();
Last updated