Platform: Code4rena
Start Date: 18/10/2022
Pot Size: $50,000 USDC
Total HM: 13
Participants: 67
Period: 5 days
Judge: Picodes
Total Solo HM: 7
Id: 172
League: ETH
Rank: 61/67
Findings: 1
Award: $25.96
🌟 Selected for report: 0
🚀 Solo Findings: 0
🌟 Selected for report: Jeiwan
Also found by: 0x1f8b, 0x4non, 0x5rings, 0xSmartContract, Awesome, Aymen0909, Bnke0x0, CodingNameKiki, Diana, DimSon, JC, JrNet, LeoS, RaymondFam, ReyAdmirado, Saintcode_, Shinchan, __141345__, berndartmueller, bharg4v, brgltd, carlitox477, ch0bu, chaduke, cryptostellar5, emrekocak, gogo, lukris02, martin, mcwildy, sakman, trustindistrust, zishansami
25.9629 USDC - $25.96
Saves 6 gas per instance if using assembly to check for address(0)
e.g.
assembly { Â if iszero(_addr) { Â mstore(0x00, "zero address") Â revert(0x00, 0x20) Â } }
Instances include:
contracts/JBTiered721DelegateDeployer.sol:99
contracts/JB721TieredGovernance.sol:282
contracts/JB721TieredGovernance.sol:291
contracts/JBTiered721Delegate.sol:105
contracts/JBTiered721Delegate.sol:146
contracts/JBTiered721DelegateStore.sol:609
contracts/JBTiered721DelegateStore.sol:872
contracts/JBTiered721DelegateStore.sol:877
It is generally cheaper to load variables directly from calldata, rather than copying them to memory. Only use memory if the variable needs to be modified.
Instances include:
contracts/JBTiered721DelegateStore.sol:628
contracts/abstract/JB721Delegate.sol:311
contracts/abstract/JB721Delegate.sol:323
contracts/libraries/JBIpfsDecoder.sol:44
contracts/libraries/JBIpfsDecoder.sol:66
contracts/libraries/JBIpfsDecoder.sol:74
contracts/libraries/JBIpfsDecoder.sol:82
#0 - c4-judge
2022-11-08T17:48:50Z
Picodes marked the issue as grade-b