EspressoSystems / EspressoSystems/espresso-rollup-node-proxy

EspressoState holds block number instead of hash

Open
#77 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

Lots of care is taken during verification to ensure that the hash of the block served by the L2 node matches that derived from the espresso network, but then when actually serving that block to a consumer it is fetched by number, meaning the rollup node proxy can serve incorrect blocks. The `EspressoState` should hold the block hash and the hash should be used to retrieve the block that is returned to the consumer.
```
type EspressoState struct {
L2BlockNumber uint64 `json:"l2_block_number"`
FallbackHotshotHeight uint64 `json:"fallback_hotshot_height"`
UpdatedAt time.Time `json:"updated_at"`
}
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Search for the EspressoState definition and follow the verification and block-serving paths in the rollup node proxy. Confirm where the verified block hash is available, then ensure the returned consumer block is retrieved using that hash rather than only the block number; existing tests should cover the corrected lookup.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
api, backend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
72/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.