github ChainSafe/lodestar v1.44.0
Release v1.44.0

6 hours ago

Hey there Lodestar operators!! We've just released v1.44.0 and recommend you upgrade for all testnet and mainnet nodes. This release continues our progress towards the Glamsterdam (ePBS) fork and there has been a lot of development in that direction. We also made some incremental performance improvements and updated our APIs. We have also added a new experimental feature, Fast Confirmation Rule. There are two major notes that we want to highlight for you.

FCR is a relatively new feature for Ethereum, and allows for confirming blocks much, much faster than is traditionally possible. However, there are a couple of small caveats that need to be pointed out. While the spec has been thoroughly tested, the feature is still new. We recommend rigor in testing before relying on it for any substantial economic security. It is pretty good at predicting the canonical chain correctly, but there are still some kinks that are being worked out. We have some performance updates that will follow in a future release. This will help make the guarantees even more secure.

FCR is a fairly performance intensive workload. We do not recommend running this feature on production nodes. As we, and other clients, further optimize for network conditions this stipulation might no longer apply, but for now we recommend experimenting with this on nodes without mainnet validators, as there may be effectiveness degradation.

Breaking Change: The deprecated v1 block-publishing and attestation-submission beacon API endpoints have been removed (#9531, #9532). Standard validator clients already use v2, but if you run custom tooling against these v1 endpoints, migrate to v2 before upgrading Lodestar.

For the full changelog, please see:
Full Changelog

Features

Bug Fixes

  • check for slot > 0 in missedSlotVote (#9556) (@spiral-ladder)
  • forward broadcast_validation in publishBlindedBlockV2 (#9535) (@markolazic01)
  • reject bids with invalid prev_randao during gossip validation (#9533) (@nflaig)
  • clamp pivotSlot calculation to GENESIS_SLOT (#9521) (@spiral-ladder)
  • defer using proposer duties v2 to gloas (#9519) (@nflaig)
  • add fallback handler for getProposerDuties (#9518) (@twoeths)
  • ensure block in forkchoice before validate by_root payload (#9479) (@twoeths)
  • remove TOO_MANY_SKIPPED_SLOTS block error (#9484) (@twoeths)
  • ignore repeat proposal during block publishing (#9235) (@lodekeeper)
  • publish only subscribed columns from reconstruction (#9464) (@lodekeeper)
  • return resource_unavailable if requested range is before earliest_available_slot (#9454) (@twoeths)
  • prune finalized checkpoint state per processState() (#9463) (@twoeths)
  • continue past non-custody column requests in DataColumnSidecarsByRoot (#9456) (@lodekeeper)
  • use finalized block slot as envelope by range archive boundary (#9432) (@nflaig)
  • gate builder bid lookup on shouldBuildOnFull in produceBlockV4 (#9442) (@ensi321)
  • handle post-gloas empty blocks in data columns by range (#9433) (@nflaig)
  • validate execution payload bids against parent branch state (#9409) (@nflaig)
  • ignore PTC attestations for empty assigned slots (#9427) (@nflaig)
  • limit shouldBuildOnFull() checks to the previous slot (#9428) (@nflaig)
  • skip casting payload attestation when there is no block at slot (#9406) (@Ensi 321)
  • resolve PTC committee against the referenced block state (#9426) (@nflaig)
  • ignore PTC votes whose slot does not match the referenced block (#9425) (@nflaig)
  • introduce NativeBeaconStateView and simplify bindings (#9412) (@twoeths)
  • use correct regen caller for execution payload import (#9421) (@nflaig)
  • include payload_data_availability in shouldExtendPayload (#9416) (@twoeths)
  • ensure bids are for a higher slot than their parent (#9414) (@nflaig)
  • upgrade playwright to 1.60.0 to unblock browser tests CI (#9420) (@ensi321)
  • include ethrex EX client code and restore CL commit suffix in gloas graffiti (#9381) (@barnabasbusa)
  • download proposer duties for the next epoch post-fulu (#9380) (@twoeths)
  • cache pending deposit signature verifications (#9374) (@twoeths)
  • handle ptc votes from same duplicated validators (#9369) (@twoeths)

Performance

  • skip equivocation participant set when there are no equivocators (#9553) (@lodekeeper)
  • replace O(N) gossip message count getters with maintained counters (#9170) (@lodekeeper)
  • use custodyColumnsIndex for O(1) custody lookup in column reqresp (#9457) (@lodekeeper)

Refactoring

  • use number representation for Gloas ExecutionPayloadBid's gasLimit (#9528) (@markolazic01)

Continuous Integration

Tests

Maintenance

Documentation

Don't miss a new lodestar release

NewReleases is sending notifications on new releases.