Raisebox Faucet

First Flight #50
Beginner FriendlySolidity
100 EXP
View results
Submission Details
Impact: low
Likelihood: low
Invalid

[L-2] Unspecific Solidity Pragma

[L-2] Unspecific Solidity Pragma

Description

  • Normal behavior: Use a precise Solidity pragma or lock compiler version in CI for reproducible builds.

  • Specific issue: the contract uses a loose pragma (^0.8.30) which may compile with different patch versions.

pragma solidity ^0.8.30; // @> loose pragma

Risk

Likelihood:Low

  • Different compiler patch versions produce different bytecode or optimization behavior during builds.

  • Tooling/CI may pick different solc leading to subtle differences.

Impact:Low

  • Deployment incompatibilities or unexpected bytecode (e.g., PUSH0) on some targets.

Proof of Concept

// Build with solc 0.8.30 vs 0.8.31 and compare bytecode.

Recommended Mitigation

- pragma solidity ^0.8.30;
+ pragma solidity 0.8.30; // or lock compiler version in CI/tooling
Updates

Lead Judging Commences

inallhonesty Lead Judge 6 days ago
Submission Judgement Published
Invalidated
Reason: Non-acceptable severity

Support

FAQs

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