Various contracts that need to be deployed on Arbitrum use Solidity version ^0.8.20. Solidity versions above 0.8.19 include the opcode PUSH0, which is not yet supported on Arbitrum. Therefore, it may not be possible to deploy those contracts to Arbitrum and even if some of the contracts may deploy, there is a high risk that they will not function properly. This concerns all the smart contracts of the project that need to be deployed to Arbitrum - not all links have been provided above (eg: interfaces...).
Various contracts that need to be deployed on Arbitrum use Solidity version ^0.8.20. Solidity versions above 0.8.19 include the opcode PUSH0, which is not yet supported on Arbitrum. Therefore, it may not be possible to deploy those contracts to Arbitrum and even if some of the contracts may deploy, there is a high risk that they will not function properly.
As already mentioned, Solidity 0.8.20 uses the PUSH0 opcode, which is not supported on Arbitrum. this will cause the smart contracts to malfunction and it may not even be possible to deploy the contracts.
Manual Review
Use Solidity version 0.8.19. This will make the smart contract fully compatible with the Arbitrum network.
For example, in L2MessageReceiver.sol, use the following:
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.