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

chore: v1.22.0 release #7083

Merged
merged 100 commits into from
Sep 17, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
100 commits
Select commit Hold shift + click to select a range
a0f16eb
chore: bump ssz dependencies (#7007)
wemeetagain Aug 7, 2024
5347b11
Merge branch 'stable' into unstable
nflaig Aug 8, 2024
6663684
chore: post release updates (#7013)
nflaig Aug 9, 2024
64fe1db
fix: improve sync pubkeys (#7010)
twoeths Aug 9, 2024
9c62011
chore: update docker build actions (#7014)
nflaig Aug 13, 2024
44b2156
fix: reuse Buffer instance (#7016)
twoeths Aug 13, 2024
20c18ad
fix: use toRootHex where applicable (#7021)
twoeths Aug 15, 2024
550c349
chore(deps): bump axios from 1.6.0 to 1.7.4 (#7020)
dependabot[bot] Aug 15, 2024
6f470f8
fix: return 404 error if no sync committee contribution is available …
nflaig Aug 18, 2024
4ea7edd
chore: update license on state-transition (#7037)
philknows Aug 19, 2024
6d01593
chore: update keymanager spec tests to run against v1.1.0 (#7044)
nflaig Aug 22, 2024
5d2e1a7
chore: generate funding.json for OP RPGF (#7051)
philknows Aug 26, 2024
d87e637
feat: placeholder PR for electra
g11tech Jan 24, 2024
7f3ede7
feat: implement EIP-6110 (#6042)
ensi321 Feb 19, 2024
3eeb006
chore: fix CI failure due to recent merge from `unstable` (#6646)
ensi321 Apr 12, 2024
4b707a9
feat: implement execution layer exits eip 7002 (#6651)
g11tech Apr 22, 2024
a656c69
chore: update spec test version for electra fork (#6717)
ensi321 May 1, 2024
bef3eff
feat: add presets and ssz types for EIP-7549 (#6715)
ensi321 May 4, 2024
8a4c657
chore: fix the rebase build (#6735)
g11tech May 4, 2024
8db4ada
feat: upgrade 7002 exits to withdrawal request (#6736)
g11tech May 5, 2024
244dc88
feat: implement maxEB EIP-7251 (#6539)
ensi321 May 7, 2024
a145d2d
feat: beacon node process electra attestations EIP-7549 (#6738)
ensi321 May 7, 2024
8e15350
feat: handle the EL payload sending data in deposit requests instead …
g11tech May 8, 2024
84cf396
feat: implement EIP-7549 (#6689)
ensi321 May 8, 2024
09e7510
fix: attestation pool for electra (#6744)
twoeths May 8, 2024
0893276
feat: update engineapi endpoints to v4 (#6747)
g11tech May 8, 2024
2b0ec12
feat: rename deposit receipt to deposit request for Pectra (#6748)
ensi321 May 8, 2024
3cf76cb
test: enable spec tests related to eip-7549 (#6741)
nazarhussain May 8, 2024
a0fff8f
fix: fix e2e test in electra-fork (#6751)
ensi321 May 8, 2024
15b7cdf
feat: get the basic integration working with the ethereumjs electra b…
g11tech May 8, 2024
9f599f3
feat: apply some fixes and hacks to get the single node devnet workin…
g11tech May 9, 2024
c34eac7
fix: get aggregate and proofs signature sets (#6757)
twoeths May 10, 2024
81e7682
test(spec): fix attestors slashing specs for electra fork (#6758)
nazarhussain May 10, 2024
f2be317
chore: fix types and lint (#6750)
g11tech May 13, 2024
6393d0a
fix: fix electra genesis spec test (#6764)
ensi321 May 14, 2024
55567db
feat: support missing electra spec test (#6765)
ensi321 May 14, 2024
8108016
test: fix ssz types in fork_choice spec tests (#6767)
nflaig May 14, 2024
52be86e
chore: update EffectiveBalanceIncrements type (#6763)
jeluard May 14, 2024
9bd982c
Fix ssz_static
ensi321 May 14, 2024
dc2a197
fix: inline sourcemaps to help with debugging (#6768)
matthewkeil May 14, 2024
3e6990a
fix: additional epoch calculation logic for consolidation churn (#6770)
nazarhussain May 14, 2024
bd1bb6c
fix: electra fork transition spec tests (#6769)
twoeths May 14, 2024
f0eab38
test: fix ssz_static spec tests for all forks (#6771)
nflaig May 14, 2024
65b6827
chore(spec): remove the skip specs for electra (#6772)
nazarhussain May 14, 2024
7f2a77a
fix: use mutable validator object (#6774)
ensi321 May 14, 2024
486a766
test: fix balance spec tests (#6777)
matthewkeil May 14, 2024
f82b355
fix: effective balance cache is not in sync with validator effective …
ensi321 May 14, 2024
1d57ac7
fix: make electra-fork passes lint and check-types (#6785)
ensi321 May 16, 2024
edc396e
fix: update data format of WithdrawalRequestV1 (#6789)
nflaig May 16, 2024
943c913
fix: publish attestations with non-zero committee index (#6790)
ensi321 May 16, 2024
7a50b6f
fix: validator monitor summaries should not render during epoch 0 (#6…
ensi321 May 16, 2024
d490b41
fix: attestation duty validation (#6792)
ensi321 May 16, 2024
296ce19
fix: align BeaconBlockBody and BlindedBeaconBlockBody (#6782)
wemeetagain May 16, 2024
7b76bfc
test: improve ssz tests consistency (#6776)
jeluard May 16, 2024
dbd6a49
fix: batch validation for electra attestations (#6788)
twoeths May 16, 2024
9db912a
fix: update withdrawal request container to match consensus spec (#6797)
nflaig May 16, 2024
23868c6
fix: get seen AttData key from SignedAggregateAndProof electra (#6802)
twoeths May 17, 2024
bd5c8b7
test: only skip ssz_static tests associated to missing type (#6798)
nflaig May 23, 2024
3d19cb4
chore: types and lint fixes (#6819)
g11tech May 25, 2024
e75d906
feat: add engine_getPayloadBodiesByHash and ByRange V2 (#6852)
ensi321 Jun 8, 2024
d87de02
fix: align WithdrawalRequestV1 field names with latest spec (#6877)
nflaig Jun 12, 2024
44e0041
feat: move attestation committee at the end of attestation (#6883)
ensi321 Jun 14, 2024
43fe8de
rebase fixes
g11tech Jun 19, 2024
4dfe326
feat: handle exited/exiting validators during top up (#6880)
ensi321 Jun 21, 2024
39edbfd
feat: add EL triggered consolidation and remove `ExecutionLayer` pref…
ensi321 Jun 21, 2024
12d7689
feat: support electra devnet-1 (#6892)
ensi321 Jun 25, 2024
1d9c3a3
fix: electra rebase fixes on the new generic typing model
g11tech Jun 25, 2024
5e7bf4c
feat: add and parse consolidation requests from engine api
g11tech Jul 1, 2024
08445fd
feat: make produce block/signed block contents api multifork
g11tech Jul 1, 2024
3a98b2f
fix: electra rebase fixes on the allforks type refactor
g11tech Jul 1, 2024
371e962
chore: rebase fixes
g11tech Jul 30, 2024
5f9f223
feat: add Electra attestation V2 endpoints (#6951)
ensi321 Aug 5, 2024
e5cda9c
Update packages/beacon-node/src/chain/validation/aggregateAndProof.ts
ensi321 Aug 6, 2024
da0f40c
fix: fix the devnet2 bug of invalid stateroot calc post consolidation
g11tech Aug 7, 2024
dc4fa9e
chore: further rebase fixes to unstable
g11tech Aug 9, 2024
ce6a0c7
fix: cached balances in epoch transition (#7018)
twoeths Aug 13, 2024
4b2f34b
chore: review electra branch - part 1 (#7015)
nflaig Aug 13, 2024
9c86957
chore: review electra branch - part 2 (#7019)
nflaig Aug 13, 2024
a157b55
feat: support post-electra attestation and attester slashing events (…
nflaig Aug 15, 2024
7d900c5
feat: pre-electra support from attestation pool (#6998)
ensi321 Aug 16, 2024
3918aae
fix: use attestation v1 endpoints pre-electra (#7024)
nflaig Aug 17, 2024
5fd2d09
fix: use correct partial withdrawal index to evaluate processing them
g11tech Aug 20, 2024
23fb9fb
fix: ssz v0.17.1 (#7035)
twoeths Aug 20, 2024
cb7878b
chore: rebase fixes
g11tech Aug 23, 2024
8ccbed7
chore: fix api handler used during testing (#7047)
nflaig Aug 23, 2024
ed18ff0
fix: improve processEffectiveBalanceUpdates (#7043)
twoeths Aug 27, 2024
7fe30b4
fix: perf test relative import from state-transition (#7055)
matthewkeil Aug 28, 2024
03f7396
fix: use next epoch for pending balance/consolidations processing (#7…
g11tech Aug 28, 2024
a7286bd
feat: electra fork (#6986)
wemeetagain Aug 28, 2024
21afb72
chore: relax node version restriction in package.json (#7062)
nflaig Aug 30, 2024
19ac678
feat: implement isomorphic utils for nodejs and browser (#7060)
twoeths Aug 30, 2024
ef99ed7
fix: toPubkeyHex (#7065)
twoeths Sep 4, 2024
681bdcd
fix: improve performance of getExpectedWithdrawals (#7045)
twoeths Sep 4, 2024
4e22884
fix: improve regen state (#7033)
twoeths Sep 4, 2024
fe6c4ac
feat: archive state using BufferPool if provided (#7042)
twoeths Sep 5, 2024
b05c93e
feat: include more details in validator attestation logs (#7064)
nflaig Sep 5, 2024
0e79d29
feat: rename getValidatorMaxEffectiveBalance (#7070)
ensi321 Sep 9, 2024
cbc00c7
feat: add util to diff ssz objects (#7041)
matthewkeil Sep 9, 2024
6c1e335
fix: single state tree at start up (#7056)
twoeths Sep 10, 2024
94288e9
chore: bump package versions to 1.22.0
philknows Sep 10, 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
6 changes: 3 additions & 3 deletions .github/workflows/publish-dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -112,12 +112,12 @@ jobs:
- uses: actions/checkout@v4
# https://github.com/docker/setup-qemu-action
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
uses: docker/setup-qemu-action@v3
# https://github.com/docker/setup-buildx-action
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
uses: docker/setup-buildx-action@v3
- name: Login to Docker Hub
uses: docker/login-action@v1
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
Expand Down
11 changes: 6 additions & 5 deletions .github/workflows/publish-rc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -114,10 +114,11 @@ jobs:
# In case of failure
- name: Rollback on failure
if: failure()
uses: author/action-rollback@9ec72a6af74774e00343c6de3e946b0901c23013
uses: author/action-rollback@1.0.4
with:
id: ${{ steps.create_release.outputs.id }}
release_id: ${{ steps.create_release.outputs.id }}
tag: ${{ needs.tag.outputs.tag }}
delete_orphan_tag: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Expand All @@ -131,12 +132,12 @@ jobs:
- run: scripts/await-release.sh ${{ needs.tag.outputs.tag }} rc 900
# https://github.com/docker/setup-qemu-action
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
uses: docker/setup-qemu-action@v3
# https://github.com/docker/setup-buildx-action
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
uses: docker/setup-buildx-action@v3
- name: Login to Docker Hub
uses: docker/login-action@v1
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
Expand Down
11 changes: 6 additions & 5 deletions .github/workflows/publish-stable.yml
Original file line number Diff line number Diff line change
Expand Up @@ -104,10 +104,11 @@ jobs:
# In case of failure
- name: Rollback on failure
if: failure()
uses: author/action-rollback@9ec72a6af74774e00343c6de3e946b0901c23013
uses: author/action-rollback@1.0.4
with:
id: ${{ steps.create_release.outputs.id }}
release_id: ${{ steps.create_release.outputs.id }}
tag: ${{ needs.tag.outputs.tag }}
delete_orphan_tag: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Expand All @@ -131,12 +132,12 @@ jobs:
- run: scripts/await-release.sh ${{ needs.tag.outputs.tag }} latest 900
# https://github.com/docker/setup-qemu-action
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
uses: docker/setup-qemu-action@v3
# https://github.com/docker/setup-buildx-action
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
uses: docker/setup-buildx-action@v3
- name: Login to Docker Hub
uses: docker/login-action@v1
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
Expand Down
4 changes: 2 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

# --platform=$BUILDPLATFORM is used build javascript source with host arch
# Otherwise TS builds on emulated archs and can be extremely slow (+1h)
FROM --platform=${BUILDPLATFORM:-amd64} node:22.4-slim as build_src
FROM --platform=${BUILDPLATFORM:-amd64} node:22.4-slim AS build_src
ARG COMMIT
WORKDIR /usr/app
RUN apt-get update && apt-get install -y g++ make python3 python3-setuptools && apt-get clean && rm -rf /var/lib/apt/lists/*
Expand All @@ -21,7 +21,7 @@ RUN cd packages/cli && GIT_COMMIT=${COMMIT} yarn write-git-data

# Copy built src + node_modules to build native packages for archs different than host.
# Note: This step is redundant for the host arch
FROM node:22.4-slim as build_deps
FROM node:22.4-slim AS build_deps
WORKDIR /usr/app
RUN apt-get update && apt-get install -y g++ make python3 python3-setuptools && apt-get clean && rm -rf /var/lib/apt/lists/*

Expand Down
2 changes: 1 addition & 1 deletion RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,7 @@ Merge `stable` into `unstable`, resolving conflicts:

- `git checkout unstable && git merge stable`
- Resolve conflicts
- Sanity check locally before pushing by using: `git diff unstable origin/unstable`
- Sanity check locally before pushing by using: `git diff origin/unstable unstable`
- Disable `unstable` branch protection
- `git push`
- Enable `unstable` branch protection
Expand Down
5 changes: 5 additions & 0 deletions funding.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"opRetro": {
"projectId": "0x8ec88058175ef4c1c9b1f26910c4d4f2cfa733d6fcd1dbd9385476a313d9e12d"
}
}
2 changes: 1 addition & 1 deletion lerna.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
],
"npmClient": "yarn",
"useNx": true,
"version": "1.21.0",
"version": "1.22.0",
"stream": true,
"command": {
"version": {
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "root",
"private": true,
"engines": {
"node": ">=20.1.0 <21 || >=22 <22.5"
"node": ">=20.1.0 <21 || >=22 <23"
},
"packageManager": "yarn@1.22.22+sha256.c17d3797fb9a9115bf375e31bfd30058cac6bc9c3b8807a3d8cb2094794b51ca",
"workspaces": [
Expand Down
14 changes: 7 additions & 7 deletions packages/api/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
"bugs": {
"url": "https://github.com/ChainSafe/lodestar/issues"
},
"version": "1.21.0",
"version": "1.22.0",
"type": "module",
"exports": {
".": {
Expand Down Expand Up @@ -70,12 +70,12 @@
"check-readme": "typescript-docs-verifier"
},
"dependencies": {
"@chainsafe/persistent-merkle-tree": "^0.7.1",
"@chainsafe/ssz": "^0.15.1",
"@lodestar/config": "^1.21.0",
"@lodestar/params": "^1.21.0",
"@lodestar/types": "^1.21.0",
"@lodestar/utils": "^1.21.0",
"@chainsafe/persistent-merkle-tree": "^0.8.0",
"@chainsafe/ssz": "^0.17.1",
"@lodestar/config": "^1.22.0",
"@lodestar/params": "^1.22.0",
"@lodestar/types": "^1.22.0",
"@lodestar/utils": "^1.22.0",
"eventsource": "^2.0.2",
"qs": "^6.11.1"
},
Expand Down
2 changes: 1 addition & 1 deletion packages/api/src/beacon/client/events.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ export type ApiClient = ApiClientMethods<Endpoints>;
*/
export function getClient(config: ChainForkConfig, baseUrl: string): ApiClient {
const definitions = getDefinitions(config);
const eventSerdes = getEventSerdes();
const eventSerdes = getEventSerdes(config);

return {
eventstream: async ({topics, signal, onEvent, onError, onClose}) => {
Expand Down
25 changes: 23 additions & 2 deletions packages/api/src/beacon/routes/beacon/block.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import {
SignedBlockContents,
sszTypesFor,
} from "@lodestar/types";
import {ForkName, ForkPreExecution, isForkBlobs, isForkExecution} from "@lodestar/params";
import {ForkName, ForkPreElectra, ForkPreExecution, isForkBlobs, isForkExecution} from "@lodestar/params";
import {Endpoint, RequestCodec, RouteDefinitions, Schema} from "../../../utils/index.js";
import {EmptyMeta, EmptyResponseCodec, EmptyResponseData, WithVersion} from "../../../utils/codecs.js";
import {
Expand Down Expand Up @@ -101,10 +101,22 @@ export type Endpoints = {
"GET",
BlockArgs,
{params: {block_id: string}},
BeaconBlockBody["attestations"],
BeaconBlockBody<ForkPreElectra>["attestations"],
ExecutionOptimisticAndFinalizedMeta
>;

/**
* Get block attestations
* Retrieves attestation included in requested block.
*/
getBlockAttestationsV2: Endpoint<
"GET",
BlockArgs,
{params: {block_id: string}},
BeaconBlockBody["attestations"],
ExecutionOptimisticFinalizedAndVersionMeta
>;

/**
* Get block header
* Retrieves block header for given block id.
Expand Down Expand Up @@ -251,6 +263,15 @@ export function getDefinitions(config: ChainForkConfig): RouteDefinitions<Endpoi
meta: ExecutionOptimisticAndFinalizedCodec,
},
},
getBlockAttestationsV2: {
url: "/eth/v2/beacon/blocks/{block_id}/attestations",
method: "GET",
req: blockIdOnlyReq,
resp: {
data: WithVersion((fork) => ssz[fork].BeaconBlockBody.fields.attestations),
meta: ExecutionOptimisticFinalizedAndVersionCodec,
},
},
getBlockHeader: {
url: "/eth/v1/beacon/headers/{block_id}",
method: "GET",
Expand Down
Loading
Loading