code4rena-2022-08-nounsdao-n05
[N‑05] Use a more recent version of solidity
Summary
최신 컴파일러를 이용하여 abi.encodePacked(<str>,<str>) 대신 string.concat() 를 이용하라고 제안했다.
Keyword
solidity, compiler, pragma, string concat
Vulnerability
- contracts/base/ERC721Checkpointable.sol#L35
- contracts/governance/NounsDAOLogicV1.sol#L61
- contracts/governance/NounsDAOLogicV2.sol#L53
최신 Solidity 버전(0.8.12)을 이용하면 abi.encodePacked(<str>,<str>) 를 string.concat() 로 쓸 수 있다. 이를 위해 컴파일러 버전을 올리라고 제안했다.
Impact
코드를 바로 읽기 어렵다.
Mitigation
컴파일러를 0.8.12 버전 이상으로 올리고, abi.encodePacked(<str>,<str>) 대신 string.concat() 를 이용한다.
Memo
새로운 문법이나 컴파일러 버전 트래킹이 필요해보인다.
tags: bughunting, nouns dao, readability, clean code, smart contract, solidity, compiler, solidity pragma, severity none