Skip to content

Commit

Permalink
official tests running
Browse files Browse the repository at this point in the history
  • Loading branch information
max-wickham committed Mar 24, 2024
1 parent 050a47b commit 234580b
Show file tree
Hide file tree
Showing 21 changed files with 8,137 additions and 626 deletions.
69 changes: 48 additions & 21 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 3 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,13 @@ edition = "2021"
[dependencies]
array-init = "2.1.0"
ethereum = "0.15.0"
ethnum = {version = "1.5.0", features = ["serde"]}
primitive-types = { version = "0.12", features = ["rlp", "serde"] }
hex = "0.4.3"
keccak-hash = "0.10.0"
paste = "1.0.14"
rlp = "0.5.2"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
sha3 = "0.10.8"
test_gen = { path = "./test_gen" }
thiserror = "1.0.58"
num256 = "0.5.1"
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@ This is an implementation in Rust of the ethereum EVM. This library provides a b

## Tests

This repo contains both some local tests as well as using the official Ethereum Test library. The official tests are included as a sub repo to make sure to clone sub repos in addition to the main repo before running tests.
This repo contains both some local tests as well as using the official Ethereum Test library. The official tests are included as a sub repo to make sure to clone sub repos in addition to the main repo before running tests. Currently about a third of the official arithmetic tests are passing.
20 changes: 12 additions & 8 deletions TODO.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,17 @@
# TODO

- [_] Check against official ethereum vm logs to debug
- [_] Submit fix for py eth vm, check that the address is hot
- [_] Fix memory access costs, need to consolidate all memory accesses to a single memory
- [_] Get all arithmetic tests to pass
- [_] Fix SSTORE and CALL costs (still not very clear)
- [_] Implement better system for reverts etc.
- [x] Check against official ethereum vm logs to debug
- [x] Fix memory access costs, need to consolidate all memory accesses to a single memory
- [x] Fix debug code to be prettier
- [_] Original Storage value, (modify gas usage to support this)
- [_] Apply gas usage
- [_] Get the root hash to work on a test, require making sure gas usage is applied and that the hash is calculated correctly
- [_] Restructure the way in which a transaction is called on the EVM
- [x] Original Storage value, (modify gas usage to support this)
- [x] Apply gas usage
- [x] Get the root hash to work on a test, require making sure gas usage is applied and that the hash is calculated correctly
- [x] Restructure the way in which a transaction is called on the EVM
- [_] Allow reverting of storage (can be done inefficiently for now)
- [_] Implement hash of state for mock runtime
- [x] Implement hash of state for mock runtime

- [x] Finish implementing call, (without gas calculations)
- [_] Define tests for instructions not using runtime
Expand All @@ -23,3 +25,5 @@
- [_] Implement delegate call and create 2
- [_] Implement Create
- [_] Define tests for mem and stack

- [_] Submit fix for py eth vm, check that the address is hot
Loading

0 comments on commit 234580b

Please sign in to comment.