This proposal removes an incentive to create sock-puppet nodes by adding the ability to do a combined minipool deposit AND RPL stake. This would allow creating a new minipool even when under the minimum.
Right now, if an NO falls below the minimum (value of RPL staked <10% of borrowed ETH), they can't add a new minipool to that node unless they stake enough to reach the minimum AND cover the new minipool. Unless, of course, they make a new node. This means that an incentive currently exists to make sock puppet nodes.
The proposed atomic method allows users that prioritize convenience or otherwise wish to remain on one node an easy method to accomplish that goal, while still being able to add minipools.
- A function SHALL be added that allows an atomic RPL stake and minipool ETH deposit
- This function SHALL succeed if the staked RPL meets the amount that would be needed for this minipool on a fresh node
- Add a new
RocketNodeDeposit.deposit_with_RPLfunction that has the same arguments as
RocketNodeDeposit.depositplus a new
require(msg.value == _bondAmount, "Invalid value");
deposited_with_enough_rpl = (rocketNetworkPrices.getRPLPrice() * rpl_to_stake > rocketDAOProtocolSettingsNode.getMinimumPerMinipoolStake() * (32-_bondAmount))
- Pass along
deposited_with_enough_rplas needed such that the deposit will succeed if EITHER:
- There's enough RPL to be above minimum once the new minipool is added (the current check)
Copyright and related rights waived via CC0.
Please cite this document as:
Valdorff, "RPIP-28: Deposits Under the Minimum," Rocket Pool Improvement Proposals, no. 28, August 2023. [Online serial]. Available: https://rpips.rocketpool.net/RPIPs/rpip-28.