ethereum-optimism / ethereum-optimism/optimism
supernode: Resolve "Optimistic" function name conflicts
- 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
Assessment
This issue has not been assessed yet.