Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

feat: expose DOMAIN_APPLICATION_MASK in config/spec api #7296

Merged
merged 2 commits into from
Dec 13, 2024

Conversation

nflaig
Copy link
Member

@nflaig nflaig commented Dec 13, 2024

Motivation

Noticed our config test missed a few constants due to an incorrect matcher / regex

Description

Exposes DOMAIN_APPLICATION_MASK in config/spec api and fixes the tests to properly capture all constants.

We still miss a lot of network related configs, see #6351

@nflaig nflaig requested a review from a team as a code owner December 13, 2024 10:18
Copy link

codecov bot commented Dec 13, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 48.91%. Comparing base (99794d3) to head (0ac1db0).
Report is 1 commits behind head on unstable.

Additional details and impacted files
@@            Coverage Diff            @@
##           unstable    #7296   +/-   ##
=========================================
  Coverage     48.91%   48.91%           
=========================================
  Files           601      601           
  Lines         40188    40188           
  Branches       2061     2061           
=========================================
  Hits          19658    19658           
  Misses        20492    20492           
  Partials         38       38           

Copy link
Contributor

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: b8c3ead Previous: 99794d3 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 1.7629 ms/op 2.1367 ms/op 0.83
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 40.676 us/op 52.834 us/op 0.77
BLS verify - blst 875.70 us/op 1.0209 ms/op 0.86
BLS verifyMultipleSignatures 3 - blst 1.6832 ms/op 1.5870 ms/op 1.06
BLS verifyMultipleSignatures 8 - blst 2.0000 ms/op 2.0045 ms/op 1.00
BLS verifyMultipleSignatures 32 - blst 4.4127 ms/op 6.0829 ms/op 0.73
BLS verifyMultipleSignatures 64 - blst 8.0474 ms/op 11.431 ms/op 0.70
BLS verifyMultipleSignatures 128 - blst 15.686 ms/op 17.863 ms/op 0.88
BLS deserializing 10000 signatures 595.55 ms/op 707.37 ms/op 0.84
BLS deserializing 100000 signatures 5.7146 s/op 7.0437 s/op 0.81
BLS verifyMultipleSignatures - same message - 3 - blst 913.96 us/op 1.0103 ms/op 0.90
BLS verifyMultipleSignatures - same message - 8 - blst 1.0871 ms/op 1.0538 ms/op 1.03
BLS verifyMultipleSignatures - same message - 32 - blst 1.6012 ms/op 1.8970 ms/op 0.84
BLS verifyMultipleSignatures - same message - 64 - blst 2.3369 ms/op 2.7941 ms/op 0.84
BLS verifyMultipleSignatures - same message - 128 - blst 3.8174 ms/op 4.3489 ms/op 0.88
BLS aggregatePubkeys 32 - blst 16.083 us/op 20.752 us/op 0.78
BLS aggregatePubkeys 128 - blst 56.708 us/op 71.782 us/op 0.79
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 85.616 ms/op 69.835 ms/op 1.23
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 65.199 ms/op 75.671 ms/op 0.86
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 41.366 ms/op 61.302 ms/op 0.67
getSlashingsAndExits - default max 86.931 us/op 105.56 us/op 0.82
getSlashingsAndExits - 2k 304.50 us/op 327.04 us/op 0.93
proposeBlockBody type=full, size=empty 5.1191 ms/op 6.4051 ms/op 0.80
isKnown best case - 1 super set check 453.00 ns/op 313.00 ns/op 1.45
isKnown normal case - 2 super set checks 454.00 ns/op 305.00 ns/op 1.49
isKnown worse case - 16 super set checks 444.00 ns/op 343.00 ns/op 1.29
InMemoryCheckpointStateCache - add get delete 3.0420 us/op 2.9530 us/op 1.03
validate api signedAggregateAndProof - struct 1.5623 ms/op 1.5933 ms/op 0.98
validate gossip signedAggregateAndProof - struct 1.5208 ms/op 2.5475 ms/op 0.60
batch validate gossip attestation - vc 640000 - chunk 32 125.88 us/op 140.06 us/op 0.90
batch validate gossip attestation - vc 640000 - chunk 64 113.66 us/op 120.14 us/op 0.95
batch validate gossip attestation - vc 640000 - chunk 128 100.15 us/op 128.59 us/op 0.78
batch validate gossip attestation - vc 640000 - chunk 256 89.457 us/op 116.50 us/op 0.77
pickEth1Vote - no votes 850.08 us/op 1.0723 ms/op 0.79
pickEth1Vote - max votes 4.8502 ms/op 6.1472 ms/op 0.79
pickEth1Vote - Eth1Data hashTreeRoot value x2048 14.053 ms/op 12.793 ms/op 1.10
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 18.403 ms/op 20.314 ms/op 0.91
pickEth1Vote - Eth1Data fastSerialize value x2048 315.61 us/op 552.41 us/op 0.57
pickEth1Vote - Eth1Data fastSerialize tree x2048 2.8849 ms/op 3.1602 ms/op 0.91
bytes32 toHexString 576.00 ns/op 524.00 ns/op 1.10
bytes32 Buffer.toString(hex) 432.00 ns/op 272.00 ns/op 1.59
bytes32 Buffer.toString(hex) from Uint8Array 515.00 ns/op 452.00 ns/op 1.14
bytes32 Buffer.toString(hex) + 0x 429.00 ns/op 272.00 ns/op 1.58
Object access 1 prop 0.32000 ns/op 0.15400 ns/op 2.08
Map access 1 prop 0.32100 ns/op 0.13900 ns/op 2.31
Object get x1000 4.6280 ns/op 6.1020 ns/op 0.76
Map get x1000 5.1540 ns/op 6.4950 ns/op 0.79
Object set x1000 20.699 ns/op 40.753 ns/op 0.51
Map set x1000 18.020 ns/op 23.581 ns/op 0.76
Return object 10000 times 0.25890 ns/op 0.30170 ns/op 0.86
Throw Error 10000 times 2.3788 us/op 3.4509 us/op 0.69
toHex 94.910 ns/op 165.37 ns/op 0.57
Buffer.from 89.398 ns/op 150.31 ns/op 0.59
shared Buffer 60.163 ns/op 88.094 ns/op 0.68
fastMsgIdFn sha256 / 200 bytes 1.7590 us/op 2.2040 us/op 0.80
fastMsgIdFn h32 xxhash / 200 bytes 362.00 ns/op 249.00 ns/op 1.45
fastMsgIdFn h64 xxhash / 200 bytes 410.00 ns/op 272.00 ns/op 1.51
fastMsgIdFn sha256 / 1000 bytes 5.8750 us/op 7.6630 us/op 0.77
fastMsgIdFn h32 xxhash / 1000 bytes 514.00 ns/op 359.00 ns/op 1.43
fastMsgIdFn h64 xxhash / 1000 bytes 514.00 ns/op 338.00 ns/op 1.52
fastMsgIdFn sha256 / 10000 bytes 49.401 us/op 62.467 us/op 0.79
fastMsgIdFn h32 xxhash / 10000 bytes 1.8490 us/op 1.7910 us/op 1.03
fastMsgIdFn h64 xxhash / 10000 bytes 1.3080 us/op 1.1750 us/op 1.11
send data - 1000 256B messages 10.181 ms/op 13.365 ms/op 0.76
send data - 1000 512B messages 14.653 ms/op 16.083 ms/op 0.91
send data - 1000 1024B messages 20.269 ms/op 25.447 ms/op 0.80
send data - 1000 1200B messages 23.753 ms/op 26.663 ms/op 0.89
send data - 1000 2048B messages 29.053 ms/op 33.173 ms/op 0.88
send data - 1000 4096B messages 25.024 ms/op 32.352 ms/op 0.77
send data - 1000 16384B messages 65.500 ms/op 75.458 ms/op 0.87
send data - 1000 65536B messages 248.65 ms/op 198.69 ms/op 1.25
enrSubnets - fastDeserialize 64 bits 1.0460 us/op 1.0580 us/op 0.99
enrSubnets - ssz BitVector 64 bits 487.00 ns/op 362.00 ns/op 1.35
enrSubnets - fastDeserialize 4 bits 302.00 ns/op 153.00 ns/op 1.97
enrSubnets - ssz BitVector 4 bits 472.00 ns/op 355.00 ns/op 1.33
prioritizePeers score -10:0 att 32-0.1 sync 2-0 124.06 us/op 150.20 us/op 0.83
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 153.50 us/op 193.84 us/op 0.79
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 289.54 us/op 292.00 us/op 0.99
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 473.49 us/op 562.01 us/op 0.84
prioritizePeers score 0:0 att 64-1 sync 4-1 526.49 us/op 813.44 us/op 0.65
array of 16000 items push then shift 1.1508 us/op 1.6706 us/op 0.69
LinkedList of 16000 items push then shift 6.8360 ns/op 7.3140 ns/op 0.93
array of 16000 items push then pop 77.965 ns/op 126.66 ns/op 0.62
LinkedList of 16000 items push then pop 5.8220 ns/op 7.0540 ns/op 0.83
array of 24000 items push then shift 1.6652 us/op 2.4939 us/op 0.67
LinkedList of 24000 items push then shift 6.3990 ns/op 7.6070 ns/op 0.84
array of 24000 items push then pop 99.003 ns/op 153.39 ns/op 0.65
LinkedList of 24000 items push then pop 5.6560 ns/op 7.5100 ns/op 0.75
intersect bitArray bitLen 8 4.8810 ns/op 6.5340 ns/op 0.75
intersect array and set length 8 34.973 ns/op 60.650 ns/op 0.58
intersect bitArray bitLen 128 23.969 ns/op 29.489 ns/op 0.81
intersect array and set length 128 523.48 ns/op 734.54 ns/op 0.71
bitArray.getTrueBitIndexes() bitLen 128 1.8900 us/op 2.3350 us/op 0.81
bitArray.getTrueBitIndexes() bitLen 248 3.0990 us/op 4.2000 us/op 0.74
bitArray.getTrueBitIndexes() bitLen 512 6.1610 us/op 8.2570 us/op 0.75
Buffer.concat 32 items 944.00 ns/op 1.0120 us/op 0.93
Uint8Array.set 32 items 1.6860 us/op 2.1700 us/op 0.78
Buffer.copy 1.8330 us/op 2.0970 us/op 0.87
Uint8Array.set - with subarray 2.4370 us/op 3.2420 us/op 0.75
Uint8Array.set - without subarray 1.6680 us/op 2.0460 us/op 0.82
getUint32 - dataview 390.00 ns/op 285.00 ns/op 1.37
getUint32 - manual 332.00 ns/op 204.00 ns/op 1.63
Set add up to 64 items then delete first 1.7946 us/op 2.4318 us/op 0.74
OrderedSet add up to 64 items then delete first 2.5147 us/op 3.8953 us/op 0.65
Set add up to 64 items then delete last 1.8537 us/op 3.2553 us/op 0.57
OrderedSet add up to 64 items then delete last 2.8905 us/op 5.1187 us/op 0.56
Set add up to 64 items then delete middle 1.8424 us/op 3.1542 us/op 0.58
OrderedSet add up to 64 items then delete middle 4.1299 us/op 6.5177 us/op 0.63
Set add up to 128 items then delete first 3.5502 us/op 5.2697 us/op 0.67
OrderedSet add up to 128 items then delete first 5.3769 us/op 7.4923 us/op 0.72
Set add up to 128 items then delete last 3.5446 us/op 5.3564 us/op 0.66
OrderedSet add up to 128 items then delete last 5.5919 us/op 8.0202 us/op 0.70
Set add up to 128 items then delete middle 3.5247 us/op 5.0520 us/op 0.70
OrderedSet add up to 128 items then delete middle 10.735 us/op 13.766 us/op 0.78
Set add up to 256 items then delete first 7.0216 us/op 10.716 us/op 0.66
OrderedSet add up to 256 items then delete first 11.016 us/op 16.761 us/op 0.66
Set add up to 256 items then delete last 7.0432 us/op 11.774 us/op 0.60
OrderedSet add up to 256 items then delete last 11.216 us/op 17.543 us/op 0.64
Set add up to 256 items then delete middle 6.9745 us/op 10.361 us/op 0.67
OrderedSet add up to 256 items then delete middle 30.972 us/op 41.821 us/op 0.74
transfer serialized Status (84 B) 1.3880 us/op 1.3980 us/op 0.99
copy serialized Status (84 B) 1.2020 us/op 1.1010 us/op 1.09
transfer serialized SignedVoluntaryExit (112 B) 1.5710 us/op 1.4300 us/op 1.10
copy serialized SignedVoluntaryExit (112 B) 1.2970 us/op 1.2500 us/op 1.04
transfer serialized ProposerSlashing (416 B) 2.2470 us/op 1.6020 us/op 1.40
copy serialized ProposerSlashing (416 B) 2.2700 us/op 1.6230 us/op 1.40
transfer serialized Attestation (485 B) 2.3260 us/op 1.7070 us/op 1.36
copy serialized Attestation (485 B) 2.3150 us/op 1.5160 us/op 1.53
transfer serialized AttesterSlashing (33232 B) 2.6370 us/op 2.7440 us/op 0.96
copy serialized AttesterSlashing (33232 B) 6.0900 us/op 6.9820 us/op 0.87
transfer serialized Small SignedBeaconBlock (128000 B) 3.4540 us/op 3.3140 us/op 1.04
copy serialized Small SignedBeaconBlock (128000 B) 13.252 us/op 17.504 us/op 0.76
transfer serialized Avg SignedBeaconBlock (200000 B) 3.6350 us/op 3.5390 us/op 1.03
copy serialized Avg SignedBeaconBlock (200000 B) 18.921 us/op 26.331 us/op 0.72
transfer serialized BlobsSidecar (524380 B) 2.9840 us/op 3.0430 us/op 0.98
copy serialized BlobsSidecar (524380 B) 71.371 us/op 75.157 us/op 0.95
transfer serialized Big SignedBeaconBlock (1000000 B) 2.7430 us/op 3.1640 us/op 0.87
copy serialized Big SignedBeaconBlock (1000000 B) 201.95 us/op 178.79 us/op 1.13
pass gossip attestations to forkchoice per slot 2.2439 ms/op 2.8442 ms/op 0.79
forkChoice updateHead vc 100000 bc 64 eq 0 386.99 us/op 454.07 us/op 0.85
forkChoice updateHead vc 600000 bc 64 eq 0 2.2571 ms/op 3.1727 ms/op 0.71
forkChoice updateHead vc 1000000 bc 64 eq 0 3.5843 ms/op 5.3831 ms/op 0.67
forkChoice updateHead vc 600000 bc 320 eq 0 2.2535 ms/op 2.9000 ms/op 0.78
forkChoice updateHead vc 600000 bc 1200 eq 0 2.0558 ms/op 3.0096 ms/op 0.68
forkChoice updateHead vc 600000 bc 7200 eq 0 2.4394 ms/op 4.1364 ms/op 0.59
forkChoice updateHead vc 600000 bc 64 eq 1000 9.3164 ms/op 10.642 ms/op 0.88
forkChoice updateHead vc 600000 bc 64 eq 10000 9.3099 ms/op 10.593 ms/op 0.88
forkChoice updateHead vc 600000 bc 64 eq 300000 11.459 ms/op 15.158 ms/op 0.76
computeDeltas 500000 validators 300 proto nodes 3.1896 ms/op 4.1799 ms/op 0.76
computeDeltas 500000 validators 1200 proto nodes 3.1397 ms/op 4.2880 ms/op 0.73
computeDeltas 500000 validators 7200 proto nodes 3.6116 ms/op 4.2920 ms/op 0.84
computeDeltas 750000 validators 300 proto nodes 4.7421 ms/op 6.1591 ms/op 0.77
computeDeltas 750000 validators 1200 proto nodes 4.8435 ms/op 6.1044 ms/op 0.79
computeDeltas 750000 validators 7200 proto nodes 4.8051 ms/op 6.2919 ms/op 0.76
computeDeltas 1400000 validators 300 proto nodes 8.8312 ms/op 11.831 ms/op 0.75
computeDeltas 1400000 validators 1200 proto nodes 8.8020 ms/op 12.157 ms/op 0.72
computeDeltas 1400000 validators 7200 proto nodes 9.0421 ms/op 12.457 ms/op 0.73
computeDeltas 2100000 validators 300 proto nodes 13.540 ms/op 18.545 ms/op 0.73
computeDeltas 2100000 validators 1200 proto nodes 13.922 ms/op 18.077 ms/op 0.77
computeDeltas 2100000 validators 7200 proto nodes 13.999 ms/op 17.864 ms/op 0.78
altair processAttestation - 250000 vs - 7PWei normalcase 1.8602 ms/op 2.1741 ms/op 0.86
altair processAttestation - 250000 vs - 7PWei worstcase 2.6139 ms/op 2.8406 ms/op 0.92
altair processAttestation - setStatus - 1/6 committees join 75.739 us/op 88.547 us/op 0.86
altair processAttestation - setStatus - 1/3 committees join 154.42 us/op 178.63 us/op 0.86
altair processAttestation - setStatus - 1/2 committees join 207.11 us/op 253.33 us/op 0.82
altair processAttestation - setStatus - 2/3 committees join 284.62 us/op 318.35 us/op 0.89
altair processAttestation - setStatus - 4/5 committees join 403.69 us/op 466.05 us/op 0.87
altair processAttestation - setStatus - 100% committees join 473.61 us/op 556.11 us/op 0.85
altair processBlock - 250000 vs - 7PWei normalcase 4.1004 ms/op 4.4770 ms/op 0.92
altair processBlock - 250000 vs - 7PWei normalcase hashState 25.133 ms/op 28.018 ms/op 0.90
altair processBlock - 250000 vs - 7PWei worstcase 35.781 ms/op 39.620 ms/op 0.90
altair processBlock - 250000 vs - 7PWei worstcase hashState 65.675 ms/op 81.854 ms/op 0.80
phase0 processBlock - 250000 vs - 7PWei normalcase 1.8704 ms/op 2.3298 ms/op 0.80
phase0 processBlock - 250000 vs - 7PWei worstcase 22.776 ms/op 25.928 ms/op 0.88
altair processEth1Data - 250000 vs - 7PWei normalcase 256.46 us/op 336.67 us/op 0.76
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 4.2260 us/op 6.9170 us/op 0.61
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 32.231 us/op 38.155 us/op 0.84
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 9.0940 us/op 13.695 us/op 0.66
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 5.2190 us/op 6.7000 us/op 0.78
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 131.28 us/op 170.64 us/op 0.77
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 863.00 us/op 1.3964 ms/op 0.62
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.1676 ms/op 1.9376 ms/op 0.60
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.1729 ms/op 2.2502 ms/op 0.52
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.0443 ms/op 3.7648 ms/op 0.81
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.1837 ms/op 1.7747 ms/op 0.67
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 3.2515 ms/op 3.8894 ms/op 0.84
Tree 40 250000 create 172.71 ms/op 242.42 ms/op 0.71
Tree 40 250000 get(125000) 112.01 ns/op 160.95 ns/op 0.70
Tree 40 250000 set(125000) 563.28 ns/op 706.80 ns/op 0.80
Tree 40 250000 toArray() 10.500 ms/op 17.146 ms/op 0.61
Tree 40 250000 iterate all - toArray() + loop 10.981 ms/op 18.148 ms/op 0.61
Tree 40 250000 iterate all - get(i) 46.054 ms/op 56.910 ms/op 0.81
Array 250000 create 2.4460 ms/op 3.2207 ms/op 0.76
Array 250000 clone - spread 1.2827 ms/op 1.3667 ms/op 0.94
Array 250000 get(125000) 0.59700 ns/op 0.44100 ns/op 1.35
Array 250000 set(125000) 0.65700 ns/op 0.45200 ns/op 1.45
Array 250000 iterate all - loop 78.108 us/op 96.023 us/op 0.81
phase0 afterProcessEpoch - 250000 vs - 7PWei 42.506 ms/op 51.613 ms/op 0.82
Array.fill - length 1000000 2.5110 ms/op 3.4402 ms/op 0.73
Array push - length 1000000 15.019 ms/op 18.810 ms/op 0.80
Array.get 0.25279 ns/op 0.29403 ns/op 0.86
Uint8Array.get 0.34151 ns/op 0.44582 ns/op 0.77
phase0 beforeProcessEpoch - 250000 vs - 7PWei 19.089 ms/op 19.139 ms/op 1.00
altair processEpoch - mainnet_e81889 224.20 ms/op 283.28 ms/op 0.79
mainnet_e81889 - altair beforeProcessEpoch 17.965 ms/op 19.319 ms/op 0.93
mainnet_e81889 - altair processJustificationAndFinalization 14.841 us/op 13.034 us/op 1.14
mainnet_e81889 - altair processInactivityUpdates 4.9393 ms/op 5.9560 ms/op 0.83
mainnet_e81889 - altair processRewardsAndPenalties 44.751 ms/op 44.413 ms/op 1.01
mainnet_e81889 - altair processRegistryUpdates 2.4600 us/op 1.8560 us/op 1.33
mainnet_e81889 - altair processSlashings 1.0370 us/op 331.00 ns/op 3.13
mainnet_e81889 - altair processEth1DataReset 972.00 ns/op 328.00 ns/op 2.96
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.1001 ms/op 1.7128 ms/op 0.64
mainnet_e81889 - altair processSlashingsReset 3.0940 us/op 2.7870 us/op 1.11
mainnet_e81889 - altair processRandaoMixesReset 5.4690 us/op 3.3520 us/op 1.63
mainnet_e81889 - altair processHistoricalRootsUpdate 1.2970 us/op 717.00 ns/op 1.81
mainnet_e81889 - altair processParticipationFlagUpdates 3.4220 us/op 2.1710 us/op 1.58
mainnet_e81889 - altair processSyncCommitteeUpdates 888.00 ns/op 443.00 ns/op 2.00
mainnet_e81889 - altair afterProcessEpoch 41.853 ms/op 52.039 ms/op 0.80
capella processEpoch - mainnet_e217614 1.0742 s/op 1.0638 s/op 1.01
mainnet_e217614 - capella beforeProcessEpoch 72.696 ms/op 69.553 ms/op 1.05
mainnet_e217614 - capella processJustificationAndFinalization 12.795 us/op 16.496 us/op 0.78
mainnet_e217614 - capella processInactivityUpdates 13.604 ms/op 17.825 ms/op 0.76
mainnet_e217614 - capella processRewardsAndPenalties 236.37 ms/op 251.80 ms/op 0.94
mainnet_e217614 - capella processRegistryUpdates 11.671 us/op 14.574 us/op 0.80
mainnet_e217614 - capella processSlashings 880.00 ns/op 524.00 ns/op 1.68
mainnet_e217614 - capella processEth1DataReset 706.00 ns/op 464.00 ns/op 1.52
mainnet_e217614 - capella processEffectiveBalanceUpdates 5.1360 ms/op 14.816 ms/op 0.35
mainnet_e217614 - capella processSlashingsReset 1.8460 us/op 4.4640 us/op 0.41
mainnet_e217614 - capella processRandaoMixesReset 3.3290 us/op 4.5080 us/op 0.74
mainnet_e217614 - capella processHistoricalRootsUpdate 744.00 ns/op 505.00 ns/op 1.47
mainnet_e217614 - capella processParticipationFlagUpdates 1.7670 us/op 1.6630 us/op 1.06
mainnet_e217614 - capella afterProcessEpoch 101.57 ms/op 128.04 ms/op 0.79
phase0 processEpoch - mainnet_e58758 228.08 ms/op 357.70 ms/op 0.64
mainnet_e58758 - phase0 beforeProcessEpoch 54.076 ms/op 79.499 ms/op 0.68
mainnet_e58758 - phase0 processJustificationAndFinalization 13.773 us/op 14.853 us/op 0.93
mainnet_e58758 - phase0 processRewardsAndPenalties 32.892 ms/op 31.090 ms/op 1.06
mainnet_e58758 - phase0 processRegistryUpdates 8.3810 us/op 9.7970 us/op 0.86
mainnet_e58758 - phase0 processSlashings 874.00 ns/op 356.00 ns/op 2.46
mainnet_e58758 - phase0 processEth1DataReset 623.00 ns/op 354.00 ns/op 1.76
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 881.17 us/op 1.9338 ms/op 0.46
mainnet_e58758 - phase0 processSlashingsReset 2.7660 us/op 2.8360 us/op 0.98
mainnet_e58758 - phase0 processRandaoMixesReset 4.3010 us/op 3.9930 us/op 1.08
mainnet_e58758 - phase0 processHistoricalRootsUpdate 1.1650 us/op 336.00 ns/op 3.47
mainnet_e58758 - phase0 processParticipationRecordUpdates 4.1090 us/op 3.1070 us/op 1.32
mainnet_e58758 - phase0 afterProcessEpoch 36.271 ms/op 45.467 ms/op 0.80
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.4347 ms/op 2.2656 ms/op 0.63
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.4220 ms/op 2.5771 ms/op 0.55
altair processInactivityUpdates - 250000 normalcase 18.323 ms/op 18.419 ms/op 0.99
altair processInactivityUpdates - 250000 worstcase 19.559 ms/op 19.396 ms/op 1.01
phase0 processRegistryUpdates - 250000 normalcase 3.5720 us/op 6.9160 us/op 0.52
phase0 processRegistryUpdates - 250000 badcase_full_deposits 292.32 us/op 331.20 us/op 0.88
phase0 processRegistryUpdates - 250000 worstcase 0.5 110.61 ms/op 123.77 ms/op 0.89
altair processRewardsAndPenalties - 250000 normalcase 44.448 ms/op 40.005 ms/op 1.11
altair processRewardsAndPenalties - 250000 worstcase 42.517 ms/op 40.810 ms/op 1.04
phase0 getAttestationDeltas - 250000 normalcase 5.7212 ms/op 8.7210 ms/op 0.66
phase0 getAttestationDeltas - 250000 worstcase 6.4273 ms/op 8.0521 ms/op 0.80
phase0 processSlashings - 250000 worstcase 96.343 us/op 117.56 us/op 0.82
altair processSyncCommitteeUpdates - 250000 111.85 ms/op 133.51 ms/op 0.84
BeaconState.hashTreeRoot - No change 429.00 ns/op 229.00 ns/op 1.87
BeaconState.hashTreeRoot - 1 full validator 104.31 us/op 93.802 us/op 1.11
BeaconState.hashTreeRoot - 32 full validator 1.1565 ms/op 1.1633 ms/op 0.99
BeaconState.hashTreeRoot - 512 full validator 10.411 ms/op 10.562 ms/op 0.99
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 133.55 us/op 109.43 us/op 1.22
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.6801 ms/op 2.0024 ms/op 0.84
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 24.028 ms/op 26.430 ms/op 0.91
BeaconState.hashTreeRoot - 1 balances 96.781 us/op 129.65 us/op 0.75
BeaconState.hashTreeRoot - 32 balances 1.0614 ms/op 954.03 us/op 1.11
BeaconState.hashTreeRoot - 512 balances 8.2951 ms/op 8.2070 ms/op 1.01
BeaconState.hashTreeRoot - 250000 balances 184.30 ms/op 166.60 ms/op 1.11
aggregationBits - 2048 els - zipIndexesInBitList 19.398 us/op 28.768 us/op 0.67
byteArrayEquals 32 51.570 ns/op 54.937 ns/op 0.94
Buffer.compare 32 15.921 ns/op 17.388 ns/op 0.92
byteArrayEquals 1024 1.2681 us/op 1.6102 us/op 0.79
Buffer.compare 1024 24.391 ns/op 25.833 ns/op 0.94
byteArrayEquals 16384 19.972 us/op 25.942 us/op 0.77
Buffer.compare 16384 191.40 ns/op 205.39 ns/op 0.93
byteArrayEquals 123687377 149.96 ms/op 196.42 ms/op 0.76
Buffer.compare 123687377 3.6604 ms/op 8.2932 ms/op 0.44
byteArrayEquals 32 - diff last byte 46.571 ns/op 53.574 ns/op 0.87
Buffer.compare 32 - diff last byte 16.402 ns/op 17.865 ns/op 0.92
byteArrayEquals 1024 - diff last byte 1.2501 us/op 1.6240 us/op 0.77
Buffer.compare 1024 - diff last byte 24.572 ns/op 27.028 ns/op 0.91
byteArrayEquals 16384 - diff last byte 19.868 us/op 25.782 us/op 0.77
Buffer.compare 16384 - diff last byte 172.21 ns/op 206.21 ns/op 0.84
byteArrayEquals 123687377 - diff last byte 150.29 ms/op 196.59 ms/op 0.76
Buffer.compare 123687377 - diff last byte 4.3914 ms/op 8.4444 ms/op 0.52
byteArrayEquals 32 - random bytes 4.9170 ns/op 5.3290 ns/op 0.92
Buffer.compare 32 - random bytes 15.791 ns/op 17.646 ns/op 0.89
byteArrayEquals 1024 - random bytes 5.0290 ns/op 5.3700 ns/op 0.94
Buffer.compare 1024 - random bytes 16.031 ns/op 17.701 ns/op 0.91
byteArrayEquals 16384 - random bytes 4.9790 ns/op 5.3930 ns/op 0.92
Buffer.compare 16384 - random bytes 17.550 ns/op 17.686 ns/op 0.99
byteArrayEquals 123687377 - random bytes 7.8500 ns/op 6.7400 ns/op 1.16
Buffer.compare 123687377 - random bytes 19.390 ns/op 20.050 ns/op 0.97
regular array get 100000 times 30.983 us/op 34.767 us/op 0.89
wrappedArray get 100000 times 31.295 us/op 34.191 us/op 0.92
arrayWithProxy get 100000 times 9.8380 ms/op 15.376 ms/op 0.64
ssz.Root.equals 44.834 ns/op 49.467 ns/op 0.91
byteArrayEquals 42.422 ns/op 46.607 ns/op 0.91
Buffer.compare 9.4180 ns/op 10.881 ns/op 0.87
processSlot - 1 slots 13.672 us/op 16.540 us/op 0.83
processSlot - 32 slots 3.0113 ms/op 2.9831 ms/op 1.01
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 37.754 ms/op 35.797 ms/op 1.05
getCommitteeAssignments - req 1 vs - 250000 vc 1.8511 ms/op 2.2300 ms/op 0.83
getCommitteeAssignments - req 100 vs - 250000 vc 3.6889 ms/op 4.2968 ms/op 0.86
getCommitteeAssignments - req 1000 vs - 250000 vc 4.0217 ms/op 4.5424 ms/op 0.89
findModifiedValidators - 10000 modified validators 384.86 ms/op 271.85 ms/op 1.42
findModifiedValidators - 1000 modified validators 164.63 ms/op 190.10 ms/op 0.87
findModifiedValidators - 100 modified validators 171.24 ms/op 176.88 ms/op 0.97
findModifiedValidators - 10 modified validators 168.50 ms/op 151.63 ms/op 1.11
findModifiedValidators - 1 modified validators 137.32 ms/op 160.80 ms/op 0.85
findModifiedValidators - no difference 142.60 ms/op 193.05 ms/op 0.74
compare ViewDUs 3.3463 s/op 3.2735 s/op 1.02
compare each validator Uint8Array 1.3781 s/op 1.8314 s/op 0.75
compare ViewDU to Uint8Array 666.57 ms/op 1.0876 s/op 0.61
migrate state 1000000 validators, 24 modified, 0 new 686.85 ms/op 769.12 ms/op 0.89
migrate state 1000000 validators, 1700 modified, 1000 new 938.85 ms/op 1.0739 s/op 0.87
migrate state 1000000 validators, 3400 modified, 2000 new 1.1401 s/op 1.4071 s/op 0.81
migrate state 1500000 validators, 24 modified, 0 new 627.97 ms/op 864.70 ms/op 0.73
migrate state 1500000 validators, 1700 modified, 1000 new 817.30 ms/op 1.0941 s/op 0.75
migrate state 1500000 validators, 3400 modified, 2000 new 1.1056 s/op 1.2798 s/op 0.86
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 5.8500 ns/op 5.0700 ns/op 1.15
state getBlockRootAtSlot - 250000 vs - 7PWei 696.19 ns/op 672.29 ns/op 1.04
computeProposers - vc 250000 5.9673 ms/op 7.9593 ms/op 0.75
computeEpochShuffling - vc 250000 34.626 ms/op 44.043 ms/op 0.79
getNextSyncCommittee - vc 250000 105.67 ms/op 136.04 ms/op 0.78
computeSigningRoot for AttestationData 20.367 us/op 22.891 us/op 0.89
hash AttestationData serialized data then Buffer.toString(base64) 1.1764 us/op 1.6829 us/op 0.70
toHexString serialized data 766.17 ns/op 1.0694 us/op 0.72
Buffer.toString(base64) 152.62 ns/op 190.55 ns/op 0.80
nodejs block root to RootHex using toHex 120.54 ns/op 162.95 ns/op 0.74
nodejs block root to RootHex using toRootHex 76.758 ns/op 98.356 ns/op 0.78
browser block root to RootHex using the deprecated toHexString 208.64 ns/op 239.21 ns/op 0.87
browser block root to RootHex using toHex 169.49 ns/op 193.20 ns/op 0.88
browser block root to RootHex using toRootHex 146.64 ns/op 177.52 ns/op 0.83

by benchmarkbot/action

@nflaig nflaig changed the title feat: expose DOMAIN_APPLICATION_MASK in config/spec api feat: expose DOMAIN_APPLICATION_MASK in config/spec api Dec 13, 2024
@nflaig nflaig merged commit 879f99b into unstable Dec 13, 2024
20 of 21 checks passed
@nflaig nflaig deleted the nflaig/DOMAIN_APPLICATION_MASK branch December 13, 2024 20:29
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 <[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 <[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 <[email protected]>
Co-authored-by: twoeths <[email protected]>
Co-authored-by: Phil Ngo <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: acolytec3 <[email protected]>
Co-authored-by: Varun Guleria <[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.

3 participants