According to the documentation, the contracts HorseStore.sol and IHorseStore.sol are intended to be deployed on the Arbitrum network using solidity version 0.8.20:
The project uses the solidity version 0.8.20 and the contract will be deployed on Arbitrum. The problem with compiling is that Arbitrum is NOT compatible with solidity version 0.8.20 and later.
The compiler for Solidity 0.8.20 switches the default target EVM version to Shanghai, which includes the new PUSH0 opcode. This opcode is not yet implemented on some L2s including Arbitrum, meaning contracts deployed on those chains will be non-functional. The contracts HorseStore.sol and IHorseStore.sol use a solidity version 0.8.20 and after deploying on Arbitrum the contracts will be unusable.
Corrupted or non-functional contracts when deployed on Arbitrum.
Here is a link to the Arbitrum documentation:
https://docs.arbitrum.io/for-devs/concepts/differences-between-arbitrum-ethereum/solidity-support
VS Code
Use the latest compatible with Arbitrum solidity version that is 0.8.19.
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.