Lodestar Versions Save

🌟 TypeScript Implementation of Ethereum Consensus

v1.14.0-rc.0

4 months ago

Changelog

Full Changelog

Features

  • schedule deneb on goerli (#6254) (@g11tech)
  • implement new state caches (#6176) (@tuyennhv)
  • allow validator to request blinded versions for locally produced and selected blocks (#6227) (@g11tech)
  • add workflow_dispatch to docs (#6235) (@matthewkeil)
  • implement blob sidecars with inclusion proof instead of signtaures (#6089) (@g11tech)
  • add response headers to produceBlockV3 (#6228) (@ensi321)
  • optimistically verify blocks even before all blobs available (#6087) (@g11tech)

Bug Fixes

  • remove invalid workflow step (#6246) (@matthewkeil)
  • correct createFromState() with cached current shuffling (#6240) (@tuyennhv)
  • fix block value calculation in produceBlockV3 (#6207) (@ensi321)
  • track jobItemWorkReq function time (#6203) (@tuyennhv)

Refactoring

  • type safe metric labels (#6201) (@nflaig)

Dependencies

  • update bls-keystore to v3.0.0 (#6253) (@nflaig)
  • upgrade vitest (#6237) (@nazarhussain)

Tests

  • migrate types unit tests to vitest (#6224) (@nazarhussain)
  • migrate light-client tests to vitest (#6221) (@nazarhussain)
  • migrate logger tests to vitest (#6220) (@nazarhussain)
  • fix flaky e2e tests (#6231) (@nflaig)
  • migrate utils tests to vitest (#6225) (@nazarhussain)
  • migrate fork-choice unit tests to vitest (#6216) (@nazarhussain)
  • migrate params tests to vitest (#6217) (@nazarhussain)
  • migrate config unit tests to vitest (#6213) (@nazarhussain)
  • migrate flare unit tests to vitest (#6215) (@nazarhussain)
  • migrate db unit tests to vitest (#6214) (@nazarhussain)
  • introduce beacon api test ignore list (#6171) (@jeluard)
  • migrate reqresp unit tests to vitest (#6191) (@nazarhussain)
  • migrate cli unit/e2e tests to vitest (#6192) (@nazarhussain)

Maintenance

  • blob inclusion proof PR cleanup (#6239) (@g11tech)
  • fix yarn install warnings related to vitest (#6232) (@nflaig)
  • merge v1.13 stable back to unstable (#6218) (@philknows)
  • add preHandler hook to fastify (#6210) (@tuyennhv)
  • epoch transition by steps panel (#6205) (@tuyennhv)

Documentation

  • add crawler verification (#6234) (@matthewkeil)
  • fix typo in networking.md (#6243) (@leonarddt05)
  • fix docs links (#6233) (@matthewkeil)

v1.13.0

5 months ago

Happy holidays everyone! We've released our hopefully last release for 2023 with v1.13.0! We recommend users upgrade for some performance and user improvements. Some of which are highlighted below:

  • Lodestar now logs info about your connected service URLs. This is especially useful for users using Lodestar with multiple/fallback services to know on startup what they’re connected to.

  • PR #6132 now allows for voluntary exits by remote signers. Previously, Lodestar only allowed voluntary exits from locally imported keystores.

  • We previously did not include Eth-Consensus-Version header as part of our getStateV2 and getBlockV2 responses as per the Beacon-APIs spec. We are continuing to address this and are refactoring our SSZ API responses also for inclusion on the BlockV3 endpoint.

  • We’ve done a big refactor in our docs and will continue to build it with more context and education for Ethereum users, starting with PR #6134.

  • We cleared up usage of the --builder.url. We do not support multiple connected builders and will only use the first URL attached. If multiple URLs are supplied, it will now throw an error.

Other fixes include performance improvements such as implementing a shuffling cache (PR #6030) to verify attestations rather than using the state cache and regen, and improvements on how we process slashings (PR #6121).

Changelog

Full Changelog

Features

  • track epoch transition steps time in metrics (#6143) (@tuyennhv)
  • add consensus_block_value to produceBlockV3 (#6136) (@ensi321)
  • more insight when publishing blocks (#6166) (@tuyennhv)
  • libp2p-gossipsub v10.1.1 (#6156) (@tuyennhv)
  • allow configuring broadcast validation on validator for proposals (#6151) (@g11tech)
  • implement consensus broadcastValidation and set it to default (#6149) (@g11tech)
  • support remote signer in voluntary exit command (#6132) (@eth2353)
  • improve processSlashings (#6121) (@tuyennhv)
  • implement shuffling cache (#6030) (@tuyennhv)
  • write heap snapshot to network/discv5 thread (#6130) (@tuyennhv)
  • support "input" param for verifiable tx (cont.) (#6101) (@rdvorkin)
  • print out URLs of connected services (#6099) (@nflaig)

Bug Fixes

  • improve compute new state root when producing block (#6195) (@tuyennhv)
  • pass user credentials to events http client (#6179) (@nflaig)
  • sanitize URL to prevent leaking user credentials in logs (#6175) (@nflaig)
  • clone attestations for block inclusion (#6174) (@tuyennhv)
  • do not uri-encode Basic Auth header contents (#6155) (@jshufro)
  • producedBlindedBlockRoot metric typo (#6153) (@tuyennhv)
  • set consensus version header in state and block response (#6152) (@nflaig)
  • prevent low peer count warning on startup (#6150) (@nflaig)
  • bound AttesterSlashing instances when producing block (#6139) (@tuyennhv)
  • add log for blockroot being signed for debugging proposal failures (#6147) (@g11tech)
  • include slot in block error metadata (#6146) (@nflaig)
  • remove duties when deleting remote key via keymanager (#6141) (@nflaig)
  • logtrace produced cache population for blinded block assembly (#6131) (@g11tech)
  • hexToBuffer bug (#6098) (@orenyomtov)
  • log useProduceBlockV3 default value instead of undefined (#6125) (@nflaig)
  • remove unused gossip block metrics from network core (#6120) (@nflaig)
  • only transfer cache at epoch transition (#6102) (@tuyennhv)
  • avoid leaky event handler in waitForCheckpointState (#6096) (@tuyennhv)
  • transfer cache in prepareNextSlot epoch transition (#6068) (@tuyennhv)

Build System

  • add build workflow for debug nodejs (#6103) (@nazarhussain)

Continuous Integration

  • update the core-dump pattern with a path suffix (#6142) (@nazarhussain)

Tests

  • migrate state-transition unit tests to vitest (#6173) (@nazarhussain)
  • migrate api unit tests to vitest (#6177) (@nazarhussain)
  • fix flaky sim tests (#6163) (@nazarhussain)
  • add retry option for segfault (#6161) (@nazarhussain)
  • fix the benchmark tests (#6160) (@nazarhussain)
  • add performance benchmarks for the phase0 block attributes (#6145) (@nazarhussain)
  • enable coredump for the unit tests (#6107) (@nazarhussain)
  • add tests for utils (#6109) (@murrayee)
  • prover: move tests for prover to vitest (#6074) (@nazarhussain)

Maintenance

  • release v1.13.0 (#6204) (@philknows)
  • update flag to pass builder url (#6190) (@nflaig)
  • log block transition steps in publishBlock api (#6199) (@tuyennhv)
  • fix yarn.lock diff (#6169) (@nflaig)
  • consistently include code in block error metadata (#6148) (@nflaig)
  • update external signer configuration errors (#6140) (@nflaig)
  • merge stable v1.12 back to unstable (#6100) (@philknows)
  • add reference to attestation summary metric explainer (#6092) (@nflaig)
  • log precomputed checkpoint state hits (#6097) (@tuyennhv)
  • networks: update gnosis bootnodes (#6164) (@4rgon4ut)

Documentation

  • update docsgen scripting and add new docs content (#6134) (@matthewkeil)
  • improve prerequisites for OSX users (#6157) (@jeluard)
  • update broken annotated spec link (#6126) (@jeluard)

v1.13.0-rc.1

5 months ago

Changelog

Full Changelog

Features

  • track epoch transition steps time in metrics (#6143) (@tuyennhv)
  • add consensus_block_value to produceBlockV3 (#6136) (@naviechan)
  • more insight when publishing blocks (#6166) (@tuyennhv)
  • libp2p-gossipsub v10.1.1 (#6156) (@tuyennhv)
  • allow configuring broadcast validation on validator for proposals (#6151) (@g11tech)
  • implement consensus broadcastValidation and set it to default (#6149) (@g11tech)
  • support remote signer in voluntary exit command (#6132) (@eth2353)
  • improve processSlashings (#6121) (@tuyennhv)
  • implement shuffling cache (#6030) (@tuyennhv)
  • write heap snapshot to network/discv5 thread (#6130) (@tuyennhv)
  • support "input" param for verifiable tx (cont.) (#6101) (@rdvorkin)
  • print out URLs of connected services (#6099) (@nflaig)

Bug Fixes

  • improve compute new state root when producing block (#6195) (@tuyennhv)
  • pass user credentials to events http client (#6179) (@nflaig)
  • sanitize URL to prevent leaking user credentials in logs (#6175) (@nflaig)
  • clone attestations for block inclusion (#6174) (@tuyennhv)
  • do not uri-encode Basic Auth header contents (#6155) (@jshufro)
  • producedBlindedBlockRoot metric typo (#6153) (@tuyennhv)
  • set consensus version header in state and block response (#6152) (@nflaig)
  • prevent low peer count warning on startup (#6150) (@nflaig)
  • bound AttesterSlashing instances when producing block (#6139) (@tuyennhv)
  • add log for blockroot being signed for debugging proposal failures (#6147) (@g11tech)
  • include slot in block error metadata (#6146) (@nflaig)
  • remove duties when deleting remote key via keymanager (#6141) (@nflaig)
  • logtrace produced cache population for blinded block assembly (#6131) (@g11tech)
  • hexToBuffer bug (#6098) (@orenyomtov)
  • log useProduceBlockV3 default value instead of undefined (#6125) (@nflaig)
  • remove unused gossip block metrics from network core (#6120) (@nflaig)
  • only transfer cache at epoch transition (#6102) (@tuyennhv)
  • avoid leaky event handler in waitForCheckpointState (#6096) (@tuyennhv)
  • transfer cache in prepareNextSlot epoch transition (#6068) (@tuyennhv)

Build System

  • add build workflow for debug nodejs (#6103) (@nazarhussain)

Continuous Integration

  • update the core-dump pattern with a path suffix (#6142) (@nazarhussain)

Tests

  • migrate state-transition unit tests to vitest (#6173) (@nazarhussain)
  • migrate api unit tests to vitest (#6177) (@nazarhussain)
  • fix flaky sim tests (#6163) (@nazarhussain)
  • add retry option for segfault (#6161) (@nazarhussain)
  • fix the benchmark tests (#6160) (@nazarhussain)
  • add performance benchmarks for the phase0 block attributes (#6145) (@nazarhussain)
  • enable coredump for the unit tests (#6107) (@nazarhussain)
  • add tests for utils (#6109) (@murrayee)
  • prover: move tests for prover to vitest (#6074) (@nazarhussain)

Maintenance

  • update flag to pass builder url (#6190) (@nflaig)
  • log block transition steps in publishBlock api (#6199) (@tuyennhv)
  • fix yarn.lock diff (#6169) (@nflaig)
  • consistently include code in block error metadata (#6148) (@nflaig)
  • update external signer configuration errors (#6140) (@nflaig)
  • merge stable v1.12 back to unstable (#6100) (@philknows)
  • add reference to attestation summary metric explainer (#6092) (@nflaig)
  • log precomputed checkpoint state hits (#6097) (@tuyennhv)
  • networks: update gnosis bootnodes (#6164) (@4rgon4ut)

Documentation

  • update docsgen scripting and add new docs content (#6134) (@matthewkeil)
  • improve prerequisites for OSX users (#6157) (@jeluard)
  • update broken annotated spec link (#6126) (@jeluard)

v1.13.0-rc.0

5 months ago

Changelog

Full Changelog

Features

  • track epoch transition steps time in metrics (#6143) (@tuyennhv)
  • add consensus_block_value to produceBlockV3 (#6136) (@naviechan)
  • more insight when publishing blocks (#6166) (@tuyennhv)
  • libp2p-gossipsub v10.1.1 (#6156) (@tuyennhv)
  • allow configuring broadcast validation on validator for proposals (#6151) (@g11tech)
  • implement consensus broadcastValidation and set it to default (#6149) (@g11tech)
  • support remote signer in voluntary exit command (#6132) (@eth2353)
  • improve processSlashings (#6121) (@tuyennhv)
  • implement shuffling cache (#6030) (@tuyennhv)
  • write heap snapshot to network/discv5 thread (#6130) (@tuyennhv)
  • support "input" param for verifiable tx (cont.) (#6101) (@rdvorkin)
  • print out URLs of connected services (#6099) (@nflaig)

Bug Fixes

  • pass user credentials to events http client (#6179) (@nflaig)
  • sanitize URL to prevent leaking user credentials in logs (#6175) (@nflaig)
  • clone attestations for block inclusion (#6174) (@tuyennhv)
  • do not uri-encode Basic Auth header contents (#6155) (@jshufro)
  • producedBlindedBlockRoot metric typo (#6153) (@tuyennhv)
  • set consensus version header in state and block response (#6152) (@nflaig)
  • prevent low peer count warning on startup (#6150) (@nflaig)
  • bound AttesterSlashing instances when producing block (#6139) (@tuyennhv)
  • add log for blockroot being signed for debugging proposal failures (#6147) (@g11tech)
  • include slot in block error metadata (#6146) (@nflaig)
  • remove duties when deleting remote key via keymanager (#6141) (@nflaig)
  • logtrace produced cache population for blinded block assembly (#6131) (@g11tech)
  • hexToBuffer bug (#6098) (@orenyomtov)
  • log useProduceBlockV3 default value instead of undefined (#6125) (@nflaig)
  • remove unused gossip block metrics from network core (#6120) (@nflaig)
  • only transfer cache at epoch transition (#6102) (@tuyennhv)
  • avoid leaky event handler in waitForCheckpointState (#6096) (@tuyennhv)
  • transfer cache in prepareNextSlot epoch transition (#6068) (@tuyennhv)

Build System

  • add build workflow for debug nodejs (#6103) (@nazarhussain)

Continuous Integration

  • update the core-dump pattern with a path suffix (#6142) (@nazarhussain)

Tests

  • migrate api unit tests to vitest (#6177) (@nazarhussain)
  • fix flaky sim tests (#6163) (@nazarhussain)
  • add retry option for segfault (#6161) (@nazarhussain)
  • fix the benchmark tests (#6160) (@nazarhussain)
  • add performance benchmarks for the phase0 block attributes (#6145) (@nazarhussain)
  • enable coredump for the unit tests (#6107) (@nazarhussain)
  • add tests for utils (#6109) (@murrayee)
  • prover: move tests for prover to vitest (#6074) (@nazarhussain)

Maintenance

  • fix yarn.lock diff (#6169) (@nflaig)
  • consistently include code in block error metadata (#6148) (@nflaig)
  • update external signer configuration errors (#6140) (@nflaig)
  • merge stable v1.12 back to unstable (#6100) (@philknows)
  • add reference to attestation summary metric explainer (#6092) (@nflaig)
  • log precomputed checkpoint state hits (#6097) (@tuyennhv)
  • networks: update gnosis bootnodes (#6164) (@4rgon4ut)

Documentation

  • update docsgen scripting and add new docs content (#6134) (@matthewkeil)
  • improve prerequisites for OSX users (#6157) (@jeluard)
  • update broken annotated spec link (#6126) (@jeluard)

v1.12.1

5 months ago

Update on v1.12: We've just released a v1.12.1 patch for users to upgrade. A post-mortem on the v1.12.0 issue can be found here on Twitter: https://x.com/lodestar_eth/status/1734628608595878309. We highly recommend users upgrade to this release if you are using v1.12.0. Please continue to report any additional issues or findings to our Discord, Thanks for your patience!

Changelog

Full Changelog

Features

  • libp2p-gossipsub v10.1.1 (#6156) (@tuyennhv)
  • more insight when publishing blocks (#6166) (@tuyennhv)
  • allow configuring broadcast validation on validator for proposals (#6151) (@g11tech)
  • implement consensus broadcastValidation and set it to default (#6149) (@g11tech)

Bug Fixes

  • clone attestations for block inclusion (#6174) (@tuyennhv)
  • add log for blockroot being signed for debugging proposal failures (#6147) (@g11tech)
  • logtrace produced cache population for blinded block assembly (#6131) (@g11tech)

Maintenance

  • v1.12.1 release (#6144) (@philknows)

v1.12.1-rc.4

5 months ago

Changelog

Full Changelog

Features

  • more insight when publishing blocks (#6166) (@tuyennhv)
  • allow configuring broadcast validation on validator for proposals (#6151) (@g11tech)
  • implement consensus broadcastValidation and set it to default (#6149) (@g11tech)

Bug Fixes

  • clone attestations for block inclusion (#6174) (@tuyennhv)
  • add log for blockroot being signed for debugging proposal failures (#6147) (@g11tech)
  • logtrace produced cache population for blinded block assembly (#6131) (@g11tech)

v1.12.1-rc.3

5 months ago

Changelog

Full Changelog

Features

  • more insight when publishing blocks (#6166) (@tuyennhv)
  • allow configuring broadcast validation on validator for proposals (#6151) (@g11tech)
  • implement consensus broadcastValidation and set it to default (#6149) (@g11tech)

Bug Fixes

  • add log for blockroot being signed for debugging proposal failures (#6147) (@g11tech)
  • logtrace produced cache population for blinded block assembly (#6131) (@g11tech)

v1.12.1-rc.2

6 months ago

Changelog

Full Changelog

Features

  • allow configuring broadcast validation on validator for proposals (#6151) (@g11tech)
  • implement consensus broadcastValidation and set it to default (#6149) (@g11tech)

Bug Fixes

  • add log for blockroot being signed for debugging proposal failures (#6147) (@g11tech)
  • logtrace produced cache population for blinded block assembly (#6131) (@g11tech)

v1.12.1-rc.1

6 months ago

Changelog

Full Changelog

Bug Fixes

  • add log for blockroot being signed for debugging proposal failures (#6147) (@g11tech)
  • logtrace produced cache population for blinded block assembly (#6131) (@g11tech)

v1.12.1-rc.0

6 months ago

Changelog

Full Changelog

Bug Fixes

  • logtrace produced cache population for blinded block assembly (#6131) (@g11tech)