-
-
Notifications
You must be signed in to change notification settings - Fork 290
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(prover): support non-mutated verification provider in prover #6727
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## unstable #6727 +/- ##
============================================
+ Coverage 61.88% 62.21% +0.32%
============================================
Files 562 570 +8
Lines 59309 59987 +678
Branches 1916 1982 +66
============================================
+ Hits 36703 37318 +615
- Misses 22563 22626 +63
Partials 43 43 |
|
Benchmark suite | Current: 88ad90a | Previous: a6b10df | Ratio |
---|---|---|---|
Set add up to 64 items then delete middle | 6.1242 us/op | 2.0093 us/op | 3.05 |
Set add up to 128 items then delete first | 12.975 us/op | 3.8630 us/op | 3.36 |
OrderedSet add up to 128 items then delete first | 22.909 us/op | 5.8488 us/op | 3.92 |
Set add up to 128 items then delete last | 15.035 us/op | 3.8475 us/op | 3.91 |
OrderedSet add up to 128 items then delete last | 20.536 us/op | 6.0533 us/op | 3.39 |
Set add up to 128 items then delete middle | 14.040 us/op | 3.8288 us/op | 3.67 |
Set add up to 256 items then delete first | 28.296 us/op | 7.5175 us/op | 3.76 |
OrderedSet add up to 256 items then delete first | 41.421 us/op | 11.810 us/op | 3.51 |
Set add up to 256 items then delete last | 25.307 us/op | 7.6271 us/op | 3.32 |
OrderedSet add up to 256 items then delete last | 37.531 us/op | 11.935 us/op | 3.14 |
Set add up to 256 items then delete middle | 28.717 us/op | 7.5044 us/op | 3.83 |
computeDeltas 500000 validators 7200 proto nodes | 10.266 ms/op | 3.1133 ms/op | 3.30 |
computeDeltas 750000 validators 300 proto nodes | 14.890 ms/op | 4.6116 ms/op | 3.23 |
computeDeltas 750000 validators 1200 proto nodes | 13.576 ms/op | 4.5040 ms/op | 3.01 |
computeDeltas 750000 validators 7200 proto nodes | 15.136 ms/op | 4.6149 ms/op | 3.28 |
computeDeltas 1400000 validators 300 proto nodes | 31.218 ms/op | 8.5423 ms/op | 3.65 |
computeDeltas 1400000 validators 1200 proto nodes | 30.076 ms/op | 8.5246 ms/op | 3.53 |
computeDeltas 2100000 validators 300 proto nodes | 42.931 ms/op | 13.370 ms/op | 3.21 |
computeDeltas 2100000 validators 7200 proto nodes | 42.705 ms/op | 13.199 ms/op | 3.24 |
altair processAttestation - 250000 vs - 7PWei normalcase | 4.6798 ms/op | 1.4385 ms/op | 3.25 |
altair processAttestation - setStatus - 1/6 committees join | 243.56 us/op | 68.292 us/op | 3.57 |
altair processAttestation - setStatus - 1/3 committees join | 481.33 us/op | 143.33 us/op | 3.36 |
phase0 processBlock - 250000 vs - 7PWei normalcase | 8.7880 ms/op | 1.7507 ms/op | 5.02 |
altair processEth1Data - 250000 vs - 7PWei normalcase | 811.34 us/op | 269.37 us/op | 3.01 |
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 | 25.909 us/op | 7.6860 us/op | 3.37 |
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 | 4.6474 ms/op | 1.3337 ms/op | 3.48 |
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei | 15.080 ns/op | 4.8700 ns/op | 3.10 |
computeProposers - vc 250000 | 20.920 ms/op | 6.0773 ms/op | 3.44 |
computeEpochShuffling - vc 250000 | 291.60 ms/op | 82.285 ms/op | 3.54 |
getNextSyncCommittee - vc 250000 | 405.24 ms/op | 108.09 ms/op | 3.75 |
computeSigningRoot for AttestationData | 70.325 us/op | 20.640 us/op | 3.41 |
hash AttestationData serialized data then Buffer.toString(base64) | 5.7913 us/op | 1.2969 us/op | 4.47 |
toHexString serialized data | 2.6146 us/op | 797.14 ns/op | 3.28 |
Buffer.toString(base64) | 509.27 ns/op | 150.67 ns/op | 3.38 |
🚀🚀 Significant benchmark improvement detected
Benchmark suite | Current: 88ad90a | Previous: a6b10df | Ratio |
---|---|---|---|
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 | 5.4971 ms/op | 24.738 ms/op | 0.22 |
Full benchmark results
Benchmark suite | Current: 88ad90a | Previous: a6b10df | Ratio |
---|---|---|---|
getPubkeys - index2pubkey - req 1000 vs - 250000 vc | 1.1002 ms/op | 865.89 us/op | 1.27 |
getPubkeys - validatorsArr - req 1000 vs - 250000 vc | 98.717 us/op | 50.521 us/op | 1.95 |
BLS verify - blst-native | 1.5965 ms/op | 1.1215 ms/op | 1.42 |
BLS verifyMultipleSignatures 3 - blst-native | 2.9626 ms/op | 2.1930 ms/op | 1.35 |
BLS verifyMultipleSignatures 8 - blst-native | 6.1172 ms/op | 4.7277 ms/op | 1.29 |
BLS verifyMultipleSignatures 32 - blst-native | 20.155 ms/op | 17.307 ms/op | 1.16 |
BLS verifyMultipleSignatures 64 - blst-native | 40.339 ms/op | 34.198 ms/op | 1.18 |
BLS verifyMultipleSignatures 128 - blst-native | 82.352 ms/op | 67.589 ms/op | 1.22 |
BLS deserializing 10000 signatures | 1.0374 s/op | 792.78 ms/op | 1.31 |
BLS deserializing 100000 signatures | 10.692 s/op | 8.1287 s/op | 1.32 |
BLS verifyMultipleSignatures - same message - 3 - blst-native | 1.3894 ms/op | 1.1225 ms/op | 1.24 |
BLS verifyMultipleSignatures - same message - 8 - blst-native | 1.5568 ms/op | 1.2717 ms/op | 1.22 |
BLS verifyMultipleSignatures - same message - 32 - blst-native | 2.4702 ms/op | 1.9735 ms/op | 1.25 |
BLS verifyMultipleSignatures - same message - 64 - blst-native | 3.5638 ms/op | 2.9501 ms/op | 1.21 |
BLS verifyMultipleSignatures - same message - 128 - blst-native | 5.9800 ms/op | 4.9003 ms/op | 1.22 |
BLS aggregatePubkeys 32 - blst-native | 32.837 us/op | 24.257 us/op | 1.35 |
BLS aggregatePubkeys 128 - blst-native | 123.19 us/op | 94.734 us/op | 1.30 |
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 | 62.049 ms/op | 43.870 ms/op | 1.41 |
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 | 61.327 ms/op | 42.645 ms/op | 1.44 |
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 | 41.928 ms/op | 22.076 ms/op | 1.90 |
getSlashingsAndExits - default max | 178.10 us/op | 201.03 us/op | 0.89 |
getSlashingsAndExits - 2k | 717.38 us/op | 566.51 us/op | 1.27 |
proposeBlockBody type=full, size=empty | 6.3579 ms/op | 4.6676 ms/op | 1.36 |
isKnown best case - 1 super set check | 332.00 ns/op | 350.00 ns/op | 0.95 |
isKnown normal case - 2 super set checks | 330.00 ns/op | 661.00 ns/op | 0.50 |
isKnown worse case - 16 super set checks | 313.00 ns/op | 657.00 ns/op | 0.48 |
InMemoryCheckpointStateCache - add get delete | 7.7070 us/op | 5.5510 us/op | 1.39 |
validate api signedAggregateAndProof - struct | 2.6011 ms/op | 2.0792 ms/op | 1.25 |
validate gossip signedAggregateAndProof - struct | 2.5765 ms/op | 2.0699 ms/op | 1.24 |
validate gossip attestation - vc 640000 | 1.5042 ms/op | 1.2161 ms/op | 1.24 |
batch validate gossip attestation - vc 640000 - chunk 32 | 169.27 us/op | 157.47 us/op | 1.07 |
batch validate gossip attestation - vc 640000 - chunk 64 | 152.63 us/op | 137.45 us/op | 1.11 |
batch validate gossip attestation - vc 640000 - chunk 128 | 157.50 us/op | 122.18 us/op | 1.29 |
batch validate gossip attestation - vc 640000 - chunk 256 | 184.83 us/op | 120.03 us/op | 1.54 |
pickEth1Vote - no votes | 1.6615 ms/op | 899.85 us/op | 1.85 |
pickEth1Vote - max votes | 17.354 ms/op | 12.218 ms/op | 1.42 |
pickEth1Vote - Eth1Data hashTreeRoot value x2048 | 24.964 ms/op | 21.366 ms/op | 1.17 |
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 | 40.045 ms/op | 21.440 ms/op | 1.87 |
pickEth1Vote - Eth1Data fastSerialize value x2048 | 833.24 us/op | 490.93 us/op | 1.70 |
pickEth1Vote - Eth1Data fastSerialize tree x2048 | 7.6787 ms/op | 3.9281 ms/op | 1.95 |
bytes32 toHexString | 638.00 ns/op | 464.00 ns/op | 1.38 |
bytes32 Buffer.toString(hex) | 349.00 ns/op | 384.00 ns/op | 0.91 |
bytes32 Buffer.toString(hex) from Uint8Array | 544.00 ns/op | 513.00 ns/op | 1.06 |
bytes32 Buffer.toString(hex) + 0x | 331.00 ns/op | 373.00 ns/op | 0.89 |
Object access 1 prop | 0.22900 ns/op | 0.26200 ns/op | 0.87 |
Map access 1 prop | 0.20300 ns/op | 0.21500 ns/op | 0.94 |
Object get x1000 | 9.6370 ns/op | 4.9660 ns/op | 1.94 |
Map get x1000 | 0.98000 ns/op | 0.83400 ns/op | 1.18 |
Object set x1000 | 79.346 ns/op | 27.247 ns/op | 2.91 |
Map set x1000 | 48.533 ns/op | 20.924 ns/op | 2.32 |
Return object 10000 times | 0.41460 ns/op | 0.23210 ns/op | 1.79 |
Throw Error 10000 times | 6.5990 us/op | 2.8482 us/op | 2.32 |
fastMsgIdFn sha256 / 200 bytes | 5.9350 us/op | 2.0970 us/op | 2.83 |
fastMsgIdFn h32 xxhash / 200 bytes | 445.00 ns/op | 377.00 ns/op | 1.18 |
fastMsgIdFn h64 xxhash / 200 bytes | 513.00 ns/op | 398.00 ns/op | 1.29 |
fastMsgIdFn sha256 / 1000 bytes | 14.761 us/op | 6.4000 us/op | 2.31 |
fastMsgIdFn h32 xxhash / 1000 bytes | 567.00 ns/op | 484.00 ns/op | 1.17 |
fastMsgIdFn h64 xxhash / 1000 bytes | 745.00 ns/op | 451.00 ns/op | 1.65 |
fastMsgIdFn sha256 / 10000 bytes | 138.91 us/op | 52.545 us/op | 2.64 |
fastMsgIdFn h32 xxhash / 10000 bytes | 2.4820 us/op | 1.8810 us/op | 1.32 |
fastMsgIdFn h64 xxhash / 10000 bytes | 1.7480 us/op | 1.2980 us/op | 1.35 |
send data - 1000 256B messages | 26.346 ms/op | 12.504 ms/op | 2.11 |
send data - 1000 512B messages | 32.045 ms/op | 16.298 ms/op | 1.97 |
send data - 1000 1024B messages | 65.024 ms/op | 24.152 ms/op | 2.69 |
send data - 1000 1200B messages | 55.653 ms/op | 24.518 ms/op | 2.27 |
send data - 1000 2048B messages | 60.978 ms/op | 31.907 ms/op | 1.91 |
send data - 1000 4096B messages | 58.644 ms/op | 31.141 ms/op | 1.88 |
send data - 1000 16384B messages | 120.45 ms/op | 81.656 ms/op | 1.48 |
send data - 1000 65536B messages | 547.92 ms/op | 346.28 ms/op | 1.58 |
enrSubnets - fastDeserialize 64 bits | 2.3020 us/op | 1.0710 us/op | 2.15 |
enrSubnets - ssz BitVector 64 bits | 641.00 ns/op | 550.00 ns/op | 1.17 |
enrSubnets - fastDeserialize 4 bits | 216.00 ns/op | 263.00 ns/op | 0.82 |
enrSubnets - ssz BitVector 4 bits | 503.00 ns/op | 552.00 ns/op | 0.91 |
prioritizePeers score -10:0 att 32-0.1 sync 2-0 | 260.41 us/op | 149.32 us/op | 1.74 |
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 | 359.92 us/op | 236.42 us/op | 1.52 |
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 | 439.00 us/op | 296.63 us/op | 1.48 |
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 | 741.13 us/op | 428.81 us/op | 1.73 |
prioritizePeers score 0:0 att 64-1 sync 4-1 | 834.62 us/op | 508.62 us/op | 1.64 |
array of 16000 items push then shift | 1.9165 us/op | 1.2719 us/op | 1.51 |
LinkedList of 16000 items push then shift | 11.460 ns/op | 7.3510 ns/op | 1.56 |
array of 16000 items push then pop | 117.80 ns/op | 101.07 ns/op | 1.17 |
LinkedList of 16000 items push then pop | 10.426 ns/op | 5.9780 ns/op | 1.74 |
array of 24000 items push then shift | 2.7935 us/op | 1.8606 us/op | 1.50 |
LinkedList of 24000 items push then shift | 10.795 ns/op | 6.7890 ns/op | 1.59 |
array of 24000 items push then pop | 159.46 ns/op | 117.05 ns/op | 1.36 |
LinkedList of 24000 items push then pop | 12.030 ns/op | 5.9870 ns/op | 2.01 |
intersect bitArray bitLen 8 | 8.3260 ns/op | 4.5920 ns/op | 1.81 |
intersect array and set length 8 | 86.972 ns/op | 61.157 ns/op | 1.42 |
intersect bitArray bitLen 128 | 47.416 ns/op | 28.444 ns/op | 1.67 |
intersect array and set length 128 | 1.1517 us/op | 758.18 ns/op | 1.52 |
bitArray.getTrueBitIndexes() bitLen 128 | 2.0130 us/op | 1.4150 us/op | 1.42 |
bitArray.getTrueBitIndexes() bitLen 248 | 3.2130 us/op | 2.0870 us/op | 1.54 |
bitArray.getTrueBitIndexes() bitLen 512 | 6.5610 us/op | 4.0000 us/op | 1.64 |
Buffer.concat 32 items | 1.1930 us/op | 929.00 ns/op | 1.28 |
Uint8Array.set 32 items | 2.6500 us/op | 2.0720 us/op | 1.28 |
Set add up to 64 items then delete first | 5.4411 us/op | 1.8386 us/op | 2.96 |
OrderedSet add up to 64 items then delete first | 6.6529 us/op | 2.6980 us/op | 2.47 |
Set add up to 64 items then delete last | 5.1525 us/op | 1.9957 us/op | 2.58 |
OrderedSet add up to 64 items then delete last | 7.3863 us/op | 3.1818 us/op | 2.32 |
Set add up to 64 items then delete middle | 6.1242 us/op | 2.0093 us/op | 3.05 |
OrderedSet add up to 64 items then delete middle | 9.5710 us/op | 4.3867 us/op | 2.18 |
Set add up to 128 items then delete first | 12.975 us/op | 3.8630 us/op | 3.36 |
OrderedSet add up to 128 items then delete first | 22.909 us/op | 5.8488 us/op | 3.92 |
Set add up to 128 items then delete last | 15.035 us/op | 3.8475 us/op | 3.91 |
OrderedSet add up to 128 items then delete last | 20.536 us/op | 6.0533 us/op | 3.39 |
Set add up to 128 items then delete middle | 14.040 us/op | 3.8288 us/op | 3.67 |
OrderedSet add up to 128 items then delete middle | 27.710 us/op | 11.079 us/op | 2.50 |
Set add up to 256 items then delete first | 28.296 us/op | 7.5175 us/op | 3.76 |
OrderedSet add up to 256 items then delete first | 41.421 us/op | 11.810 us/op | 3.51 |
Set add up to 256 items then delete last | 25.307 us/op | 7.6271 us/op | 3.32 |
OrderedSet add up to 256 items then delete last | 37.531 us/op | 11.935 us/op | 3.14 |
Set add up to 256 items then delete middle | 28.717 us/op | 7.5044 us/op | 3.83 |
OrderedSet add up to 256 items then delete middle | 67.450 us/op | 31.751 us/op | 2.12 |
transfer serialized Status (84 B) | 2.7800 us/op | 1.3370 us/op | 2.08 |
copy serialized Status (84 B) | 1.9310 us/op | 1.1670 us/op | 1.65 |
transfer serialized SignedVoluntaryExit (112 B) | 2.7160 us/op | 1.4580 us/op | 1.86 |
copy serialized SignedVoluntaryExit (112 B) | 1.9250 us/op | 1.1880 us/op | 1.62 |
transfer serialized ProposerSlashing (416 B) | 3.5050 us/op | 1.5890 us/op | 2.21 |
copy serialized ProposerSlashing (416 B) | 3.5890 us/op | 1.7800 us/op | 2.02 |
transfer serialized Attestation (485 B) | 4.2980 us/op | 1.9120 us/op | 2.25 |
copy serialized Attestation (485 B) | 3.4370 us/op | 2.3460 us/op | 1.47 |
transfer serialized AttesterSlashing (33232 B) | 4.1610 us/op | 2.1310 us/op | 1.95 |
copy serialized AttesterSlashing (33232 B) | 11.542 us/op | 5.5580 us/op | 2.08 |
transfer serialized Small SignedBeaconBlock (128000 B) | 4.1620 us/op | 2.6410 us/op | 1.58 |
copy serialized Small SignedBeaconBlock (128000 B) | 32.216 us/op | 10.118 us/op | 3.18 |
transfer serialized Avg SignedBeaconBlock (200000 B) | 4.6650 us/op | 2.4590 us/op | 1.90 |
copy serialized Avg SignedBeaconBlock (200000 B) | 44.872 us/op | 14.225 us/op | 3.15 |
transfer serialized BlobsSidecar (524380 B) | 6.4660 us/op | 2.6320 us/op | 2.46 |
copy serialized BlobsSidecar (524380 B) | 154.04 us/op | 97.900 us/op | 1.57 |
transfer serialized Big SignedBeaconBlock (1000000 B) | 6.0930 us/op | 2.7320 us/op | 2.23 |
copy serialized Big SignedBeaconBlock (1000000 B) | 309.71 us/op | 187.46 us/op | 1.65 |
pass gossip attestations to forkchoice per slot | 6.6292 ms/op | 2.8075 ms/op | 2.36 |
forkChoice updateHead vc 100000 bc 64 eq 0 | 802.77 us/op | 467.73 us/op | 1.72 |
forkChoice updateHead vc 600000 bc 64 eq 0 | 5.4279 ms/op | 3.0401 ms/op | 1.79 |
forkChoice updateHead vc 1000000 bc 64 eq 0 | 8.9823 ms/op | 4.7556 ms/op | 1.89 |
forkChoice updateHead vc 600000 bc 320 eq 0 | 6.4907 ms/op | 2.8213 ms/op | 2.30 |
forkChoice updateHead vc 600000 bc 1200 eq 0 | 6.6137 ms/op | 2.9706 ms/op | 2.23 |
forkChoice updateHead vc 600000 bc 7200 eq 0 | 7.2605 ms/op | 4.3681 ms/op | 1.66 |
forkChoice updateHead vc 600000 bc 64 eq 1000 | 13.651 ms/op | 10.091 ms/op | 1.35 |
forkChoice updateHead vc 600000 bc 64 eq 10000 | 17.066 ms/op | 9.8541 ms/op | 1.73 |
forkChoice updateHead vc 600000 bc 64 eq 300000 | 21.612 ms/op | 13.705 ms/op | 1.58 |
computeDeltas 500000 validators 300 proto nodes | 7.9832 ms/op | 3.1114 ms/op | 2.57 |
computeDeltas 500000 validators 1200 proto nodes | 8.7046 ms/op | 3.0324 ms/op | 2.87 |
computeDeltas 500000 validators 7200 proto nodes | 10.266 ms/op | 3.1133 ms/op | 3.30 |
computeDeltas 750000 validators 300 proto nodes | 14.890 ms/op | 4.6116 ms/op | 3.23 |
computeDeltas 750000 validators 1200 proto nodes | 13.576 ms/op | 4.5040 ms/op | 3.01 |
computeDeltas 750000 validators 7200 proto nodes | 15.136 ms/op | 4.6149 ms/op | 3.28 |
computeDeltas 1400000 validators 300 proto nodes | 31.218 ms/op | 8.5423 ms/op | 3.65 |
computeDeltas 1400000 validators 1200 proto nodes | 30.076 ms/op | 8.5246 ms/op | 3.53 |
computeDeltas 1400000 validators 7200 proto nodes | 23.290 ms/op | 8.6712 ms/op | 2.69 |
computeDeltas 2100000 validators 300 proto nodes | 42.931 ms/op | 13.370 ms/op | 3.21 |
computeDeltas 2100000 validators 1200 proto nodes | 38.155 ms/op | 13.827 ms/op | 2.76 |
computeDeltas 2100000 validators 7200 proto nodes | 42.705 ms/op | 13.199 ms/op | 3.24 |
altair processAttestation - 250000 vs - 7PWei normalcase | 4.6798 ms/op | 1.4385 ms/op | 3.25 |
altair processAttestation - 250000 vs - 7PWei worstcase | 5.6662 ms/op | 2.1106 ms/op | 2.68 |
altair processAttestation - setStatus - 1/6 committees join | 243.56 us/op | 68.292 us/op | 3.57 |
altair processAttestation - setStatus - 1/3 committees join | 481.33 us/op | 143.33 us/op | 3.36 |
altair processAttestation - setStatus - 1/2 committees join | 556.26 us/op | 196.03 us/op | 2.84 |
altair processAttestation - setStatus - 2/3 committees join | 717.71 us/op | 264.83 us/op | 2.71 |
altair processAttestation - setStatus - 4/5 committees join | 1.0273 ms/op | 407.29 us/op | 2.52 |
altair processAttestation - setStatus - 100% committees join | 1.3335 ms/op | 491.39 us/op | 2.71 |
altair processBlock - 250000 vs - 7PWei normalcase | 13.418 ms/op | 8.6209 ms/op | 1.56 |
altair processBlock - 250000 vs - 7PWei normalcase hashState | 52.724 ms/op | 28.489 ms/op | 1.85 |
altair processBlock - 250000 vs - 7PWei worstcase | 63.131 ms/op | 33.044 ms/op | 1.91 |
altair processBlock - 250000 vs - 7PWei worstcase hashState | 152.11 ms/op | 85.303 ms/op | 1.78 |
phase0 processBlock - 250000 vs - 7PWei normalcase | 8.7880 ms/op | 1.7507 ms/op | 5.02 |
phase0 processBlock - 250000 vs - 7PWei worstcase | 50.090 ms/op | 25.446 ms/op | 1.97 |
altair processEth1Data - 250000 vs - 7PWei normalcase | 811.34 us/op | 269.37 us/op | 3.01 |
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 | 12.726 us/op | 14.802 us/op | 0.86 |
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 | 107.81 us/op | 55.098 us/op | 1.96 |
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 | 29.048 us/op | 22.755 us/op | 1.28 |
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 | 25.909 us/op | 7.6860 us/op | 3.37 |
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 | 288.44 us/op | 154.26 us/op | 1.87 |
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 | 2.1081 ms/op | 910.62 us/op | 2.31 |
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 | 2.7373 ms/op | 1.2340 ms/op | 2.22 |
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 | 2.3646 ms/op | 2.3305 ms/op | 1.01 |
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 | 3.7298 ms/op | 7.9254 ms/op | 0.47 |
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 | 3.8643 ms/op | 5.0116 ms/op | 0.77 |
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 | 5.4971 ms/op | 24.738 ms/op | 0.22 |
Tree 40 250000 create | 368.78 ms/op | 1.0471 s/op | 0.35 |
Tree 40 250000 get(125000) | 303.02 ns/op | 217.43 ns/op | 1.39 |
Tree 40 250000 set(125000) | 826.68 ns/op | 1.5328 us/op | 0.54 |
Tree 40 250000 toArray() | 21.313 ms/op | 79.870 ms/op | 0.27 |
Tree 40 250000 iterate all - toArray() + loop | 21.388 ms/op | 65.275 ms/op | 0.33 |
Tree 40 250000 iterate all - get(i) | 78.331 ms/op | 83.842 ms/op | 0.93 |
MutableVector 250000 create | 18.217 ms/op | 25.190 ms/op | 0.72 |
MutableVector 250000 get(125000) | 9.9180 ns/op | 8.7450 ns/op | 1.13 |
MutableVector 250000 set(125000) | 354.11 ns/op | 1.0307 us/op | 0.34 |
MutableVector 250000 toArray() | 4.4206 ms/op | 5.8557 ms/op | 0.75 |
MutableVector 250000 iterate all - toArray() + loop | 5.3913 ms/op | 7.0875 ms/op | 0.76 |
MutableVector 250000 iterate all - get(i) | 2.1157 ms/op | 1.4157 ms/op | 1.49 |
Array 250000 create | 3.7665 ms/op | 5.5960 ms/op | 0.67 |
Array 250000 clone - spread | 1.6364 ms/op | 1.7052 ms/op | 0.96 |
Array 250000 get(125000) | 1.3450 ns/op | 1.3680 ns/op | 0.98 |
Array 250000 set(125000) | 5.3100 ns/op | 4.9820 ns/op | 1.07 |
Array 250000 iterate all - loop | 211.23 us/op | 179.39 us/op | 1.18 |
effectiveBalanceIncrements clone Uint8Array 300000 | 50.016 us/op | 37.558 us/op | 1.33 |
effectiveBalanceIncrements clone MutableVector 300000 | 505.00 ns/op | 436.00 ns/op | 1.16 |
effectiveBalanceIncrements rw all Uint8Array 300000 | 255.04 us/op | 242.44 us/op | 1.05 |
effectiveBalanceIncrements rw all MutableVector 300000 | 150.97 ms/op | 123.36 ms/op | 1.22 |
phase0 afterProcessEpoch - 250000 vs - 7PWei | 171.60 ms/op | 119.47 ms/op | 1.44 |
phase0 beforeProcessEpoch - 250000 vs - 7PWei | 84.982 ms/op | 136.23 ms/op | 0.62 |
altair processEpoch - mainnet_e81889 | 1.0597 s/op | 816.22 ms/op | 1.30 |
mainnet_e81889 - altair beforeProcessEpoch | 127.96 ms/op | 130.51 ms/op | 0.98 |
mainnet_e81889 - altair processJustificationAndFinalization | 46.083 us/op | 37.067 us/op | 1.24 |
mainnet_e81889 - altair processInactivityUpdates | 13.842 ms/op | 19.304 ms/op | 0.72 |
mainnet_e81889 - altair processRewardsAndPenalties | 105.03 ms/op | 88.887 ms/op | 1.18 |
mainnet_e81889 - altair processRegistryUpdates | 6.8150 us/op | 9.0610 us/op | 0.75 |
mainnet_e81889 - altair processSlashings | 1.7200 us/op | 1.5810 us/op | 1.09 |
mainnet_e81889 - altair processEth1DataReset | 1.3930 us/op | 1.6780 us/op | 0.83 |
mainnet_e81889 - altair processEffectiveBalanceUpdates | 2.8107 ms/op | 1.7718 ms/op | 1.59 |
mainnet_e81889 - altair processSlashingsReset | 6.2570 us/op | 7.1290 us/op | 0.88 |
mainnet_e81889 - altair processRandaoMixesReset | 7.9130 us/op | 15.682 us/op | 0.50 |
mainnet_e81889 - altair processHistoricalRootsUpdate | 2.0920 us/op | 1.6970 us/op | 1.23 |
mainnet_e81889 - altair processParticipationFlagUpdates | 7.5530 us/op | 2.5710 us/op | 2.94 |
mainnet_e81889 - altair processSyncCommitteeUpdates | 3.3720 us/op | 862.00 ns/op | 3.91 |
mainnet_e81889 - altair afterProcessEpoch | 291.78 ms/op | 82.640 ms/op | 3.53 |
capella processEpoch - mainnet_e217614 | 2.6556 s/op | 1.4162 s/op | 1.88 |
mainnet_e217614 - capella beforeProcessEpoch | 407.42 ms/op | 250.58 ms/op | 1.63 |
mainnet_e217614 - capella processJustificationAndFinalization | 26.150 us/op | 13.883 us/op | 1.88 |
mainnet_e217614 - capella processInactivityUpdates | 33.032 ms/op | 14.555 ms/op | 2.27 |
mainnet_e217614 - capella processRewardsAndPenalties | 398.50 ms/op | 245.26 ms/op | 1.62 |
mainnet_e217614 - capella processRegistryUpdates | 36.961 us/op | 29.888 us/op | 1.24 |
mainnet_e217614 - capella processSlashings | 961.00 ns/op | 1.5660 us/op | 0.61 |
mainnet_e217614 - capella processEth1DataReset | 1.4290 us/op | 1.4460 us/op | 0.99 |
mainnet_e217614 - capella processEffectiveBalanceUpdates | 23.638 ms/op | 23.860 ms/op | 0.99 |
mainnet_e217614 - capella processSlashingsReset | 6.4000 us/op | 7.6090 us/op | 0.84 |
mainnet_e217614 - capella processRandaoMixesReset | 10.392 us/op | 10.400 us/op | 1.00 |
mainnet_e217614 - capella processHistoricalRootsUpdate | 1.0520 us/op | 1.5540 us/op | 0.68 |
mainnet_e217614 - capella processParticipationFlagUpdates | 4.9780 us/op | 5.1340 us/op | 0.97 |
mainnet_e217614 - capella afterProcessEpoch | 527.26 ms/op | 274.25 ms/op | 1.92 |
phase0 processEpoch - mainnet_e58758 | 916.12 ms/op | 561.14 ms/op | 1.63 |
mainnet_e58758 - phase0 beforeProcessEpoch | 288.91 ms/op | 162.63 ms/op | 1.78 |
mainnet_e58758 - phase0 processJustificationAndFinalization | 22.406 us/op | 24.849 us/op | 0.90 |
mainnet_e58758 - phase0 processRewardsAndPenalties | 38.266 ms/op | 33.152 ms/op | 1.15 |
mainnet_e58758 - phase0 processRegistryUpdates | 15.368 us/op | 14.798 us/op | 1.04 |
mainnet_e58758 - phase0 processSlashings | 1.1240 us/op | 1.2210 us/op | 0.92 |
mainnet_e58758 - phase0 processEth1DataReset | 1.1180 us/op | 949.00 ns/op | 1.18 |
mainnet_e58758 - phase0 processEffectiveBalanceUpdates | 2.3153 ms/op | 1.0228 ms/op | 2.26 |
mainnet_e58758 - phase0 processSlashingsReset | 5.9190 us/op | 5.8170 us/op | 1.02 |
mainnet_e58758 - phase0 processRandaoMixesReset | 14.295 us/op | 5.6200 us/op | 2.54 |
mainnet_e58758 - phase0 processHistoricalRootsUpdate | 1.3630 us/op | 715.00 ns/op | 1.91 |
mainnet_e58758 - phase0 processParticipationRecordUpdates | 11.232 us/op | 3.8030 us/op | 2.95 |
mainnet_e58758 - phase0 afterProcessEpoch | 224.89 ms/op | 77.098 ms/op | 2.92 |
phase0 processEffectiveBalanceUpdates - 250000 normalcase | 2.2914 ms/op | 1.0410 ms/op | 2.20 |
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 | 4.6474 ms/op | 1.3337 ms/op | 3.48 |
altair processInactivityUpdates - 250000 normalcase | 34.066 ms/op | 13.820 ms/op | 2.46 |
altair processInactivityUpdates - 250000 worstcase | 33.376 ms/op | 13.022 ms/op | 2.56 |
phase0 processRegistryUpdates - 250000 normalcase | 28.928 us/op | 11.293 us/op | 2.56 |
phase0 processRegistryUpdates - 250000 badcase_full_deposits | 1.0088 ms/op | 391.52 us/op | 2.58 |
phase0 processRegistryUpdates - 250000 worstcase 0.5 | 293.18 ms/op | 112.38 ms/op | 2.61 |
altair processRewardsAndPenalties - 250000 normalcase | 71.794 ms/op | 35.406 ms/op | 2.03 |
altair processRewardsAndPenalties - 250000 worstcase | 56.188 ms/op | 39.794 ms/op | 1.41 |
phase0 getAttestationDeltas - 250000 normalcase | 14.260 ms/op | 7.0924 ms/op | 2.01 |
phase0 getAttestationDeltas - 250000 worstcase | 14.378 ms/op | 5.8098 ms/op | 2.47 |
phase0 processSlashings - 250000 worstcase | 98.703 us/op | 80.027 us/op | 1.23 |
altair processSyncCommitteeUpdates - 250000 | 207.07 ms/op | 107.27 ms/op | 1.93 |
BeaconState.hashTreeRoot - No change | 751.00 ns/op | 359.00 ns/op | 2.09 |
BeaconState.hashTreeRoot - 1 full validator | 150.23 us/op | 116.80 us/op | 1.29 |
BeaconState.hashTreeRoot - 32 full validator | 2.2698 ms/op | 1.2870 ms/op | 1.76 |
BeaconState.hashTreeRoot - 512 full validator | 23.623 ms/op | 13.123 ms/op | 1.80 |
BeaconState.hashTreeRoot - 1 validator.effectiveBalance | 246.76 us/op | 156.03 us/op | 1.58 |
BeaconState.hashTreeRoot - 32 validator.effectiveBalance | 3.2760 ms/op | 1.8813 ms/op | 1.74 |
BeaconState.hashTreeRoot - 512 validator.effectiveBalance | 40.685 ms/op | 23.128 ms/op | 1.76 |
BeaconState.hashTreeRoot - 1 balances | 172.94 us/op | 100.49 us/op | 1.72 |
BeaconState.hashTreeRoot - 32 balances | 1.9831 ms/op | 942.39 us/op | 2.10 |
BeaconState.hashTreeRoot - 512 balances | 19.327 ms/op | 8.3900 ms/op | 2.30 |
BeaconState.hashTreeRoot - 250000 balances | 350.92 ms/op | 164.22 ms/op | 2.14 |
aggregationBits - 2048 els - zipIndexesInBitList | 48.021 us/op | 18.919 us/op | 2.54 |
byteArrayEquals 32 | 101.35 ns/op | 64.868 ns/op | 1.56 |
Buffer.compare 32 | 73.080 ns/op | 38.830 ns/op | 1.88 |
byteArrayEquals 1024 | 3.3885 us/op | 1.7733 us/op | 1.91 |
Buffer.compare 1024 | 113.82 ns/op | 45.673 ns/op | 2.49 |
byteArrayEquals 16384 | 43.391 us/op | 28.165 us/op | 1.54 |
Buffer.compare 16384 | 349.52 ns/op | 217.40 ns/op | 1.61 |
byteArrayEquals 123687377 | 323.18 ms/op | 199.91 ms/op | 1.62 |
Buffer.compare 123687377 | 9.5954 ms/op | 4.4974 ms/op | 2.13 |
byteArrayEquals 32 - diff last byte | 83.466 ns/op | 62.969 ns/op | 1.33 |
Buffer.compare 32 - diff last byte | 61.791 ns/op | 38.259 ns/op | 1.62 |
byteArrayEquals 1024 - diff last byte | 2.2302 us/op | 1.7683 us/op | 1.26 |
Buffer.compare 1024 - diff last byte | 98.578 ns/op | 46.592 ns/op | 2.12 |
byteArrayEquals 16384 - diff last byte | 45.317 us/op | 28.295 us/op | 1.60 |
Buffer.compare 16384 - diff last byte | 317.68 ns/op | 223.80 ns/op | 1.42 |
byteArrayEquals 123687377 - diff last byte | 294.21 ms/op | 208.19 ms/op | 1.41 |
Buffer.compare 123687377 - diff last byte | 6.1605 ms/op | 6.0828 ms/op | 1.01 |
byteArrayEquals 32 - random bytes | 5.9200 ns/op | 5.0050 ns/op | 1.18 |
Buffer.compare 32 - random bytes | 67.474 ns/op | 40.703 ns/op | 1.66 |
byteArrayEquals 1024 - random bytes | 5.6420 ns/op | 4.5460 ns/op | 1.24 |
Buffer.compare 1024 - random bytes | 66.494 ns/op | 39.578 ns/op | 1.68 |
byteArrayEquals 16384 - random bytes | 5.6350 ns/op | 4.5170 ns/op | 1.25 |
Buffer.compare 16384 - random bytes | 66.690 ns/op | 37.463 ns/op | 1.78 |
byteArrayEquals 123687377 - random bytes | 8.7100 ns/op | 7.9100 ns/op | 1.10 |
Buffer.compare 123687377 - random bytes | 69.440 ns/op | 42.850 ns/op | 1.62 |
regular array get 100000 times | 48.220 us/op | 41.275 us/op | 1.17 |
wrappedArray get 100000 times | 48.158 us/op | 41.205 us/op | 1.17 |
arrayWithProxy get 100000 times | 16.343 ms/op | 10.255 ms/op | 1.59 |
ssz.Root.equals | 59.392 ns/op | 55.511 ns/op | 1.07 |
byteArrayEquals | 59.064 ns/op | 56.206 ns/op | 1.05 |
Buffer.compare | 12.198 ns/op | 9.4530 ns/op | 1.29 |
shuffle list - 16384 els | 8.6056 ms/op | 5.6971 ms/op | 1.51 |
shuffle list - 250000 els | 126.49 ms/op | 83.155 ms/op | 1.52 |
processSlot - 1 slots | 21.768 us/op | 17.636 us/op | 1.23 |
processSlot - 32 slots | 3.6340 ms/op | 3.3500 ms/op | 1.08 |
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei | 62.343 ms/op | 47.136 ms/op | 1.32 |
getCommitteeAssignments - req 1 vs - 250000 vc | 2.7279 ms/op | 2.3439 ms/op | 1.16 |
getCommitteeAssignments - req 100 vs - 250000 vc | 3.9232 ms/op | 3.4777 ms/op | 1.13 |
getCommitteeAssignments - req 1000 vs - 250000 vc | 4.2859 ms/op | 3.7419 ms/op | 1.15 |
findModifiedValidators - 10000 modified validators | 356.01 ms/op | 290.37 ms/op | 1.23 |
findModifiedValidators - 1000 modified validators | 226.60 ms/op | 179.14 ms/op | 1.26 |
findModifiedValidators - 100 modified validators | 195.33 ms/op | 160.24 ms/op | 1.22 |
findModifiedValidators - 10 modified validators | 228.06 ms/op | 141.79 ms/op | 1.61 |
findModifiedValidators - 1 modified validators | 204.02 ms/op | 211.88 ms/op | 0.96 |
findModifiedValidators - no difference | 208.11 ms/op | 189.25 ms/op | 1.10 |
compare ViewDUs | 4.3206 s/op | 3.4397 s/op | 1.26 |
compare each validator Uint8Array | 1.6719 s/op | 1.8470 s/op | 0.91 |
compare ViewDU to Uint8Array | 1.1442 s/op | 1.0904 s/op | 1.05 |
migrate state 1000000 validators, 24 modified, 0 new | 767.03 ms/op | 655.11 ms/op | 1.17 |
migrate state 1000000 validators, 1700 modified, 1000 new | 1.1957 s/op | 970.57 ms/op | 1.23 |
migrate state 1000000 validators, 3400 modified, 2000 new | 1.5440 s/op | 1.3245 s/op | 1.17 |
migrate state 1500000 validators, 24 modified, 0 new | 815.89 ms/op | 748.97 ms/op | 1.09 |
migrate state 1500000 validators, 1700 modified, 1000 new | 1.4840 s/op | 1.0843 s/op | 1.37 |
migrate state 1500000 validators, 3400 modified, 2000 new | 2.7053 s/op | 1.3973 s/op | 1.94 |
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei | 15.080 ns/op | 4.8700 ns/op | 3.10 |
state getBlockRootAtSlot - 250000 vs - 7PWei | 1.2344 us/op | 481.17 ns/op | 2.57 |
computeProposers - vc 250000 | 20.920 ms/op | 6.0773 ms/op | 3.44 |
computeEpochShuffling - vc 250000 | 291.60 ms/op | 82.285 ms/op | 3.54 |
getNextSyncCommittee - vc 250000 | 405.24 ms/op | 108.09 ms/op | 3.75 |
computeSigningRoot for AttestationData | 70.325 us/op | 20.640 us/op | 3.41 |
hash AttestationData serialized data then Buffer.toString(base64) | 5.7913 us/op | 1.2969 us/op | 4.47 |
toHexString serialized data | 2.6146 us/op | 797.14 ns/op | 3.28 |
Buffer.toString(base64) | 509.27 ns/op | 150.67 ns/op | 3.38 |
by benchmarkbot/action
Co-authored-by: Julien <jeluard@users.noreply.github.com>
Co-authored-by: Julien <jeluard@users.noreply.github.com>
* 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>
🎉 This PR is included in v1.19.0 🎉 |
Motivation
Allow multiple use-cases with the Lodestar Prover.
Description
Steps to test or reproduce