Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: add get_proposer_head check in fork choice spec test #6814

Merged
merged 3 commits into from
May 24, 2024

Conversation

ensi321
Copy link
Contributor

@ensi321 ensi321 commented May 24, 2024

The current fork choice spec test checks for get_proposer_head which is for the purpose of proposer boost reorg.

However the current codebase omit that check. This PR adds it.

Part of #5125

@ensi321 ensi321 requested a review from a team as a code owner May 24, 2024 12:53
Copy link

codecov bot commented May 24, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 62.21%. Comparing base (6c20dc2) to head (e155283).

Additional details and impacted files
@@             Coverage Diff              @@
##           unstable    #6814      +/-   ##
============================================
- Coverage     62.21%   62.21%   -0.01%     
============================================
  Files           571      571              
  Lines         60015    60015              
  Branches       1981     1978       -3     
============================================
- Hits          37337    37336       -1     
- Misses        22635    22636       +1     
  Partials         43       43              

@wemeetagain wemeetagain merged commit 7f63fab into unstable May 24, 2024
20 checks passed
@wemeetagain wemeetagain deleted the nc/proposer-head-spec-test branch May 24, 2024 13:13
Copy link
Contributor

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 5107f16 Previous: 6c20dc2 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 1.1573 ms/op 937.18 us/op 1.23
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 60.041 us/op 59.558 us/op 1.01
BLS verify - blst-native 1.1565 ms/op 1.2077 ms/op 0.96
BLS verifyMultipleSignatures 3 - blst-native 2.3453 ms/op 2.3369 ms/op 1.00
BLS verifyMultipleSignatures 8 - blst-native 4.7615 ms/op 5.0469 ms/op 0.94
BLS verifyMultipleSignatures 32 - blst-native 17.876 ms/op 18.335 ms/op 0.97
BLS verifyMultipleSignatures 64 - blst-native 35.338 ms/op 36.018 ms/op 0.98
BLS verifyMultipleSignatures 128 - blst-native 66.821 ms/op 71.419 ms/op 0.94
BLS deserializing 10000 signatures 807.05 ms/op 854.63 ms/op 0.94
BLS deserializing 100000 signatures 8.0699 s/op 9.2720 s/op 0.87
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.2224 ms/op 1.4046 ms/op 0.87
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.2993 ms/op 1.5175 ms/op 0.86
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.1122 ms/op 2.3688 ms/op 0.89
BLS verifyMultipleSignatures - same message - 64 - blst-native 3.1806 ms/op 3.5393 ms/op 0.90
BLS verifyMultipleSignatures - same message - 128 - blst-native 5.2284 ms/op 5.8684 ms/op 0.89
BLS aggregatePubkeys 32 - blst-native 27.398 us/op 29.865 us/op 0.92
BLS aggregatePubkeys 128 - blst-native 97.607 us/op 116.12 us/op 0.84
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 53.076 ms/op 95.663 ms/op 0.55
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 56.163 ms/op 66.410 ms/op 0.85
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 44.161 ms/op 30.486 ms/op 1.45
getSlashingsAndExits - default max 147.34 us/op 206.38 us/op 0.71
getSlashingsAndExits - 2k 351.39 us/op 369.60 us/op 0.95
proposeBlockBody type=full, size=empty 4.8379 ms/op 5.7577 ms/op 0.84
isKnown best case - 1 super set check 457.00 ns/op 488.00 ns/op 0.94
isKnown normal case - 2 super set checks 445.00 ns/op 323.00 ns/op 1.38
isKnown worse case - 16 super set checks 450.00 ns/op 287.00 ns/op 1.57
InMemoryCheckpointStateCache - add get delete 4.3020 us/op 5.0530 us/op 0.85
validate api signedAggregateAndProof - struct 2.0131 ms/op 2.2557 ms/op 0.89
validate gossip signedAggregateAndProof - struct 2.0503 ms/op 2.2391 ms/op 0.92
validate gossip attestation - vc 640000 1.1417 ms/op 1.2916 ms/op 0.88
batch validate gossip attestation - vc 640000 - chunk 32 139.31 us/op 165.25 us/op 0.84
batch validate gossip attestation - vc 640000 - chunk 64 128.29 us/op 143.41 us/op 0.89
batch validate gossip attestation - vc 640000 - chunk 128 136.72 us/op 138.18 us/op 0.99
batch validate gossip attestation - vc 640000 - chunk 256 127.43 us/op 148.93 us/op 0.86
pickEth1Vote - no votes 1.0485 ms/op 1.2787 ms/op 0.82
pickEth1Vote - max votes 9.8797 ms/op 10.733 ms/op 0.92
pickEth1Vote - Eth1Data hashTreeRoot value x2048 23.248 ms/op 19.716 ms/op 1.18
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 25.948 ms/op 26.017 ms/op 1.00
pickEth1Vote - Eth1Data fastSerialize value x2048 460.95 us/op 698.98 us/op 0.66
pickEth1Vote - Eth1Data fastSerialize tree x2048 8.0739 ms/op 8.0512 ms/op 1.00
bytes32 toHexString 752.00 ns/op 832.00 ns/op 0.90
bytes32 Buffer.toString(hex) 505.00 ns/op 328.00 ns/op 1.54
bytes32 Buffer.toString(hex) from Uint8Array 666.00 ns/op 610.00 ns/op 1.09
bytes32 Buffer.toString(hex) + 0x 468.00 ns/op 303.00 ns/op 1.54
Object access 1 prop 0.36600 ns/op 0.21300 ns/op 1.72
Map access 1 prop 0.36100 ns/op 0.14400 ns/op 2.51
Object get x1000 5.9600 ns/op 9.2890 ns/op 0.64
Map get x1000 1.0020 ns/op 0.92200 ns/op 1.09
Object set x1000 29.510 ns/op 57.488 ns/op 0.51
Map set x1000 18.878 ns/op 37.150 ns/op 0.51
Return object 10000 times 0.25310 ns/op 0.28580 ns/op 0.89
Throw Error 10000 times 3.0015 us/op 3.8164 us/op 0.79
fastMsgIdFn sha256 / 200 bytes 2.2640 us/op 2.6890 us/op 0.84
fastMsgIdFn h32 xxhash / 200 bytes 512.00 ns/op 288.00 ns/op 1.78
fastMsgIdFn h64 xxhash / 200 bytes 541.00 ns/op 338.00 ns/op 1.60
fastMsgIdFn sha256 / 1000 bytes 6.7120 us/op 7.5380 us/op 0.89
fastMsgIdFn h32 xxhash / 1000 bytes 626.00 ns/op 395.00 ns/op 1.58
fastMsgIdFn h64 xxhash / 1000 bytes 603.00 ns/op 404.00 ns/op 1.49
fastMsgIdFn sha256 / 10000 bytes 53.166 us/op 66.237 us/op 0.80
fastMsgIdFn h32 xxhash / 10000 bytes 2.0470 us/op 2.0240 us/op 1.01
fastMsgIdFn h64 xxhash / 10000 bytes 1.4270 us/op 1.3620 us/op 1.05
send data - 1000 256B messages 11.749 ms/op 15.923 ms/op 0.74
send data - 1000 512B messages 14.329 ms/op 21.146 ms/op 0.68
send data - 1000 1024B messages 22.949 ms/op 30.791 ms/op 0.75
send data - 1000 1200B messages 24.085 ms/op 33.956 ms/op 0.71
send data - 1000 2048B messages 33.409 ms/op 37.447 ms/op 0.89
send data - 1000 4096B messages 33.949 ms/op 38.297 ms/op 0.89
send data - 1000 16384B messages 79.698 ms/op 82.036 ms/op 0.97
send data - 1000 65536B messages 396.35 ms/op 319.62 ms/op 1.24
enrSubnets - fastDeserialize 64 bits 1.6730 us/op 1.2920 us/op 1.29
enrSubnets - ssz BitVector 64 bits 823.00 ns/op 455.00 ns/op 1.81
enrSubnets - fastDeserialize 4 bits 423.00 ns/op 167.00 ns/op 2.53
enrSubnets - ssz BitVector 4 bits 767.00 ns/op 379.00 ns/op 2.02
prioritizePeers score -10:0 att 32-0.1 sync 2-0 177.81 us/op 193.76 us/op 0.92
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 225.27 us/op 244.99 us/op 0.92
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 311.65 us/op 383.85 us/op 0.81
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 512.75 us/op 523.60 us/op 0.98
prioritizePeers score 0:0 att 64-1 sync 4-1 589.10 us/op 612.29 us/op 0.96
array of 16000 items push then shift 1.4055 us/op 1.6637 us/op 0.84
LinkedList of 16000 items push then shift 7.4470 ns/op 6.6530 ns/op 1.12
array of 16000 items push then pop 147.57 ns/op 140.01 ns/op 1.05
LinkedList of 16000 items push then pop 6.4720 ns/op 6.6140 ns/op 0.98
array of 24000 items push then shift 2.3192 us/op 2.5648 us/op 0.90
LinkedList of 24000 items push then shift 6.9290 ns/op 6.7790 ns/op 1.02
array of 24000 items push then pop 192.40 ns/op 160.69 ns/op 1.20
LinkedList of 24000 items push then pop 6.5090 ns/op 6.7340 ns/op 0.97
intersect bitArray bitLen 8 4.9740 ns/op 6.0240 ns/op 0.83
intersect array and set length 8 80.946 ns/op 65.581 ns/op 1.23
intersect bitArray bitLen 128 30.159 ns/op 37.666 ns/op 0.80
intersect array and set length 128 939.55 ns/op 1.0549 us/op 0.89
bitArray.getTrueBitIndexes() bitLen 128 2.0970 us/op 1.7130 us/op 1.22
bitArray.getTrueBitIndexes() bitLen 248 3.0630 us/op 2.4220 us/op 1.26
bitArray.getTrueBitIndexes() bitLen 512 5.7090 us/op 5.6860 us/op 1.00
Buffer.concat 32 items 1.1250 us/op 992.00 ns/op 1.13
Uint8Array.set 32 items 1.9360 us/op 1.7930 us/op 1.08
Set add up to 64 items then delete first 1.8380 us/op 2.7480 us/op 0.67
OrderedSet add up to 64 items then delete first 2.7819 us/op 3.3258 us/op 0.84
Set add up to 64 items then delete last 2.0429 us/op 2.6245 us/op 0.78
OrderedSet add up to 64 items then delete last 3.1333 us/op 3.9686 us/op 0.79
Set add up to 64 items then delete middle 2.0309 us/op 2.7104 us/op 0.75
OrderedSet add up to 64 items then delete middle 4.9189 us/op 5.4421 us/op 0.90
Set add up to 128 items then delete first 4.2425 us/op 5.5713 us/op 0.76
OrderedSet add up to 128 items then delete first 8.6551 us/op 8.4572 us/op 1.02
Set add up to 128 items then delete last 5.3777 us/op 5.0793 us/op 1.06
OrderedSet add up to 128 items then delete last 8.3949 us/op 7.0846 us/op 1.18
Set add up to 128 items then delete middle 4.5276 us/op 4.7172 us/op 0.96
OrderedSet add up to 128 items then delete middle 13.399 us/op 12.638 us/op 1.06
Set add up to 256 items then delete first 10.060 us/op 10.329 us/op 0.97
OrderedSet add up to 256 items then delete first 13.534 us/op 15.986 us/op 0.85
Set add up to 256 items then delete last 7.8956 us/op 9.5418 us/op 0.83
OrderedSet add up to 256 items then delete last 12.544 us/op 14.560 us/op 0.86
Set add up to 256 items then delete middle 8.5251 us/op 9.1632 us/op 0.93
OrderedSet add up to 256 items then delete middle 33.155 us/op 35.473 us/op 0.93
transfer serialized Status (84 B) 1.9360 us/op 1.6440 us/op 1.18
copy serialized Status (84 B) 1.4920 us/op 1.1910 us/op 1.25
transfer serialized SignedVoluntaryExit (112 B) 2.1700 us/op 1.7200 us/op 1.26
copy serialized SignedVoluntaryExit (112 B) 1.5930 us/op 1.3740 us/op 1.16
transfer serialized ProposerSlashing (416 B) 2.3690 us/op 2.7730 us/op 0.85
copy serialized ProposerSlashing (416 B) 2.3370 us/op 2.6020 us/op 0.90
transfer serialized Attestation (485 B) 2.9130 us/op 2.9310 us/op 0.99
copy serialized Attestation (485 B) 2.2510 us/op 2.6170 us/op 0.86
transfer serialized AttesterSlashing (33232 B) 1.8930 us/op 2.5430 us/op 0.74
copy serialized AttesterSlashing (33232 B) 8.3750 us/op 5.9840 us/op 1.40
transfer serialized Small SignedBeaconBlock (128000 B) 2.0450 us/op 2.6940 us/op 0.76
copy serialized Small SignedBeaconBlock (128000 B) 20.917 us/op 13.860 us/op 1.51
transfer serialized Avg SignedBeaconBlock (200000 B) 2.5480 us/op 3.0650 us/op 0.83
copy serialized Avg SignedBeaconBlock (200000 B) 28.347 us/op 19.791 us/op 1.43
transfer serialized BlobsSidecar (524380 B) 2.9690 us/op 2.8600 us/op 1.04
copy serialized BlobsSidecar (524380 B) 81.587 us/op 91.928 us/op 0.89
transfer serialized Big SignedBeaconBlock (1000000 B) 3.3520 us/op 3.3250 us/op 1.01
copy serialized Big SignedBeaconBlock (1000000 B) 157.07 us/op 138.91 us/op 1.13
pass gossip attestations to forkchoice per slot 2.8869 ms/op 3.3776 ms/op 0.85
forkChoice updateHead vc 100000 bc 64 eq 0 429.32 us/op 518.75 us/op 0.83
forkChoice updateHead vc 600000 bc 64 eq 0 2.8198 ms/op 3.1824 ms/op 0.89
forkChoice updateHead vc 1000000 bc 64 eq 0 4.9663 ms/op 5.3981 ms/op 0.92
forkChoice updateHead vc 600000 bc 320 eq 0 2.9331 ms/op 3.1844 ms/op 0.92
forkChoice updateHead vc 600000 bc 1200 eq 0 3.0084 ms/op 3.2801 ms/op 0.92
forkChoice updateHead vc 600000 bc 7200 eq 0 4.1233 ms/op 4.3535 ms/op 0.95
forkChoice updateHead vc 600000 bc 64 eq 1000 10.074 ms/op 10.910 ms/op 0.92
forkChoice updateHead vc 600000 bc 64 eq 10000 10.144 ms/op 10.911 ms/op 0.93
forkChoice updateHead vc 600000 bc 64 eq 300000 18.447 ms/op 14.748 ms/op 1.25
computeDeltas 500000 validators 300 proto nodes 3.3737 ms/op 3.9809 ms/op 0.85
computeDeltas 500000 validators 1200 proto nodes 3.1753 ms/op 3.8178 ms/op 0.83
computeDeltas 500000 validators 7200 proto nodes 3.2042 ms/op 3.6483 ms/op 0.88
computeDeltas 750000 validators 300 proto nodes 5.0974 ms/op 5.4499 ms/op 0.94
computeDeltas 750000 validators 1200 proto nodes 5.0354 ms/op 5.4822 ms/op 0.92
computeDeltas 750000 validators 7200 proto nodes 4.7418 ms/op 5.4464 ms/op 0.87
computeDeltas 1400000 validators 300 proto nodes 8.8823 ms/op 10.769 ms/op 0.82
computeDeltas 1400000 validators 1200 proto nodes 9.0544 ms/op 10.606 ms/op 0.85
computeDeltas 1400000 validators 7200 proto nodes 9.2684 ms/op 10.324 ms/op 0.90
computeDeltas 2100000 validators 300 proto nodes 14.080 ms/op 15.116 ms/op 0.93
computeDeltas 2100000 validators 1200 proto nodes 14.031 ms/op 15.352 ms/op 0.91
computeDeltas 2100000 validators 7200 proto nodes 14.052 ms/op 16.111 ms/op 0.87
altair processAttestation - 250000 vs - 7PWei normalcase 2.0625 ms/op 2.0572 ms/op 1.00
altair processAttestation - 250000 vs - 7PWei worstcase 2.9629 ms/op 3.4506 ms/op 0.86
altair processAttestation - setStatus - 1/6 committees join 130.89 us/op 152.63 us/op 0.86
altair processAttestation - setStatus - 1/3 committees join 252.55 us/op 290.31 us/op 0.87
altair processAttestation - setStatus - 1/2 committees join 325.38 us/op 363.96 us/op 0.89
altair processAttestation - setStatus - 2/3 committees join 445.34 us/op 477.94 us/op 0.93
altair processAttestation - setStatus - 4/5 committees join 651.93 us/op 638.26 us/op 1.02
altair processAttestation - setStatus - 100% committees join 770.49 us/op 756.06 us/op 1.02
altair processBlock - 250000 vs - 7PWei normalcase 8.1555 ms/op 9.8659 ms/op 0.83
altair processBlock - 250000 vs - 7PWei normalcase hashState 31.846 ms/op 33.916 ms/op 0.94
altair processBlock - 250000 vs - 7PWei worstcase 30.652 ms/op 32.134 ms/op 0.95
altair processBlock - 250000 vs - 7PWei worstcase hashState 87.371 ms/op 88.410 ms/op 0.99
phase0 processBlock - 250000 vs - 7PWei normalcase 1.7048 ms/op 2.2564 ms/op 0.76
phase0 processBlock - 250000 vs - 7PWei worstcase 25.956 ms/op 27.097 ms/op 0.96
altair processEth1Data - 250000 vs - 7PWei normalcase 452.20 us/op 315.08 us/op 1.44
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 12.479 us/op 11.978 us/op 1.04
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 60.697 us/op 67.985 us/op 0.89
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 27.603 us/op 16.390 us/op 1.68
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 21.231 us/op 12.253 us/op 1.73
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 168.37 us/op 160.28 us/op 1.05
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 957.93 us/op 962.52 us/op 1.00
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.5237 ms/op 1.6106 ms/op 0.95
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.5881 ms/op 1.4629 ms/op 1.09
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.3081 ms/op 3.2665 ms/op 1.01
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.0361 ms/op 2.3614 ms/op 0.86
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 4.0737 ms/op 4.2865 ms/op 0.95
Tree 40 250000 create 312.80 ms/op 217.88 ms/op 1.44
Tree 40 250000 get(125000) 123.09 ns/op 144.14 ns/op 0.85
Tree 40 250000 set(125000) 589.03 ns/op 636.31 ns/op 0.93
Tree 40 250000 toArray() 21.248 ms/op 19.257 ms/op 1.10
Tree 40 250000 iterate all - toArray() + loop 22.073 ms/op 19.101 ms/op 1.16
Tree 40 250000 iterate all - get(i) 51.649 ms/op 53.888 ms/op 0.96
MutableVector 250000 create 13.250 ms/op 10.501 ms/op 1.26
MutableVector 250000 get(125000) 6.0390 ns/op 6.2650 ns/op 0.96
MutableVector 250000 set(125000) 208.42 ns/op 246.99 ns/op 0.84
MutableVector 250000 toArray() 4.6334 ms/op 4.2363 ms/op 1.09
MutableVector 250000 iterate all - toArray() + loop 4.8285 ms/op 4.2740 ms/op 1.13
MutableVector 250000 iterate all - get(i) 1.4535 ms/op 1.5216 ms/op 0.96
Array 250000 create 4.3984 ms/op 3.8570 ms/op 1.14
Array 250000 clone - spread 1.3920 ms/op 1.6288 ms/op 0.85
Array 250000 get(125000) 1.1910 ns/op 1.1110 ns/op 1.07
Array 250000 set(125000) 1.4040 ns/op 1.3990 ns/op 1.00
Array 250000 iterate all - loop 158.43 us/op 172.04 us/op 0.92
effectiveBalanceIncrements clone Uint8Array 300000 15.621 us/op 33.337 us/op 0.47
effectiveBalanceIncrements clone MutableVector 300000 561.00 ns/op 412.00 ns/op 1.36
effectiveBalanceIncrements rw all Uint8Array 300000 189.68 us/op 206.04 us/op 0.92
effectiveBalanceIncrements rw all MutableVector 300000 69.123 ms/op 81.914 ms/op 0.84
phase0 afterProcessEpoch - 250000 vs - 7PWei 89.845 ms/op 91.221 ms/op 0.98
phase0 beforeProcessEpoch - 250000 vs - 7PWei 58.899 ms/op 41.881 ms/op 1.41
altair processEpoch - mainnet_e81889 531.68 ms/op 388.79 ms/op 1.37
mainnet_e81889 - altair beforeProcessEpoch 85.614 ms/op 66.480 ms/op 1.29
mainnet_e81889 - altair processJustificationAndFinalization 21.697 us/op 13.159 us/op 1.65
mainnet_e81889 - altair processInactivityUpdates 9.4874 ms/op 5.2684 ms/op 1.80
mainnet_e81889 - altair processRewardsAndPenalties 58.264 ms/op 46.226 ms/op 1.26
mainnet_e81889 - altair processRegistryUpdates 4.2120 us/op 2.4340 us/op 1.73
mainnet_e81889 - altair processSlashings 1.0790 us/op 395.00 ns/op 2.73
mainnet_e81889 - altair processEth1DataReset 1.1710 us/op 624.00 ns/op 1.88
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.2037 ms/op 1.2437 ms/op 0.97
mainnet_e81889 - altair processSlashingsReset 4.6780 us/op 4.1300 us/op 1.13
mainnet_e81889 - altair processRandaoMixesReset 8.1650 us/op 5.3060 us/op 1.54
mainnet_e81889 - altair processHistoricalRootsUpdate 1.5990 us/op 914.00 ns/op 1.75
mainnet_e81889 - altair processParticipationFlagUpdates 3.0750 us/op 1.5540 us/op 1.98
mainnet_e81889 - altair processSyncCommitteeUpdates 1.2110 us/op 654.00 ns/op 1.85
mainnet_e81889 - altair afterProcessEpoch 84.654 ms/op 94.374 ms/op 0.90
capella processEpoch - mainnet_e217614 1.6360 s/op 1.4543 s/op 1.12
mainnet_e217614 - capella beforeProcessEpoch 287.14 ms/op 273.05 ms/op 1.05
mainnet_e217614 - capella processJustificationAndFinalization 18.424 us/op 16.897 us/op 1.09
mainnet_e217614 - capella processInactivityUpdates 16.956 ms/op 16.381 ms/op 1.04
mainnet_e217614 - capella processRewardsAndPenalties 271.85 ms/op 249.91 ms/op 1.09
mainnet_e217614 - capella processRegistryUpdates 21.454 us/op 17.286 us/op 1.24
mainnet_e217614 - capella processSlashings 1.1210 us/op 521.00 ns/op 2.15
mainnet_e217614 - capella processEth1DataReset 982.00 ns/op 399.00 ns/op 2.46
mainnet_e217614 - capella processEffectiveBalanceUpdates 12.798 ms/op 9.2958 ms/op 1.38
mainnet_e217614 - capella processSlashingsReset 3.2480 us/op 3.5940 us/op 0.90
mainnet_e217614 - capella processRandaoMixesReset 6.2570 us/op 4.2240 us/op 1.48
mainnet_e217614 - capella processHistoricalRootsUpdate 1.3700 us/op 337.00 ns/op 4.07
mainnet_e217614 - capella processParticipationFlagUpdates 2.4330 us/op 1.8210 us/op 1.34
mainnet_e217614 - capella afterProcessEpoch 237.32 ms/op 253.49 ms/op 0.94
phase0 processEpoch - mainnet_e58758 433.48 ms/op 436.53 ms/op 0.99
mainnet_e58758 - phase0 beforeProcessEpoch 110.54 ms/op 118.88 ms/op 0.93
mainnet_e58758 - phase0 processJustificationAndFinalization 17.319 us/op 15.522 us/op 1.12
mainnet_e58758 - phase0 processRewardsAndPenalties 25.727 ms/op 24.451 ms/op 1.05
mainnet_e58758 - phase0 processRegistryUpdates 9.4680 us/op 8.8020 us/op 1.08
mainnet_e58758 - phase0 processSlashings 866.00 ns/op 372.00 ns/op 2.33
mainnet_e58758 - phase0 processEth1DataReset 874.00 ns/op 365.00 ns/op 2.39
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 792.86 us/op 1.1675 ms/op 0.68
mainnet_e58758 - phase0 processSlashingsReset 3.7250 us/op 3.2020 us/op 1.16
mainnet_e58758 - phase0 processRandaoMixesReset 4.0420 us/op 4.8470 us/op 0.83
mainnet_e58758 - phase0 processHistoricalRootsUpdate 1.0580 us/op 577.00 ns/op 1.83
mainnet_e58758 - phase0 processParticipationRecordUpdates 4.0610 us/op 3.3330 us/op 1.22
mainnet_e58758 - phase0 afterProcessEpoch 72.177 ms/op 80.203 ms/op 0.90
phase0 processEffectiveBalanceUpdates - 250000 normalcase 981.72 us/op 1.1914 ms/op 0.82
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.3976 ms/op 1.5956 ms/op 0.88
altair processInactivityUpdates - 250000 normalcase 18.408 ms/op 15.015 ms/op 1.23
altair processInactivityUpdates - 250000 worstcase 16.069 ms/op 15.421 ms/op 1.04
phase0 processRegistryUpdates - 250000 normalcase 8.6580 us/op 8.4910 us/op 1.02
phase0 processRegistryUpdates - 250000 badcase_full_deposits 348.48 us/op 321.79 us/op 1.08
phase0 processRegistryUpdates - 250000 worstcase 0.5 121.71 ms/op 119.03 ms/op 1.02
altair processRewardsAndPenalties - 250000 normalcase 50.038 ms/op 35.848 ms/op 1.40
altair processRewardsAndPenalties - 250000 worstcase 47.406 ms/op 36.365 ms/op 1.30
phase0 getAttestationDeltas - 250000 normalcase 6.4887 ms/op 7.7610 ms/op 0.84
phase0 getAttestationDeltas - 250000 worstcase 6.4796 ms/op 7.7358 ms/op 0.84
phase0 processSlashings - 250000 worstcase 87.565 us/op 67.568 us/op 1.30
altair processSyncCommitteeUpdates - 250000 118.45 ms/op 126.08 ms/op 0.94
BeaconState.hashTreeRoot - No change 563.00 ns/op 321.00 ns/op 1.75
BeaconState.hashTreeRoot - 1 full validator 120.07 us/op 133.97 us/op 0.90
BeaconState.hashTreeRoot - 32 full validator 1.3510 ms/op 1.2564 ms/op 1.08
BeaconState.hashTreeRoot - 512 full validator 15.517 ms/op 13.280 ms/op 1.17
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 153.65 us/op 158.24 us/op 0.97
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.0418 ms/op 1.9596 ms/op 1.04
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 27.471 ms/op 24.082 ms/op 1.14
BeaconState.hashTreeRoot - 1 balances 137.89 us/op 117.82 us/op 1.17
BeaconState.hashTreeRoot - 32 balances 849.57 us/op 1.0879 ms/op 0.78
BeaconState.hashTreeRoot - 512 balances 8.7004 ms/op 10.599 ms/op 0.82
BeaconState.hashTreeRoot - 250000 balances 177.98 ms/op 208.86 ms/op 0.85
aggregationBits - 2048 els - zipIndexesInBitList 31.796 us/op 22.201 us/op 1.43
byteArrayEquals 32 65.754 ns/op 74.333 ns/op 0.88
Buffer.compare 32 36.040 ns/op 44.566 ns/op 0.81
byteArrayEquals 1024 1.6508 us/op 2.0264 us/op 0.81
Buffer.compare 1024 42.522 ns/op 52.275 ns/op 0.81
byteArrayEquals 16384 27.737 us/op 32.262 us/op 0.86
Buffer.compare 16384 222.83 ns/op 235.54 ns/op 0.95
byteArrayEquals 123687377 211.21 ms/op 249.63 ms/op 0.85
Buffer.compare 123687377 6.4725 ms/op 6.0370 ms/op 1.07
byteArrayEquals 32 - diff last byte 60.591 ns/op 71.357 ns/op 0.85
Buffer.compare 32 - diff last byte 37.403 ns/op 48.657 ns/op 0.77
byteArrayEquals 1024 - diff last byte 1.7062 us/op 1.9901 us/op 0.86
Buffer.compare 1024 - diff last byte 44.091 ns/op 49.151 ns/op 0.90
byteArrayEquals 16384 - diff last byte 26.499 us/op 31.755 us/op 0.83
Buffer.compare 16384 - diff last byte 222.45 ns/op 228.00 ns/op 0.98
byteArrayEquals 123687377 - diff last byte 207.21 ms/op 247.19 ms/op 0.84
Buffer.compare 123687377 - diff last byte 6.0619 ms/op 6.1353 ms/op 0.99
byteArrayEquals 32 - random bytes 5.6320 ns/op 5.1660 ns/op 1.09
Buffer.compare 32 - random bytes 38.021 ns/op 47.630 ns/op 0.80
byteArrayEquals 1024 - random bytes 5.4780 ns/op 5.1000 ns/op 1.07
Buffer.compare 1024 - random bytes 37.632 ns/op 45.863 ns/op 0.82
byteArrayEquals 16384 - random bytes 6.8590 ns/op 5.0870 ns/op 1.35
Buffer.compare 16384 - random bytes 37.160 ns/op 45.958 ns/op 0.81
byteArrayEquals 123687377 - random bytes 12.450 ns/op 7.8200 ns/op 1.59
Buffer.compare 123687377 - random bytes 52.950 ns/op 48.750 ns/op 1.09
regular array get 100000 times 43.995 us/op 44.041 us/op 1.00
wrappedArray get 100000 times 43.581 us/op 43.881 us/op 0.99
arrayWithProxy get 100000 times 11.381 ms/op 13.740 ms/op 0.83
ssz.Root.equals 56.482 ns/op 52.427 ns/op 1.08
byteArrayEquals 55.953 ns/op 51.517 ns/op 1.09
Buffer.compare 10.379 ns/op 10.120 ns/op 1.03
shuffle list - 16384 els 6.0286 ms/op 6.2300 ms/op 0.97
shuffle list - 250000 els 88.075 ms/op 91.136 ms/op 0.97
processSlot - 1 slots 12.395 us/op 14.695 us/op 0.84
processSlot - 32 slots 2.3758 ms/op 3.2835 ms/op 0.72
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 53.178 ms/op 48.570 ms/op 1.09
getCommitteeAssignments - req 1 vs - 250000 vc 2.4136 ms/op 2.5969 ms/op 0.93
getCommitteeAssignments - req 100 vs - 250000 vc 3.6816 ms/op 3.7557 ms/op 0.98
getCommitteeAssignments - req 1000 vs - 250000 vc 4.0440 ms/op 4.0218 ms/op 1.01
findModifiedValidators - 10000 modified validators 273.13 ms/op 293.34 ms/op 0.93
findModifiedValidators - 1000 modified validators 156.03 ms/op 171.20 ms/op 0.91
findModifiedValidators - 100 modified validators 152.77 ms/op 165.27 ms/op 0.92
findModifiedValidators - 10 modified validators 146.62 ms/op 166.99 ms/op 0.88
findModifiedValidators - 1 modified validators 159.94 ms/op 162.43 ms/op 0.98
findModifiedValidators - no difference 158.63 ms/op 163.00 ms/op 0.97
compare ViewDUs 3.0435 s/op 3.1710 s/op 0.96
compare each validator Uint8Array 1.7830 s/op 1.3853 s/op 1.29
compare ViewDU to Uint8Array 846.25 ms/op 1.0554 s/op 0.80
migrate state 1000000 validators, 24 modified, 0 new 639.18 ms/op 626.22 ms/op 1.02
migrate state 1000000 validators, 1700 modified, 1000 new 1.0054 s/op 1.0041 s/op 1.00
migrate state 1000000 validators, 3400 modified, 2000 new 1.2822 s/op 1.3217 s/op 0.97
migrate state 1500000 validators, 24 modified, 0 new 663.00 ms/op 746.82 ms/op 0.89
migrate state 1500000 validators, 1700 modified, 1000 new 1.0768 s/op 1.1512 s/op 0.94
migrate state 1500000 validators, 3400 modified, 2000 new 1.3520 s/op 1.5550 s/op 0.87
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 6.2500 ns/op 5.4100 ns/op 1.16
state getBlockRootAtSlot - 250000 vs - 7PWei 697.13 ns/op 721.57 ns/op 0.97
computeProposers - vc 250000 6.5498 ms/op 8.6478 ms/op 0.76
computeEpochShuffling - vc 250000 86.982 ms/op 104.12 ms/op 0.84
getNextSyncCommittee - vc 250000 112.43 ms/op 167.42 ms/op 0.67
computeSigningRoot for AttestationData 20.789 us/op 33.859 us/op 0.61
hash AttestationData serialized data then Buffer.toString(base64) 1.2919 us/op 1.9064 us/op 0.68
toHexString serialized data 821.59 ns/op 1.2167 us/op 0.68
Buffer.toString(base64) 154.62 ns/op 231.98 ns/op 0.67

by benchmarkbot/action

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.

2 participants