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 genesis api's fork version #5076

Merged
merged 2 commits into from
Jan 30, 2023
Merged

Fix genesis api's fork version #5076

merged 2 commits into from
Jan 30, 2023

Conversation

g11tech
Copy link
Contributor

@g11tech g11tech commented Jan 30, 2023

While testing for withdrawals devnet4/6, it surfaced that in getGenesis api response, genesis fork version is expected to be the config's GENESIS_FORK_VERSION constant in spite of other forks being scheduled at genesis:

image

This PR fixes the same

@g11tech g11tech requested a review from a team as a code owner January 30, 2023 06:16
@g11tech g11tech enabled auto-merge (squash) January 30, 2023 06:16
@github-actions
Copy link
Contributor

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: d0e3bb7 Previous: 2a2a9ef Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 1.0022 ms/op 996.26 us/op 1.01
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 59.016 us/op 59.240 us/op 1.00
BLS verify - blst-native 2.1740 ms/op 2.1748 ms/op 1.00
BLS verifyMultipleSignatures 3 - blst-native 4.4870 ms/op 4.4879 ms/op 1.00
BLS verifyMultipleSignatures 8 - blst-native 9.6951 ms/op 9.6959 ms/op 1.00
BLS verifyMultipleSignatures 32 - blst-native 35.245 ms/op 35.253 ms/op 1.00
BLS aggregatePubkeys 32 - blst-native 46.371 us/op 46.700 us/op 0.99
BLS aggregatePubkeys 128 - blst-native 182.96 us/op 182.41 us/op 1.00
getAttestationsForBlock 78.333 ms/op 76.565 ms/op 1.02
isKnown best case - 1 super set check 436.00 ns/op 474.00 ns/op 0.92
isKnown normal case - 2 super set checks 430.00 ns/op 465.00 ns/op 0.92
isKnown worse case - 16 super set checks 423.00 ns/op 467.00 ns/op 0.91
CheckpointStateCache - add get delete 8.1870 us/op 8.1710 us/op 1.00
validate gossip signedAggregateAndProof - struct 5.0130 ms/op 5.0188 ms/op 1.00
validate gossip attestation - struct 2.3605 ms/op 2.3613 ms/op 1.00
pickEth1Vote - no votes 2.3059 ms/op 2.5015 ms/op 0.92
pickEth1Vote - max votes 15.816 ms/op 16.180 ms/op 0.98
pickEth1Vote - Eth1Data hashTreeRoot value x2048 12.965 ms/op 13.242 ms/op 0.98
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 20.300 ms/op 21.076 ms/op 0.96
pickEth1Vote - Eth1Data fastSerialize value x2048 1.0975 ms/op 1.1259 ms/op 0.97
pickEth1Vote - Eth1Data fastSerialize tree x2048 9.3800 ms/op 9.7575 ms/op 0.96
bytes32 toHexString 943.00 ns/op 872.00 ns/op 1.08
bytes32 Buffer.toString(hex) 666.00 ns/op 662.00 ns/op 1.01
bytes32 Buffer.toString(hex) from Uint8Array 1.0480 us/op 1.0110 us/op 1.04
bytes32 Buffer.toString(hex) + 0x 698.00 ns/op 698.00 ns/op 1.00
Object access 1 prop 0.31200 ns/op 0.31500 ns/op 0.99
Map access 1 prop 0.28400 ns/op 0.30500 ns/op 0.93
Object get x1000 10.840 ns/op 10.775 ns/op 1.01
Map get x1000 0.97300 ns/op 0.98500 ns/op 0.99
Object set x1000 69.506 ns/op 71.935 ns/op 0.97
Map set x1000 43.918 ns/op 42.484 ns/op 1.03
Return object 10000 times 0.43620 ns/op 0.43420 ns/op 1.00
Throw Error 10000 times 6.5705 us/op 6.6876 us/op 0.98
fastMsgIdFn sha256 / 200 bytes 4.9720 us/op 4.9570 us/op 1.00
fastMsgIdFn h32 xxhash / 200 bytes 548.00 ns/op 545.00 ns/op 1.01
fastMsgIdFn h64 xxhash / 200 bytes 709.00 ns/op 726.00 ns/op 0.98
fastMsgIdFn sha256 / 1000 bytes 15.774 us/op 15.720 us/op 1.00
fastMsgIdFn h32 xxhash / 1000 bytes 728.00 ns/op 708.00 ns/op 1.03
fastMsgIdFn h64 xxhash / 1000 bytes 808.00 ns/op 821.00 ns/op 0.98
fastMsgIdFn sha256 / 10000 bytes 137.18 us/op 137.21 us/op 1.00
fastMsgIdFn h32 xxhash / 10000 bytes 2.6240 us/op 2.5880 us/op 1.01
fastMsgIdFn h64 xxhash / 10000 bytes 1.7690 us/op 1.7920 us/op 0.99
enrSubnets - fastDeserialize 64 bits 2.3450 us/op 2.3730 us/op 0.99
enrSubnets - ssz BitVector 64 bits 967.00 ns/op 947.00 ns/op 1.02
enrSubnets - fastDeserialize 4 bits 365.00 ns/op 281.00 ns/op 1.30
enrSubnets - ssz BitVector 4 bits 923.00 ns/op 919.00 ns/op 1.00
prioritizePeers score -10:0 att 32-0.1 sync 2-0 146.11 us/op 147.96 us/op 0.99
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 185.65 us/op 173.19 us/op 1.07
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 252.49 us/op 255.56 us/op 0.99
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 439.19 us/op 440.30 us/op 1.00
prioritizePeers score 0:0 att 64-1 sync 4-1 493.67 us/op 497.39 us/op 0.99
array of 16000 items push then shift 51.616 us/op 51.638 us/op 1.00
LinkedList of 16000 items push then shift 12.503 ns/op 12.454 ns/op 1.00
array of 16000 items push then pop 186.55 ns/op 192.74 ns/op 0.97
LinkedList of 16000 items push then pop 12.272 ns/op 12.025 ns/op 1.02
array of 24000 items push then shift 77.369 us/op 77.372 us/op 1.00
LinkedList of 24000 items push then shift 12.794 ns/op 12.496 ns/op 1.02
array of 24000 items push then pop 192.79 ns/op 196.19 ns/op 0.98
LinkedList of 24000 items push then pop 12.092 ns/op 12.091 ns/op 1.00
intersect bitArray bitLen 8 21.608 ns/op 21.697 ns/op 1.00
intersect array and set length 8 120.71 ns/op 123.58 ns/op 0.98
intersect bitArray bitLen 128 70.263 ns/op 71.072 ns/op 0.99
intersect array and set length 128 1.6579 us/op 1.6541 us/op 1.00
Buffer.concat 32 items 5.3060 us/op 5.2280 us/op 1.01
Uint8Array.set 32 items 3.6780 us/op 3.6520 us/op 1.01
pass gossip attestations to forkchoice per slot 3.6739 ms/op 3.6605 ms/op 1.00
computeDeltas 4.6336 ms/op 4.3088 ms/op 1.08
computeProposerBoostScoreFromBalances 2.5064 ms/op 2.4974 ms/op 1.00
altair processAttestation - 250000 vs - 7PWei normalcase 3.3978 ms/op 3.4452 ms/op 0.99
altair processAttestation - 250000 vs - 7PWei worstcase 5.2275 ms/op 5.8739 ms/op 0.89
altair processAttestation - setStatus - 1/6 committees join 176.40 us/op 176.89 us/op 1.00
altair processAttestation - setStatus - 1/3 committees join 354.14 us/op 353.31 us/op 1.00
altair processAttestation - setStatus - 1/2 committees join 518.11 us/op 513.99 us/op 1.01
altair processAttestation - setStatus - 2/3 committees join 670.86 us/op 674.80 us/op 0.99
altair processAttestation - setStatus - 4/5 committees join 940.24 us/op 942.74 us/op 1.00
altair processAttestation - setStatus - 100% committees join 1.1276 ms/op 1.1290 ms/op 1.00
altair processBlock - 250000 vs - 7PWei normalcase 23.196 ms/op 22.210 ms/op 1.04
altair processBlock - 250000 vs - 7PWei normalcase hashState 34.740 ms/op 38.622 ms/op 0.90
altair processBlock - 250000 vs - 7PWei worstcase 79.266 ms/op 78.943 ms/op 1.00
altair processBlock - 250000 vs - 7PWei worstcase hashState 100.19 ms/op 98.982 ms/op 1.01
phase0 processBlock - 250000 vs - 7PWei normalcase 3.2554 ms/op 3.1593 ms/op 1.03
phase0 processBlock - 250000 vs - 7PWei worstcase 50.976 ms/op 50.816 ms/op 1.00
altair processEth1Data - 250000 vs - 7PWei normalcase 669.17 us/op 667.72 us/op 1.00
vc - 250000 eb 1 eth1 1 we 0 wn 0 - smpl 15 7.9520 us/op 7.8140 us/op 1.02
vc - 250000 eb 0.95 eth1 0.1 we 0.05 wn 0 - smpl 219 22.832 us/op 22.988 us/op 0.99
vc - 250000 eb 0.95 eth1 0.3 we 0.05 wn 0 - smpl 42 10.342 us/op 10.354 us/op 1.00
vc - 250000 eb 0.95 eth1 0.7 we 0.05 wn 0 - smpl 18 7.4170 us/op 9.3330 us/op 0.79
vc - 250000 eb 0.1 eth1 0.1 we 0 wn 0 - smpl 1020 89.630 us/op 90.184 us/op 0.99
vc - 250000 eb 0.03 eth1 0.03 we 0 wn 0 - smpl 11777 870.38 us/op 883.52 us/op 0.99
vc - 250000 eb 0.01 eth1 0.01 we 0 wn 0 - smpl 16384 1.1548 ms/op 1.1671 ms/op 0.99
vc - 250000 eb 0 eth1 0 we 0 wn 0 - smpl 16384 1.1130 ms/op 1.1262 ms/op 0.99
vc - 250000 eb 0 eth1 0 we 0 wn 0 nocache - smpl 16384 4.0061 ms/op 4.1230 ms/op 0.97
vc - 250000 eb 0 eth1 1 we 0 wn 0 - smpl 16384 2.3701 ms/op 2.5158 ms/op 0.94
vc - 250000 eb 0 eth1 1 we 0 wn 0 nocache - smpl 16384 6.9136 ms/op 7.0472 ms/op 0.98
Tree 40 250000 create 562.68 ms/op 599.62 ms/op 0.94
Tree 40 250000 get(125000) 276.70 ns/op 271.60 ns/op 1.02
Tree 40 250000 set(125000) 1.8972 us/op 2.0457 us/op 0.93
Tree 40 250000 toArray() 26.163 ms/op 26.462 ms/op 0.99
Tree 40 250000 iterate all - toArray() + loop 26.245 ms/op 26.804 ms/op 0.98
Tree 40 250000 iterate all - get(i) 105.57 ms/op 104.22 ms/op 1.01
MutableVector 250000 create 12.319 ms/op 14.146 ms/op 0.87
MutableVector 250000 get(125000) 10.807 ns/op 10.714 ns/op 1.01
MutableVector 250000 set(125000) 484.35 ns/op 526.11 ns/op 0.92
MutableVector 250000 toArray() 5.6302 ms/op 5.4526 ms/op 1.03
MutableVector 250000 iterate all - toArray() + loop 5.9196 ms/op 5.9615 ms/op 0.99
MutableVector 250000 iterate all - get(i) 2.7894 ms/op 3.1049 ms/op 0.90
Array 250000 create 5.5815 ms/op 5.5178 ms/op 1.01
Array 250000 clone - spread 2.4750 ms/op 2.4837 ms/op 1.00
Array 250000 get(125000) 1.1850 ns/op 1.2070 ns/op 0.98
Array 250000 set(125000) 1.1920 ns/op 1.1950 ns/op 1.00
Array 250000 iterate all - loop 152.00 us/op 150.92 us/op 1.01
effectiveBalanceIncrements clone Uint8Array 300000 44.184 us/op 151.22 us/op 0.29
effectiveBalanceIncrements clone MutableVector 300000 789.00 ns/op 503.00 ns/op 1.57
effectiveBalanceIncrements rw all Uint8Array 300000 243.90 us/op 243.97 us/op 1.00
effectiveBalanceIncrements rw all MutableVector 300000 156.55 ms/op 132.92 ms/op 1.18
phase0 afterProcessEpoch - 250000 vs - 7PWei 187.49 ms/op 186.38 ms/op 1.01
phase0 beforeProcessEpoch - 250000 vs - 7PWei 56.329 ms/op 56.630 ms/op 0.99
altair processEpoch - mainnet_e81889 528.61 ms/op 551.54 ms/op 0.96
mainnet_e81889 - altair beforeProcessEpoch 112.83 ms/op 75.653 ms/op 1.49
mainnet_e81889 - altair processJustificationAndFinalization 16.599 us/op 20.694 us/op 0.80
mainnet_e81889 - altair processInactivityUpdates 8.6979 ms/op 8.9375 ms/op 0.97
mainnet_e81889 - altair processRewardsAndPenalties 76.331 ms/op 136.81 ms/op 0.56
mainnet_e81889 - altair processRegistryUpdates 2.6060 us/op 2.7090 us/op 0.96
mainnet_e81889 - altair processSlashings 590.00 ns/op 520.00 ns/op 1.13
mainnet_e81889 - altair processEth1DataReset 616.00 ns/op 604.00 ns/op 1.02
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.9351 ms/op 2.6891 ms/op 0.72
mainnet_e81889 - altair processSlashingsReset 5.3100 us/op 4.2600 us/op 1.25
mainnet_e81889 - altair processRandaoMixesReset 4.8730 us/op 4.6240 us/op 1.05
mainnet_e81889 - altair processHistoricalRootsUpdate 605.00 ns/op 586.00 ns/op 1.03
mainnet_e81889 - altair processParticipationFlagUpdates 1.8470 us/op 2.1750 us/op 0.85
mainnet_e81889 - altair processSyncCommitteeUpdates 459.00 ns/op 527.00 ns/op 0.87
mainnet_e81889 - altair afterProcessEpoch 196.05 ms/op 196.13 ms/op 1.00
phase0 processEpoch - mainnet_e58758 474.98 ms/op 482.99 ms/op 0.98
mainnet_e58758 - phase0 beforeProcessEpoch 176.06 ms/op 177.02 ms/op 0.99
mainnet_e58758 - phase0 processJustificationAndFinalization 23.377 us/op 18.167 us/op 1.29
mainnet_e58758 - phase0 processRewardsAndPenalties 66.306 ms/op 68.725 ms/op 0.96
mainnet_e58758 - phase0 processRegistryUpdates 8.3940 us/op 8.0760 us/op 1.04
mainnet_e58758 - phase0 processSlashings 483.00 ns/op 531.00 ns/op 0.91
mainnet_e58758 - phase0 processEth1DataReset 572.00 ns/op 507.00 ns/op 1.13
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.6236 ms/op 2.0450 ms/op 0.79
mainnet_e58758 - phase0 processSlashingsReset 2.9970 us/op 3.3520 us/op 0.89
mainnet_e58758 - phase0 processRandaoMixesReset 4.4940 us/op 4.4210 us/op 1.02
mainnet_e58758 - phase0 processHistoricalRootsUpdate 571.00 ns/op 630.00 ns/op 0.91
mainnet_e58758 - phase0 processParticipationRecordUpdates 3.9920 us/op 3.7540 us/op 1.06
mainnet_e58758 - phase0 afterProcessEpoch 166.84 ms/op 163.97 ms/op 1.02
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.9677 ms/op 1.9694 ms/op 1.00
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 2.1972 ms/op 2.5337 ms/op 0.87
altair processInactivityUpdates - 250000 normalcase 32.252 ms/op 27.853 ms/op 1.16
altair processInactivityUpdates - 250000 worstcase 32.509 ms/op 32.440 ms/op 1.00
phase0 processRegistryUpdates - 250000 normalcase 6.5260 us/op 6.7680 us/op 0.96
phase0 processRegistryUpdates - 250000 badcase_full_deposits 380.97 us/op 380.01 us/op 1.00
phase0 processRegistryUpdates - 250000 worstcase 0.5 177.45 ms/op 184.04 ms/op 0.96
altair processRewardsAndPenalties - 250000 normalcase 110.92 ms/op 93.669 ms/op 1.18
altair processRewardsAndPenalties - 250000 worstcase 73.980 ms/op 97.069 ms/op 0.76
phase0 getAttestationDeltas - 250000 normalcase 11.394 ms/op 12.171 ms/op 0.94
phase0 getAttestationDeltas - 250000 worstcase 11.335 ms/op 12.450 ms/op 0.91
phase0 processSlashings - 250000 worstcase 5.2337 ms/op 5.0254 ms/op 1.04
altair processSyncCommitteeUpdates - 250000 291.71 ms/op 293.45 ms/op 0.99
BeaconState.hashTreeRoot - No change 474.00 ns/op 495.00 ns/op 0.96
BeaconState.hashTreeRoot - 1 full validator 66.168 us/op 66.087 us/op 1.00
BeaconState.hashTreeRoot - 32 full validator 708.86 us/op 748.67 us/op 0.95
BeaconState.hashTreeRoot - 512 full validator 7.1950 ms/op 7.2022 ms/op 1.00
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 87.610 us/op 81.482 us/op 1.08
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.4593 ms/op 1.2959 ms/op 1.13
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 16.611 ms/op 17.166 ms/op 0.97
BeaconState.hashTreeRoot - 1 balances 68.718 us/op 69.138 us/op 0.99
BeaconState.hashTreeRoot - 32 balances 624.45 us/op 627.02 us/op 1.00
BeaconState.hashTreeRoot - 512 balances 6.1323 ms/op 6.3054 ms/op 0.97
BeaconState.hashTreeRoot - 250000 balances 94.682 ms/op 95.068 ms/op 1.00
aggregationBits - 2048 els - zipIndexesInBitList 25.016 us/op 23.549 us/op 1.06
regular array get 100000 times 60.600 us/op 60.601 us/op 1.00
wrappedArray get 100000 times 60.576 us/op 60.526 us/op 1.00
arrayWithProxy get 100000 times 26.579 ms/op 25.426 ms/op 1.05
ssz.Root.equals 986.00 ns/op 968.00 ns/op 1.02
byteArrayEquals 973.00 ns/op 942.00 ns/op 1.03
shuffle list - 16384 els 11.253 ms/op 11.501 ms/op 0.98
shuffle list - 250000 els 169.70 ms/op 167.54 ms/op 1.01
processSlot - 1 slots 12.913 us/op 13.278 us/op 0.97
processSlot - 32 slots 1.9222 ms/op 1.9610 ms/op 0.98
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 315.41 us/op 357.32 us/op 0.88
getCommitteeAssignments - req 1 vs - 250000 vc 5.4249 ms/op 5.4327 ms/op 1.00
getCommitteeAssignments - req 100 vs - 250000 vc 7.9513 ms/op 7.9612 ms/op 1.00
getCommitteeAssignments - req 1000 vs - 250000 vc 8.4612 ms/op 8.5033 ms/op 1.00
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 7.7900 ns/op 7.6800 ns/op 1.01
state getBlockRootAtSlot - 250000 vs - 7PWei 1.0625 us/op 1.2243 us/op 0.87
computeProposers - vc 250000 17.409 ms/op 17.478 ms/op 1.00
computeEpochShuffling - vc 250000 170.07 ms/op 171.81 ms/op 0.99
getNextSyncCommittee - vc 250000 288.02 ms/op 291.00 ms/op 0.99

by benchmarkbot/action

@g11tech g11tech merged commit 862785c into unstable Jan 30, 2023
@g11tech g11tech deleted the g11tech/fix-genesis-api branch January 30, 2023 08:15
@wemeetagain
Copy link
Member

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