Contract LikeRegistry
allows direct transfers to be sent to it, but the contract's logic is not able to manage funds from direct transfers.
Including a receive()
function might confuse other developers about the purpose of the contract or someone can accidentally send ETH to the smart contract and these funds will be locked inside the smart contract. The impact is indirect funds lock.
There are two ways to handle this issue:
Remove receive() external payable {}
Or add emergency withdraw method protected by the onlyOwner
modifier that allows for the smart contract balance to be withdrawn.
First option is more preferable in order to ensure users for the decentralization of the smart contract balance.
Not the best design, but if you send money accidentally, that's a user mistake. Informational.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.