code4rena-2022-08-nounsdao-g22
[G‑22] Empty blocks should be removed or emit something
Summary
용도가 없는 receive 함수는 삭제하여 배포 시 gas를 절약하자 제안했다. 아니면 최소한 이벤트라도 생성하라고 했다.
Keyword
gas optimization, deploy
Vulnerability
File: contracts/governance/NounsDAOLogicV2.sol
1030: receive() external payable {}아무것도 하지 않는 비어있는 receive 함수는 삭제하여 배포 시 gas를 절약하자 제안했다. 또는 비어있는 receive 대신 이벤트라도 생성해야 한다고 했다.
사실 컨트랙트 기능 상 ETH 예치해두고 사용해야 하기 때문 receive 함수가 있긴 해야 한다. 그럼에도 불구하고 제출하긴 했고 엑셉이 되긴 했다.
Impact
컨트랙트 배포 시 gas가 불필요하게 더 든다.
Mitigation
불필요한 receive 함수를 제거하거나 필요하다면 이벤트라도 생성한다.
tags: bughunting, nouns dao, smart contract, solidity, gas optimization, gas, severity gas