Skip to content

EIP-7685 - Refactor requests root generation #2758

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

Closed
wants to merge 8 commits into from
Closed

Conversation

anvacaru
Copy link
Contributor

@anvacaru anvacaru commented May 8, 2025

This PR fixes a bug in implementing EIP-7685 (General Purpose Execution Layer Requests) to conform to the reference implementations (process_general_purpose_requests).

  • Fixed hash computation to properly follow the EIP-7685 two-step hashing process:
    • Hash each non-empty request type individually
    • Combine these digests for the final hash
  • Updated deposit request handling to accumulate all deposits in a single Bytes object. The request_type byte is prepended before the requestRoot hash is computed.
  • Changed DEPOSIT_REQUEST_TYPE from an Int to a Bytes constant for proper type consistency
  • Modified <depositRequest> cell to use Bytes instead of List for request storage.

These changes ensure our KEVM implementation passes conformance tests and correctly implements both EIPs.
We will update the failing list of conformance tests after #2749 is merged.

@anvacaru anvacaru changed the title EIP7685 - Refactor requests root generation EIP-7685 - Refactor requests root generation May 8, 2025
@anvacaru anvacaru requested a review from palinatolmach May 8, 2025 13:46
@anvacaru
Copy link
Contributor Author

Closing as these changes were incorporated in #2762 .

@anvacaru anvacaru closed this May 12, 2025
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