20,000 USDC
View results
Submission Details
Severity: medium
Valid

Pragma set incorrectly as ^0.8.19 which can lead to problems on Arbitrum

Summary

Pragma has been set to ^0.8.19 but this can lead to problems when deploying on Arbitrum as it currently is not compatible with 0.8.20 and newer.

Vulnerability Details

Contracts compiled with those versions will result in a nonfunctional or potentially damaged version that won't behave as expected.

By default, the compiler will use the latest version available, which means that contracts will be compiled with the 0.8.20 version. This can result in broken code when deployed on the Arbitrum network.

The sponsors did confirm that they'll start with deploying on Optimism and then will deploy on other L2 chains so I think this is a valid concern.

Impact

Damaged or nonfunctional contracts when deployed on Arbitrum

Tools Used

Manual review

Recommendations

Specify pragma as follows:
pragma solidity 0.8.19

or

pragma solidity >=0.8.0 <=0.8.19

Support

FAQs

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

Give us feedback!