Repository navigation
fix(rpc): report live catch-up status over HTTP and WebSocket - #826
Merged
Merged
Conversation
5 of 6 tasks
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.
Description
During real block-range catch-up, v0.27.7 always returns
falsefrometh_syncingand sends only an initialfalseto WebSocketsyncingsubscribers. The node health endpoint already reports the active catch-up correctly.Publish that live node status to both RPC interfaces. Retain an atomic initial snapshot for late subscribers, then deliver progress and completion changes through the existing broadcast channel. HTTP and dedicated WebSocket listeners share the same state. Progress uses validated canonical heights; the guide explains that the protocol does not advertise a network-wide target height.
Type of Change
fix— Bug fixChanges
--sync-statusto the existing signed two-node acceptance script and run it in CI using the existing build and SDK installation.Testing
false, and matching canonical hashes.Protocol Invariant Checklist
This changes RPC observation of the existing readiness state. Transaction signing, AA execution, consensus, storage profiles, activation settings and protocol parameters retain their existing behavior. Standard
eth_*camelCase quantity fields are preserved.startingBlockremains fixed for a catch-up session, whilecurrentBlockfollows the canonical head andhighestBlockretains its observed maximum.Notes
The real-node acceptance uses isolated RocksDB nodes, fresh keys, test balances and one ML-DSA-65 authority. It establishes the bounded catch-up/reopen behavior; publication of a matching release binary and verification through the public guide remain follow-up delivery requirements.