Skip to main content

ValidatorsChecker

Git Source ↗

Inherits: Multicall, IValidatorsChecker

Defines the functionality for: checking validators manager signature checking deposit data root

State Variables

_validatorsRegistry

IValidatorsRegistry internal immutable _validatorsRegistry

_keeper

IKeeper private immutable _keeper

_vaultsRegistry

IVaultsRegistry private immutable _vaultsRegistry

_depositDataRegistry

IDepositDataRegistry private immutable _depositDataRegistry

_genesisVaultPoolEscrow

address internal immutable _genesisVaultPoolEscrow

Functions

constructor

Constructor

constructor(
address validatorsRegistry,
address keeper,
address vaultsRegistry,
address depositDataRegistry,
address genesisVaultPoolEscrow
) ;

Parameters

NameTypeDescription
validatorsRegistryaddressThe address of the beacon chain validators registry contract
keeperaddressThe address of the Keeper contract
vaultsRegistryaddressThe address of the VaultsRegistry contract
depositDataRegistryaddressThe address of the DepositDataRegistry contract
genesisVaultPoolEscrowaddressThe address of the genesis vault pool escrow contract

updateVaultState

Function for updating vault state

function updateVaultState(address vault, IKeeperRewards.HarvestParams calldata harvestParams) external override;

Parameters

NameTypeDescription
vaultaddressThe address of the vault
harvestParamsIKeeperRewards.HarvestParamsThe parameters for harvesting

getExitQueueCumulativeTickets

Function for getting the exit queue cumulative tickets

function getExitQueueCumulativeTickets(address vault) external view override returns (uint256);

Parameters

NameTypeDescription
vaultaddressThe address of the vault

Returns

NameTypeDescription
<none>uint256The exit queue cumulative tickets

getExitQueueMissingAssets

Function for getting the exit queue missing assets

function getExitQueueMissingAssets(
address vault,
uint256 withdrawingAssets,
uint256 redemptionAssets,
uint256 targetCumulativeTickets
) external view override returns (uint256 missingAssets);

Parameters

NameTypeDescription
vaultaddressThe address of the vault
withdrawingAssetsuint256The amount of assets currently being withdrawn from validators
redemptionAssetsuint256The amount of assets to be redeemed
targetCumulativeTicketsuint256The target cumulative tickets

Returns

NameTypeDescription
missingAssetsuint256The exit queue missing assets

checkValidatorsManagerSignature

Function for checking validators manager signature

function checkValidatorsManagerSignature(
address vault,
bytes32 validatorsRegistryRoot,
bytes calldata validators,
bytes calldata signature
) external view override returns (uint256 blockNumber, Status status);

Parameters

NameTypeDescription
vaultaddressThe address of the vault
validatorsRegistryRootbytes32The validators registry root
validatorsbytesThe concatenation of the validators' public key, deposit signature, deposit root
signaturebytesThe validators manager signature

Returns

NameTypeDescription
blockNumberuint256Current block number
statusStatusThe status of the verification

checkDepositDataRoot

Function for checking deposit data root

function checkDepositDataRoot(DepositDataRootCheckParams calldata params)
external
view
override
returns (uint256 blockNumber, Status status);

Parameters

NameTypeDescription
paramsDepositDataRootCheckParamsThe parameters for checking deposit data root

Returns

NameTypeDescription
blockNumberuint256Current block number
statusStatusThe status of the verification

_computeVaultValidatorsDomain

Computes the hash of the EIP712 typed data for the vault

This function is used to compute the hash of the EIP712 typed data

function _computeVaultValidatorsDomain(address vault) private view returns (bytes32);

Returns

NameTypeDescription
<none>bytes32The hash of the EIP712 typed data

_depositAmount

Get the amount of assets required for validator deposit

function _depositAmount() internal pure virtual returns (uint256);

Returns

NameTypeDescription
<none>uint256The amount of assets required for deposit

_vaultAssets

Get the amount of assets in the vault

function _vaultAssets(address vault) internal view virtual returns (uint256);

Parameters

NameTypeDescription
vaultaddressThe address of the vault

Returns

NameTypeDescription
<none>uint256The amount of assets in the vault