Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Holesky Launch #296

Merged
merged 307 commits into from
Nov 12, 2024
Merged
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
307 commits
Select commit Hold shift + click to select a range
db4d394
chore(holesky): update rc image for Helix
thedevbirb Oct 24, 2024
72e5f7f
fix(holesky): remove toml volume from dockerfile
thedevbirb Oct 24, 2024
19e2988
feat(holesky): cadvisor dashboard stub
thedevbirb Oct 24, 2024
d442366
fix(sidecar): test/CI
thedevbirb Oct 25, 2024
3c9f3f8
fix(holesky): restore commit-boost observability previosly removed by…
thedevbirb Oct 25, 2024
5a64219
fix(holesky/docs): broken links
Oct 25, 2024
5fdb314
fix(holesky): cAdvisor only scans for the services in the current doc…
thedevbirb Oct 25, 2024
1a5bed0
chore(testnet): holesky launch folder stub
thedevbirb Oct 15, 2024
9b18085
git(sidecar): add bolt-sidecar binaries to .gitignore
thedevbirb Oct 16, 2024
8aa2381
docker(sidecar): remove redundant dependencies during build
thedevbirb Oct 16, 2024
b0038f1
chore!(sidecar): rename env for telemetry options
thedevbirb Oct 16, 2024
a38ffb6
chore(sidecar): update .env.example
thedevbirb Oct 16, 2024
512956e
chore(sidecar): update Config.example.toml
thedevbirb Oct 16, 2024
0ed6dbc
chore!(sidecar): remove short options from telemetry config
thedevbirb Oct 16, 2024
3a2f014
chore(holesky): add .gitignore
thedevbirb Oct 17, 2024
f09560c
chore(mev-boost): add .env.example
thedevbirb Oct 17, 2024
1bd285b
feat(holesky): update networking & default values
Oct 25, 2024
d7e2b8f
chore(mev-boost): update .gitignore
thedevbirb Oct 17, 2024
4ee7816
chore(holesky): update docker compose setup
thedevbirb Oct 17, 2024
7201f6f
chore(holesky): move commit-boost config in separate directory
thedevbirb Oct 17, 2024
32aeb6c
fix(delegations-cli): non-descriptive error message
thedevbirb Oct 21, 2024
67aaf93
wip: pbs configs
merklefruit Oct 21, 2024
9d2b5a7
feat: working pbs docker compose
merklefruit Oct 21, 2024
ebfc692
chore(sidecar): more precise docs for config
thedevbirb Oct 21, 2024
12d83b1
docs(holesky): README launch wip
thedevbirb Oct 16, 2024
b854541
fix(holesky): add bolt prefix to all services and containers to avoid…
thedevbirb Oct 21, 2024
8504a90
fix(holesky): docker-compose sidecar entrypoint
thedevbirb Oct 21, 2024
8887d17
fix(sidecar): .env.example
thedevbirb Oct 21, 2024
70fc7d9
chore(holesky): add simple bash script to create .env stub
thedevbirb Oct 21, 2024
0197f1b
chore(sidecar): update Config.example.toml
thedevbirb Oct 22, 2024
5942872
chore(sidecar): review CLI options and their defaults
thedevbirb Oct 22, 2024
185c2a6
chore(sidecar): add Config.toml to .gitignore
thedevbirb Oct 22, 2024
af4dc93
feat(sidecar): allow reading TOML config from default path
thedevbirb Oct 22, 2024
68ab07a
chore(holesky): add *.toml to .gitignore
thedevbirb Oct 22, 2024
33f341d
fix(holesky): broken links in README, use TOML config file instead of…
thedevbirb Oct 22, 2024
743f032
chore(holesky): update docker-compose.yml
thedevbirb Oct 22, 2024
628b443
fix(sidecar): min_priority_fee is now u128 and not NonZero<u128>
thedevbirb Oct 22, 2024
9d55724
fix(holesky): cat -> cp in README
thedevbirb Oct 22, 2024
0286524
chore(holesky): delegations flag in README
thedevbirb Oct 22, 2024
b402cdb
fix(holesky): provide delegations cli volume
thedevbirb Oct 22, 2024
55f58cc
docs(holesky): update instructions
Oct 21, 2024
afc0dc5
docs(holesky): smol chagnes
Oct 21, 2024
619d9f0
docs(holesky): smol changes
Oct 21, 2024
a44016b
docs(holesky): validator registration script
Oct 21, 2024
d030036
docs(holesky): operator registration
Oct 22, 2024
b285e33
chore(holesky): README fmt
thedevbirb Oct 22, 2024
c0dbf4c
chore(holesky): validator controller reference on README
thedevbirb Oct 22, 2024
4648daf
fix(holesky): stale flags in README
thedevbirb Oct 22, 2024
23beddf
chore(sidecar): mark required fields in the Config.example.toml
thedevbirb Oct 22, 2024
6b92e59
fix(holesky): wrong code links and snippets in README
thedevbirb Oct 23, 2024
bbf670a
feat(holesky): test commit grafana dashboard and prometheus setup
thedevbirb Oct 23, 2024
4918c13
fix(contracts): move operators scripts into new operators folder
thedevbirb Oct 23, 2024
a3ba7cd
feat(holesky): EL script for StrategyManager.depositIntoStrategy
thedevbirb Oct 23, 2024
6b71506
fix(holesky): formatting in README
thedevbirb Oct 24, 2024
8c191b0
chore(holesky): better explanation of operator config steps for EL
thedevbirb Oct 24, 2024
61cc8a1
feat(holesky): update scripts + README for Symbiotic integration
thedevbirb Oct 23, 2024
3b222d3
fix(holesky): config options for Symbiotic guide
thedevbirb Oct 24, 2024
cb4d90e
chore(holesky): upgrade vault addresses for Symbiotic
thedevbirb Oct 24, 2024
dc162a7
fix(contracts/scripts): register Symbiotic operator script
Oct 24, 2024
e1154f9
chore(holesky): updated bolt-cli usage guide
merklefruit Oct 24, 2024
8091857
fix: broken links
merklefruit Oct 24, 2024
2de1617
chore!(sidecar,holesky): drop support for TOML, use .env everywhere
thedevbirb Oct 24, 2024
8e99590
chore(holesky): update README after dropping TOML support
thedevbirb Oct 24, 2024
74044aa
Update testnets/holesky/README.md
thedevbirb Oct 24, 2024
9d6243a
fix(holesky): docker compose setup -- grafana, prometheus
thedevbirb Oct 24, 2024
0ee6fc6
chore(holesky): update rc image for Helix
thedevbirb Oct 24, 2024
dac00cc
fix(holesky): remove toml volume from dockerfile
thedevbirb Oct 24, 2024
cd84836
feat(holesky): cadvisor dashboard stub
thedevbirb Oct 24, 2024
59c61f4
fix(sidecar): test/CI
thedevbirb Oct 25, 2024
6df1559
fix(holesky): restore commit-boost observability previosly removed by…
thedevbirb Oct 25, 2024
c1e26b5
fix(holesky/docs): broken links
Oct 25, 2024
4c5fb29
fix(holesky): cAdvisor only scans for the services in the current doc…
thedevbirb Oct 25, 2024
f0c1eb3
Merge branch 'lore/feat/holesky-launch' of github.com:chainbound/bolt…
Oct 25, 2024
9172aed
feat(holesky): update networking & default values
Oct 25, 2024
3a5edcc
fix(holesky): fix conflict
Oct 25, 2024
12f2c69
fix(holesky): add custom network to compose
Oct 25, 2024
eaeed3f
fix(holesky): typo
Oct 25, 2024
de9e97e
fix(holesky): genesis fork version on builder
Oct 25, 2024
f0c3eea
fix(holesky): cb port description
Oct 27, 2024
d5450f0
docs(holesky): document cb status
Oct 28, 2024
b5f67ba
chore(testnet): holesky launch folder stub
thedevbirb Oct 15, 2024
4afe620
git(sidecar): add bolt-sidecar binaries to .gitignore
thedevbirb Oct 16, 2024
5416032
docker(sidecar): remove redundant dependencies during build
thedevbirb Oct 16, 2024
d3f9b0c
chore!(sidecar): rename env for telemetry options
thedevbirb Oct 16, 2024
82aac7f
chore(sidecar): update .env.example
thedevbirb Oct 16, 2024
cc83818
chore(sidecar): update Config.example.toml
thedevbirb Oct 16, 2024
91b44ae
chore!(sidecar): remove short options from telemetry config
thedevbirb Oct 16, 2024
3701587
chore(holesky): add .gitignore
thedevbirb Oct 17, 2024
e22156d
chore(mev-boost): add .env.example
thedevbirb Oct 17, 2024
31ac432
chore(mev-boost): update .gitignore
thedevbirb Oct 17, 2024
ce27645
chore(holesky): update docker compose setup
thedevbirb Oct 17, 2024
a02f725
chore(holesky): move commit-boost config in separate directory
thedevbirb Oct 17, 2024
022ef5a
fix(delegations-cli): non-descriptive error message
thedevbirb Oct 21, 2024
e0208ad
wip: pbs configs
merklefruit Oct 21, 2024
cc45858
feat: working pbs docker compose
merklefruit Oct 21, 2024
e8da054
chore(sidecar): more precise docs for config
thedevbirb Oct 21, 2024
574c273
docs(holesky): README launch wip
thedevbirb Oct 16, 2024
9852e88
fix(holesky): add bolt prefix to all services and containers to avoid…
thedevbirb Oct 21, 2024
dbfc2f4
fix(holesky): docker-compose sidecar entrypoint
thedevbirb Oct 21, 2024
6cfdd37
fix(sidecar): .env.example
thedevbirb Oct 21, 2024
5a2ae13
chore(holesky): add simple bash script to create .env stub
thedevbirb Oct 21, 2024
ff47200
chore(sidecar): update Config.example.toml
thedevbirb Oct 22, 2024
55abca9
chore(sidecar): review CLI options and their defaults
thedevbirb Oct 22, 2024
dc93a4e
chore(sidecar): add Config.toml to .gitignore
thedevbirb Oct 22, 2024
90d3142
feat(sidecar): allow reading TOML config from default path
thedevbirb Oct 22, 2024
d3b34e7
chore(holesky): add *.toml to .gitignore
thedevbirb Oct 22, 2024
dc46e26
fix(holesky): broken links in README, use TOML config file instead of…
thedevbirb Oct 22, 2024
1e412c5
chore(holesky): update docker-compose.yml
thedevbirb Oct 22, 2024
32d4027
fix(sidecar): min_priority_fee is now u128 and not NonZero<u128>
thedevbirb Oct 22, 2024
a72034d
fix(holesky): cat -> cp in README
thedevbirb Oct 22, 2024
d603b4d
chore(holesky): delegations flag in README
thedevbirb Oct 22, 2024
5cc0f3d
fix(holesky): provide delegations cli volume
thedevbirb Oct 22, 2024
5511467
docs(holesky): update instructions
Oct 21, 2024
8432b43
docs(holesky): smol chagnes
Oct 21, 2024
bdeacac
docs(holesky): smol changes
Oct 21, 2024
59510db
docs(holesky): validator registration script
Oct 21, 2024
808d090
docs(holesky): operator registration
Oct 22, 2024
3cbbc7d
chore(holesky): README fmt
thedevbirb Oct 22, 2024
4131a92
chore(holesky): validator controller reference on README
thedevbirb Oct 22, 2024
9fb22a1
fix(holesky): stale flags in README
thedevbirb Oct 22, 2024
3b8731c
chore(sidecar): mark required fields in the Config.example.toml
thedevbirb Oct 22, 2024
6663b18
fix(holesky): wrong code links and snippets in README
thedevbirb Oct 23, 2024
cd48a2a
feat(holesky): test commit grafana dashboard and prometheus setup
thedevbirb Oct 23, 2024
a017f92
fix(contracts): move operators scripts into new operators folder
thedevbirb Oct 23, 2024
32c6391
feat(holesky): EL script for StrategyManager.depositIntoStrategy
thedevbirb Oct 23, 2024
fab2107
fix(holesky): formatting in README
thedevbirb Oct 24, 2024
310861f
chore(holesky): better explanation of operator config steps for EL
thedevbirb Oct 24, 2024
5c46e4a
feat(holesky): update scripts + README for Symbiotic integration
thedevbirb Oct 23, 2024
ee3109c
fix(holesky): config options for Symbiotic guide
thedevbirb Oct 24, 2024
2451c75
chore(holesky): upgrade vault addresses for Symbiotic
thedevbirb Oct 24, 2024
3062f3a
fix(contracts/scripts): register Symbiotic operator script
Oct 24, 2024
b39ce6c
chore(holesky): updated bolt-cli usage guide
merklefruit Oct 24, 2024
062389c
fix: broken links
merklefruit Oct 24, 2024
32cb2f0
chore!(sidecar,holesky): drop support for TOML, use .env everywhere
thedevbirb Oct 24, 2024
9d759c4
chore(holesky): update README after dropping TOML support
thedevbirb Oct 24, 2024
f06c362
Update testnets/holesky/README.md
thedevbirb Oct 24, 2024
261fdd1
fix(holesky): docker compose setup -- grafana, prometheus
thedevbirb Oct 24, 2024
4a9ea79
chore(holesky): update rc image for Helix
thedevbirb Oct 24, 2024
44d2bf0
fix(holesky): remove toml volume from dockerfile
thedevbirb Oct 24, 2024
c8e19a6
feat(holesky): cadvisor dashboard stub
thedevbirb Oct 24, 2024
3fc56a5
fix(sidecar): test/CI
thedevbirb Oct 25, 2024
656116c
fix(holesky): restore commit-boost observability previosly removed by…
thedevbirb Oct 25, 2024
fefc31c
fix(holesky/docs): broken links
Oct 25, 2024
cfa8e46
feat(holesky): update networking & default values
Oct 25, 2024
fe21cff
fix(holesky): add custom network to compose
Oct 25, 2024
16ee99b
fix(holesky): typo
Oct 25, 2024
14c3385
fix(holesky): genesis fork version on builder
Oct 25, 2024
c0839ba
fix(holesky): cb port description
Oct 27, 2024
d78c3c7
docs(holesky): document cb status
Oct 28, 2024
3840e24
chore(holesky): re-add bolt-default network to all services
thedevbirb Oct 28, 2024
e2d47cf
feat(contracts): smol changes
Oct 28, 2024
cd77ffa
docs(holesky): smol changes
Oct 28, 2024
4d307f4
fix: merge
Oct 28, 2024
d52fb5a
fix: merge conflict
Oct 28, 2024
34cf8c5
chore: remove mev-boost folder again
thedevbirb Oct 28, 2024
73a6fd3
Merge branch 'unstable' into lore/feat/holesky-launch
thedevbirb Oct 28, 2024
b640654
fix(holesky/docs): broken links
thedevbirb Oct 28, 2024
17dcc7f
chore(holesky/env): add BOLT_SIDECAR_ENABLE_UNSAFE_LOOKAHEAD in .env.…
thedevbirb Oct 28, 2024
b629e38
fix(holesky/docs): table of contents
thedevbirb Oct 29, 2024
a4c514a
docs(holesky): clarify order of operations
Oct 28, 2024
4c1baea
docs(holesky): callout fix
Oct 28, 2024
f0e18fa
fix(holesky/docks): broken link to contract
thedevbirb Oct 29, 2024
f55156c
docs(holesky): updates
Oct 29, 2024
c140a6e
fix(holesky/docs): toc
thedevbirb Oct 29, 2024
7bdeec5
Merge pull request #335 from chainbound/jonas/docs/updates
thedevbirb Oct 29, 2024
1d8d5bb
Merge branch 'unstable' into lore/feat/holesky-launch
thedevbirb Oct 29, 2024
5a26411
wip(registry): new storage layout with indexes
merklefruit Oct 28, 2024
d6675c8
feat: use separate validators library
merklefruit Oct 29, 2024
17a20ea
feat: upgrade validators script
merklefruit Oct 29, 2024
fe5a274
chore: added more tests
merklefruit Oct 29, 2024
c5a03ba
feat: updated libraries
merklefruit Oct 29, 2024
bec46ba
feat: update library versions
merklefruit Oct 29, 2024
240a2bd
chore: ci
merklefruit Oct 29, 2024
6f4ed59
chore: upgrade manager script
merklefruit Oct 29, 2024
eab4944
chore(contracts): forge fmt
Oct 30, 2024
89c08a6
feat(contracts): update tests
Oct 30, 2024
7997319
docs(contracts): update deployments
Oct 30, 2024
0d6e512
chore(contracts): TODO comment
Oct 30, 2024
795746d
Merge pull request #336 from chainbound/nico/feat/cheaper-unsafe-optin
Oct 30, 2024
cd71178
Merge branch 'unstable' into lore/feat/holesky-launch
thedevbirb Oct 30, 2024
2561f55
chore(holesky/docker): update bolt-mev-boost image
thedevbirb Oct 30, 2024
f0d2f88
chore(holesky): tag rc2 for bolt-sidecar
thedevbirb Oct 30, 2024
a24a599
Merge branch 'unstable' into lore/feat/holesky-launch
thedevbirb Oct 30, 2024
422003f
Merge branch 'unstable' into lore/feat/holesky-launch
thedevbirb Oct 30, 2024
44b795d
Merge branch 'unstable' into lore/feat/holesky-launch
thedevbirb Oct 30, 2024
d3560c0
Merge branch 'unstable' into lore/feat/holesky-launch
thedevbirb Oct 30, 2024
9023b10
chore(sidecar): error log
thedevbirb Oct 30, 2024
225f4d4
Merge branch 'unstable' into lore/feat/holesky-launch
thedevbirb Oct 31, 2024
eee25c7
Merge branch 'unstable' into lore/feat/holesky-launch
thedevbirb Oct 31, 2024
0eea48c
Merge branch 'unstable' into lore/feat/holesky-launch
thedevbirb Oct 31, 2024
8ea45a9
Merge branch 'unstable' into lore/feat/holesky-launch
thedevbirb Oct 31, 2024
4cbac2b
Merge branch 'unstable' into lore/feat/holesky-launch
thedevbirb Oct 31, 2024
00cc3fb
feat(cli): basefee + priority fee flags
Oct 31, 2024
1c60a41
Merge branch 'lore/feat/holesky-launch' of github.com:chainbound/bolt…
Oct 31, 2024
86dbc2f
Merge branch 'unstable' into lore/feat/holesky-launch
thedevbirb Oct 31, 2024
9e385fa
wip: logs
Oct 31, 2024
b656295
Merge branch 'unstable' into lore/feat/holesky-launch
thedevbirb Oct 31, 2024
6bd3917
Merge branch 'unstable' into lore/feat/holesky-launch
thedevbirb Oct 31, 2024
9a11980
chore(sidecar): remove extra logs
thedevbirb Oct 31, 2024
9307f14
chore: update send command impl
merklefruit Nov 1, 2024
0f660f5
chore: cleanup libraries, rm unused code
merklefruit Nov 4, 2024
1fa53fe
chore: fmt
merklefruit Nov 4, 2024
55b3c02
Merge branch 'unstable' into lore/feat/holesky-launch
thedevbirb Nov 5, 2024
aa3bc59
Merge branch 'unstable' into lore/feat/holesky-launch
thedevbirb Nov 5, 2024
0ba0f1f
fix(holesky/docs): broken symbiotic docs link
thedevbirb Nov 5, 2024
52b40ab
chore(holesky/docker): mount volumes on predefined paths
thedevbirb Nov 5, 2024
d2101e6
chore(holesky): remove defaults delegations.json file, no more needed
thedevbirb Nov 5, 2024
0679a49
chore(holesky/docs): update docs reflecting docker compose changes; r…
thedevbirb Nov 5, 2024
5072334
Merge branch 'unstable' into lore/feat/holesky-launch
thedevbirb Nov 5, 2024
114bd25
fix(holesky): mev-boost.env.example can lead to a wrong starting config
thedevbirb Nov 5, 2024
98ccd06
chore(sidecar): small nits
merklefruit Nov 6, 2024
178b142
chore(sidecar): small nits
merklefruit Nov 6, 2024
5130bee
feat(sidecar): robust generic future retry system
merklefruit Nov 6, 2024
a9e38fc
feat: rm validator indexes in favor of pubkeys
merklefruit Nov 6, 2024
3228368
chore(sidecar): add docs
merklefruit Nov 6, 2024
523d313
chore(sidecar): rm primitives todo comment
merklefruit Nov 6, 2024
9717a74
chore(sidecar): rm state fetcher todo
merklefruit Nov 6, 2024
f91d7c3
chore(ci): ignore eigenlayer docs website
merklefruit Nov 6, 2024
c6c4a32
chore: refactor sidecar modules and docs
merklefruit Nov 6, 2024
9c35be3
chore: more docs + refactor
merklefruit Nov 6, 2024
be2e6b0
feat(bolt-cli): add Dockerfile
thedevbirb Nov 7, 2024
e41c291
Merge pull request #362 from chainbound/nico/chore/refactor
thedevbirb Nov 7, 2024
82d869d
chore(holesky/pbs): update helix config
thedevbirb Nov 7, 2024
b804abb
Merge pull request #357 from chainbound/lore/fix/docker-volumes
thedevbirb Nov 7, 2024
1f310d9
Merge pull request #364 from chainbound/lore/chore/update-helix-config
merklefruit Nov 7, 2024
5b8c71a
fix: rm validator indexes in cb config file
merklefruit Nov 7, 2024
43f3b17
Merge pull request #361 from chainbound/nico/feat/solve-outstanding-t…
thedevbirb Nov 8, 2024
5d64ddf
Merge pull request #355 from chainbound/chore/cleanup-libraries
thedevbirb Nov 8, 2024
dccb14d
fix: broken link in md doc
merklefruit Nov 8, 2024
16205d2
fix!(config): remove empty environment variables set like 'VAR=' when…
thedevbirb Nov 8, 2024
4ad631f
Merge pull request #367 from chainbound/lore/fix/config
thedevbirb Nov 8, 2024
23f726e
fix: make cargo chef detect binary
merklefruit Nov 8, 2024
676e139
Merge pull request #363 from chainbound/lore/feat/bolt-cli-docker
thedevbirb Nov 8, 2024
51a46de
fix(holesky/docker): add environment variable replacement in entrypoi…
thedevbirb Nov 8, 2024
478ef10
chore(devnet): bump helix image
thedevbirb Nov 8, 2024
c2106e2
fix(sidecar): init fmt at the absolute beginning
thedevbirb Nov 8, 2024
1e5f4f2
fix(sidecar/config): missing field in Debug impl
thedevbirb Nov 8, 2024
3173638
fix(sidecar): don't remove constraints before accounting
Nov 9, 2024
3cdcaf7
chore: restore tracing in telemetry stack init
thedevbirb Nov 11, 2024
8161a72
fix(holesky/docs): docker compose command
thedevbirb Nov 11, 2024
e2bc4e1
Merge pull request #371 from chainbound/lore/fix/docker-again
thedevbirb Nov 11, 2024
22e9eb2
chore(sidecar): cleanup + remove TODOs (continue)
merklefruit Nov 8, 2024
60ec5fb
chore: eyre::Result
merklefruit Nov 11, 2024
ce968ec
Merge pull request #370 from chainbound/nico/chore/sidecar-cleanup
thedevbirb Nov 11, 2024
77c0b1b
fix: revert helix image tag to local
merklefruit Nov 11, 2024
d5a269a
chore: use alloy::hex::encode_prefixed where possible
merklefruit Nov 11, 2024
b2de942
Merge pull request #374 from chainbound/nico/chore/fixes
thedevbirb Nov 11, 2024
d2b5b9c
fix(sidecar): remove stale templates in case of missed slots
thedevbirb Nov 11, 2024
5106b45
Merge pull request #375 from chainbound/lore/fix/remove-stale-templates
merklefruit Nov 11, 2024
a749cf0
chore(holesky): bump helix image, add helix_website=debug log directive
thedevbirb Nov 12, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion bolt-cli/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ The Bolt CLI is a collection of command-line tools for interacting with Bolt pro
Prerequisites:

- [Rust toolchain][rust]
- [Protoc][protoc]
- [Protoc][protoc] (as well as `libprotobuf-dev` for some Linux distributions)

Once you have the necessary prerequisites, you can build the binary in the following way:

Expand Down
8 changes: 8 additions & 0 deletions bolt-cli/src/cli.rs
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,14 @@ pub struct SendCommand {
#[clap(long, env = "BLOB", default_value = "false")]
pub blob: bool,

/// The max fee per gas in gwei.
#[clap(long, env = "MAX_FEE")]
pub max_fee: Option<u128>,

/// The max priority fee per gas in gwei.
#[clap(long, env = "PRIORITY_FEE", default_value = "2")]
pub priority_fee: u128,

/// If set, the transaction will target the devnet environment.
/// This is only used in Kurtosis for internal testing purposes
#[clap(long, hide = true, env = "DEVNET", default_value = "false")]
Expand Down
10 changes: 9 additions & 1 deletion bolt-cli/src/commands/send.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
use std::time::Duration;

use alloy::{
consensus::{BlobTransactionSidecar, SidecarBuilder, SimpleCoder, Transaction},
consensus::{
constants::GWEI_TO_WEI, BlobTransactionSidecar, SidecarBuilder, SimpleCoder, Transaction,
},
eips::eip2718::Encodable2718,
network::{EthereumWallet, TransactionBuilder, TransactionBuilder4844},
primitives::{keccak256, Address, B256, U256},
Expand Down Expand Up @@ -73,6 +75,12 @@ impl SendCommand {
for _ in 0..self.count {
// generate a simple self-transfer of ETH
let mut req = create_tx_request(wallet.address(), self.blob);
if let Some(max_fee) = self.max_fee {
req.set_max_fee_per_gas(max_fee * GWEI_TO_WEI as u128);
}

req.set_max_priority_fee_per_gas(self.priority_fee * GWEI_TO_WEI as u128);

if let Some(next_nonce) = next_nonce {
req.set_nonce(next_nonce);
}
Expand Down
10 changes: 7 additions & 3 deletions bolt-cli/src/common/keystore.rs
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,9 @@ impl KeystoreSecret {
/// Load the keystore passwords from a directory containing individual password files.
pub fn from_directory(root_dir: &str) -> Result<Self> {
let mut secrets = HashMap::new();
for entry in fs::read_dir(root_dir)? {
for entry in fs::read_dir(root_dir)
.wrap_err(format!("failed to read secrets directory. path: {}", &root_dir))?
{
let entry = entry.wrap_err("Failed to read secrets directory entry")?;
let path = entry.path();

Expand Down Expand Up @@ -108,12 +110,14 @@ impl Drop for KeystoreSecret {
/// -- ...
/// Reference: https://github.com/chainbound/bolt/blob/4634ff905561009e4e74f9921dfdabf43717010f/bolt-sidecar/src/signer/keystore.rs#L109
pub fn keystore_paths(keys_path: &str) -> Result<Vec<PathBuf>> {
let keys_path = Path::new(keys_path).to_path_buf();
let keys_path_buf = Path::new(keys_path).to_path_buf();
let json_extension = OsString::from("json");

let mut keystores_paths = vec![];
// Iter over the `keys` directory
for entry in read_dir(keys_path)? {
for entry in read_dir(keys_path_buf)
.wrap_err(format!("failed to read keys directory. path: {keys_path}"))?
{
let path = read_path(entry)?;
if path.is_dir() {
for entry in read_dir(path)? {
Expand Down
33 changes: 20 additions & 13 deletions bolt-contracts/.gas-snapshot
Original file line number Diff line number Diff line change
Expand Up @@ -13,18 +13,25 @@ BoltChallengerTest:testProveTransactionInclusion() (gas: 176543)
BoltChallengerTest:testResolveChallengeFullDefenseSingleTx() (gas: 562694)
BoltChallengerTest:testResolveChallengeFullDefenseStackedTxs() (gas: 939716)
BoltChallengerTest:testResolveExpiredChallenge() (gas: 426457)
BoltManagerEigenLayerTest:testDeregisterOperatorFromAVS() (gas: 755578)
BoltManagerEigenLayerTest:testGetOperatorStake() (gas: 919551)
BoltManagerEigenLayerTest:testNonExistentProposerStatus() (gas: 901546)
BoltManagerEigenLayerTest:testProposerStatus() (gas: 928359)
BoltManagerEigenLayerTest:testProposersLookaheadStatus() (gas: 2221042)
BoltManagerSymbioticTest:testGetNonExistentProposerStatus() (gas: 1168685)
BoltManagerSymbioticTest:testGetProposerStatus() (gas: 1415457)
BoltManagerSymbioticTest:testProposersLookaheadStatus() (gas: 2488651)
BoltManagerSymbioticTest:testReadOperatorStake() (gas: 1448345)
BoltValidatorsTest:testUnsafeRegistration() (gas: 149361)
BoltValidatorsTest:testUnsafeRegistrationFailsIfAlreadyRegistered() (gas: 148862)
BoltValidatorsTest:testUnsafeRegistrationInvalidOperator() (gas: 22820)
BoltValidatorsTest:testUnsafeRegistrationWhenNotAllowed() (gas: 33183)
BoltManagerEigenLayerTest:testDeregisterOperatorFromAVS() (gas: 757038)
BoltManagerEigenLayerTest:testGetOperatorStake() (gas: 916622)
BoltManagerEigenLayerTest:testNonExistentProposerStatus() (gas: 902889)
BoltManagerEigenLayerTest:testProposerStatus() (gas: 927230)
BoltManagerEigenLayerTest:testProposersLookaheadStatus() (gas: 2197665)
BoltManagerSymbioticTest:testGetNonExistentProposerStatus() (gas: 1309103)
BoltManagerSymbioticTest:testGetProposerStatus() (gas: 1556603)
BoltManagerSymbioticTest:testProposersLookaheadStatus() (gas: 2632992)
BoltManagerSymbioticTest:testReadOperatorStake() (gas: 1590527)
BoltValidatorsTest:testUnsafeBatchRegistrationGasUsage() (gas: 29088733)
BoltValidatorsTest:testUnsafeRegistration() (gas: 138036)
BoltValidatorsTest:testUnsafeRegistrationFailsIfAlreadyRegistered() (gas: 135421)
BoltValidatorsTest:testUnsafeRegistrationInvalidOperator() (gas: 17352)
BoltValidatorsTest:testUnsafeRegistrationWhenNotAllowed() (gas: 12330)
BoltValidatorsV2Test:testReadRegisteredValidatorsV2() (gas: 8051)
BoltValidatorsV2Test:testUnauthorizedController() (gas: 3613)
BoltValidatorsV2Test:testUnsafeBatchRegistrationV2() (gas: 29122477)
BoltValidatorsV2Test:testUnsafeRegistrationInvalidOperatorV2() (gas: 10332)
BoltValidatorsV2Test:testUnsafeRegistrationV2() (gas: 215472)
BoltValidatorsV2Test:testUpdateMaxGasLimitV2() (gas: 4434)
TransactionDecoderTest:testDecodeAllTestCases() (gas: 0)
TransactionDecoderTest:testDecodeGasUsage() (gas: 53281)
12 changes: 6 additions & 6 deletions bolt-contracts/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ The values of these parameters can also be found in [`parameters.json`](./config

## Validator Registration: `BoltValidators`

The [`BoltValidators`](./src/contracts/BoltValidatorsV1.sol) contract is the only point of entry for
The [`BoltValidators`](./src/contracts/BoltValidatorsV2.sol) contract is the only point of entry for
validators to signal their intent to participate in Bolt Protocol and authenticate with their BLS private key.

The registration process includes the following steps:
Expand All @@ -76,7 +76,7 @@ will allow us to test the registration flow in a controlled environment.

## Bolt Network Entrypoint: `BoltManager`

The [`BoltManager`](./src/contracts/BoltManagerV1.sol) contract is a crucial component of Bolt that
The [`BoltManager`](./src/contracts/BoltManagerV2.sol) contract is a crucial component of Bolt that
integrates with restaking ecosystems Symbiotic and Eigenlayer. It manages the registration and
coordination of validators, operators, and vaults within the Bolt network.

Expand Down Expand Up @@ -156,10 +156,10 @@ request is valid according to Bolt Protocol rules. -->
| Name | Address | Notes |
| ---------------------- | -------------------- | ----------------------- |
| [`BoltParametersV1`](./src/contracts/BoltParametersV1.sol) | [0x20d1cf3A5BD5928dB3118b2CfEF54FDF9fda5c12](https://holesky.etherscan.io/address/0x20d1cf3A5BD5928dB3118b2CfEF54FDF9fda5c12) | Proxy: [`[email protected]`](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/release-v5.0/contracts/proxy/ERC1967/ERC1967Proxy.sol) |
| [`BoltValidatorsV1`](./src/contracts/BoltValidatorsV1.sol) | [0x47D2DC1DE1eFEFA5e6944402f2eda3981D36a9c8](https://holesky.etherscan.io/address/0x47D2DC1DE1eFEFA5e6944402f2eda3981D36a9c8) | Proxy: [`[email protected]`](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/release-v5.0/contracts/proxy/ERC1967/ERC1967Proxy.sol) |
| [`BoltManagerV1`](./src/contracts/BoltManagerV1.sol) | [0x440202829b493F9FF43E730EB5e8379EEa3678CF](https://holesky.etherscan.io/address/0x440202829b493F9FF43E730EB5e8379EEa3678CF) | Proxy: [`[email protected]`](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/release-v5.0/contracts/proxy/ERC1967/ERC1967Proxy.sol) |
| [`BoltEigenLayerMiddlewareV1`](./src/contracts/BoltEigenLayerMiddlewareV1.sol) | [0xa632a3e652110Bb2901D5cE390685E6a9838Ca04](https://holesky.etherscan.io/address/0xa632a3e652110Bb2901D5cE390685E6a9838Ca04) | Proxy: [`[email protected]`](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/release-v5.0/contracts/proxy/ERC1967/ERC1967Proxy.sol) |
| [`BoltSymbioticMiddlewareV1`](./src/contracts/BoltSymbioticMiddlewareV1.sol) | [0x04f40d9CaE475E5BaA462acE53E5c58A0DD8D8e8](https://holesky.etherscan.io/address/0x04f40d9CaE475E5BaA462acE53E5c58A0DD8D8e8) | Proxy: [`[email protected]`](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/release-v5.0/contracts/proxy/ERC1967/ERC1967Proxy.sol) |
| [`BoltValidatorsV2`](./src/contracts/BoltValidatorsV2.sol) | [0x47D2DC1DE1eFEFA5e6944402f2eda3981D36a9c8](https://holesky.etherscan.io/address/0x47D2DC1DE1eFEFA5e6944402f2eda3981D36a9c8) | Proxy: [`[email protected]`](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/release-v5.0/contracts/proxy/ERC1967/ERC1967Proxy.sol) |
| [`BoltManagerV2`](./src/contracts/BoltManagerV2.sol) | [0x440202829b493F9FF43E730EB5e8379EEa3678CF](https://holesky.etherscan.io/address/0x440202829b493F9FF43E730EB5e8379EEa3678CF) | Proxy: [`[email protected]`](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/release-v5.0/contracts/proxy/ERC1967/ERC1967Proxy.sol) |
| [`BoltEigenLayerMiddlewareV2`](./src/contracts/BoltEigenLayerMiddlewareV2.sol) | [0xa632a3e652110Bb2901D5cE390685E6a9838Ca04](https://holesky.etherscan.io/address/0xa632a3e652110Bb2901D5cE390685E6a9838Ca04) | Proxy: [`[email protected]`](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/release-v5.0/contracts/proxy/ERC1967/ERC1967Proxy.sol) |
| [`BoltSymbioticMiddlewareV2`](./src/contracts/BoltSymbioticMiddlewareV2.sol) | [0x04f40d9CaE475E5BaA462acE53E5c58A0DD8D8e8](https://holesky.etherscan.io/address/0x04f40d9CaE475E5BaA462acE53E5c58A0DD8D8e8) | Proxy: [`[email protected]`](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/release-v5.0/contracts/proxy/ERC1967/ERC1967Proxy.sol) |

## Testing

Expand Down
74 changes: 37 additions & 37 deletions bolt-contracts/config/holesky/deployments.json
Original file line number Diff line number Diff line change
@@ -1,38 +1,38 @@
{
"bolt": {
"validators": "0x47D2DC1DE1eFEFA5e6944402f2eda3981D36a9c8",
"parameters": "0x20d1cf3A5BD5928dB3118b2CfEF54FDF9fda5c12",
"manager": "0x440202829b493F9FF43E730EB5e8379EEa3678CF"
},
"symbiotic": {
"network": "0xb017002D8024d8c8870A5CECeFCc63887650D2a4",
"operatorRegistry": "0x6F75a4ffF97326A00e52662d82EA4FdE86a2C548",
"networkOptInService": "0x58973d16FFA900D11fC22e5e2B6840d9f7e13401",
"vaultFactory": "0x407A039D94948484D356eFB765b3c74382A050B4",
"vaultConfigurator": "0xD2191FE92987171691d552C219b8caEf186eb9cA",
"networkRegistry": "0x7d03b7343BF8d5cEC7C0C27ecE084a20113D15C9",
"networkMiddlewareService": "0x62a1ddfD86b4c1636759d9286D3A0EC722D086e3",
"middleware": "0x04f40d9CaE475E5BaA462acE53E5c58A0DD8D8e8",
"supportedVaults": [
"0xc79c533a77691641d52ebD5e87E51dCbCaeb0D78",
"0xe5708788c90e971f73D928b7c5A8FD09137010e0",
"0x11c5b9A9cd8269580aDDbeE38857eE451c1CFacd",
"0xC56Ba584929c6f381744fA2d7a028fA927817f2b",
"0xcDdeFfcD2bA579B8801af1d603812fF64c301462",
"0x91e84e12Bb65576C0a6614c5E6EbbB2eA595E10f"
]
},
"eigenLayer": {
"avsDirectory": "0x055733000064333CaDDbC92763c58BF0192fFeBf",
"delegationManager": "0xA44151489861Fe9e3055d95adC98FbD462B948e7",
"strategyManager": "0xdfB5f6CE42aAA7830E94ECFCcAd411beF4d4D5b6",
"middleware": "0xa632a3e652110Bb2901D5cE390685E6a9838Ca04",
"supportedStrategies": [
"0x7D704507b76571a51d9caE8AdDAbBFd0ba0e63d3",
"0x3A8fBdf9e77DFc25d09741f51d3E181b25d0c4E0",
"0x80528D6e9A2BAbFc766965E0E26d5aB08D9CFaF9",
"0x70EB4D3c164a6B4A5f908D4FBb5a9cAfFb66bAB6",
"0xaccc5A86732BE85b5012e8614AF237801636F8e5"
]
}
}
"bolt": {
"validators": "0x47D2DC1DE1eFEFA5e6944402f2eda3981D36a9c8",
"parameters": "0x20d1cf3A5BD5928dB3118b2CfEF54FDF9fda5c12",
"manager": "0x440202829b493F9FF43E730EB5e8379EEa3678CF"
},
"symbiotic": {
"network": "0xb017002D8024d8c8870A5CECeFCc63887650D2a4",
"operatorRegistry": "0x6F75a4ffF97326A00e52662d82EA4FdE86a2C548",
"networkOptInService": "0x58973d16FFA900D11fC22e5e2B6840d9f7e13401",
"vaultFactory": "0x407A039D94948484D356eFB765b3c74382A050B4",
"vaultConfigurator": "0xD2191FE92987171691d552C219b8caEf186eb9cA",
"networkRegistry": "0x7d03b7343BF8d5cEC7C0C27ecE084a20113D15C9",
"networkMiddlewareService": "0x62a1ddfD86b4c1636759d9286D3A0EC722D086e3",
"middleware": "0x04f40d9CaE475E5BaA462acE53E5c58A0DD8D8e8",
"supportedVaults": [
"0xc79c533a77691641d52ebD5e87E51dCbCaeb0D78",
"0xe5708788c90e971f73D928b7c5A8FD09137010e0",
"0x11c5b9A9cd8269580aDDbeE38857eE451c1CFacd",
"0xC56Ba584929c6f381744fA2d7a028fA927817f2b",
"0xcDdeFfcD2bA579B8801af1d603812fF64c301462",
"0x91e84e12Bb65576C0a6614c5E6EbbB2eA595E10f"
]
},
"eigenLayer": {
"avsDirectory": "0x055733000064333CaDDbC92763c58BF0192fFeBf",
"delegationManager": "0xA44151489861Fe9e3055d95adC98FbD462B948e7",
"strategyManager": "0xdfB5f6CE42aAA7830E94ECFCcAd411beF4d4D5b6",
"middleware": "0xa632a3e652110Bb2901D5cE390685E6a9838Ca04",
"supportedStrategies": [
"0x7D704507b76571a51d9caE8AdDAbBFd0ba0e63d3",
"0x3A8fBdf9e77DFc25d09741f51d3E181b25d0c4E0",
"0x80528D6e9A2BAbFc766965E0E26d5aB08D9CFaF9",
"0x70EB4D3c164a6B4A5f908D4FBb5a9cAfFb66bAB6",
"0xaccc5A86732BE85b5012e8614AF237801636F8e5"
]
}
}
5 changes: 0 additions & 5 deletions bolt-contracts/config/holesky/operator.json

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"strategy": "",
"token": "",
"amount": 0
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"rpc": "<scheme>://<host>:<port>",
"salt": "0x0000000000000000000000000000000000000000000000000000000000000000",
"expiry": "0x1000000000000000000000000000000000000000000000000000000000000000"
}
53 changes: 53 additions & 0 deletions bolt-contracts/script/holesky/admin/Upgrade.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,20 @@ import {Upgrades, Options} from "@openzeppelin-foundry-upgrades/src/Upgrades.sol
import {BoltParametersV1} from "../../../src/contracts/BoltParametersV1.sol";
import {BoltValidatorsV1} from "../../../src/contracts/BoltValidatorsV1.sol";
import {BoltManagerV1} from "../../../src/contracts/BoltManagerV1.sol";
import {BoltManagerV2} from "../../../src/contracts/BoltManagerV2.sol";
import {BoltEigenLayerMiddlewareV1} from "../../../src/contracts/BoltEigenLayerMiddlewareV1.sol";
import {BoltEigenLayerMiddlewareV2} from "../../../src/contracts/BoltEigenLayerMiddlewareV2.sol";
import {BoltSymbioticMiddlewareV1} from "../../../src/contracts/BoltSymbioticMiddlewareV1.sol";
import {BoltSymbioticMiddlewareV2} from "../../../src/contracts/BoltSymbioticMiddlewareV2.sol";
import {BoltValidatorsV1} from "../../../src/contracts/BoltValidatorsV1.sol";
import {BoltValidatorsV2} from "../../../src/contracts/BoltValidatorsV2.sol";
import {BoltConfig} from "../../../src/lib/Config.sol";

contract UpgradeBolt is Script {
struct Deployments {
address boltManager;
address boltParameters;
address boltValidators;
address symbioticNetwork;
address symbioticOperatorRegistry;
address symbioticOperatorNetOptIn;
Expand Down Expand Up @@ -103,6 +107,54 @@ contract UpgradeBolt is Script {
console.log("BoltSymbioticMiddleware proxy upgraded from %s to %s", opts.referenceContract, upgradeTo);
}

function upgradeBoltValidators() public {
address admin = msg.sender;
console.log("Upgrading BoltValidators with admin", admin);
// TODO: Validate upgrades with Upgrades.validateUpgrade

Options memory opts;
opts.unsafeSkipAllChecks = true;
opts.referenceContract = "BoltValidatorsV1.sol";

string memory upgradeTo = "BoltValidatorsV2.sol";

Deployments memory deployments = _readDeployments();

bytes memory initBoltValidators =
abi.encodeCall(BoltValidatorsV2.initializeV2, (admin, deployments.boltParameters));

vm.startBroadcast(admin);

Upgrades.upgradeProxy(deployments.boltValidators, upgradeTo, initBoltValidators, opts);

vm.stopBroadcast();

console.log("BoltValidators proxy upgraded from %s to %s", opts.referenceContract, upgradeTo);
}

function upgradeBoltManager() public {
address admin = msg.sender;
console.log("Upgrading BoltManager with admin", admin);
// TODO: Validate upgrades with Upgrades.validateUpgrade

Options memory opts;
opts.unsafeSkipAllChecks = true;
opts.referenceContract = "BoltManagerV1.sol";
string memory upgradeTo = "BoltManagerV2.sol";

Deployments memory deployments = _readDeployments();
bytes memory initManager =
abi.encodeCall(BoltManagerV2.initializeV2, (admin, deployments.boltParameters, deployments.boltValidators));

vm.startBroadcast(admin);

Upgrades.upgradeProxy(deployments.boltManager, upgradeTo, initManager, opts);

vm.stopBroadcast();

console.log("BoltManager proxy upgraded from %s to %s", opts.referenceContract, upgradeTo);
}

function _readDeployments() public view returns (Deployments memory) {
string memory root = vm.projectRoot();
string memory path = string.concat(root, "/config/holesky/deployments.json");
Expand All @@ -111,6 +163,7 @@ contract UpgradeBolt is Script {
return Deployments({
boltParameters: vm.parseJsonAddress(json, ".bolt.parameters"),
boltManager: vm.parseJsonAddress(json, ".bolt.manager"),
boltValidators: vm.parseJsonAddress(json, ".bolt.validators"),
symbioticNetwork: vm.parseJsonAddress(json, ".symbiotic.network"),
symbioticOperatorRegistry: vm.parseJsonAddress(json, ".symbiotic.operatorRegistry"),
symbioticOperatorNetOptIn: vm.parseJsonAddress(json, ".symbiotic.networkOptInService"),
Expand Down
4 changes: 2 additions & 2 deletions bolt-contracts/script/holesky/admin/helpers/RegisterAVS.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@ pragma solidity 0.8.25;

import {Script, console} from "forge-std/Script.sol";

import {BoltEigenLayerMiddlewareV1} from "../../../../src/contracts/BoltEigenLayerMiddlewareV1.sol";
import {BoltEigenLayerMiddlewareV2} from "../../../../src/contracts/BoltEigenLayerMiddlewareV2.sol";

contract RegisterAVS is Script {
function run() public {
address admin = msg.sender;
console.log("Running with admin address:", admin);

BoltEigenLayerMiddlewareV1 middleware = BoltEigenLayerMiddlewareV1(readMiddleware());
BoltEigenLayerMiddlewareV2 middleware = BoltEigenLayerMiddlewareV2(readMiddleware());

string memory avsURI = "https://boltprotocol.xyz/avs.json";
console.log("Setting AVS metadata URI to:", avsURI);
Expand Down
Loading
Loading