ethereum-optimism / ethereum-optimism/optimism
lokahi: cross-safe promotion lifecycle and finality
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 6.5k
- Forks
- 4k
- Avg merge
- 2d 18h
- Merged PRs (30d)
- 134
Description
Wire the interop actor as the promotion source: activation timestamp from LagoonTime consensus (or override); pre-activation trivial promotion with local-safe; nothing during backfill (cross-safe holds at activation-1); verification-driven after. Advance promotions idempotently re-pushed each round (no acks). Finality: keep the L2Finalizer signal, interop actor supplies the verified-at-finalized-L1 bound, controller takes the min, clamped at most cross-safe. Gates: cold-start and activation-at/after-genesis tests; cross-safe held across an engine reset.
Depends on: #22536, #22525 (promotion entry point).
🤖 Co-created with Claude (Fable 5)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the promotion entry point in #22525 and the dependency in #22536. Trace the interop actor, LagoonTime activation, promotion rounds, L2Finalizer signal, and controller finality bound. Done means the cold-start, activation-at/after-genesis, and engine-reset gates pass, with idempotent promotions and finality clamped at cross-safe.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- backend, distributed-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100