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: add distutils to build phase of Dockerfile #6845

Merged
merged 1 commit into from
Jun 3, 2024

Conversation

matthewkeil
Copy link
Member

Motivation

Python 3.12 does not come with distutils by default any more and its required by node-gyp. Was added to install phase but is also necessary for build phase

@matthewkeil matthewkeil requested a review from a team as a code owner June 3, 2024 09:20
@matthewkeil matthewkeil enabled auto-merge (squash) June 3, 2024 09:22
@@ -23,7 +23,7 @@ RUN cd packages/cli && GIT_COMMIT=${COMMIT} yarn write-git-data
# Note: This step is redundant for the host arch
FROM node:22-alpine as build_deps
WORKDIR /usr/app
RUN apk update && apk add --no-cache g++ make python3 && rm -rf /var/cache/apk/*
RUN apk update && apk add --no-cache g++ make python3 py3-setuptools && rm -rf /var/cache/apk/*
Copy link
Member

@nflaig nflaig Jun 3, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

but is also necessary for build phase

docker build works fine on unstable, what are the requirements for adding this?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Was throwing an error for missing distutils when I built locally for debugging the performance regression. Not sure why it didnt work but it didnt...

70.95 (node:97) [DEP0060] DeprecationWarning: The `util._extend` API is deprecated. Please use Object.assign() instead.
70.95 (Use `node --trace-deprecation ...` to show where the warning was created)
70.95 gyp info find Python using Python version 3.12.3 found at "/usr/bin/python3"
70.95 gyp http GET https://nodejs.org/download/release/v22.2.0/node-v22.2.0-headers.tar.gz
70.95 gyp http 200 https://nodejs.org/download/release/v22.2.0/node-v22.2.0-headers.tar.gz
70.95 gyp http GET https://nodejs.org/download/release/v22.2.0/SHASUMS256.txt
70.95 gyp http 200 https://nodejs.org/download/release/v22.2.0/SHASUMS256.txt
70.95 gyp info spawn /usr/bin/python3
70.95 gyp info spawn args [
70.95 gyp info spawn args   '/usr/app/node_modules/@chainsafe/blst/node_modules/node-gyp/gyp/gyp_main.py',
70.95 gyp info spawn args   'binding.gyp',
70.95 gyp info spawn args   '-f',
70.95 gyp info spawn args   'make',
70.95 gyp info spawn args   '-I',
70.95 gyp info spawn args   '/usr/app/node_modules/bcrypto/build/config.gypi',
70.95 gyp info spawn args   '-I',
70.95 gyp info spawn args   '/usr/app/node_modules/@chainsafe/blst/node_modules/node-gyp/addon.gypi',
70.95 gyp info spawn args   '-I',
70.95 gyp info spawn args   '/root/.cache/node-gyp/22.2.0/include/node/common.gypi',
70.95 gyp info spawn args   '-Dlibrary=shared_library',
70.95 gyp info spawn args   '-Dvisibility=default',
70.95 gyp info spawn args   '-Dnode_root_dir=/root/.cache/node-gyp/22.2.0',
70.95 gyp info spawn args   '-Dnode_gyp_dir=/usr/app/node_modules/@chainsafe/blst/node_modules/node-gyp',
70.95 gyp info spawn args   '-Dnode_lib_file=/root/.cache/node-gyp/22.2.0/<(target_arch)/node.lib',
70.95 gyp info spawn args   '-Dmodule_root_dir=/usr/app/node_modules/bcrypto',
70.95 gyp info spawn args   '-Dnode_engine=v8',
70.95 gyp info spawn args   '--depth=.',
70.95 gyp info spawn args   '--no-parallel',
70.95 gyp info spawn args   '--generator-output',
70.95 gyp info spawn args   'build',
70.95 gyp info spawn args   '-Goutput_dir=.'
70.95 gyp info spawn args ]
70.95 Traceback (most recent call last):
70.95   File "/usr/app/node_modules/@chainsafe/blst/node_modules/node-gyp/gyp/gyp_main.py", line 42, in <module>
70.95     import gyp  # noqa: E402
70.95     ^^^^^^^^^^
70.95   File "/usr/app/node_modules/@chainsafe/blst/node_modules/node-gyp/gyp/pylib/gyp/__init__.py", line 9, in <module>
70.95     import gyp.input
70.95   File "/usr/app/node_modules/@chainsafe/blst/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 19, in <module>
70.95     from distutils.version import StrictVersion
70.95 ModuleNotFoundError: No module named 'distutils'
70.95 gyp ERR! configure error 
70.95 gyp ERR! stack Error: `gyp` failed with exit code: 1
70.95 gyp ERR! stack     at ChildProcess.onCpExit (/usr/app/node_modules/@chainsafe/blst/node_modules/node-gyp/lib/configure.js:259:16)
70.95 gyp ERR! stack     at ChildProcess.emit (node:events:520:28)
70.95 gyp ERR! stack     at ChildProcess._handle.onexit (node:internal/child_process:294:12)
70.95 gyp ERR! System Linux 6.3.13-linuxkit
70.95 gyp ERR! command "/usr/local/bin/node" "/usr/app/node_modules/.bin/node-gyp" "rebuild"
70.95 gyp ERR! cwd /usr/app/node_modules/bcrypto
70.95 gyp ERR! node -v v22.2.0
70.95 gyp ERR! node-gyp -v v8.4.1
70.95 gyp ERR! not ok
70.95 info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
71.21 info This module is OPTIONAL, you can safely ignore this error
71.21 warning Error running install script for optional dependency: "/usr/app/node_modules/cpu-features: Command failed.
71.21 Exit code: 1
71.21 Command: node buildcheck.js > buildcheck.gypi && node-gyp rebuild
71.21 Arguments: 
71.21 Directory: /usr/app/node_modules/cpu-features
71.21 Output:
71.21 gyp info it worked if it ends with ok
71.21 gyp info using [email protected]
71.21 gyp info using [email protected] | linux | arm64
71.21 (node:126) [DEP0060] DeprecationWarning: The `util._extend` API is deprecated. Please use Object.assign() instead.
71.21 (Use `node --trace-deprecation ...` to show where the warning was created)
71.21 gyp info find Python using Python version 3.12.3 found at \"/usr/bin/python3\"
71.21 gyp http GET https://nodejs.org/download/release/v22.2.0/node-v22.2.0-headers.tar.gz
71.21 gyp http 200 https://nodejs.org/download/release/v22.2.0/node-v22.2.0-headers.tar.gz
71.21 gyp http GET https://nodejs.org/download/release/v22.2.0/SHASUMS256.txt
71.21 gyp http 200 https://nodejs.org/download/release/v22.2.0/SHASUMS256.txt
71.21 gyp info spawn /usr/bin/python3
71.21 gyp info spawn args [
71.21 gyp info spawn args   '/usr/app/node_modules/@chainsafe/blst/node_modules/node-gyp/gyp/gyp_main.py',
71.21 gyp info spawn args   'binding.gyp',
71.21 gyp info spawn args   '-f',
71.21 gyp info spawn args   'make',
71.21 gyp info spawn args   '-I',
71.21 gyp info spawn args   '/usr/app/node_modules/cpu-features/build/config.gypi',
71.21 gyp info spawn args   '-I',
71.21 gyp info spawn args   '/usr/app/node_modules/@chainsafe/blst/node_modules/node-gyp/addon.gypi',
71.21 gyp info spawn args   '-I',
71.21 gyp info spawn args   '/root/.cache/node-gyp/22.2.0/include/node/common.gypi',
71.21 gyp info spawn args   '-Dlibrary=shared_library',
71.21 gyp info spawn args   '-Dvisibility=default',
71.21 gyp info spawn args   '-Dnode_root_dir=/root/.cache/node-gyp/22.2.0',
71.21 gyp info spawn args   '-Dnode_gyp_dir=/usr/app/node_modules/@chainsafe/blst/node_modules/node-gyp',
71.21 gyp info spawn args   '-Dnode_lib_file=/root/.cache/node-gyp/22.2.0/<(target_arch)/node.lib',
71.21 gyp info spawn args   '-Dmodule_root_dir=/usr/app/node_modules/cpu-features',
71.21 gyp info spawn args   '-Dnode_engine=v8',
71.21 gyp info spawn args   '--depth=.',
71.21 gyp info spawn args   '--no-parallel',
71.21 gyp info spawn args   '--generator-output',
71.21 gyp info spawn args   'build',
71.21 gyp info spawn args   '-Goutput_dir=.'
71.21 gyp info spawn args ]
71.21 Traceback (most recent call last):
71.21   File \"/usr/app/node_modules/@chainsafe/blst/node_modules/node-gyp/gyp/gyp_main.py\", line 42, in <module>
71.21     import gyp  # noqa: E402
71.21     ^^^^^^^^^^
71.21   File \"/usr/app/node_modules/@chainsafe/blst/node_modules/node-gyp/gyp/pylib/gyp/__init__.py\", line 9, in <module>
71.21     import gyp.input
71.21   File \"/usr/app/node_modules/@chainsafe/blst/node_modules/node-gyp/gyp/pylib/gyp/input.py\", line 19, in <module>
71.21     from distutils.version import StrictVersion
71.21 ModuleNotFoundError: No module named 'distutils'
71.21 gyp ERR! configure error 
71.21 gyp ERR! stack Error: `gyp` failed with exit code: 1
71.21 gyp ERR! stack     at ChildProcess.onCpExit (/usr/app/node_modules/@chainsafe/blst/node_modules/node-gyp/lib/configure.js:259:16)
71.21 gyp ERR! stack     at ChildProcess.emit (node:events:520:28)
71.21 gyp ERR! stack     at ChildProcess._handle.onexit (node:internal/child_process:294:12)
71.21 gyp ERR! System Linux 6.3.13-linuxkit
71.21 gyp ERR! command \"/usr/local/bin/node\" \"/usr/app/node_modules/.bin/node-gyp\" \"rebuild\"
71.21 gyp ERR! cwd /usr/app/node_modules/cpu-features
71.21 gyp ERR! node -v v22.2.0
71.21 gyp ERR! node-gyp -v v8.4.1
71.21 gyp ERR! not ok"
------
Dockerfile:32
--------------------
  30 |     # Do yarn --force to trigger a rebuild of the native packages
  31 |     # Emmulates `yarn rebuild` which is not available in v1 https://yarnpkg.com/cli/rebuild 
  32 | >>> RUN yarn install --non-interactive --frozen-lockfile --production --force
  33 |     # Rebuild leveldb bindings (required for arm64 build)
  34 |     RUN cd node_modules/classic-level && yarn rebuild
--------------------
ERROR: failed to solve: process "/bin/sh -c yarn install --non-interactive --frozen-lockfile --production --force" did not complete successfully: exit code: 1

@nflaig nflaig changed the title feat: add distutils to build phase of Dockerfile chore: add distutils to build phase of Dockerfile Jun 3, 2024
@matthewkeil matthewkeil disabled auto-merge June 3, 2024 09:50
Copy link
Contributor

github-actions bot commented Jun 3, 2024

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: f72a739 Previous: 8b6ecc4 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 667.78 us/op 938.75 us/op 0.71
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 46.624 us/op 48.287 us/op 0.97
BLS verify - blst-native 1.1245 ms/op 1.1825 ms/op 0.95
BLS verifyMultipleSignatures 3 - blst-native 2.3520 ms/op 2.4792 ms/op 0.95
BLS verifyMultipleSignatures 8 - blst-native 5.1305 ms/op 5.3882 ms/op 0.95
BLS verifyMultipleSignatures 32 - blst-native 18.695 ms/op 19.694 ms/op 0.95
BLS verifyMultipleSignatures 64 - blst-native 36.799 ms/op 38.632 ms/op 0.95
BLS verifyMultipleSignatures 128 - blst-native 72.927 ms/op 75.759 ms/op 0.96
BLS deserializing 10000 signatures 827.39 ms/op 860.86 ms/op 0.96
BLS deserializing 100000 signatures 8.4157 s/op 8.8004 s/op 0.96
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.2115 ms/op 1.2651 ms/op 0.96
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.3891 ms/op 1.4332 ms/op 0.97
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.1823 ms/op 2.2299 ms/op 0.98
BLS verifyMultipleSignatures - same message - 64 - blst-native 3.2333 ms/op 3.3273 ms/op 0.97
BLS verifyMultipleSignatures - same message - 128 - blst-native 5.3294 ms/op 5.4543 ms/op 0.98
BLS aggregatePubkeys 32 - blst-native 26.809 us/op 27.016 us/op 0.99
BLS aggregatePubkeys 128 - blst-native 102.41 us/op 105.64 us/op 0.97
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 58.235 ms/op 50.345 ms/op 1.16
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 49.146 ms/op 48.830 ms/op 1.01
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 29.133 ms/op 29.092 ms/op 1.00
getSlashingsAndExits - default max 89.662 us/op 89.072 us/op 1.01
getSlashingsAndExits - 2k 240.75 us/op 258.60 us/op 0.93
proposeBlockBody type=full, size=empty 5.1194 ms/op 5.1887 ms/op 0.99
isKnown best case - 1 super set check 298.00 ns/op 298.00 ns/op 1.00
isKnown normal case - 2 super set checks 283.00 ns/op 288.00 ns/op 0.98
isKnown worse case - 16 super set checks 286.00 ns/op 301.00 ns/op 0.95
InMemoryCheckpointStateCache - add get delete 4.9210 us/op 4.3630 us/op 1.13
validate api signedAggregateAndProof - struct 2.4363 ms/op 2.4355 ms/op 1.00
validate gossip signedAggregateAndProof - struct 2.4547 ms/op 2.4335 ms/op 1.01
validate gossip attestation - vc 640000 1.1819 ms/op 1.1844 ms/op 1.00
batch validate gossip attestation - vc 640000 - chunk 32 152.20 us/op 152.42 us/op 1.00
batch validate gossip attestation - vc 640000 - chunk 64 133.86 us/op 134.15 us/op 1.00
batch validate gossip attestation - vc 640000 - chunk 128 128.23 us/op 135.13 us/op 0.95
batch validate gossip attestation - vc 640000 - chunk 256 119.20 us/op 135.43 us/op 0.88
pickEth1Vote - no votes 1.0280 ms/op 1.1063 ms/op 0.93
pickEth1Vote - max votes 9.7612 ms/op 9.7620 ms/op 1.00
pickEth1Vote - Eth1Data hashTreeRoot value x2048 15.205 ms/op 20.370 ms/op 0.75
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 20.204 ms/op 19.802 ms/op 1.02
pickEth1Vote - Eth1Data fastSerialize value x2048 521.06 us/op 513.50 us/op 1.01
pickEth1Vote - Eth1Data fastSerialize tree x2048 6.3141 ms/op 7.5258 ms/op 0.84
bytes32 toHexString 470.00 ns/op 533.00 ns/op 0.88
bytes32 Buffer.toString(hex) 252.00 ns/op 249.00 ns/op 1.01
bytes32 Buffer.toString(hex) from Uint8Array 372.00 ns/op 380.00 ns/op 0.98
bytes32 Buffer.toString(hex) + 0x 252.00 ns/op 266.00 ns/op 0.95
Object access 1 prop 0.14900 ns/op 0.14700 ns/op 1.01
Map access 1 prop 0.13200 ns/op 0.13300 ns/op 0.99
Object get x1000 6.3050 ns/op 6.0840 ns/op 1.04
Map get x1000 6.8290 ns/op 7.0500 ns/op 0.97
Object set x1000 35.287 ns/op 35.508 ns/op 0.99
Map set x1000 22.896 ns/op 24.734 ns/op 0.93
Return object 10000 times 0.29420 ns/op 0.29970 ns/op 0.98
Throw Error 10000 times 3.5161 us/op 3.5739 us/op 0.98
fastMsgIdFn sha256 / 200 bytes 2.2820 us/op 2.2180 us/op 1.03
fastMsgIdFn h32 xxhash / 200 bytes 259.00 ns/op 233.00 ns/op 1.11
fastMsgIdFn h64 xxhash / 200 bytes 282.00 ns/op 265.00 ns/op 1.06
fastMsgIdFn sha256 / 1000 bytes 7.4520 us/op 7.6520 us/op 0.97
fastMsgIdFn h32 xxhash / 1000 bytes 397.00 ns/op 391.00 ns/op 1.02
fastMsgIdFn h64 xxhash / 1000 bytes 354.00 ns/op 349.00 ns/op 1.01
fastMsgIdFn sha256 / 10000 bytes 65.252 us/op 66.804 us/op 0.98
fastMsgIdFn h32 xxhash / 10000 bytes 1.8950 us/op 1.9370 us/op 0.98
fastMsgIdFn h64 xxhash / 10000 bytes 1.2390 us/op 1.2560 us/op 0.99
send data - 1000 256B messages 12.788 ms/op 13.367 ms/op 0.96
send data - 1000 512B messages 17.435 ms/op 19.066 ms/op 0.91
send data - 1000 1024B messages 27.644 ms/op 27.968 ms/op 0.99
send data - 1000 1200B messages 18.650 ms/op 28.272 ms/op 0.66
send data - 1000 2048B messages 31.429 ms/op 32.347 ms/op 0.97
send data - 1000 4096B messages 30.985 ms/op 33.821 ms/op 0.92
send data - 1000 16384B messages 69.709 ms/op 78.672 ms/op 0.89
send data - 1000 65536B messages 217.75 ms/op 221.38 ms/op 0.98
enrSubnets - fastDeserialize 64 bits 1.1230 us/op 1.1220 us/op 1.00
enrSubnets - ssz BitVector 64 bits 358.00 ns/op 351.00 ns/op 1.02
enrSubnets - fastDeserialize 4 bits 142.00 ns/op 151.00 ns/op 0.94
enrSubnets - ssz BitVector 4 bits 351.00 ns/op 375.00 ns/op 0.94
prioritizePeers score -10:0 att 32-0.1 sync 2-0 142.80 us/op 157.00 us/op 0.91
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 163.82 us/op 152.62 us/op 1.07
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 239.83 us/op 271.88 us/op 0.88
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 380.31 us/op 404.83 us/op 0.94
prioritizePeers score 0:0 att 64-1 sync 4-1 626.46 us/op 602.36 us/op 1.04
array of 16000 items push then shift 1.5939 us/op 1.7163 us/op 0.93
LinkedList of 16000 items push then shift 7.0390 ns/op 7.5930 ns/op 0.93
array of 16000 items push then pop 106.54 ns/op 122.57 ns/op 0.87
LinkedList of 16000 items push then pop 6.8920 ns/op 7.1560 ns/op 0.96
array of 24000 items push then shift 2.3635 us/op 2.4802 us/op 0.95
LinkedList of 24000 items push then shift 7.1240 ns/op 7.3270 ns/op 0.97
array of 24000 items push then pop 136.95 ns/op 137.18 ns/op 1.00
LinkedList of 24000 items push then pop 6.9970 ns/op 7.6490 ns/op 0.91
intersect bitArray bitLen 8 6.4620 ns/op 6.7810 ns/op 0.95
intersect array and set length 8 47.276 ns/op 48.769 ns/op 0.97
intersect bitArray bitLen 128 29.591 ns/op 31.000 ns/op 0.95
intersect array and set length 128 678.81 ns/op 738.23 ns/op 0.92
bitArray.getTrueBitIndexes() bitLen 128 1.7340 us/op 1.9830 us/op 0.87
bitArray.getTrueBitIndexes() bitLen 248 3.2220 us/op 3.8110 us/op 0.85
bitArray.getTrueBitIndexes() bitLen 512 5.8780 us/op 7.7020 us/op 0.76
Buffer.concat 32 items 863.00 ns/op 1.0040 us/op 0.86
Uint8Array.set 32 items 1.4390 us/op 1.4950 us/op 0.96
Buffer.copy 1.5070 us/op 1.6940 us/op 0.89
Uint8Array.set - with subarray 2.3200 us/op 2.9030 us/op 0.80
Uint8Array.set - without subarray 1.3340 us/op 1.4940 us/op 0.89
Set add up to 64 items then delete first 2.1828 us/op 2.6886 us/op 0.81
OrderedSet add up to 64 items then delete first 3.2389 us/op 3.8843 us/op 0.83
Set add up to 64 items then delete last 2.4872 us/op 3.0223 us/op 0.82
OrderedSet add up to 64 items then delete last 3.4964 us/op 3.9977 us/op 0.87
Set add up to 64 items then delete middle 2.4458 us/op 2.5951 us/op 0.94
OrderedSet add up to 64 items then delete middle 5.2277 us/op 5.5474 us/op 0.94
Set add up to 128 items then delete first 5.0460 us/op 5.2599 us/op 0.96
OrderedSet add up to 128 items then delete first 7.8752 us/op 7.6838 us/op 1.02
Set add up to 128 items then delete last 4.9512 us/op 5.1576 us/op 0.96
OrderedSet add up to 128 items then delete last 7.5468 us/op 7.9401 us/op 0.95
Set add up to 128 items then delete middle 5.2867 us/op 5.2871 us/op 1.00
OrderedSet add up to 128 items then delete middle 14.993 us/op 14.662 us/op 1.02
Set add up to 256 items then delete first 11.022 us/op 10.655 us/op 1.03
OrderedSet add up to 256 items then delete first 15.986 us/op 16.337 us/op 0.98
Set add up to 256 items then delete last 10.114 us/op 9.7729 us/op 1.03
OrderedSet add up to 256 items then delete last 14.212 us/op 14.910 us/op 0.95
Set add up to 256 items then delete middle 9.5071 us/op 9.9254 us/op 0.96
OrderedSet add up to 256 items then delete middle 44.127 us/op 42.476 us/op 1.04
transfer serialized Status (84 B) 1.4210 us/op 1.5230 us/op 0.93
copy serialized Status (84 B) 1.1300 us/op 1.2640 us/op 0.89
transfer serialized SignedVoluntaryExit (112 B) 1.4700 us/op 1.6770 us/op 0.88
copy serialized SignedVoluntaryExit (112 B) 1.1080 us/op 1.3630 us/op 0.81
transfer serialized ProposerSlashing (416 B) 1.5880 us/op 2.3350 us/op 0.68
copy serialized ProposerSlashing (416 B) 1.3220 us/op 2.3290 us/op 0.57
transfer serialized Attestation (485 B) 1.6070 us/op 1.7670 us/op 0.91
copy serialized Attestation (485 B) 1.5240 us/op 1.6200 us/op 0.94
transfer serialized AttesterSlashing (33232 B) 2.0910 us/op 1.7960 us/op 1.16
copy serialized AttesterSlashing (33232 B) 5.1520 us/op 5.3770 us/op 0.96
transfer serialized Small SignedBeaconBlock (128000 B) 2.4030 us/op 2.5500 us/op 0.94
copy serialized Small SignedBeaconBlock (128000 B) 14.011 us/op 17.098 us/op 0.82
transfer serialized Avg SignedBeaconBlock (200000 B) 2.8830 us/op 3.1060 us/op 0.93
copy serialized Avg SignedBeaconBlock (200000 B) 20.670 us/op 22.921 us/op 0.90
transfer serialized BlobsSidecar (524380 B) 2.6220 us/op 3.1200 us/op 0.84
copy serialized BlobsSidecar (524380 B) 199.50 us/op 81.207 us/op 2.46
transfer serialized Big SignedBeaconBlock (1000000 B) 2.7120 us/op 2.8550 us/op 0.95
copy serialized Big SignedBeaconBlock (1000000 B) 152.96 us/op 157.49 us/op 0.97
pass gossip attestations to forkchoice per slot 3.1665 ms/op 3.1808 ms/op 1.00
forkChoice updateHead vc 100000 bc 64 eq 0 492.33 us/op 507.21 us/op 0.97
forkChoice updateHead vc 600000 bc 64 eq 0 3.0393 ms/op 3.1880 ms/op 0.95
forkChoice updateHead vc 1000000 bc 64 eq 0 5.6135 ms/op 5.4507 ms/op 1.03
forkChoice updateHead vc 600000 bc 320 eq 0 3.1706 ms/op 3.0998 ms/op 1.02
forkChoice updateHead vc 600000 bc 1200 eq 0 3.2696 ms/op 3.3082 ms/op 0.99
forkChoice updateHead vc 600000 bc 7200 eq 0 3.9437 ms/op 3.9695 ms/op 0.99
forkChoice updateHead vc 600000 bc 64 eq 1000 11.546 ms/op 11.389 ms/op 1.01
forkChoice updateHead vc 600000 bc 64 eq 10000 10.926 ms/op 11.522 ms/op 0.95
forkChoice updateHead vc 600000 bc 64 eq 300000 15.114 ms/op 15.355 ms/op 0.98
computeDeltas 500000 validators 300 proto nodes 3.8630 ms/op 3.7209 ms/op 1.04
computeDeltas 500000 validators 1200 proto nodes 3.9494 ms/op 3.8218 ms/op 1.03
computeDeltas 500000 validators 7200 proto nodes 3.8487 ms/op 4.1058 ms/op 0.94
computeDeltas 750000 validators 300 proto nodes 5.8407 ms/op 6.5951 ms/op 0.89
computeDeltas 750000 validators 1200 proto nodes 6.1422 ms/op 6.1981 ms/op 0.99
computeDeltas 750000 validators 7200 proto nodes 6.6177 ms/op 5.9281 ms/op 1.12
computeDeltas 1400000 validators 300 proto nodes 12.078 ms/op 10.811 ms/op 1.12
computeDeltas 1400000 validators 1200 proto nodes 11.733 ms/op 10.407 ms/op 1.13
computeDeltas 1400000 validators 7200 proto nodes 12.988 ms/op 10.135 ms/op 1.28
computeDeltas 2100000 validators 300 proto nodes 19.615 ms/op 14.836 ms/op 1.32
computeDeltas 2100000 validators 1200 proto nodes 18.356 ms/op 14.403 ms/op 1.27
computeDeltas 2100000 validators 7200 proto nodes 16.758 ms/op 14.908 ms/op 1.12
altair processAttestation - 250000 vs - 7PWei normalcase 2.1907 ms/op 1.7732 ms/op 1.24
altair processAttestation - 250000 vs - 7PWei worstcase 3.8816 ms/op 2.6951 ms/op 1.44
altair processAttestation - setStatus - 1/6 committees join 116.40 us/op 88.826 us/op 1.31
altair processAttestation - setStatus - 1/3 committees join 218.01 us/op 184.30 us/op 1.18
altair processAttestation - setStatus - 1/2 committees join 307.20 us/op 246.23 us/op 1.25
altair processAttestation - setStatus - 2/3 committees join 387.53 us/op 334.35 us/op 1.16
altair processAttestation - setStatus - 4/5 committees join 589.18 us/op 469.32 us/op 1.26
altair processAttestation - setStatus - 100% committees join 704.37 us/op 567.62 us/op 1.24
altair processBlock - 250000 vs - 7PWei normalcase 6.1409 ms/op 4.3318 ms/op 1.42
altair processBlock - 250000 vs - 7PWei normalcase hashState 29.567 ms/op 26.430 ms/op 1.12
altair processBlock - 250000 vs - 7PWei worstcase 45.927 ms/op 39.800 ms/op 1.15
altair processBlock - 250000 vs - 7PWei worstcase hashState 90.691 ms/op 85.064 ms/op 1.07
phase0 processBlock - 250000 vs - 7PWei normalcase 2.4054 ms/op 2.2540 ms/op 1.07
phase0 processBlock - 250000 vs - 7PWei worstcase 31.491 ms/op 26.556 ms/op 1.19
altair processEth1Data - 250000 vs - 7PWei normalcase 536.89 us/op 409.92 us/op 1.31
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 7.7560 us/op 6.5370 us/op 1.19
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 28.445 us/op 24.866 us/op 1.14
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 12.961 us/op 9.0260 us/op 1.44
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 8.0350 us/op 6.1080 us/op 1.32
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 105.47 us/op 118.29 us/op 0.89
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 764.79 us/op 706.45 us/op 1.08
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 942.82 us/op 954.76 us/op 0.99
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.0408 ms/op 977.66 us/op 1.06
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 2.6959 ms/op 2.2173 ms/op 1.22
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.9724 ms/op 1.5585 ms/op 1.27
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 5.1756 ms/op 3.6733 ms/op 1.41
Tree 40 250000 create 353.53 ms/op 265.84 ms/op 1.33
Tree 40 250000 get(125000) 166.34 ns/op 158.84 ns/op 1.05
Tree 40 250000 set(125000) 1.2337 us/op 760.55 ns/op 1.62
Tree 40 250000 toArray() 24.888 ms/op 21.602 ms/op 1.15
Tree 40 250000 iterate all - toArray() + loop 25.588 ms/op 22.924 ms/op 1.12
Tree 40 250000 iterate all - get(i) 72.030 ms/op 58.627 ms/op 1.23
MutableVector 250000 create 12.434 ms/op 10.938 ms/op 1.14
MutableVector 250000 get(125000) 12.642 ns/op 6.3670 ns/op 1.99
MutableVector 250000 set(125000) 482.58 ns/op 220.73 ns/op 2.19
MutableVector 250000 toArray() 4.9400 ms/op 3.8434 ms/op 1.29
MutableVector 250000 iterate all - toArray() + loop 5.3890 ms/op 4.4589 ms/op 1.21
MutableVector 250000 iterate all - get(i) 1.7518 ms/op 1.6040 ms/op 1.09
Array 250000 create 4.7001 ms/op 3.7210 ms/op 1.26
Array 250000 clone - spread 1.7677 ms/op 1.4920 ms/op 1.18
Array 250000 get(125000) 0.49200 ns/op 0.43800 ns/op 1.12
Array 250000 set(125000) 0.51700 ns/op 0.46200 ns/op 1.12
Array 250000 iterate all - loop 104.29 us/op 95.067 us/op 1.10
effectiveBalanceIncrements clone Uint8Array 300000 59.862 us/op 39.069 us/op 1.53
effectiveBalanceIncrements clone MutableVector 300000 141.00 ns/op 132.00 ns/op 1.07
effectiveBalanceIncrements rw all Uint8Array 300000 227.31 us/op 200.81 us/op 1.13
effectiveBalanceIncrements rw all MutableVector 300000 116.93 ms/op 71.587 ms/op 1.63
phase0 afterProcessEpoch - 250000 vs - 7PWei 99.558 ms/op 91.639 ms/op 1.09
phase0 beforeProcessEpoch - 250000 vs - 7PWei 54.194 ms/op 44.203 ms/op 1.23
altair processEpoch - mainnet_e81889 518.01 ms/op 426.31 ms/op 1.22
mainnet_e81889 - altair beforeProcessEpoch 90.512 ms/op 71.217 ms/op 1.27
mainnet_e81889 - altair processJustificationAndFinalization 24.023 us/op 16.760 us/op 1.43
mainnet_e81889 - altair processInactivityUpdates 8.3884 ms/op 6.7589 ms/op 1.24
mainnet_e81889 - altair processRewardsAndPenalties 51.329 ms/op 44.483 ms/op 1.15
mainnet_e81889 - altair processRegistryUpdates 3.2420 us/op 2.9110 us/op 1.11
mainnet_e81889 - altair processSlashings 594.00 ns/op 472.00 ns/op 1.26
mainnet_e81889 - altair processEth1DataReset 668.00 ns/op 484.00 ns/op 1.38
mainnet_e81889 - altair processEffectiveBalanceUpdates 2.0351 ms/op 1.1177 ms/op 1.82
mainnet_e81889 - altair processSlashingsReset 5.0950 us/op 3.8280 us/op 1.33
mainnet_e81889 - altair processRandaoMixesReset 12.378 us/op 5.7230 us/op 2.16
mainnet_e81889 - altair processHistoricalRootsUpdate 1.1240 us/op 1.1660 us/op 0.96
mainnet_e81889 - altair processParticipationFlagUpdates 4.0550 us/op 3.4650 us/op 1.17
mainnet_e81889 - altair processSyncCommitteeUpdates 731.00 ns/op 770.00 ns/op 0.95
mainnet_e81889 - altair afterProcessEpoch 108.17 ms/op 100.10 ms/op 1.08
capella processEpoch - mainnet_e217614 1.8317 s/op 2.0809 s/op 0.88
mainnet_e217614 - capella beforeProcessEpoch 338.30 ms/op 337.65 ms/op 1.00
mainnet_e217614 - capella processJustificationAndFinalization 30.020 us/op 42.337 us/op 0.71
mainnet_e217614 - capella processInactivityUpdates 22.677 ms/op 35.901 ms/op 0.63
mainnet_e217614 - capella processRewardsAndPenalties 278.52 ms/op 289.96 ms/op 0.96
mainnet_e217614 - capella processRegistryUpdates 14.791 us/op 14.420 us/op 1.03
mainnet_e217614 - capella processSlashings 515.00 ns/op 735.00 ns/op 0.70
mainnet_e217614 - capella processEth1DataReset 565.00 ns/op 467.00 ns/op 1.21
mainnet_e217614 - capella processEffectiveBalanceUpdates 15.920 ms/op 3.8323 ms/op 4.15
mainnet_e217614 - capella processSlashingsReset 4.2750 us/op 5.3130 us/op 0.80
mainnet_e217614 - capella processRandaoMixesReset 10.610 us/op 10.147 us/op 1.05
mainnet_e217614 - capella processHistoricalRootsUpdate 555.00 ns/op 1.3510 us/op 0.41
mainnet_e217614 - capella processParticipationFlagUpdates 2.0950 us/op 4.7550 us/op 0.44
mainnet_e217614 - capella afterProcessEpoch 307.46 ms/op 284.38 ms/op 1.08
phase0 processEpoch - mainnet_e58758 443.15 ms/op 426.22 ms/op 1.04
mainnet_e58758 - phase0 beforeProcessEpoch 130.40 ms/op 117.85 ms/op 1.11
mainnet_e58758 - phase0 processJustificationAndFinalization 20.117 us/op 13.725 us/op 1.47
mainnet_e58758 - phase0 processRewardsAndPenalties 27.603 ms/op 21.140 ms/op 1.31
mainnet_e58758 - phase0 processRegistryUpdates 7.5170 us/op 7.3030 us/op 1.03
mainnet_e58758 - phase0 processSlashings 351.00 ns/op 327.00 ns/op 1.07
mainnet_e58758 - phase0 processEth1DataReset 474.00 ns/op 459.00 ns/op 1.03
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.1208 ms/op 938.17 us/op 1.19
mainnet_e58758 - phase0 processSlashingsReset 3.0790 us/op 3.7790 us/op 0.81
mainnet_e58758 - phase0 processRandaoMixesReset 5.9020 us/op 5.2320 us/op 1.13
mainnet_e58758 - phase0 processHistoricalRootsUpdate 402.00 ns/op 624.00 ns/op 0.64
mainnet_e58758 - phase0 processParticipationRecordUpdates 3.3190 us/op 3.8340 us/op 0.87
mainnet_e58758 - phase0 afterProcessEpoch 87.665 ms/op 84.475 ms/op 1.04
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.3831 ms/op 1.1501 ms/op 1.20
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 2.0333 ms/op 2.0175 ms/op 1.01
altair processInactivityUpdates - 250000 normalcase 22.428 ms/op 17.222 ms/op 1.30
altair processInactivityUpdates - 250000 worstcase 22.060 ms/op 17.050 ms/op 1.29
phase0 processRegistryUpdates - 250000 normalcase 13.257 us/op 7.4830 us/op 1.77
phase0 processRegistryUpdates - 250000 badcase_full_deposits 311.58 us/op 293.97 us/op 1.06
phase0 processRegistryUpdates - 250000 worstcase 0.5 145.75 ms/op 137.08 ms/op 1.06
altair processRewardsAndPenalties - 250000 normalcase 42.919 ms/op 37.847 ms/op 1.13
altair processRewardsAndPenalties - 250000 worstcase 48.561 ms/op 37.862 ms/op 1.28
phase0 getAttestationDeltas - 250000 normalcase 11.396 ms/op 8.1059 ms/op 1.41
phase0 getAttestationDeltas - 250000 worstcase 11.468 ms/op 10.539 ms/op 1.09
phase0 processSlashings - 250000 worstcase 106.27 us/op 114.35 us/op 0.93
altair processSyncCommitteeUpdates - 250000 162.18 ms/op 145.04 ms/op 1.12
BeaconState.hashTreeRoot - No change 497.00 ns/op 329.00 ns/op 1.51
BeaconState.hashTreeRoot - 1 full validator 156.94 us/op 101.07 us/op 1.55
BeaconState.hashTreeRoot - 32 full validator 1.5258 ms/op 1.0721 ms/op 1.42
BeaconState.hashTreeRoot - 512 full validator 16.223 ms/op 14.460 ms/op 1.12
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 168.66 us/op 161.74 us/op 1.04
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.7012 ms/op 2.4683 ms/op 1.09
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 32.368 ms/op 25.247 ms/op 1.28
BeaconState.hashTreeRoot - 1 balances 153.30 us/op 103.76 us/op 1.48
BeaconState.hashTreeRoot - 32 balances 1.1825 ms/op 1.4518 ms/op 0.81
BeaconState.hashTreeRoot - 512 balances 10.172 ms/op 9.8096 ms/op 1.04
BeaconState.hashTreeRoot - 250000 balances 218.41 ms/op 186.78 ms/op 1.17
aggregationBits - 2048 els - zipIndexesInBitList 42.798 us/op 31.803 us/op 1.35
byteArrayEquals 32 58.678 ns/op 58.200 ns/op 1.01
Buffer.compare 32 56.988 ns/op 52.358 ns/op 1.09
byteArrayEquals 1024 1.8657 us/op 1.7325 us/op 1.08
Buffer.compare 1024 64.767 ns/op 62.227 ns/op 1.04
byteArrayEquals 16384 28.450 us/op 27.618 us/op 1.03
Buffer.compare 16384 245.81 ns/op 252.49 ns/op 0.97
byteArrayEquals 123687377 209.44 ms/op 196.27 ms/op 1.07
Buffer.compare 123687377 7.5391 ms/op 8.0961 ms/op 0.93
byteArrayEquals 32 - diff last byte 53.709 ns/op 53.400 ns/op 1.01
Buffer.compare 32 - diff last byte 48.924 ns/op 47.230 ns/op 1.04
byteArrayEquals 1024 - diff last byte 1.6351 us/op 1.6079 us/op 1.02
Buffer.compare 1024 - diff last byte 56.893 ns/op 56.020 ns/op 1.02
byteArrayEquals 16384 - diff last byte 25.586 us/op 25.853 us/op 0.99
Buffer.compare 16384 - diff last byte 253.10 ns/op 250.56 ns/op 1.01
byteArrayEquals 123687377 - diff last byte 193.10 ms/op 193.15 ms/op 1.00
Buffer.compare 123687377 - diff last byte 7.0249 ms/op 7.3294 ms/op 0.96
byteArrayEquals 32 - random bytes 5.1830 ns/op 5.4360 ns/op 0.95
Buffer.compare 32 - random bytes 51.173 ns/op 48.696 ns/op 1.05
byteArrayEquals 1024 - random bytes 5.1700 ns/op 5.2320 ns/op 0.99
Buffer.compare 1024 - random bytes 48.833 ns/op 47.178 ns/op 1.04
byteArrayEquals 16384 - random bytes 5.2470 ns/op 5.1980 ns/op 1.01
Buffer.compare 16384 - random bytes 49.893 ns/op 46.831 ns/op 1.07
byteArrayEquals 123687377 - random bytes 6.5400 ns/op 6.5500 ns/op 1.00
Buffer.compare 123687377 - random bytes 50.510 ns/op 48.330 ns/op 1.05
regular array get 100000 times 40.484 us/op 34.529 us/op 1.17
wrappedArray get 100000 times 33.584 us/op 33.163 us/op 1.01
arrayWithProxy get 100000 times 13.354 ms/op 13.856 ms/op 0.96
ssz.Root.equals 46.758 ns/op 46.477 ns/op 1.01
byteArrayEquals 45.844 ns/op 46.021 ns/op 1.00
Buffer.compare 10.809 ns/op 10.719 ns/op 1.01
shuffle list - 16384 els 6.4660 ms/op 6.6723 ms/op 0.97
shuffle list - 250000 els 91.046 ms/op 97.445 ms/op 0.93
processSlot - 1 slots 13.083 us/op 17.303 us/op 0.76
processSlot - 32 slots 2.4372 ms/op 2.8729 ms/op 0.85
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 36.326 ms/op 34.746 ms/op 1.05
getCommitteeAssignments - req 1 vs - 250000 vc 2.2120 ms/op 2.2612 ms/op 0.98
getCommitteeAssignments - req 100 vs - 250000 vc 4.0368 ms/op 4.3363 ms/op 0.93
getCommitteeAssignments - req 1000 vs - 250000 vc 4.3426 ms/op 4.5972 ms/op 0.94
findModifiedValidators - 10000 modified validators 287.93 ms/op 281.96 ms/op 1.02
findModifiedValidators - 1000 modified validators 193.25 ms/op 177.21 ms/op 1.09
findModifiedValidators - 100 modified validators 188.84 ms/op 193.84 ms/op 0.97
findModifiedValidators - 10 modified validators 169.10 ms/op 176.08 ms/op 0.96
findModifiedValidators - 1 modified validators 158.86 ms/op 188.97 ms/op 0.84
findModifiedValidators - no difference 179.69 ms/op 165.16 ms/op 1.09
compare ViewDUs 3.1989 s/op 3.0163 s/op 1.06
compare each validator Uint8Array 1.5695 s/op 1.2934 s/op 1.21
compare ViewDU to Uint8Array 1.3554 s/op 1.2452 s/op 1.09
migrate state 1000000 validators, 24 modified, 0 new 687.11 ms/op 559.07 ms/op 1.23
migrate state 1000000 validators, 1700 modified, 1000 new 948.87 ms/op 862.84 ms/op 1.10
migrate state 1000000 validators, 3400 modified, 2000 new 1.2134 s/op 919.95 ms/op 1.32
migrate state 1500000 validators, 24 modified, 0 new 670.25 ms/op 577.46 ms/op 1.16
migrate state 1500000 validators, 1700 modified, 1000 new 819.95 ms/op 819.79 ms/op 1.00
migrate state 1500000 validators, 3400 modified, 2000 new 1.0454 s/op 971.28 ms/op 1.08
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.0600 ns/op 4.9400 ns/op 0.82
state getBlockRootAtSlot - 250000 vs - 7PWei 757.72 ns/op 929.97 ns/op 0.81
computeProposers - vc 250000 7.1785 ms/op 8.3208 ms/op 0.86
computeEpochShuffling - vc 250000 91.433 ms/op 94.436 ms/op 0.97
getNextSyncCommittee - vc 250000 113.70 ms/op 148.82 ms/op 0.76
computeSigningRoot for AttestationData 18.720 us/op 23.739 us/op 0.79
hash AttestationData serialized data then Buffer.toString(base64) 1.4596 us/op 1.5761 us/op 0.93
toHexString serialized data 898.48 ns/op 1.4616 us/op 0.61
Buffer.toString(base64) 178.91 ns/op 277.38 ns/op 0.64

by benchmarkbot/action

@nflaig nflaig enabled auto-merge (squash) June 3, 2024 10:12
@nflaig nflaig merged commit cb522bd into unstable Jun 3, 2024
21 checks passed
@nflaig nflaig deleted the mkeil/add-distutils branch June 3, 2024 14:34
wemeetagain added a commit that referenced this pull request Jun 7, 2024
* chore: n-historical state - track state persist count per epoch (#6699)

* feat: add lodestar binaries to release (#6666)

* feat: added binaries creation support

* feat: added sanity checks

* chore: define reusable workflow

* chore: fix sanity check,; disable arm64

* chore: added workflow_dispatch

* fix: needs cleanup

* chore: update old space size

Co-authored-by: Nico Flaig <[email protected]>

* chore: address comments

* chore: address comments

* chore: fixed typo

* chore: typo

Co-authored-by: Nico Flaig <[email protected]>

* chore: address comments

* chore: wording

Co-authored-by: Nico Flaig <[email protected]>

* chore: use frozen lock file

Co-authored-by: Nico Flaig <[email protected]>

---------

Co-authored-by: Nico Flaig <[email protected]>

* feat: switch bls to napi rebuild (#6616)

* chore: update package.json deps and run yarn

* feat: remove unused blst config from vitest.browser.*.config.ts

* test: move G2@INF test to base blst repo.  No longer exported.

* fix: add Uint8Array.from for Buffer return value in unit test so type matches for toEqual

* refactor: update imports of CoordType to use bls instead of blst

* feat: add blsAddVerificationRandomness cli option

* feat: add randomBytesNonZero to utils

* feat: implement verification randomness for same message

* feat: implement napi blst and switch to libuv worker pool

* chore: lint

* fix: update comments for availableParallelism

* feat: set UV_THREADPOOL_SIZE for perf tests

* feat: set UV_THREADPOOL_SIZE=$(nproc) in lodestar entrance script

* feat: remove case for serialized PublicKey in deserializeSet

* feat: add back workBusy count logic to canAcceptWork

* feat: automatically set threadpool size in beaconHandler

* refactor: rename flag to disableSameMessageVerificationRandomness

* fix: remove UV_THREADPOOL_SIZE from ./lodestar

* docs: add TODO about updating metrics

* fix: make benchmark multi threading cross-compatible

* chore: add [email protected]

* feat: default to added randomness

* feat: add warning for no same message randomness

* fix: passing to updated bls functions

* feat: add blst peerDep

* fix: default to same message randomness

* chore: update yarn.lock

* chore: remove unused function to clear lint

* feat: break out setThreadPoolSize

* docs: update packages/cli/src/cmds/beacon/setThreadPoolSize.ts

Co-authored-by: Nico Flaig <[email protected]>

* chore: update location for blst dep

* chore: run lint again

* fix: remove peerDep from light-client

* test: fix browser based tests

* fix: bad relative imports

* docs: add note to readme about switchable bls

* docs: typo

* chore: lint readme

* fix: light-client unit tests

* fix: light-client e2e test

* feat: remove disableSameMessageVerificationRandomness

* refactor: remove unused type

* docs: update wordlist

* fix: e2e tests

* Lint package.json

* Revert "fix: e2e tests"

This reverts commit f71acd7.

* Revert "fix: light-client e2e test"

This reverts commit 23c11f0.

* Revert "fix: light-client unit tests"

This reverts commit fa7893e.

* Revert "test: fix browser based tests"

This reverts commit 98d04ab.

* docs: update readme to remove switchable bls argument

* fix: replace optimizeDeps in vitest.browser.config

* chore: updated to bls 8.1.0

* feat: move setting threadpool size and warnings to applyPreset.ts

* fix: remove setThreadpoolSize from beacon handler

* feat: move libuv size logging into handler to use logger

* refactor: rename applyPreset to preInitialization

* refactor: logging about pool size

* Update packages/cli/src/options/globalOptions.ts

Co-authored-by: Nico Flaig <[email protected]>

* refactor: rename prover applyPreset

* docs: change comment in cli/index

* fix: update logging for

* fix: throw error for invalid uvThreadpoolSize

* Update packages/cli/src/preInitialization.ts

Co-authored-by: Nico Flaig <[email protected]>

* Fix lint issues

* Remove unused import

* refactor: move bls pool logging back to multithread.ts

* fix: log of threadcount

---------

Co-authored-by: Nico Flaig <[email protected]>

* chore: update references to consensus spec to v1.4.0 (#6704)

* chore: update references to consensus spec to v1.4.0

* Remove unintended formatting changes

* chore: update consensus spec version in README (#6705)

* docs: correct plausible url (#6709)

fix: correct plausible url

* docs: incorrect scripts location (#6710)

fix: incorrect scripts location

* docs: no more broken images (#6708)

* fix: no more broken images

* fix: incorrect paths

* feat: check aggregationBits length of `SignedAggregateAndProof` in gossip validation (#6700)

* Add unit test

* Update packages/beacon-node/src/chain/validation/aggregateAndProof.ts

Co-authored-by: Nico Flaig <[email protected]>

---------

Co-authored-by: Nico Flaig <[email protected]>

* feat: add and track blob source for metrics (#6628)

* feat: add and track blob source for metrics

* adding blobsSource for blobsPromise

* address feedback

* apply feedback

* updates

* only allow non blobspromise blocks to be imported

* feat: add support for browser bundle for lightclient (#6673)

* Reorganize the code so it is accessible from one package

* Add support for browser build for lightclient

* Update the build config

* Improve the bls vite plugin

* Restructure the vite and vitest scripts

* Simplify vite config

* Remove unused polyfill

* Fix the doc lint error

* Add support for bundle test

* Update the package json files

* Add dist build to default build task

* Fix spelling in the docs

* Fix the lint error

* Fix type error

* Disable eslint errors

* Increase the timeout for bundle test

* Fix eslint bundle

* Fix lint warning

* Remove the unused config

* Add the default export to bundle

* Enable compression on th build

* Update packages/light-client/README.md

Co-authored-by: Nico Flaig <[email protected]>

* Increase timeout for one test

* Optimize package build task

* Update the readme

---------

Co-authored-by: Nico Flaig <[email protected]>

* docs: fix plausible domain (#6712)

* ci: add paths-ignore to workflows (#6713)

* chore: added paths-ignore

* chore: address comments

* feat: add arm64 binary support (#6707)

* feat: add arm64 binary support

* chore: workaround yarn

* chore: add comment

* chore: workaround runner limitations

* ci: publish binaries for release candidates (#6714)

* feat: add types support to esm bundle for lightclient (#6685)

* Add vite dts plugin

* Restructure types export

* Update vite build config

* Remove unused file

* Update the build process

* Fix doc formatting

* Build the dist for type tests

* chore: update vitest (#6718)

Update vitest

* chore: do not build all binaries atomically (#6719)

* feat: update libp2p deps (#6711)

* feat: update libp2p deps

* chore: fix linter/type errors

* chore(deps): bump ejs from 3.1.9 to 3.1.10 (#6721)

Bumps [ejs](https://github.com/mde/ejs) from 3.1.9 to 3.1.10.
- [Release notes](https://github.com/mde/ejs/releases)
- [Commits](mde/ejs@v3.1.9...v3.1.10)

---
updated-dependencies:
- dependency-name: ejs
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: revert "ci: add paths-ignore to workflows (#6713)" (#6730)

Revert "ci: add paths-ignore to workflows (#6713)"

This reverts commit e460bb1.

* docs: restore docs pages lost during docusaurus migration (#6725)

* ci: fix incorrect build caching (#6731)

fix: incorrect build caching

* fix: build error log during esm bundle build (#6737)

Fix build error

* chore: update fastify to v4.27.0 (#6740)

* deps: upgrade vitest minor version (#6745)

Upgrade vitest

* chore: warn when heap limit is too low (#6722)

* chore: warn when heap limit is too low

* chore: units

Co-authored-by: Nico Flaig <[email protected]>

* chore: address comments

* chore: added faq element

* chore: address comments

Co-authored-by: Nico Flaig <[email protected]>

* chore: address comments

Co-authored-by: Nico Flaig <[email protected]>

* chore: address comments

---------

Co-authored-by: Nico Flaig <[email protected]>

* feat: disable flood publish (#6755)

* feat: disable flood publish

* feat: add network.disableFloodPublish cli flag

* chore: address PR comments

* test: allow compact diff for test failures (#6783)

* Allow the compact diff for tests

* Update the doc

* Update docs/pages/contribution/testing/index.md

Co-authored-by: Julien <[email protected]>

* Fix linting on docs

* Fix linting

---------

Co-authored-by: Julien <[email protected]>

* chore: upgrade classic-level (#6793)

* chore: upgrade classic-level

* chore: address comments

* feat(prover): support non-mutated verification provider in prover (#6727)

* Restructure the assertions

* Add an inspector to run the logic to detect providers

* Update web3 provdier logic to use inspetor

* Fix the types for proxy

* Make the default type for mutation

* Rename elrpc to elrpcprovider

* Apply suggestions from code review

Co-authored-by: Julien <[email protected]>

* Fix build error

* Update the readme doc

* Apply suggestions from code review

Co-authored-by: Julien <[email protected]>

* Fix the docs linting

* Add missing words

---------

Co-authored-by: Julien <[email protected]>

* docs: added debugging section (#6743)

* docs: added debugging section

* chore: spell checks

* chore: added extra docs

* chore: address comments

* chore: added extra configuration

* chore: updated docs

* chore: added extra configuration

* chore: fix lint

* chore: fix typos

* chore: .gitignore

* chore: address comments

* chore: address comments

* chore: review debugging section PR (#6807)

* chore: update the naming conventions used in sim tests (#6805)

* Rename simulation test to crucible

* Rename SimulationEnvironment to Simulation

* Use consistent function names

* Update readme

* Rename interfaces for consistent pattern

* Fix lint error

* feat: recognize grandine from agentVersion (#6808)

* Add grandine

* add grandine to wordlist

* chore: refactor event loop interactions (#6806)

* chore: refactor sleep(0) usage

* chore: refactor setTimeout

* chore: address comments

* chore: cleanup

* Apply suggestions from code review

---------

Co-authored-by: Cayman <[email protected]>

* chore: fix broken docker (#6813)

* chore: log newPayload engine api (#6810)

* chore: add `get_proposer_head` check in fork choice spec test (#6814)

* Check get_proposer_head

* Fix enum typo

* lint

* chore: consolidate classic-level usage (#6795)

* chore: do not rely on leveldown

* chore: replace level with classic-level

* chore: added docker support for osx (#6696)

* chore: added docker support for osx

* chore: address comments

* chore: address comments

* Update docker-compose.yml

Co-authored-by: Nico Flaig <[email protected]>

* chore: address comments

---------

Co-authored-by: Nico Flaig <[email protected]>

* chore: fix vitest performance with spec tests artifacts in place (#6817)

Fix vitest performance with spec tests in place

* chore: clean up yarn lockfile (#6816)

* feat: disable flood publish by default (#6815)

* feat: use @chainsafe/blst directly (#6706)

* feat: use @chainsafe/blst directly

* chore: update to [email protected]

* refactor: remove randomBytesNonZero and user blst exported version

* chore: update blst references

* test: catch invalid deserialization in spec tests and return false

* feat: create signatureFromBytes and signatureFromBytesNoCheck in utils package

* feat: implement signatureFromBytes from utils package

* feat: implement signatureFromBytes everywhere

* fix: light-client empty module for blst

---------

Co-authored-by: matthewkeil <[email protected]>

* fix: avoid Buffer.from copies (#6723)

* fix: avoid Buffer.from copies

* chore: simplify shuffling

* fix: use subarray instead of slice in shuffling

* chore: remove unnecessary devDependencies

* chore: rely on fastify 4.x behavior

* chore: avoid copy in verifyMerkleBranch

* use toBase64

* relax assertions in shuffle function

* Update packages/state-transition/src/util/shuffle.ts

Co-authored-by: twoeths <[email protected]>

---------

Co-authored-by: twoeths <[email protected]>

* chore: update nodejs to latest 22 (#6729)

* Upgrade node js version to 22

* Update node types

* Revert action config

* Add package from git hash

* Fix the build error

* Update the docs for node-22

* Update docker version for Nodejs to 22

* Update package.json

* Update package.json

Co-authored-by: Nico Flaig <[email protected]>

* Update readme docs

* Add word in dictionary

* Add word in dictionary

---------

Co-authored-by: Cayman <[email protected]>
Co-authored-by: Nico Flaig <[email protected]>

* deps: update systeminformation to 5.22.9 (#6823)

* chore: add distutils to build phase of Dockerfile (#6845)

* test: increase timeout of keystore tests (#6846)

* test: increase timeout of keystore cache tests

* Increase hook timeout

* Consistent number formatting

* chore: only log warning if media type is not supported (415) (#6847)

* fix: revert napi bls (#6853)

* Revert "feat: use @chainsafe/blst directly (#6706)"

This reverts commit 66fe753.

* Revert "feat: switch bls to napi rebuild (#6616)"

This reverts commit 97d9aa8.

* chore: bump package versions to 1.19.0

* chore: bump @chainsafe/blst to v0.2.11 (#6856)

* fix: arm64 binaries creation issue (#6858)

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: tuyennhv <[email protected]>
Co-authored-by: Julien <[email protected]>
Co-authored-by: Nico Flaig <[email protected]>
Co-authored-by: Matthew Keil <[email protected]>
Co-authored-by: NC <[email protected]>
Co-authored-by: g11tech <[email protected]>
Co-authored-by: Nazar Hussain <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
@wemeetagain
Copy link
Member

🎉 This PR is included in v1.19.0 🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants