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: keymanager API to create signed voluntary exit message #5947

Merged
merged 4 commits into from
Sep 11, 2023

Conversation

nflaig
Copy link
Member

@nflaig nflaig commented Sep 9, 2023

Motivation

ethereum/keymanager-APIs#58

Description

Add keymanager API to create signed voluntary exit message

Closes #5888

@nflaig nflaig requested a review from a team as a code owner September 9, 2023 17:01
@github-actions
Copy link
Contributor

github-actions bot commented Sep 9, 2023

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 98b8e6b Previous: d51ee94 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 965.96 us/op 989.95 us/op 0.98
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 76.181 us/op 99.049 us/op 0.77
BLS verify - blst-native 1.2882 ms/op 1.3403 ms/op 0.96
BLS verifyMultipleSignatures 3 - blst-native 2.7029 ms/op 2.8101 ms/op 0.96
BLS verifyMultipleSignatures 8 - blst-native 5.9795 ms/op 6.3816 ms/op 0.94
BLS verifyMultipleSignatures 32 - blst-native 21.755 ms/op 22.790 ms/op 0.95
BLS verifyMultipleSignatures 64 - blst-native 42.784 ms/op 44.655 ms/op 0.96
BLS verifyMultipleSignatures 128 - blst-native 84.846 ms/op 90.877 ms/op 0.93
BLS deserializing 10000 signatures 881.14 ms/op 915.27 ms/op 0.96
BLS deserializing 100000 signatures 8.8563 s/op 9.0618 s/op 0.98
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.3311 ms/op 1.3601 ms/op 0.98
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.4801 ms/op 1.5152 ms/op 0.98
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.2822 ms/op 2.3320 ms/op 0.98
BLS verifyMultipleSignatures - same message - 64 - blst-native 3.4538 ms/op 3.8011 ms/op 0.91
BLS verifyMultipleSignatures - same message - 128 - blst-native 5.5032 ms/op 6.4160 ms/op 0.86
BLS aggregatePubkeys 32 - blst-native 25.033 us/op 26.075 us/op 0.96
BLS aggregatePubkeys 128 - blst-native 98.301 us/op 99.855 us/op 0.98
getAttestationsForBlock 42.061 ms/op 34.173 ms/op 1.23
isKnown best case - 1 super set check 273.00 ns/op 267.00 ns/op 1.02
isKnown normal case - 2 super set checks 267.00 ns/op 267.00 ns/op 1.00
isKnown worse case - 16 super set checks 262.00 ns/op 268.00 ns/op 0.98
CheckpointStateCache - add get delete 4.7920 us/op 4.9110 us/op 0.98
validate api signedAggregateAndProof - struct 2.7253 ms/op 2.6347 ms/op 1.03
validate gossip signedAggregateAndProof - struct 2.7322 ms/op 2.6576 ms/op 1.03
validate gossip attestation - vc 640000 1.3195 ms/op 1.2981 ms/op 1.02
batch validate gossip attestation - vc 640000 - chunk 32 145.00 us/op 143.89 us/op 1.01
batch validate gossip attestation - vc 640000 - chunk 64 125.62 us/op 123.25 us/op 1.02
batch validate gossip attestation - vc 640000 - chunk 128 116.86 us/op 114.00 us/op 1.03
batch validate gossip attestation - vc 640000 - chunk 256 112.52 us/op 112.97 us/op 1.00
pickEth1Vote - no votes 1.1237 ms/op 1.1343 ms/op 0.99
pickEth1Vote - max votes 8.3182 ms/op 9.9728 ms/op 0.83
pickEth1Vote - Eth1Data hashTreeRoot value x2048 8.8475 ms/op 8.7616 ms/op 1.01
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 17.195 ms/op 15.427 ms/op 1.11
pickEth1Vote - Eth1Data fastSerialize value x2048 547.55 us/op 581.54 us/op 0.94
pickEth1Vote - Eth1Data fastSerialize tree x2048 5.3386 ms/op 4.1979 ms/op 1.27
bytes32 toHexString 467.00 ns/op 465.00 ns/op 1.00
bytes32 Buffer.toString(hex) 282.00 ns/op 283.00 ns/op 1.00
bytes32 Buffer.toString(hex) from Uint8Array 420.00 ns/op 437.00 ns/op 0.96
bytes32 Buffer.toString(hex) + 0x 285.00 ns/op 288.00 ns/op 0.99
Object access 1 prop 0.14600 ns/op 0.15900 ns/op 0.92
Map access 1 prop 0.14400 ns/op 0.14000 ns/op 1.03
Object get x1000 7.3440 ns/op 7.5740 ns/op 0.97
Map get x1000 0.57700 ns/op 0.59000 ns/op 0.98
Object set x1000 46.607 ns/op 48.165 ns/op 0.97
Map set x1000 37.156 ns/op 38.493 ns/op 0.97
Return object 10000 times 0.23290 ns/op 0.24170 ns/op 0.96
Throw Error 10000 times 3.7666 us/op 3.8557 us/op 0.98
fastMsgIdFn sha256 / 200 bytes 3.1930 us/op 3.3080 us/op 0.97
fastMsgIdFn h32 xxhash / 200 bytes 272.00 ns/op 304.00 ns/op 0.89
fastMsgIdFn h64 xxhash / 200 bytes 325.00 ns/op 348.00 ns/op 0.93
fastMsgIdFn sha256 / 1000 bytes 11.235 us/op 11.366 us/op 0.99
fastMsgIdFn h32 xxhash / 1000 bytes 404.00 ns/op 454.00 ns/op 0.89
fastMsgIdFn h64 xxhash / 1000 bytes 418.00 ns/op 426.00 ns/op 0.98
fastMsgIdFn sha256 / 10000 bytes 102.18 us/op 101.89 us/op 1.00
fastMsgIdFn h32 xxhash / 10000 bytes 1.9080 us/op 1.9550 us/op 0.98
fastMsgIdFn h64 xxhash / 10000 bytes 1.3300 us/op 1.3040 us/op 1.02
enrSubnets - fastDeserialize 64 bits 1.1600 us/op 1.1840 us/op 0.98
enrSubnets - ssz BitVector 64 bits 409.00 ns/op 412.00 ns/op 0.99
enrSubnets - fastDeserialize 4 bits 160.00 ns/op 157.00 ns/op 1.02
enrSubnets - ssz BitVector 4 bits 409.00 ns/op 410.00 ns/op 1.00
prioritizePeers score -10:0 att 32-0.1 sync 2-0 92.529 us/op 99.464 us/op 0.93
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 118.24 us/op 127.62 us/op 0.93
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 151.43 us/op 157.16 us/op 0.96
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 271.61 us/op 282.59 us/op 0.96
prioritizePeers score 0:0 att 64-1 sync 4-1 321.08 us/op 327.68 us/op 0.98
array of 16000 items push then shift 1.5771 us/op 1.6375 us/op 0.96
LinkedList of 16000 items push then shift 8.8500 ns/op 8.9530 ns/op 0.99
array of 16000 items push then pop 71.647 ns/op 89.209 ns/op 0.80
LinkedList of 16000 items push then pop 8.6060 ns/op 8.9150 ns/op 0.97
array of 24000 items push then shift 2.3269 us/op 2.4434 us/op 0.95
LinkedList of 24000 items push then shift 8.8640 ns/op 9.0880 ns/op 0.98
array of 24000 items push then pop 92.420 ns/op 108.72 ns/op 0.85
LinkedList of 24000 items push then pop 8.6110 ns/op 8.6450 ns/op 1.00
intersect bitArray bitLen 8 6.8160 ns/op 6.8270 ns/op 1.00
intersect array and set length 8 53.740 ns/op 55.384 ns/op 0.97
intersect bitArray bitLen 128 31.587 ns/op 31.934 ns/op 0.99
intersect array and set length 128 738.37 ns/op 760.04 ns/op 0.97
bitArray.getTrueBitIndexes() bitLen 128 1.4340 us/op 1.5290 us/op 0.94
bitArray.getTrueBitIndexes() bitLen 248 2.3400 us/op 2.4960 us/op 0.94
bitArray.getTrueBitIndexes() bitLen 512 4.5320 us/op 5.0720 us/op 0.89
Buffer.concat 32 items 960.00 ns/op 983.00 ns/op 0.98
Uint8Array.set 32 items 1.8270 us/op 1.8830 us/op 0.97
Set add up to 64 items then delete first 4.0384 us/op 4.6642 us/op 0.87
OrderedSet add up to 64 items then delete first 5.2332 us/op 5.5821 us/op 0.94
Set add up to 64 items then delete last 4.5126 us/op 5.0399 us/op 0.90
OrderedSet add up to 64 items then delete last 5.6040 us/op 5.9604 us/op 0.94
Set add up to 64 items then delete middle 4.4906 us/op 4.6665 us/op 0.96
OrderedSet add up to 64 items then delete middle 6.8289 us/op 7.3428 us/op 0.93
Set add up to 128 items then delete first 9.1548 us/op 9.8546 us/op 0.93
OrderedSet add up to 128 items then delete first 11.842 us/op 12.584 us/op 0.94
Set add up to 128 items then delete last 8.9014 us/op 9.5131 us/op 0.94
OrderedSet add up to 128 items then delete last 11.194 us/op 11.881 us/op 0.94
Set add up to 128 items then delete middle 8.7652 us/op 9.6559 us/op 0.91
OrderedSet add up to 128 items then delete middle 16.427 us/op 17.798 us/op 0.92
Set add up to 256 items then delete first 18.236 us/op 19.654 us/op 0.93
OrderedSet add up to 256 items then delete first 24.379 us/op 25.480 us/op 0.96
Set add up to 256 items then delete last 17.647 us/op 19.445 us/op 0.91
OrderedSet add up to 256 items then delete last 22.777 us/op 24.046 us/op 0.95
Set add up to 256 items then delete middle 17.548 us/op 19.186 us/op 0.91
OrderedSet add up to 256 items then delete middle 43.734 us/op 45.806 us/op 0.95
transfer serialized Status (84 B) 1.8550 us/op 1.9010 us/op 0.98
copy serialized Status (84 B) 1.5700 us/op 1.6600 us/op 0.95
transfer serialized SignedVoluntaryExit (112 B) 2.0180 us/op 2.1250 us/op 0.95
copy serialized SignedVoluntaryExit (112 B) 1.6270 us/op 1.7570 us/op 0.93
transfer serialized ProposerSlashing (416 B) 2.2430 us/op 3.0670 us/op 0.73
copy serialized ProposerSlashing (416 B) 2.0230 us/op 2.6860 us/op 0.75
transfer serialized Attestation (485 B) 2.3150 us/op 2.5640 us/op 0.90
copy serialized Attestation (485 B) 2.1860 us/op 2.1370 us/op 1.02
transfer serialized AttesterSlashing (33232 B) 2.9100 us/op 2.2940 us/op 1.27
copy serialized AttesterSlashing (33232 B) 5.1520 us/op 6.1610 us/op 0.84
transfer serialized Small SignedBeaconBlock (128000 B) 2.5120 us/op 2.8870 us/op 0.87
copy serialized Small SignedBeaconBlock (128000 B) 12.132 us/op 13.625 us/op 0.89
transfer serialized Avg SignedBeaconBlock (200000 B) 2.8400 us/op 3.1480 us/op 0.90
copy serialized Avg SignedBeaconBlock (200000 B) 17.583 us/op 20.419 us/op 0.86
transfer serialized BlobsSidecar (524380 B) 2.9280 us/op 3.1730 us/op 0.92
copy serialized BlobsSidecar (524380 B) 75.174 us/op 79.050 us/op 0.95
transfer serialized Big SignedBeaconBlock (1000000 B) 2.7580 us/op 3.0230 us/op 0.91
copy serialized Big SignedBeaconBlock (1000000 B) 134.77 us/op 161.25 us/op 0.84
pass gossip attestations to forkchoice per slot 3.5682 ms/op 3.6629 ms/op 0.97
forkChoice updateHead vc 100000 bc 64 eq 0 645.99 us/op 667.39 us/op 0.97
forkChoice updateHead vc 600000 bc 64 eq 0 3.9536 ms/op 4.2037 ms/op 0.94
forkChoice updateHead vc 1000000 bc 64 eq 0 6.9124 ms/op 7.2906 ms/op 0.95
forkChoice updateHead vc 600000 bc 320 eq 0 4.0274 ms/op 4.1531 ms/op 0.97
forkChoice updateHead vc 600000 bc 1200 eq 0 4.3240 ms/op 4.2444 ms/op 1.02
forkChoice updateHead vc 600000 bc 7200 eq 0 5.0900 ms/op 5.2219 ms/op 0.97
forkChoice updateHead vc 600000 bc 64 eq 1000 11.183 ms/op 11.416 ms/op 0.98
forkChoice updateHead vc 600000 bc 64 eq 10000 12.443 ms/op 12.104 ms/op 1.03
forkChoice updateHead vc 600000 bc 64 eq 300000 15.457 ms/op 16.095 ms/op 0.96
computeDeltas 500000 validators 300 proto nodes 6.3331 ms/op 6.2620 ms/op 1.01
computeDeltas 500000 validators 1200 proto nodes 6.1984 ms/op 6.1801 ms/op 1.00
computeDeltas 500000 validators 7200 proto nodes 6.1773 ms/op 6.1750 ms/op 1.00
computeDeltas 750000 validators 300 proto nodes 9.5055 ms/op 9.2956 ms/op 1.02
computeDeltas 750000 validators 1200 proto nodes 9.3325 ms/op 9.3243 ms/op 1.00
computeDeltas 750000 validators 7200 proto nodes 9.3472 ms/op 9.3666 ms/op 1.00
computeDeltas 1400000 validators 300 proto nodes 17.962 ms/op 17.714 ms/op 1.01
computeDeltas 1400000 validators 1200 proto nodes 17.982 ms/op 17.848 ms/op 1.01
computeDeltas 1400000 validators 7200 proto nodes 17.944 ms/op 18.440 ms/op 0.97
computeDeltas 2100000 validators 300 proto nodes 27.193 ms/op 26.702 ms/op 1.02
computeDeltas 2100000 validators 1200 proto nodes 26.670 ms/op 26.983 ms/op 0.99
computeDeltas 2100000 validators 7200 proto nodes 26.812 ms/op 27.433 ms/op 0.98
computeProposerBoostScoreFromBalances 500000 validators 3.1097 ms/op 3.4012 ms/op 0.91
computeProposerBoostScoreFromBalances 750000 validators 3.2074 ms/op 3.3007 ms/op 0.97
computeProposerBoostScoreFromBalances 1400000 validators 3.2037 ms/op 3.2428 ms/op 0.99
computeProposerBoostScoreFromBalances 2100000 validators 3.1989 ms/op 3.2122 ms/op 1.00
altair processAttestation - 250000 vs - 7PWei normalcase 2.1100 ms/op 2.3164 ms/op 0.91
altair processAttestation - 250000 vs - 7PWei worstcase 3.4286 ms/op 3.2420 ms/op 1.06
altair processAttestation - setStatus - 1/6 committees join 143.54 us/op 181.53 us/op 0.79
altair processAttestation - setStatus - 1/3 committees join 284.13 us/op 347.12 us/op 0.82
altair processAttestation - setStatus - 1/2 committees join 373.22 us/op 465.05 us/op 0.80
altair processAttestation - setStatus - 2/3 committees join 472.29 us/op 592.72 us/op 0.80
altair processAttestation - setStatus - 4/5 committees join 662.96 us/op 794.05 us/op 0.83
altair processAttestation - setStatus - 100% committees join 771.36 us/op 955.21 us/op 0.81
altair processBlock - 250000 vs - 7PWei normalcase 9.6007 ms/op 9.1252 ms/op 1.05
altair processBlock - 250000 vs - 7PWei normalcase hashState 16.571 ms/op 17.396 ms/op 0.95
altair processBlock - 250000 vs - 7PWei worstcase 39.794 ms/op 39.131 ms/op 1.02
altair processBlock - 250000 vs - 7PWei worstcase hashState 63.506 ms/op 59.609 ms/op 1.07
phase0 processBlock - 250000 vs - 7PWei normalcase 3.0665 ms/op 2.8829 ms/op 1.06
phase0 processBlock - 250000 vs - 7PWei worstcase 34.174 ms/op 29.315 ms/op 1.17
altair processEth1Data - 250000 vs - 7PWei normalcase 474.75 us/op 610.90 us/op 0.78
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 14.699 us/op 10.173 us/op 1.44
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 83.100 us/op 71.276 us/op 1.17
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 20.268 us/op 19.316 us/op 1.05
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 16.440 us/op 14.557 us/op 1.13
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 203.10 us/op 154.14 us/op 1.32
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 2.1920 ms/op 1.3824 ms/op 1.59
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.6655 ms/op 1.6765 ms/op 0.99
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 2.6743 ms/op 1.7787 ms/op 1.50
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.0552 ms/op 3.3238 ms/op 0.92
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.2185 ms/op 2.3987 ms/op 0.92
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 5.1154 ms/op 4.4988 ms/op 1.14
Tree 40 250000 create 327.93 ms/op 316.14 ms/op 1.04
Tree 40 250000 get(125000) 194.52 ns/op 198.44 ns/op 0.98
Tree 40 250000 set(125000) 845.43 ns/op 922.57 ns/op 0.92
Tree 40 250000 toArray() 17.261 ms/op 18.733 ms/op 0.92
Tree 40 250000 iterate all - toArray() + loop 17.268 ms/op 18.764 ms/op 0.92
Tree 40 250000 iterate all - get(i) 65.115 ms/op 67.587 ms/op 0.96
MutableVector 250000 create 17.325 ms/op 9.6366 ms/op 1.80
MutableVector 250000 get(125000) 6.3940 ns/op 6.4840 ns/op 0.99
MutableVector 250000 set(125000) 244.44 ns/op 260.76 ns/op 0.94
MutableVector 250000 toArray() 2.8981 ms/op 3.2982 ms/op 0.88
MutableVector 250000 iterate all - toArray() + loop 3.0623 ms/op 3.3726 ms/op 0.91
MutableVector 250000 iterate all - get(i) 1.4778 ms/op 1.5069 ms/op 0.98
Array 250000 create 2.7070 ms/op 3.0693 ms/op 0.88
Array 250000 clone - spread 1.2208 ms/op 1.3167 ms/op 0.93
Array 250000 get(125000) 0.58000 ns/op 0.61700 ns/op 0.94
Array 250000 set(125000) 0.65700 ns/op 0.70600 ns/op 0.93
Array 250000 iterate all - loop 82.230 us/op 83.088 us/op 0.99
effectiveBalanceIncrements clone Uint8Array 300000 25.215 us/op 31.857 us/op 0.79
effectiveBalanceIncrements clone MutableVector 300000 351.00 ns/op 393.00 ns/op 0.89
effectiveBalanceIncrements rw all Uint8Array 300000 178.46 us/op 182.41 us/op 0.98
effectiveBalanceIncrements rw all MutableVector 300000 81.729 ms/op 85.195 ms/op 0.96
phase0 afterProcessEpoch - 250000 vs - 7PWei 119.07 ms/op 119.98 ms/op 0.99
phase0 beforeProcessEpoch - 250000 vs - 7PWei 38.773 ms/op 33.629 ms/op 1.15
altair processEpoch - mainnet_e81889 354.48 ms/op 325.35 ms/op 1.09
mainnet_e81889 - altair beforeProcessEpoch 61.889 ms/op 63.630 ms/op 0.97
mainnet_e81889 - altair processJustificationAndFinalization 23.534 us/op 16.659 us/op 1.41
mainnet_e81889 - altair processInactivityUpdates 4.8877 ms/op 7.2124 ms/op 0.68
mainnet_e81889 - altair processRewardsAndPenalties 82.698 ms/op 63.494 ms/op 1.30
mainnet_e81889 - altair processRegistryUpdates 3.6480 us/op 2.5010 us/op 1.46
mainnet_e81889 - altair processSlashings 840.00 ns/op 407.00 ns/op 2.06
mainnet_e81889 - altair processEth1DataReset 859.00 ns/op 770.00 ns/op 1.12
mainnet_e81889 - altair processEffectiveBalanceUpdates 2.3894 ms/op 1.2815 ms/op 1.86
mainnet_e81889 - altair processSlashingsReset 5.0230 us/op 5.1190 us/op 0.98
mainnet_e81889 - altair processRandaoMixesReset 6.8020 us/op 6.2880 us/op 1.08
mainnet_e81889 - altair processHistoricalRootsUpdate 1.3130 us/op 782.00 ns/op 1.68
mainnet_e81889 - altair processParticipationFlagUpdates 3.0540 us/op 2.6680 us/op 1.14
mainnet_e81889 - altair processSyncCommitteeUpdates 1.2310 us/op 542.00 ns/op 2.27
mainnet_e81889 - altair afterProcessEpoch 128.81 ms/op 134.27 ms/op 0.96
capella processEpoch - mainnet_e217614 1.0909 s/op 1.0225 s/op 1.07
mainnet_e217614 - capella beforeProcessEpoch 241.83 ms/op 245.97 ms/op 0.98
mainnet_e217614 - capella processJustificationAndFinalization 20.449 us/op 16.338 us/op 1.25
mainnet_e217614 - capella processInactivityUpdates 15.770 ms/op 15.230 ms/op 1.04
mainnet_e217614 - capella processRewardsAndPenalties 348.37 ms/op 288.79 ms/op 1.21
mainnet_e217614 - capella processRegistryUpdates 15.298 us/op 19.449 us/op 0.79
mainnet_e217614 - capella processSlashings 503.00 ns/op 592.00 ns/op 0.85
mainnet_e217614 - capella processEth1DataReset 425.00 ns/op 1.0020 us/op 0.42
mainnet_e217614 - capella processEffectiveBalanceUpdates 3.9476 ms/op 4.1389 ms/op 0.95
mainnet_e217614 - capella processSlashingsReset 2.1390 us/op 3.0660 us/op 0.70
mainnet_e217614 - capella processRandaoMixesReset 3.9750 us/op 6.3260 us/op 0.63
mainnet_e217614 - capella processHistoricalRootsUpdate 662.00 ns/op 920.00 ns/op 0.72
mainnet_e217614 - capella processParticipationFlagUpdates 3.3400 us/op 3.9550 us/op 0.84
mainnet_e217614 - capella afterProcessEpoch 291.27 ms/op 333.58 ms/op 0.87
phase0 processEpoch - mainnet_e58758 374.93 ms/op 339.73 ms/op 1.10
mainnet_e58758 - phase0 beforeProcessEpoch 134.26 ms/op 129.73 ms/op 1.03
mainnet_e58758 - phase0 processJustificationAndFinalization 25.186 us/op 19.192 us/op 1.31
mainnet_e58758 - phase0 processRewardsAndPenalties 70.346 ms/op 62.250 ms/op 1.13
mainnet_e58758 - phase0 processRegistryUpdates 14.583 us/op 14.775 us/op 0.99
mainnet_e58758 - phase0 processSlashings 816.00 ns/op 1.0360 us/op 0.79
mainnet_e58758 - phase0 processEth1DataReset 664.00 ns/op 913.00 ns/op 0.73
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.9643 ms/op 1.6961 ms/op 1.16
mainnet_e58758 - phase0 processSlashingsReset 3.2710 us/op 7.4710 us/op 0.44
mainnet_e58758 - phase0 processRandaoMixesReset 6.4550 us/op 8.1550 us/op 0.79
mainnet_e58758 - phase0 processHistoricalRootsUpdate 704.00 ns/op 1.0630 us/op 0.66
mainnet_e58758 - phase0 processParticipationRecordUpdates 5.9350 us/op 5.3010 us/op 1.12
mainnet_e58758 - phase0 afterProcessEpoch 98.705 ms/op 127.05 ms/op 0.78
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.8316 ms/op 1.2688 ms/op 1.44
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 2.6046 ms/op 2.2951 ms/op 1.13
altair processInactivityUpdates - 250000 normalcase 27.937 ms/op 33.402 ms/op 0.84
altair processInactivityUpdates - 250000 worstcase 26.235 ms/op 26.332 ms/op 1.00
phase0 processRegistryUpdates - 250000 normalcase 15.654 us/op 17.367 us/op 0.90
phase0 processRegistryUpdates - 250000 badcase_full_deposits 627.65 us/op 462.80 us/op 1.36
phase0 processRegistryUpdates - 250000 worstcase 0.5 133.08 ms/op 164.76 ms/op 0.81
altair processRewardsAndPenalties - 250000 normalcase 83.696 ms/op 72.083 ms/op 1.16
altair processRewardsAndPenalties - 250000 worstcase 78.026 ms/op 76.870 ms/op 1.02
phase0 getAttestationDeltas - 250000 normalcase 7.5556 ms/op 8.9741 ms/op 0.84
phase0 getAttestationDeltas - 250000 worstcase 7.8589 ms/op 10.109 ms/op 0.78
phase0 processSlashings - 250000 worstcase 2.3982 ms/op 2.4687 ms/op 0.97
altair processSyncCommitteeUpdates - 250000 154.85 ms/op 161.83 ms/op 0.96
BeaconState.hashTreeRoot - No change 249.00 ns/op 273.00 ns/op 0.91
BeaconState.hashTreeRoot - 1 full validator 56.685 us/op 52.283 us/op 1.08
BeaconState.hashTreeRoot - 32 full validator 654.50 us/op 562.47 us/op 1.16
BeaconState.hashTreeRoot - 512 full validator 6.3291 ms/op 5.9252 ms/op 1.07
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 74.345 us/op 66.196 us/op 1.12
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 874.67 us/op 908.85 us/op 0.96
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 12.924 ms/op 13.964 ms/op 0.93
BeaconState.hashTreeRoot - 1 balances 57.652 us/op 51.310 us/op 1.12
BeaconState.hashTreeRoot - 32 balances 476.19 us/op 489.88 us/op 0.97
BeaconState.hashTreeRoot - 512 balances 4.1714 ms/op 4.7255 ms/op 0.88
BeaconState.hashTreeRoot - 250000 balances 76.804 ms/op 77.497 ms/op 0.99
aggregationBits - 2048 els - zipIndexesInBitList 14.079 us/op 21.199 us/op 0.66
regular array get 100000 times 42.037 us/op 35.899 us/op 1.17
wrappedArray get 100000 times 41.278 us/op 35.828 us/op 1.15
arrayWithProxy get 100000 times 14.151 ms/op 16.892 ms/op 0.84
ssz.Root.equals 196.00 ns/op 250.00 ns/op 0.78
byteArrayEquals 206.00 ns/op 259.00 ns/op 0.80
shuffle list - 16384 els 6.7726 ms/op 7.6988 ms/op 0.88
shuffle list - 250000 els 99.145 ms/op 108.24 ms/op 0.92
processSlot - 1 slots 8.3530 us/op 9.0960 us/op 0.92
processSlot - 32 slots 1.3268 ms/op 1.3801 ms/op 0.96
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 57.595 ms/op 60.158 ms/op 0.96
getCommitteeAssignments - req 1 vs - 250000 vc 2.5479 ms/op 2.9014 ms/op 0.88
getCommitteeAssignments - req 100 vs - 250000 vc 3.7430 ms/op 4.0022 ms/op 0.94
getCommitteeAssignments - req 1000 vs - 250000 vc 4.1099 ms/op 4.4276 ms/op 0.93
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.6300 ns/op 5.6800 ns/op 0.82
state getBlockRootAtSlot - 250000 vs - 7PWei 912.36 ns/op 947.41 ns/op 0.96
computeProposers - vc 250000 8.8269 ms/op 11.598 ms/op 0.76
computeEpochShuffling - vc 250000 110.16 ms/op 121.04 ms/op 0.91
getNextSyncCommittee - vc 250000 157.75 ms/op 171.60 ms/op 0.92
computeSigningRoot for AttestationData 13.037 us/op 15.997 us/op 0.81
hash AttestationData serialized data then Buffer.toString(base64) 2.2656 us/op 2.5587 us/op 0.89
toHexString serialized data 1.0496 us/op 1.4579 us/op 0.72
Buffer.toString(base64) 210.47 ns/op 254.29 ns/op 0.83

by benchmarkbot/action

@wemeetagain wemeetagain merged commit 1f7e73b into unstable Sep 11, 2023
11 checks passed
@wemeetagain wemeetagain deleted the nflaig/keymanager-voluntary-exit branch September 11, 2023 15:10
@wemeetagain
Copy link
Member

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

Feature: Add keymanager voluntary_exit
2 participants