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

Engine API: replace terminal block error with INVALID_TERMINAL_BLOCK status #170

Merged
merged 2 commits into from
Jan 27, 2022

Conversation

mkalinin
Copy link
Collaborator

Replaces -32002: Invalid terminal block error with INVALID_TERMINAL_BLOCK status value.

The motivation behind this change is to have terminal block conditions check handled in a way similar to other block validity conditions in terms of response to CL.

Additionally, this PR does also contain an explicit requirement on invalidating all descendants of the last PoW block in the chain if this PoW block is not a valid terminal block.

Alternatively, we could use an INVALID status to signal terminal block conditions violations. But this status is accompanied with latestValidHash which in the case of invalid terminal block can't be clearly defined, and moreover doesn't exist on CL. Thus, having a separate status tells that entire block tree starting from a transition block must be invalidated by CL, if this transition block is built upon invalid terminal block.

src/engine/specification.md Outdated Show resolved Hide resolved
@djrtwo djrtwo merged commit f731dbf into ethereum:main Jan 27, 2022
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.

2 participants