Highlights
Fixed the 'upgrade-merged-blocks' from v2 to v3
Blocks that were migrated from v2 to v3 using the 'upgrade-merged-blocks' should now be considered invalid.
The upgrade mechanism did not correctly fix the "caller" on DELEGATECALLs when these calls were nested under another DELEGATECALL.
You should run the upgrade-merged-blocks again if you previously used 'v2' blocks that were upgraded to 'v3'.
Backoff mechanism for bursts
This mechanism uses a leaky-bucket mechanism, allowing an initial burst of X connections, allowing a new connection every Y seconds or whenever an existing connection closes.
Use --firehose-rate-limit-bucket-size=50 and --firehose-rate-limit-bucket-fill-rate=1s to allow 50 connections instantly, and another connection every second.
Note that when the server is above the limit, it waits 500ms before it returns codes.Unavailable to the client, forcing a minimal back-off.
Fixed
- Substreams
RpcCallobject are now validated before being performed to ensure they are correct. - Substreams
RpcCallJSON-RPC code-32602is now treated as a deterministic error (invalid request). tools compare-blocksnow correctly handle segment health reporting and properly prints all differences with-diff.tools compare-blocksnow ignores 'unknown fields' in the protobuf message, unless--include-unknown-fields=truetools compare-blocksnow ignores when a block bundle contains the 'last block of previous bundle' (a now-deprecated feature)
Added
- support for "requester pays" buckets on Google Storage in url, ex:
gs://my-bucket/path?project=my-project-id - substreams were also bumped to current March 1st develop HEAD