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: update the naming conventions used in sim tests #6805

Merged
merged 6 commits into from
May 23, 2024

Conversation

nazarhussain
Copy link
Contributor

@nazarhussain nazarhussain commented May 21, 2024

Motivation

Wanted to publish the simulation framework as public package. So this naming refactor will make it easier to understand.

Description

  • Rename simulation framework to crucible
  • Rename SimulationEnvironment to Simulation

Steps to test or reproduce

  • Run all tests

@nazarhussain nazarhussain requested a review from a team as a code owner May 21, 2024 10:47
@nazarhussain nazarhussain self-assigned this May 21, 2024
Copy link

codecov bot commented May 21, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 62.20%. Comparing base (992fdd4) to head (4c4cf93).
Report is 1 commits behind head on unstable.

Additional details and impacted files
@@             Coverage Diff              @@
##           unstable    #6805      +/-   ##
============================================
- Coverage     62.20%   62.20%   -0.01%     
============================================
  Files           570      570              
  Lines         59987    59987              
  Branches       1975     1972       -3     
============================================
- Hits          37317    37316       -1     
- Misses        22627    22628       +1     
  Partials         43       43              

Copy link
Contributor

github-actions bot commented May 21, 2024

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: df9dd0e Previous: 3c5bb15 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 1.0138 ms/op 796.84 us/op 1.27
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 53.131 us/op 49.788 us/op 1.07
BLS verify - blst-native 1.0888 ms/op 1.1009 ms/op 0.99
BLS verifyMultipleSignatures 3 - blst-native 2.0894 ms/op 2.1276 ms/op 0.98
BLS verifyMultipleSignatures 8 - blst-native 4.5473 ms/op 4.6096 ms/op 0.99
BLS verifyMultipleSignatures 32 - blst-native 16.529 ms/op 17.018 ms/op 0.97
BLS verifyMultipleSignatures 64 - blst-native 32.187 ms/op 33.244 ms/op 0.97
BLS verifyMultipleSignatures 128 - blst-native 63.903 ms/op 65.764 ms/op 0.97
BLS deserializing 10000 signatures 778.98 ms/op 778.77 ms/op 1.00
BLS deserializing 100000 signatures 8.1407 s/op 7.8507 s/op 1.04
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.1800 ms/op 1.2049 ms/op 0.98
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.3367 ms/op 1.2813 ms/op 1.04
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.1321 ms/op 2.0450 ms/op 1.04
BLS verifyMultipleSignatures - same message - 64 - blst-native 3.0319 ms/op 3.0613 ms/op 0.99
BLS verifyMultipleSignatures - same message - 128 - blst-native 5.0847 ms/op 5.2883 ms/op 0.96
BLS aggregatePubkeys 32 - blst-native 25.476 us/op 26.153 us/op 0.97
BLS aggregatePubkeys 128 - blst-native 96.540 us/op 97.576 us/op 0.99
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 58.430 ms/op 42.011 ms/op 1.39
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 42.321 ms/op 50.446 ms/op 0.84
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 23.510 ms/op 28.776 ms/op 0.82
getSlashingsAndExits - default max 125.89 us/op 173.89 us/op 0.72
getSlashingsAndExits - 2k 324.63 us/op 529.30 us/op 0.61
proposeBlockBody type=full, size=empty 4.0110 ms/op 4.2758 ms/op 0.94
isKnown best case - 1 super set check 294.00 ns/op 492.00 ns/op 0.60
isKnown normal case - 2 super set checks 307.00 ns/op 572.00 ns/op 0.54
isKnown worse case - 16 super set checks 301.00 ns/op 442.00 ns/op 0.68
InMemoryCheckpointStateCache - add get delete 4.1280 us/op 5.9400 us/op 0.69
validate api signedAggregateAndProof - struct 2.0194 ms/op 2.2501 ms/op 0.90
validate gossip signedAggregateAndProof - struct 2.0125 ms/op 2.2120 ms/op 0.91
validate gossip attestation - vc 640000 1.1432 ms/op 1.2642 ms/op 0.90
batch validate gossip attestation - vc 640000 - chunk 32 138.88 us/op 171.91 us/op 0.81
batch validate gossip attestation - vc 640000 - chunk 64 124.50 us/op 146.78 us/op 0.85
batch validate gossip attestation - vc 640000 - chunk 128 113.88 us/op 135.89 us/op 0.84
batch validate gossip attestation - vc 640000 - chunk 256 109.85 us/op 135.77 us/op 0.81
pickEth1Vote - no votes 864.87 us/op 1.0060 ms/op 0.86
pickEth1Vote - max votes 5.3487 ms/op 8.4571 ms/op 0.63
pickEth1Vote - Eth1Data hashTreeRoot value x2048 11.764 ms/op 18.061 ms/op 0.65
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 17.403 ms/op 29.260 ms/op 0.59
pickEth1Vote - Eth1Data fastSerialize value x2048 435.70 us/op 623.43 us/op 0.70
pickEth1Vote - Eth1Data fastSerialize tree x2048 3.1570 ms/op 6.1981 ms/op 0.51
bytes32 toHexString 451.00 ns/op 446.00 ns/op 1.01
bytes32 Buffer.toString(hex) 300.00 ns/op 222.00 ns/op 1.35
bytes32 Buffer.toString(hex) from Uint8Array 398.00 ns/op 341.00 ns/op 1.17
bytes32 Buffer.toString(hex) + 0x 309.00 ns/op 210.00 ns/op 1.47
Object access 1 prop 0.19200 ns/op 0.13400 ns/op 1.43
Map access 1 prop 0.19900 ns/op 0.12900 ns/op 1.54
Object get x1000 5.4790 ns/op 5.7100 ns/op 0.96
Map get x1000 0.70000 ns/op 0.73200 ns/op 0.96
Object set x1000 24.811 ns/op 34.498 ns/op 0.72
Map set x1000 16.715 ns/op 19.011 ns/op 0.88
Return object 10000 times 0.22450 ns/op 0.24570 ns/op 0.91
Throw Error 10000 times 2.7686 us/op 2.8576 us/op 0.97
fastMsgIdFn sha256 / 200 bytes 1.9660 us/op 2.1040 us/op 0.93
fastMsgIdFn h32 xxhash / 200 bytes 284.00 ns/op 230.00 ns/op 1.23
fastMsgIdFn h64 xxhash / 200 bytes 334.00 ns/op 247.00 ns/op 1.35
fastMsgIdFn sha256 / 1000 bytes 6.2540 us/op 6.4750 us/op 0.97
fastMsgIdFn h32 xxhash / 1000 bytes 399.00 ns/op 395.00 ns/op 1.01
fastMsgIdFn h64 xxhash / 1000 bytes 392.00 ns/op 344.00 ns/op 1.14
fastMsgIdFn sha256 / 10000 bytes 53.648 us/op 59.569 us/op 0.90
fastMsgIdFn h32 xxhash / 10000 bytes 1.7820 us/op 1.8910 us/op 0.94
fastMsgIdFn h64 xxhash / 10000 bytes 1.2150 us/op 1.3040 us/op 0.93
send data - 1000 256B messages 10.243 ms/op 14.863 ms/op 0.69
send data - 1000 512B messages 17.173 ms/op 20.782 ms/op 0.83
send data - 1000 1024B messages 23.403 ms/op 25.588 ms/op 0.91
send data - 1000 1200B messages 23.696 ms/op 30.479 ms/op 0.78
send data - 1000 2048B messages 31.225 ms/op 38.919 ms/op 0.80
send data - 1000 4096B messages 29.978 ms/op 32.154 ms/op 0.93
send data - 1000 16384B messages 75.419 ms/op 81.200 ms/op 0.93
send data - 1000 65536B messages 358.48 ms/op 371.05 ms/op 0.97
enrSubnets - fastDeserialize 64 bits 926.00 ns/op 1.4000 us/op 0.66
enrSubnets - ssz BitVector 64 bits 417.00 ns/op 537.00 ns/op 0.78
enrSubnets - fastDeserialize 4 bits 198.00 ns/op 219.00 ns/op 0.90
enrSubnets - ssz BitVector 4 bits 414.00 ns/op 506.00 ns/op 0.82
prioritizePeers score -10:0 att 32-0.1 sync 2-0 142.69 us/op 197.62 us/op 0.72
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 170.90 us/op 294.19 us/op 0.58
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 244.77 us/op 318.92 us/op 0.77
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 357.50 us/op 539.96 us/op 0.66
prioritizePeers score 0:0 att 64-1 sync 4-1 455.34 us/op 588.39 us/op 0.77
array of 16000 items push then shift 1.3292 us/op 1.4836 us/op 0.90
LinkedList of 16000 items push then shift 6.1190 ns/op 7.7840 ns/op 0.79
array of 16000 items push then pop 64.564 ns/op 110.12 ns/op 0.59
LinkedList of 16000 items push then pop 5.9060 ns/op 9.5520 ns/op 0.62
array of 24000 items push then shift 1.9775 us/op 2.0891 us/op 0.95
LinkedList of 24000 items push then shift 6.1140 ns/op 7.3340 ns/op 0.83
array of 24000 items push then pop 114.70 ns/op 157.98 ns/op 0.73
LinkedList of 24000 items push then pop 6.0010 ns/op 6.2010 ns/op 0.97
intersect bitArray bitLen 8 5.0430 ns/op 5.2120 ns/op 0.97
intersect array and set length 8 51.737 ns/op 48.714 ns/op 1.06
intersect bitArray bitLen 128 29.643 ns/op 30.880 ns/op 0.96
intersect array and set length 128 786.76 ns/op 820.95 ns/op 0.96
bitArray.getTrueBitIndexes() bitLen 128 1.6270 us/op 1.4500 us/op 1.12
bitArray.getTrueBitIndexes() bitLen 248 3.1770 us/op 2.3260 us/op 1.37
bitArray.getTrueBitIndexes() bitLen 512 7.0880 us/op 5.8190 us/op 1.22
Buffer.concat 32 items 983.00 ns/op 845.00 ns/op 1.16
Uint8Array.set 32 items 1.8320 us/op 1.7460 us/op 1.05
Set add up to 64 items then delete first 1.8018 us/op 1.8012 us/op 1.00
OrderedSet add up to 64 items then delete first 2.7530 us/op 2.6777 us/op 1.03
Set add up to 64 items then delete last 2.0602 us/op 2.0148 us/op 1.02
OrderedSet add up to 64 items then delete last 3.0210 us/op 2.9844 us/op 1.01
Set add up to 64 items then delete middle 1.9998 us/op 2.0499 us/op 0.98
OrderedSet add up to 64 items then delete middle 4.3575 us/op 4.2779 us/op 1.02
Set add up to 128 items then delete first 3.9504 us/op 3.9452 us/op 1.00
OrderedSet add up to 128 items then delete first 6.1839 us/op 6.1885 us/op 1.00
Set add up to 128 items then delete last 3.8419 us/op 3.8126 us/op 1.01
OrderedSet add up to 128 items then delete last 5.8553 us/op 6.2387 us/op 0.94
Set add up to 128 items then delete middle 3.8672 us/op 4.0837 us/op 0.95
OrderedSet add up to 128 items then delete middle 11.018 us/op 11.003 us/op 1.00
Set add up to 256 items then delete first 7.7302 us/op 7.8155 us/op 0.99
OrderedSet add up to 256 items then delete first 12.291 us/op 12.562 us/op 0.98
Set add up to 256 items then delete last 7.5977 us/op 7.4554 us/op 1.02
OrderedSet add up to 256 items then delete last 11.800 us/op 11.443 us/op 1.03
Set add up to 256 items then delete middle 7.7762 us/op 7.4692 us/op 1.04
OrderedSet add up to 256 items then delete middle 31.408 us/op 31.400 us/op 1.00
transfer serialized Status (84 B) 1.4750 us/op 1.3050 us/op 1.13
copy serialized Status (84 B) 1.1750 us/op 1.1280 us/op 1.04
transfer serialized SignedVoluntaryExit (112 B) 1.5800 us/op 1.7350 us/op 0.91
copy serialized SignedVoluntaryExit (112 B) 1.2710 us/op 1.1430 us/op 1.11
transfer serialized ProposerSlashing (416 B) 1.8340 us/op 1.6510 us/op 1.11
copy serialized ProposerSlashing (416 B) 1.6250 us/op 1.9570 us/op 0.83
transfer serialized Attestation (485 B) 1.8810 us/op 1.7780 us/op 1.06
copy serialized Attestation (485 B) 1.8200 us/op 1.8800 us/op 0.97
transfer serialized AttesterSlashing (33232 B) 1.6770 us/op 2.1370 us/op 0.78
copy serialized AttesterSlashing (33232 B) 5.8780 us/op 5.1960 us/op 1.13
transfer serialized Small SignedBeaconBlock (128000 B) 2.4580 us/op 2.3890 us/op 1.03
copy serialized Small SignedBeaconBlock (128000 B) 12.106 us/op 9.4460 us/op 1.28
transfer serialized Avg SignedBeaconBlock (200000 B) 2.5370 us/op 2.1980 us/op 1.15
copy serialized Avg SignedBeaconBlock (200000 B) 16.884 us/op 12.208 us/op 1.38
transfer serialized BlobsSidecar (524380 B) 2.8560 us/op 2.8580 us/op 1.00
copy serialized BlobsSidecar (524380 B) 77.212 us/op 133.19 us/op 0.58
transfer serialized Big SignedBeaconBlock (1000000 B) 3.3900 us/op 2.9300 us/op 1.16
copy serialized Big SignedBeaconBlock (1000000 B) 214.53 us/op 194.66 us/op 1.10
pass gossip attestations to forkchoice per slot 3.2330 ms/op 2.7602 ms/op 1.17
forkChoice updateHead vc 100000 bc 64 eq 0 502.09 us/op 434.21 us/op 1.16
forkChoice updateHead vc 600000 bc 64 eq 0 4.7117 ms/op 2.6447 ms/op 1.78
forkChoice updateHead vc 1000000 bc 64 eq 0 5.5043 ms/op 4.5824 ms/op 1.20
forkChoice updateHead vc 600000 bc 320 eq 0 3.2209 ms/op 2.6701 ms/op 1.21
forkChoice updateHead vc 600000 bc 1200 eq 0 3.4161 ms/op 3.0048 ms/op 1.14
forkChoice updateHead vc 600000 bc 7200 eq 0 4.7320 ms/op 3.7723 ms/op 1.25
forkChoice updateHead vc 600000 bc 64 eq 1000 10.729 ms/op 10.459 ms/op 1.03
forkChoice updateHead vc 600000 bc 64 eq 10000 10.097 ms/op 10.066 ms/op 1.00
forkChoice updateHead vc 600000 bc 64 eq 300000 13.240 ms/op 13.424 ms/op 0.99
computeDeltas 500000 validators 300 proto nodes 3.3870 ms/op 3.5288 ms/op 0.96
computeDeltas 500000 validators 1200 proto nodes 3.4980 ms/op 3.3377 ms/op 1.05
computeDeltas 500000 validators 7200 proto nodes 3.1954 ms/op 3.1135 ms/op 1.03
computeDeltas 750000 validators 300 proto nodes 5.2366 ms/op 4.8240 ms/op 1.09
computeDeltas 750000 validators 1200 proto nodes 5.5136 ms/op 4.6192 ms/op 1.19
computeDeltas 750000 validators 7200 proto nodes 4.8750 ms/op 4.6206 ms/op 1.06
computeDeltas 1400000 validators 300 proto nodes 9.4075 ms/op 8.7697 ms/op 1.07
computeDeltas 1400000 validators 1200 proto nodes 9.4432 ms/op 9.2060 ms/op 1.03
computeDeltas 1400000 validators 7200 proto nodes 9.8976 ms/op 8.7944 ms/op 1.13
computeDeltas 2100000 validators 300 proto nodes 15.664 ms/op 13.396 ms/op 1.17
computeDeltas 2100000 validators 1200 proto nodes 14.401 ms/op 13.496 ms/op 1.07
computeDeltas 2100000 validators 7200 proto nodes 14.292 ms/op 13.339 ms/op 1.07
altair processAttestation - 250000 vs - 7PWei normalcase 3.0047 ms/op 1.3521 ms/op 2.22
altair processAttestation - 250000 vs - 7PWei worstcase 3.7768 ms/op 2.0853 ms/op 1.81
altair processAttestation - setStatus - 1/6 committees join 131.10 us/op 91.572 us/op 1.43
altair processAttestation - setStatus - 1/3 committees join 212.84 us/op 178.63 us/op 1.19
altair processAttestation - setStatus - 1/2 committees join 316.43 us/op 268.59 us/op 1.18
altair processAttestation - setStatus - 2/3 committees join 400.13 us/op 348.71 us/op 1.15
altair processAttestation - setStatus - 4/5 committees join 579.75 us/op 471.95 us/op 1.23
altair processAttestation - setStatus - 100% committees join 725.68 us/op 572.51 us/op 1.27
altair processBlock - 250000 vs - 7PWei normalcase 9.3006 ms/op 5.8341 ms/op 1.59
altair processBlock - 250000 vs - 7PWei normalcase hashState 24.803 ms/op 25.231 ms/op 0.98
altair processBlock - 250000 vs - 7PWei worstcase 28.258 ms/op 29.344 ms/op 0.96
altair processBlock - 250000 vs - 7PWei worstcase hashState 82.751 ms/op 69.583 ms/op 1.19
phase0 processBlock - 250000 vs - 7PWei normalcase 2.3726 ms/op 2.1438 ms/op 1.11
phase0 processBlock - 250000 vs - 7PWei worstcase 27.833 ms/op 26.874 ms/op 1.04
altair processEth1Data - 250000 vs - 7PWei normalcase 563.25 us/op 425.10 us/op 1.32
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 14.730 us/op 14.014 us/op 1.05
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 36.603 us/op 48.695 us/op 0.75
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 17.318 us/op 18.592 us/op 0.93
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 16.568 us/op 14.582 us/op 1.14
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 148.80 us/op 180.72 us/op 0.82
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.0448 ms/op 1.2839 ms/op 0.81
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 889.64 us/op 1.7076 ms/op 0.52
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.3241 ms/op 1.7029 ms/op 0.78
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 2.2614 ms/op 2.8835 ms/op 0.78
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.8613 ms/op 1.8388 ms/op 1.01
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 3.8971 ms/op 4.3270 ms/op 0.90
Tree 40 250000 create 246.47 ms/op 256.27 ms/op 0.96
Tree 40 250000 get(125000) 119.93 ns/op 119.90 ns/op 1.00
Tree 40 250000 set(125000) 566.03 ns/op 665.49 ns/op 0.85
Tree 40 250000 toArray() 18.152 ms/op 17.633 ms/op 1.03
Tree 40 250000 iterate all - toArray() + loop 18.475 ms/op 16.699 ms/op 1.11
Tree 40 250000 iterate all - get(i) 48.794 ms/op 53.906 ms/op 0.91
MutableVector 250000 create 9.7073 ms/op 8.2726 ms/op 1.17
MutableVector 250000 get(125000) 5.7110 ns/op 5.7690 ns/op 0.99
MutableVector 250000 set(125000) 214.43 ns/op 206.36 ns/op 1.04
MutableVector 250000 toArray() 3.4663 ms/op 2.2715 ms/op 1.53
MutableVector 250000 iterate all - toArray() + loop 2.6308 ms/op 2.4050 ms/op 1.09
MutableVector 250000 iterate all - get(i) 1.3682 ms/op 1.3663 ms/op 1.00
Array 250000 create 2.4391 ms/op 2.8080 ms/op 0.87
Array 250000 clone - spread 1.1872 ms/op 1.1653 ms/op 1.02
Array 250000 get(125000) 1.0570 ns/op 0.97300 ns/op 1.09
Array 250000 set(125000) 1.2810 ns/op 1.1850 ns/op 1.08
Array 250000 iterate all - loop 156.25 us/op 159.36 us/op 0.98
effectiveBalanceIncrements clone Uint8Array 300000 15.970 us/op 14.386 us/op 1.11
effectiveBalanceIncrements clone MutableVector 300000 430.00 ns/op 340.00 ns/op 1.26
effectiveBalanceIncrements rw all Uint8Array 300000 185.44 us/op 191.53 us/op 0.97
effectiveBalanceIncrements rw all MutableVector 300000 68.574 ms/op 73.747 ms/op 0.93
phase0 afterProcessEpoch - 250000 vs - 7PWei 77.636 ms/op 83.481 ms/op 0.93
phase0 beforeProcessEpoch - 250000 vs - 7PWei 34.245 ms/op 47.684 ms/op 0.72
altair processEpoch - mainnet_e81889 387.98 ms/op 360.78 ms/op 1.08
mainnet_e81889 - altair beforeProcessEpoch 56.809 ms/op 58.882 ms/op 0.96
mainnet_e81889 - altair processJustificationAndFinalization 9.6250 us/op 12.794 us/op 0.75
mainnet_e81889 - altair processInactivityUpdates 5.3737 ms/op 5.1028 ms/op 1.05
mainnet_e81889 - altair processRewardsAndPenalties 52.014 ms/op 54.929 ms/op 0.95
mainnet_e81889 - altair processRegistryUpdates 1.0340 us/op 2.0160 us/op 0.51
mainnet_e81889 - altair processSlashings 668.00 ns/op 438.00 ns/op 1.53
mainnet_e81889 - altair processEth1DataReset 889.00 ns/op 493.00 ns/op 1.80
mainnet_e81889 - altair processEffectiveBalanceUpdates 970.07 us/op 990.30 us/op 0.98
mainnet_e81889 - altair processSlashingsReset 4.3210 us/op 3.0730 us/op 1.41
mainnet_e81889 - altair processRandaoMixesReset 4.5550 us/op 5.7230 us/op 0.80
mainnet_e81889 - altair processHistoricalRootsUpdate 1.0940 us/op 662.00 ns/op 1.65
mainnet_e81889 - altair processParticipationFlagUpdates 2.9420 us/op 1.3610 us/op 2.16
mainnet_e81889 - altair processSyncCommitteeUpdates 650.00 ns/op 780.00 ns/op 0.83
mainnet_e81889 - altair afterProcessEpoch 84.375 ms/op 81.483 ms/op 1.04
capella processEpoch - mainnet_e217614 1.2108 s/op 1.2726 s/op 0.95
mainnet_e217614 - capella beforeProcessEpoch 232.45 ms/op 266.69 ms/op 0.87
mainnet_e217614 - capella processJustificationAndFinalization 10.962 us/op 18.430 us/op 0.59
mainnet_e217614 - capella processInactivityUpdates 14.068 ms/op 14.024 ms/op 1.00
mainnet_e217614 - capella processRewardsAndPenalties 247.64 ms/op 248.40 ms/op 1.00
mainnet_e217614 - capella processRegistryUpdates 15.822 us/op 15.103 us/op 1.05
mainnet_e217614 - capella processSlashings 676.00 ns/op 1.1050 us/op 0.61
mainnet_e217614 - capella processEth1DataReset 562.00 ns/op 420.00 ns/op 1.34
mainnet_e217614 - capella processEffectiveBalanceUpdates 13.326 ms/op 3.4546 ms/op 3.86
mainnet_e217614 - capella processSlashingsReset 3.2270 us/op 3.1000 us/op 1.04
mainnet_e217614 - capella processRandaoMixesReset 3.2100 us/op 4.7080 us/op 0.68
mainnet_e217614 - capella processHistoricalRootsUpdate 579.00 ns/op 728.00 ns/op 0.80
mainnet_e217614 - capella processParticipationFlagUpdates 1.1240 us/op 2.6150 us/op 0.43
mainnet_e217614 - capella afterProcessEpoch 219.07 ms/op 220.59 ms/op 0.99
phase0 processEpoch - mainnet_e58758 404.63 ms/op 428.73 ms/op 0.94
mainnet_e58758 - phase0 beforeProcessEpoch 119.11 ms/op 103.29 ms/op 1.15
mainnet_e58758 - phase0 processJustificationAndFinalization 13.572 us/op 17.067 us/op 0.80
mainnet_e58758 - phase0 processRewardsAndPenalties 31.190 ms/op 24.290 ms/op 1.28
mainnet_e58758 - phase0 processRegistryUpdates 6.8990 us/op 10.591 us/op 0.65
mainnet_e58758 - phase0 processSlashings 623.00 ns/op 522.00 ns/op 1.19
mainnet_e58758 - phase0 processEth1DataReset 508.00 ns/op 558.00 ns/op 0.91
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.3623 ms/op 991.87 us/op 1.37
mainnet_e58758 - phase0 processSlashingsReset 4.7840 us/op 5.1420 us/op 0.93
mainnet_e58758 - phase0 processRandaoMixesReset 4.1310 us/op 4.0620 us/op 1.02
mainnet_e58758 - phase0 processHistoricalRootsUpdate 690.00 ns/op 714.00 ns/op 0.97
mainnet_e58758 - phase0 processParticipationRecordUpdates 3.3500 us/op 4.3800 us/op 0.76
mainnet_e58758 - phase0 afterProcessEpoch 68.287 ms/op 70.986 ms/op 0.96
phase0 processEffectiveBalanceUpdates - 250000 normalcase 999.94 us/op 1.0498 ms/op 0.95
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 2.1866 ms/op 1.6063 ms/op 1.36
altair processInactivityUpdates - 250000 normalcase 10.221 ms/op 11.983 ms/op 0.85
altair processInactivityUpdates - 250000 worstcase 15.163 ms/op 15.036 ms/op 1.01
phase0 processRegistryUpdates - 250000 normalcase 7.2540 us/op 8.6020 us/op 0.84
phase0 processRegistryUpdates - 250000 badcase_full_deposits 458.21 us/op 441.63 us/op 1.04
phase0 processRegistryUpdates - 250000 worstcase 0.5 115.89 ms/op 112.57 ms/op 1.03
altair processRewardsAndPenalties - 250000 normalcase 44.196 ms/op 48.459 ms/op 0.91
altair processRewardsAndPenalties - 250000 worstcase 49.762 ms/op 47.938 ms/op 1.04
phase0 getAttestationDeltas - 250000 normalcase 7.1767 ms/op 6.2662 ms/op 1.15
phase0 getAttestationDeltas - 250000 worstcase 6.8232 ms/op 5.6338 ms/op 1.21
phase0 processSlashings - 250000 worstcase 85.933 us/op 85.433 us/op 1.01
altair processSyncCommitteeUpdates - 250000 107.45 ms/op 115.06 ms/op 0.93
BeaconState.hashTreeRoot - No change 386.00 ns/op 853.00 ns/op 0.45
BeaconState.hashTreeRoot - 1 full validator 93.063 us/op 139.35 us/op 0.67
BeaconState.hashTreeRoot - 32 full validator 977.96 us/op 1.4802 ms/op 0.66
BeaconState.hashTreeRoot - 512 full validator 10.626 ms/op 15.407 ms/op 0.69
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 116.41 us/op 155.41 us/op 0.75
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.6067 ms/op 2.3429 ms/op 0.69
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 20.858 ms/op 27.106 ms/op 0.77
BeaconState.hashTreeRoot - 1 balances 93.163 us/op 109.36 us/op 0.85
BeaconState.hashTreeRoot - 32 balances 822.47 us/op 1.0281 ms/op 0.80
BeaconState.hashTreeRoot - 512 balances 8.5387 ms/op 11.441 ms/op 0.75
BeaconState.hashTreeRoot - 250000 balances 165.21 ms/op 199.26 ms/op 0.83
aggregationBits - 2048 els - zipIndexesInBitList 24.235 us/op 25.066 us/op 0.97
byteArrayEquals 32 62.965 ns/op 62.279 ns/op 1.01
Buffer.compare 32 35.544 ns/op 35.607 ns/op 1.00
byteArrayEquals 1024 1.6674 us/op 1.6281 us/op 1.02
Buffer.compare 1024 41.540 ns/op 40.490 ns/op 1.03
byteArrayEquals 16384 26.467 us/op 25.863 us/op 1.02
Buffer.compare 16384 219.34 ns/op 212.40 ns/op 1.03
byteArrayEquals 123687377 206.05 ms/op 202.32 ms/op 1.02
Buffer.compare 123687377 5.5566 ms/op 4.2176 ms/op 1.32
byteArrayEquals 32 - diff last byte 59.098 ns/op 61.370 ns/op 0.96
Buffer.compare 32 - diff last byte 39.257 ns/op 37.731 ns/op 1.04
byteArrayEquals 1024 - diff last byte 1.7021 us/op 1.8559 us/op 0.92
Buffer.compare 1024 - diff last byte 44.500 ns/op 47.216 ns/op 0.94
byteArrayEquals 16384 - diff last byte 27.925 us/op 27.411 us/op 1.02
Buffer.compare 16384 - diff last byte 210.29 ns/op 199.52 ns/op 1.05
byteArrayEquals 123687377 - diff last byte 203.51 ms/op 201.86 ms/op 1.01
Buffer.compare 123687377 - diff last byte 5.9853 ms/op 4.4613 ms/op 1.34
byteArrayEquals 32 - random bytes 4.8840 ns/op 4.4190 ns/op 1.11
Buffer.compare 32 - random bytes 40.635 ns/op 39.118 ns/op 1.04
byteArrayEquals 1024 - random bytes 4.4680 ns/op 4.3830 ns/op 1.02
Buffer.compare 1024 - random bytes 37.955 ns/op 37.243 ns/op 1.02
byteArrayEquals 16384 - random bytes 4.4950 ns/op 4.3610 ns/op 1.03
Buffer.compare 16384 - random bytes 38.491 ns/op 37.222 ns/op 1.03
byteArrayEquals 123687377 - random bytes 10.790 ns/op 6.7700 ns/op 1.59
Buffer.compare 123687377 - random bytes 40.780 ns/op 42.410 ns/op 0.96
regular array get 100000 times 41.307 us/op 40.977 us/op 1.01
wrappedArray get 100000 times 41.277 us/op 41.946 us/op 0.98
arrayWithProxy get 100000 times 10.485 ms/op 10.929 ms/op 0.96
ssz.Root.equals 56.013 ns/op 53.099 ns/op 1.05
byteArrayEquals 54.531 ns/op 52.514 ns/op 1.04
Buffer.compare 9.5800 ns/op 8.8140 ns/op 1.09
shuffle list - 16384 els 5.8733 ms/op 5.8120 ms/op 1.01
shuffle list - 250000 els 87.093 ms/op 87.242 ms/op 1.00
processSlot - 1 slots 16.389 us/op 16.519 us/op 0.99
processSlot - 32 slots 3.0386 ms/op 2.7911 ms/op 1.09
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 49.999 ms/op 49.935 ms/op 1.00
getCommitteeAssignments - req 1 vs - 250000 vc 2.3278 ms/op 2.4031 ms/op 0.97
getCommitteeAssignments - req 100 vs - 250000 vc 3.4437 ms/op 3.5455 ms/op 0.97
getCommitteeAssignments - req 1000 vs - 250000 vc 3.7699 ms/op 3.8391 ms/op 0.98
findModifiedValidators - 10000 modified validators 292.12 ms/op 286.48 ms/op 1.02
findModifiedValidators - 1000 modified validators 177.73 ms/op 168.81 ms/op 1.05
findModifiedValidators - 100 modified validators 159.63 ms/op 147.56 ms/op 1.08
findModifiedValidators - 10 modified validators 149.54 ms/op 156.74 ms/op 0.95
findModifiedValidators - 1 modified validators 152.44 ms/op 140.26 ms/op 1.09
findModifiedValidators - no difference 158.32 ms/op 155.85 ms/op 1.02
compare ViewDUs 3.4071 s/op 3.4742 s/op 0.98
compare each validator Uint8Array 1.3647 s/op 1.7208 s/op 0.79
compare ViewDU to Uint8Array 817.43 ms/op 876.33 ms/op 0.93
migrate state 1000000 validators, 24 modified, 0 new 543.78 ms/op 632.44 ms/op 0.86
migrate state 1000000 validators, 1700 modified, 1000 new 1.0261 s/op 1.1620 s/op 0.88
migrate state 1000000 validators, 3400 modified, 2000 new 1.2051 s/op 1.4062 s/op 0.86
migrate state 1500000 validators, 24 modified, 0 new 696.08 ms/op 720.40 ms/op 0.97
migrate state 1500000 validators, 1700 modified, 1000 new 994.36 ms/op 1.0097 s/op 0.98
migrate state 1500000 validators, 3400 modified, 2000 new 1.2329 s/op 1.3647 s/op 0.90
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.3800 ns/op 4.4400 ns/op 0.99
state getBlockRootAtSlot - 250000 vs - 7PWei 392.35 ns/op 514.35 ns/op 0.76
computeProposers - vc 250000 6.0618 ms/op 7.3520 ms/op 0.82
computeEpochShuffling - vc 250000 85.673 ms/op 87.774 ms/op 0.98
getNextSyncCommittee - vc 250000 97.864 ms/op 110.49 ms/op 0.89
computeSigningRoot for AttestationData 24.825 us/op 27.081 us/op 0.92
hash AttestationData serialized data then Buffer.toString(base64) 1.2767 us/op 1.3716 us/op 0.93
toHexString serialized data 852.64 ns/op 825.76 ns/op 1.03
Buffer.toString(base64) 159.32 ns/op 166.85 ns/op 0.95

by benchmarkbot/action

Copy link
Member

@matthewkeil matthewkeil left a comment

Choose a reason for hiding this comment

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

How do you feel about moving this out to the packages folder so it lives in its own package. Will be easier to test that its isolated and will also make it easier to publish. Eventually we can move it to its own repo if there is community adoption.

@@ -1,11 +1,11 @@
/* eslint-disable @typescript-eslint/naming-convention */
import path from "node:path";
import {activePreset} from "@lodestar/params";
import {SimulationEnvironment} from "../utils/simulation/simulationEnvironment.js";
import {nodeAssertion} from "../utils/simulation/assertions/nodeAssertion.js";
Copy link
Member

Choose a reason for hiding this comment

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

I lean towards keeping assertion vs scenario

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Assertion is one step of the whole process that involves in it, capturing data, asserting logic, dumping raw data for debugging.

So why I tend to use a broader term here.

Copy link
Member

Choose a reason for hiding this comment

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

Scenario to me is like "range syncing" or similar.... doesn't speak to "collecting information and asserting against it"

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes you can implement same "range syncing" with this, but to implement this scenario you need some flow, some structure to capture key points and then decide if the range sync was successful or not, if not then dump the raw data for debugging.

Copy link
Member

Choose a reason for hiding this comment

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

as in "a scenario" is the "range syncing scenario".... and within a scenario there are a number of data points that are collected and asserted against. the collection and asserting is "an assertion" to me, not "a scenario". like there are assertions that happen at the slot, there are assertions that happen at the epoch. not there are scenarios that happen at the slot and scenarios that happen at the epoch... i think "scenario" is the wrong work for this construct and prefer it the way it was before the change. I think the wording "Assertion" was more descriptive before.

Copy link
Member

@matthewkeil matthewkeil May 21, 2024

Choose a reason for hiding this comment

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

Agreed, def should let others weigh in on the semantics. I think the whole flow of collect data, check assertion and store result is an "assertion"..... for merge it would be a MergeAssertion for blobs it would be a BlobAssertion. Like a blob assertion in my mind is the hook to send the blob transaction, to wait scheduling for the blob to be propagated, the calling of the API to get the blobs from the CL and then the assert statement to check the blob that was received is the same as the blob that was sent... That whole workflow is an "assertion". I suppose "Test" would also be appropriate because the test can contain several "assertions". But a "scenario" is more something the talks about the flow or conditions of the simulation as a whole.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

That whole flow usually referred as AAA Pattern and assertion is one part of it.

Copy link
Member

Choose a reason for hiding this comment

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

I agree with @matthewkeil. Open to other ideas, but between those two, assertion is more helpful here.

Copy link
Member

@nflaig nflaig May 21, 2024

Choose a reason for hiding this comment

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

mergeScenario vs mergeAssertion

Looking at this in the code, this is definitely an assertion as it asserts that the merge transition was successful. A "merge scenario" sounds like a configuration you would pass to the simulation framework to test the merge as a whole.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

So be it assertion then.

packages/cli/test/utils/crucible/README.md Show resolved Hide resolved
packages/cli/test/utils/crucible/interfaces.ts Outdated Show resolved Hide resolved
@nazarhussain
Copy link
Contributor Author

How do you feel about moving this out to the packages folder so it lives in its own package.

Yes I would love that, but step by step. Some inner refactoring now and then try to strip down dependencies as much possible before moving to it's own package.

matthewkeil
matthewkeil previously approved these changes May 23, 2024
Copy link
Member

@matthewkeil matthewkeil left a comment

Choose a reason for hiding this comment

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

Looks great! I really likeMatch! Good idea 🎸

@nazarhussain nazarhussain merged commit c635098 into unstable May 23, 2024
19 of 20 checks passed
@nazarhussain nazarhussain deleted the nh/sim-naming-update branch May 23, 2024 10:54
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.

4 participants