Beginner FriendlyFoundryNFT
100 EXP
View results
Submission Details
Severity: low
Invalid

Variables that are not changed after construction should be constant or immutable

[L-5] Variables that are not changed after construction should be constant or immutable

Description:

Variables that are not changed after construction should be constant or immutable

Impact:

Low

Tools used:
manual

Recommended mitigation:

diff --git a/src/PuppyRaffle.sol b/src/PuppyRaffle.sol
index 3a1f85e..1fa34d8 100644
--- a/src/PuppyRaffle.sol
+++ b/src/PuppyRaffle.sol
@@ -22,7 +22,7 @@ contract PuppyRaffle is ReentrancyGuard, ERC721, Ownable {
uint256 public immutable entranceFee;
address[] public players;
- uint256 public raffleDuration;
+ uint256 public immutable raffleDuration;
uint256 public raffleStartTime;
address public previousWinner;
@@ -39,17 +39,17 @@ contract PuppyRaffle is ReentrancyGuard, ERC721, Ownable {
mapping(uint256 => string) public rarityToName;
// Stats for the common puppy (pug)
- string private commonImageUri = "ipfs://QmSsYRx3LpDAb1GZQm7zZ1AuHZjfbPkD6J7s9r41xu1mf8";
+ string private constant commonImageUri = "ipfs://QmSsYRx3LpDAb1GZQm7zZ1AuHZjfbPkD6J7s9r41xu1mf8";
uint256 public constant COMMON_RARITY = 70;
string private constant COMMON = "common";
// Stats for the rare puppy (st. bernard)
- string private rareImageUri = "ipfs://QmUPjADFGEKmfohdTaNcWhp7VGk26h5jXDA7v3VtTnTLcW";
+ string private constant rareImageUri = "ipfs://QmUPjADFGEKmfohdTaNcWhp7VGk26h5jXDA7v3VtTnTLcW";
uint256 public constant RARE_RARITY = 25;
string private constant RARE = "rare";
// Stats for the legendary puppy (shiba inu)
- string private legendaryImageUri = "ipfs://QmYx6GsYAKnNzZ9A6NvEKV9nf1VaDzJrqDR23Y8YSkebLU";
+ string private constant legendaryImageUri = "ipfs://QmYx6GsYAKnNzZ9A6NvEKV9nf1VaDzJrqDR23Y8YSkebLU";
uint256 public constant LEGENDARY_RARITY = 5;
string private constant LEGENDARY = "legendary";
Updates

Lead Judging Commences

patrickalphac Lead Judge over 1 year ago
Submission Judgement Published
Invalidated
Reason: Gas optimizations

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.