SingleDepositorVaultFactory
Last updated
Last updated
Inherits: ISingleDepositorVaultFactory, FeeVaultDeployer, Sweepable
Used to create new vaults
Only one instance of the factory will be required per chain
Address of the deploy delegate
address internal immutable _DEPLOY_DELEGATE;
constructor(address initialOwner, Authority initialAuthority, address deployDelegate)
Sweepable(initialOwner, initialAuthority);
Create single-depositor vault
function create(
bytes32 salt,
string calldata description,
BaseVaultParameters calldata baseVaultParams,
FeeVaultParameters calldata singleDepositorVaultParams,
address expectedVaultAddress
) external override requiresAuth returns (address deployedVault);
Parameters
salt
bytes32
The salt used to generate the vault address
description
string
Vault description
baseVaultParams
BaseVaultParameters
Base vault parameters for deployment
singleDepositorVaultParams
FeeVaultParameters
Parameters for deployment related to single depositor functionality
expectedVaultAddress
address
Expected vault address to check against deployed vault address
Returns
deployedVault
address
Deployed vault address
Deploy vault
function _deployVault(
bytes32 salt,
string calldata description,
BaseVaultParameters calldata baseVaultParams,
FeeVaultParameters calldata singleDepositorVaultParams
) internal returns (address deployed);
Parameters
salt
bytes32
The salt value to create vault
description
string
Vault description
baseVaultParams
BaseVaultParameters
Parameters for vault deployment used in BaseVault
singleDepositorVaultParams
FeeVaultParameters
Parameters for vault deployment specific to SingleDepositorVault
Returns
deployed
address
Deployed vault address
Create a new vault with delegate call
function _createVault(bytes32 salt) internal returns (address deployed);
Parameters
salt
bytes32
The salt value to create vault
Returns
deployed
address
Deployed vault address