Skip to main content

EthVaultFactory

Git Source ↗

Inherits: IEthVaultFactory

Factory for deploying Ethereum staking Vaults

State Variables

_vaultsRegistry

IVaultsRegistry internal immutable _vaultsRegistry

implementation

The address of the Vault implementation contract used for proxy creation

address public immutable override implementation

ownMevEscrow

The address of the own MEV escrow contract used for Vault creation

address public override ownMevEscrow

vaultAdmin

The address of the Vault admin used for Vault creation

address public override vaultAdmin

Functions

constructor

Constructor

constructor(address _implementation, IVaultsRegistry vaultsRegistry) ;

Parameters

NameTypeDescription
_implementationaddressThe implementation address of Vault
vaultsRegistryIVaultsRegistryThe address of the VaultsRegistry contract

createVault

Create Vault. Must transfer security deposit together with a call.

function createVault(bytes calldata params, bool isOwnMevEscrow) external payable override returns (address vault);

Parameters

NameTypeDescription
paramsbytesThe encoded parameters for initializing the Vault contract
isOwnMevEscrowboolWhether to deploy own escrow contract or connect to a smoothing pool for priority fees and MEV rewards

Returns

NameTypeDescription
vaultaddressThe address of the created Vault