Skip to content

ethrex integration: Crypto-trait guest + synthetic block fixture generator#666

Open
ColoCarletti wants to merge 5 commits into
mainfrom
ethrex-integration
Open

ethrex integration: Crypto-trait guest + synthetic block fixture generator#666
ColoCarletti wants to merge 5 commits into
mainfrom
ethrex-integration

Conversation

@ColoCarletti

@ColoCarletti ColoCarletti commented Jun 12, 2026

Copy link
Copy Markdown
Collaborator

Description

⚠️ Temporary. This pins our ethrex guest to the unmerged LambdaVM-backend ethrex PR branch and adds an in-repo fixture generator as a stand-in. Once that PR merges to ethrex main, we re-pin to the merge commit and switch fixture generation to ethrex-replay. The in-repo generator is then removed.

What this does

  • Migrates the ethrex guest to the new Crypto-trait API (execution_program(input, LambdaVmCrypto)); keccak runs through our precompile. Removes the old [patch] ethrex-crypto and c-kzg.
  • Adds tooling/ethrex-fixtures — a small offline tool that builds ethrex blocks with an arbitrary number of ETH transfers and writes the serialized
    ProgramInput. Pinned to the same ethrex rev as the guest so fixtures stay compatible.
  • Regenerates the committed fixtures (empty / 1-tx / 10-tx) at the new rev and wires empty + 1-tx into the ethrex benchmark.
  • Updates the executor's native test reference + docs.

@github-actions

Copy link
Copy Markdown

Codex Code Review

No issues found in the PR diff.

Notes:

  • I reviewed only 55e8c7b1...fe199d41.
  • git diff --check passed.
  • Fixture SHA-256 values in executor/tests/README.md match the checked-in binaries.
  • I could not run cargo check: Cargo tried to write git dependencies under read-only /home/runner/.cargo/git.

@ColoCarletti ColoCarletti changed the title Ethrex integration ethrex integration: Crypto-trait guest + synthetic block fixture generator Jun 12, 2026
@github-actions

Copy link
Copy Markdown

Benchmark Results for unmodified programs 🚀

Command Mean [ms] Min [ms] Max [ms] Relative
base binary_search 49.9 ± 1.3 48.5 52.2 1.00
head binary_search 50.2 ± 1.1 48.5 51.8 1.01 ± 0.03
Command Mean [ms] Min [ms] Max [ms] Relative
base bitwise_ops 50.1 ± 1.1 48.6 51.6 1.00
head bitwise_ops 52.7 ± 4.6 48.7 63.6 1.05 ± 0.09
Command Mean [ms] Min [ms] Max [ms] Relative
base fibonacci_26 54.6 ± 0.6 53.5 55.3 1.00
head fibonacci_26 55.0 ± 1.0 53.7 56.6 1.01 ± 0.02
Command Mean [ms] Min [ms] Max [ms] Relative
base hashmap 105.4 ± 1.5 103.6 107.6 1.00 ± 0.02
head hashmap 105.2 ± 2.1 103.1 109.4 1.00
Command Mean [ms] Min [ms] Max [ms] Relative
base keccak 109.2 ± 2.3 106.6 112.5 1.01 ± 0.03
head keccak 108.6 ± 2.2 103.9 110.7 1.00
Command Mean [ms] Min [ms] Max [ms] Relative
base matrix_multiply 60.7 ± 1.4 59.0 63.0 1.01 ± 0.03
head matrix_multiply 60.0 ± 1.1 58.4 61.6 1.00
Command Mean [ms] Min [ms] Max [ms] Relative
base modular_exp 50.7 ± 1.0 49.5 52.2 1.01 ± 0.03
head modular_exp 50.3 ± 1.0 49.1 52.0 1.00
Command Mean [ms] Min [ms] Max [ms] Relative
base quicksort 53.9 ± 0.7 52.6 54.8 1.00
head quicksort 54.2 ± 1.0 52.6 55.7 1.00 ± 0.02
Command Mean [ms] Min [ms] Max [ms] Relative
base sieve 57.2 ± 1.5 55.1 59.5 1.00 ± 0.04
head sieve 57.0 ± 1.7 54.9 59.9 1.00
Command Mean [ms] Min [ms] Max [ms] Relative
base sum_array 67.5 ± 1.1 66.2 70.0 1.00
head sum_array 68.6 ± 1.7 66.7 71.4 1.02 ± 0.03
Command Mean [ms] Min [ms] Max [ms] Relative
base syscall_commit 77.1 ± 1.3 75.5 79.0 1.00
head syscall_commit 78.5 ± 2.8 75.6 85.8 1.02 ± 0.04

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant