Github username: --
Submission hash (on-chain): 0xbd9d03097ba8802700da1cbe677718f13d8465caa294b375c3ac930723ab7a4f
Severity: medium
Description:Description\
Loss of reward for ‘validator’, when it is a contract that doesn’t have fallback or receive function.
Impact\
The issue is that withdrawalAddress could be a contract that does not have a fallback function. In this context rewardAddress.call will fail and eth would be transferred back to the contract.
Github username: -- Submission hash (on-chain): 0xbd9d03097ba8802700da1cbe677718f13d8465caa294b375c3ac930723ab7a4f Severity: medium
Description: Description\ Loss of reward for ‘validator’, when it is a contract that doesn’t have fallback or receive function.
Impact\ The issue is that
withdrawalAddress
could be a contract that does not have a fallback function. In this contextrewardAddress.call
will fail and eth would be transferred back to the contract.Attachments
https://github.com/dappnode/mev-sp-contracts/blob/3929e24ea288d697d38948b8690c8c2028e5042b/contracts/DappnodeSmoothingPool.sol#L327
claimRewards
is used for claiming reward but will revert for a contract that does not have receive or fallback function.Either enforce that proposer is an EOA or take in a recipient address for ETH transfers.