Platform: Code4rena
Start Date: 30/03/2022
Pot Size: $30,000 USDC
Total HM: 21
Participants: 38
Period: 3 days
Judge: Michael De Luca
Total Solo HM: 10
Id: 104
League: ETH
Rank: 32/38
Findings: 2
Award: $100.88
🌟 Selected for report: 0
🚀 Solo Findings: 0
62.5891 USDC - $62.59
transfer
, approve
or transferFrom
without checking the boolean result, ERC20 standard specify that the token can return false if this call was not made, so it's mandatory to check the result of approve methods.#0 - sofianeOuafir
2022-04-15T16:06:28Z
duplicate of #52
38.2882 USDC - $38.29
struct Collection { bool isForSale; uint256 maxSupply; uint256 mintFee; string baseURI; string name; string symbol; string id; bytes32 claimsMerkleRoot; address payableToken; // <- Move close to isForSale }
struct Transaction { address destination; uint256 value; bytes data; bool executed; // <- move close to address }
i++
to ++i
in order to save some opcodes:immutable
keyword for the following variables:false
or 0
)== true
or == false
, instead of using the boolean value, or NOT
opcode, it's cheaper to use NOT
when the value it's false, or just the value without == true
, when it's true, because it will use less opcode inside the VM.