ethereum-optimism / ethereum-optimism/optimism

supernode: Resolve "Optimistic" function name conflicts

Open
#19,902 0 comments 0 reactions 1 assignee Claimed by @geoknee View on GitHub
M-needs-triage
Dominant language
Go
Stars
6.5k
Forks
4k
Avg merge
2d 38m
Merged PRs (30d)
164

Description

Currently there is some overloaded meaning in the term "Optimistic", which differs when there is a replacement block. For posterity:

Verified: The block is a valid block, and will be a replacement block if not. An invalid block will never be verified.

Optimistic: The block which would be on the chain if no replacements occurred. Will be the valid OR invalid block, but never a replacement block.
Technically, Optimistic blocks are uncles of the chain when they represent the replaced block. So there is no forward progression of a replaced block as a chain.

Local: The chain currently known to the derivation pipeline. At-tip, blocks may be Verified, Invalid, or Replaced (because we may be actively verifying the chain by protocol rules), but behind some point the chain is always Verified.

In updating Superroots to use the Denylist as preference for Optimistic Outputs, I noticed we also have `OptimisticAt` which is used in more places. At present I am not sure if that method is meant to reference the chain by Optimistic or Local concept. This task is to capture some investigation of the intent of callers so we can correctly amend the function names or usages.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.