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

PUSH0 not supported in all chains

Summary

The contracts use solidity version 0.8.24, which can generate PUSH0 opcodes depending on the evm version specified in the compiler settings. This opcode is not supported in all chains, and can cause the contracts to fail on deployment.

There is no evm_version specified in the foundry.toml file, so the contracts will be compiled with the default evm version, which is paris, which doesn't generate PUSH0 opcodes, and thus is fine for now. However if this ever changes to shanghai or later, contract deployments can start failing on chains that do not support PUSH0.

Recommendations

It is recommended to either roll back the solidity version, OR hardcode the evm version to paris in the foundry.toml file to prevent any unforeseen changes in the configuration.

Tools Used

Aderyn Static Analysis

Updates

Lead Judging Commences

inallhonesty Lead Judge about 1 year ago
Submission Judgement Published
Invalidated
Reason: Incorrect statement

Support

FAQs

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