nETH Liquidity Staking Pool

This contract builds upon the BasePool contract to specifically handle nETH (liquid staked ETH) functionality. It allows users to stake ETH and receive nETH (liquidity pool tokens) in return. The nETH represents a share of the underlying nETH pool.


This function allows a validator manager (presumably a separate contract) to register validators on the beacon chain. It performs the following checks:

  • Arguments:

    • _depositContractRoot: Root hash of the deposit contract (likely on the beacon chain).

    • _pubkeys: Array of validator public keys.

    • _signatures: Array of deposit signatures.

    • _depositDataRoots: Array of deposit data roots.


The function is used to verify if there are sufficient funds available before proceeding with an operation that requires ETH.


  • _requireEthAmount (uint256): The amount of ETH required for the operation being performed.

  • _isCheckWithdrawalReuqest (bool): A flag indicating whether the function is called during a withdrawal check or another operation.


It retrieves the address of the sender (msg.sender) who initiated the ETH transfer to the contract.

Last updated