evm
evm copied to clipboard
Pure Rust implementation of Ethereum Virtual Machine
This PR adds 2 new opcodes (`TLOAD` and `TSTORE`) for manipulating state that behaves almost identically to storage but is discarded after every transaction. These new instructions were introduced by...
This PR adds an adaptation to [EIP-5656](https://eips.ethereum.org/EIPS/eip-5656) which introduces the `MCOPY` opcode. By using this new instruction, it is possible to copy parts of the memory in a cheaper and...
This PR implements the new changes for the `selfdestruct` function as outlined in [EIP-6780](https://eips.ethereum.org/EIPS/eip-6780). The new EIP allows for contract deletion only within the same transaction that created it. Otherwise,...
The PR adds a configuration for Cancun fork. Includes a fix related to [EIP-2929](https://eips.ethereum.org/EIPS/eip-2929), where some addresses were incorrectly considered `cold` and consumed extra gas. I identified this issue when...
As of Solidity [0.8.25] on 14th March 2024 the default Ethereum hardfork is Dencun, meaning these new opcodes are emitted when the optimizer deems suitable. * [EIP-5656] proposal adds `MCOPY`...
Currently no format is applied to code. But it is a common practice for rust developers, to keep format-on-save in their editors. What do you think about adding it to...
Does Sputnik EVM support EIP-1559? https://eips.ethereum.org/EIPS/eip-1559
Crate version: [v0.41.0](https://crates.io/crates/evm/0.41.0) I was using this evm for syncing to ethereum mainnet, as sanity check I computed the state root using the VM and compared it against the expected...