LidoExecutionLayerRewardsVault
A vault for temporary storage of execution layer (EL) rewards (MEV and tx priority fee). See the Lido improvement proposal #12.
Both the transaction priority fee and MEV rewards are collected by specifying the contract's address as the coinbase (feeRecipient
). Additionally, MEV rewards are also extracted whenever payload builders include an explicit transaction that transfers MEV shares to the feeRecipient
in the payload. Thereby, the contract features a payable receive function that accepts incoming ether.
Only the Lido
contract can withdraw the accumulated rewards to distribute them between stETH
holders as part of the Accounting Oracle
report.
NB: Any ether sent to the contract by accident is unrecoverable and will be distributed by the protocol as accrued rewards.
Methods
receive()
Allows the contract to receive ETH via transactions.
Emits the ETHReceived
event.
receive() external payable;
withdrawRewards()
Move all accumulated EL rewards to the Lido contract. Can only be called by the Lido contract. Returns the ether amount withdrawn.
function withdrawRewards(uint256 _maxAmount) external returns (uint256 amount)
Parameters:
Name | Type | Description |
---|---|---|
_maxAmount | uint256 | Max amount of ETH to withdraw |