eEVM
eEVM copied to clipboard
Enclave ready EVM (eEVM) is an open-source, standalone, embeddable, C++ implementation of the Ethereum Virtual Machine.
Since the eEVM was first implemented, additional op codes have been added to the EVM spec (notably `RETURNDATASIZE`, `RETURNDATACOPY`, and `REVERT`). Currently contracts must be compiled explicitly targeting the Homestead...
We use 3rd party test cases through `harness.cpp`, but many are disabled. Some for good reasons - gas tracking, oversized exponents - but others fail for unknown reasons. We should...
To support execution of more real-world contracts, the eEVM should support the precompiled contracts specified in the Yellow Paper.
While not required for the eEVM's original purpose, other users of the eEVM will want gas to be tracked and expended as specified in the white paper. If added, this...
Currently the 20-byte `Address`es are simply a typedef for `uint256_t`. This means we can easily reuse the parsing and serialisation code, but introduces type confusion and memory bloat (32 bytes...