Releases: chainbound/bolt
v0.3.1-alpha
What's Changed
- fix: clippy warning by @merklefruit in #413
- feat: add ability to build cross-platform bolt-cli binaries by @merklefruit in #414
- feat: added tailscale action to all CI workflows by @merklefruit in #417
- chore(bolt-sidecar/infra): update grafana dash by @thedevbirb in #420
- feat: opt-in quick guide by @merklefruit in #418
- chore(docs): fix broken doc links by @estensen in #423
- chore(bolt-boost): add self lints by @estensen in #425
- chore(ci): enable linting by @estensen in #428
- chore(bolt-boost): add more lints by @estensen in #427
- feat:
boltup
installer + script by @merklefruit in #422 - fix(ci): correct path for build and lint by @estensen in #431
- feat: built
bolt-cli
binaries in CI in each new release by @merklefruit in #426 - chore(bolt-cli): add lints by @estensen in #432
- chore(bolt-sidecar): add lints by @estensen in #433
- fix: failing proof verification for blob transaction by @thedevbirb in #424
- ci: add dependabot config by @mempirate in #437
- chore(bolt-sidecar): fix lints by @estensen in #434
- feat(scripts): add just lint by @estensen in #436
- chore(ci): check instead of build by @estensen in #446
- chore(deps): bump axum from 0.7.7 to 0.7.9 in /bolt-sidecar by @dependabot in #444
- chore(deps): bump futures from 0.3.30 to 0.3.31 in /bolt-boost by @dependabot in #440
- chore(deps): bump axum from 0.7.7 to 0.7.9 in /bolt-boost by @dependabot in #442
- chore(deps): bump ethereum_ssz from 0.7.1 to 0.8.0 in /bolt-boost by @dependabot in #441
- chore(deps): bump ethereum_ssz_derive from 0.7.1 to 0.8.0 in /bolt-boost by @dependabot in #438
- feat(sidecar):
ScoreCache
foraccount_states
by @thedevbirb in #399 - chore(bolt-sidecar): replace deprecated default_features with default… by @estensen in #447
- feat(docs): added boltup installer + usage by @merklefruit in #448
- feat: cross compile bolt-cli tarballs for usage by boltup by @merklefruit in #445
- chore: add bolt cli recipe to release strategy by @merklefruit in #485
- chore(deps): bump alloy-rlp from 0.3.8 to 0.3.9 in /bolt-boost by @dependabot in #493
- fix: individual package cross dockerfiles by @merklefruit in #489
- fix(sidecar): review trace logs by @thedevbirb in #496
- chore(bolt-sidecar): extract compute_diffs() by @estensen in #490
- chore(bolt-sidecar): simplify test pubkey iteration by @estensen in #499
- feat(cli): add operator deregistration commands by @mempirate in #498
- chore(bolt-sidecar): add match_same_arms linter by @estensen in #500
- chore(deps): bump alloy from 0.6.4 to 0.7.0 in /bolt-cli by @dependabot in #494
- fix(sidecar): don't mutate
account_state
on template refresh by @thedevbirb in #506 - feat(cli): get validator status by @mempirate in #508
- feat(cli): Dirk multi-node delegation support by @merklefruit in #509
- chore(holesky): pin lighthouse image, change docs by @thedevbirb in #510
- chore(sidecar): bump alloy version to 0.7.2 by @merklefruit in #511
- chore(deps): bump cb-pbs from v0.3.0 to v0.3.1 in /bolt-boost by @dependabot in #439
- chore(docs): add vouch config paragraph by @merklefruit in #516
- feat(cli): add generate bls keypair command by @mempirate in #519
- feat(cli): Add
web3signer
KeySource by @EdwardJES in #513 - feat(cli): contract error handling by @mempirate in #520
- fix: bolt pubkeys local-keystore command flags by @merklefruit in #522
- chore: use more specific error types by @merklefruit in #521
- chore(docs): use bolt generate bls instead of visiting website by @merklefruit in #523
- fix(holesky): image and env sourcing in docker setup by @thedevbirb in #525
- chore(deps): bump serde_json from 1.0.132 to 1.0.133 in /bolt-sidecar by @dependabot in #536
- chore(deps): bump axum-extra from 0.9.4 to 0.9.6 in /bolt-sidecar by @dependabot in #535
- chore(deps): bump alloy from 0.7.2 to 0.7.3 in /bolt-cli by @dependabot in #530
- chore(deps): bump ethereum_ssz from 0.8.0 to 0.8.1 in /bolt-boost by @dependabot in #529
- chore(deps): bump axum-extra from 0.9.4 to 0.9.6 in /bolt-boost by @dependabot in #528
- chore(ci): run on self-hosted by @estensen in #537
- chore(deps): bump thiserror from 1.0.69 to 2.0.3 in /bolt-sidecar by @dependabot in #533
- chore(deps): bump thiserror from 1.0.69 to 2.0.3 in /bolt-cli by @dependabot in #531
- chore(deps): bump thiserror from 1.0.64 to 2.0.6 in /bolt-boost by @dependabot in #527
- docs(holesky): fix Vouch config docs by @mempirate in #538
- ci: rm tailscale step by @mempirate in #539
- chore(deps): bump serde_json from 1.0.128 to 1.0.133 in /bolt-boost by @dependabot in #526
- chore(deps): bump alloy from 0.7.2 to 0.7.3 in /bolt-sidecar by @dependabot in #532
- chore(sidecar/holesky): add preset for delegation, env docs by @thedevbirb in #540
- feat(sidecar): fallback block builder refactor by @merklefruit in #512
- fix(envs): underscores in wei amounts for min_priority_fee by @thedevbirb in #543
- chore(deps): bump alloy from 0.3.6 to 0.5.4 in /bolt-boost by @dependabot in #491
- chore(bolt-sidecar): use proofs from alloy and clean up imports by @estensen in #549
- chore(bolt-sidecar): bump tree_hash by @estensen in #548
- fix(holesky): entrypoint logic to not replace envs when empty by @thedevbirb in #545
- chore(sidecar): add small test by @merklefruit in #546
- feat(bolt-cli): log if operators have collateral by @estensen in #550
- chore(cli): refactor operators command in files by @merklefruit in #553
- chore(bolt-boost): bump alloy by @estensen in #554
- chore(cli): unify KeysSource and SecretsSource by @merklefruit in #556
- chore(deps): bump ethereum_ssz from 0.5.4 to 0.8.1 in /bolt-sidecar by @dependabot in #534
- chore: update docs re Lido CSM by @merklefruit in #559
- chore(deps): bump reqwest from 0.12.8 to 0.12.9 in /bolt-boost by @dependabot in #564
- chore(deps): bump tokio from 1.40.0 to 1.42.0 in /bolt-boost by @dependabot in #563
- chore(deps): bump thiserror from 2.0.6 to 2.0.7 in /bolt-boost by @dependabot in #561
- chore(deps): bump thiserror from 2.0.6 to 2.0.7 in /bolt-sidecar by @dependabot in #569
- chore(deps): bump serde from 1.0.210 to 1.0.216 in /bolt-boost by @dependabot in #562
- chore(deps): bump serde from 1.0.215 to 1.0.216 in /bolt-sidecar by @dependabot in #570
- chore(deps): bump tokio from 1.41.1 to 1.42.0 in /bolt-cli by @dependabot in #566
- chore(deps): bump thiserror from 2.0.3 to 2.0.7 in /bolt-cli by @dependabot in #567
- chore(deps): bump alloy-rlp from 0.3.9 to 0.3.10 in /bolt-boost by @dependabot in #565
- chore(cli): bump version by @thedevb...
cli-v0.1.1
This release brings small quality of life improvements for users of the bolt
CLI.
🔧 Bug Fixes
• Don't require secrets for bolt pubkeys local-keystore
command flags.
• Operator status returning incorrect stake results.
• Remove redundant command bolt pubkeys public-keys --public-keys
.
📚 Documentation Improvements
• The documentation now recommends using the bolt generate bls
command directly, removing the need to visit external websites for key generation.
• Highlight that the default RPC used for send
commands is the bolt RPC that automatically handles nonces over preconfirmed state.
✨ New Features
• The CLI now logs whether operators have the required collateral and are active, giving users greater visibility when managing operations.
🛠️ Refactoring and Maintenance
• The operators command has been refactored into separate files for cleaner, more maintainable code.
• Unification of KeysSource
and SecretsSource
brings consistency across the CLI
Full change-log
- fix: bolt pubkeys local-keystore command flags by @merklefruit in #522
- chore(docs): use bolt generate bls instead of visiting website by @merklefruit in #523
- feat(bolt-cli): log if operators have collateral by @estensen in #550
- chore(cli): refactor operators command in files by @merklefruit in #553
- chore(cli): unify KeysSource and SecretsSource by @merklefruit in #556
- chore(cli): bump version, docs by @thedevbirb in #572
- fix(cli): operator status stake @merklefruit in #575
cli-v0.1.0
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