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

Release v0.42.0 #4410

Closed
wants to merge 81 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
81 commits
Select commit Hold shift + click to select a range
7bf6764
Add config matching tests for validator interop with other beacon nod…
g11tech Jul 9, 2022
143603e
Add proposerBalanceDiff metric (#4124)
dapplion Jul 11, 2022
2b16141
Add stateClonedCount metric (#4128)
dapplion Jul 11, 2022
5a327e6
Add stateInternalCacheMiss metric (#4278)
dapplion Jul 12, 2022
370a049
Use parentBlockSlot in importBlock (#4282)
dapplion Jul 12, 2022
b3eb37f
Merge getBlockSignatureSets fns into one (#4283)
dapplion Jul 12, 2022
6ed5ae0
Add startTmpBeaconDb util (#4281)
dapplion Jul 12, 2022
5fda868
Run lint across all packages at once (#4287)
dapplion Jul 13, 2022
f20c802
Skip benchmark workflow for dependabot PRs (#4286)
dapplion Jul 13, 2022
406098b
Allow to verify sync committee signatures on any state (#4280)
dapplion Jul 13, 2022
d84e1d9
Contributing.md doc Update (#4289)
philknows Jul 13, 2022
dc8bdfc
[README] Add GitPOAP Badge to Display Number of Minted GitPOAPs for C…
Jul 13, 2022
cb97873
Checkpoint balances cache (#4290)
twoeths Jul 13, 2022
896248e
Bump async from 3.2.0 to 3.2.4 (#4200)
dependabot[bot] Jul 14, 2022
010df5c
Bump moment from 2.29.1 to 2.29.4 (#4249)
dependabot[bot] Jul 14, 2022
7478093
Fix build:refdocs script in cli package (#4297)
dapplion Jul 14, 2022
5c90db6
Progressively compute target stake (#4294)
twoeths Jul 14, 2022
6ee2d6b
Update stalebot settings with standardized labels (#4301)
philknows Jul 14, 2022
8b75112
Use EpochContext.epoch as current epoch (#4302)
twoeths Jul 15, 2022
2f0641a
Preserve backslash character in panda banner (#4306)
dapplion Jul 16, 2022
23d1e21
Consistent use of RootHex in notifyForkchoiceUpdate (#4308)
dapplion Jul 17, 2022
6d1ed43
Update execution engine mock (#4309)
dapplion Jul 17, 2022
13558b5
Run fork-choice spec tests against production code (#4299)
dapplion Jul 17, 2022
ab13fe2
Make slashingProtectionStr optional (#4296)
dapplion Jul 17, 2022
c0a92ca
Stop running CI for node v18 until #4145 (#4315)
dapplion Jul 17, 2022
9b26250
Allow usage of mocha --grep in spec tests (#4310)
dapplion Jul 17, 2022
f04d270
Drop typedocs (#4312)
dapplion Jul 17, 2022
3239eb2
Review bellatrix assembleBody (#4307)
dapplion Jul 17, 2022
9f3fa90
Merge single and multi block processors (#4317)
dapplion Jul 17, 2022
9fe2fb3
Add verifyBlocksSanityChecks (#4318)
dapplion Jul 18, 2022
eccde2f
Add skipCreateStateCacheIfAvailable (#4319)
dapplion Jul 18, 2022
8910698
Disable @typescript-eslint/member-ordering (#4321)
dapplion Jul 18, 2022
8ccbcb8
Add goerli flag (#4316)
dapplion Jul 18, 2022
7db4e4a
Clone states only when necessary (#4279)
dapplion Jul 18, 2022
57673fe
Adapt RangeSync process blocks in same epoch only (#4322)
dapplion Jul 18, 2022
c0efff4
Add logs to slashing protection import/export for better UX (#4257)
g11tech Jul 18, 2022
a4634c7
Rename proposerBalanceDiff to proposerBalanceDelta (#4324)
dapplion Jul 18, 2022
d34bcfa
Add goerli TTD to merge-script (#4323)
philknows Jul 18, 2022
fdd4c6b
Make dev command handler transparent (#4314)
dapplion Jul 18, 2022
938032c
Disable workers for e2e test runs (#4325)
dapplion Jul 18, 2022
30e400b
Skip PrepareNextSlot scheduler for forkchoice spec tests (#4327)
twoeths Jul 19, 2022
09b9d71
Use proper case in routes definition body (#4313)
dapplion Jul 19, 2022
871f457
Reject many skipped blocks (#4020)
dadepo Jul 19, 2022
321eaff
Improve sync speed (#3989)
dapplion Jul 19, 2022
6881e03
Add mev builder usage doc (#4329)
g11tech Jul 19, 2022
292b36d
Add prater ttd and bellatrix epoch (#4328)
dapplion Jul 19, 2022
684c2e3
Consume progressive balances (#4326)
dapplion Jul 19, 2022
ef0091e
Fix the installation links (#4331)
come-maiz Jul 20, 2022
067edc4
Integrate Erigon into merge-script (#4334)
philknows Jul 22, 2022
0ae8f92
Add mev-integration.md to docs navigation (#4339)
philknows Jul 24, 2022
f26df84
Add Eth1 and builder metrics (#4344)
g11tech Jul 25, 2022
c58690e
Cleanup merge-scripts and update quickstart reference in docs (#4347)
g11tech Jul 25, 2022
8b3fef2
Added retry mechanism in executionEngine for executePayload (#3854)
dadepo Jul 25, 2022
3320c20
Merge remote-tracking branch 'origin/stable' into unstable
dapplion Jul 25, 2022
384e393
Fix safe optimistic import (#4340)
g11tech Jul 26, 2022
b7dcc4b
Bump @node/types (#4346)
dapplion Jul 29, 2022
3608e5d
Add e2e testing support for browsers (#4292)
nazarhussain Aug 1, 2022
8bb7c66
Produce block: filter out incompatible shuffling attestations (#4336)
twoeths Aug 1, 2022
9979836
msgIdFn: use Buffer.subarray() (#4342)
twoeths Aug 1, 2022
f0a5f41
Refactor sync hashBlocks (#4343)
twoeths Aug 1, 2022
b6c1e2b
Optimize merge tracker and add merge metrics (#4350)
g11tech Aug 2, 2022
78c93f7
Separate E2E and Browser github workflow tests (#4356)
g11tech Aug 2, 2022
b34abb7
Add eth1.forcedEth1DataVote hidden flag (#4361)
dapplion Aug 3, 2022
107a983
Add execution status to notifier on/post bellatrix (#4366)
g11tech Aug 5, 2022
7c54815
Build from source by default (#4359)
dapplion Aug 5, 2022
c2b073e
Add execution stats in grafana dashboard (#4362)
g11tech Aug 5, 2022
eeb333a
Speed up arm64 docker build (#4369)
dapplion Aug 5, 2022
b8029a3
Add metrics to LightClientServer (#4372)
dapplion Aug 6, 2022
1da9558
Fix docker image history used tag (#4373)
dapplion Aug 6, 2022
ac5398e
Make BeaconChain dependencies readonly (#4376)
dapplion Aug 7, 2022
a601e81
Add RootCache performance test (#4374)
dapplion Aug 7, 2022
b9c6bb1
Dont track getEffectiveBalanceIncrementsZeroInactive perf test (#4383)
dapplion Aug 7, 2022
7338a30
Use snake case in REST APIs (#4384)
dapplion Aug 7, 2022
415001e
Update outdated examples in cli reference (#4386)
dadepo Aug 7, 2022
e9c1f05
Use BeaconChain this in processBlock fns (#4377)
dapplion Aug 7, 2022
0de0144
Fix a test file name (#4389)
nazarhussain Aug 9, 2022
1901f97
Fix the merge block found condition while syncing (#4398)
g11tech Aug 11, 2022
551ad74
Add option to run beacon node in follow mode to EL (#4399)
g11tech Aug 11, 2022
d39e2f9
Parse remote key's pubkeys into format expected by validator store. (…
dadepo Aug 13, 2022
20edb58
Fix heap memory issue when processing attestations for altair (#4404)
twoeths Aug 13, 2022
e1fbe71
v0.42.0
dapplion Aug 13, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
21 changes: 19 additions & 2 deletions .dockerignore
Expand Up @@ -28,9 +28,26 @@ docker-compose.yml

# Tests
packages/**/test
packages/**/lib

# Tests artifacts
.__testdb
packages/spec-test-runner/spec-tests
packages/validator/spec-tests
packages/*/spec-tests
packages/*/benchmark_data
packages/beacon-node/test-logs/
packages/state-transition/test-cache
benchmark_data
invalidSszObjects/
packages/beacon-node/mainnet_pubkeys.csv

# Autogenerated docs
packages/**/docs
packages/**/typedocs
docs/packages
docs/contributing.md
docs/assets
docs/reference/cli.md
/site

# Lodestar artifacts
.lodestar
Expand Down
18 changes: 16 additions & 2 deletions .eslintrc.js
Expand Up @@ -35,7 +35,7 @@ module.exports = {
{
pattern: "@lodestar/**",
group: "internal",
}
},
],
pathGroupsExcludedImportTypes: ["builtin"],
},
Expand Down Expand Up @@ -84,7 +84,7 @@ module.exports = {
],
"@typescript-eslint/func-call-spacing": "error",
// TODO after upgrading es-lint, member-ordering is now leading to lint errors. Set to warning now and fix in another PR
"@typescript-eslint/member-ordering": "warn",
"@typescript-eslint/member-ordering": "off",
"@typescript-eslint/no-explicit-any": "error",
"@typescript-eslint/no-require-imports": "error",
"@typescript-eslint/no-unused-vars": [
Expand Down Expand Up @@ -185,6 +185,20 @@ module.exports = {
],
},
overrides: [
{
files: ["**/*.config.js", "**/*.config.mjs", "**/*.config.cjs", "**/*.config.ts"],
rules: {
// Allow importing packages from dev dependencies
"import/no-extraneous-dependencies": "off",
// Allow importing and mixing different configurations
"import/no-relative-packages": "off",
"@typescript-eslint/naming-convention": "off",
// Allow require in CJS modules
"@typescript-eslint/no-var-requires": "off",
// Allow require in CJS modules
"@typescript-eslint/no-require-imports": "off",
},
},
{
files: ["**/test/**/*.ts"],
rules: {
Expand Down
20 changes: 10 additions & 10 deletions .github/stale.yml
Expand Up @@ -12,17 +12,17 @@ onlyLabels: []

# Issues or Pull Requests with these labels will never be considered stale. Set to `[]` to disable
exemptLabels:
- "meta-goodfirstissue"
- "meta-helpwanted"
- "Epic"
- "meta-good-first-issue"
- "meta-help-wanted"
- "meta-discussion"
- "prio0-critical"
- "prio2-high"
- "prio5-medium"
- "prio7-low"
- "status0-blocked"
- "status1-donotmerge"
- "status2-onice"
- "status7-opendiscussion"
- "meta-pm"
- "prio-critical"
- "prio-high"
- "prio-medium"
- "prio-low"
- "status-blocked"
- "status-do-not-merge"

# Set to true to ignore issues in a project (defaults to false)
exemptProjects: false
Expand Down
5 changes: 4 additions & 1 deletion .github/workflows/benchmark.yml
Expand Up @@ -18,8 +18,11 @@ on:
jobs:
run:
runs-on: ubuntu-latest
# Skip for dependabot PRs, secrets are not made available and will fail
# Don't run on forks. Forks don't have access to the S3 credentials and the workflow will fail
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository }}
if: |
github.actor != 'dependabot[bot]' &&
( github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository )

steps:
# <common-build> - Uses YAML anchors in the future
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/publish-dev.yml
Expand Up @@ -122,3 +122,6 @@ jobs:
- name: Build and push
run: docker buildx build --push --tag chainsafe/lodestar:next --platform linux/amd64,linux/arm64 --build-arg VERSION=${{ needs.npm.outputs.version }} .
- run: docker run chainsafe/lodestar:next --help
# Display history to know byte size of each layer
# Image is available only because of the previous `docker run` command
- run: docker image history chainsafe/lodestar:next
3 changes: 3 additions & 0 deletions .github/workflows/publish-rc.yml
Expand Up @@ -146,3 +146,6 @@ jobs:
- name: Build and push
run: docker buildx build --push --tag chainsafe/lodestar:rc --tag chainsafe/lodestar:${{ needs.tag.outputs.tag }} --platform linux/amd64,linux/arm64 --build-arg VERSION=${{ needs.tag.outputs.tag }} .
- run: docker run chainsafe/lodestar:${{ needs.tag.outputs.tag }} --help
# Display history to know byte size of each layer
# Image is available only because of the previous `docker run` command
- run: docker image history chainsafe/lodestar:${{ needs.tag.outputs.tag }}
3 changes: 3 additions & 0 deletions .github/workflows/publish-stable.yml
Expand Up @@ -136,3 +136,6 @@ jobs:
- name: Build and push
run: docker buildx build --push --tag chainsafe/lodestar:latest --tag chainsafe/lodestar:${{ needs.tag.outputs.tag }} --platform linux/amd64,linux/arm64 --build-arg VERSION=${{ needs.tag.outputs.tag }} .
- run: docker run chainsafe/lodestar:${{ needs.tag.outputs.tag }} --help
# Display history to know byte size of each layer
# Image is available only because of the previous `docker run` command
- run: docker image history chainsafe/lodestar:${{ needs.tag.outputs.tag }}
58 changes: 58 additions & 0 deletions .github/workflows/test-browser.yml
@@ -0,0 +1,58 @@
name: Browser tests

on:
push:
branches:
- stable
- unstable
pull_request:
branches:
- stable
- unstable

jobs:
tests-main:
name: Tests
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
node: [16]
steps:
# <common-build> - Uses YAML anchors in the future
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: ${{matrix.node}}
- name: Node.js version
id: node
run: echo "::set-output name=v8CppApiVersion::$(node --print "process.versions.modules")"
- name: Restore dependencies
uses: actions/cache@master
id: cache-deps
with:
path: |
node_modules
packages/*/node_modules
key: ${{ runner.os }}-${{ steps.node.outputs.v8CppApiVersion }}-${{ hashFiles('**/yarn.lock', '**/package.json') }}
- name: Install & build
if: steps.cache-deps.outputs.cache-hit != 'true'
run: yarn install --frozen-lockfile --ignore-optional && yarn build
- name: Build
run: yarn build
if: steps.cache-deps.outputs.cache-hit == 'true'
# </common-build>

# Misc sanity checks
- name: Test root binary exists
run: ./lodestar --version
- name: Reject yarn.lock changes
run: .github/workflows/scripts/reject_yarn_lock_changes.sh
# Run only on forks
if: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository }}

- name: Browser tests
run: |
export DISPLAY=':99.0'
Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 &
yarn test:browsers
60 changes: 60 additions & 0 deletions .github/workflows/test-e2e.yml
@@ -0,0 +1,60 @@
name: E2E tests

on:
push:
branches:
- stable
- unstable
pull_request:
branches:
- stable
- unstable

env:
GOERLI_RPC_DEFAULT_URL: https://goerli.infura.io/v3/84842078b09946638c03157f83405213

jobs:
tests-main:
name: Tests
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
node: [16]
steps:
# <common-build> - Uses YAML anchors in the future
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: ${{matrix.node}}
- name: Node.js version
id: node
run: echo "::set-output name=v8CppApiVersion::$(node --print "process.versions.modules")"
- name: Restore dependencies
uses: actions/cache@master
id: cache-deps
with:
path: |
node_modules
packages/*/node_modules
key: ${{ runner.os }}-${{ steps.node.outputs.v8CppApiVersion }}-${{ hashFiles('**/yarn.lock', '**/package.json') }}
- name: Install & build
if: steps.cache-deps.outputs.cache-hit != 'true'
run: yarn install --frozen-lockfile --ignore-optional && yarn build
- name: Build
run: yarn build
if: steps.cache-deps.outputs.cache-hit == 'true'
# </common-build>

# Misc sanity checks
- name: Test root binary exists
run: ./lodestar --version
- name: Reject yarn.lock changes
run: .github/workflows/scripts/reject_yarn_lock_changes.sh
# Run only on forks
if: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository }}

- name: E2E tests
run: yarn test:e2e
env:
GOERLI_RPC_URL: ${{ secrets.GOERLI_RPC_URL!=0 && secrets.GOERLI_RPC_URL || env.GOERLI_RPC_DEFAULT_URL }}
10 changes: 9 additions & 1 deletion .github/workflows/test-sim-merge.yml
@@ -1,6 +1,14 @@
name: Sim merge tests

on: [pull_request, push]
on:
push:
branches:
- stable
- unstable
pull_request:
branches:
- stable
- unstable

env:
GETH_COMMIT: be9742721f56eb8bb7ebf4f6a03fb01b13a05408
Expand Down
10 changes: 9 additions & 1 deletion .github/workflows/test-sim.yml
@@ -1,6 +1,14 @@
name: Sim tests

on: [pull_request, push]
on:
push:
branches:
- stable
- unstable
pull_request:
branches:
- stable
- unstable

jobs:
tests-sim:
Expand Down
10 changes: 9 additions & 1 deletion .github/workflows/test-spec.yml
@@ -1,6 +1,14 @@
name: Spec tests

on: [pull_request, push]
on:
push:
branches:
- stable
- unstable
pull_request:
branches:
- stable
- unstable

jobs:
tests-spec:
Expand Down
19 changes: 10 additions & 9 deletions .github/workflows/test.yml
@@ -1,9 +1,14 @@
name: Tests

on: [pull_request, push]

env:
GOERLI_RPC_DEFAULT_URL: https://goerli.infura.io/v3/84842078b09946638c03157f83405213
on:
push:
branches:
- stable
- unstable
pull_request:
branches:
- stable
- unstable

jobs:
tests-main:
Expand All @@ -12,7 +17,7 @@ jobs:
strategy:
fail-fast: false
matrix:
node: [16, 18]
node: [16]
steps:
# <common-build> - Uses YAML anchors in the future
- uses: actions/checkout@v2
Expand Down Expand Up @@ -72,7 +77,3 @@ jobs:
run: yarn test:unit
- name: Upload coverage data
run: yarn coverage
- name: E2e tests
run: yarn test:e2e
env:
GOERLI_RPC_URL: ${{ secrets.GOERLI_RPC_URL!=0 && secrets.GOERLI_RPC_URL || env.GOERLI_RPC_DEFAULT_URL }}