ConsensusLayerDepositManagerV1

Alluvial Finance Inc.

Consensus Layer Deposit Manager (v1)

This contract handles the interactions with the official deposit contract, funding all validatorsWhenever a deposit to the consensus layer is requested, this contract computed the amount of keys that could be deposited depending on the amount available in the contract. It then tries to retrieve validator keys by calling its internal virtual method _getNextValidators. This method should be overridden by the implementing contract to provide [0; _keyCount] keys when invoked.

Methods

DEPOSIT_SIZE

function DEPOSIT_SIZE() external view returns (uint256)

Size of a deposit in ETH

Returns

Name
Type
Description

_0

uint256

undefined

PUBLIC_KEY_LENGTH

function PUBLIC_KEY_LENGTH() external view returns (uint256)

Size of a BLS Public key in bytes

Returns

Name
Type
Description

_0

uint256

undefined

SIGNATURE_LENGTH

Size of a BLS Signature in bytes

Returns

Name
Type
Description

_0

uint256

undefined

depositToConsensusLayerWithDepositRoot

Deposits current balance to the Consensus Layer by batches of 32 ETH

Parameters

Name
Type
Description

_maxCount

uint256

The maximum amount of validator keys to fund

_depositRoot

bytes32

The root of the deposit tree

getBalanceToDeposit

Returns the amount of ETH not yet committed for deposit

Returns

Name
Type
Description

_0

uint256

The amount of ETH not yet committed for deposit

getCommittedBalance

Returns the amount of ETH committed for deposit

Returns

Name
Type
Description

_0

uint256

The amount of ETH committed for deposit

getDepositedValidatorCount

Get the deposited validator count (the count of deposits made by the contract)

Returns

Name
Type
Description

_0

uint256

The deposited validator count

getKeeper

Get the keeper address

Returns

Name
Type
Description

_0

address

The keeper address

getWithdrawalCredentials

Retrieve the withdrawal credentials

Returns

Name
Type
Description

_0

bytes32

The withdrawal credentials

Events

SetDepositContractAddress

The stored deposit contract address changed

Parameters

Name
Type
Description

depositContract indexed

address

Address of the deposit contract

SetDepositedValidatorCount

Emitted when the deposited validator count is updated

Parameters

Name
Type
Description

oldDepositedValidatorCount

uint256

The old deposited validator count value

newDepositedValidatorCount

uint256

The new deposited validator count value

SetWithdrawalCredentials

The stored withdrawal credentials changed

Parameters

Name
Type
Description

withdrawalCredentials

bytes32

The withdrawal credentials to use for deposits

Errors

ErrorOnDeposit

An error occurred during the deposit

InconsistentPublicKeys

The length of the BLS Public key is invalid during deposit

InconsistentSignatures

The length of the BLS Signature is invalid during deposit

InvalidDepositRoot

Invalid deposit root

InvalidPublicKeyCount

The received count of public keys to deposit is invalid

InvalidSignatureCount

The received count of signatures to deposit is invalid

InvalidWithdrawalCredentials

The withdrawal credentials value is null

NoAvailableValidatorKeys

The internal key retrieval returned no keys

NotEnoughFunds

Not enough funds to deposit one validator

OnlyKeeper

SliceOutOfBounds

The slice is outside of the initial bytes bounds

SliceOverflow

The length overflows an uint

Last updated