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: 42/67
Findings: 1
Award: $37.88
🌟 Selected for report: 0
🚀 Solo Findings: 0
🌟 Selected for report: berndartmueller
Also found by: 0x1f8b, 0x4non, 0xNazgul, 0xSmartContract, Aymen0909, BClabs, Diana, Jeiwan, Lambda, LeoS, RaoulSchaffranek, RaymondFam, RedOneN, ReyAdmirado, Rolezn, SaharAP, Trust, V_B, __141345__, a12jmx, bharg4v, brgltd, carlitox477, ch0bu, chaduke, cloudjunky, cryptostellar5, cryptphi, csanuragjain, d3e4, delfin454000, erictee, fatherOfBlocks, hansfriese, ignacio, joestakey, karanctf, ladboy233, lukris02, mcwildy, minhtrng, peanuts, ret2basic, seyni, slowmoses, svskaushik, tnevler, yixxas
37.8829 USDC - $37.88
A known vulnerable compiler version may accidentally be selected or security tools might fall-back to an older compiler version ending up checking a different EVM compilation that is ultimately deployed on the blockchain.
juice-nft-rewards\JB721Delegate.sol::2 => pragma solidity ^0.8.16; juice-nft-rewards\JB721GlobalGovernance.sol::2 => pragma solidity ^0.8.16; juice-nft-rewards\JB721TieredGovernance.sol::2 => pragma solidity ^0.8.16; juice-nft-rewards\JBBitmap.sol::2 => pragma solidity ^0.8.16; juice-nft-rewards\JBIpfsDecoder.sol::2 => pragma solidity ^0.8.16; juice-nft-rewards\JBTiered721Delegate.sol::2 => pragma solidity ^0.8.16; juice-nft-rewards\JBTiered721DelegateDeployer.sol::2 => pragma solidity ^0.8.16; juice-nft-rewards\JBTiered721DelegateProjectDeployer.sol::2 => pragma solidity ^0.8.16; juice-nft-rewards\JBTiered721DelegateStore.sol::2 => pragma solidity ^0.8.16; juice-nft-rewards\JBTiered721FundingCycleMetadataResolver.sol::2 => pragma solidity ^0.8.16;
Avoid floating pragmas for non-library contracts. It is recommended to pin to a concrete compiler version.
_safeMint()
should be used rather than _mint()
wherever possible._mint()
is discouraged in favor of _safeMint()
which ensures that the recipient is either an EOA or implements IERC721Receiver
.
juice-nft-rewards\JBTiered721Delegate.sol::461 => _mint(_reservedTokenBeneficiary, _tokenId); juice-nft-rewards\JBTiered721Delegate.sol::504 => _mint(_beneficiary, _tokenId); juice-nft-rewards\JBTiered721Delegate.sol::635 => _mint(_beneficiary, _tokenId); juice-nft-rewards\JBTiered721Delegate.sol::677 => _mint(_beneficiary, _tokenId);
Use either OpenZeppelin's or solmate's version of this function.
#0 - c4-judge
2022-11-08T18:09:08Z
Picodes marked the issue as grade-b