evm icon indicating copy to clipboard operation
evm copied to clipboard

Pure Rust implementation of Ethereum Virtual Machine

Results 65 evm issues
Sort by recently updated
recently updated
newest added

This is more like a question than an issue. I'm building a compiler from Move to EVM with Yul as the intermediate language. We are using Sputnik (for now) as...

@sorpaas unfortunately #92 wasn't sufficient because we have our own `MemoryStackStateOwned` implementation which owns the backend, so we do need to access the substate's method, instead of via the `MemoryStackState`....

The current Memory implementation has a `effective_len` field (which seems unnecessary #31 ), and it will be updated unexpectedly by `mload`. so `msize` called before/after `mload` may have different value.

Naked-eye based optimization -- it feels suboptimal to allocate a `Vec` to fetch `[0; u32]`. Running a macro-benchmark in aurora shows that this is about a 1% win, so the...

After updating evm-tests to use evm 0.28 (https://github.com/rust-blockchain/evm-tests/pull/4) and ethereum-tests 9.0.2 (https://github.com/rust-blockchain/evm-tests/pull/5), the following failures are observed with state test cases: `GeneralStateTests/stRandom2`: ``` Running randomStatetest649:Istanbul:0 ... thread '' panicked at...

This implements a hooked version of the `StackExecutor`. Alternative to #18. It creates a separated `HookedStackExecutor` struct as a wrapper for `StackExecutor` instead of directly integrating the hooks to `StackExecutor`.

Some of them seems to be unneeded. However, in most cases (when substate exits and `fail` is called before), it should have no effect with or without. But we need...

This adds a derived `Default` implementation to the `pub struct Context`. This is useful for writing unit tests.

This fixes a problem where a precompile that returns gas exceeding the remaining gas is ignored. Instead of getting an OOG error, no gas is recorded -- effectively the precompile...