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

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

Merged
merged 7 commits into from
Apr 30, 2024

Conversation

nazarhussain
Copy link
Contributor

Motivation

Make the lightclient more accessible.

Description

  • Allow people to directly import the ESM bundle with full Types support

Steps to test or reproduce

  • Run tests

@nazarhussain nazarhussain marked this pull request as ready for review April 18, 2024 13:26
@nazarhussain nazarhussain requested a review from a team as a code owner April 18, 2024 13:26
@nazarhussain nazarhussain self-assigned this Apr 18, 2024
packages/types/src/test.ts Outdated Show resolved Hide resolved
Copy link

codecov bot commented Apr 18, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 61.88%. Comparing base (e17b744) to head (5117caa).

Additional details and impacted files
@@            Coverage Diff            @@
##           unstable    #6685   +/-   ##
=========================================
  Coverage     61.87%   61.88%           
=========================================
  Files           562      562           
  Lines         59301    59309    +8     
  Branches       1916     1916           
=========================================
+ Hits          36695    36703    +8     
  Misses        22563    22563           
  Partials         43       43           

@nazarhussain nazarhussain force-pushed the nh/lightclient-browser-build-types branch from 3c30c54 to 67204f0 Compare April 19, 2024 10:28
wemeetagain
wemeetagain previously approved these changes Apr 19, 2024
Base automatically changed from nh/lightclient-browser-build to unstable April 26, 2024 11:18
@nazarhussain nazarhussain dismissed wemeetagain’s stale review April 26, 2024 11:18

The base branch was changed.

@nazarhussain nazarhussain force-pushed the nh/lightclient-browser-build-types branch from cbddd08 to aa1f891 Compare April 26, 2024 20:09
Copy link
Contributor

github-actions bot commented Apr 26, 2024

Performance Report

✔️ no performance regression detected

🚀🚀 Significant benchmark improvement detected

Benchmark suite Current: c01afe6 Previous: e17b744 Ratio
Set add up to 64 items then delete first 1.6718 us/op 5.4270 us/op 0.31
Set add up to 64 items then delete last 1.8819 us/op 6.4938 us/op 0.29
Set add up to 64 items then delete middle 1.9557 us/op 6.4009 us/op 0.31
Set add up to 128 items then delete first 3.6741 us/op 12.624 us/op 0.29
Set add up to 128 items then delete last 3.6567 us/op 12.995 us/op 0.28
OrderedSet add up to 128 items then delete last 5.4083 us/op 16.721 us/op 0.32
Set add up to 128 items then delete middle 3.6429 us/op 12.558 us/op 0.29
Set add up to 256 items then delete first 7.4046 us/op 23.444 us/op 0.32
Set add up to 256 items then delete last 7.4002 us/op 23.619 us/op 0.31
Set add up to 256 items then delete middle 7.5157 us/op 23.234 us/op 0.32
Full benchmark results
Benchmark suite Current: c01afe6 Previous: e17b744 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 746.62 us/op 855.25 us/op 0.87
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 58.781 us/op 106.43 us/op 0.55
BLS verify - blst-native 1.1106 ms/op 1.3484 ms/op 0.82
BLS verifyMultipleSignatures 3 - blst-native 2.1201 ms/op 2.6139 ms/op 0.81
BLS verifyMultipleSignatures 8 - blst-native 4.6531 ms/op 5.7928 ms/op 0.80
BLS verifyMultipleSignatures 32 - blst-native 17.065 ms/op 20.343 ms/op 0.84
BLS verifyMultipleSignatures 64 - blst-native 33.493 ms/op 39.172 ms/op 0.86
BLS verifyMultipleSignatures 128 - blst-native 66.555 ms/op 80.322 ms/op 0.83
BLS deserializing 10000 signatures 788.69 ms/op 900.51 ms/op 0.88
BLS deserializing 100000 signatures 7.8877 s/op 10.014 s/op 0.79
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.0956 ms/op 1.7124 ms/op 0.64
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.2665 ms/op 1.6949 ms/op 0.75
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.0958 ms/op 2.5395 ms/op 0.83
BLS verifyMultipleSignatures - same message - 64 - blst-native 3.1183 ms/op 3.6089 ms/op 0.86
BLS verifyMultipleSignatures - same message - 128 - blst-native 5.1409 ms/op 5.7740 ms/op 0.89
BLS aggregatePubkeys 32 - blst-native 25.363 us/op 31.517 us/op 0.80
BLS aggregatePubkeys 128 - blst-native 97.441 us/op 119.65 us/op 0.81
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 74.184 ms/op 81.408 ms/op 0.91
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 77.388 ms/op 81.211 ms/op 0.95
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 35.444 ms/op 61.476 ms/op 0.58
getSlashingsAndExits - default max 257.46 us/op 468.23 us/op 0.55
getSlashingsAndExits - 2k 665.15 us/op 814.31 us/op 0.82
proposeBlockBody type=full, size=empty 4.9703 ms/op 12.529 ms/op 0.40
isKnown best case - 1 super set check 770.00 ns/op 894.00 ns/op 0.86
isKnown normal case - 2 super set checks 823.00 ns/op 779.00 ns/op 1.06
isKnown worse case - 16 super set checks 849.00 ns/op 808.00 ns/op 1.05
InMemoryCheckpointStateCache - add get delete 8.0800 us/op 8.9090 us/op 0.91
validate api signedAggregateAndProof - struct 2.0705 ms/op 2.7024 ms/op 0.77
validate gossip signedAggregateAndProof - struct 2.0505 ms/op 2.8908 ms/op 0.71
validate gossip attestation - vc 640000 1.2088 ms/op 1.6133 ms/op 0.75
batch validate gossip attestation - vc 640000 - chunk 32 162.23 us/op 209.27 us/op 0.78
batch validate gossip attestation - vc 640000 - chunk 64 147.47 us/op 180.71 us/op 0.82
batch validate gossip attestation - vc 640000 - chunk 128 160.82 us/op 189.67 us/op 0.85
batch validate gossip attestation - vc 640000 - chunk 256 146.94 us/op 182.53 us/op 0.81
pickEth1Vote - no votes 1.1027 ms/op 1.5690 ms/op 0.70
pickEth1Vote - max votes 13.606 ms/op 10.624 ms/op 1.28
pickEth1Vote - Eth1Data hashTreeRoot value x2048 24.538 ms/op 22.032 ms/op 1.11
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 41.727 ms/op 35.191 ms/op 1.19
pickEth1Vote - Eth1Data fastSerialize value x2048 659.70 us/op 708.20 us/op 0.93
pickEth1Vote - Eth1Data fastSerialize tree x2048 8.7273 ms/op 8.9870 ms/op 0.97
bytes32 toHexString 907.00 ns/op 697.00 ns/op 1.30
bytes32 Buffer.toString(hex) 479.00 ns/op 352.00 ns/op 1.36
bytes32 Buffer.toString(hex) from Uint8Array 663.00 ns/op 613.00 ns/op 1.08
bytes32 Buffer.toString(hex) + 0x 376.00 ns/op 360.00 ns/op 1.04
Object access 1 prop 0.28000 ns/op 0.28000 ns/op 1.00
Map access 1 prop 0.22600 ns/op 0.17900 ns/op 1.26
Object get x1000 5.9960 ns/op 8.8090 ns/op 0.68
Map get x1000 1.0900 ns/op 0.96100 ns/op 1.13
Object set x1000 50.605 ns/op 88.218 ns/op 0.57
Map set x1000 23.752 ns/op 60.009 ns/op 0.40
Return object 10000 times 0.24310 ns/op 0.28480 ns/op 0.85
Throw Error 10000 times 2.8297 us/op 4.2365 us/op 0.67
fastMsgIdFn sha256 / 200 bytes 2.2770 us/op 3.6510 us/op 0.62
fastMsgIdFn h32 xxhash / 200 bytes 411.00 ns/op 401.00 ns/op 1.02
fastMsgIdFn h64 xxhash / 200 bytes 434.00 ns/op 465.00 ns/op 0.93
fastMsgIdFn sha256 / 1000 bytes 6.4960 us/op 12.720 us/op 0.51
fastMsgIdFn h32 xxhash / 1000 bytes 554.00 ns/op 551.00 ns/op 1.01
fastMsgIdFn h64 xxhash / 1000 bytes 517.00 ns/op 523.00 ns/op 0.99
fastMsgIdFn sha256 / 10000 bytes 54.848 us/op 111.04 us/op 0.49
fastMsgIdFn h32 xxhash / 10000 bytes 1.9880 us/op 2.2090 us/op 0.90
fastMsgIdFn h64 xxhash / 10000 bytes 1.3920 us/op 1.5180 us/op 0.92
send data - 1000 256B messages 18.559 ms/op 23.062 ms/op 0.80
send data - 1000 512B messages 22.762 ms/op 31.915 ms/op 0.71
send data - 1000 1024B messages 29.724 ms/op 53.590 ms/op 0.55
send data - 1000 1200B messages 34.044 ms/op 52.842 ms/op 0.64
send data - 1000 2048B messages 42.783 ms/op 61.168 ms/op 0.70
send data - 1000 4096B messages 37.019 ms/op 59.790 ms/op 0.62
send data - 1000 16384B messages 93.639 ms/op 146.20 ms/op 0.64
send data - 1000 65536B messages 375.71 ms/op 543.92 ms/op 0.69
enrSubnets - fastDeserialize 64 bits 1.0770 us/op 2.0060 us/op 0.54
enrSubnets - ssz BitVector 64 bits 464.00 ns/op 618.00 ns/op 0.75
enrSubnets - fastDeserialize 4 bits 240.00 ns/op 280.00 ns/op 0.86
enrSubnets - ssz BitVector 4 bits 451.00 ns/op 614.00 ns/op 0.73
prioritizePeers score -10:0 att 32-0.1 sync 2-0 152.97 us/op 273.15 us/op 0.56
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 206.26 us/op 386.59 us/op 0.53
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 256.51 us/op 462.09 us/op 0.56
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 354.37 us/op 763.97 us/op 0.46
prioritizePeers score 0:0 att 64-1 sync 4-1 472.00 us/op 834.49 us/op 0.57
array of 16000 items push then shift 1.2618 us/op 1.8589 us/op 0.68
LinkedList of 16000 items push then shift 7.6960 ns/op 10.274 ns/op 0.75
array of 16000 items push then pop 107.32 ns/op 120.03 ns/op 0.89
LinkedList of 16000 items push then pop 5.8170 ns/op 11.034 ns/op 0.53
array of 24000 items push then shift 1.9189 us/op 2.8522 us/op 0.67
LinkedList of 24000 items push then shift 6.1570 ns/op 14.175 ns/op 0.43
array of 24000 items push then pop 135.37 ns/op 197.18 ns/op 0.69
LinkedList of 24000 items push then pop 6.0440 ns/op 10.377 ns/op 0.58
intersect bitArray bitLen 8 4.5600 ns/op 7.2430 ns/op 0.63
intersect array and set length 8 48.805 ns/op 83.296 ns/op 0.59
intersect bitArray bitLen 128 28.699 ns/op 41.199 ns/op 0.70
intersect array and set length 128 691.02 ns/op 1.2114 us/op 0.57
bitArray.getTrueBitIndexes() bitLen 128 1.4660 us/op 2.1550 us/op 0.68
bitArray.getTrueBitIndexes() bitLen 248 2.1350 us/op 3.3320 us/op 0.64
bitArray.getTrueBitIndexes() bitLen 512 4.2960 us/op 7.3050 us/op 0.59
Buffer.concat 32 items 857.00 ns/op 1.2480 us/op 0.69
Uint8Array.set 32 items 1.5080 us/op 2.5920 us/op 0.58
Set add up to 64 items then delete first 1.6718 us/op 5.4270 us/op 0.31
OrderedSet add up to 64 items then delete first 2.5387 us/op 7.2412 us/op 0.35
Set add up to 64 items then delete last 1.8819 us/op 6.4938 us/op 0.29
OrderedSet add up to 64 items then delete last 2.7961 us/op 8.2065 us/op 0.34
Set add up to 64 items then delete middle 1.9557 us/op 6.4009 us/op 0.31
OrderedSet add up to 64 items then delete middle 4.0330 us/op 9.3034 us/op 0.43
Set add up to 128 items then delete first 3.6741 us/op 12.624 us/op 0.29
OrderedSet add up to 128 items then delete first 6.0185 us/op 17.074 us/op 0.35
Set add up to 128 items then delete last 3.6567 us/op 12.995 us/op 0.28
OrderedSet add up to 128 items then delete last 5.4083 us/op 16.721 us/op 0.32
Set add up to 128 items then delete middle 3.6429 us/op 12.558 us/op 0.29
OrderedSet add up to 128 items then delete middle 10.295 us/op 23.576 us/op 0.44
Set add up to 256 items then delete first 7.4046 us/op 23.444 us/op 0.32
OrderedSet add up to 256 items then delete first 12.160 us/op 33.140 us/op 0.37
Set add up to 256 items then delete last 7.4002 us/op 23.619 us/op 0.31
OrderedSet add up to 256 items then delete last 11.211 us/op 30.958 us/op 0.36
Set add up to 256 items then delete middle 7.5157 us/op 23.234 us/op 0.32
OrderedSet add up to 256 items then delete middle 31.271 us/op 58.412 us/op 0.54
transfer serialized Status (84 B) 1.4810 us/op 2.1910 us/op 0.68
copy serialized Status (84 B) 1.2500 us/op 1.6150 us/op 0.77
transfer serialized SignedVoluntaryExit (112 B) 1.6430 us/op 2.3750 us/op 0.69
copy serialized SignedVoluntaryExit (112 B) 1.3230 us/op 1.7930 us/op 0.74
transfer serialized ProposerSlashing (416 B) 1.8350 us/op 3.8470 us/op 0.48
copy serialized ProposerSlashing (416 B) 1.8750 us/op 3.5140 us/op 0.53
transfer serialized Attestation (485 B) 2.1290 us/op 3.8200 us/op 0.56
copy serialized Attestation (485 B) 1.9120 us/op 3.1730 us/op 0.60
transfer serialized AttesterSlashing (33232 B) 1.9120 us/op 4.4240 us/op 0.43
copy serialized AttesterSlashing (33232 B) 3.9860 us/op 10.756 us/op 0.37
transfer serialized Small SignedBeaconBlock (128000 B) 1.8540 us/op 3.9060 us/op 0.47
copy serialized Small SignedBeaconBlock (128000 B) 8.4550 us/op 31.945 us/op 0.26
transfer serialized Avg SignedBeaconBlock (200000 B) 1.9440 us/op 4.0870 us/op 0.48
copy serialized Avg SignedBeaconBlock (200000 B) 12.140 us/op 49.299 us/op 0.25
transfer serialized BlobsSidecar (524380 B) 2.2950 us/op 4.3480 us/op 0.53
copy serialized BlobsSidecar (524380 B) 74.253 us/op 160.99 us/op 0.46
transfer serialized Big SignedBeaconBlock (1000000 B) 2.6700 us/op 5.0950 us/op 0.52
copy serialized Big SignedBeaconBlock (1000000 B) 364.94 us/op 323.27 us/op 1.13
pass gossip attestations to forkchoice per slot 2.8181 ms/op 5.8128 ms/op 0.48
forkChoice updateHead vc 100000 bc 64 eq 0 482.83 us/op 779.36 us/op 0.62
forkChoice updateHead vc 600000 bc 64 eq 0 2.7831 ms/op 7.8952 ms/op 0.35
forkChoice updateHead vc 1000000 bc 64 eq 0 4.5359 ms/op 9.7280 ms/op 0.47
forkChoice updateHead vc 600000 bc 320 eq 0 2.7386 ms/op 5.7688 ms/op 0.47
forkChoice updateHead vc 600000 bc 1200 eq 0 2.7289 ms/op 5.7401 ms/op 0.48
forkChoice updateHead vc 600000 bc 7200 eq 0 3.4557 ms/op 8.5614 ms/op 0.40
forkChoice updateHead vc 600000 bc 64 eq 1000 9.6216 ms/op 13.530 ms/op 0.71
forkChoice updateHead vc 600000 bc 64 eq 10000 9.5940 ms/op 14.266 ms/op 0.67
forkChoice updateHead vc 600000 bc 64 eq 300000 12.790 ms/op 29.017 ms/op 0.44
computeDeltas 500000 validators 300 proto nodes 3.0780 ms/op 7.4247 ms/op 0.41
computeDeltas 500000 validators 1200 proto nodes 2.8897 ms/op 7.1861 ms/op 0.40
computeDeltas 500000 validators 7200 proto nodes 2.9698 ms/op 7.1278 ms/op 0.42
computeDeltas 750000 validators 300 proto nodes 4.5183 ms/op 10.633 ms/op 0.42
computeDeltas 750000 validators 1200 proto nodes 4.6303 ms/op 10.642 ms/op 0.44
computeDeltas 750000 validators 7200 proto nodes 4.6183 ms/op 10.328 ms/op 0.45
computeDeltas 1400000 validators 300 proto nodes 9.1157 ms/op 19.261 ms/op 0.47
computeDeltas 1400000 validators 1200 proto nodes 8.5122 ms/op 20.699 ms/op 0.41
computeDeltas 1400000 validators 7200 proto nodes 8.6748 ms/op 20.493 ms/op 0.42
computeDeltas 2100000 validators 300 proto nodes 12.840 ms/op 30.795 ms/op 0.42
computeDeltas 2100000 validators 1200 proto nodes 12.808 ms/op 29.328 ms/op 0.44
computeDeltas 2100000 validators 7200 proto nodes 13.913 ms/op 28.511 ms/op 0.49
altair processAttestation - 250000 vs - 7PWei normalcase 1.4654 ms/op 2.6055 ms/op 0.56
altair processAttestation - 250000 vs - 7PWei worstcase 2.1644 ms/op 3.6574 ms/op 0.59
altair processAttestation - setStatus - 1/6 committees join 106.28 us/op 187.77 us/op 0.57
altair processAttestation - setStatus - 1/3 committees join 207.55 us/op 368.78 us/op 0.56
altair processAttestation - setStatus - 1/2 committees join 306.94 us/op 490.45 us/op 0.63
altair processAttestation - setStatus - 2/3 committees join 398.09 us/op 608.83 us/op 0.65
altair processAttestation - setStatus - 4/5 committees join 531.84 us/op 818.21 us/op 0.65
altair processAttestation - setStatus - 100% committees join 631.09 us/op 965.99 us/op 0.65
altair processBlock - 250000 vs - 7PWei normalcase 7.0578 ms/op 8.6394 ms/op 0.82
altair processBlock - 250000 vs - 7PWei normalcase hashState 34.153 ms/op 35.797 ms/op 0.95
altair processBlock - 250000 vs - 7PWei worstcase 37.502 ms/op 44.707 ms/op 0.84
altair processBlock - 250000 vs - 7PWei worstcase hashState 93.008 ms/op 93.679 ms/op 0.99
phase0 processBlock - 250000 vs - 7PWei normalcase 2.5561 ms/op 2.7591 ms/op 0.93
phase0 processBlock - 250000 vs - 7PWei worstcase 27.715 ms/op 32.389 ms/op 0.86
altair processEth1Data - 250000 vs - 7PWei normalcase 456.60 us/op 550.33 us/op 0.83
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 11.810 us/op 15.599 us/op 0.76
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 64.600 us/op 39.123 us/op 1.65
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 27.075 us/op 23.153 us/op 1.17
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 8.2510 us/op 18.555 us/op 0.44
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 178.21 us/op 213.68 us/op 0.83
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.1212 ms/op 1.6034 ms/op 0.70
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 884.88 us/op 2.1618 ms/op 0.41
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.0433 ms/op 1.9520 ms/op 0.53
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 2.9097 ms/op 3.9195 ms/op 0.74
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.0690 ms/op 2.8635 ms/op 0.72
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 6.3024 ms/op 6.1926 ms/op 1.02
Tree 40 250000 create 265.92 ms/op 389.35 ms/op 0.68
Tree 40 250000 get(125000) 124.20 ns/op 211.15 ns/op 0.59
Tree 40 250000 set(125000) 827.20 ns/op 1.1800 us/op 0.70
Tree 40 250000 toArray() 25.011 ms/op 24.426 ms/op 1.02
Tree 40 250000 iterate all - toArray() + loop 19.843 ms/op 25.026 ms/op 0.79
Tree 40 250000 iterate all - get(i) 49.021 ms/op 77.631 ms/op 0.63
MutableVector 250000 create 9.4365 ms/op 14.182 ms/op 0.67
MutableVector 250000 get(125000) 6.1490 ns/op 6.7980 ns/op 0.90
MutableVector 250000 set(125000) 225.84 ns/op 475.31 ns/op 0.48
MutableVector 250000 toArray() 2.7921 ms/op 4.4734 ms/op 0.62
MutableVector 250000 iterate all - toArray() + loop 3.7588 ms/op 4.6494 ms/op 0.81
MutableVector 250000 iterate all - get(i) 1.3925 ms/op 1.6169 ms/op 0.86
Array 250000 create 3.0947 ms/op 3.8481 ms/op 0.80
Array 250000 clone - spread 1.2167 ms/op 1.5079 ms/op 0.81
Array 250000 get(125000) 1.0500 ns/op 1.2210 ns/op 0.86
Array 250000 set(125000) 1.2730 ns/op 5.3170 ns/op 0.24
Array 250000 iterate all - loop 159.10 us/op 176.61 us/op 0.90
effectiveBalanceIncrements clone Uint8Array 300000 15.464 us/op 55.791 us/op 0.28
effectiveBalanceIncrements clone MutableVector 300000 399.00 ns/op 454.00 ns/op 0.88
effectiveBalanceIncrements rw all Uint8Array 300000 192.12 us/op 207.11 us/op 0.93
effectiveBalanceIncrements rw all MutableVector 300000 65.255 ms/op 125.56 ms/op 0.52
phase0 afterProcessEpoch - 250000 vs - 7PWei 80.403 ms/op 115.87 ms/op 0.69
phase0 beforeProcessEpoch - 250000 vs - 7PWei 42.201 ms/op 57.535 ms/op 0.73
altair processEpoch - mainnet_e81889 486.17 ms/op 559.10 ms/op 0.87
mainnet_e81889 - altair beforeProcessEpoch 75.839 ms/op 101.47 ms/op 0.75
mainnet_e81889 - altair processJustificationAndFinalization 12.746 us/op 21.086 us/op 0.60
mainnet_e81889 - altair processInactivityUpdates 5.3949 ms/op 6.9312 ms/op 0.78
mainnet_e81889 - altair processRewardsAndPenalties 67.294 ms/op 73.334 ms/op 0.92
mainnet_e81889 - altair processRegistryUpdates 2.1250 us/op 2.5960 us/op 0.82
mainnet_e81889 - altair processSlashings 542.00 ns/op 665.00 ns/op 0.82
mainnet_e81889 - altair processEth1DataReset 608.00 ns/op 762.00 ns/op 0.80
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.6923 ms/op 1.3540 ms/op 1.25
mainnet_e81889 - altair processSlashingsReset 2.2280 us/op 2.9920 us/op 0.74
mainnet_e81889 - altair processRandaoMixesReset 3.9350 us/op 5.2390 us/op 0.75
mainnet_e81889 - altair processHistoricalRootsUpdate 1.2320 us/op 664.00 ns/op 1.86
mainnet_e81889 - altair processParticipationFlagUpdates 1.7130 us/op 1.6860 us/op 1.02
mainnet_e81889 - altair processSyncCommitteeUpdates 647.00 ns/op 728.00 ns/op 0.89
mainnet_e81889 - altair afterProcessEpoch 77.187 ms/op 123.89 ms/op 0.62
capella processEpoch - mainnet_e217614 1.8898 s/op 2.3116 s/op 0.82
mainnet_e217614 - capella beforeProcessEpoch 372.07 ms/op 458.13 ms/op 0.81
mainnet_e217614 - capella processJustificationAndFinalization 11.786 us/op 20.607 us/op 0.57
mainnet_e217614 - capella processInactivityUpdates 16.829 ms/op 21.793 ms/op 0.77
mainnet_e217614 - capella processRewardsAndPenalties 407.46 ms/op 525.70 ms/op 0.78
mainnet_e217614 - capella processRegistryUpdates 16.046 us/op 18.342 us/op 0.87
mainnet_e217614 - capella processSlashings 607.00 ns/op 604.00 ns/op 1.00
mainnet_e217614 - capella processEth1DataReset 494.00 ns/op 483.00 ns/op 1.02
mainnet_e217614 - capella processEffectiveBalanceUpdates 3.5379 ms/op 4.4386 ms/op 0.80
mainnet_e217614 - capella processSlashingsReset 1.9080 us/op 2.9120 us/op 0.66
mainnet_e217614 - capella processRandaoMixesReset 2.8080 us/op 4.9850 us/op 0.56
mainnet_e217614 - capella processHistoricalRootsUpdate 635.00 ns/op 659.00 ns/op 0.96
mainnet_e217614 - capella processParticipationFlagUpdates 1.2010 us/op 1.9610 us/op 0.61
mainnet_e217614 - capella afterProcessEpoch 216.96 ms/op 360.92 ms/op 0.60
phase0 processEpoch - mainnet_e58758 444.97 ms/op 517.94 ms/op 0.86
mainnet_e58758 - phase0 beforeProcessEpoch 134.05 ms/op 150.13 ms/op 0.89
mainnet_e58758 - phase0 processJustificationAndFinalization 15.175 us/op 17.602 us/op 0.86
mainnet_e58758 - phase0 processRewardsAndPenalties 60.529 ms/op 46.891 ms/op 1.29
mainnet_e58758 - phase0 processRegistryUpdates 7.7730 us/op 9.8390 us/op 0.79
mainnet_e58758 - phase0 processSlashings 627.00 ns/op 477.00 ns/op 1.31
mainnet_e58758 - phase0 processEth1DataReset 532.00 ns/op 415.00 ns/op 1.28
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.4206 ms/op 1.1125 ms/op 1.28
mainnet_e58758 - phase0 processSlashingsReset 2.2890 us/op 2.8940 us/op 0.79
mainnet_e58758 - phase0 processRandaoMixesReset 3.2500 us/op 4.5640 us/op 0.71
mainnet_e58758 - phase0 processHistoricalRootsUpdate 740.00 ns/op 683.00 ns/op 1.08
mainnet_e58758 - phase0 processParticipationRecordUpdates 2.9820 us/op 3.6030 us/op 0.83
mainnet_e58758 - phase0 afterProcessEpoch 68.710 ms/op 103.74 ms/op 0.66
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.0155 ms/op 1.4227 ms/op 0.71
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.1395 ms/op 1.4449 ms/op 0.79
altair processInactivityUpdates - 250000 normalcase 23.522 ms/op 27.736 ms/op 0.85
altair processInactivityUpdates - 250000 worstcase 21.702 ms/op 28.885 ms/op 0.75
phase0 processRegistryUpdates - 250000 normalcase 5.8660 us/op 12.617 us/op 0.46
phase0 processRegistryUpdates - 250000 badcase_full_deposits 512.64 us/op 395.79 us/op 1.30
phase0 processRegistryUpdates - 250000 worstcase 0.5 106.98 ms/op 131.52 ms/op 0.81
altair processRewardsAndPenalties - 250000 normalcase 67.498 ms/op 64.212 ms/op 1.05
altair processRewardsAndPenalties - 250000 worstcase 52.067 ms/op 67.255 ms/op 0.77
phase0 getAttestationDeltas - 250000 normalcase 5.3611 ms/op 9.4872 ms/op 0.57
phase0 getAttestationDeltas - 250000 worstcase 5.3306 ms/op 9.8828 ms/op 0.54
phase0 processSlashings - 250000 worstcase 83.733 us/op 104.48 us/op 0.80
altair processSyncCommitteeUpdates - 250000 106.38 ms/op 155.84 ms/op 0.68
BeaconState.hashTreeRoot - No change 390.00 ns/op 542.00 ns/op 0.72
BeaconState.hashTreeRoot - 1 full validator 89.683 us/op 147.30 us/op 0.61
BeaconState.hashTreeRoot - 32 full validator 888.97 us/op 1.2612 ms/op 0.70
BeaconState.hashTreeRoot - 512 full validator 9.9228 ms/op 15.982 ms/op 0.62
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 103.09 us/op 167.43 us/op 0.62
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.4090 ms/op 2.0652 ms/op 0.68
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 24.431 ms/op 29.134 ms/op 0.84
BeaconState.hashTreeRoot - 1 balances 82.663 us/op 128.87 us/op 0.64
BeaconState.hashTreeRoot - 32 balances 846.17 us/op 1.1284 ms/op 0.75
BeaconState.hashTreeRoot - 512 balances 10.831 ms/op 10.913 ms/op 0.99
BeaconState.hashTreeRoot - 250000 balances 163.39 ms/op 241.20 ms/op 0.68
aggregationBits - 2048 els - zipIndexesInBitList 25.024 us/op 31.179 us/op 0.80
byteArrayEquals 32 63.548 ns/op 77.014 ns/op 0.83
Buffer.compare 32 35.554 ns/op 56.346 ns/op 0.63
byteArrayEquals 1024 1.6685 us/op 2.0672 us/op 0.81
Buffer.compare 1024 41.554 ns/op 72.587 ns/op 0.57
byteArrayEquals 16384 26.708 us/op 32.821 us/op 0.81
Buffer.compare 16384 195.99 ns/op 260.02 ns/op 0.75
byteArrayEquals 123687377 206.78 ms/op 254.59 ms/op 0.81
Buffer.compare 123687377 4.6970 ms/op 7.1557 ms/op 0.66
byteArrayEquals 32 - diff last byte 62.328 ns/op 74.259 ns/op 0.84
Buffer.compare 32 - diff last byte 39.571 ns/op 57.443 ns/op 0.69
byteArrayEquals 1024 - diff last byte 1.7555 us/op 2.1013 us/op 0.84
Buffer.compare 1024 - diff last byte 46.565 ns/op 73.962 ns/op 0.63
byteArrayEquals 16384 - diff last byte 28.502 us/op 33.431 us/op 0.85
Buffer.compare 16384 - diff last byte 225.66 ns/op 257.14 ns/op 0.88
byteArrayEquals 123687377 - diff last byte 211.23 ms/op 254.05 ms/op 0.83
Buffer.compare 123687377 - diff last byte 5.2880 ms/op 8.1471 ms/op 0.65
byteArrayEquals 32 - random bytes 4.7990 ns/op 6.4170 ns/op 0.75
Buffer.compare 32 - random bytes 41.108 ns/op 63.873 ns/op 0.64
byteArrayEquals 1024 - random bytes 4.5900 ns/op 6.5450 ns/op 0.70
Buffer.compare 1024 - random bytes 41.419 ns/op 62.561 ns/op 0.66
byteArrayEquals 16384 - random bytes 4.6920 ns/op 6.2350 ns/op 0.75
Buffer.compare 16384 - random bytes 39.944 ns/op 63.686 ns/op 0.63
byteArrayEquals 123687377 - random bytes 8.6200 ns/op 9.7400 ns/op 0.89
Buffer.compare 123687377 - random bytes 42.520 ns/op 75.630 ns/op 0.56
regular array get 100000 times 42.470 us/op 46.949 us/op 0.90
wrappedArray get 100000 times 42.087 us/op 46.409 us/op 0.91
arrayWithProxy get 100000 times 10.487 ms/op 14.623 ms/op 0.72
ssz.Root.equals 55.879 ns/op 56.745 ns/op 0.98
byteArrayEquals 54.846 ns/op 54.239 ns/op 1.01
Buffer.compare 9.4630 ns/op 12.012 ns/op 0.79
shuffle list - 16384 els 5.8491 ms/op 8.8533 ms/op 0.66
shuffle list - 250000 els 85.615 ms/op 128.61 ms/op 0.67
processSlot - 1 slots 15.862 us/op 19.122 us/op 0.83
processSlot - 32 slots 3.9090 ms/op 4.5357 ms/op 0.86
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 47.683 ms/op 61.736 ms/op 0.77
getCommitteeAssignments - req 1 vs - 250000 vc 2.4282 ms/op 2.7837 ms/op 0.87
getCommitteeAssignments - req 100 vs - 250000 vc 3.5872 ms/op 3.9072 ms/op 0.92
getCommitteeAssignments - req 1000 vs - 250000 vc 3.9076 ms/op 4.2891 ms/op 0.91
findModifiedValidators - 10000 modified validators 288.13 ms/op 371.02 ms/op 0.78
findModifiedValidators - 1000 modified validators 176.08 ms/op 225.95 ms/op 0.78
findModifiedValidators - 100 modified validators 143.80 ms/op 193.11 ms/op 0.74
findModifiedValidators - 10 modified validators 147.36 ms/op 201.73 ms/op 0.73
findModifiedValidators - 1 modified validators 154.89 ms/op 211.55 ms/op 0.73
findModifiedValidators - no difference 170.19 ms/op 211.93 ms/op 0.80
compare ViewDUs 3.9543 s/op 4.6728 s/op 0.85
compare each validator Uint8Array 1.4420 s/op 1.4974 s/op 0.96
compare ViewDU to Uint8Array 852.48 ms/op 1.2848 s/op 0.66
migrate state 1000000 validators, 24 modified, 0 new 724.66 ms/op 820.39 ms/op 0.88
migrate state 1000000 validators, 1700 modified, 1000 new 974.25 ms/op 1.2547 s/op 0.78
migrate state 1000000 validators, 3400 modified, 2000 new 1.3313 s/op 1.6280 s/op 0.82
migrate state 1500000 validators, 24 modified, 0 new 657.74 ms/op 935.14 ms/op 0.70
migrate state 1500000 validators, 1700 modified, 1000 new 1.0763 s/op 1.3997 s/op 0.77
migrate state 1500000 validators, 3400 modified, 2000 new 1.2555 s/op 1.9323 s/op 0.65
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.5600 ns/op 5.4400 ns/op 0.84
state getBlockRootAtSlot - 250000 vs - 7PWei 453.89 ns/op 883.82 ns/op 0.51
computeProposers - vc 250000 6.0696 ms/op 11.508 ms/op 0.53
computeEpochShuffling - vc 250000 88.802 ms/op 133.67 ms/op 0.66
getNextSyncCommittee - vc 250000 103.69 ms/op 187.42 ms/op 0.55
computeSigningRoot for AttestationData 18.569 us/op 33.862 us/op 0.55
hash AttestationData serialized data then Buffer.toString(base64) 1.3309 us/op 2.4818 us/op 0.54
toHexString serialized data 779.24 ns/op 1.7889 us/op 0.44
Buffer.toString(base64) 162.73 ns/op 288.82 ns/op 0.56

by benchmarkbot/action

plugins: [
dts({
rollupTypes: true,
bundledPackages: ["@lodestar/*", "@chainsafe/persistent-merkle-tree", "@chainsafe/bls", "@chainsafe/ssz"],
Copy link
Contributor

Choose a reason for hiding this comment

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

How do you come up with this list? Is there no way to automate this?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

By building the types buyndle and investigating the types import in it. The ideal scenario we want is there should not be any thirdparty types import in types bundle.

@@ -60,7 +60,7 @@
"build:watch": "yarn run build --watch",
"build:release": "yarn clean && yarn run build && yarn run build:dist",
"check-build": "node -e \"(async function() { await import('./lib/index.js') })()\"",
"check-types": "tsc",
"check-types": "yarn run build:dist && tsc",
Copy link
Contributor

Choose a reason for hiding this comment

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

Why do we need this?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

This checks the tests file as well and one test file is using the types imported from the bundle. So we have to build it before running types check.

Copy link
Member

Choose a reason for hiding this comment

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

Can we solve this differently? Having this build run as part of check-types is really annoying during local development. check-types is supposed to be fast and not create a bundle for production

This takes more time than all other check-types across all packages combined

@lodestar/light-client: vite v5.2.10 building for production...
@lodestar/light-client: transforming...
@lodestar/light-client: ✓ 562 modules transformed.
@lodestar/light-client: rendering chunks...
@lodestar/light-client: [vite:dts] Start generate declaration files...
@lodestar/light-client: computing gzip size...
@lodestar/light-client: [vite:dts] Start rollup declaration files...
@lodestar/light-client: Analysis will use the bundled TypeScript version 5.4.2
@lodestar/light-client: [vite:dts] Declaration files built in 6702ms.
@lodestar/light-client: dist/manifest.json            0.13 kB │ gzip:   0.11 kB
@lodestar/light-client: dist/lightclient.min.mjs  1,160.16 kB │ gzip: 341.51 kB │ map: 2,887.35 kB
@lodestar/light-client: ✓ built in 12.17s

It also creates a untracked file

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        packages/light-client/stats.html

Copy link
Member

Choose a reason for hiding this comment

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

it also randomly fails, see CI https://github.com/ChainSafe/lodestar/actions/runs/8911114728/job/24471848781#step:4:124

@lodestar/light-client: test/unit/webEsmBundle.browser.test.ts:3:63 - error TS2307: Cannot find module '../../dist/lightclient.min.mjs' or its corresponding type declarations.
@lodestar/light-client: 3 import {Lightclient, LightclientEvent, utils, transport} from "../../dist/lightclient.min.mjs";

@nazarhussain nazarhussain force-pushed the nh/lightclient-browser-build-types branch from 152cda3 to be1b74c Compare April 30, 2024 10:02
@nazarhussain nazarhussain force-pushed the nh/lightclient-browser-build-types branch from be1b74c to 5117caa Compare April 30, 2024 10:03
@nazarhussain nazarhussain merged commit c9ff6e3 into unstable Apr 30, 2024
20 checks passed
@nazarhussain nazarhussain deleted the nh/lightclient-browser-build-types branch April 30, 2024 12:45
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 <nflaig@protonmail.com>

* chore: address comments

* chore: address comments

* chore: fixed typo

* chore: typo

Co-authored-by: Nico Flaig <nflaig@protonmail.com>

* chore: address comments

* chore: wording

Co-authored-by: Nico Flaig <nflaig@protonmail.com>

* chore: use frozen lock file

Co-authored-by: Nico Flaig <nflaig@protonmail.com>

---------

Co-authored-by: Nico Flaig <nflaig@protonmail.com>

* 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 bls@8.0.0

* 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 <nflaig@protonmail.com>

* 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 <nflaig@protonmail.com>

* 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 <nflaig@protonmail.com>

* Fix lint issues

* Remove unused import

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

* fix: log of threadcount

---------

Co-authored-by: Nico Flaig <nflaig@protonmail.com>

* 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 <nflaig@protonmail.com>

---------

Co-authored-by: Nico Flaig <nflaig@protonmail.com>

* 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 <nflaig@protonmail.com>

* Increase timeout for one test

* Optimize package build task

* Update the readme

---------

Co-authored-by: Nico Flaig <nflaig@protonmail.com>

* 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] <support@github.com>
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 <nflaig@protonmail.com>

* chore: address comments

* chore: added faq element

* chore: address comments

Co-authored-by: Nico Flaig <nflaig@protonmail.com>

* chore: address comments

Co-authored-by: Nico Flaig <nflaig@protonmail.com>

* chore: address comments

---------

Co-authored-by: Nico Flaig <nflaig@protonmail.com>

* 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 <jeluard@users.noreply.github.com>

* Fix linting on docs

* Fix linting

---------

Co-authored-by: Julien <jeluard@users.noreply.github.com>

* 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 <jeluard@users.noreply.github.com>

* Fix build error

* Update the readme doc

* Apply suggestions from code review

Co-authored-by: Julien <jeluard@users.noreply.github.com>

* Fix the docs linting

* Add missing words

---------

Co-authored-by: Julien <jeluard@users.noreply.github.com>

* 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 <caymannava@gmail.com>

* 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 <nflaig@protonmail.com>

* chore: address comments

---------

Co-authored-by: Nico Flaig <nflaig@protonmail.com>

* 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 blst@1.0.1

* 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 <me@matthewkeil.com>

* 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 <tuyen@chainsafe.io>

---------

Co-authored-by: twoeths <tuyen@chainsafe.io>

* 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 <nflaig@protonmail.com>

* Update readme docs

* Add word in dictionary

* Add word in dictionary

---------

Co-authored-by: Cayman <caymannava@gmail.com>
Co-authored-by: Nico Flaig <nflaig@protonmail.com>

* 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] <support@github.com>
Co-authored-by: tuyennhv <tuyen@chainsafe.io>
Co-authored-by: Julien <jeluard@users.noreply.github.com>
Co-authored-by: Nico Flaig <nflaig@protonmail.com>
Co-authored-by: Matthew Keil <me@matthewkeil.com>
Co-authored-by: NC <adrninistrator1@protonmail.com>
Co-authored-by: g11tech <develop@g11tech.io>
Co-authored-by: Nazar Hussain <nazarhussain@gmail.com>
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.

None yet

4 participants