Releases: flashbots/rollup-boost
rollup-boost/v0.7.6
Warning
This version have known issue with op-batcher, that causes batcher stall when op-geth is down, we are working on a fix
Release Notes
Added support for websocket connections between op-node and rollup-boost.
Improved reliability of health checks with external_state_root enabled.
What's Changed
- fix: improve builder health updates in get_payload by distinguishing L2 vs. builder failures by @cody-wang-cb in #411
- Fix docs, specify correct flashblock-rpc repo by @SozinM in #418
- Websocket support by @SozinM in #410
Full Changelog: rollup-boost/v0.7.5...rollup-boost/v0.7.6
websocket-proxy/v0.0.2
Release Notes
- Allows rate limits per API key for the
--api-keysflag in the form<app1>:<apiKey1>:<rateLimit1>,<app2>:<apiKey2>:<rateLimit2>,... Rate limits must be specified --per-ip-connection-limitis no limit if set to 0
What's Changed
- Fix release docker tags by @avalonche in #398
- Upgrade deps to reth 1.7.0 and fix kurtosis by @avalonche in #406
- chore: namespace and rename gh workflows by @0x416e746f6e in #407
- Rate limit per app/api-key on the authed endpoint by @avalonche in #405
- Bump reth version by @SozinM in #416
Docker Image: flashbots/flashblocks-websocket-proxy:v0.0.2
Full Changelog: websocket-proxy/v0.0.1...websocket-proxy/v0.0.2
rollup-boost/v0.7.5
Release Notes:
- Rollup-Boost now sends engine_getPayload for every block even when flashblocks are enabled in this PR. The result from the call is not used by rollup-boost but is needed to cancel the builder's block building job so the flashblocks gets saved into the builder cache. Previously it would only get the builder payload when constructing the block from the websocket stream fails. Rollup-boost ignores it result, and this acts as builder jobs cancellation.
- New flag
--external-state-rootthat allows rollup-boost to delegate the local execution client to calculate the state root - New flag
--ignore-unhealthy-buildersthat does not allow engine API calls to go through when health checks fail - Added
rollup_boost_execution_modemetric to inspect rollup-boost execution mode
What's Changed
- Moves WorkloadId to policy and adds extended registration data by @Ruteri in #382
- Bump reth to 1.6 by @krl in #383
- fix: ping/pong upstream server by @danyalprout in #355
- Update flashtestations.md by @MoeMahhouk in #384
- Fix release workflow by @sukoneck in #386
- Always send get_payload to builder by @SozinM in #385
- Rollup Boost Docs Page by @avalonche in #394
- Fixes Flashtestations table of contents by @Ruteri in #392
- Add websocket proxy release flow by @avalonche in #396
- Fix release docker tags by @avalonche in #398
- Upgrade deps to reth 1.7.0 and fix kurtosis by @avalonche in #406
- add metric to inspect current execution mode by @akundaz in #400
- Add external_state_root and ignore_unhealthy_builders by @cody-wang-cb in #381
- chore: namespace and rename gh workflows by @0x416e746f6e in #407
- Rate limit per app/api-key on the authed endpoint by @avalonche in #405
- Bump reth version by @SozinM in #416
New Contributors
- @Ruteri made their first contribution in #382
- @krl made their first contribution in #383
- @MoeMahhouk made their first contribution in #384
Full Changelog: v0.7.4...rollup-boost/v0.7.5
v0.7.4
What's Changed
- Add Flashblocks RPC spec + readme by @ferranbt in #377
- feat: add client ping/pong health checks by @danyalprout in #366
- Improve FB metrics even more by @SozinM in #380
Breaking changes
Renamed flashblocks metrics.
flashblocks_used was depricated
flashblocks_gauge, flashblocks_counter, flashblocks_missing_histogram, flashblocks_missing_gauge, and flashblocks_missing_counter were added
Full Changelog: v0.7.3...v0.7.4
v0.7.3
What's Changed
- E2E tests for flashblocks RPC by @ferranbt in #365
- chore: simplify
rollup-boostargs by @0xKitsune in #358 - chore: minor cleanup flashblocks logic by @0xKitsune in #357
- Use arcswap to speed things up by @SozinM in #371
- Skip "Payload ID mismatch" error if rollup-boost is inactive (not serving FCU with attributes) by @SozinM in #375
Breaking changes
Execution mode now controlled via debug interface only.
Removed the --flashblocks boolean flag. Instead, Flashblocks configuration is now optional via Option. Flashblocks is enabled if any related --flashblocks-* flags are specified.
Full Changelog: v0.7.2...v0.7.3
v0.7.2
Release Notes
- Metrics for flashblocks
- Adds Flashblocks RPC overlay
What's Changed
- fix: tx_count_delta & block_building_gas_delta underflow metrics by @0xOsiris in #343
- docs: add
rollup-boostaudit report by @0xKitsune in #344 - Flashtestation block proofs by @fnerdman in #285
- Parametrise Dockerfile to build debug binaries by @ferranbt in #339
- Pin Kurtosis by @ferranbt in #349
- feat: use generics for builder client by @0xKitsune in #348
- chore: minor tweaks to websocket-proxy by @danyalprout in #353
- feat(spec): Add Workload Metadata and Verification Flow by @fnerdman in #354
- Add Flashblocks RPC overlay by @ferranbt in #319
- Update lint to latest nightly by @ferranbt in #360
- Modify dockerfile to build flashblocks-rpc by @ferranbt in #361
- Add builder playground to CI by @avalonche in #263
- Add Flashblocks builder test by @ferranbt in #363
- cicd: push container images to ghcr as well by @0x416e746f6e in #356
- fix: remove duplicate
outputsfrom gh-workflow by @0x416e746f6e in #364 - Use payload id optimism function from reth by @SozinM in #368
- Add metrics and message log to track number of flashblocks used by @SozinM in #367
New Contributors
- @0x416e746f6e made their first contribution in #356
Full Changelog: v0.7.1...v0.7.2
v0.7.1
Release Notes
- Flashblocks metrics and improvements on websockets
What's Changed
- chore: overall websocket limits should be per instance by @danyalprout in #311
- Add i64 conversion to ensure we don't have underflow by @SozinM in #313
- Initial batch of metrics for flashblocks service by @ferranbt in #300
- Rollup-boost uses ping/pong to test the connection is open by @ferranbt in #310
- Adds more context to error during fb receiving by @SozinM in #324
- Fix failing tests by @SozinM in #327
- Fix flashblocks ping/pong intervals by @ferranbt in #330
- Calculate payload_id locally by @SozinM in #333
- Add docs on how to run Flashblocks by @ferranbt in #331
- fix: correct git sha in user agent by @akundaz in #342
New Contributors
Full Changelog: v0.7.0...v0.7.1
v0.7.0
Release Notes
- First rollup-boost release with the flashblocks feature. Enable with the
--flashblocksflag - Addresses all audit findings as documented here
- Adds a web socket proxy crate that streams flashblocks from rollup-boost to downstream clients
- Adds block selection policy based on gas used between builder and local block
CLI changes
- --rpc-host defaults from "0.0.0.0" → "127.0.0.1" in #209
- --metrics-host defaults from "0.0.0.0" → "127.0.0.1" in #209
- Added --block-selection-policy flag (optional) in #242
- Added flashblocks flags in #270
- --flashblocks
- --flashblocks-builder-url
- --flashblocks-host
- --flashblocks-port
- Added --flashblock-builder-ws-reconnect-ms (default 5000) in #296
- Fix --builder-timeout and --l2-timeout in #294
- --max-unsafe-interval defaults from 5 to 10 in #295
What's Changed
- Switch to async friendly version of moka by @0xForerunner in #219
- chore: remove unnecessary clone by @Dzejkop in #210
- fix: trace context cache eviction by @0xForerunner in #220
- chore: move websocket proxy by @danyalprout in #203
- Add Rollup Boost Spec by @dmarzzz in #224
- fix: ci by @0xOsiris in #225
- chore: bind services to random ports in tests by @Dzejkop in #213
- docs: rollup-boost HA design by @0xKitsune in #185
- Add a test to ensure a FCU call without block delay can be built by the builder by @ferranbt in #231
- Update contender args on CI by @ferranbt in #247
- chore: improve error handling by @Dzejkop in #243
- chore: update Rust Ci action by @ferranbt in #246
- chore: refactor payload logic into separate module by @0xKitsune in #230
- Change default socket addresses to localhost by @Dzejkop in #209
- fix: skip health status update during
ExecutionMode::DryRunby @0xKitsune in #250 - Add
cargo denyto CI by @Dzejkop in #249 - Osiris/monotonic timestamps by @0xOsiris in #251
- feat: block selection policy by @0xKitsune in #242
- Update Kurtosis by @ferranbt in #254
- Add tracing and metrics for blocks delta by @ferranbt in #257
- use contender via docker in ci by @zeroXbrock in #260
- Handle Inconsistent Response in Miner Api by @0xForerunner in #221
- Restructure the repo as a workspace by @ferranbt in #233
- websocket proxy: Add authenticated endpoint settings by @danyalprout in #261
- websocket proxy: disconnect downstream client if lagging by @haardikk21 in #269
- Add doc on reorgs by @ferranbt in #272
- Release nightly docker images for Rollup-boost by @ferranbt in #271
- feat: adds flashtestation spec by @fnerdman in #232
- Flashblocks with extension trait by @ferranbt in #270
- Add builder has payload attribute to metrics by @avalonche in #274
- Upgrade reth to 1.4.7 by @avalonche in #278
- Add Rollup Boost logo and banner by @deadpine in #283
- Add tests badge to readme (closes #282) by @metachris in #286
- CI use warpbuild everywhere to speed up by @metachris in #287
- Fix Flashblocks fallback to getPayload by @ferranbt in #284
- fix: use CLI configured timeouts for proxy Http clients by @0xOsiris in #294
- Add cli command to configure builder websocket reconnection time by @SozinM in #296
- Test websocket reconnect by @ferranbt in #298
- Osiris/update health handle by @0xOsiris in #295
- fix: remove miner retry by @0xKitsune in #302
- Return build info over prometheus metrics by @ferranbt in #301
- Add RB version + sha to rpc call by @ferranbt in #303
- Fix FB race by @SozinM in #307
- ws proxy: brotli compress each message from upstream before sending downstream by @haardikk21 in #309
- Use User-agent in RB header by @ferranbt in #308
New Contributors
- @zeroXbrock made their first contribution in #260
- @haardikk21 made their first contribution in #269
- @deadpine made their first contribution in #283
- @metachris made their first contribution in #286
Full Changelog: v0.6.2...v0.7.0
Docker Image.: flashbots/rollup-boost:0.7.0
v0.6.1
Summary
Fixes a race condition where get payload calls could reach the builder before fork choice calls were completed.
What's Changed
- feat: simplify ExecutionMode by @varun-doshi in #198
- docs: update local-devnet.md by @dmarzzz in #214
- Send FCUs to L2/Builder concurrently by @ferranbt in #206
Full Changelog: v0.6...v0.6.1
v0.6
Summary
This release adds an additional execution mode that will be always choose the local block. Additionally includes some fixes for "Unknown Payload" messages which should reduce noise in error logs.
What's Changed
- feat: add fallback execution mode by @0xOsiris in #180
- Remove extra log from rollup_boost.log by @ferranbt in #186
- chore: change ci to k8s for reliability by @0xOsiris in #184
- Kubernetes Probes by @0xForerunner in #142
- Fix unknown payload for get payload with no txpool by @avalonche in #195
- chore: simplify
ProxyService::call()logic by @0xKitsune in #183 - Add log for fcu by @ferranbt in #199
- Add e2e tests for Isthmus fork by @ferranbt in #197
- fix: update contender flags by @danyalprout in #204
- feat: issue templates for bug, docs, feature by @0xKitsune in #205
- Fix release workflow by @avalonche in #207
Full Changelog: v0.5-rc1...v0.6