Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,15 @@ This changelog covers Firehose-specific changes only. For upstream changes, see

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).

## Unreleased

### Fixed

- Honor `FIREHOSE_DISABLED` when installing the Firehose execution extension, as
well as when initializing the tracer. Previously a plain archive RPC startup
could briefly serve requests and then exit because the extension accessed the
uninitialized tracer. The normal Firehose-enabled path is unchanged.

## dev-049d306-fh3.1-3

### Fixed
Expand Down
4 changes: 3 additions & 1 deletion src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -629,7 +629,9 @@ fn main() -> eyre::Result<()> {
tracing::info!("Succeed to register eth_config (EIP-7910) API");
Ok(())
})
.install_exex("firehose", |ctx| async move {
// The ExEx requires the tracer's global state. A plain RPC node
// with FIREHOSE_DISABLED must skip both initialization and ExEx.
.install_exex_if(!firehose_disabled, "firehose", |ctx| async move {
// Box::pin works around a rustc higher-ranked lifetime limitation when
// proving the (deeply generic) run_exex future Send inside this closure.
Ok(Box::pin(reth_firehose::run_exex(ctx))
Expand Down
Loading