Releases: chainbound/bolt
v0.3.0-alpha
This release marks the deployments of bolt on the Holesky testnet.
TLDR
- Holesky readyness
- Validator onboarding guide: https://github.com/chainbound/bolt/blob/holesky/testnets/holesky/README.md
- Relay & builder support (Aestus, Titan, Bloxroute)
- Deployed Bolt RPC: https://rpc-holesky.bolt.chainbound.io
- Fully deployed Bolt registry (no slashing)
- Validator batch registration
- EigenLayer & Symbiotic support for collateral
- Updated constraints-API and PBS pipeline
- Helix reference implementation: gattaca-com/helix#49
- Flashbots builder reference implementation: https://github.com/chainbound/bolt-builder
- Mev-boost reference implementation: https://github.com/chainbound/bolt-mev-boost
- Forkdiffs: https://chainbound.github.io/bolt-forkdiffs
- Support for constraints delegation
- Support for ERC-2335 keystores signers
bolt
CLI to interact with the protocol- generate delegation messages
- register and update validators
- register operators and check their status
- More robust and observable sidecar
- Prometheus metrics + Grafana dashboard
- Reorg handling
- Minimum fee
What's Changed
- fix: build local payload with timestamp from beacon clock by @merklefruit in #194
- Telemetry & Metrics by @thedevbirb in #204
- feat(sidecar): commit-boost integration by @namn-grg in #203
- Bolt-boost module by @mempirate in #207
- fix(devnet): avoid deploying deprecated contracts by @merklefruit in #220
- feat(sidecar): constraints client by @namn-grg in #212
- New constraints-API by @mempirate in #221
- chore(sidecar): use validator pubkey instead of index by @namn-grg in #234
- docs(contracts): added EigenLayer integration in README by @thedevbirb in #232
- chore(sidecar): update constraint api by @namn-grg in #240
- feat: contracts middleware interface by @thedevbirb in #235
- chore(ci): bump actions to remove warnings by @estensen in #249
- feat(sidecar): min priority fee by @namn-grg in #246
- feat(registry): added max committed gas limit per validator by @merklefruit in #251
- chore: Bolt-Boost and Helix images for devnet by @thedevbirb in #258
- Builder: update to new Constraints API by @thedevbirb in #241
- fix: update types & drop bundle support by @mempirate in #256
- fix: constraints message fixes by @mempirate in #262
- docs(devnet): add link to install historical version of kurtosis CLI by @thedevbirb in #260
- fix: remove metrics clash with cb client by @merklefruit in #265
- fix(devnet): raise gas price to match new min priority fee of 1 gwei by @thedevbirb in #264
- fix: insert into constraints cache by @merklefruit in #266
- chore(ci): add bolt_boost ci + run only if there are diffs on its path by @merklefruit in #267
- feat: updgrade commit-boost to v0.3.0 by @mempirate in #268
- chore: pin rust toolchain everywhere,
just fmt
with nightly formatter pinned by @thedevbirb in #269 - fix(bolt-boost): re-enable logging to stdout by @merklefruit in #270
- fix: bolt-boost build by @merklefruit in #274
- fix: justfile after ethereum package upgrade + renaming by @thedevbirb in #261
- fix(bolt-boost): current slot logic by @thedevbirb in #280
- docs(devnet): specify how to run bolt-boost by @thedevbirb in #277
- fix(sidecar): commit boost flag rename by @thedevbirb in #275
- chore(builder): disable authorized pubkeys checks for testing on the devnet by @thedevbirb in #282
- feat(sidecar): sign messages using the correct signing domain by @merklefruit in #281
- chore(restore): stacked challenges PR by @merklefruit in #289
- feat(sidecar): ERC-2335 Keystore signer by @thedevbirb in #287
- fix: updated devnet by @merklefruit in #285
- feat(contracts): new challenger by @merklefruit in #223
- feat(sidecar): load delegations on startup and send them upon registration by @merklefruit in #292
- feat: repo README updates by @merklefruit in #294
- feat(contracts): registry updates by @mempirate in #278
- feat: add delegations cli by @namn-grg in #293
- feat(bolt-boost): delegations/revocations update by @merklefruit in #297
- feat(mev-boost): delegations/revocations update by @merklefruit in #298
- feat(sidecar): add commitment signing key + holesky deployment scripts by @merklefruit in #301
- feat(sidecar): keystore secrets path in config by @thedevbirb in #299
- fix: symbiotic network opt-in by @merklefruit in #304
- feat(contracts): new registry (V1) by @merklefruit in #202
- chore(sidecar): add most important feature -- ascii art on startup by @thedevbirb in #312
- chore: deploy EL middleware upgrade script by @merklefruit in #314
- feat: periphery deployments by @mempirate in #311
- feat:
bolt-cli
revamp: add Dirk support by @merklefruit in #309 - cleanup: remove
bolt-web-demo
folder by @thedevbirb in #319 - cleanup: remove
mev-boost-relay
by @thedevbirb in #320 - fix(devnet): use pre-built helix image by @merklefruit in #303
- chore: remove
builder
andmev-boost
by @mempirate in #323 - chore: rm bolt-client binary 🧹 by @merklefruit in #326
- chore: rm bolt-kurtosis-client binary by @merklefruit in #327
- feat(cli):
bolt send
command by @merklefruit in #321 - feat(ci): add linkspector by @mempirate in #329
enable-unsafe-lookahead
flag by @thedevbirb in #330- chore!(sidecar): drop TOML support by @thedevbirb in #333
- docs(holesky): clarify order of operations by @mempirate in #335
- feat(sidecar): gross tip revenue metric by @mempirate in #339
- feat(registry): cheaper on-chain batch opt-in (48k gas) by @merklefruit in #336
- Integrate with the Bolt registry to check if pubkeys are registered by @thedevbirb in #340
- fix(sidecar): error message for manager call by @thedevbirb in #346
- fix(sidecar): use validator keys and not delegated ones for pub key check by @thedevbirb in #347
- fix(sidecar): split public key hashes into chunks to avoid EL limits by @thedevbirb in #349
- fix(sidecar): find delegatees logic by @thedevbirb in #350
- fix(sidecar): builder proxy not spinning up with delegations by @thedevbirb in #352
- chore(sidecar): warn in case of inconsistent gross revenue calculations by @thedevbirb in #353
- fix(sidecar): Debug for blob transactions so it's not noisy by @thedevbirb in #356
- feat(cli): dirk delegations integration test by @merklefruit in #358
- chore(sidecar): minimal module refactor + add missing docs by @merklefruit in #362
- chore(holesky/docker): mount volumes on predefined paths by @thedevbirb in #357
- chore(holesky/pbs): update helix config by @thedevbirb in #364
- feat: solve outstanding TODOs by @merklefruit in #361
- chore: cleanup libraries, rm unused code by @merklefruit in #355
- fix!(config): remove empty environment variables set like 'VAR=' when parsing options by @thedevbirb in #367
- Add Dockerfile to
bolt
CLI by @thedevbirb in https://gi...
v0.2.1-alpha
What's Changed
- fix: re-add local payload building logic to driver by @merklefruit in #191
- fix(sidecar): always fetch lookahead if empty by @mempirate in #192
- doc(testnets): update lighthouse flags & version by @mempirate in #193
Full Changelog: v0.2.0-alpha...v0.2.1-alpha
v0.2.0-alpha
What's Changed
- chore(client): small update by @merklefruit in #173
- feat(sidecar): quick deployment script with systemctl by @merklefruit in #176
- feat(sidecar): add
bolt_getVersion
RPC method by @merklefruit in #172 - fix(sidecar): bundle verification logic by @thedevbirb in #179
- feat(sidecar): added driver on higher register (
tokio::select
) by @merklefruit in #181 - chore(sidecar): format with rustfmt by @merklefruit in #183
- chore(sidecar): import tracing macros in files by @merklefruit in #184
- chore(mev-boost-relay): set SSZ max constraints per slot to the defau… by @merklefruit in #185
- chore(builder,relay): remove auth when subscribing for constraints by @merklefruit in #187
- chore: remove some outdated builder diffs from upstream by @merklefruit in #189
- fix: commitment deadline in case of missed block by @namn-grg in #188
- Release v0.2.0-alpha by @mempirate in #190
Full Changelog: v0.1.3-alpha...v0.2.0-alpha
v0.1.3-alpha
Highlights
This alpha release contains breaking changes to the Commitments API that allow for bundles
of transactions in a single request.
Furthermore, Merkle multiproofs have been fixed on mev-boost and mev-boost-relay.
What's Changed
- feat(registry): add getallregistrants by @namn-grg in #158
- fix(devnet): better support of multiple preconfs in blocks by @thedevbirb in #162
- feat: small sidecar changes by @merklefruit in #151
- Fix multiple preconfirmations for the same slot in demo by @thedevbirb in #110
- Implement new commitments-API by @mempirate in #161
- feat: minimal rpc client by @merklefruit in #160
- fix(mevboost, relay): ordering logic for multiproofs by @thedevbirb in #166
- chore: add client signature test by @merklefruit in #168
- fix(sidecar): process pending bundle diffs by @merklefruit in #169
Full Changelog: v0.1.2-alpha...v0.1.3-alpha
v0.1.2-alpha
This alpha release contains a multitude of bugfixes and introduces the support for blob inclusion preconfirmations.
What's Changed
- Fix short options to allow startup by @mksh in #115
- fix(sidecar): hex private key by @namn-grg in #118
- chore(sidecar): add parsing validator indexes as ranges by @merklefruit in #119
- fix: join url without trailing slash by @merklefruit in #121
- fix(sidecar): wrong slot-diff while checking preconf by @thedevbirb in #123
- feat: helder testnet tx spammer by @thedevbirb in #122
- fix: validate tx chain id by @namn-grg in #126
- feat(contracts): parse validator indexes as arrays from solidity by @merklefruit in #120
- feat: Verify blobs support in MEV-Boost/Relay/Builder forks by @namn-grg in #129
- fix(devnet): build docker images using --load flag by @thedevbirb in #131
- Fix devnet with constraints deadline by @thedevbirb in #135
- feat(sidecar): populate blobs bundle when self-building by @merklefruit in #132
- chore: add commitment validity tests by @merklefruit in #130
- chore: added commitment balance validation multiple test by @merklefruit in #138
- feat(sidecar): github CI by @thedevbirb in #139
- feat(spammer): add blob txs by @namn-grg in #140
- fix(sidecar): validate state with existing diffs by @thedevbirb in #137
- feat(bolt-spammer): alloy migration by @thedevbirb in #142
- Submit constraints only after commitments deadline + block template refactor by @thedevbirb in #117
- fix(relay): off-by-one slot when fetching from constraints cache by @thedevbirb in #145
- fix: kurtosis blob preconfirmation flow by @merklefruit in #146
- feat(sidecar): add max_committed_gas_per_slot to sidecar Limits by @namn-grg in #150
- fix(sidecar): local blob building by @thedevbirb in #152
- chore(sidecar): bump reth/alloy types, remove trace call manager by @thedevbirb in #141
- chore(docker): new sidecar tag by @thedevbirb in #153
- chore(justfile): beacon logs, restart rebuilding only sidecar by @thedevbirb in #154
New Contributors
Full Changelog: v0.1.1-alpha...v0.1.2-alpha
v0.1.1-alpha
What's Changed
- feat(mev-boost): merkle multiproofs by @namn-grg in #84
- Switch to SSZ Merkle Multiproofs by @thedevbirb in #81
- Integrate generic signer in sidecar by @thedevbirb in #88
- feat(sidecar): build valid fallback payload by @merklefruit in #89
- New state root calculation using partial MPTs by @thedevbirb in #91
- experimental: create new payload from EL error hints by @merklefruit in #93
- feat: cleanup
LocalBuilder
flow and added docs by @merklefruit in #96 - feat(sidecar): consensus state validation by @namn-grg in #98
- feat: consensus state container by @merklefruit in #94
- feat(sidecar): configurable
ValidatorIndex
by @namn-grg in #101 - feat: refactor config and add ChainConfig by @merklefruit in #108
- feat(sidecar): integrate local builder with builder api by @thedevbirb in #97
- chore: builder-api review by @merklefruit in #111
- Sidecar:
builder-API
implementation by @mempirate in #62
Full Changelog: v0.1.0-alpha...v0.1.1-alpha
v0.1.0-alpha
First Release
Bolt v0.1.0-alpha marks the first release of Bolt, supporting the simplest case of inclusion preconfirmations.
This release is not production-ready.
What's Changed
- chore: docs update wip by @thedevbirb in #17
- feat: switch makefile -> justfile by @merklefruit in #32
- Smart contracts: Registry + Challenger by @merklefruit in #22
- Add proof verification to relay by @thedevbirb in #38
- Relay changes on unstable by @thedevbirb in #40
- feat(sidecar): Signature checks (user, proposer) + refactor by @merklefruit in #42
- Sidecar: Add relay connections by @merklefruit in #48
- feat: rm relays and add mev-boost builder API proxy by @merklefruit in #53
- refactor to comply to specs + SSZ enc/dec of spec types by @thedevbirb in #54
- feat: bolt-relay changes by @thedevbirb in #10
- feat: bolt-builder changes by @thedevbirb in #9
- fix(builder): gas left calculations for constraints by @thedevbirb in #65
- feat: bolt-boost changes by @thedevbirb in #11
- feat: just dora command by @thedevbirb in #66
- chore: update docs by @merklefruit in #67
- Feature: local fallback block by @mempirate in #26
- Feat: merge RPC commitment types to avoid duplicates by @merklefruit in #64
- fix(sidecar): change back to bls signatures for messages by @thedevbirb in #69
- wip: streamline kurtosis devnet test scenarios by @merklefruit in #35
- chore(builder): store decoded constraints in the cache by @namn-grg in #68
- chore(builder): decoded constraint cache by @namn-grg in #74
- feat: update devnet by @merklefruit in #71
- feat: update demo by @merklefruit in #76
- chore: added disclaimer in frontend by @merklefruit in #77
- small fix by @fmosterts in #78
- chore(demo): add status section by @namn-grg in #79
New Contributors
- @namn-grg made their first contribution in #68
- @fmosterts made their first contribution in #78
Full Changelog: https://github.com/chainbound/bolt/commits/v0.1.0-alpha