evmone icon indicating copy to clipboard operation
evmone copied to clipboard

Fast Ethereum Virtual Machine implementation

Results 173 evmone issues
Sort by recently updated
recently updated
newest added

Use `std::make_unique_for_overwrite` to create padded code.

Now that we have benchmarks for EVMMAX precompiles we can experiment with different Montgomery multiplication algorithms. Currently we use [CIOS](https://github.com/ethereum/evmone/blob/v0.11.0/lib/evmmax/evmmax.cpp#L55-L83). The [reference paper](https://www.microsoft.com/en-us/research/wp-content/uploads/1998/06/97Acar.pdf) we used have a summary of the...

good first issue
optimization
EVMMAX

Currently nested containers are validated by recursive calls to validation function (see `eof-create4` branch). Subcontainers are validated _before_ instruction validation of parent container, because `CREATE3` validation requires to know whether...

EOF

Increase the test coverage of `test/state` by adding more `state_transition` tests. Check if the coverage of `test/state` is showed in the reports.

tests

Replace the GoogleTest (gtest) unit test library with Catch2 or some other alternative. Tests in Catch2 looks simpler than in GoogleTest. - Parametrized tests. E.g. imagine writing the same state...

tests

```[tasklist] ### Improvements - [ ] Reference the account in a journal entry by pointer instead of address. This can be done because `std::unordered_map` has node pointer stability. - [...

optimization

If the modulus don't use all bits of an integer (e.g. 255-bit modulus in uint256) some overflows in modular addition and Montgomery multiplication cannot happen and the implementation can be...

optimization
EVMMAX

In the [current implementation](https://github.com/ethereum/evmone/blob/v0.11.0/lib/evmone_precompiles/ecc.hpp#L67-L128) we use a branchless formula which handles both point doubling and generic addition together. This turns out is not optimal and it is better to detect...

optimization
precompiles