MorpheusAI

MorpheusAI
Foundry
22,500 USDC
View results
Submission Details
Severity: medium
Invalid

The Project may not be deployable on Arbitrum due to incompatibility with the PUSH0 opcode

Summary

The project defines the solidity version as pragma solidity ^0.8.20; and wants to deploy the code on Arbitrum. This may not be possible because Arbitrum does not support the PUSH0 opcode, which was introduced in 0.8.20, and the opcode is used by Distribution.sol contract.

Vulnerability Details

Arbitrum does currently not support the PUSH0 opcode, which was introduced in 0.8.20. (This can be seen in the Arbitrum documentation).

The project uses this opcode which can be seen with the following steps:

  1. Copy the bytecode of the Distribution.sol contract inside artifacts/contracts/Distribution.sol/Distribution.json

  2. Past it into the Etherscan Bytecode to Opcode Disassembler.

  3. Search for PUSH0 in the output with the command Strg + F.

Therefore the project may not be deployable on the desired chain.

Impact

The project may not be deployable.

Recommendations

Change the solidity version to 0.8.19.

Updates

Lead Judging Commences

inallhonesty Lead Judge
over 1 year ago
inallhonesty Lead Judge over 1 year ago
Submission Judgement Published
Invalidated
Reason: Known issue

Support

FAQs

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