Skip to content

Commit

Permalink
chore: v41 update (#18)
Browse files Browse the repository at this point in the history
* chore(eof): simplify magic checks (bluealloy#1633)

* perf(eof): avoid some allocations (bluealloy#1632)

* perf(eof): avoid some allocations

* Update crates/primitives/src/bytecode/eof.rs

* chore: fix some typos & remove useless Arc::clone (bluealloy#1621)

* chore: fix some typos

* chore: remove useless Arc::clone

* refactor: use `is_zero` for `U256` and `B256` (bluealloy#1638)

* refactor: use is_zero for U256 and B256

* fmt

* Update crates/interpreter/src/instructions/arithmetic.rs

Co-authored-by: DaniPopes <57450786+DaniPopes@users.noreply.github.com>

* fix deref

* move import

---------

Co-authored-by: DaniPopes <57450786+DaniPopes@users.noreply.github.com>

* feat(interpreter): derive traits on FunctionStack (bluealloy#1640)

* chore: Renamed some city name (bluealloy#1645)

* perf: avoid cloning original_bytes (bluealloy#1646)

* fix(eof): deny static context in EOFCREATE (bluealloy#1644)

* feat: use batch bn256 pair operation (bluealloy#1643)

* feat: use batch bn256 pair operation

We are currently not taking advantage of the batch pair operation from
the `bn` library for the pairing check precompile.

This yields a ~27% speedup on the existing bench:
```
Crypto Precompile benchmarks/precompile bench | ecpairing precompile
                        time:   [2.2389 ms 2.2441 ms 2.2495 ms]
                        change: [-27.689% -27.469% -27.227%] (p = 0.00 < 0.05)
                        Performance has improved.
```

* use with_capacity

* import vec

* feat(EOF): implement std::error::Error trait for EofValidationError and EofError (bluealloy#1649)

* feat: implement Error trait for EofValidationError

* feat: implement Error trait for EofError

* fix: remove unused import

* fix: remove format macro

* chore(deps): bump thiserror from 1.0.62 to 1.0.63 (bluealloy#1651)

Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.62 to 1.0.63.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](dtolnay/thiserror@1.0.62...1.0.63)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump tokio from 1.38.0 to 1.38.1 (bluealloy#1650)

Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.38.0 to 1.38.1.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](tokio-rs/tokio@tokio-1.38.0...tokio-1.38.1)

---
updated-dependencies:
- dependency-name: tokio
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix(EOF): Overflow on num_sections (bluealloy#1656)

* fix(EOF): Overflow on num_sections

* fix test

* fmt/clippy

* feat(EOF): EOF Validation add code type and sub container tracker (bluealloy#1648)

* feat(EOF): EOF Validation add code type and sub container tracker

* fix

* omit tests

* fix some things, bump test suite

* fix(EOF): Overflow on num_sections

* cleanup fmt

* clippy

* fix tests

* Run EOF validation tests

* fix(statetest): Add back Merge spec (bluealloy#1658)

* fix(EOF): Validate code access in stack (bluealloy#1659)

* wip: test

* fix(EOF): Validate code access in stack

* add code access

* feat(EOF): Add EOF validation in revme bytecode cmd (bluealloy#1660)

* chore(clippy): 1.80 rust clippy list paragraph ident (bluealloy#1661)

* feat(EOF): Add non-returning CALLF/JUMPF checks (bluealloy#1663)

* feat(EOF): Add non-returning CALLF/JUMPF checks

* fix tests

* fix(EOF): returning to non-returning jumpf, enable valition error (bluealloy#1664)

* fix: add DATACOPY to OpCode::modifies_memory (bluealloy#1639)

* chore(eof): Add opcodes that expand memory (bluealloy#1665)

* fix(statetest): make bytecode analyzed (bluealloy#1666)

* chore(deps): bump serde_json from 1.0.120 to 1.0.121 (bluealloy#1667)

Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.120 to 1.0.121.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](serde-rs/json@v1.0.120...v1.0.121)

---
updated-dependencies:
- dependency-name: serde_json
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump tokio from 1.38.1 to 1.39.2 (bluealloy#1668)

Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.38.1 to 1.39.2.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](tokio-rs/tokio@tokio-1.38.1...tokio-1.39.2)

---
updated-dependencies:
- dependency-name: tokio
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump blst from 0.3.12 to 0.3.13 (bluealloy#1669)

Bumps [blst](https://github.com/supranational/blst) from 0.3.12 to 0.3.13.
- [Release notes](https://github.com/supranational/blst/releases)
- [Commits](supranational/blst@v0.3.12...v0.3.13)

---
updated-dependencies:
- dependency-name: blst
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump serde_json from 1.0.121 to 1.0.122 (bluealloy#1678)

Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.121 to 1.0.122.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](serde-rs/json@v1.0.121...v1.0.122)

---
updated-dependencies:
- dependency-name: serde_json
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump alloy-eips from 0.2.0 to 0.2.1 (bluealloy#1679)

Bumps [alloy-eips](https://github.com/alloy-rs/alloy) from 0.2.0 to 0.2.1.
- [Release notes](https://github.com/alloy-rs/alloy/releases)
- [Changelog](https://github.com/alloy-rs/alloy/blob/main/CHANGELOG.md)
- [Commits](alloy-rs/alloy@v0.2.0...v0.2.1)

---
updated-dependencies:
- dependency-name: alloy-eips
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump regex from 1.10.5 to 1.10.6 (bluealloy#1682)

Bumps [regex](https://github.com/rust-lang/regex) from 1.10.5 to 1.10.6.
- [Release notes](https://github.com/rust-lang/regex/releases)
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md)
- [Commits](rust-lang/regex@1.10.5...1.10.6)

---
updated-dependencies:
- dependency-name: regex
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump rstest from 0.21.0 to 0.22.0 (bluealloy#1681)

Bumps [rstest](https://github.com/la10736/rstest) from 0.21.0 to 0.22.0.
- [Release notes](https://github.com/la10736/rstest/releases)
- [Changelog](https://github.com/la10736/rstest/blob/master/CHANGELOG.md)
- [Commits](la10736/rstest@v0.21.0...v0.22.0)

---
updated-dependencies:
- dependency-name: rstest
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Add EOF Layout Fuzz Loop to `revme bytecode` (bluealloy#1677)

* Add EOF Layout Fuzz Loop to `bytecode`

Update `revme` so that when `bytecode` is called without arguments it goes into the standard

* Add size check in fuzzer

* code format

* chore: introduce bytecode initcode/runtime cli flags

* docs: improve `InstructionResult` documentation (bluealloy#1673)

* docs: improve `InstructionResult` documentation

* chore: clean up

* Add OP-Granite hardfork, limiting bn256Pairing input size (bluealloy#1685)

* Add OP-Granite hardfork, limiting bn256Pairing input size

* Move optimism-specific bn128 precompile

* feat: check for typos in CI (bluealloy#1686)

Co-authored-by: adria0 <adria0@nowhere>

* feat(EOF): add evmone test suite (bluealloy#1689)

* feat(EOF): add evmone test suite

* pass all tests

* multiple paths for eof-validations

* path to eest eof validations tests

* feat(EOF): Run EOF tests from eth/tests (bluealloy#1690)

* chore: release (bluealloy#1683)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* bump: tag v41 revm v13.0.0 (bluealloy#1692)

* fix(CI): types check (bluealloy#1693)

* fix(CI): types check

* Typos

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: DaniPopes <57450786+DaniPopes@users.noreply.github.com>
Co-authored-by: jakevin <jakevingoo@gmail.com>
Co-authored-by: Thomas Coratger <60488569+tcoratger@users.noreply.github.com>
Co-authored-by: ioterw <iotrwewe12@protonmail.com>
Co-authored-by: Dan Cline <6798349+Rjected@users.noreply.github.com>
Co-authored-by: PA <50184410+peyha@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: rakita <rakita@users.noreply.github.com>
Co-authored-by: Arsenii Kulikov <klkvrr@gmail.com>
Co-authored-by: Danno Ferrin <danno@numisight.com>
Co-authored-by: Léo Vincent <28714795+leovct@users.noreply.github.com>
Co-authored-by: Brian Bland <brian.t.bland@gmail.com>
Co-authored-by: adria0.eth <5526331+adria0@users.noreply.github.com>
Co-authored-by: adria0 <adria0@nowhere>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
  • Loading branch information
16 people authored Aug 19, 2024
1 parent 5e21574 commit 5c063a2
Show file tree
Hide file tree
Showing 677 changed files with 137,960 additions and 12,475 deletions.
12 changes: 12 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -103,3 +103,15 @@ jobs:
with:
components: rustfmt
- run: cargo fmt --all --check

typos-check:
name: TyposCheck
timeout-minutes: 5
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: crate-ci/typos@v1.22.7
with:
config: ./Typos.toml
isolated: true

10 changes: 9 additions & 1 deletion .github/workflows/ethereum-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,14 @@ jobs:
ethtests/EIPTests/StateTests/stEIP1153-transientStorage/ \
ethtests/EIPTests/StateTests/stEIP4844-blobtransactions/ \
ethtests/EIPTests/StateTests/stEIP2537/ \
tests/eof_suite/state_tests # \
ethtests/EIPTests/StateTests/stEOF \
tests/eof_suite/eest/state_tests \
tests/eof_suite/evmone/state_tests # \
# tests/prague_suite/state_tests
- name: Run EOF validation tests
run: |
cross run --target ${{matrix.target}} --profile ${{ matrix.profile }} -p revme -- eof-validation \
ethtests/EOFTests \
tests/eof_suite/eest/eof_tests/prague \
tests/eof_suite/evmone/eof_tests
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
Because this is workspace with multi libraries, tags will be simplified, and with this document you can match version of project with git tag.

# v41 tag
date: 08.08.2024

EOF fixes and improvements.
Optimism Granite fork support.

* `revme`: 0.8.0 -> 0.9.0
* `revm`: 12.1.0 -> 13.0.0
* `revm-interpreter`: 8.1.0 -> 9.0.0
* `revm-primitives`: 7.1.0 -> 8.0.0
* `revm-precompile`: 9.2.0 -> 10.0.0
* `revm-test`: 0.1.0

# v40 tag
date 17.07.2024

Expand Down
62 changes: 32 additions & 30 deletions Cargo.lock

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

13 changes: 13 additions & 0 deletions Typos.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
[default]
extend-ignore-identifiers-re = [
"[sS]imular",
"ba",
"modul"
]

[files]
extend-exclude = [
"CHANGELOG.md",
"tests"
]

97 changes: 97 additions & 0 deletions bins/revm-test/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,103 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [0.1.0](https://github.com/bluealloy/revm/releases/tag/revm-test-v0.1.0) - 2024-08-08

### Added
- EOF (Ethereum Object Format) ([#1143](https://github.com/bluealloy/revm/pull/1143))
- add tests for shift instructions ([#1254](https://github.com/bluealloy/revm/pull/1254))
- EvmBuilder and External Contexts ([#888](https://github.com/bluealloy/revm/pull/888))
- separate initial checks ([#486](https://github.com/bluealloy/revm/pull/486))
- revm-interpreter created ([#320](https://github.com/bluealloy/revm/pull/320))
- *(interpreter)* Unify instruction fn signature ([#283](https://github.com/bluealloy/revm/pull/283))
- Migrate `primitive_types::U256` to `ruint::Uint<256, 4>` ([#239](https://github.com/bluealloy/revm/pull/239))
- Introduce ByteCode format, Update Readme ([#156](https://github.com/bluealloy/revm/pull/156))

### Fixed
- *(eof)* fixture 2 tests ([#1550](https://github.com/bluealloy/revm/pull/1550))
- *(clippy)* fix some clippy lints

### Other
- *(deps)* bump regex from 1.10.5 to 1.10.6 ([#1682](https://github.com/bluealloy/revm/pull/1682))
- bump versions bcs of primitives ([#1631](https://github.com/bluealloy/revm/pull/1631))
- release ([#1620](https://github.com/bluealloy/revm/pull/1620))
- *(deps)* bump alloy-sol-types from 0.7.6 to 0.7.7 ([#1614](https://github.com/bluealloy/revm/pull/1614))
- *(deps)* bump alloy-sol-macro from 0.7.6 to 0.7.7 ([#1613](https://github.com/bluealloy/revm/pull/1613))
- release ([#1579](https://github.com/bluealloy/revm/pull/1579))
- release ([#1548](https://github.com/bluealloy/revm/pull/1548))
- replace TransactTo with TxKind ([#1542](https://github.com/bluealloy/revm/pull/1542))
- *(deps)* bump regex from 1.10.4 to 1.10.5 ([#1502](https://github.com/bluealloy/revm/pull/1502))
- release ([#1261](https://github.com/bluealloy/revm/pull/1261))
- *(interpreter)* rewrite gas accounting for memory expansion ([#1361](https://github.com/bluealloy/revm/pull/1361))
- revert snailtracer without microbench ([#1259](https://github.com/bluealloy/revm/pull/1259))
- release ([#1231](https://github.com/bluealloy/revm/pull/1231))
- *(deps)* bump other alloy deps 0.7.0 ([#1252](https://github.com/bluealloy/revm/pull/1252))
- *(deps)* bump regex from 1.10.3 to 1.10.4 ([#1223](https://github.com/bluealloy/revm/pull/1223))
- *(deps)* bump bytes from 1.5.0 to 1.6.0 ([#1224](https://github.com/bluealloy/revm/pull/1224))
- release ([#1175](https://github.com/bluealloy/revm/pull/1175))
- tag v32 revm v7.1.0 ([#1176](https://github.com/bluealloy/revm/pull/1176))
- release ([#1125](https://github.com/bluealloy/revm/pull/1125))
- *(deps)* bump alloy-sol-types from 0.6.3 to 0.6.4 ([#1148](https://github.com/bluealloy/revm/pull/1148))
- *(deps)* bump alloy-sol-macro from 0.6.3 to 0.6.4 ([#1136](https://github.com/bluealloy/revm/pull/1136))
- release tag v30 revm v6.1.0 ([#1100](https://github.com/bluealloy/revm/pull/1100))
- clippy cleanup ([#1112](https://github.com/bluealloy/revm/pull/1112))
- *(deps)* bump alloy-sol-types from 0.6.2 to 0.6.3 ([#1103](https://github.com/bluealloy/revm/pull/1103))
- release ([#1082](https://github.com/bluealloy/revm/pull/1082))
- *(deps)* bump alloy-sol-macro from 0.6.2 to 0.6.3 ([#1094](https://github.com/bluealloy/revm/pull/1094))
- license date and revm docs ([#1080](https://github.com/bluealloy/revm/pull/1080))
- release ([#1067](https://github.com/bluealloy/revm/pull/1067))
- tag v27, revm v4.0.0 release ([#1061](https://github.com/bluealloy/revm/pull/1061))
- *(deps)* bump eyre from 0.6.11 to 0.6.12 ([#1051](https://github.com/bluealloy/revm/pull/1051))
- *(deps)* bump alloy-sol-types from 0.6.0 to 0.6.2 ([#1035](https://github.com/bluealloy/revm/pull/1035))
- *(deps)* bump alloy-sol-macro from 0.6.0 to 0.6.2 ([#1013](https://github.com/bluealloy/revm/pull/1013))
- chore(Test) : const to static ([#1016](https://github.com/bluealloy/revm/pull/1016))
- Burntpix criterion bench ([#1004](https://github.com/bluealloy/revm/pull/1004))
- Instruction table ([#759](https://github.com/bluealloy/revm/pull/759))
- rewrite revm-test as a criterion bench ([#579](https://github.com/bluealloy/revm/pull/579))
- optimize stack usage for recursive `call` and `create` programs ([#522](https://github.com/bluealloy/revm/pull/522))
- Bump v24, revm v3.3.0 ([#476](https://github.com/bluealloy/revm/pull/476))
- Release v23, revm v3.2.0 ([#464](https://github.com/bluealloy/revm/pull/464))
- Release v22, revm v3.1.1 ([#460](https://github.com/bluealloy/revm/pull/460))
- v21, revm v3.1.0 ([#444](https://github.com/bluealloy/revm/pull/444))
- remove gas blocks ([#391](https://github.com/bluealloy/revm/pull/391))
- *(deps)* bump bytes from 1.3.0 to 1.4.0 ([#355](https://github.com/bluealloy/revm/pull/355))
- Bump v20, changelog ([#350](https://github.com/bluealloy/revm/pull/350))
- includes to libs ([#338](https://github.com/bluealloy/revm/pull/338))
- Creating revm-primitives, revm better errors and db components ([#334](https://github.com/bluealloy/revm/pull/334))
- Cleanup, move hot fields toggether in Interpreter ([#321](https://github.com/bluealloy/revm/pull/321))
- native bits ([#278](https://github.com/bluealloy/revm/pull/278))
- *(release)* Bump revm and precompiles versions
- Bump primitive_types. Add statetest spec
- Bump revm v2.1.0 ([#224](https://github.com/bluealloy/revm/pull/224))
- revm bump v2.0.0, precompile bump v1.1.1 ([#212](https://github.com/bluealloy/revm/pull/212))
- Cfg choose create analysis, option on bytecode size limit ([#210](https://github.com/bluealloy/revm/pull/210))
- Cargo sort. Bump lib versions ([#208](https://github.com/bluealloy/revm/pull/208))
- Return `ExecutionResult`, which includes `gas_refunded` ([#169](https://github.com/bluealloy/revm/pull/169))
- Bytecode hash, remove override_spec, ([#165](https://github.com/bluealloy/revm/pull/165))
- revm bump 1.8. update libs. snailtracer rename ([#159](https://github.com/bluealloy/revm/pull/159))
- v6 changelog, bump versions
- Big Refactor. Machine to Interpreter. refactor instructions. call/create struct ([#52](https://github.com/bluealloy/revm/pull/52))
- [revm] pop_top and unsafe comments ([#51](https://github.com/bluealloy/revm/pull/51))
- [precompiles] remove unused borsh
- [recompl] Bump precompile deps, cargo sort on workspace
- [revm] output log. Stetetest test log output. fmt
- Bump versions, Changelogs, fmt, revm readme, clippy.
- [revm] Run test multiple times. fmt, BenchmarkDB
- Multiple changes: web3 db, debugger initial commit, precompile load
- Memory to usize, clippy,fmt
- wip optimize i256
- TEMP switch stacks H256 with U256
- [revm] some perfs
- [revm] Perfs stack pop. Benchmark snailtracer.
- [revm] cleanup
- fmt
- EVM Interface changed. Inspector called separately
- Bump revm v0.3.0. README updated
- DB ref mut polished
- And now we debug
- [revm] Interface. Inspector added, Env cleanup. revm-test passes
- Rename bin to bins

## [0.1.0](https://github.com/bluealloy/revm/releases/tag/revm-test-v0.1.0) - 2024-07-16

### Added
Expand Down
4 changes: 2 additions & 2 deletions bins/revm-test/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@ edition = "2021"
[dependencies]
bytes = "1.6"
hex = "0.4"
revm = { path = "../../crates/revm", version = "12.1.0", default-features = false }
revm = { path = "../../crates/revm", version = "13.0.0", default-features=false }
microbench = "0.5"
alloy-sol-macro = "0.7.7"
alloy-sol-types = "0.7.7"
regex = "1.10.5"
regex = "1.10.6"
eyre = "0.6.12"


Expand Down
Loading

0 comments on commit 5c063a2

Please sign in to comment.