Skip to main content

VaultValidators

Git Source ↗

Inherits: VaultImmutables →, Initializable ↗, ReentrancyGuardUpgradeable ↗, VaultAdmin →, VaultState →, IVaultValidators

Defines the validators functionality for the Vault.

Events​

ValidatorRegistered​

Event emitted on V1 validator registration

event ValidatorRegistered(bytes publicKey);

Parameters

NameTypeDescription
publicKeybytesThe public key of the validator that was registered

V2ValidatorRegistered​

Event emitted on V2 validator registration

event V2ValidatorRegistered(bytes publicKey, uint256 amount);

Parameters

NameTypeDescription
publicKeybytesThe public key of the validator that was registered
amountuint256The amount of assets that was registered

ValidatorWithdrawalSubmitted​

Event emitted on validator withdrawal

event ValidatorWithdrawalSubmitted(bytes publicKey, uint256 amount, uint256 feePaid);

Parameters

NameTypeDescription
publicKeybytesThe public key of the validator that was withdrawn
amountuint256The amount of assets that was withdrawn
feePaiduint256The amount of fee that was paid

ValidatorFunded​

Event emitted on validator balance top-up

event ValidatorFunded(bytes publicKey, uint256 amount);

Parameters

NameTypeDescription
publicKeybytesThe public key of the validator that was funded
amountuint256The amount of assets that was funded

ValidatorConsolidationSubmitted​

Event emitted on validators consolidation

event ValidatorConsolidationSubmitted(bytes fromPublicKey, bytes toPublicKey, uint256 feePaid);

Parameters

NameTypeDescription
fromPublicKeybytesThe public key of the validator that was consolidated
toPublicKeybytesThe public key of the validator that was consolidated to
feePaiduint256The amount of fee that was paid

KeysManagerUpdated​

Event emitted on keys manager address update (deprecated)

event KeysManagerUpdated(address indexed caller, address indexed keysManager);

Parameters

NameTypeDescription
calleraddressThe address of the function caller
keysManageraddressThe address of the new keys manager

ValidatorsRootUpdated​

Event emitted on validators merkle tree root update (deprecated)

event ValidatorsRootUpdated(address indexed caller, bytes32 indexed validatorsRoot);

Parameters

NameTypeDescription
calleraddressThe address of the function caller
validatorsRootbytes32The new validators merkle tree root

ValidatorsManagerUpdated​

Event emitted on validators manager address update

event ValidatorsManagerUpdated(address indexed caller, address indexed validatorsManager);

Parameters

NameTypeDescription
calleraddressThe address of the function caller
validatorsManageraddressThe address of the new validators manager

Functions​

validatorsManager​

The Vault validators manager address

function validatorsManager() external view returns (address);

Returns

NameTypeDescription
<none>addressThe address that can register validators

validatorsManagerNonce​

The nonce for the validators manager used for signing

function validatorsManagerNonce() external view returns (uint256);

Returns

NameTypeDescription
<none>uint256The nonce for the validators manager

v2Validators​

Function for checking if the validator is tracked V2 validator

function v2Validators(bytes32 publicKeyHash) external view returns (bool);

Parameters

NameTypeDescription
publicKeyHashbytes32The keccak256 hash of the public key of the validator

Returns

NameTypeDescription
<none>boolWhether the validator is tracked V2 validator

registerValidators​

Function for registering single or multiple validators

function registerValidators(
IKeeperValidators.ApprovalParams calldata keeperParams,
bytes calldata validatorsManagerSignature
) external override;

Parameters

NameTypeDescription
keeperParamsIKeeperValidators.ApprovalParamsThe parameters for getting approval from Keeper oracles
validatorsManagerSignaturebytesThe optional signature from the validators manager

fundValidators​

Function for funding single or multiple existing validators

function fundValidators(bytes calldata validators, bytes calldata validatorsManagerSignature) external override;

Parameters

NameTypeDescription
validatorsbytesThe concatenated validators data
validatorsManagerSignaturebytesThe optional signature from the validators manager

withdrawValidators​

Function for withdrawing single or multiple validators

function withdrawValidators(bytes calldata validators, bytes calldata validatorsManagerSignature)
external
payable
override
nonReentrant;

Parameters

NameTypeDescription
validatorsbytesThe concatenated validators data
validatorsManagerSignaturebytesThe optional signature from the validators manager

consolidateValidators​

Function for consolidating single or multiple validators

function consolidateValidators(
bytes calldata validators,
bytes calldata validatorsManagerSignature,
bytes calldata oracleSignatures
) external payable override nonReentrant;

Parameters

NameTypeDescription
validatorsbytesThe concatenated validators data
validatorsManagerSignaturebytesThe optional signature from the validators manager
oracleSignaturesbytesThe optional signatures from the oracles

setValidatorsManager​

Function for updating the validators manager. Can only be called by the admin. Default is the DepositDataRegistry contract.

function setValidatorsManager(address _validatorsManager) external override;

Parameters

NameTypeDescription
_validatorsManageraddressThe new validators manager address