Espresso 2a: derivation pipeline, kona#449
Draft
QuentinI wants to merge 1 commit into
Draft
Conversation
…henticator Companion to celo-org#445 (which lands the equivalent op-node changes against celo-rebase-17). Introduces an L1-origin-timestamp hardfork (espresso_time) gating all post-fork derivation semantics. Pre-fork, derivation behaves exactly as upstream Optimism: batches are accepted based on the L1 transaction sender matching the SystemConfig batcher address. Post-fork, batches are authenticated via BatchInfoAuthenticated(bytes32) events emitted by the BatchAuthenticator contract, and sender-based authorization is rejected. The pipeline scans L1 receipts over a configurable lookback window (DEFAULT_BATCH_AUTH_LOOKBACK_WINDOW = 100 blocks) to build the set of authenticated batch commitment hashes for each L1 block being derived. Results are cached in two reorg-safe (block-hash-keyed) LRU caches: one for receipt-derived event sets, one for header parent-hash resolution. For consecutive L1 blocks the lookback windows overlap, so only one new block's receipts need to be fetched on each call. New RollupConfig fields: - batch_authenticator_address: Option<Address> - batch_auth_lookback_window: Option<u64> New HardForkConfig field: - espresso_time: Option<u64> New RollupConfig methods: - is_batch_auth_enabled - batch_auth_lookback_window (with DEFAULT_BATCH_AUTH_LOOKBACK_WINDOW fallback) - is_espresso_active (gated on L1 origin timestamp at the data-source layer) Calldata and blob data sources gain a BatchAuthConfig and an 'espresso_active' branch that requires an event-based authentication match; pre-fork their behaviour is unchanged. Unit tests cover the event scanner, calldata/blob hash semantics, post-fork authentication across calldata, blob, and altda data sources, and pre-fork passthrough. Co-authored-by: OpenCode <noreply@opencode.ai>
|
Hi @QuentinI these changes should be made in https://github.com/celo-org/celo-kona. Our approach to modifications for the rust stuff is to wrap elements from the upstream repos. For instance inside celo-kona we have the celo-reth implementation that depends on components from op-reth and reth but we don't actually modify those components at source, we wrap them or duplicate them (if we have to) in celo-kona. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Companion PR to #445: adds derivation pipeline scanning for batch authentication events, gated by Espresso hardfork.