Both contracts use a floating pragma (^0.8.34), which allows compilation with any future 0.8.x release. New compiler versions may introduce breaking changes, undiscovered bugs, or different optimization behaviour. Locking to a specific version ensures reproducible builds and consistent behaviour across environments.
Likelihood:
A developer or CI pipeline using a newer 0.8.x compiler may produce different bytecode.
EVM version selection (e.g. Shanghai vs Cancun) can differ across compiler versions.
Impact:
Non-deterministic builds; potential incompatibility with L2 chains that don't support newer opcodes like PUSH0.
Pin to an exact compiler version in both contracts.
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.
The contest is complete and the rewards are being distributed.