PUSH0
not supported on Arbitrum
The contracts use solidity version 0.8.20
, which introduces the PUSH0
opcode. This opcode is not present on Arbitrum. The foundry.toml
file doe not specify any evm_version
, so the contracts are compiled with the default paris
version, which does not generate PUSH0
opcodes, so the contracts are fine in the current state.
However if the evm_version
is changed to shanghai
or later, contracts will fail to deploy on Arbitrum due to the PUSH0
opcodes.
Manual review
It is recommended to either roll back the compiler version to 0.8.19
or earlier, or to specify the evm_version=paris
in the foundry.toml
file, to prevent any mistakes with the evm_version in the future.
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.