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

fix: fix blob sidecar index check #7315

Merged
merged 1 commit into from
Dec 19, 2024
Merged

Conversation

ensi321
Copy link
Contributor

@ensi321 ensi321 commented Dec 19, 2024

Thanks @nflaig for pointing out in #7313 (comment). Fixing the index check on blob sidecar.

@ensi321 ensi321 requested a review from a team as a code owner December 19, 2024 01:01
Copy link

codecov bot commented Dec 19, 2024

Codecov Report

Attention: Patch coverage is 0% with 1 line in your changes missing coverage. Please review.

Project coverage is 48.75%. Comparing base (bfe54d2) to head (0d68396).
Report is 1 commits behind head on unstable.

Additional details and impacted files
@@            Coverage Diff            @@
##           unstable    #7315    /-   ##
=========================================
  Coverage     48.75%   48.75%           
=========================================
  Files           601      601           
  Lines         40222    40222           
  Branches       2061     2061           
=========================================
  Hits          19609    19609           
  Misses        20575    20575           
  Partials         38       38           

@ensi321 ensi321 merged commit 1f38c8b into unstable Dec 19, 2024
19 of 20 checks passed
@ensi321 ensi321 deleted the nc/fix-blob-sidecar-validation branch December 19, 2024 01:31
Copy link
Contributor

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 10bed2e Previous: 7cd296b Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 2.0675 ms/op 2.1593 ms/op 0.96
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 49.005 us/op 51.437 us/op 0.95
BLS verify - blst 839.50 us/op 868.65 us/op 0.97
BLS verifyMultipleSignatures 3 - blst 1.3690 ms/op 1.2328 ms/op 1.11
BLS verifyMultipleSignatures 8 - blst 2.0417 ms/op 1.7059 ms/op 1.20
BLS verifyMultipleSignatures 32 - blst 5.2313 ms/op 5.0259 ms/op 1.04
BLS verifyMultipleSignatures 64 - blst 9.5996 ms/op 9.2350 ms/op 1.04
BLS verifyMultipleSignatures 128 - blst 18.565 ms/op 17.540 ms/op 1.06
BLS deserializing 10000 signatures 714.44 ms/op 701.23 ms/op 1.02
BLS deserializing 100000 signatures 7.1542 s/op 6.8895 s/op 1.04
BLS verifyMultipleSignatures - same message - 3 - blst 930.05 us/op 839.24 us/op 1.11
BLS verifyMultipleSignatures - same message - 8 - blst 1.0883 ms/op 978.62 us/op 1.11
BLS verifyMultipleSignatures - same message - 32 - blst 1.7661 ms/op 1.6613 ms/op 1.06
BLS verifyMultipleSignatures - same message - 64 - blst 2.6184 ms/op 2.5770 ms/op 1.02
BLS verifyMultipleSignatures - same message - 128 - blst 4.4379 ms/op 4.3364 ms/op 1.02
BLS aggregatePubkeys 32 - blst 20.213 us/op 19.713 us/op 1.03
BLS aggregatePubkeys 128 - blst 71.977 us/op 70.356 us/op 1.02
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 62.241 ms/op 50.963 ms/op 1.22
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 52.276 ms/op 46.474 ms/op 1.12
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 41.010 ms/op 43.698 ms/op 0.94
getSlashingsAndExits - default max 96.579 us/op 95.463 us/op 1.01
getSlashingsAndExits - 2k 305.86 us/op 260.06 us/op 1.18
proposeBlockBody type=full, size=empty 6.1828 ms/op 5.9088 ms/op 1.05
isKnown best case - 1 super set check 340.00 ns/op 276.00 ns/op 1.23
isKnown normal case - 2 super set checks 332.00 ns/op 265.00 ns/op 1.25
isKnown worse case - 16 super set checks 302.00 ns/op 267.00 ns/op 1.13
InMemoryCheckpointStateCache - add get delete 3.1740 us/op 2.8490 us/op 1.11
validate api signedAggregateAndProof - struct 1.4329 ms/op 1.3695 ms/op 1.05
validate gossip signedAggregateAndProof - struct 1.4009 ms/op 1.3907 ms/op 1.01
batch validate gossip attestation - vc 640000 - chunk 32 130.56 us/op 124.18 us/op 1.05
batch validate gossip attestation - vc 640000 - chunk 64 113.45 us/op 108.14 us/op 1.05
batch validate gossip attestation - vc 640000 - chunk 128 108.59 us/op 105.10 us/op 1.03
batch validate gossip attestation - vc 640000 - chunk 256 105.07 us/op 103.07 us/op 1.02
pickEth1Vote - no votes 1.0363 ms/op 1.0461 ms/op 0.99
pickEth1Vote - max votes 5.1784 ms/op 5.8839 ms/op 0.88
pickEth1Vote - Eth1Data hashTreeRoot value x2048 11.820 ms/op 19.592 ms/op 0.60
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 15.961 ms/op 18.837 ms/op 0.85
pickEth1Vote - Eth1Data fastSerialize value x2048 488.92 us/op 445.26 us/op 1.10
pickEth1Vote - Eth1Data fastSerialize tree x2048 2.5614 ms/op 3.1976 ms/op 0.80
bytes32 toHexString 434.00 ns/op 421.00 ns/op 1.03
bytes32 Buffer.toString(hex) 259.00 ns/op 250.00 ns/op 1.04
bytes32 Buffer.toString(hex) from Uint8Array 382.00 ns/op 358.00 ns/op 1.07
bytes32 Buffer.toString(hex) 0x 256.00 ns/op 246.00 ns/op 1.04
Object access 1 prop 0.14100 ns/op 0.13100 ns/op 1.08
Map access 1 prop 0.13200 ns/op 0.13000 ns/op 1.02
Object get x1000 6.0610 ns/op 6.0890 ns/op 1.00
Map get x1000 6.5970 ns/op 6.2860 ns/op 1.05
Object set x1000 33.563 ns/op 31.731 ns/op 1.06
Map set x1000 23.221 ns/op 21.883 ns/op 1.06
Return object 10000 times 0.33760 ns/op 0.28510 ns/op 1.18
Throw Error 10000 times 3.4941 us/op 3.3725 us/op 1.04
toHex 177.67 ns/op 156.85 ns/op 1.13
Buffer.from 161.63 ns/op 135.90 ns/op 1.19
shared Buffer 97.104 ns/op 93.813 ns/op 1.04
fastMsgIdFn sha256 / 200 bytes 2.3500 us/op 2.2660 us/op 1.04
fastMsgIdFn h32 xxhash / 200 bytes 301.00 ns/op 228.00 ns/op 1.32
fastMsgIdFn h64 xxhash / 200 bytes 269.00 ns/op 262.00 ns/op 1.03
fastMsgIdFn sha256 / 1000 bytes 7.4420 us/op 7.3390 us/op 1.01
fastMsgIdFn h32 xxhash / 1000 bytes 425.00 ns/op 359.00 ns/op 1.18
fastMsgIdFn h64 xxhash / 1000 bytes 346.00 ns/op 341.00 ns/op 1.01
fastMsgIdFn sha256 / 10000 bytes 65.409 us/op 63.281 us/op 1.03
fastMsgIdFn h32 xxhash / 10000 bytes 1.9890 us/op 1.7940 us/op 1.11
fastMsgIdFn h64 xxhash / 10000 bytes 1.2540 us/op 1.1690 us/op 1.07
send data - 1000 256B messages 12.670 ms/op 12.098 ms/op 1.05
send data - 1000 512B messages 17.864 ms/op 16.784 ms/op 1.06
send data - 1000 1024B messages 27.360 ms/op 26.458 ms/op 1.03
send data - 1000 1200B messages 19.964 ms/op 25.042 ms/op 0.80
send data - 1000 2048B messages 32.129 ms/op 30.710 ms/op 1.05
send data - 1000 4096B messages 30.379 ms/op 30.865 ms/op 0.98
send data - 1000 16384B messages 77.399 ms/op 73.317 ms/op 1.06
send data - 1000 65536B messages 215.97 ms/op 207.05 ms/op 1.04
enrSubnets - fastDeserialize 64 bits 1.2260 us/op 1.1040 us/op 1.11
enrSubnets - ssz BitVector 64 bits 397.00 ns/op 361.00 ns/op 1.10
enrSubnets - fastDeserialize 4 bits 181.00 ns/op 150.00 ns/op 1.21
enrSubnets - ssz BitVector 4 bits 422.00 ns/op 370.00 ns/op 1.14
prioritizePeers score -10:0 att 32-0.1 sync 2-0 164.82 us/op 169.52 us/op 0.97
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 155.31 us/op 147.80 us/op 1.05
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 292.17 us/op 242.83 us/op 1.20
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 420.27 us/op 394.65 us/op 1.06
prioritizePeers score 0:0 att 64-1 sync 4-1 677.31 us/op 599.96 us/op 1.13
array of 16000 items push then shift 1.6419 us/op 1.6364 us/op 1.00
LinkedList of 16000 items push then shift 7.7100 ns/op 7.0750 ns/op 1.09
array of 16000 items push then pop 133.55 ns/op 124.80 ns/op 1.07
LinkedList of 16000 items push then pop 7.5730 ns/op 7.2270 ns/op 1.05
array of 24000 items push then shift 2.4934 us/op 2.4329 us/op 1.02
LinkedList of 24000 items push then shift 7.7020 ns/op 7.0940 ns/op 1.09
array of 24000 items push then pop 161.90 ns/op 129.96 ns/op 1.25
LinkedList of 24000 items push then pop 7.3110 ns/op 7.4620 ns/op 0.98
intersect bitArray bitLen 8 6.3910 ns/op 6.1910 ns/op 1.03
intersect array and set length 8 54.547 ns/op 44.832 ns/op 1.22
intersect bitArray bitLen 128 29.561 ns/op 28.234 ns/op 1.05
intersect array and set length 128 691.23 ns/op 682.41 ns/op 1.01
bitArray.getTrueBitIndexes() bitLen 128 2.2000 us/op 1.7940 us/op 1.23
bitArray.getTrueBitIndexes() bitLen 248 3.6520 us/op 2.9970 us/op 1.22
bitArray.getTrueBitIndexes() bitLen 512 6.4740 us/op 6.6270 us/op 0.98
Buffer.concat 32 items 1.0030 us/op 877.00 ns/op 1.14
Uint8Array.set 32 items 1.7920 us/op 1.4980 us/op 1.20
Buffer.copy 1.9620 us/op 1.7250 us/op 1.14
Uint8Array.set - with subarray 2.6640 us/op 2.6390 us/op 1.01
Uint8Array.set - without subarray 1.6110 us/op 1.5540 us/op 1.04
getUint32 - dataview 276.00 ns/op 227.00 ns/op 1.22
getUint32 - manual 234.00 ns/op 150.00 ns/op 1.56
Set add up to 64 items then delete first 2.3494 us/op 2.1812 us/op 1.08
OrderedSet add up to 64 items then delete first 3.7448 us/op 3.3461 us/op 1.12
Set add up to 64 items then delete last 2.5369 us/op 2.4431 us/op 1.04
OrderedSet add up to 64 items then delete last 4.1336 us/op 3.8514 us/op 1.07
Set add up to 64 items then delete middle 2.7931 us/op 2.5350 us/op 1.10
OrderedSet add up to 64 items then delete middle 5.7416 us/op 5.2368 us/op 1.10
Set add up to 128 items then delete first 6.3053 us/op 4.9522 us/op 1.27
OrderedSet add up to 128 items then delete first 7.5125 us/op 7.3530 us/op 1.02
Set add up to 128 items then delete last 5.0519 us/op 4.9989 us/op 1.01
OrderedSet add up to 128 items then delete last 8.3773 us/op 7.7791 us/op 1.08
Set add up to 128 items then delete middle 5.0674 us/op 4.9431 us/op 1.03
OrderedSet add up to 128 items then delete middle 14.291 us/op 13.504 us/op 1.06
Set add up to 256 items then delete first 9.8383 us/op 10.130 us/op 0.97
OrderedSet add up to 256 items then delete first 15.519 us/op 15.078 us/op 1.03
Set add up to 256 items then delete last 10.070 us/op 9.8837 us/op 1.02
OrderedSet add up to 256 items then delete last 15.519 us/op 15.599 us/op 0.99
Set add up to 256 items then delete middle 9.8558 us/op 9.9349 us/op 0.99
OrderedSet add up to 256 items then delete middle 41.172 us/op 40.327 us/op 1.02
transfer serialized Status (84 B) 1.4510 us/op 1.3670 us/op 1.06
copy serialized Status (84 B) 1.1190 us/op 1.1550 us/op 0.97
transfer serialized SignedVoluntaryExit (112 B) 1.4350 us/op 1.4970 us/op 0.96
copy serialized SignedVoluntaryExit (112 B) 1.1450 us/op 1.1740 us/op 0.98
transfer serialized ProposerSlashing (416 B) 1.5770 us/op 2.2110 us/op 0.71
copy serialized ProposerSlashing (416 B) 1.4300 us/op 1.8540 us/op 0.77
transfer serialized Attestation (485 B) 1.6020 us/op 1.5990 us/op 1.00
copy serialized Attestation (485 B) 1.5950 us/op 1.8230 us/op 0.87
transfer serialized AttesterSlashing (33232 B) 1.7810 us/op 2.5300 us/op 0.70
copy serialized AttesterSlashing (33232 B) 4.7090 us/op 5.2980 us/op 0.89
transfer serialized Small SignedBeaconBlock (128000 B) 2.3230 us/op 3.0270 us/op 0.77
copy serialized Small SignedBeaconBlock (128000 B) 17.163 us/op 14.373 us/op 1.19
transfer serialized Avg SignedBeaconBlock (200000 B) 2.8720 us/op 3.5590 us/op 0.81
copy serialized Avg SignedBeaconBlock (200000 B) 26.523 us/op 20.133 us/op 1.32
transfer serialized BlobsSidecar (524380 B) 3.0800 us/op 3.2310 us/op 0.95
copy serialized BlobsSidecar (524380 B) 222.78 us/op 79.338 us/op 2.81
transfer serialized Big SignedBeaconBlock (1000000 B) 3.3500 us/op 3.0660 us/op 1.09
copy serialized Big SignedBeaconBlock (1000000 B) 171.10 us/op 150.18 us/op 1.14
pass gossip attestations to forkchoice per slot 2.8230 ms/op 2.8181 ms/op 1.00
forkChoice updateHead vc 100000 bc 64 eq 0 452.19 us/op 453.06 us/op 1.00
forkChoice updateHead vc 600000 bc 64 eq 0 2.7943 ms/op 2.7395 ms/op 1.02
forkChoice updateHead vc 1000000 bc 64 eq 0 4.9606 ms/op 4.8228 ms/op 1.03
forkChoice updateHead vc 600000 bc 320 eq 0 2.8054 ms/op 2.7927 ms/op 1.00
forkChoice updateHead vc 600000 bc 1200 eq 0 2.8988 ms/op 2.8485 ms/op 1.02
forkChoice updateHead vc 600000 bc 7200 eq 0 3.7731 ms/op 3.4471 ms/op 1.09
forkChoice updateHead vc 600000 bc 64 eq 1000 10.978 ms/op 10.306 ms/op 1.07
forkChoice updateHead vc 600000 bc 64 eq 10000 10.824 ms/op 10.648 ms/op 1.02
forkChoice updateHead vc 600000 bc 64 eq 300000 14.330 ms/op 13.456 ms/op 1.06
computeDeltas 500000 validators 300 proto nodes 4.0887 ms/op 3.8810 ms/op 1.05
computeDeltas 500000 validators 1200 proto nodes 4.2165 ms/op 3.8846 ms/op 1.09
computeDeltas 500000 validators 7200 proto nodes 4.2295 ms/op 3.9146 ms/op 1.08
computeDeltas 750000 validators 300 proto nodes 6.1076 ms/op 5.7342 ms/op 1.07
computeDeltas 750000 validators 1200 proto nodes 6.1994 ms/op 5.7394 ms/op 1.08
computeDeltas 750000 validators 7200 proto nodes 5.9732 ms/op 5.7522 ms/op 1.04
computeDeltas 1400000 validators 300 proto nodes 11.249 ms/op 10.890 ms/op 1.03
computeDeltas 1400000 validators 1200 proto nodes 11.579 ms/op 11.237 ms/op 1.03
computeDeltas 1400000 validators 7200 proto nodes 11.611 ms/op 11.447 ms/op 1.01
computeDeltas 2100000 validators 300 proto nodes 17.282 ms/op 17.096 ms/op 1.01
computeDeltas 2100000 validators 1200 proto nodes 17.512 ms/op 17.219 ms/op 1.02
computeDeltas 2100000 validators 7200 proto nodes 17.083 ms/op 16.359 ms/op 1.04
altair processAttestation - 250000 vs - 7PWei normalcase 1.8057 ms/op 1.6332 ms/op 1.11
altair processAttestation - 250000 vs - 7PWei worstcase 2.4992 ms/op 2.5388 ms/op 0.98
altair processAttestation - setStatus - 1/6 committees join 84.848 us/op 85.035 us/op 1.00
altair processAttestation - setStatus - 1/3 committees join 171.73 us/op 171.28 us/op 1.00
altair processAttestation - setStatus - 1/2 committees join 240.63 us/op 243.55 us/op 0.99
altair processAttestation - setStatus - 2/3 committees join 319.26 us/op 322.27 us/op 0.99
altair processAttestation - setStatus - 4/5 committees join 460.07 us/op 456.60 us/op 1.01
altair processAttestation - setStatus - 100% committees join 555.00 us/op 538.38 us/op 1.03
altair processBlock - 250000 vs - 7PWei normalcase 4.9027 ms/op 3.8267 ms/op 1.28
altair processBlock - 250000 vs - 7PWei normalcase hashState 22.014 ms/op 27.789 ms/op 0.79
altair processBlock - 250000 vs - 7PWei worstcase 32.119 ms/op 33.917 ms/op 0.95
altair processBlock - 250000 vs - 7PWei worstcase hashState 66.864 ms/op 65.694 ms/op 1.02
phase0 processBlock - 250000 vs - 7PWei normalcase 1.5700 ms/op 1.6941 ms/op 0.93
phase0 processBlock - 250000 vs - 7PWei worstcase 20.125 ms/op 19.970 ms/op 1.01
altair processEth1Data - 250000 vs - 7PWei normalcase 307.83 us/op 284.67 us/op 1.08
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 4.9960 us/op 4.9730 us/op 1.00
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 30.837 us/op 27.218 us/op 1.13
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 8.4940 us/op 7.8320 us/op 1.08
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 5.6000 us/op 5.2560 us/op 1.07
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 135.82 us/op 112.73 us/op 1.20
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.0077 ms/op 1.1225 ms/op 0.90
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.4375 ms/op 1.5925 ms/op 0.90
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.4286 ms/op 1.5876 ms/op 0.90
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.6424 ms/op 3.7245 ms/op 0.98
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.5276 ms/op 1.6464 ms/op 0.93
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 3.8686 ms/op 3.6636 ms/op 1.06
Tree 40 250000 create 210.77 ms/op 206.24 ms/op 1.02
Tree 40 250000 get(125000) 146.00 ns/op 138.66 ns/op 1.05
Tree 40 250000 set(125000) 655.70 ns/op 622.26 ns/op 1.05
Tree 40 250000 toArray() 16.525 ms/op 15.471 ms/op 1.07
Tree 40 250000 iterate all - toArray() loop 15.345 ms/op 15.536 ms/op 0.99
Tree 40 250000 iterate all - get(i) 53.303 ms/op 50.289 ms/op 1.06
Array 250000 create 2.8930 ms/op 2.8420 ms/op 1.02
Array 250000 clone - spread 1.4384 ms/op 1.4081 ms/op 1.02
Array 250000 get(125000) 0.41400 ns/op 0.40700 ns/op 1.02
Array 250000 set(125000) 0.43400 ns/op 0.42500 ns/op 1.02
Array 250000 iterate all - loop 104.78 us/op 108.02 us/op 0.97
phase0 afterProcessEpoch - 250000 vs - 7PWei 49.530 ms/op 49.478 ms/op 1.00
Array.fill - length 1000000 3.4999 ms/op 3.4760 ms/op 1.01
Array push - length 1000000 16.368 ms/op 16.520 ms/op 0.99
Array.get 0.28165 ns/op 0.27098 ns/op 1.04
Uint8Array.get 0.44196 ns/op 0.43169 ns/op 1.02
phase0 beforeProcessEpoch - 250000 vs - 7PWei 18.145 ms/op 17.611 ms/op 1.03
altair processEpoch - mainnet_e81889 269.57 ms/op 267.97 ms/op 1.01
mainnet_e81889 - altair beforeProcessEpoch 19.396 ms/op 17.905 ms/op 1.08
mainnet_e81889 - altair processJustificationAndFinalization 11.718 us/op 12.314 us/op 0.95
mainnet_e81889 - altair processInactivityUpdates 5.0455 ms/op 5.0480 ms/op 1.00
mainnet_e81889 - altair processRewardsAndPenalties 35.881 ms/op 42.383 ms/op 0.85
mainnet_e81889 - altair processRegistryUpdates 1.6470 us/op 1.7240 us/op 0.96
mainnet_e81889 - altair processSlashings 410.00 ns/op 407.00 ns/op 1.01
mainnet_e81889 - altair processEth1DataReset 302.00 ns/op 270.00 ns/op 1.12
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.9393 ms/op 1.9404 ms/op 1.00
mainnet_e81889 - altair processSlashingsReset 2.8690 us/op 3.8820 us/op 0.74
mainnet_e81889 - altair processRandaoMixesReset 3.4420 us/op 4.2130 us/op 0.82
mainnet_e81889 - altair processHistoricalRootsUpdate 337.00 ns/op 470.00 ns/op 0.72
mainnet_e81889 - altair processParticipationFlagUpdates 1.4010 us/op 2.0320 us/op 0.69
mainnet_e81889 - altair processSyncCommitteeUpdates 491.00 ns/op 414.00 ns/op 1.19
mainnet_e81889 - altair afterProcessEpoch 51.095 ms/op 48.728 ms/op 1.05
capella processEpoch - mainnet_e217614 995.19 ms/op 1.0293 s/op 0.97
mainnet_e217614 - capella beforeProcessEpoch 67.411 ms/op 66.293 ms/op 1.02
mainnet_e217614 - capella processJustificationAndFinalization 13.597 us/op 14.509 us/op 0.94
mainnet_e217614 - capella processInactivityUpdates 17.194 ms/op 16.404 ms/op 1.05
mainnet_e217614 - capella processRewardsAndPenalties 213.26 ms/op 224.07 ms/op 0.95
mainnet_e217614 - capella processRegistryUpdates 11.927 us/op 12.199 us/op 0.98
mainnet_e217614 - capella processSlashings 382.00 ns/op 390.00 ns/op 0.98
mainnet_e217614 - capella processEth1DataReset 267.00 ns/op 299.00 ns/op 0.89
mainnet_e217614 - capella processEffectiveBalanceUpdates 12.027 ms/op 11.978 ms/op 1.00
mainnet_e217614 - capella processSlashingsReset 3.1020 us/op 2.3720 us/op 1.31
mainnet_e217614 - capella processRandaoMixesReset 3.7720 us/op 7.0040 us/op 0.54
mainnet_e217614 - capella processHistoricalRootsUpdate 972.00 ns/op 467.00 ns/op 2.08
mainnet_e217614 - capella processParticipationFlagUpdates 1.8840 us/op 1.9490 us/op 0.97
mainnet_e217614 - capella afterProcessEpoch 123.99 ms/op 121.43 ms/op 1.02
phase0 processEpoch - mainnet_e58758 343.77 ms/op 322.95 ms/op 1.06
mainnet_e58758 - phase0 beforeProcessEpoch 77.566 ms/op 65.813 ms/op 1.18
mainnet_e58758 - phase0 processJustificationAndFinalization 15.137 us/op 13.517 us/op 1.12
mainnet_e58758 - phase0 processRewardsAndPenalties 31.433 ms/op 28.646 ms/op 1.10
mainnet_e58758 - phase0 processRegistryUpdates 7.5440 us/op 8.0350 us/op 0.94
mainnet_e58758 - phase0 processSlashings 469.00 ns/op 382.00 ns/op 1.23
mainnet_e58758 - phase0 processEth1DataReset 300.00 ns/op 281.00 ns/op 1.07
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.2117 ms/op 1.1657 ms/op 1.04
mainnet_e58758 - phase0 processSlashingsReset 2.6980 us/op 3.1790 us/op 0.85
mainnet_e58758 - phase0 processRandaoMixesReset 4.6700 us/op 3.5130 us/op 1.33
mainnet_e58758 - phase0 processHistoricalRootsUpdate 339.00 ns/op 334.00 ns/op 1.01
mainnet_e58758 - phase0 processParticipationRecordUpdates 2.7080 us/op 2.8290 us/op 0.96
mainnet_e58758 - phase0 afterProcessEpoch 43.828 ms/op 41.768 ms/op 1.05
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.4840 ms/op 1.3966 ms/op 1.06
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 2.3957 ms/op 2.2918 ms/op 1.05
altair processInactivityUpdates - 250000 normalcase 15.442 ms/op 13.855 ms/op 1.11
altair processInactivityUpdates - 250000 worstcase 17.450 ms/op 14.153 ms/op 1.23
phase0 processRegistryUpdates - 250000 normalcase 6.6040 us/op 6.7530 us/op 0.98
phase0 processRegistryUpdates - 250000 badcase_full_deposits 281.19 us/op 241.59 us/op 1.16
phase0 processRegistryUpdates - 250000 worstcase 0.5 126.13 ms/op 114.94 ms/op 1.10
altair processRewardsAndPenalties - 250000 normalcase 36.883 ms/op 36.020 ms/op 1.02
altair processRewardsAndPenalties - 250000 worstcase 36.504 ms/op 34.768 ms/op 1.05
phase0 getAttestationDeltas - 250000 normalcase 8.8902 ms/op 7.5755 ms/op 1.17
phase0 getAttestationDeltas - 250000 worstcase 7.9301 ms/op 7.1731 ms/op 1.11
phase0 processSlashings - 250000 worstcase 97.123 us/op 76.235 us/op 1.27
altair processSyncCommitteeUpdates - 250000 137.87 ms/op 118.09 ms/op 1.17
BeaconState.hashTreeRoot - No change 240.00 ns/op 217.00 ns/op 1.11
BeaconState.hashTreeRoot - 1 full validator 126.39 us/op 101.16 us/op 1.25
BeaconState.hashTreeRoot - 32 full validator 926.97 us/op 1.3882 ms/op 0.67
BeaconState.hashTreeRoot - 512 full validator 10.796 ms/op 10.513 ms/op 1.03
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 142.63 us/op 133.52 us/op 1.07
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.0536 ms/op 1.7057 ms/op 1.20
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 24.983 ms/op 22.304 ms/op 1.12
BeaconState.hashTreeRoot - 1 balances 96.044 us/op 111.30 us/op 0.86
BeaconState.hashTreeRoot - 32 balances 997.18 us/op 1.1204 ms/op 0.89
BeaconState.hashTreeRoot - 512 balances 7.9017 ms/op 8.8098 ms/op 0.90
BeaconState.hashTreeRoot - 250000 balances 165.96 ms/op 179.77 ms/op 0.92
aggregationBits - 2048 els - zipIndexesInBitList 24.843 us/op 22.243 us/op 1.12
byteArrayEquals 32 54.259 ns/op 51.490 ns/op 1.05
Buffer.compare 32 17.476 ns/op 16.503 ns/op 1.06
byteArrayEquals 1024 1.5924 us/op 1.5230 us/op 1.05
Buffer.compare 1024 25.958 ns/op 24.620 ns/op 1.05
byteArrayEquals 16384 25.342 us/op 24.259 us/op 1.04
Buffer.compare 16384 205.34 ns/op 197.40 ns/op 1.04
byteArrayEquals 123687377 191.04 ms/op 183.82 ms/op 1.04
Buffer.compare 123687377 6.3015 ms/op 6.1821 ms/op 1.02
byteArrayEquals 32 - diff last byte 51.736 ns/op 50.491 ns/op 1.02
Buffer.compare 32 - diff last byte 16.861 ns/op 16.498 ns/op 1.02
byteArrayEquals 1024 - diff last byte 1.5597 us/op 1.5231 us/op 1.02
Buffer.compare 1024 - diff last byte 26.611 ns/op 24.185 ns/op 1.10
byteArrayEquals 16384 - diff last byte 24.847 us/op 24.225 us/op 1.03
Buffer.compare 16384 - diff last byte 203.62 ns/op 199.47 ns/op 1.02
byteArrayEquals 123687377 - diff last byte 189.47 ms/op 183.26 ms/op 1.03
Buffer.compare 123687377 - diff last byte 6.7839 ms/op 6.2660 ms/op 1.08
byteArrayEquals 32 - random bytes 5.2310 ns/op 4.9480 ns/op 1.06
Buffer.compare 32 - random bytes 17.579 ns/op 16.548 ns/op 1.06
byteArrayEquals 1024 - random bytes 5.1940 ns/op 4.9430 ns/op 1.05
Buffer.compare 1024 - random bytes 17.546 ns/op 16.556 ns/op 1.06
byteArrayEquals 16384 - random bytes 5.1600 ns/op 4.9460 ns/op 1.04
Buffer.compare 16384 - random bytes 17.593 ns/op 16.508 ns/op 1.07
byteArrayEquals 123687377 - random bytes 6.4400 ns/op 6.2000 ns/op 1.04
Buffer.compare 123687377 - random bytes 18.730 ns/op 17.790 ns/op 1.05
regular array get 100000 times 33.249 us/op 31.852 us/op 1.04
wrappedArray get 100000 times 33.267 us/op 31.747 us/op 1.05
arrayWithProxy get 100000 times 13.303 ms/op 12.573 ms/op 1.06
ssz.Root.equals 46.429 ns/op 44.087 ns/op 1.05
byteArrayEquals 45.723 ns/op 43.442 ns/op 1.05
Buffer.compare 10.513 ns/op 10.019 ns/op 1.05
processSlot - 1 slots 15.339 us/op 14.549 us/op 1.05
processSlot - 32 slots 2.9303 ms/op 2.8234 ms/op 1.04
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 33.699 ms/op 35.720 ms/op 0.94
getCommitteeAssignments - req 1 vs - 250000 vc 2.1299 ms/op 2.0919 ms/op 1.02
getCommitteeAssignments - req 100 vs - 250000 vc 3.9985 ms/op 4.0451 ms/op 0.99
getCommitteeAssignments - req 1000 vs - 250000 vc 4.3269 ms/op 4.2613 ms/op 1.02
findModifiedValidators - 10000 modified validators 220.60 ms/op 255.77 ms/op 0.86
findModifiedValidators - 1000 modified validators 178.93 ms/op 192.16 ms/op 0.93
findModifiedValidators - 100 modified validators 140.99 ms/op 158.04 ms/op 0.89
findModifiedValidators - 10 modified validators 137.87 ms/op 152.86 ms/op 0.90
findModifiedValidators - 1 modified validators 159.99 ms/op 149.13 ms/op 1.07
findModifiedValidators - no difference 155.50 ms/op 164.02 ms/op 0.95
compare ViewDUs 2.8985 s/op 2.9447 s/op 0.98
compare each validator Uint8Array 1.4300 s/op 1.1038 s/op 1.30
compare ViewDU to Uint8Array 994.31 ms/op 1.0276 s/op 0.97
migrate state 1000000 validators, 24 modified, 0 new 710.72 ms/op 737.26 ms/op 0.96
migrate state 1000000 validators, 1700 modified, 1000 new 869.64 ms/op 982.13 ms/op 0.89
migrate state 1000000 validators, 3400 modified, 2000 new 1.0982 s/op 1.1578 s/op 0.95
migrate state 1500000 validators, 24 modified, 0 new 643.83 ms/op 682.64 ms/op 0.94
migrate state 1500000 validators, 1700 modified, 1000 new 857.29 ms/op 920.34 ms/op 0.93
migrate state 1500000 validators, 3400 modified, 2000 new 1.0858 s/op 1.2039 s/op 0.90
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.2100 ns/op 4.5900 ns/op 0.92
state getBlockRootAtSlot - 250000 vs - 7PWei 723.29 ns/op 491.91 ns/op 1.47
computeProposers - vc 250000 7.2225 ms/op 6.9508 ms/op 1.04
computeEpochShuffling - vc 250000 41.148 ms/op 42.145 ms/op 0.98
getNextSyncCommittee - vc 250000 128.87 ms/op 125.18 ms/op 1.03
computeSigningRoot for AttestationData 22.419 us/op 23.094 us/op 0.97
hash AttestationData serialized data then Buffer.toString(base64) 1.5968 us/op 1.6075 us/op 0.99
toHexString serialized data 883.09 ns/op 905.27 ns/op 0.98
Buffer.toString(base64) 181.52 ns/op 176.86 ns/op 1.03
nodejs block root to RootHex using toHex 155.94 ns/op 155.06 ns/op 1.01
nodejs block root to RootHex using toRootHex 101.35 ns/op 92.678 ns/op 1.09
browser block root to RootHex using the deprecated toHexString 228.53 ns/op 228.94 ns/op 1.00
browser block root to RootHex using toHex 181.99 ns/op 182.56 ns/op 1.00
browser block root to RootHex using toRootHex 161.49 ns/op 164.75 ns/op 0.98

by benchmarkbot/action

wemeetagain added a commit that referenced this pull request Dec 20, 2024
* feat: add keymanager endpoint to retrieve proposer config (#7210)

* feat: add keymanager endpoint to retrieve proposer config

* Do not return empty builder config

* Check all builder proposer config values

* Fix settings builder config if undefined

* Fix builder config parsing

* Use ssz type to handle json serialization

Default parsing can't handle BigInt

* Revert "Use ssz type to handle json serialization"

This reverts commit 01fcea7.

* Fix boost factor json serialization

* Remove unused import

* Update test data

* Update proposer config test

* feat: add mekong network option (#7212)

* chore: fix import order with biome syntax (#7211)

Fix import order

* fix: consistently validate pubkey and throw 404 if not found (#7214)

* Throw error if pubkey is unknown when getting graffiti

* Consistently validate pubkey and throw 404 if not found

* fix: only return local keys from /eth/v1/keystores (#7215)

* fix: only return local keys from /eth/v1/keystores

* Fix fetching remote keys in node assertion

* feat: add and use getBlobsV1 to expedite gossip import (#7134)

* hookup the getblobs api to get bob and proof data from el

remove unused

fix import

metrics overhault, test, debugging testing, some feeback

fix

add nethermind bug dicussion link

fix

resolve conflicts

* deblobs timeout

* fix metric

* chore: revert async aggregate with randomness (#7218)

Revert "feat: asyncAggregateWithRandomness (#7204)"

This reverts commit e31d535.

* fix: update config for relaunched mekong network (#7220)

* fix: light client generating `LightClientUpdate` with wrong length of branches (#7187)

* initial commit

* Rewrite SyncCommitteeWitnessRepository

* Fix finality branch

* Update unit test

* fix e2e

* Review PR

---------

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

* fix: archive finalized state when shutting down beacon node (#7221)

* Fix typo

* feat: remove unfinalized pubkey cache (#7230)

* Remove unfinalized pubkey cache

* lint

* Fix unit test

* chore: skip web3_provider unit tests (#7252)

* fix: prune checkpoint states at syncing time (#7241)

* fix: prune checkpoint states at syncing time

* fix: lint

* fix: check-types in test

* fix: sync cached isCompoundingValidatorArr at epoch transition (#7247)

* fix: handle outOfRangeData when range sync Deneb (#7249)

* fix: handle outOfRangeData for beaconBlocksMaybeBlobsByRange()

* fix: lint

* fix: archiveBlocks - handle deneb outOfRangeData block

* fix: sync cached balance when adding new validator to registry (#7255)

* fix: sync cached balance when adding new validator to registry

* chore: add more comments

* fix: remove persisted checkpoint states from the previous run at startup

* fix: do not throw error when trying to prune missing directory (#7257)

* docs: update documentation Oct 2024 (#7178)

* docs update oct 2024 init

* Reconfig quickstart nav and minor fixes

* fix lint

* spelling fixes

* minor fixes and add to wordlist

* prettier fix

* add to wordlist

* sort wordlist

* modify dominance to include lighthouse

* fix typescript casing and add recommendation

* add selection and boost_factor with keymanager notice

* update wordlist

* remove builder enabled and add keymanager api

* spelling

---------

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

* chore(deps): bump cross-spawn from 7.0.3 to 7.0.6 in /docs (#7268)

Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn) from 7.0.3 to 7.0.6.
- [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md)
- [Commits](moxystudio/node-cross-spawn@v7.0.3...v7.0.6)

---
updated-dependencies:
- dependency-name: cross-spawn
  dependency-type: indirect
...

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

* feat: add error log to notifier if execution client auth failed (#7239)

* feat: add error log to notifier if execution client auth failed

* Update packages/beacon-node/src/node/notifier.ts

---------

Co-authored-by: NC <17676176 [email protected]>

* docs: display rcConfig flag on CLI reference page (#7270)

* docs: display rcConfig flag on CLI reference page

* Update word list

* chore: remove prettier as default formatter for all file types (#7275)

* chore: unhide flags relevant for devnets / testing (#7271)

* feat: debug too many shuffling promises (#7251)

* feat: add asyncShufflingCalculation to StateTransitionOpts

* feat: add asyncShufflingCalculation to all regen / processSlots consumers

* fix: default to false for async shuffling and remove unnecessary props

* fix: remove unnecessary flags from stateTransition

* feat: implement conditional build of shuffling for prepareNextSlot

* fix: spec test bug where shufflingCache is present from BeaconChain constructor

* feat: sync build next shuffling if not queued async

* fix: use getSync to pull next shuffling correctly

* docs: add comment to prepareNextSlot

* refactor: rename StateCloneOpts to StateRegenerationOpts

* feat: pass asyncShufflingCalculation through to afterProcessEpoch and refactor conditional to run purely sync

* docs: add issue number to comment

* chore: lint

* chore: unpin nodejs version from 22.4 (#6982)

* Revert "chore: pin nodejs version to 22.4 (#6964)"

This reverts commit f20484b.

* Don't revert formatting changes

---------

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

* chore: update bootnodes file url for holesky and sepolia (#7276)

* feat: add `debug_getHistoricalSummaries` endpoint (#7245)

* feat: add new getHistoricalSummaries endpoint to debug namespace

* Add JSON response

* Restructure to use stateId and add proof to response

* add test scaffolding

* Address feedback

* Move getHistoricalSummaries to lodestar namespace

* add lodestar namespace unit test

* update route name to lodestar namespace

* cast state object as Capella state

* Lint

* json properties need to be lower case

* Make it v1 since it's now part of lodestar namespace

* Group with other /lodestar endpoints

* Simplify beacon node impl

* Rename return type

* Update test description

* Fix variable name

---------

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

* chore: log sync committee signature errors as `error` (#7283)

* fix: update engine_getClientVersionV1 commit encoding (#7282)

* fix: check pubkey or validator index known to a state (#7284)

* fix: check pubkey or validator index known to a state

* chore: add more comments

* feat: lodestar script setup (#7254)

* feat: lodestar_setup

* feat: script_updates   docs

* feat: script_addition_in_docs   command_update

* Remove duplicate script from docs folder

* Minor script updates

* Update script to prepare docs and ignore copied file

* Update installation page

* Wording

---------

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

* feat: add terminal-sized Electra giraffe banner (#7286)

* Create giraffeBanners.ts

* Wire in banner

* Fix file name

* lint

* Address @nflaig's comment

---------

Co-authored-by: NC <17676176 [email protected]>

* chore: pin nodejs version to 22.4 (#7291)

Revert "chore: unpin nodejs version from 22.4 (#6982)"

This reverts commit 69ae688.

* feat: expose `DOMAIN_APPLICATION_MASK` in config/spec api (#7296)

* feat: expose DOMAIN_APPLICATION_MASK in config/spec api

* Lint

* feat: make `MAX_REQUEST_BLOB_SIDECARS` and `MAX_BLOBS_PER_BLOCK` configurable (#7294)

* Init commit

* Fix check-types

* Add comment on how MAX_REQUEST_BLOB_SIDECARS is calculated

* Ensure proper config object is passed

* Address comment

---------

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

* feat: use `BLOB_SIDECAR_SUBNET_COUNT` to configure blob subnets (#7297)

feat: use BLOB_SIDECAR_SUBNET_COUNT to configure blob subnets

* chore: log sync aggregate participants when producing beacon block body (#7300)

* chore: log sync aggregate participants when producing beacon block body

* Use isForkLightClient instead of ForkSeq

* Fix produce block unit tests

* chore: print graffiti when producing beacon block body (#7303)

* fix: warn if engine / builder failed to produce block within cutoff time (#7305)

* feat: add kzg commitment length check when validating gossip blocks (#7302)

* feat: add blob sidecar index check (#7313)

Validate blobSidecar index

* fix: fix blob sidecar index check (#7315)

Fix index check

* chore: fix format of printed graffiti from hex to utf-8 (#7306)

* chore: fix format of printed graffiti from hex to utf-8

* Use Buffer.from no copy with offset

* docs: batch commit typos and update contributor readme (#7312)

* batch commit typos and update contributor readme

* update donation text

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

* correct spelling

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

---------

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

* chore: remove trailing null bytes from printed graffiti (#7320)

* chore: remove trailing null bytes from printed graffiti

* Use replaceAll instead of regex

* chore: unpin nodejs version from 22.4 (#7324)

Revert "chore: pin nodejs version to 22.4 (#7291)"

This reverts commit 99794d3.

* chore: bump package versions to 1.24.0

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Nico Flaig <[email protected]>
Co-authored-by: Nazar Hussain <[email protected]>
Co-authored-by: g11tech <[email protected]>
Co-authored-by: Matthew Keil <[email protected]>
Co-authored-by: NC <17676176 [email protected]>
Co-authored-by: twoeths <[email protected]>
Co-authored-by: Phil Ngo <58080811 [email protected]>
Co-authored-by: dependabot[bot] <49699333 dependabot[bot]@users.noreply.github.com>
Co-authored-by: acolytec3 <17355484 [email protected]>
Co-authored-by: Varun Guleria <152203177 [email protected]>
Co-authored-by: ClockworkYuzu <[email protected]>
@wemeetagain
Copy link
Member

🎉 This PR is included in v1.24.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