DittoETH

Ditto
DeFiFoundryOracle
55,000 USDC
View results
Submission Details
Severity: low
Valid

Minimum deposit not enforced properly in `depositEth` from `BridgeRouterFacet.sol` in case of rETH

Summary

The depositEth function from BridgeRouterFacet.sol will fail in the [0.0001 ether; 0.01 ether) interval in case of rETH.

Vulnerability Details

The protocol establishes a MIN_DEPOSIT = 0.0001 ether in Constants.sol that is checked when depositEth is called if (msg.value < Constants.MIN_DEPOSIT) revert Errors.UnderMinimumDeposit();.

The problem lies in the fact that RocketPool documentation states the following:

As a Rocket Pool staker, your role is to deposit ETH into the deposit pool which will enable a node operator to create a new Beacon Chain validator. You can stake as little as 0.01 ETH.

This is enforced by a check in their deposit function

require(msg.value >= rocketDAOProtocolSettingsDeposit.getMinimumDeposit(), "The deposited amount is less than the
minimum deposit size");
...
function getMinimumDeposit() override external view returns (uint256) {
return getSettingUint("deposit.minimum");
}
...
setSettingUint("deposit.minimum", 0.01 ether);

Impact

All the deposits between the MIN_DEPOSIT of the protocol and minimum deposit of the Rocketpool will fail wasting unnecessary gas.

Tools Used

Manual review

Recommendations

Increase the MIN_DEPOSIT constant to 0.01 ether to match Rocketpool's minimum.

or

Transform the MIN_DEPOSIT constant into MIN_DEPOSIT_STETH and make a new MIN_DEPOSIT_RETH constant equal to 0.01 ether to be used for the appropriate bridge.

Updates

Lead Judging Commences

0xnevi Lead Judge
almost 2 years ago
0xnevi Lead Judge almost 2 years ago
Submission Judgement Published
Validated
Assigned finding tags:

finding-542

inallhonesty Submitter
almost 2 years ago
T1MOH Auditor
almost 2 years ago
0xnevi Lead Judge
almost 2 years ago
0xnevi Lead Judge almost 2 years ago
Submission Judgement Published
Validated
Assigned finding tags:

finding-542

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.