The current codebase is compiled with Solidity version 0.8.24, which includes the PUSH0 opcode in the compiled bytecode
This presents an issue because Linea does not yet support the PUSH0 opcode, which can lead to unexpected behavior or outright failures when deploying and running the smart contracts.see here
Proof of Concept (PoC) File
Deploying the protocol on Linea with the current Solidity version (0.8.24 or > 0.8.20) may result in unexpected behavior or failure due to the unsupported PUSH0 opcode.
There are multiple reference which shows that contract will be deployed for 0.8.24 or >0.8.19
Github username: -- Twitter username: -- Submission hash (on-chain): 0x063b648261d87824f4b20ed1922bf1114e90f374ab40ed9eeff5d0f5032f6b28 Severity: medium
Description: Description
PUSH0 opcode Is Not Supported on Linea yet
Attack Scenario
Proof of Concept (PoC) File
Deploying the protocol on Linea with the current Solidity version (0.8.24 or > 0.8.20) may result in unexpected behavior or failure due to the unsupported PUSH0 opcode.
There are multiple reference which shows that contract will be deployed for 0.8.24 or >0.8.19
https://github.com/hats-finance/Safe-0x2909fdefd24a1ced675cb1444918fa766d76bdac/blob/main/modules/passkey/hardhat.config.ts#L59
https://github.com/hats-finance/Safe-0x2909fdefd24a1ced675cb1444918fa766d76bdac/blob/main/modules/passkey/README.md#compiler-settings
https://github.com/hats-finance/Safe-0x2909fdefd24a1ced675cb1444918fa766d76bdac/blob/main/modules/passkey/contracts/libraries/P256.sol#L119
Revised Code File (Optional)
for Linea you may consider to use version 0.8.19 to compile