SingleDepositorVaultFactory

Inherits: ISingleDepositorVaultFactory, FeeVaultDeployer, Sweepable

Used to create new vaults

Only one instance of the factory will be required per chain

State Variables

_DEPLOY_DELEGATE

Address of the deploy delegate

address internal immutable _DEPLOY_DELEGATE;

Functions

constructor

constructor(address initialOwner, Authority initialAuthority, address deployDelegate)
    Sweepable(initialOwner, initialAuthority);

create

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

Name
Type
Description

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

Name
Type
Description

deployedVault

address

Deployed vault address

_deployVault

Deploy vault

function _deployVault(
    bytes32 salt,
    string calldata description,
    BaseVaultParameters calldata baseVaultParams,
    FeeVaultParameters calldata singleDepositorVaultParams
) internal returns (address deployed);

Parameters

Name
Type
Description

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

Name
Type
Description

deployed

address

Deployed vault address

_createVault

Create a new vault with delegate call

function _createVault(bytes32 salt) internal returns (address deployed);

Parameters

Name
Type
Description

salt

bytes32

The salt value to create vault

Returns

Name
Type
Description

deployed

address

Deployed vault address

Last updated