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: extend attestation validity till end of next epoch - eip7045 #5731

Merged
merged 2 commits into from
Jul 19, 2023

Conversation

g11tech
Copy link
Contributor

@g11tech g11tech commented Jul 5, 2023

ref:
ethereum/consensus-specs#3360

  • upgrade and check spec tests
    - [ ] modify upgrade deneb state? no upgrade changes needed

@g11tech g11tech requested a review from a team as a code owner July 5, 2023 18:25
@github-actions
Copy link
Contributor

github-actions bot commented Jul 5, 2023

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 63d48ba Previous: 5116493 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 703.38 us/op 552.61 us/op 1.27
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 101.77 us/op 95.156 us/op 1.07
BLS verify - blst-native 1.2470 ms/op 1.2547 ms/op 0.99
BLS verifyMultipleSignatures 3 - blst-native 2.5359 ms/op 2.6099 ms/op 0.97
BLS verifyMultipleSignatures 8 - blst-native 5.6595 ms/op 5.5196 ms/op 1.03
BLS verifyMultipleSignatures 32 - blst-native 19.652 ms/op 19.913 ms/op 0.99
BLS aggregatePubkeys 32 - blst-native 25.998 us/op 26.276 us/op 0.99
BLS aggregatePubkeys 128 - blst-native 102.87 us/op 102.39 us/op 1.00
getAttestationsForBlock 56.527 ms/op 58.256 ms/op 0.97
isKnown best case - 1 super set check 321.00 ns/op 369.00 ns/op 0.87
isKnown normal case - 2 super set checks 278.00 ns/op 344.00 ns/op 0.81
isKnown worse case - 16 super set checks 289.00 ns/op 317.00 ns/op 0.91
CheckpointStateCache - add get delete 5.2670 us/op 5.5360 us/op 0.95
validate api signedAggregateAndProof - struct 2.7881 ms/op 2.8205 ms/op 0.99
validate gossip signedAggregateAndProof - struct 2.8130 ms/op 2.8154 ms/op 1.00
validate api attestation - struct 1.3392 ms/op 1.3614 ms/op 0.98
validate gossip attestation - struct 1.3459 ms/op 1.3873 ms/op 0.97
pickEth1Vote - no votes 1.2765 ms/op 1.2593 ms/op 1.01
pickEth1Vote - max votes 10.627 ms/op 10.471 ms/op 1.01
pickEth1Vote - Eth1Data hashTreeRoot value x2048 8.5158 ms/op 9.5551 ms/op 0.89
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 13.108 ms/op 15.999 ms/op 0.82
pickEth1Vote - Eth1Data fastSerialize value x2048 659.04 us/op 683.48 us/op 0.96
pickEth1Vote - Eth1Data fastSerialize tree x2048 4.5877 ms/op 6.9504 ms/op 0.66
bytes32 toHexString 537.00 ns/op 527.00 ns/op 1.02
bytes32 Buffer.toString(hex) 297.00 ns/op 293.00 ns/op 1.01
bytes32 Buffer.toString(hex) from Uint8Array 478.00 ns/op 438.00 ns/op 1.09
bytes32 Buffer.toString(hex) + 0x 304.00 ns/op 306.00 ns/op 0.99
Object access 1 prop 0.18100 ns/op 0.16000 ns/op 1.13
Map access 1 prop 0.14700 ns/op 0.14200 ns/op 1.04
Object get x1000 7.8450 ns/op 7.7710 ns/op 1.01
Map get x1000 0.69300 ns/op 0.57100 ns/op 1.21
Object set x1000 55.709 ns/op 54.047 ns/op 1.03
Map set x1000 40.156 ns/op 45.783 ns/op 0.88
Return object 10000 times 0.24200 ns/op 0.25480 ns/op 0.95
Throw Error 10000 times 3.8325 us/op 3.9144 us/op 0.98
fastMsgIdFn sha256 / 200 bytes 3.3460 us/op 3.3970 us/op 0.98
fastMsgIdFn h32 xxhash / 200 bytes 284.00 ns/op 313.00 ns/op 0.91
fastMsgIdFn h64 xxhash / 200 bytes 343.00 ns/op 366.00 ns/op 0.94
fastMsgIdFn sha256 / 1000 bytes 11.318 us/op 11.770 us/op 0.96
fastMsgIdFn h32 xxhash / 1000 bytes 402.00 ns/op 459.00 ns/op 0.88
fastMsgIdFn h64 xxhash / 1000 bytes 436.00 ns/op 457.00 ns/op 0.95
fastMsgIdFn sha256 / 10000 bytes 106.95 us/op 104.74 us/op 1.02
fastMsgIdFn h32 xxhash / 10000 bytes 1.9850 us/op 2.0190 us/op 0.98
fastMsgIdFn h64 xxhash / 10000 bytes 1.3350 us/op 1.3660 us/op 0.98
enrSubnets - fastDeserialize 64 bits 1.4480 us/op 1.3870 us/op 1.04
enrSubnets - ssz BitVector 64 bits 542.00 ns/op 504.00 ns/op 1.08
enrSubnets - fastDeserialize 4 bits 248.00 ns/op 224.00 ns/op 1.11
enrSubnets - ssz BitVector 4 bits 584.00 ns/op 638.00 ns/op 0.92
prioritizePeers score -10:0 att 32-0.1 sync 2-0 115.14 us/op 113.36 us/op 1.02
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 161.03 us/op 148.45 us/op 1.08
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 218.21 us/op 210.46 us/op 1.04
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 324.55 us/op 333.69 us/op 0.97
prioritizePeers score 0:0 att 64-1 sync 4-1 382.19 us/op 384.01 us/op 1.00
array of 16000 items push then shift 1.6188 us/op 1.6495 us/op 0.98
LinkedList of 16000 items push then shift 9.1880 ns/op 9.4030 ns/op 0.98
array of 16000 items push then pop 57.297 ns/op 63.221 ns/op 0.91
LinkedList of 16000 items push then pop 9.0390 ns/op 9.2360 ns/op 0.98
array of 24000 items push then shift 2.4792 us/op 2.4473 us/op 1.01
LinkedList of 24000 items push then shift 9.2790 ns/op 9.2350 ns/op 1.00
array of 24000 items push then pop 114.87 ns/op 118.79 ns/op 0.97
LinkedList of 24000 items push then pop 8.8860 ns/op 8.8130 ns/op 1.01
intersect bitArray bitLen 8 7.0850 ns/op 7.0260 ns/op 1.01
intersect array and set length 8 59.898 ns/op 71.174 ns/op 0.84
intersect bitArray bitLen 128 32.922 ns/op 34.406 ns/op 0.96
intersect array and set length 128 769.06 ns/op 879.58 ns/op 0.87
bitArray.getTrueBitIndexes() bitLen 128 1.4930 us/op 1.7730 us/op 0.84
bitArray.getTrueBitIndexes() bitLen 248 2.4370 us/op 2.8850 us/op 0.84
bitArray.getTrueBitIndexes() bitLen 512 4.7240 us/op 5.5230 us/op 0.86
Buffer.concat 32 items 1.0760 us/op 1.0470 us/op 1.03
Uint8Array.set 32 items 2.3840 us/op 1.9830 us/op 1.20
transfer serialized Status (84 B) 1.9310 us/op 1.9050 us/op 1.01
copy serialized Status (84 B) 1.5690 us/op 1.6420 us/op 0.96
transfer serialized SignedVoluntaryExit (112 B) 2.0560 us/op 2.0160 us/op 1.02
copy serialized SignedVoluntaryExit (112 B) 1.6770 us/op 1.7300 us/op 0.97
transfer serialized ProposerSlashing (416 B) 2.5410 us/op 2.0020 us/op 1.27
copy serialized ProposerSlashing (416 B) 2.3930 us/op 2.1150 us/op 1.13
transfer serialized Attestation (485 B) 2.7180 us/op 2.2370 us/op 1.22
copy serialized Attestation (485 B) 2.4150 us/op 2.1310 us/op 1.13
transfer serialized AttesterSlashing (33232 B) 2.8540 us/op 2.2150 us/op 1.29
copy serialized AttesterSlashing (33232 B) 5.8690 us/op 6.0840 us/op 0.96
transfer serialized Small SignedBeaconBlock (128000 B) 2.9910 us/op 2.5320 us/op 1.18
copy serialized Small SignedBeaconBlock (128000 B) 12.438 us/op 18.294 us/op 0.68
transfer serialized Avg SignedBeaconBlock (200000 B) 3.2530 us/op 2.9050 us/op 1.12
copy serialized Avg SignedBeaconBlock (200000 B) 17.675 us/op 25.915 us/op 0.68
transfer serialized BlobsSidecar (524380 B) 3.1710 us/op 2.8390 us/op 1.12
copy serialized BlobsSidecar (524380 B) 85.924 us/op 79.938 us/op 1.07
transfer serialized Big SignedBeaconBlock (1000000 B) 3.4940 us/op 2.9900 us/op 1.17
copy serialized Big SignedBeaconBlock (1000000 B) 144.63 us/op 187.48 us/op 0.77
pass gossip attestations to forkchoice per slot 2.1812 ms/op 2.2503 ms/op 0.97
forkChoice updateHead vc 100000 bc 64 eq 0 2.2168 ms/op 2.2049 ms/op 1.01
forkChoice updateHead vc 600000 bc 64 eq 0 14.123 ms/op 11.753 ms/op 1.20
forkChoice updateHead vc 1000000 bc 64 eq 0 22.863 ms/op 19.963 ms/op 1.15
forkChoice updateHead vc 600000 bc 320 eq 0 18.513 ms/op 16.931 ms/op 1.09
forkChoice updateHead vc 600000 bc 1200 eq 0 84.153 ms/op 89.143 ms/op 0.94
forkChoice updateHead vc 600000 bc 64 eq 1000 22.193 ms/op 22.276 ms/op 1.00
forkChoice updateHead vc 600000 bc 64 eq 10000 25.358 ms/op 24.423 ms/op 1.04
forkChoice updateHead vc 600000 bc 64 eq 300000 29.226 ms/op 50.183 ms/op 0.58
computeDeltas 3.0863 ms/op 3.1640 ms/op 0.98
computeProposerBoostScoreFromBalances 391.80 us/op 394.95 us/op 0.99
altair processAttestation - 250000 vs - 7PWei normalcase 2.2642 ms/op 2.8910 ms/op 0.78
altair processAttestation - 250000 vs - 7PWei worstcase 3.2517 ms/op 4.4714 ms/op 0.73
altair processAttestation - setStatus - 1/6 committees join 171.98 us/op 213.22 us/op 0.81
altair processAttestation - setStatus - 1/3 committees join 331.07 us/op 379.77 us/op 0.87
altair processAttestation - setStatus - 1/2 committees join 458.89 us/op 489.46 us/op 0.94
altair processAttestation - setStatus - 2/3 committees join 543.63 us/op 592.37 us/op 0.92
altair processAttestation - setStatus - 4/5 committees join 844.41 us/op 802.48 us/op 1.05
altair processAttestation - setStatus - 100% committees join 961.74 us/op 957.66 us/op 1.00
altair processBlock - 250000 vs - 7PWei normalcase 10.710 ms/op 10.163 ms/op 1.05
altair processBlock - 250000 vs - 7PWei normalcase hashState 17.315 ms/op 17.560 ms/op 0.99
altair processBlock - 250000 vs - 7PWei worstcase 37.981 ms/op 39.511 ms/op 0.96
altair processBlock - 250000 vs - 7PWei worstcase hashState 63.461 ms/op 62.977 ms/op 1.01
phase0 processBlock - 250000 vs - 7PWei normalcase 2.1200 ms/op 2.6467 ms/op 0.80
phase0 processBlock - 250000 vs - 7PWei worstcase 29.433 ms/op 34.030 ms/op 0.86
altair processEth1Data - 250000 vs - 7PWei normalcase 549.63 us/op 593.80 us/op 0.93
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 13.251 us/op 16.565 us/op 0.80
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 80.171 us/op 75.112 us/op 1.07
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 28.133 us/op 26.341 us/op 1.07
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 17.489 us/op 10.363 us/op 1.69
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 170.04 us/op 176.20 us/op 0.97
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.3075 ms/op 1.2185 ms/op 1.07
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.5338 ms/op 1.6386 ms/op 0.94
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.7804 ms/op 1.8193 ms/op 0.98
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.8781 ms/op 5.0534 ms/op 0.77
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.3354 ms/op 3.5799 ms/op 0.65
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 4.7869 ms/op 7.3849 ms/op 0.65
Tree 40 250000 create 382.99 ms/op 439.82 ms/op 0.87
Tree 40 250000 get(125000) 214.84 ns/op 220.54 ns/op 0.97
Tree 40 250000 set(125000) 991.15 ns/op 1.3373 us/op 0.74
Tree 40 250000 toArray() 21.168 ms/op 26.827 ms/op 0.79
Tree 40 250000 iterate all - toArray() + loop 20.455 ms/op 24.932 ms/op 0.82
Tree 40 250000 iterate all - get(i) 70.451 ms/op 79.961 ms/op 0.88
MutableVector 250000 create 11.718 ms/op 14.942 ms/op 0.78
MutableVector 250000 get(125000) 6.5820 ns/op 7.0980 ns/op 0.93
MutableVector 250000 set(125000) 264.05 ns/op 285.17 ns/op 0.93
MutableVector 250000 toArray() 2.8196 ms/op 4.2711 ms/op 0.66
MutableVector 250000 iterate all - toArray() + loop 3.0096 ms/op 4.3464 ms/op 0.69
MutableVector 250000 iterate all - get(i) 1.5631 ms/op 1.6066 ms/op 0.97
Array 250000 create 2.6268 ms/op 3.3724 ms/op 0.78
Array 250000 clone - spread 1.1462 ms/op 1.2361 ms/op 0.93
Array 250000 get(125000) 0.58700 ns/op 0.59600 ns/op 0.98
Array 250000 set(125000) 0.66100 ns/op 0.64500 ns/op 1.02
Array 250000 iterate all - loop 93.572 us/op 102.06 us/op 0.92
effectiveBalanceIncrements clone Uint8Array 300000 37.308 us/op 33.726 us/op 1.11
effectiveBalanceIncrements clone MutableVector 300000 365.00 ns/op 338.00 ns/op 1.08
effectiveBalanceIncrements rw all Uint8Array 300000 180.58 us/op 188.97 us/op 0.96
effectiveBalanceIncrements rw all MutableVector 300000 86.234 ms/op 89.086 ms/op 0.97
phase0 afterProcessEpoch - 250000 vs - 7PWei 120.26 ms/op 118.61 ms/op 1.01
phase0 beforeProcessEpoch - 250000 vs - 7PWei 40.949 ms/op 42.949 ms/op 0.95
altair processEpoch - mainnet_e81889 337.52 ms/op 327.32 ms/op 1.03
mainnet_e81889 - altair beforeProcessEpoch 67.337 ms/op 73.115 ms/op 0.92
mainnet_e81889 - altair processJustificationAndFinalization 16.295 us/op 23.339 us/op 0.70
mainnet_e81889 - altair processInactivityUpdates 6.4984 ms/op 6.2765 ms/op 1.04
mainnet_e81889 - altair processRewardsAndPenalties 52.852 ms/op 80.437 ms/op 0.66
mainnet_e81889 - altair processRegistryUpdates 2.6510 us/op 5.3340 us/op 0.50
mainnet_e81889 - altair processSlashings 616.00 ns/op 774.00 ns/op 0.80
mainnet_e81889 - altair processEth1DataReset 1.1450 us/op 1.1690 us/op 0.98
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.3459 ms/op 1.5228 ms/op 0.88
mainnet_e81889 - altair processSlashingsReset 3.2740 us/op 6.9540 us/op 0.47
mainnet_e81889 - altair processRandaoMixesReset 7.0880 us/op 12.625 us/op 0.56
mainnet_e81889 - altair processHistoricalRootsUpdate 1.3200 us/op 1.4560 us/op 0.91
mainnet_e81889 - altair processParticipationFlagUpdates 4.0130 us/op 3.4590 us/op 1.16
mainnet_e81889 - altair processSyncCommitteeUpdates 855.00 ns/op 1.0560 us/op 0.81
mainnet_e81889 - altair afterProcessEpoch 152.02 ms/op 139.89 ms/op 1.09
phase0 processEpoch - mainnet_e58758 399.13 ms/op 452.40 ms/op 0.88
mainnet_e58758 - phase0 beforeProcessEpoch 140.51 ms/op 206.37 ms/op 0.68
mainnet_e58758 - phase0 processJustificationAndFinalization 30.478 us/op 29.353 us/op 1.04
mainnet_e58758 - phase0 processRewardsAndPenalties 59.864 ms/op 96.407 ms/op 0.62
mainnet_e58758 - phase0 processRegistryUpdates 19.300 us/op 19.610 us/op 0.98
mainnet_e58758 - phase0 processSlashings 800.00 ns/op 1.0670 us/op 0.75
mainnet_e58758 - phase0 processEth1DataReset 1.2150 us/op 1.2750 us/op 0.95
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.3341 ms/op 4.0837 ms/op 0.33
mainnet_e58758 - phase0 processSlashingsReset 3.4100 us/op 5.0470 us/op 0.68
mainnet_e58758 - phase0 processRandaoMixesReset 8.0360 us/op 10.422 us/op 0.77
mainnet_e58758 - phase0 processHistoricalRootsUpdate 2.6610 us/op 1.2610 us/op 2.11
mainnet_e58758 - phase0 processParticipationRecordUpdates 7.5910 us/op 7.3540 us/op 1.03
mainnet_e58758 - phase0 afterProcessEpoch 115.91 ms/op 107.17 ms/op 1.08
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.3246 ms/op 1.5022 ms/op 0.88
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.5227 ms/op 2.0697 ms/op 0.74
altair processInactivityUpdates - 250000 normalcase 26.105 ms/op 36.581 ms/op 0.71
altair processInactivityUpdates - 250000 worstcase 26.404 ms/op 35.132 ms/op 0.75
phase0 processRegistryUpdates - 250000 normalcase 17.006 us/op 17.572 us/op 0.97
phase0 processRegistryUpdates - 250000 badcase_full_deposits 504.37 us/op 470.17 us/op 1.07
phase0 processRegistryUpdates - 250000 worstcase 0.5 165.70 ms/op 181.19 ms/op 0.91
altair processRewardsAndPenalties - 250000 normalcase 75.270 ms/op 81.100 ms/op 0.93
altair processRewardsAndPenalties - 250000 worstcase 89.022 ms/op 73.102 ms/op 1.22
phase0 getAttestationDeltas - 250000 normalcase 11.479 ms/op 8.6835 ms/op 1.32
phase0 getAttestationDeltas - 250000 worstcase 12.421 ms/op 9.2679 ms/op 1.34
phase0 processSlashings - 250000 worstcase 3.3243 ms/op 2.4571 ms/op 1.35
altair processSyncCommitteeUpdates - 250000 167.09 ms/op 168.40 ms/op 0.99
BeaconState.hashTreeRoot - No change 468.00 ns/op 269.00 ns/op 1.74
BeaconState.hashTreeRoot - 1 full validator 52.470 us/op 56.251 us/op 0.93
BeaconState.hashTreeRoot - 32 full validator 524.93 us/op 521.59 us/op 1.01
BeaconState.hashTreeRoot - 512 full validator 6.0737 ms/op 6.1777 ms/op 0.98
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 65.163 us/op 66.855 us/op 0.97
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 863.38 us/op 992.96 us/op 0.87
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 13.678 ms/op 12.063 ms/op 1.13
BeaconState.hashTreeRoot - 1 balances 60.031 us/op 52.914 us/op 1.13
BeaconState.hashTreeRoot - 32 balances 458.46 us/op 500.38 us/op 0.92
BeaconState.hashTreeRoot - 512 balances 4.3333 ms/op 4.5951 ms/op 0.94
BeaconState.hashTreeRoot - 250000 balances 91.163 ms/op 80.149 ms/op 1.14
aggregationBits - 2048 els - zipIndexesInBitList 35.819 us/op 16.053 us/op 2.23
regular array get 100000 times 49.546 us/op 34.513 us/op 1.44
wrappedArray get 100000 times 42.180 us/op 34.304 us/op 1.23
arrayWithProxy get 100000 times 17.646 ms/op 16.274 ms/op 1.08
ssz.Root.equals 272.00 ns/op 246.00 ns/op 1.11
byteArrayEquals 261.00 ns/op 258.00 ns/op 1.01
shuffle list - 16384 els 7.9146 ms/op 7.1906 ms/op 1.10
shuffle list - 250000 els 112.36 ms/op 106.05 ms/op 1.06
processSlot - 1 slots 8.9540 us/op 8.8560 us/op 1.01
processSlot - 32 slots 1.4930 ms/op 1.4318 ms/op 1.04
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 72.459 ms/op 57.684 ms/op 1.26
getCommitteeAssignments - req 1 vs - 250000 vc 2.7347 ms/op 2.5445 ms/op 1.07
getCommitteeAssignments - req 100 vs - 250000 vc 3.9219 ms/op 3.7444 ms/op 1.05
getCommitteeAssignments - req 1000 vs - 250000 vc 4.3659 ms/op 4.1385 ms/op 1.05
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 5.5500 ns/op 5.1600 ns/op 1.08
state getBlockRootAtSlot - 250000 vs - 7PWei 1.0315 us/op 578.82 ns/op 1.78
computeProposers - vc 250000 11.173 ms/op 9.6294 ms/op 1.16
computeEpochShuffling - vc 250000 117.60 ms/op 110.55 ms/op 1.06
getNextSyncCommittee - vc 250000 182.59 ms/op 159.94 ms/op 1.14
computeSigningRoot for AttestationData 15.950 us/op 14.348 us/op 1.11
hash AttestationData serialized data then Buffer.toString(base64) 2.4670 us/op 2.3769 us/op 1.04
toHexString serialized data 1.6328 us/op 1.1417 us/op 1.43
Buffer.toString(base64) 276.41 ns/op 242.64 ns/op 1.14

by benchmarkbot/action

Copy link
Member

@matthewkeil matthewkeil left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A couple of questions do just double check the conditionals. Otherwise things look good!!

@g11tech
Copy link
Contributor Author

g11tech commented Jul 10, 2023

A couple of questions do just double check the conditionals. Otherwise things look good!!

thanks for looking into this, target epoch validations check this and this implementation closely follow the specs (check spec PR)

@twoeths
Copy link
Contributor

twoeths commented Jul 10, 2023

@g11tech
Copy link
Contributor Author

g11tech commented Jul 10, 2023

@g11tech is p2p change supposed for this PR or another one? https://github.com/ethereum/consensus-specs/pull/3360/files#diff-21cd1dde2a4815e714ef42d0cefa1bbd2997a4358ecf6e9e51025332c1d642fdR196

was thinking of doing a followup to this PR

@dapplion
Copy link
Contributor

@g11tech pushed to the PR a quick review:

  • I don't think there's any need to rename the function to *Plus, let's just keep the names as is
  • Used a more verbose if else pattern in timelyTarget to make it more clear the fork branching logic

Can you please add the p2p changes in this PR too? I should not be that big

@g11tech
Copy link
Contributor Author

g11tech commented Jul 11, 2023

this

sounds good 👍

@g11tech
Copy link
Contributor Author

g11tech commented Jul 11, 2023

for the p2p validations, should we just update to the new ones irrespective of the fork since new validations are more relaxed than the pre-deneb. Even if for pre-deneb if some attestations gets passed through, the actual process attestation will reject it pre-deneb.. wdyt @tuyennhv @dapplion


UPDATE:

as per discussion with @dapplion : "p2p validation must match the spec for all forks"
will update the validations accordingly

upgrade spec version

Review PR

update p2p validations

fix tests
@g11tech g11tech enabled auto-merge (squash) July 18, 2023 16:53
@g11tech g11tech merged commit 29314c9 into unstable Jul 19, 2023
11 checks passed
@g11tech g11tech deleted the g11tech/eip7045 branch July 19, 2023 12:41
@wemeetagain
Copy link
Member

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

5 participants