It's the first release after Grandine was open-sourced. Huge thanks to @barnabasbusa, @diglos, @pk910, @yorickdowne and others who helped to shape this release by integrating Grandine in eth-docker, kurtosis, etc.
Changelist:
- Reduced log noise
- Remove subnet service messages from snapshot tests.
- Add extra error messages when payload_id was not obtained
- Create validator dir if missing when moving slashing protection interchange files. #22
- Add builder_boost_factor param to /eth/v3/validator/blocks{slot}
- Add info about tick delay in debug log
- Added hive submodule
- Fix block building in /eth/v3/validator/blocks/{slot}:
- Don't print /metrics body in logs
- Create validator if it is missing. #22
- Updated eth2_libp2p
- Don't publish blocks that are not valid in /eth/v2/beacon/blocks
- Fix incorrect choices length in attestation packing
- Refine payload preparation warn message
- Update eth2_libp2p
- Add --validator-api-token-file option for custom auth file. #8
- Separate anchor state & real genesis state:
- Split attestation packing into optimal and greedy
- Add missing metrics:
- Enable metrics in Validator API #8
- Precompute own beacon committee members for attesting, aggregating and computing beacon committee subscriptions
- Update Rust toolchain to 1.77.2, pass or suppress lints, use new features
- Move interchange backup files & slashing_protecion DB to validator_dir #22
- fix db name
- Set default graffiti
- Add commit version to application version. #23
- Remaining fixes and cleanup from feature/in-memory-db
- Print loading keys message only when validator client options are present #21
- Add
POST /eth/v2/beacon/blocks
endpoint with broadcast_validation field stubbed - Compound sync committee rewards in SlotReport
- Make signer lockless: substitute
RwLock
withArcSwap
- Rewrite CI workflow to match scripts/ci/ci.sh
- Update IGNORED_GLOBS in scripts/ci/consensus-spec-tests-coverage.rb to pass CI
- scripts/ci/ci.sh: Do not try to update eth2-cache submodule
- scripts/ci/ci.sh: Do not run Tarpaulin
- Add tick delay metrics
- Remove validation checks that prevent inclusion of self-incriminating slashings into proposed block
- Add eth2-cache to .gitignore
- Reduced blob sidecar log verbosity
- Moved Grandine book to this repo
- Use head state in validator API #8
- Serialize validator API error messages in response #8
- Remote key manager:
- Add /eth/v1/validator/{pubkey}/voluntary_exit endpoint
- Refine key load from Web3Signer messages
- Fix issue with Web3Signer keys not being reloaded after failed initial load
- Correctly propagate PoolAdditionOutcome to HTTP response
- Added build script for 'minimal' config
- Reload validator public keys from Web3Signer instances on each epoch if previously failed to load or CLI option is set
- typo fix
- Unify dockerfiles
- Added basic Github workflow build #20
- Added sort to greedy attestation packing
- Fixes for passing tests:
- Update validator API command line tests
- Move Keymanager API to Validator API (#8).
- Use genesis_fork_version from ChainConfig in /eth/v1/beacon/genesis
- Support keystore files with no extension (#21).
- Allow to specify
--boot-nodes
,--features
and other CLI params separated by comma - Run clippy check script with
--features eth2-cache
flag. - Reduced and logging verbosity #19
- Added Dockerfile with build instructions (#17)
- Download genesis beacon states for testnets from network instead of loading from
eth2-cache
(#16). - Genesis