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