Root: The contract declares address[] private s_claimers; but this array is never used anywhere in the contract code, creating dead storage that serves no functional purpose.
Impact: Unnecessary storage declaration increases deployment gas costs and adds confusion for developers and auditors who may expect the array to be populated with claimer addresses for tracking purposes.
Normal Behavior: Storage variables should only be declared when they serve a functional purpose in the contract logic, maintaining clean and efficient code.
Specific Issue: The s_claimers array exists with a comment indicating it should store "addresses of claimers" but no code ever pushes addresses to this array or reads from it, making it completely unused dead storage.
Likelihood: High
Every deployment includes this unused storage declaration, making the inefficiency constant
The dead storage is permanent once deployed and cannot be removed without redeployment
Impact: Low
Increased Deployment Costs: Unnecessary storage slot allocation slightly increases gas costs for contract deployment
Code Confusion: Developers and auditors may waste time looking for where this array should be populated
Maintenance Issues: Dead storage can mislead future developers about intended functionality
Remove the unused storage array to clean up dead storage and reduce deployment costs.
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.