rust-ethereum / evm

Pure Rust implementation of Ethereum Virtual Machine
Apache License 2.0
1.17k stars 360 forks source link

Enable/disable STATICCALL Opcode #248

Open Lohann opened 10 months ago

Lohann commented 10 months ago

The STATICCALL was introduced in the EIP-214 in the Byzantium hardfork, while is possible to disable some opcodes like DELEGATECALL, CREATE2, REVERT, etc.. is not possible to disable the STATICCALL opcode.

Issues:

The reason why I'm using this crate instead revm is because it's more flexible, smaller and easier to compile to webassembly, once the light-client is intended to support web browsers and substrate pallets.

Count on me to help to make this crate EVM compliant.

Lohann commented 10 months ago

I've added a config for staticcall on this PR: https://github.com/rust-ethereum/evm/pull/223

Using this branch, I was able to synchronize a node up to block 2_674_999. but I'm still getting a state root mismatch in the Spurious Dragon hardfork.. still investigating why.