Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## unstable #6352 +/- ##
============================================
- Coverage 61.88% 61.87% -0.02%
============================================
Files 562 559 -3
Lines 59309 58842 -467
Branches 1916 1847 -69
============================================
- Hits 36703 36408 -295
+ Misses 22563 22397 -166
+ Partials 43 37 -6 |
|
| Benchmark suite | Current: a59dab1 | Previous: 6c20dc2 | Ratio |
|---|---|---|---|
| getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 | 3.6797 ms/op | 962.52 us/op | 3.82 |
| altair processEpoch - mainnet_e81889 | 4.5420 s/op | 388.79 ms/op | 11.68 |
| phase0 processEpoch - mainnet_e58758 | 3.7419 s/op | 436.53 ms/op | 8.57 |
| phase0 processEffectiveBalanceUpdates - 250000 normalcase | 5.8442 ms/op | 1.1914 ms/op | 4.91 |
| phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 | 6.5598 ms/op | 1.5956 ms/op | 4.11 |
Full benchmark results
| Benchmark suite | Current: a59dab1 | Previous: 6c20dc2 | Ratio |
|---|---|---|---|
| getPubkeys - index2pubkey - req 1000 vs - 250000 vc | 851.64 us/op | 937.18 us/op | 0.91 |
| getPubkeys - validatorsArr - req 1000 vs - 250000 vc | 87.381 us/op | 59.558 us/op | 1.47 |
| BLS verify - blst-native | 1.2328 ms/op | 1.2077 ms/op | 1.02 |
| BLS verifyMultipleSignatures 3 - blst-native | 2.4026 ms/op | 2.3369 ms/op | 1.03 |
| BLS verifyMultipleSignatures 8 - blst-native | 5.2377 ms/op | 5.0469 ms/op | 1.04 |
| BLS verifyMultipleSignatures 32 - blst-native | 18.531 ms/op | 18.335 ms/op | 1.01 |
| BLS verifyMultipleSignatures 64 - blst-native | 36.646 ms/op | 36.018 ms/op | 1.02 |
| BLS verifyMultipleSignatures 128 - blst-native | 72.562 ms/op | 71.419 ms/op | 1.02 |
| BLS deserializing 10000 signatures | 868.40 ms/op | 854.63 ms/op | 1.02 |
| BLS deserializing 100000 signatures | 8.8294 s/op | 9.2720 s/op | 0.95 |
| BLS verifyMultipleSignatures - same message - 3 - blst-native | 1.2508 ms/op | 1.4046 ms/op | 0.89 |
| BLS verifyMultipleSignatures - same message - 8 - blst-native | 1.4206 ms/op | 1.5175 ms/op | 0.94 |
| BLS verifyMultipleSignatures - same message - 32 - blst-native | 2.2139 ms/op | 2.3688 ms/op | 0.93 |
| BLS verifyMultipleSignatures - same message - 64 - blst-native | 3.3332 ms/op | 3.5393 ms/op | 0.94 |
| BLS verifyMultipleSignatures - same message - 128 - blst-native | 5.5081 ms/op | 5.8684 ms/op | 0.94 |
| BLS aggregatePubkeys 32 - blst-native | 27.858 us/op | 29.865 us/op | 0.93 |
| BLS aggregatePubkeys 128 - blst-native | 106.21 us/op | 116.12 us/op | 0.91 |
| notSeenSlots=1 numMissedVotes=1 numBadVotes=10 | 60.521 ms/op | 95.663 ms/op | 0.63 |
| notSeenSlots=1 numMissedVotes=0 numBadVotes=4 | 53.518 ms/op | 66.410 ms/op | 0.81 |
| notSeenSlots=2 numMissedVotes=1 numBadVotes=10 | 31.559 ms/op | 30.486 ms/op | 1.04 |
| getSlashingsAndExits - default max | 209.62 us/op | 206.38 us/op | 1.02 |
| getSlashingsAndExits - 2k | 450.54 us/op | 369.60 us/op | 1.22 |
| proposeBlockBody type=full, size=empty | 6.9406 ms/op | 5.7577 ms/op | 1.21 |
| isKnown best case - 1 super set check | 411.00 ns/op | 488.00 ns/op | 0.84 |
| isKnown normal case - 2 super set checks | 397.00 ns/op | 323.00 ns/op | 1.23 |
| isKnown worse case - 16 super set checks | 353.00 ns/op | 287.00 ns/op | 1.23 |
| InMemoryCheckpointStateCache - add get delete | 6.0260 us/op | 5.0530 us/op | 1.19 |
| updateUnfinalizedPubkeys - updating 10 pubkeys | 999.73 us/op | ||
| updateUnfinalizedPubkeys - updating 100 pubkeys | 7.8006 ms/op | ||
| updateUnfinalizedPubkeys - updating 1000 pubkeys | 105.56 ms/op | ||
| validate api signedAggregateAndProof - struct | 2.3417 ms/op | 2.2557 ms/op | 1.04 |
| validate gossip signedAggregateAndProof - struct | 2.3845 ms/op | 2.2391 ms/op | 1.06 |
| validate gossip attestation - vc 640000 | 1.2926 ms/op | 1.2916 ms/op | 1.00 |
| batch validate gossip attestation - vc 640000 - chunk 32 | 162.97 us/op | 165.25 us/op | 0.99 |
| batch validate gossip attestation - vc 640000 - chunk 64 | 146.65 us/op | 143.41 us/op | 1.02 |
| batch validate gossip attestation - vc 640000 - chunk 128 | 145.41 us/op | 138.18 us/op | 1.05 |
| batch validate gossip attestation - vc 640000 - chunk 256 | 145.91 us/op | 148.93 us/op | 0.98 |
| pickEth1Vote - no votes | 1.2848 ms/op | 1.2787 ms/op | 1.00 |
| pickEth1Vote - max votes | 9.8257 ms/op | 10.733 ms/op | 0.92 |
| pickEth1Vote - Eth1Data hashTreeRoot value x2048 | 19.578 ms/op | 19.716 ms/op | 0.99 |
| pickEth1Vote - Eth1Data hashTreeRoot tree x2048 | 25.859 ms/op | 26.017 ms/op | 0.99 |
| pickEth1Vote - Eth1Data fastSerialize value x2048 | 695.30 us/op | 698.98 us/op | 0.99 |
| pickEth1Vote - Eth1Data fastSerialize tree x2048 | 5.0278 ms/op | 8.0512 ms/op | 0.62 |
| bytes32 toHexString | 571.00 ns/op | 832.00 ns/op | 0.69 |
| bytes32 Buffer.toString(hex) | 324.00 ns/op | 328.00 ns/op | 0.99 |
| bytes32 Buffer.toString(hex) from Uint8Array | 579.00 ns/op | 610.00 ns/op | 0.95 |
| bytes32 Buffer.toString(hex) + 0x | 316.00 ns/op | 303.00 ns/op | 1.04 |
| Object access 1 prop | 0.21300 ns/op | 0.21300 ns/op | 1.00 |
| Map access 1 prop | 0.14200 ns/op | 0.14400 ns/op | 0.99 |
| Object get x1000 | 10.029 ns/op | 9.2890 ns/op | 1.08 |
| Map get x1000 | 1.0410 ns/op | 0.92200 ns/op | 1.13 |
| Object set x1000 | 73.010 ns/op | 57.488 ns/op | 1.27 |
| Map set x1000 | 44.022 ns/op | 37.150 ns/op | 1.18 |
| Return object 10000 times | 0.32200 ns/op | 0.28580 ns/op | 1.13 |
| Throw Error 10000 times | 3.7844 us/op | 3.8164 us/op | 0.99 |
| fastMsgIdFn sha256 / 200 bytes | 3.0620 us/op | 2.6890 us/op | 1.14 |
| fastMsgIdFn h32 xxhash / 200 bytes | 388.00 ns/op | 288.00 ns/op | 1.35 |
| fastMsgIdFn h64 xxhash / 200 bytes | 419.00 ns/op | 338.00 ns/op | 1.24 |
| fastMsgIdFn sha256 / 1000 bytes | 8.3980 us/op | 7.5380 us/op | 1.11 |
| fastMsgIdFn h32 xxhash / 1000 bytes | 536.00 ns/op | 395.00 ns/op | 1.36 |
| fastMsgIdFn h64 xxhash / 1000 bytes | 521.00 ns/op | 404.00 ns/op | 1.29 |
| fastMsgIdFn sha256 / 10000 bytes | 75.525 us/op | 66.237 us/op | 1.14 |
| fastMsgIdFn h32 xxhash / 10000 bytes | 2.0760 us/op | 2.0240 us/op | 1.03 |
| fastMsgIdFn h64 xxhash / 10000 bytes | 1.4580 us/op | 1.3620 us/op | 1.07 |
| send data - 1000 256B messages | 18.196 ms/op | 15.923 ms/op | 1.14 |
| send data - 1000 512B messages | 22.601 ms/op | 21.146 ms/op | 1.07 |
| send data - 1000 1024B messages | 30.498 ms/op | 30.791 ms/op | 0.99 |
| send data - 1000 1200B messages | 38.037 ms/op | 33.956 ms/op | 1.12 |
| send data - 1000 2048B messages | 47.922 ms/op | 37.447 ms/op | 1.28 |
| send data - 1000 4096B messages | 49.639 ms/op | 38.297 ms/op | 1.30 |
| send data - 1000 16384B messages | 108.64 ms/op | 82.036 ms/op | 1.32 |
| send data - 1000 65536B messages | 365.58 ms/op | 319.62 ms/op | 1.14 |
| enrSubnets - fastDeserialize 64 bits | 1.2410 us/op | 1.2920 us/op | 0.96 |
| enrSubnets - ssz BitVector 64 bits | 493.00 ns/op | 455.00 ns/op | 1.08 |
| enrSubnets - fastDeserialize 4 bits | 203.00 ns/op | 167.00 ns/op | 1.22 |
| enrSubnets - ssz BitVector 4 bits | 530.00 ns/op | 379.00 ns/op | 1.40 |
| prioritizePeers score -10:0 att 32-0.1 sync 2-0 | 204.32 us/op | 193.76 us/op | 1.05 |
| prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 | 275.85 us/op | 244.99 us/op | 1.13 |
| prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 | 345.74 us/op | 383.85 us/op | 0.90 |
| prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 | 561.16 us/op | 523.60 us/op | 1.07 |
| prioritizePeers score 0:0 att 64-1 sync 4-1 | 621.74 us/op | 612.29 us/op | 1.02 |
| array of 16000 items push then shift | 1.7763 us/op | 1.6637 us/op | 1.07 |
| LinkedList of 16000 items push then shift | 9.5930 ns/op | 6.6530 ns/op | 1.44 |
| array of 16000 items push then pop | 160.98 ns/op | 140.01 ns/op | 1.15 |
| LinkedList of 16000 items push then pop | 8.0580 ns/op | 6.6140 ns/op | 1.22 |
| array of 24000 items push then shift | 2.7379 us/op | 2.5648 us/op | 1.07 |
| LinkedList of 24000 items push then shift | 10.196 ns/op | 6.7790 ns/op | 1.50 |
| array of 24000 items push then pop | 213.92 ns/op | 160.69 ns/op | 1.33 |
| LinkedList of 24000 items push then pop | 8.1030 ns/op | 6.7340 ns/op | 1.20 |
| intersect bitArray bitLen 8 | 6.2750 ns/op | 6.0240 ns/op | 1.04 |
| intersect array and set length 8 | 87.242 ns/op | 65.581 ns/op | 1.33 |
| intersect bitArray bitLen 128 | 38.198 ns/op | 37.666 ns/op | 1.01 |
| intersect array and set length 128 | 1.0695 us/op | 1.0549 us/op | 1.01 |
| bitArray.getTrueBitIndexes() bitLen 128 | 1.8460 us/op | 1.7130 us/op | 1.08 |
| bitArray.getTrueBitIndexes() bitLen 248 | 2.6980 us/op | 2.4220 us/op | 1.11 |
| bitArray.getTrueBitIndexes() bitLen 512 | 6.0160 us/op | 5.6860 us/op | 1.06 |
| Buffer.concat 32 items | 1.0730 us/op | 992.00 ns/op | 1.08 |
| Uint8Array.set 32 items | 2.0710 us/op | 1.7930 us/op | 1.16 |
| Set add up to 64 items then delete first | 2.9463 us/op | 2.7480 us/op | 1.07 |
| OrderedSet add up to 64 items then delete first | 4.5286 us/op | 3.3258 us/op | 1.36 |
| Set add up to 64 items then delete last | 3.3735 us/op | 2.6245 us/op | 1.29 |
| OrderedSet add up to 64 items then delete last | 5.1606 us/op | 3.9686 us/op | 1.30 |
| Set add up to 64 items then delete middle | 3.2775 us/op | 2.7104 us/op | 1.21 |
| OrderedSet add up to 64 items then delete middle | 5.4940 us/op | 5.4421 us/op | 1.01 |
| Set add up to 128 items then delete first | 6.2082 us/op | 5.5713 us/op | 1.11 |
| OrderedSet add up to 128 items then delete first | 8.4486 us/op | 8.4572 us/op | 1.00 |
| Set add up to 128 items then delete last | 5.5006 us/op | 5.0793 us/op | 1.08 |
| OrderedSet add up to 128 items then delete last | 7.6787 us/op | 7.0846 us/op | 1.08 |
| Set add up to 128 items then delete middle | 5.6868 us/op | 4.7172 us/op | 1.21 |
| OrderedSet add up to 128 items then delete middle | 13.924 us/op | 12.638 us/op | 1.10 |
| Set add up to 256 items then delete first | 11.710 us/op | 10.329 us/op | 1.13 |
| OrderedSet add up to 256 items then delete first | 18.837 us/op | 15.986 us/op | 1.18 |
| Set add up to 256 items then delete last | 10.947 us/op | 9.5418 us/op | 1.15 |
| OrderedSet add up to 256 items then delete last | 16.115 us/op | 14.560 us/op | 1.11 |
| Set add up to 256 items then delete middle | 9.5588 us/op | 9.1632 us/op | 1.04 |
| OrderedSet add up to 256 items then delete middle | 41.321 us/op | 35.473 us/op | 1.16 |
| transfer serialized Status (84 B) | 1.7900 us/op | 1.6440 us/op | 1.09 |
| copy serialized Status (84 B) | 1.3150 us/op | 1.1910 us/op | 1.10 |
| transfer serialized SignedVoluntaryExit (112 B) | 1.8420 us/op | 1.7200 us/op | 1.07 |
| copy serialized SignedVoluntaryExit (112 B) | 1.3470 us/op | 1.3740 us/op | 0.98 |
| transfer serialized ProposerSlashing (416 B) | 2.0670 us/op | 2.7730 us/op | 0.75 |
| copy serialized ProposerSlashing (416 B) | 1.9040 us/op | 2.6020 us/op | 0.73 |
| transfer serialized Attestation (485 B) | 2.2340 us/op | 2.9310 us/op | 0.76 |
| copy serialized Attestation (485 B) | 2.2210 us/op | 2.6170 us/op | 0.85 |
| transfer serialized AttesterSlashing (33232 B) | 2.4010 us/op | 2.5430 us/op | 0.94 |
| copy serialized AttesterSlashing (33232 B) | 7.6500 us/op | 5.9840 us/op | 1.28 |
| transfer serialized Small SignedBeaconBlock (128000 B) | 2.5370 us/op | 2.6940 us/op | 0.94 |
| copy serialized Small SignedBeaconBlock (128000 B) | 15.724 us/op | 13.860 us/op | 1.13 |
| transfer serialized Avg SignedBeaconBlock (200000 B) | 3.8340 us/op | 3.0650 us/op | 1.25 |
| copy serialized Avg SignedBeaconBlock (200000 B) | 30.845 us/op | 19.791 us/op | 1.56 |
| transfer serialized BlobsSidecar (524380 B) | 4.3670 us/op | 2.8600 us/op | 1.53 |
| copy serialized BlobsSidecar (524380 B) | 82.849 us/op | 91.928 us/op | 0.90 |
| transfer serialized Big SignedBeaconBlock (1000000 B) | 3.4090 us/op | 3.3250 us/op | 1.03 |
| copy serialized Big SignedBeaconBlock (1000000 B) | 386.91 us/op | 138.91 us/op | 2.79 |
| pass gossip attestations to forkchoice per slot | 3.4159 ms/op | 3.3776 ms/op | 1.01 |
| forkChoice updateHead vc 100000 bc 64 eq 0 | 672.35 us/op | 518.75 us/op | 1.30 |
| forkChoice updateHead vc 600000 bc 64 eq 0 | 3.1818 ms/op | 3.1824 ms/op | 1.00 |
| forkChoice updateHead vc 1000000 bc 64 eq 0 | 5.2642 ms/op | 5.3981 ms/op | 0.98 |
| forkChoice updateHead vc 600000 bc 320 eq 0 | 3.1994 ms/op | 3.1844 ms/op | 1.00 |
| forkChoice updateHead vc 600000 bc 1200 eq 0 | 3.2700 ms/op | 3.2801 ms/op | 1.00 |
| forkChoice updateHead vc 600000 bc 7200 eq 0 | 4.5550 ms/op | 4.3535 ms/op | 1.05 |
| forkChoice updateHead vc 600000 bc 64 eq 1000 | 10.825 ms/op | 10.910 ms/op | 0.99 |
| forkChoice updateHead vc 600000 bc 64 eq 10000 | 11.024 ms/op | 10.911 ms/op | 1.01 |
| forkChoice updateHead vc 600000 bc 64 eq 300000 | 17.170 ms/op | 14.748 ms/op | 1.16 |
| computeDeltas 500000 validators 300 proto nodes | 3.8769 ms/op | 3.9809 ms/op | 0.97 |
| computeDeltas 500000 validators 1200 proto nodes | 3.6401 ms/op | 3.8178 ms/op | 0.95 |
| computeDeltas 500000 validators 7200 proto nodes | 3.6633 ms/op | 3.6483 ms/op | 1.00 |
| computeDeltas 750000 validators 300 proto nodes | 5.3733 ms/op | 5.4499 ms/op | 0.99 |
| computeDeltas 750000 validators 1200 proto nodes | 5.1179 ms/op | 5.4822 ms/op | 0.93 |
| computeDeltas 750000 validators 7200 proto nodes | 5.0845 ms/op | 5.4464 ms/op | 0.93 |
| computeDeltas 1400000 validators 300 proto nodes | 10.054 ms/op | 10.769 ms/op | 0.93 |
| computeDeltas 1400000 validators 1200 proto nodes | 10.908 ms/op | 10.606 ms/op | 1.03 |
| computeDeltas 1400000 validators 7200 proto nodes | 10.225 ms/op | 10.324 ms/op | 0.99 |
| computeDeltas 2100000 validators 300 proto nodes | 15.634 ms/op | 15.116 ms/op | 1.03 |
| computeDeltas 2100000 validators 1200 proto nodes | 15.482 ms/op | 15.352 ms/op | 1.01 |
| computeDeltas 2100000 validators 7200 proto nodes | 17.001 ms/op | 16.111 ms/op | 1.06 |
| altair processAttestation - 250000 vs - 7PWei normalcase | 2.5470 ms/op | 2.0572 ms/op | 1.24 |
| altair processAttestation - 250000 vs - 7PWei worstcase | 3.8585 ms/op | 3.4506 ms/op | 1.12 |
| altair processAttestation - setStatus - 1/6 committees join | 158.66 us/op | 152.63 us/op | 1.04 |
| altair processAttestation - setStatus - 1/3 committees join | 270.67 us/op | 290.31 us/op | 0.93 |
| altair processAttestation - setStatus - 1/2 committees join | 412.62 us/op | 363.96 us/op | 1.13 |
| altair processAttestation - setStatus - 2/3 committees join | 506.95 us/op | 477.94 us/op | 1.06 |
| altair processAttestation - setStatus - 4/5 committees join | 686.54 us/op | 638.26 us/op | 1.08 |
| altair processAttestation - setStatus - 100% committees join | 845.06 us/op | 756.06 us/op | 1.12 |
| altair processBlock - 250000 vs - 7PWei normalcase | 7.7943 ms/op | 9.8659 ms/op | 0.79 |
| altair processBlock - 250000 vs - 7PWei normalcase hashState | 36.240 ms/op | 33.916 ms/op | 1.07 |
| altair processBlock - 250000 vs - 7PWei worstcase | 44.193 ms/op | 32.134 ms/op | 1.38 |
| altair processBlock - 250000 vs - 7PWei worstcase hashState | 95.819 ms/op | 88.410 ms/op | 1.08 |
| phase0 processBlock - 250000 vs - 7PWei normalcase | 2.5934 ms/op | 2.2564 ms/op | 1.15 |
| phase0 processBlock - 250000 vs - 7PWei worstcase | 29.892 ms/op | 27.097 ms/op | 1.10 |
| altair processEth1Data - 250000 vs - 7PWei normalcase | 664.86 us/op | 315.08 us/op | 2.11 |
| getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 | 25.818 us/op | 11.978 us/op | 2.16 |
| getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 | 118.18 us/op | 67.985 us/op | 1.74 |
| getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 | 35.429 us/op | 16.390 us/op | 2.16 |
| getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 | 28.050 us/op | 12.253 us/op | 2.29 |
| getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 | 369.42 us/op | 160.28 us/op | 2.30 |
| getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 | 3.6797 ms/op | 962.52 us/op | 3.82 |
| getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 | 3.1958 ms/op | 1.6106 ms/op | 1.98 |
| getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 | 3.0092 ms/op | 1.4629 ms/op | 2.06 |
| getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 | 6.6566 ms/op | 3.2665 ms/op | 2.04 |
| getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 | 2.7569 ms/op | 2.3614 ms/op | 1.17 |
| getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 | 6.8564 ms/op | 4.2865 ms/op | 1.60 |
| Tree 40 250000 create | 464.20 ms/op | 217.88 ms/op | 2.13 |
| Tree 40 250000 get(125000) | 196.49 ns/op | 144.14 ns/op | 1.36 |
| Tree 40 250000 set(125000) | 1.7497 us/op | 636.31 ns/op | 2.75 |
| Tree 40 250000 toArray() | 25.616 ms/op | 19.257 ms/op | 1.33 |
| Tree 40 250000 iterate all - toArray() + loop | 25.681 ms/op | 19.101 ms/op | 1.34 |
| Tree 40 250000 iterate all - get(i) | 69.720 ms/op | 53.888 ms/op | 1.29 |
| Array 250000 create | 5.1307 ms/op | 3.8570 ms/op | 1.33 |
| Array 250000 clone - spread | 2.1738 ms/op | 1.6288 ms/op | 1.33 |
| Array 250000 get(125000) | 1.5430 ns/op | 1.1110 ns/op | 1.39 |
| Array 250000 set(125000) | 2.2720 ns/op | 1.3990 ns/op | 1.62 |
| Array 250000 iterate all - loop | 193.44 us/op | 172.04 us/op | 1.12 |
| phase0 afterProcessEpoch - 250000 vs - 7PWei | 115.23 ms/op | 91.221 ms/op | 1.26 |
| phase0 beforeProcessEpoch - 250000 vs - 7PWei | 69.411 ms/op | 41.881 ms/op | 1.66 |
| altair processEpoch - mainnet_e81889 | 4.5420 s/op | 388.79 ms/op | 11.68 |
| mainnet_e81889 - altair beforeProcessEpoch | 58.975 ms/op | 66.480 ms/op | 0.89 |
| mainnet_e81889 - altair processJustificationAndFinalization | 18.571 us/op | 13.159 us/op | 1.41 |
| mainnet_e81889 - altair processInactivityUpdates | 6.0904 ms/op | 5.2684 ms/op | 1.16 |
| mainnet_e81889 - altair processRewardsAndPenalties | 44.232 ms/op | 46.226 ms/op | 0.96 |
| mainnet_e81889 - altair processRegistryUpdates | 2.0920 us/op | 2.4340 us/op | 0.86 |
| mainnet_e81889 - altair processSlashings | 382.00 ns/op | 395.00 ns/op | 0.97 |
| mainnet_e81889 - altair processEth1DataReset | 562.00 ns/op | 624.00 ns/op | 0.90 |
| mainnet_e81889 - altair processEffectiveBalanceUpdates | 208.11 ms/op | 1.2437 ms/op | 167.34 |
| mainnet_e81889 - altair processSlashingsReset | 4.6140 us/op | 4.1300 us/op | 1.12 |
| mainnet_e81889 - altair processRandaoMixesReset | 6.7210 us/op | 5.3060 us/op | 1.27 |
| mainnet_e81889 - altair processHistoricalRootsUpdate | 1.5180 us/op | 914.00 ns/op | 1.66 |
| mainnet_e81889 - altair processParticipationFlagUpdates | 1.8930 us/op | 1.5540 us/op | 1.22 |
| mainnet_e81889 - altair processSyncCommitteeUpdates | 682.00 ns/op | 654.00 ns/op | 1.04 |
| mainnet_e81889 - altair afterProcessEpoch | 101.79 ms/op | 94.374 ms/op | 1.08 |
| capella processEpoch - mainnet_e217614 | 2.6197 s/op | 1.4543 s/op | 1.80 |
| mainnet_e217614 - capella beforeProcessEpoch | 301.95 ms/op | 273.05 ms/op | 1.11 |
| mainnet_e217614 - capella processJustificationAndFinalization | 17.817 us/op | 16.897 us/op | 1.05 |
| mainnet_e217614 - capella processInactivityUpdates | 18.727 ms/op | 16.381 ms/op | 1.14 |
| mainnet_e217614 - capella processRewardsAndPenalties | 262.45 ms/op | 249.91 ms/op | 1.05 |
| mainnet_e217614 - capella processRegistryUpdates | 20.311 us/op | 17.286 us/op | 1.17 |
| mainnet_e217614 - capella processSlashings | 456.00 ns/op | 521.00 ns/op | 0.88 |
| mainnet_e217614 - capella processEth1DataReset | 460.00 ns/op | 399.00 ns/op | 1.15 |
| mainnet_e217614 - capella processEffectiveBalanceUpdates | 95.696 ms/op | 9.2958 ms/op | 10.29 |
| mainnet_e217614 - capella processSlashingsReset | 4.3060 us/op | 3.5940 us/op | 1.20 |
| mainnet_e217614 - capella processRandaoMixesReset | 5.5090 us/op | 4.2240 us/op | 1.30 |
| mainnet_e217614 - capella processHistoricalRootsUpdate | 901.00 ns/op | 337.00 ns/op | 2.67 |
| mainnet_e217614 - capella processParticipationFlagUpdates | 2.0660 us/op | 1.8210 us/op | 1.13 |
| mainnet_e217614 - capella afterProcessEpoch | 285.31 ms/op | 253.49 ms/op | 1.13 |
| phase0 processEpoch - mainnet_e58758 | 3.7419 s/op | 436.53 ms/op | 8.57 |
| mainnet_e58758 - phase0 beforeProcessEpoch | 125.35 ms/op | 118.88 ms/op | 1.05 |
| mainnet_e58758 - phase0 processJustificationAndFinalization | 17.716 us/op | 15.522 us/op | 1.14 |
| mainnet_e58758 - phase0 processRewardsAndPenalties | 31.901 ms/op | 24.451 ms/op | 1.30 |
| mainnet_e58758 - phase0 processRegistryUpdates | 12.593 us/op | 8.8020 us/op | 1.43 |
| mainnet_e58758 - phase0 processSlashings | 538.00 ns/op | 372.00 ns/op | 1.45 |
| mainnet_e58758 - phase0 processEth1DataReset | 408.00 ns/op | 365.00 ns/op | 1.12 |
| mainnet_e58758 - phase0 processEffectiveBalanceUpdates | 149.21 ms/op | 1.1675 ms/op | 127.80 |
| mainnet_e58758 - phase0 processSlashingsReset | 3.4190 us/op | 3.2020 us/op | 1.07 |
| mainnet_e58758 - phase0 processRandaoMixesReset | 4.4410 us/op | 4.8470 us/op | 0.92 |
| mainnet_e58758 - phase0 processHistoricalRootsUpdate | 413.00 ns/op | 577.00 ns/op | 0.72 |
| mainnet_e58758 - phase0 processParticipationRecordUpdates | 4.4430 us/op | 3.3330 us/op | 1.33 |
| mainnet_e58758 - phase0 afterProcessEpoch | 84.069 ms/op | 80.203 ms/op | 1.05 |
| phase0 processEffectiveBalanceUpdates - 250000 normalcase | 5.8442 ms/op | 1.1914 ms/op | 4.91 |
| phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 | 6.5598 ms/op | 1.5956 ms/op | 4.11 |
| altair processInactivityUpdates - 250000 normalcase | 16.916 ms/op | 15.015 ms/op | 1.13 |
| altair processInactivityUpdates - 250000 worstcase | 16.464 ms/op | 15.421 ms/op | 1.07 |
| phase0 processRegistryUpdates - 250000 normalcase | 9.2410 us/op | 8.4910 us/op | 1.09 |
| phase0 processRegistryUpdates - 250000 badcase_full_deposits | 368.23 us/op | 321.79 us/op | 1.14 |
| phase0 processRegistryUpdates - 250000 worstcase 0.5 | 129.10 ms/op | 119.03 ms/op | 1.08 |
| altair processRewardsAndPenalties - 250000 normalcase | 45.368 ms/op | 35.848 ms/op | 1.27 |
| altair processRewardsAndPenalties - 250000 worstcase | 39.179 ms/op | 36.365 ms/op | 1.08 |
| phase0 getAttestationDeltas - 250000 normalcase | 7.3536 ms/op | 7.7610 ms/op | 0.95 |
| phase0 getAttestationDeltas - 250000 worstcase | 7.7765 ms/op | 7.7358 ms/op | 1.01 |
| phase0 processSlashings - 250000 worstcase | 69.739 us/op | 67.568 us/op | 1.03 |
| altair processSyncCommitteeUpdates - 250000 | 118.72 ms/op | 126.08 ms/op | 0.94 |
| BeaconState.hashTreeRoot - No change | 299.00 ns/op | 321.00 ns/op | 0.93 |
| BeaconState.hashTreeRoot - 1 full validator | 132.78 us/op | 133.97 us/op | 0.99 |
| BeaconState.hashTreeRoot - 32 full validator | 1.3187 ms/op | 1.2564 ms/op | 1.05 |
| BeaconState.hashTreeRoot - 512 full validator | 15.139 ms/op | 13.280 ms/op | 1.14 |
| BeaconState.hashTreeRoot - 1 validator.effectiveBalance | 160.57 us/op | 158.24 us/op | 1.01 |
| BeaconState.hashTreeRoot - 32 validator.effectiveBalance | 1.8079 ms/op | 1.9596 ms/op | 0.92 |
| BeaconState.hashTreeRoot - 512 validator.effectiveBalance | 25.949 ms/op | 24.082 ms/op | 1.08 |
| BeaconState.hashTreeRoot - 1 balances | 116.06 us/op | 117.82 us/op | 0.99 |
| BeaconState.hashTreeRoot - 32 balances | 1.0337 ms/op | 1.0879 ms/op | 0.95 |
| BeaconState.hashTreeRoot - 512 balances | 8.9509 ms/op | 10.599 ms/op | 0.84 |
| BeaconState.hashTreeRoot - 250000 balances | 167.72 ms/op | 208.86 ms/op | 0.80 |
| aggregationBits - 2048 els - zipIndexesInBitList | 24.161 us/op | 22.201 us/op | 1.09 |
| byteArrayEquals 32 | 75.663 ns/op | 74.333 ns/op | 1.02 |
| Buffer.compare 32 | 49.363 ns/op | 44.566 ns/op | 1.11 |
| byteArrayEquals 1024 | 2.0704 us/op | 2.0264 us/op | 1.02 |
| Buffer.compare 1024 | 50.259 ns/op | 52.275 ns/op | 0.96 |
| byteArrayEquals 16384 | 33.025 us/op | 32.262 us/op | 1.02 |
| Buffer.compare 16384 | 241.92 ns/op | 235.54 ns/op | 1.03 |
| byteArrayEquals 123687377 | 247.74 ms/op | 249.63 ms/op | 0.99 |
| Buffer.compare 123687377 | 7.3389 ms/op | 6.0370 ms/op | 1.22 |
| byteArrayEquals 32 - diff last byte | 74.387 ns/op | 71.357 ns/op | 1.04 |
| Buffer.compare 32 - diff last byte | 52.032 ns/op | 48.657 ns/op | 1.07 |
| byteArrayEquals 1024 - diff last byte | 2.0743 us/op | 1.9901 us/op | 1.04 |
| Buffer.compare 1024 - diff last byte | 54.374 ns/op | 49.151 ns/op | 1.11 |
| byteArrayEquals 16384 - diff last byte | 33.316 us/op | 31.755 us/op | 1.05 |
| Buffer.compare 16384 - diff last byte | 237.91 ns/op | 228.00 ns/op | 1.04 |
| byteArrayEquals 123687377 - diff last byte | 251.20 ms/op | 247.19 ms/op | 1.02 |
| Buffer.compare 123687377 - diff last byte | 7.2298 ms/op | 6.1353 ms/op | 1.18 |
| byteArrayEquals 32 - random bytes | 5.3560 ns/op | 5.1660 ns/op | 1.04 |
| Buffer.compare 32 - random bytes | 54.276 ns/op | 47.630 ns/op | 1.14 |
| byteArrayEquals 1024 - random bytes | 5.7550 ns/op | 5.1000 ns/op | 1.13 |
| Buffer.compare 1024 - random bytes | 52.363 ns/op | 45.863 ns/op | 1.14 |
| byteArrayEquals 16384 - random bytes | 5.8720 ns/op | 5.0870 ns/op | 1.15 |
| Buffer.compare 16384 - random bytes | 50.978 ns/op | 45.958 ns/op | 1.11 |
| byteArrayEquals 123687377 - random bytes | 7.9400 ns/op | 7.8200 ns/op | 1.02 |
| Buffer.compare 123687377 - random bytes | 61.390 ns/op | 48.750 ns/op | 1.26 |
| regular array get 100000 times | 46.168 us/op | 44.041 us/op | 1.05 |
| wrappedArray get 100000 times | 44.673 us/op | 43.881 us/op | 1.02 |
| arrayWithProxy get 100000 times | 14.734 ms/op | 13.740 ms/op | 1.07 |
| ssz.Root.equals | 55.629 ns/op | 52.427 ns/op | 1.06 |
| byteArrayEquals | 55.281 ns/op | 51.517 ns/op | 1.07 |
| Buffer.compare | 11.377 ns/op | 10.120 ns/op | 1.12 |
| shuffle list - 16384 els | 6.7730 ms/op | 6.2300 ms/op | 1.09 |
| shuffle list - 250000 els | 100.18 ms/op | 91.136 ms/op | 1.10 |
| processSlot - 1 slots | 15.872 us/op | 14.695 us/op | 1.08 |
| processSlot - 32 slots | 2.7125 ms/op | 3.2835 ms/op | 0.83 |
| getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei | 51.354 ms/op | 48.570 ms/op | 1.06 |
| getCommitteeAssignments - req 1 vs - 250000 vc | 2.6384 ms/op | 2.5969 ms/op | 1.02 |
| getCommitteeAssignments - req 100 vs - 250000 vc | 3.8760 ms/op | 3.7557 ms/op | 1.03 |
| getCommitteeAssignments - req 1000 vs - 250000 vc | 4.2437 ms/op | 4.0218 ms/op | 1.06 |
| findModifiedValidators - 10000 modified validators | 300.28 ms/op | 293.34 ms/op | 1.02 |
| findModifiedValidators - 1000 modified validators | 184.92 ms/op | 171.20 ms/op | 1.08 |
| findModifiedValidators - 100 modified validators | 176.22 ms/op | 165.27 ms/op | 1.07 |
| findModifiedValidators - 10 modified validators | 189.10 ms/op | 166.99 ms/op | 1.13 |
| findModifiedValidators - 1 modified validators | 189.53 ms/op | 162.43 ms/op | 1.17 |
| findModifiedValidators - no difference | 201.17 ms/op | 163.00 ms/op | 1.23 |
| compare ViewDUs | 3.4876 s/op | 3.1710 s/op | 1.10 |
| compare each validator Uint8Array | 1.2658 s/op | 1.3853 s/op | 0.91 |
| compare ViewDU to Uint8Array | 1.1577 s/op | 1.0554 s/op | 1.10 |
| migrate state 1000000 validators, 24 modified, 0 new | 599.56 ms/op | 626.22 ms/op | 0.96 |
| migrate state 1000000 validators, 1700 modified, 1000 new | 983.35 ms/op | 1.0041 s/op | 0.98 |
| migrate state 1000000 validators, 3400 modified, 2000 new | 1.3635 s/op | 1.3217 s/op | 1.03 |
| migrate state 1500000 validators, 24 modified, 0 new | 649.97 ms/op | 746.82 ms/op | 0.87 |
| migrate state 1500000 validators, 1700 modified, 1000 new | 1.0148 s/op | 1.1512 s/op | 0.88 |
| migrate state 1500000 validators, 3400 modified, 2000 new | 1.3778 s/op | 1.5550 s/op | 0.89 |
| RootCache.getBlockRootAtSlot - 250000 vs - 7PWei | 4.3100 ns/op | 5.4100 ns/op | 0.80 |
| state getBlockRootAtSlot - 250000 vs - 7PWei | 909.03 ns/op | 721.57 ns/op | 1.26 |
| computeProposers - vc 250000 | 8.5689 ms/op | 8.6478 ms/op | 0.99 |
| computeEpochShuffling - vc 250000 | 99.532 ms/op | 104.12 ms/op | 0.96 |
| getNextSyncCommittee - vc 250000 | 136.83 ms/op | 167.42 ms/op | 0.82 |
| computeSigningRoot for AttestationData | 24.393 us/op | 33.859 us/op | 0.72 |
| hash AttestationData serialized data then Buffer.toString(base64) | 1.6432 us/op | 1.9064 us/op | 0.86 |
| toHexString serialized data | 1.0415 us/op | 1.2167 us/op | 0.86 |
| Buffer.toString(base64) | 257.59 ns/op | 231.98 ns/op | 1.11 |
by benchmarkbot/action
fc1990a to
9014c8c
Compare
488d853 to
4e98a4a
Compare
8f5388d to
990cb1c
Compare
8a4f66e to
473a04f
Compare
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## unstable #6352 +/- ##
============================================
- Coverage 62.75% 61.87% -0.89%
============================================
Files 578 559 -19
Lines 61347 58842 -2505
Branches 2114 1847 -267
============================================
- Hits 38498 36408 -2090
+ Misses 22811 22397 -414
+ Partials 38 37 -1 |
add types stub and epoch config fix types
* Add immutable in the dependencies * Initial change to pubkeyCache * Added todos * Moved unfinalized cache to epochCache * Move populating finalized cache to afterProcessEpoch * Specify unfinalized cache during state cloning * Move from unfinalized to finalized cache in afterProcessEpoch * Confused myself * Clean up * Change logic * Fix cloning issue * Clean up redundant code * Add CarryoverData in epochCtx.createFromState * Fix typo * Update usage of pubkeyCache * Update pubkeyCache usage * Fix lint * Fix lint * Add 6110 to ChainConfig * Add 6110 to BeaconPreset * Define 6110 fork and container * Add V6110 api to execution engine * Update test * Add depositReceiptsRoot to process_execution_payload * State transitioning to EIP6110 * State transitioning to EIP6110 * Light client change in EIP-6110 * Update tests * produceBlock * Refactor processDeposit to match the spec * Implement processDepositReceipt * Implement 6110 fork guard for pubkeyCache * Handle changes in eth1 deposit * Update eth1 deposit test * Fix typo * Lint * Remove embarassing comments * Address comments * Modify applyDeposit signature * Update packages/state-transition/src/cache/epochCache.ts Co-authored-by: Lion - dapplion <35266934+dapplion@users.noreply.github.com> * Update packages/state-transition/src/cache/epochCache.ts Co-authored-by: Lion - dapplion <35266934+dapplion@users.noreply.github.com> * Update packages/state-transition/src/cache/pubkeyCache.ts Co-authored-by: Lion - dapplion <35266934+dapplion@users.noreply.github.com> * Remove old code * Rename fields in epochCache and immutableData * Remove CarryoverData * Move isAfter6110 from var to method * Fix cyclic import * Fix operations spec runner * Fix for spec test * Fix spec test * state.depositReceiptsStartIndex to BigInt * getDeposit requires cached state * default depositReceiptsStartIndex value in genesis * Fix pubkeyCache bug * newUnfinalizedPubkeyIndexMap in createCachedBeaconState * Lint * Pass epochCache instead of pubkey2IndexFn in apis * Address comments * Add unit test on pubkey cache cloning * Add unfinalizedPubkeyCacheSize to metrics * Add unfinalizedPubkeyCacheSize to metrics * Clean up code * Add besu to el-interop * Add 6110 genesis file * Template for sim test * Add unit test for getEth1DepositCount * Update sim test * Update besudocker * Finish beacon api calls in sim test * Update epochCache.createFromState() * Fix bug unfinalized validators are not finalized * Add sim test to run a few blocks * Lint * Merge branch 'unstable' into 611 * Add more check to sim test * Update besu docker image instruction * Update sim test with correct tx * Address comment + cleanup * Clean up code * Properly handle promise rejection * Lint * Update packages/beacon-node/src/execution/engine/types.ts Co-authored-by: Lion - dapplion <35266934+dapplion@users.noreply.github.com> * Update comments * Accept type undefined in ExecutionPayloadBodyRpc * Update comment and semantic * Remove if statement when adding finalized validator * Comment on repeated insert on finalized cache * rename createFromState * Add comment on getPubkey() * Stash change to reduce diffs * Stash change to reduce diffs * Lint * addFinalizedPubkey on finalized checkpoint * Update comment * Use OrderedMap for unfinalized cache * Pull out logic of deleting pubkeys for batch op * Add updateUnfinalizedPubkeys in regen * Update updateUnfinalizedPubkeys logic * Add comment * Add metrics for state context caches * Address comment * Address comment * Deprecate eth1Data polling when condition is reached * Fix conflicts * Fix sim test * Lint * Fix type * Fix test * Fix test * Lint * Update packages/light-client/src/spec/utils.ts Co-authored-by: Lion - dapplion <35266934+dapplion@users.noreply.github.com> * Fix spec test * Address comments * Improve cache logic on checkpoint finalized * Update sim test according to new cache logic * Update comment * Lint * Finalized pubkey cache only update once per checkpoint * Add perf test for updateUnfinalizedPubkeys * Add perf test for updateUnfinalizedPubkeys * Tweak params for perf test * Freeze besu docker image version for 6110 * Add benchmark result * Use Map instead of OrderedMap. Update benchmark * Minor optimization * Minor optimization * Add memory test for immutable.js * Update test * Reduce code duplication * Lint * Remove try/catch in updateUnfinalizedPubkeys * Introduce EpochCache metric * Add historicalValidatorLengths * Polish code * Migrate state-transition unit tests to vitest * Fix calculation of pivot index * `historicalValidatorLengths` only activate post 6110 * Update sim test * Lint * Update packages/state-transition/src/cache/epochCache.ts Co-authored-by: Lion - dapplion <35266934+dapplion@users.noreply.github.com> * Improve readability on historicalValidatorLengths * Update types * Fix calculation * Add eth1data poll todo * Add epochCache.getValidatorCountAtEpoch * Add todo * Add getStateIterator for state cache * Partial commit * Update perf test * updateUnfinalizedPubkeys directly modify states from regen * Update sim test. Lint * Add todo * some improvements and a fix for effectiveBalanceIncrements fork safeness * rename eip6110 to elctra * fix electra-interop.test.ts --------- Co-authored-by: Lion - dapplion <35266934+dapplion@users.noreply.github.com> Co-authored-by: gajinder <develop@g11tech.io> lint and tsc small cleanup fix rebase issue
* feat: implement execution layer exits eip 7002 * lint and tsc fix * apply feedback * improve comment
* Update spec-test version * Skip electra
* Add types * Update unit test * lint * Address comments * Address comments * Lint * Update packages/beacon-node/src/util/sszBytes.ts Co-authored-by: tuyennhv <tuyen@chainsafe.io> * Add isElectraAttestation * Update unit test * Update unit test * chore: add comments for sszBytes.ts --------- Co-authored-by: tuyennhv <tuyen@chainsafe.io> Co-authored-by: Tuyen Nguyen <vutuyen2636@gmail.com> Co-authored-by: Gajinder <develop@g11tech.io>
* chore: fix the rebase build * fix test
* feat: upgrade 7002 exits to withdrawal request * fix types * fix types and references * further fix the types references and get build passing * update the process ops fn but needs to be extended by maxeb
* feat: implement EIP-6110 (#6042) * Add immutable in the dependencies * Initial change to pubkeyCache * Added todos * Moved unfinalized cache to epochCache * Move populating finalized cache to afterProcessEpoch * Specify unfinalized cache during state cloning * Move from unfinalized to finalized cache in afterProcessEpoch * Confused myself * Clean up * Change logic * Fix cloning issue * Clean up redundant code * Add CarryoverData in epochCtx.createFromState * Fix typo * Update usage of pubkeyCache * Update pubkeyCache usage * Fix lint * Fix lint * Add 6110 to ChainConfig * Add 6110 to BeaconPreset * Define 6110 fork and container * Add V6110 api to execution engine * Update test * Add depositReceiptsRoot to process_execution_payload * State transitioning to EIP6110 * State transitioning to EIP6110 * Light client change in EIP-6110 * Update tests * produceBlock * Refactor processDeposit to match the spec * Implement processDepositReceipt * Implement 6110 fork guard for pubkeyCache * Handle changes in eth1 deposit * Update eth1 deposit test * Fix typo * Lint * Remove embarassing comments * Address comments * Modify applyDeposit signature * Update packages/state-transition/src/cache/epochCache.ts Co-authored-by: Lion - dapplion <35266934+dapplion@users.noreply.github.com> * Update packages/state-transition/src/cache/epochCache.ts Co-authored-by: Lion - dapplion <35266934+dapplion@users.noreply.github.com> * Update packages/state-transition/src/cache/pubkeyCache.ts Co-authored-by: Lion - dapplion <35266934+dapplion@users.noreply.github.com> * Remove old code * Rename fields in epochCache and immutableData * Remove CarryoverData * Move isAfter6110 from var to method * Fix cyclic import * Fix operations spec runner * Fix for spec test * Fix spec test * state.depositReceiptsStartIndex to BigInt * getDeposit requires cached state * default depositReceiptsStartIndex value in genesis * Fix pubkeyCache bug * newUnfinalizedPubkeyIndexMap in createCachedBeaconState * Lint * Pass epochCache instead of pubkey2IndexFn in apis * Address comments * Add unit test on pubkey cache cloning * Add unfinalizedPubkeyCacheSize to metrics * Add unfinalizedPubkeyCacheSize to metrics * Clean up code * Add besu to el-interop * Add 6110 genesis file * Template for sim test * Add unit test for getEth1DepositCount * Update sim test * Update besudocker * Finish beacon api calls in sim test * Update epochCache.createFromState() * Fix bug unfinalized validators are not finalized * Add sim test to run a few blocks * Lint * Merge branch 'unstable' into 611 * Add more check to sim test * Update besu docker image instruction * Update sim test with correct tx * Address comment + cleanup * Clean up code * Properly handle promise rejection * Lint * Update packages/beacon-node/src/execution/engine/types.ts Co-authored-by: Lion - dapplion <35266934+dapplion@users.noreply.github.com> * Update comments * Accept type undefined in ExecutionPayloadBodyRpc * Update comment and semantic * Remove if statement when adding finalized validator * Comment on repeated insert on finalized cache * rename createFromState * Add comment on getPubkey() * Stash change to reduce diffs * Stash change to reduce diffs * Lint * addFinalizedPubkey on finalized checkpoint * Update comment * Use OrderedMap for unfinalized cache * Pull out logic of deleting pubkeys for batch op * Add updateUnfinalizedPubkeys in regen * Update updateUnfinalizedPubkeys logic * Add comment * Add metrics for state context caches * Address comment * Address comment * Deprecate eth1Data polling when condition is reached * Fix conflicts * Fix sim test * Lint * Fix type * Fix test * Fix test * Lint * Update packages/light-client/src/spec/utils.ts Co-authored-by: Lion - dapplion <35266934+dapplion@users.noreply.github.com> * Fix spec test * Address comments * Improve cache logic on checkpoint finalized * Update sim test according to new cache logic * Update comment * Lint * Finalized pubkey cache only update once per checkpoint * Add perf test for updateUnfinalizedPubkeys * Add perf test for updateUnfinalizedPubkeys * Tweak params for perf test * Freeze besu docker image version for 6110 * Add benchmark result * Use Map instead of OrderedMap. Update benchmark * Minor optimization * Minor optimization * Add memory test for immutable.js * Update test * Reduce code duplication * Lint * Remove try/catch in updateUnfinalizedPubkeys * Introduce EpochCache metric * Add historicalValidatorLengths * Polish code * Migrate state-transition unit tests to vitest * Fix calculation of pivot index * `historicalValidatorLengths` only activate post 6110 * Update sim test * Lint * Update packages/state-transition/src/cache/epochCache.ts Co-authored-by: Lion - dapplion <35266934+dapplion@users.noreply.github.com> * Improve readability on historicalValidatorLengths * Update types * Fix calculation * Add eth1data poll todo * Add epochCache.getValidatorCountAtEpoch * Add todo * Add getStateIterator for state cache * Partial commit * Update perf test * updateUnfinalizedPubkeys directly modify states from regen * Update sim test. Lint * Add todo * some improvements and a fix for effectiveBalanceIncrements fork safeness * rename eip6110 to elctra * fix electra-interop.test.ts --------- Co-authored-by: Lion - dapplion <35266934+dapplion@users.noreply.github.com> Co-authored-by: gajinder <develop@g11tech.io> lint and tsc small cleanup fix rebase issue * feat: implement EIP-6110 (#6042) * Add immutable in the dependencies * Initial change to pubkeyCache * Added todos * Moved unfinalized cache to epochCache * Move populating finalized cache to afterProcessEpoch * Specify unfinalized cache during state cloning * Move from unfinalized to finalized cache in afterProcessEpoch * Confused myself * Clean up * Change logic * Fix cloning issue * Clean up redundant code * Add CarryoverData in epochCtx.createFromState * Fix typo * Update usage of pubkeyCache * Update pubkeyCache usage * Fix lint * Fix lint * Add 6110 to ChainConfig * Add 6110 to BeaconPreset * Define 6110 fork and container * Add V6110 api to execution engine * Update test * Add depositReceiptsRoot to process_execution_payload * State transitioning to EIP6110 * State transitioning to EIP6110 * Light client change in EIP-6110 * Update tests * produceBlock * Refactor processDeposit to match the spec * Implement processDepositReceipt * Implement 6110 fork guard for pubkeyCache * Handle changes in eth1 deposit * Update eth1 deposit test * Fix typo * Lint * Remove embarassing comments * Address comments * Modify applyDeposit signature * Update packages/state-transition/src/cache/epochCache.ts Co-authored-by: Lion - dapplion <35266934+dapplion@users.noreply.github.com> * Update packages/state-transition/src/cache/epochCache.ts Co-authored-by: Lion - dapplion <35266934+dapplion@users.noreply.github.com> * Update packages/state-transition/src/cache/pubkeyCache.ts Co-authored-by: Lion - dapplion <35266934+dapplion@users.noreply.github.com> * Remove old code * Rename fields in epochCache and immutableData * Remove CarryoverData * Move isAfter6110 from var to method * Fix cyclic import * Fix operations spec runner * Fix for spec test * Fix spec test * state.depositReceiptsStartIndex to BigInt * getDeposit requires cached state * default depositReceiptsStartIndex value in genesis * Fix pubkeyCache bug * newUnfinalizedPubkeyIndexMap in createCachedBeaconState * Lint * Pass epochCache instead of pubkey2IndexFn in apis * Address comments * Add unit test on pubkey cache cloning * Add unfinalizedPubkeyCacheSize to metrics * Add unfinalizedPubkeyCacheSize to metrics * Clean up code * Add besu to el-interop * Add 6110 genesis file * Template for sim test * Add unit test for getEth1DepositCount * Update sim test * Update besudocker * Finish beacon api calls in sim test * Update epochCache.createFromState() * Fix bug unfinalized validators are not finalized * Add sim test to run a few blocks * Lint * Merge branch 'unstable' into 611 * Add more check to sim test * Update besu docker image instruction * Update sim test with correct tx * Address comment + cleanup * Clean up code * Properly handle promise rejection * Lint * Update packages/beacon-node/src/execution/engine/types.ts Co-authored-by: Lion - dapplion <35266934+dapplion@users.noreply.github.com> * Update comments * Accept type undefined in ExecutionPayloadBodyRpc * Update comment and semantic * Remove if statement when adding finalized validator * Comment on repeated insert on finalized cache * rename createFromState * Add comment on getPubkey() * Stash change to reduce diffs * Stash change to reduce diffs * Lint * addFinalizedPubkey on finalized checkpoint * Update comment * Use OrderedMap for unfinalized cache * Pull out logic of deleting pubkeys for batch op * Add updateUnfinalizedPubkeys in regen * Update updateUnfinalizedPubkeys logic * Add comment * Add metrics for state context caches * Address comment * Address comment * Deprecate eth1Data polling when condition is reached * Fix conflicts * Fix sim test * Lint * Fix type * Fix test * Fix test * Lint * Update packages/light-client/src/spec/utils.ts Co-authored-by: Lion - dapplion <35266934+dapplion@users.noreply.github.com> * Fix spec test * Address comments * Improve cache logic on checkpoint finalized * Update sim test according to new cache logic * Update comment * Lint * Finalized pubkey cache only update once per checkpoint * Add perf test for updateUnfinalizedPubkeys * Add perf test for updateUnfinalizedPubkeys * Tweak params for perf test * Freeze besu docker image version for 6110 * Add benchmark result * Use Map instead of OrderedMap. Update benchmark * Minor optimization * Minor optimization * Add memory test for immutable.js * Update test * Reduce code duplication * Lint * Remove try/catch in updateUnfinalizedPubkeys * Introduce EpochCache metric * Add historicalValidatorLengths * Polish code * Migrate state-transition unit tests to vitest * Fix calculation of pivot index * `historicalValidatorLengths` only activate post 6110 * Update sim test * Lint * Update packages/state-transition/src/cache/epochCache.ts Co-authored-by: Lion - dapplion <35266934+dapplion@users.noreply.github.com> * Improve readability on historicalValidatorLengths * Update types * Fix calculation * Add eth1data poll todo * Add epochCache.getValidatorCountAtEpoch * Add todo * Add getStateIterator for state cache * Partial commit * Update perf test * updateUnfinalizedPubkeys directly modify states from regen * Update sim test. Lint * Add todo * some improvements and a fix for effectiveBalanceIncrements fork safeness * rename eip6110 to elctra * fix electra-interop.test.ts --------- Co-authored-by: Lion - dapplion <35266934+dapplion@users.noreply.github.com> Co-authored-by: gajinder <develop@g11tech.io> lint and tsc small cleanup * Add presets * Update config * Add necessary containers * Update presets * Update config * Add todo comments * Update constants and params * Impl new process withdrawal * Add withdrawaRequests to payload * Add processConsolidation * Add process withdraw request * Update deposit and withdrawal flow * epoch processing * Implement churn limits * Lint * lint * Update state-transition utils * processExecutionLayerWithdrawRequest * processConsolidation * queueExcessActiveBalance * isValidDepositSignature * Add jsdoc and timer for new processEpoch functions * Lint * Update maxEB * update voluntary exit * Fix config * Update initiateValidatorExit * Remove churn limit in processRegistryUpdates * Fix conflict * Add MAX_WITHDRAWAL_REQUESTS_PER_PAYLOAD * Reflect latest spec changes * rebase fixes, fixes, improvements and cleanup lint * Upgrade ssz version * Use sliceFrom() * cleanup as per specs feedback subarry * simplify * fix withdrawals * remove slice * fix the slashing quotient determination in slashvalidator --------- Co-authored-by: harkamal <gajinder@g11.in>
* Process attestations in block * Fix check-types * Address comments
…of deposit receipts (#6746)
* initial commit * lint * Add getAttestingIndices and update getIndexedAttestation * Update gossip validation * Update attestation gossip validation * aggregateAndProof validation * clean up * Validator * Misc * Fix the build erros * feat: get attestations for electra block (#6732) * feat: getAttestationsForBlock() for electra * chore: fix lint * fix: MAX_ATTESTATIONS_PER_GROUP_ELECTRA and address PR comments * chore: unit test aggregateConsolidation * Fix rebase mistake * Address my own comment :) --------- Co-authored-by: Navie Chan <naviechan@gmail.com> * Fix check-types * Address comments --------- Co-authored-by: Nazar Hussain <nazarhussain@gmail.com> Co-authored-by: tuyennhv <tuyen@chainsafe.io> Co-authored-by: gajinder <develop@g11tech.io>
* feat: attestationPool to group by slot by data root by committee index for electra * fix: gossip validation and assert.notNull() util * fix: remove light-client stats.html * fix: lint and check-types
* Rename receipt to request * Remove stats.html
* initial commit * Update gossip validation * Update attestation gossip validation * aggregateAndProof validation * Extend spec runner to be more flexible * Add missing state attributes for electra * Fix ss data types for electra spec * Make the spec runner more flexible * Fix the bug in process attestation * Update the sepc test version * clean up * Misc * Fix the build erros * feat: get attestations for electra block (#6732) * feat: getAttestationsForBlock() for electra * chore: fix lint * fix: MAX_ATTESTATIONS_PER_GROUP_ELECTRA and address PR comments * chore: unit test aggregateConsolidation * Fix rebase mistake * Address my own comment :) --------- Co-authored-by: Navie Chan <naviechan@gmail.com> * Fix check-types * Address comments * Fix the build erros * Extend spec runner to be more flexible * Add missing state attributes for electra * Fix ss data types for electra spec * Make the spec runner more flexible * Fix the bug in process attestation * Update the sepc test version * Fix rebase issue * Update committee index count check --------- Co-authored-by: NC <adrninistrator1@protonmail.com> Co-authored-by: Navie Chan <naviechan@gmail.com> Co-authored-by: tuyennhv <tuyen@chainsafe.io>
Update spec version
Use mutable validator object
* fix: remove epochCache.balances and invalid MAX_EFFECTIVE_BALANCE check * fix: update rewardsAndPenalties balance updates * docs: add comment to check epochTransitionCache
…balance (#6780) Update eb cache at fork transition
fix lint and check-types
Fix publishing att with non-zero comm index
* fix attestation duty validation * Update packages/validator/src/services/validatorStore.ts Co-authored-by: twoeths <tuyen@chainsafe.io> * Update packages/validator/src/services/validatorStore.ts --------- Co-authored-by: twoeths <tuyen@chainsafe.io> Co-authored-by: Cayman <caymannava@gmail.com>
* fix: align BeaconBlockBody and BlindedBeaconBlockBody * Remove type hacks in test --------- Co-authored-by: Nico Flaig <nflaig@protonmail.com>
* test: improve ssz tests consistency * chore: address comments
* fix: get seen AttData key from SignedAggregateAndProof electra * chore: revert the naming change to COMMITTEE_BITS_SIZE and add comment * fix: add toBase64() util
* test: only skip ssz_static tests associated to missing type * More detailed error message if type is not defined
* Add ByHash and ByRange V2 * Fix build issue * Fix CI error
chore: fix bls and blst versioning fix: add ForkName.electra to ForkBlobsInfo some api header lookup fixes more api fixes make the api data safe Co-authored-by: matthewkeil <me@matthewkeil.com>
* Handle exiting validataor * lint * Add todo
…ix (#6865) * init commit * Add consolidation request * fix lint * Remove ExecutionLayer prefix * Address comment * Fix verification logic * lint * Add todo
* Update spec test version * Use new max effective balance * Relax loop breaking condition for `computeProposerIndex` * fix remaining * check-types & lint * Skip invalid test * Fix rebase + lint * Remove early return statement in `computeProposers` * Address comment * Address comment
lint & type fix lint
get the signing log
|
closing in favor of #6986 which will be merged into unstable when ready |
Uh oh!
There was an error while loading. Please reload this page.