Releases: streamingfast/firehose-ethereum
v2.8.0
v2.7.5
Substreams fixes
Note All caches for stores using the updatePolicy
set_sum
(added in substreams v1.7.0) and modules that depend on them will need to be deleted, since they may contain bad data.
- Fix bad data in stores using
set_sum
policy: squashing of store segments incorrectly "summed" some values that should have been "set" if the last event for a key on this segment was a "sum" - Fix small bug making some requests in development-mode slow to start (when starting close to the module initialBlock with a store that doesn't start on a boundary)
v2.7.4
Substreams fixes
- Fixed an(other) issue where multiple stores running on the same stage with different initialBlocks will fail to proress (and hang)
v2.7.3
Substreams fixes
- Fix bug where some invalid cursors may be sent (with 'LIB' being above the block being sent) and add safeguard/loggin if the bug appears again
- Fix panic in the whole tier2 process when stores go above the size limit while being read from "kvops" cached changes
- Fix "cannot resolve 'old cursor' from files in passthrough mode" error on some requests with an old cursor
- Fix handling of 'special case' substreams module with only "params" as its input: should not skip this execution (used in graph-node for head tracking)
-> empty files in module cache with hashd3b1920483180cbcd2fd10abcabbee431146f4c8
should be deleted for consistency
v2.7.2
Core
- [Operator] The flag
--advertise-block-id-encoding
now accepts shorter form:hex
,base64
, etc. The older longer formBLOCK_ID_ENCODING_HEX
is still supported but we suggested using the shorter form from now on.
Substreams v1.10.2
Note Since a bug that affected substreams with "skipping blocks" was corrected in this release, any previously produced substreams cache should be considered as possibly corrupted and be eventually replaced
- Substreams: fix bad handling of modules with multiple inputs when only one of them is filtered, resulting in bad outputs in production-mode.
- Substreams: fix stalling on some substreams with stores and mappers with different start block numbers on the same stage
- Substreams: fix 'development mode' and LIVE mode executing some modules that should be skipped
v2.7.1
- Bump substreams to v1.10.0
- Bump firehose-core to v1.6.1
v2.7.0
-
Add
sf.firehose.v2.EndpointInfo/Info
service on Firehose andsf.substreams.rpc.v2.EndpointInfo/Info
to Substreams endpoints. This involves the following new flags:advertise-chain-name
Canonical name of the chain according to https://thegraph.com/docs/en/developing/supported-networks/ (required, unless it is in the "well-known" list)advertise-chain-aliases
Alternate names for that chain (optional)advertise-block-features
List of features describing the blocks (optional)ignore-advertise-validation
Runtime checks of chain name/features/encoding against the genesis block will no longer cause server to wait or fail.
-
Add a well-known list of chains (hard-coded in
wellknown/chains.go
to help automatically determine the 'advertise' flag values). Users are encouraged to propose Pull Requests to add more chains to the list. -
The new info endpoint adds a mandatory fetching of the first streamable block on startup, with a failure if no block can be fetched after 3 minutes and you are running
firehose
orsubstreams-tier1
service.
It validates the following on a well-known chain:- if the first-streamable-block Num/ID match the genesis block of a known chain, e.g.
matic
, it will refuse another value foradvertise-chain-name
thanmatic
or one of its aliases (polygon
) - If the first-streamable-block does not match any known chain, it will require the
advertise-chain-name
to be non-empty
- if the first-streamable-block Num/ID match the genesis block of a known chain, e.g.
-
Substreams: add
--common-tmp-dir
flag to activate local caching of pre-compiled WASM modules through wazero v1.8.0 feature (performance improvement on WASM compilation) -
Substreams: revert module hash calculation from
v2.6.5
, when using a non-zero firstStreamableBlock. Hashes will now be the same even if the chain's first streamable block affects the initialBlock of a module. -
Substreams: add
--substreams-block-execution-timeout
flag (default 3 minutes) to prevent requests stalling. Timeout errors are returned to the client who can decide to retry.
v2.6.7
- Bump substreams to v1.9.3: fix high CPU usage on tier1 caused by a bad error handling
v2.6.6
- Bump substreams to v1.9.2: Prevent Noop handler from sending outputs with 'Stalled' step in cursor (which breaks substreams-sink-kv)
- Bump firehose-core to v1.5.6: add
--reader-node-line-buffer-size
flag and bump default value from 100M to 200M to go over crazy block 278208000 on Solana
v2.6.5
Fixed
- Fixed a bug in the blockfetcher which could cause transactions receipts to be nil
- Fixed a bug in substreams where chains with non-zero first-streamable-block would cause some substreams to hang. Solution changes the 'cached' hashes for those substreams.