Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prover EVM_EE: Support blockhash opcode #736

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

MdTeach
Copy link
Contributor

@MdTeach MdTeach commented Mar 13, 2025

Description

  • Adds support for the blockhash opcode in the prover EVM, requiring validation of the hash chain for the last 256 ancestor blocks.
  • Proves the ancestor block hash chain only when the blockhash opcode is used in a block.
  • Introduces a functional test that utilizes the blockhash opcode, resolving a previous panic in the prover.

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature/Enhancement (non-breaking change which adds functionality or enhances an existing one)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Refactor
  • New or updated tests
  • Dependency Update

Notes to Reviewers

Checklist

  • I have performed a self-review of my code.
  • I have commented my code where necessary.
  • I have updated the documentation if needed.
  • My changes do not introduce new warnings.
  • I have added (where necessary) tests that prove my changes are effective or that my feature works.
  • New and existing tests pass with my changes.

Related Issues

@MdTeach MdTeach force-pushed the fix/prover-ee-blockhash-3 branch 2 times, most recently from c395ecd to 315ec62 Compare March 13, 2025 19:35
Copy link

codecov bot commented Mar 13, 2025

Codecov Report

Attention: Patch coverage is 0% with 49 lines in your changes missing coverage. Please review.

Project coverage is 54.75%. Comparing base (0e1171e) to head (e65dcb4).
Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
crates/reth/exex/src/prover_exex.rs 0.00% 32 Missing ⚠️
crates/reth/exex/src/cache_db_provider.rs 0.00% 17 Missing ⚠️
@@            Coverage Diff             @@
##             main     #736      +/-   ##
==========================================
- Coverage   54.80%   54.75%   -0.05%     
==========================================
  Files         322      322              
  Lines       36107    36247     +140     
==========================================
+ Hits        19788    19847      +59     
- Misses      16319    16400      +81     
Files with missing lines Coverage Δ
crates/proof-impl/evm-ee-stf/src/primitives.rs 100.00% <ø> (ø)
crates/reth/exex/src/cache_db_provider.rs 0.00% <0.00%> (ø)
crates/reth/exex/src/prover_exex.rs 0.00% <0.00%> (ø)

... and 12 files with indirect coverage changes

🚀 New features to boost your workflow:
  • Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@MdTeach MdTeach force-pushed the fix/prover-ee-blockhash-3 branch from 315ec62 to 8948ae0 Compare March 13, 2025 19:53
@MdTeach MdTeach force-pushed the fix/prover-ee-blockhash-3 branch 5 times, most recently from e07bb1c to d6f9555 Compare March 13, 2025 20:12
Copy link
Contributor

github-actions bot commented Mar 13, 2025

Commit: 6e3cd12

SP1 Execution Results

program cycles success
Bitcoin Blockspace 71,012
EVM EE STF 302,098
CL STF 166,610
Checkpoint 4,252

@MdTeach MdTeach marked this pull request as ready for review March 13, 2025 20:23
@MdTeach MdTeach requested review from a team as code owners March 13, 2025 20:23
@MdTeach MdTeach force-pushed the fix/prover-ee-blockhash-3 branch from d6f9555 to e65dcb4 Compare March 13, 2025 20:41
@MdTeach MdTeach requested a review from delbonis March 14, 2025 01:39
Copy link
Contributor

@prajwolrg prajwolrg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great work!

Copy link
Contributor

@evgenyzdanovich evgenyzdanovich left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

Please make sure fntests failures aren't related to this change and let's push this work.

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.

5 participants