Releases: berachain/beacon-kit
v0.6.2
Summary
This includes a consensus BREAKING change to Boonet that is NOT backwards compatible.
Effective changes to validator set processing are:
- The min stake (or
EjectionBalance
) is now set to 250k BERA - The
EffectiveBalanceIncrement
(not the same as minimum deposit amount on the execution layer deposit contract) is now set to 10k BERA
Breaking
This version is NOT fully compatible with bArtio. The last stable release recommended for Bartio is v0.2.0-alpha.8.
Update Priority
This table provides priorities for which classes of users should update particular components.
User Class | Bartio | Boonet | General |
---|---|---|---|
Payload Builders | Forbidden | Required | None |
Non-Payload Builders | Forbidden | Required | None |
All Changes
- chore(boonet): min stake upgrade on boonet fork 4 (#2333)
Binaries
System | Architecture | Binary | PGP Signature |
---|---|---|---|
amd64 | beacond-v0.6.2-linux-amd64 | ||
arm64 | beacond-v0.6.2-linux-arm64 | ||
arm64 | beacond-v0.6.2-darwin-arm64 | ||
System | Option | - | Resource |
Docker | berachain/beacon-kit |
v0.7.0
Summary
This includes code refactoring and new consensus BREAKING changes to Boonet that are NOT backwards compatible.
- Upgrades cosmos-sdk dependency to v0.52.0
- Using BLS keys from the upstream CometBFT library
- Enforces verification of all historical deposits in CL beacon state (requires all nodes to maintain a full unpruned set of EL deposits)
- Partial removal of generic types throughout the codebase
- Miscellaneous code cleanup
Breaking
This version is NOT fully compatible with bArtio. The last stable release recommended for Bartio is v0.2.0-alpha.8.
Update Priority
This table provides priorities for which classes of users should update particular components.
User Class | Bartio | Boonet | General |
---|---|---|---|
Payload Builders | Forbidden | Forbidden | None |
Non-Payload Builders | Forbidden | Forbidden | None |
All Changes
- chore(test): readme for e2e-test (#2316)
- fix: timeout_commit defaults to 0 in init (#2312)
- Add make lint-ci which runs all CI linters (#2314)
- chore(blobs): remove
Len
,GetSidecars
, andGet
fromBlobSidecars
(#2313) - chore(state): use passed in context from comet during process proposal verification (#2311)
- fix(blobs): Validate sidecar
KzgCommitments
and disallow sidecar omission (#2291) - chore(blobs): Validate
Index
field inBlobSidecar
during processing (#2289) - 10/n Remove BeaconBlockT and BeaconStateT generic types (#2297)
- Enable nilaway on CI and remove build tags from linters (#2310)
- Merge pull request #2309 from informalsystems/alesforz/bls-type-is-ptr
- 9/n Remove PayloadIDT generic type (#2293)
- 8/n Remove BlobSidecarT and BlobSidecarsT generic type (#2307)
- Updated go.mod and go.sum to pull latest version of cometbft.
- chore(all): update cosmos-sdk deps (#2221)
- chore(state): cleanup deposits special casing (#2304)
- feat(state-transition): add deposits root to beacon state (#2296)
- appease nilaway
- fix: remove err check for nil to address nilaway false positive
- Remove PayloadAttributesT generic type
- chore(blobs): parallelize blobSidecar header checks (#2286)
- chore(blobs): Cleanup configurable constants for BlobSidecars (#2262)
- 6/n Remove slashinginfo and slotdata (#2284)
- Moved common types back to common package
- Remove BeaconBlockBodyT generic type
- 3/n Remove ExecutionPayloadHeaderT generic type. (#2273)
- 2/n Remove ExecutionPayloadT generic type (#2272)
- 1/n Remove ExecutionAddressT generic type (#2266)
- chore(da): fix broken UT (#2278)
- Support for signed beacon block header and signature verification (#2245)
- fix(blockchain): sequential blob
Persist()
DB writes (#2258) - chore(blockchain) : non optimistic client should not request build optimistically (#2240)
- chore(deps): bump github.com/quic-go/quic-go from 0.48.1 to 0.48.2 in the go_modules group (#2217)
- nits (#2016)
- chore(deps): bump github.com/go-playground/validator/v10 from 10.22.0 to 10.23.0 (#2215)
- chore(deps): bump github.com/protolambda/zrnt from 0.32.2 to 0.32.3 (#2213)
- chore(deps): bump github.com/phuslu/log from 1.0.110 to 1.0.113 (#2212)
- 6/n: Remove WithdrawalT generic type (#2264)
- 5/n: Remove ValidatorT generic type (#2263)
- 4/n: Remove DepositT generic type (#2260)
- 3/n: Remove AttestationDataT generic type (#2259)
- 2/n: Remove ForkT generic type (#2257)
- 1/n: Remove ForkDataT generic type (#2256)
Binaries
System | Architecture | Binary | PGP Signature |
---|---|---|---|
amd64 | beacond-v0.7.0-linux-amd64 | ||
arm64 | beacond-v0.7.0-linux-arm64 | ||
arm64 | beacond-v0.7.0-darwin-arm64 | ||
System | Option | - | Resource |
Docker | berachain/beacon-kit |
v0.6.1
Summary
Includes a state machine fix to handle backwards compatibility of validator effective balances.
Breaking
This version is NOT fully compatible with bArtio. The last stable release recommended for Bartio is v0.2.0-alpha.8.
Update Priority
This table provides priorities for which classes of users should update particular components.
User Class | Bartio | Boonet | General |
---|---|---|---|
Payload Builders | Forbidden | Required | None |
Non-Payload Builders | Forbidden | Required | None |
All Changes
- fix(state-transition): make
EffectiveBalance
update backward compatible (#2261)
Binaries
System | Architecture | Binary | PGP Signature |
---|---|---|---|
amd64 | beacond-v0.6.1-linux-amd64 | ||
arm64 | beacond-v0.6.1-linux-arm64 | ||
arm64 | beacond-v0.6.1-darwin-arm64 | ||
System | Option | - | Resource |
Docker | berachain/beacon-kit |
v0.6.0
Summary
This includes code refactoring && new features that are consensus BREAKING changes to boonet
- Validator set epoch handling
- Enforce validators eth1 credentials
- Reduced non-determinism from state machine scope
- Sidecar processing hardening
- Miscellaneous internal refactoring
Breaking
This version is NOT fully compatible with bArtio. The last stable release recommended for Bartio is v0.2.0-alpha.8.
Update Priority
This table provides priorities for which classes of users should update particular components.
User Class | Bartio | Boonet | General |
---|---|---|---|
Payload Builders | Forbidden | Required | None |
Non-Payload Builders | Forbidden | Required | None |
All Changes
- chore(docs) added some docs around validation (#2248)
- Remove WithdrawalCredentialsT generic type (#2254)
- chore(boonet): Fork 3 handling (#2250)
- Remove Eth1DataT generic type (#2251)
- Fix - Permission error in E2E Testing (#2246)
- Remove BeaconBlockHeaderT generic type (#2243)
- increase lint max line-length (#2178)
- fix(blockchain): remove reachable panic in blobsidecar processing (#2244)
- Gracefully stop services on SIGTERM and SIGINT signals (#2239)
- Inherit req ctx when saving state (#2241)
- Move smaller services into BlockchainService (#2220)
- Build errors now show correct file names (#2242)
- bug(validator): Serialize StateRoot computation and sidecar production (#2237)
- fix(state-transition): enforce valid eth1 withdrawal credentials (#2231)
- feat(state-transition): make validators epochs handling close to Eth2.0 specs (#2226)
- chore: fix some function names in comment (#2229)
Binaries
System | Architecture | Binary | PGP Signature |
---|---|---|---|
amd64 | beacond-v0.6.0-linux-amd64 | ||
arm64 | beacond-v0.6.0-linux-arm64 | ||
arm64 | beacond-v0.6.0-darwin-arm64 | ||
System | Option | - | Resource |
Docker | berachain/beacon-kit |
v0.5.1
Summary
This includes various chores and fixes to boonet. The biggest change is around CLI tooling:
create-validator
cmd: The arguments are expected in the order of withdrawal address, deposit amount, current version, and genesis validator root. Using withdrawal address instead of credentials.- Before:
beacond deposit create-validator 0x0100000000000000000000007B856C6D250eED55D2D7543ae2169a1cd7f034Ad $DEPOSIT_AMOUNT $FORK_VERSION $GENESIS_VALIDATOR_ROOT --home $HOME_DIR
- After:
beacond deposit create-validator 0x7B856C6D250eED55D2D7543ae2169a1cd7f034Ad $DEPOSIT_AMOUNT $FORK_VERSION $GENESIS_VALIDATOR_ROOT --home $HOME_DIR
- Before:
add-premined-deposit
cmd: Adds a validator to the genesis file with the necessary credentials. The arguments are expected in the order of the deposit amount (in gwei) and withdrawal address. Now both deposit amount and withdrawal address are required and not flags. Both are allowed to be the 0 values.- Before with OPTIONAL --deposit-amount:
beacond genesis add-premined-deposit --deposit-amount 32000000000 --home $HOME_DIR
- After with REQUIRED deposit amount and withdrawal address args:
beacond genesis add-premined-deposit 32000000000 0x7B856C6D250eED55D2D7543ae2169a1cd7f034Ad --home $HOME_DIR
- Before with OPTIONAL --deposit-amount:
Breaking
This version is NOT fully compatible with bArtio. The last stable release recommended for Bartio is v0.2.0-alpha.8.
Update Priority
This table provides priorities for which classes of users should update particular components.
User Class | Bartio | Boonet | General |
---|---|---|---|
Payload Builders | Forbidden | Optional | None |
Non-Payload Builders | Forbidden | Optional | None |
All Changes
- fix(kurtosis): fix kurtosis enclave name when using gcp (#2205)
- fix(e2e): Allow more gas to be spent in deposits e2e test (#2223)
- chore(cli): Enforce valid withdrawal address set for
add-premined-deposit
&create-validator
(#2174) - chore(consensus) : Validate the genesis state (#2189)
- fix(state-transition): restore state sync over boonet (#2219)
- chore(state-transition): drop hollow processing for rewards and penalties (#2216)
- beacon repository refactorings and cleanup (#2204)
Binaries
System | Architecture | Binary | PGP Signature |
---|---|---|---|
amd64 | beacond-v0.5.1-linux-amd64 | ||
arm64 | beacond-v0.5.1-linux-arm64 | ||
arm64 | beacond-v0.5.1-darwin-arm64 | ||
System | Option | - | Resource |
Docker | berachain/beacon-kit |
v0.5.0
Summary
This includes bug fixes and new features that are consensus BREAKING changes to boonet
- EVM inflation minting at every beacon block
- Fixed validator set handling to improve Eth 2.0 compliance
- Add a cap on the validator set size
- Minor code refactoring and performance optimizations
Breaking
This version is NOT fully compatible with bArtio. The last stable release recommended for Bartio is v0.2.0-alpha.8.
Update Priority
This table provides priorities for which classes of users should update particular components.
User Class | Bartio | Boonet | General |
---|---|---|---|
Payload Builders | Forbidden | Required | None |
Non-Payload Builders | Forbidden | Required | None |
All Changes
- chore(forks): Set the boonet fork 2 height (#2209)
- fix(state-transitions): Make setting of eth1 deposit index backward compatible (#2202)
- fix(state-transition): fix deposit signature verification (#2208)
- chore(deps): bump the go_modules group with 2 updates (#2203)
- Use single go.mod for whole beacon-kit (#2199)
- Fix - Increase docker pull limit for E2E Testing (#2200)
- feat(blockchain): introducing validator size cap size (#2119)
- chore(forks): Handle MaxValidatorsPerWithdrawalsSweep based on planned fork upgrade (#2194)
- Add telemetry for beacon and eth version (#2176)
- fix: broken start-erigon make target (#2186)
- Typos fix (#2192)
- protect valSetByEpoch for concurrent access (#2191)
- feature(state-processor): send only validators set diffs to consensus (#2143)
- feature(state-processor): update validators
EffectiveBalance
only when epoch turns (#2142) - feat(withdrawals): Fixed withdrawal for EVM inflation per block (#2158)
- fix: endless loop if DefaultE2ETestTimeout timeout is reached (#2184)
- fix: disable go test timeout to address flaky test-e2e (#2182)
- Add telemetry for diff btw payload and consensus timestamps (#2171)
- fix(state-transitions): verify deposits against contract (#2115)
- chore(all) updated mockery to 2.49.0 (#2173)
Binaries
System | Architecture | Binary | PGP Signature |
---|---|---|---|
amd64 | beacond-v0.5.0-linux-amd64 | ||
arm64 | beacond-v0.5.0-linux-arm64 | ||
arm64 | beacond-v0.5.0-darwin-arm64 | ||
System | Option | - | Resource |
Docker | berachain/beacon-kit |
v0.4.0-alpha.0
Summary
This includes 2 consensus BREAKING changes:
- Improved execution payload timestamp formation and validation.
- Fixing EVM balance of Boonet genesis with inflation withdrawal.
Update Priority
This table provides priorities for which classes of users should update particular components.
User Class | Bartio | Boonet | General |
---|---|---|---|
Payload Builders | None | Required | None |
Non-Payload Builders | None | Required | None |
All Changes
Binaries
System | Architecture | Binary | PGP Signature |
---|---|---|---|
amd64 | beacond-v0.4.0-alpha.0-linux-amd64 | ||
arm64 | beacond-v0.4.0-alpha.0-linux-arm64 | ||
arm64 | beacond-v0.4.0-alpha.0-darwin-arm64 | ||
System | Option | - | Resource |
Docker | berachain/beacon-kit |
v0.3.0-alpha.0
Summary
Security Hardening
- Proof & Validation Security: Strengthened proof generation and validator validation checks across node API components to enhance accuracy and trustworthiness.
- Execution & State Transition Protection: Enhanced concurrency handling, error safeguards, and streamlined state transitions for smoother and safer operations.
- Optimized Dependencies & Cleanup: Updated dependencies, refactored code, and cleared redundant functions to boost performance and reduce technical debt.
Breaking
It is NOT backwards compatible with bartio-beacon-80084
genesis; it is state breaking with respect to v0.2.0-alpha.8.
Update Priority
This table provides priorities for which classes of users should update particular components.
User Class | Bartio | General |
---|---|---|
Payload Builders | None | Recommended |
Non-Payload Builders | None | Recommended |
What's Changed
- kurtosis (forge-script) : Enhancement to handle dependency from GitHub by @nidhi-singh02 in #1979
- test(proofs): consistency tests for working proof generation & verification by @calbera in #2015
- Made StoreKey singleton by @abi87 in #2018
- chore(cometBFTService): drop redundant context assignemets by @abi87 in #2020
- bet(testnet/config): Update app.toml according to the new releases by @chuck-bear in #2023
- chore(DefaultServiceOptions): minor chainID loading refactoring by @abi87 in #2022
- chore(cometBFTService): some more minor cleanups by @abi87 in #2021
- chore(all): Run make generate-check by @abi87 in #2027
- chore(CometBFTService): simplified cometBFTService Info by @abi87 in #2028
- chore(cometBFTService): simplified CometBFTService by @abi87 in #2026
- chore(primitives): renaming nits and comments fixes by @abi87 in #2030
- chore(encoding): dropped go-json direct dependency by @abi87 in #2033
- chore(all): update mockery by @abi87 in #2036
- chore(consensus-types): Dropped double allocation in NewFromSSZ by @abi87 in #2040
- chore(consensus-types): Use
EthSecp256k1CredentialPrefix
constant for clarity by @abi87 in #2039 - chore(primitives): fixed
ExecutionAddress
validation by @abi87 in #2034 - chore(primitives): dropped duplicated jwt function by @abi87 in #2037
- chore(consensus-types): Make slashings use math.Gwei by @abi87 in #2038
- chore(CometBFTService): minor InitChain cleanup by @abi87 in #2035
- chore(consensus-types): fixed proposer index type by @abi87 in #2041
- chore(primitives):
hex.String
basic cleanup by @abi87 in #2044 - chore(many): Typographical issues by @abi87 in #2032
- chore(primitives): Consolidating hex.NewString by @abi87 in #2047
- chore(execution): fixed failedBlocks concurrency by @abi87 in #2060
- chore(execution): fixed tickers stop by @abi87 in #2059
- chore(execution): protect
rpc.header
for concurrent access by @abi87 in #2058 - chore(primitives): hardened NewRootFromHex by @abi87 in #2051
- chore(primitives): Reorganized
bytes
unit tests by @abi87 in #2052 - chore(primitives): dropped primitives service types by @abi87 in #2063
- chore(all): updated mockery to v 2.46.3 by @abi87 in #2067
- chore(execution): Dropped DenebPlus redundant check by @abi87 in #2069
- chore(execution): another defer ticker fix by @abi87 in #2070
- feat(node-api): use timestamp ID instead of execution ID for proof namespace by @calbera in #2066
- fix(node-api): Use the correct id in the proof endpoints routes by @calbera in #2078
- chore(primitives): minor optimization for
PowerOfTwo
functions by @abi87 in #2081 - chore(storage): close storage iterators by @abi87 in #2077
- chore(primitives): hardened NewU256FromBigInt by @abi87 in #2079
- chore(primitives): hardened
GweiFromWei
to avoid integer truncation by @abi87 in #2080 - chore(consensus-types): Coherent
BeaconBlock
construction by @abi87 in #2082 - chore(node-api): Add json tags to returned beacon block header data by @calbera in #2084
- Fix - Update makefile to use new kurtosis repo by @gummybera in #2085
- chore(primitives): Dropped
hex.String
by @abi87 in #2048 - fix(beacon): consolidated next payload timestamp calculations by @abi87 in #2094
- chore(payload): uniform error handling for ExecutionPayload retrieval by @abi87 in #2088
- feat(node-api): proof of proposer index in beacon block by @calbera in #2099
- chore(storage): hardened db range by @abi87 in #2106
- Fix - Update erigon repo by @gummybera in #2121
- fix: let the create-validator command retrieve the loaded configuration. by @dezzeus in #2128
- chore(state-transition): Add basic unit tests by @abi87 in #2114
- chore(dep): updated mimetype dep by @abi87 in #2105
- fix(node-api): hardened node-api default address by @abi87 in #2092
- bug(cli): hardened convert amount to avoid truncation by @abi87 in #2104
- chore(da): improved blob processor encapsulation by @abi87 in #2113
- bug(state-transitions): coherent use of effective balance increment by @abi87 in #2103
- bug(state-transition): increase balance when validator balance is changed by @abi87 in #2111
- fix(execution): hardened verifyChainIDAndConnection by @abi87 in #2086
- fix(payload): guard
SendForceHeadFCU
withpb.Enabled
by @abi87 in #2087 - fix(node-api): added ValidateValidatorStatus by @abi87 in #2090
- fix(node-api): hardened
CustomValidator
validation by @abi87 in #2093 - chore(consensus-type): Fixed ExecutionPayload json marshalling by @abi87 in #2042
- fix(consensus, blockchain): set execution payload timestamp based on CometBFT timestamp by @abi87 in #2095
- perf(state-transition): reduce amount of withdrawals processed by @abi87 in #2110
- fix(consensus, beacon): hardened proposer validation by @abi87 in #2102
- fix(beacon): Hardened sidecars validation by @abi87 in #2108
- chore(state-processor): consolidated state processors UTs by @abi87 in #2136
- chore(deps): bump github.com/golang-jwt/jwt/v4 from 4.5.0 to 4.5.1 in /build/tools in the go_modules group across 1 directory by @dependabot in #2130
- chore(README): added Discord badge and minor fix by @abi87 in #2140
- test: fix e2e tests so they pass locally by @MaanavKhaitan in #2054
- fix(state-transition): skip execution payload timestamp validation on Bartio by @abi87 in #2147
- fix(state-transition): Withdrawals backward compatibility with Bartio by @abi87 in #2148
- chore: fix and execute mod tidy by @dezzeus in #2138
- fix(consensus): fix consensus height logging by @abi87 in #2149
- chore: add support for local devnet boonet by @abi87 in #2152
- chore(all): update SSZ dependencies...
v0.2.0-alpha.8
Summary
Minor upgrade, v0.2.0-alpha.7
was skipped due to an issue with CI.
Update Priority
This table provides priorities for which classes of users should update particular components.
User Class | Priority |
---|---|
Payload Builders / Validators | Low |
Non-Payload Builders / Full Nodes | Low |
What's Changed
- chore(cli): rename comment/description for start cli by @chuck-bear in #1996
- chore(testing/config): Update testing config by @chuck-bear in #2000
- chore(contracts): Remove unneeded contracts by @calbera in #1981
- feat(state-transitions): modify beacon state interface for withdrawals by @ocnc in #1997
- Fix spelling by @nnsW3 in #2003
- test(proofs): consistency tests for working proof generation & verification by @calbera in #1993
- Revert "test(proofs): consistency tests for working proof generation & verification" by @itsdevbear in #2005
- fix(cli): Re-add create validator by @itsdevbear in #2004
- feat: Add integrity check by @kalidux in #1987
- fix(cli): deposit cli args by @itsdevbear in #2006
- feat(stf): Cleanup and backport changes from berad by @itsdevbear in #2010
- Docs - Update snapshots URLs by @gummybera in #2011
- Docs: Update README by @Olexandr88 in #2009
New Contributors
- @kalidux made their first contribution in #1987
- @gummybera made their first contribution in #2011
- @Olexandr88 made their first contribution in #2009
Full Changelog: v0.2.0-alpha.6...v0.2.0-alpha.8
Binaries
System | Architecture | Binary | PGP Signature |
---|---|---|---|
amd64 | beacond-v0.2.0-alpha.8-linux-amd64 | ||
arm64 | beacond-v0.2.0-alpha.8-linux-arm64 | ||
arm64 | beacond-v0.2.0-alpha.8-darwin-arm64 | ||
System | Option | - | Resource |
Docker | berachain/beacon-kit |
v0.2.0-alpha.6
Summary
This release contains a reversion to a prior CometBFT version due to potential minor regression in CometBFT. It also contains a few other minor changes and cleanup.
Update Priority
This table provides priorities for which classes of users should update particular components.
User Class | Priority |
---|---|
Payload Builders / Validators | Low |
Non-Payload Builders / Validators | Low |
What's Changed
- chore(docs): Add berachain snapshots and fix a41 link by @corduroybera in #1975
- feat(state): Break State out of the CometBFT service by @itsdevbear in #1976
- chore(berad): unused generic by @ocnc in #1978
- feat(state): bing bong by @itsdevbear in #1977
- chore(make): reuse variables by @ocnc in #1982
- feat(beradb): withdrawals by @ocnc in #1991
- feat(beradb): storage rw by @ocnc in #1992
- chore(deps): revert cometbft to version from
v0.2.0-alpha.4
by @itsdevbear in #1994
Full Changelog: v0.2.0-alpha.5...v0.2.0-alpha.6
Binaries
System | Architecture | Binary | PGP Signature |
---|---|---|---|
amd64 | beacond-v0.2.0-alpha.6-linux-amd64 | ||
arm64 | beacond-v0.2.0-alpha.6-linux-arm64 | ||
arm64 | beacond-v0.2.0-alpha.6-darwin-arm64 | ||
System | Option | - | Resource |
Docker | berachain/beacon-kit |