Skip to main content

GnoVaultFactory

Git Source ↗

Inherits: IGnoVaultFactory

Factory for deploying Gnosis staking Vaults

State Variables​

_securityDeposit​

uint256 private constant _securityDeposit = 1e9

_vaultsRegistry​

IVaultsRegistry internal immutable _vaultsRegistry

_gnoToken​

IERC20 internal immutable _gnoToken

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, address gnoToken) ;

Parameters

NameTypeDescription
_implementationaddressThe implementation address of Vault
vaultsRegistryIVaultsRegistryThe address of the VaultsRegistry contract
gnoTokenaddressThe address of the GNO token

createVault​

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

function createVault(bytes calldata params, bool isOwnMevEscrow) external 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