Normally, values that are known only at deployment but remain unchanged afterward should be declared as immutable. This stores them directly in contract storage at deployment time, reducing runtime gas consumption when accessed.
In the current implementation of BidBeastsNFTMarket, several parameters are declared as constant instead of immutable. While both prevent reassignment, using constant here results in less optimal gas usage because the compiler embeds the value in multiple places rather than storing it once.
Likelihood:
Every time these constants are referenced, the compiler expands the literal into bytecode instead of a single storage slot reference.
As contract size and references grow, deployment costs increase unnecessarily.
Impact:
Higher deployment gas cost due to repeated inlining.
Increased bytecode size, potentially raising deployment overhead further.
Immutable variables must be assigned either at their declaration or inside the constructor. Below is a minimal, practical change: declare the variables as immutable (no inline assignment) and set them in the contract constructor.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.