EspressoSystems / EspressoSystems/espresso-rollup-node-proxy

Support intercepting multiple block tags (e.g. "safe" + "finalized") with Espresso finality

Open
#81 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Description

## Problem

The proxy can intercept a single configurable block tag (`espresso_tag`, default `"espresso"`) and resolve it to the Espresso-finalized L2 block number. Setting the tag to `"finalized"` backs the standard finality tag with Espresso finality, but only **one** tag can be intercepted per proxy instance.

Clients that use the standard `"safe"` tag cannot get Espresso finality at the same time as `"finalized"` users — whichever tag is not configured passes through to the full node with its native semantics.

## Proposal

Allow the interceptor to match a **list** of tags, all resolving to the same Espresso-finalized block number:

- `espresso_tag` JSON config field accepts either a single string (backward compatible) or an array of strings, e.g. `["safe", "finalized"]`.
- `--espresso-tag` CLI flag accepts a comma-separated list or may be repeated.
- Every configured tag is replaced with the same value: the store's Espresso-finalized L2 block number (`max(espresso finalized, eth finalized)`).

Note: with both tags intercepted, `"safe"` and `"finalized"` resolve to the identical block, so the usual `safe >= finalized` gap disappears behind the proxy.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start at the proxy interceptor and the parsing paths for the `espresso_tag` JSON field and `--espresso-tag` CLI flag. Trace how the store's Espresso-finalized L2 block number is selected, then verify that each configured tag resolves to the same `max(espresso finalized, eth finalized)` value while a single-string configuration remains compatible.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
backend, blockchain, cli
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.