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

Modify gossipsub params following consensus spec v1.1.10 #4011

Merged
merged 2 commits into from
May 19, 2022

Conversation

twoeths
Copy link
Contributor

@twoeths twoeths commented May 11, 2022

Motivation

Strictly follow consensus spec v1.1.10

Description

  • D params: same
  • heartbeatInterval: change from 1s to 0.7s
  • fanoutTTL: same
  • mcacheLength: change from 5 to 6
  • mcacheGossip: same
  • seenTTL: change from 5 minutes to 6.4 minutes (550 hearbeatInterval)

Closes #3865

TODO

  • Test on feature group

@codecov
Copy link

codecov bot commented May 11, 2022

Codecov Report

Merging #4011 (3e22b60) into master (7ddd9f5) will increase coverage by 0.00%.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #4011   +/-   ##
=======================================
  Coverage   36.80%   36.81%           
=======================================
  Files         325      325           
  Lines        9199     9200    +1     
  Branches     1496     1496           
=======================================
+ Hits         3386     3387    +1     
  Misses       5622     5622           
  Partials      191      191           

@github-actions
Copy link
Contributor

github-actions bot commented May 11, 2022

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: ac2d051 Previous: 7ddd9f5 Ratio
BeaconState.hashTreeRoot - No change 667.00 ns/op 392.00 ns/op 1.70
BeaconState.hashTreeRoot - 1 full validator 77.096 us/op 50.514 us/op 1.53
BeaconState.hashTreeRoot - 32 full validator 778.73 us/op 479.31 us/op 1.62
BeaconState.hashTreeRoot - 512 full validator 7.9281 ms/op 5.4464 ms/op 1.46
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 100.41 us/op 61.627 us/op 1.63
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.3410 ms/op 868.08 us/op 1.54
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 17.236 ms/op 12.372 ms/op 1.39
BeaconState.hashTreeRoot - 1 balances 71.468 us/op 47.948 us/op 1.49
BeaconState.hashTreeRoot - 32 balances 656.27 us/op 409.24 us/op 1.60
BeaconState.hashTreeRoot - 512 balances 5.9437 ms/op 4.1889 ms/op 1.42
BeaconState.hashTreeRoot - 250000 balances 130.53 ms/op 97.027 ms/op 1.35
processSlot - 1 slots 13.569 us/op 8.6990 us/op 1.56
processSlot - 32 slots 2.2330 ms/op 1.4801 ms/op 1.51
getCommitteeAssignments - req 1 vs - 250000 vc 5.4738 ms/op 4.6673 ms/op 1.17
getCommitteeAssignments - req 100 vs - 250000 vc 7.7767 ms/op 6.4828 ms/op 1.20
getCommitteeAssignments - req 1000 vs - 250000 vc 8.5751 ms/op 6.9473 ms/op 1.23
computeProposers - vc 250000 21.225 ms/op 15.510 ms/op 1.37
computeEpochShuffling - vc 250000 166.36 ms/op 144.48 ms/op 1.15
getNextSyncCommittee - vc 250000 357.22 ms/op 256.40 ms/op 1.39
altair processAttestation - 250000 vs - 7PWei normalcase 4.3376 ms/op 3.7136 ms/op 1.17
altair processAttestation - 250000 vs - 7PWei worstcase 6.4375 ms/op 5.1948 ms/op 1.24
altair processAttestation - setStatus - 1/6 committees join 217.93 us/op 177.39 us/op 1.23
altair processAttestation - setStatus - 1/3 committees join 399.04 us/op 342.51 us/op 1.17
altair processAttestation - setStatus - 1/2 committees join 561.98 us/op 470.16 us/op 1.20
altair processAttestation - setStatus - 2/3 committees join 744.30 us/op 604.41 us/op 1.23
altair processAttestation - setStatus - 4/5 committees join 1.0693 ms/op 835.79 us/op 1.28
altair processAttestation - setStatus - 100% committees join 1.2829 ms/op 990.52 us/op 1.30
altair processBlock - 250000 vs - 7PWei normalcase 30.422 ms/op 28.708 ms/op 1.06
altair processBlock - 250000 vs - 7PWei normalcase hashState 42.838 ms/op 36.481 ms/op 1.17
altair processBlock - 250000 vs - 7PWei worstcase 94.499 ms/op 76.735 ms/op 1.23
altair processBlock - 250000 vs - 7PWei worstcase hashState 141.39 ms/op 93.155 ms/op 1.52
altair processEth1Data - 250000 vs - 7PWei normalcase 1.0312 ms/op 913.62 us/op 1.13
altair processEpoch - mainnet_e81889 652.30 ms/op 551.05 ms/op 1.18
mainnet_e81889 - altair beforeProcessEpoch 110.58 ms/op 145.97 ms/op 0.76
mainnet_e81889 - altair processJustificationAndFinalization 67.044 us/op 25.791 us/op 2.60
mainnet_e81889 - altair processInactivityUpdates 12.707 ms/op 10.160 ms/op 1.25
mainnet_e81889 - altair processRewardsAndPenalties 159.69 ms/op 137.51 ms/op 1.16
mainnet_e81889 - altair processRegistryUpdates 12.242 us/op 3.6620 us/op 3.34
mainnet_e81889 - altair processSlashings 5.3750 us/op 965.00 ns/op 5.57
mainnet_e81889 - altair processEth1DataReset 4.9340 us/op 1.6300 us/op 3.03
mainnet_e81889 - altair processEffectiveBalanceUpdates 8.0959 ms/op 6.7390 ms/op 1.20
mainnet_e81889 - altair processSlashingsReset 16.632 us/op 6.2970 us/op 2.64
mainnet_e81889 - altair processRandaoMixesReset 23.305 us/op 8.0190 us/op 2.91
mainnet_e81889 - altair processHistoricalRootsUpdate 7.4180 us/op 1.3120 us/op 5.65
mainnet_e81889 - altair processParticipationFlagUpdates 14.658 us/op 3.4320 us/op 4.27
mainnet_e81889 - altair processSyncCommitteeUpdates 5.2110 us/op 1.2600 us/op 4.14
mainnet_e81889 - altair afterProcessEpoch 197.86 ms/op 165.40 ms/op 1.20
altair processInactivityUpdates - 250000 normalcase 40.742 ms/op 35.032 ms/op 1.16
altair processInactivityUpdates - 250000 worstcase 35.223 ms/op 29.061 ms/op 1.21
altair processRewardsAndPenalties - 250000 normalcase 147.09 ms/op 83.025 ms/op 1.77
altair processRewardsAndPenalties - 250000 worstcase 90.868 ms/op 114.11 ms/op 0.80
altair processSyncCommitteeUpdates - 250000 363.03 ms/op 263.40 ms/op 1.38
Tree 40 250000 create 1.0924 s/op 751.79 ms/op 1.45
Tree 40 250000 get(125000) 335.07 ns/op 255.78 ns/op 1.31
Tree 40 250000 set(125000) 3.7517 us/op 2.1836 us/op 1.72
Tree 40 250000 toArray() 36.917 ms/op 29.410 ms/op 1.26
Tree 40 250000 iterate all - toArray() + loop 37.223 ms/op 29.751 ms/op 1.25
Tree 40 250000 iterate all - get(i) 134.73 ms/op 99.894 ms/op 1.35
MutableVector 250000 create 19.971 ms/op 14.614 ms/op 1.37
MutableVector 250000 get(125000) 14.595 ns/op 11.595 ns/op 1.26
MutableVector 250000 set(125000) 849.73 ns/op 618.16 ns/op 1.37
MutableVector 250000 toArray() 7.1179 ms/op 6.4828 ms/op 1.10
MutableVector 250000 iterate all - toArray() + loop 7.3706 ms/op 6.8520 ms/op 1.08
MutableVector 250000 iterate all - get(i) 3.5765 ms/op 3.0423 ms/op 1.18
Array 250000 create 6.6437 ms/op 6.4719 ms/op 1.03
Array 250000 clone - spread 4.4768 ms/op 3.4849 ms/op 1.28
Array 250000 get(125000) 1.9130 ns/op 1.4480 ns/op 1.32
Array 250000 set(125000) 1.9530 ns/op 1.4690 ns/op 1.33
Array 250000 iterate all - loop 149.01 us/op 148.26 us/op 1.01
effectiveBalanceIncrements clone Uint8Array 300000 457.31 us/op 231.62 us/op 1.97
effectiveBalanceIncrements clone MutableVector 300000 751.00 ns/op 607.00 ns/op 1.24
effectiveBalanceIncrements rw all Uint8Array 300000 199.92 us/op 267.52 us/op 0.75
effectiveBalanceIncrements rw all MutableVector 300000 212.52 ms/op 154.05 ms/op 1.38
aggregationBits - 2048 els - zipIndexesInBitList 30.271 us/op 23.744 us/op 1.27
regular array get 100000 times 58.014 us/op 59.510 us/op 0.97
wrappedArray get 100000 times 58.521 us/op 59.720 us/op 0.98
arrayWithProxy get 100000 times 40.525 ms/op 30.885 ms/op 1.31
ssz.Root.equals 502.00 ns/op 425.00 ns/op 1.18
byteArrayEquals 509.00 ns/op 404.00 ns/op 1.26
phase0 processBlock - 250000 vs - 7PWei normalcase 4.2553 ms/op 3.2026 ms/op 1.33
phase0 processBlock - 250000 vs - 7PWei worstcase 63.730 ms/op 41.952 ms/op 1.52
phase0 afterProcessEpoch - 250000 vs - 7PWei 186.35 ms/op 156.99 ms/op 1.19
phase0 beforeProcessEpoch - 250000 vs - 7PWei 87.370 ms/op 105.20 ms/op 0.83
phase0 processEpoch - mainnet_e58758 596.40 ms/op 472.22 ms/op 1.26
mainnet_e58758 - phase0 beforeProcessEpoch 280.50 ms/op 222.59 ms/op 1.26
mainnet_e58758 - phase0 processJustificationAndFinalization 68.570 us/op 25.382 us/op 2.70
mainnet_e58758 - phase0 processRewardsAndPenalties 137.86 ms/op 71.276 ms/op 1.93
mainnet_e58758 - phase0 processRegistryUpdates 32.282 us/op 12.899 us/op 2.50
mainnet_e58758 - phase0 processSlashings 4.9820 us/op 1.4060 us/op 3.54
mainnet_e58758 - phase0 processEth1DataReset 4.7320 us/op 1.7380 us/op 2.72
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 6.8313 ms/op 4.8259 ms/op 1.42
mainnet_e58758 - phase0 processSlashingsReset 16.737 us/op 7.1220 us/op 2.35
mainnet_e58758 - phase0 processRandaoMixesReset 21.553 us/op 7.8460 us/op 2.75
mainnet_e58758 - phase0 processHistoricalRootsUpdate 6.1890 us/op 1.5980 us/op 3.87
mainnet_e58758 - phase0 processParticipationRecordUpdates 21.898 us/op 6.9420 us/op 3.15
mainnet_e58758 - phase0 afterProcessEpoch 164.78 ms/op 139.88 ms/op 1.18
phase0 processEffectiveBalanceUpdates - 250000 normalcase 7.3402 ms/op 5.6028 ms/op 1.31
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 7.4277 ms/op 6.0906 ms/op 1.22
phase0 processRegistryUpdates - 250000 normalcase 24.575 us/op 9.9810 us/op 2.46
phase0 processRegistryUpdates - 250000 badcase_full_deposits 562.17 us/op 369.46 us/op 1.52
phase0 processRegistryUpdates - 250000 worstcase 0.5 250.62 ms/op 229.32 ms/op 1.09
phase0 getAttestationDeltas - 250000 normalcase 17.997 ms/op 14.806 ms/op 1.22
phase0 getAttestationDeltas - 250000 worstcase 15.947 ms/op 14.926 ms/op 1.07
phase0 processSlashings - 250000 worstcase 6.8437 ms/op 4.9005 ms/op 1.40
shuffle list - 16384 els 11.213 ms/op 9.4326 ms/op 1.19
shuffle list - 250000 els 162.81 ms/op 136.71 ms/op 1.19
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 453.81 us/op 858.26 us/op 0.53
pass gossip attestations to forkchoice per slot 4.4261 ms/op 3.1819 ms/op 1.39
computeDeltas 3.7165 ms/op 3.1013 ms/op 1.20
computeProposerBoostScoreFromBalances 486.70 us/op 445.95 us/op 1.09
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 2.4046 ms/op 2.2607 ms/op 1.06
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 84.469 us/op 67.894 us/op 1.24
BLS verify - blst-native 2.7210 ms/op 1.6391 ms/op 1.66
BLS verifyMultipleSignatures 3 - blst-native 5.6897 ms/op 3.3763 ms/op 1.69
BLS verifyMultipleSignatures 8 - blst-native 12.218 ms/op 7.2232 ms/op 1.69
BLS verifyMultipleSignatures 32 - blst-native 43.999 ms/op 26.179 ms/op 1.68
BLS aggregatePubkeys 32 - blst-native 59.483 us/op 35.242 us/op 1.69
BLS aggregatePubkeys 128 - blst-native 233.79 us/op 135.63 us/op 1.72
getAttestationsForBlock 68.359 ms/op 58.228 ms/op 1.17
CheckpointStateCache - add get delete 14.020 us/op 9.8050 us/op 1.43
validate gossip signedAggregateAndProof - struct 6.2738 ms/op 3.7654 ms/op 1.67
validate gossip attestation - struct 3.0246 ms/op 1.8090 ms/op 1.67
altair verifyImport mainnet_s3766816:31 8.5209 s/op 5.5597 s/op 1.53
pickEth1Vote - no votes 2.6596 ms/op 2.1400 ms/op 1.24
pickEth1Vote - max votes 28.658 ms/op 26.402 ms/op 1.09
pickEth1Vote - Eth1Data hashTreeRoot value x2048 15.475 ms/op 11.320 ms/op 1.37
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 25.915 ms/op 23.025 ms/op 1.13
pickEth1Vote - Eth1Data fastSerialize value x2048 1.9918 ms/op 1.5377 ms/op 1.30
pickEth1Vote - Eth1Data fastSerialize tree x2048 18.858 ms/op 18.166 ms/op 1.04
bytes32 toHexString 1.3000 us/op 998.00 ns/op 1.30
bytes32 Buffer.toString(hex) 816.00 ns/op 677.00 ns/op 1.21
bytes32 Buffer.toString(hex) from Uint8Array 1.2510 us/op 898.00 ns/op 1.39
bytes32 Buffer.toString(hex) + 0x 800.00 ns/op 703.00 ns/op 1.14
Object access 1 prop 0.38600 ns/op 0.34300 ns/op 1.13
Map access 1 prop 0.35000 ns/op 0.26600 ns/op 1.32
Object get x1000 18.007 ns/op 15.596 ns/op 1.15
Map get x1000 0.97000 ns/op 0.89200 ns/op 1.09
Object set x1000 107.51 ns/op 113.96 ns/op 0.94
Map set x1000 77.089 ns/op 69.172 ns/op 1.11
Return object 10000 times 0.42380 ns/op 0.33210 ns/op 1.28
Throw Error 10000 times 7.2369 us/op 5.2093 us/op 1.39
enrSubnets - fastDeserialize 64 bits 3.0840 us/op 2.7690 us/op 1.11
enrSubnets - ssz BitVector 64 bits 1.0120 us/op 767.00 ns/op 1.32
enrSubnets - fastDeserialize 4 bits 443.00 ns/op 412.00 ns/op 1.08
enrSubnets - ssz BitVector 4 bits 1.0020 us/op 757.00 ns/op 1.32
prioritizePeers score -10:0 att 32-0.1 sync 2-0 108.29 us/op 89.670 us/op 1.21
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 163.81 us/op 109.67 us/op 1.49
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 274.14 us/op 202.92 us/op 1.35
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 568.83 us/op 430.02 us/op 1.32
prioritizePeers score 0:0 att 64-1 sync 4-1 636.43 us/op 405.03 us/op 1.57
RateTracker 1000000 limit, 1 obj count per request 212.30 ns/op 184.99 ns/op 1.15
RateTracker 1000000 limit, 2 obj count per request 160.92 ns/op 140.06 ns/op 1.15
RateTracker 1000000 limit, 4 obj count per request 127.06 ns/op 108.77 ns/op 1.17
RateTracker 1000000 limit, 8 obj count per request 114.32 ns/op 103.35 ns/op 1.11
RateTracker with prune 4.6450 us/op 4.5090 us/op 1.03
array of 16000 items push then shift 5.4335 us/op 2.7867 us/op 1.95
LinkedList of 16000 items push then shift 29.278 ns/op 23.590 ns/op 1.24
array of 16000 items push then pop 240.71 ns/op 207.32 ns/op 1.16
LinkedList of 16000 items push then pop 23.787 ns/op 18.918 ns/op 1.26
array of 24000 items push then shift 8.4186 us/op 3.9963 us/op 2.11
LinkedList of 24000 items push then shift 29.290 ns/op 24.269 ns/op 1.21
array of 24000 items push then pop 213.69 ns/op 177.98 ns/op 1.20
LinkedList of 24000 items push then pop 22.953 ns/op 19.005 ns/op 1.21

by benchmarkbot/action

@@ -94,6 +94,8 @@ export class Eth2Gossipsub extends Gossipsub {

const scoreParams = computeGossipPeerScoreParams(modules);

const heartbeatInterval = 0.7 * 1000;
Copy link
Contributor

Choose a reason for hiding this comment

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

This should be a constant at the top in all caps, with a link to the spec page that defines it

@twoeths
Copy link
Contributor Author

twoeths commented May 17, 2022

All of the metrics are the same to master, specifically:

  • Lodestar cpu percentage (since gossipsub computeScore() may run more frequently)
  • Average gossipsub score
  • Number of mesh peer threshold

@twoeths twoeths marked this pull request as ready for review May 17, 2022 08:37
@twoeths twoeths requested a review from a team as a code owner May 17, 2022 08:37
@twoeths twoeths requested a review from dapplion May 17, 2022 12:12
@wemeetagain wemeetagain merged commit b6e0dc2 into master May 19, 2022
@wemeetagain wemeetagain deleted the tuyen/gossipsub-params branch May 19, 2022 16:42
dapplion added a commit that referenced this pull request May 30, 2022
* New metric filtering missed blocks (#3927)

* Log block delay second

* Add elappsedTimeTillBecomeHead metric

* Add 'till become head' metric to dashboard

* chore: correct the metric name to elapsedTimeTillBecomeHead

* Add and use secFromSlot to clock

* Track block source

* Revert "Track block source"

This reverts commit 5fe6220.

* Update bucket values

* Limit how old blocks are tracked in elapsedTimeTillBecomeHead

* Simplify secFromSlot

Co-authored-by: dapplion <35266934+dapplion@users.noreply.github.com>

* Fix the terminal validations of the merge block (#3984)

* Fix the terminal validations of the merge block

* activate merge transition block spec tests

* some comments to explain the merge block validations movement

* Extend error messages when voluntary exit errors because of present of lockfile (#3935)

* Extend error and Clean up

* Only showing the message to use --force to override in case of voluntary exit

* Simplify gitData and version guessing (#3992)

Don't print double slash in version string

Dont add git-data.json to NPM releases

Write git-data.json only in from source docker build

Remove numCommits

Test git-data.json generation from within the test

Move comment

Revert "Dont add git-data.json to NPM releases"

This reverts commit 5fe2d38.

Simplify gitData and version guessing

Run cmd

* Activate ex-ante fork-choice spec tests (#4003)

* Prepare custom version on next release (#3990)

* Prepare custom version on next release

* Test in branch

* Don't set version in advance

* Remove --canary flag

* Change and commit version

* Setup git config

* Revert temp changes

* Lightclient e2e: increase validator client (#4006)

* Bump to v0.37.0 nightly builds (#4013)

* Guarantee full spec tests coverage (#4012)

* Ensure all spec tests are run

* Fix general bls tests

* Improve docs of specTestIterator

* Fix fork_choice tests

* Remove Check spec tests step

* Add merge transition/finalization banners (#3963)

* Add merge transition/finalization banners

* fix signatures

* Benchmark initial sync (#3995)

* Basic range sync perf test

* Benchmark initial sync

* Add INFURA_ETH2_CREDENTIALS to benchmark GA

* Download test cache file from alternative source

* Re-org beforeValue and testCase helpers

* Break light-client - state-transition test dependency

* Revert adding downloadTestCacheFile

* Download files from a Github release

* Clarify #3977 with unbounded uint issue (#4018)

* Update mainnet-shadow-5 configs (#4021)

* Bump moment from 2.29.1 to 2.29.2 (#3901)

Bumps [moment](https://github.com/moment/moment) from 2.29.1 to 2.29.2.
- [Release notes](https://github.com/moment/moment/releases)
- [Changelog](https://github.com/moment/moment/blob/develop/CHANGELOG.md)
- [Commits](moment/moment@2.29.1...2.29.2)

---
updated-dependencies:
- dependency-name: moment
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Implement support for validator next-epoch proposer duties (#3782)

* Implementation to be able to get block proposer an epoch ahead - still need optimization

* revert changes made to waitForSlot

* caching the results of computing future proposers. Also extended test

* using effectiveBalanceIncrements from state instead of recomputing it

* fix lint errors

* revert check not needed in getBeaconProposer

* Update tests to include assertion messages

* Move caching of next proposer duties to BeaconChain class

* Delete the block proposer previously cached when next proposer was requested at current epoch

* moved next epoch proposers from the chain to the state

* Compute next proposer on demand and cache

* Fix lint errors

* update implementation to work with changes from master

* caching epoch seed in context so that getNextEpochBeaconProposer can be independent of state

* Revert "caching epoch seed in context so that getNextEpochBeaconProposer can be independent of state"

This reverts commit 02a722a.

* caching epoch seed in context so that getNextEpochBeaconProposer can be independent of state

* removing the need to delete from nextEpochProposers in call to getBeaconProposer

* no need to recompute currrentProposerSeed again

* Revert "no need to recompute currrentProposerSeed again"

This reverts commit b6b1b8c.

* removed empty file left after fixing merge conflicts

* remove some unnecessary variable from the epoch context.

* add some comments

* Fix lint

* import from the right location

* Review PR

* Merge imports

* Delete get proposers api impl test

* Remove duplicated comment

Co-authored-by: dapplion <35266934+dapplion@users.noreply.github.com>

* Extend timeout for gitData unit test (#4026)

* Fix readAndGetGitData (#4025)

* Ensure light client update is in a single period (#4029)

* Handle merge block fetch error (#4016)

* Handle merge block fetch error

* Log errors on fetch errors for terminal pow

* docs: Update nodeJS minimum requirement (#4037)

* Remove child_process call in gitData before step (#4033)

* Oppool aggregates use BitArray only for set logic (#4034)

* Use BitArrays for aggregate merging

* Test intersectUint8Arrays

* Review PR

* Update tests

* Remove un-used code

* Modify gossipsub params following consensus spec v1.1.10 (#4011)

* Modify gossipsub params following consensus spec v1.1.10

* Specify GOSSIPSUB_HEARTBEAT_INTERVAL as a constant

* Throw a more informative error on invalid keystore (#4022)

* Throw a more informative error on invalid keystore

* Make error more descriptive

* Use template string

* Update keys.ts

* Update keys.ts

Co-authored-by: Lion - dapplion <35266934+dapplion@users.noreply.github.com>

* Ignore gossip AggregateAndProof if aggregate is seen (#4019)

* Ignore gossip AggregateAndProof if aggregate is seen

* Check for non-strict superset of seen attestation data

* Fix validateGossipAggregateAndProof benchmark test

* Fix import

* Ultilize intersectUint8Arrays()

* Implement SeenContributionAndProof.participantsKnown

* Add metrics to seen cache

* Add perf tests

* Change method name to isSuperSetOrEqual()

* Refactor metric names

* Specify lerna exact version for release-nightly workflow (#4049)

* Add ropsten network (#4051)

* Force all packages to be versioned for exact (#4052)

* Update discv5 to v0.7.1 (#4044)

* Add ability to update the fee recipient for execution via beacon and/or validator defaults (#3958)

* Add and use a default fee recipient for a validator process

* transfer the proposer cache to beacon chain

* mock chain fixes

* test and perf fixes

* fee recipient validation change

* track and use free recipient as string instead of ExecutionAddress

* fix unit test

* fix merge test

* use dummy address

* refac and add proposer cache pruning

* tests for beacon proposer cache

* merge interop fee recipient check

* fix the optional

* feeRecipient confirmation and small refac

* add the missing map

* add flag to enable strict fee recipient check

* Small refactor to setup merge for ropsten using baked in configs (#4053)

* Issue advance fcU for builing the EL block (#3965)

rebaseing to the refactored prepare beacon proposer

refac payload id cache as separate class and add pruning

issue payload fcus if synced

rename issueNext.. to maybeIssueNext...

* Simplify release process (#4030)

* Simplify release process

* Remove old postrelease script

* Add lerna version check

* Tweak RELEASE.md

* Add force-publish to lerna version command

* Update the proposer boost percentage to 40% (#4055)

* ESM Support (#3978)

* ESM changes

* Fix root lodestar script

* Fix some linter errors

* trying directly re-exporting under an alias from networks module

* Fix types exports

* Fix more linter errors

* Fix spec test download

* Update bls to 7.1.0

* Fix spec tests

* temp reverting eslint parser option to 10 and disabling the check of .js file extenstion. Should fix lint errors

* temp commented out file-extension-in-import

* Disable readme checks

* Fix check-build

* Fix params e2e tests

* Bump @chainsafe/threads

* Bump bls to v7.1.1

* Add timeouts after node initialization but before sim test run

* Tweak timeouts

* Tweak timeout

* Tweak sim merge timeout

* Tweak sim merge timeout

* Tweak sim merge timeout

* Tweak sim merge timeout

* Add more timeouts

* Add another timeout

* Fix linter errors

* Fix some tests

* Fix some linter errors and spec tests

* Fix benchmarks

* Fix linter errors

* Update each bls dependency

* Tweak timeouts

* Add another timeout

* More timeouts

* Fix bls pool size

* Set root package.json to ESM

* Remove old linter comment

* Revert "Set root package.json to ESM"

This reverts commit 347b0fd.

* Remove stray file (probably old)

* Undo unnecessary diff

* Add comment on __dirname replacement

* Import type @chainsafe/bls/types

* Use lodestar path imports

* Revert multifork to lodestar package

* Format .mocharc.yaml

* Use same @chainsafe/as-sha256 version

* Fix lodash path imports

* Use src instead of lib

* Load db metrics

* Remove experimental-specifier-resolution

* Remove lodestat/chain export

* Add stray missing file extension

* Revert ValidatorDir changes

* Fix stray missing file extensions

* Fix check-types

Co-authored-by: Dadepo Aderemi <dadepo@gmail.com>
Co-authored-by: dapplion <35266934+dapplion@users.noreply.github.com>

* chore(release): v0.37.0-beta.0

* Bump to v0.37.0

Co-authored-by: tuyennhv <vutuyen2636@gmail.com>
Co-authored-by: g11tech <76567250+g11tech@users.noreply.github.com>
Co-authored-by: dadepo <dadepo@gmail.com>
Co-authored-by: Cayman <caymannava@gmail.com>
Co-authored-by: Phil Ngo <58080811+philknows@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: g11tech <gajinder@g11.in>
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.

Apply Gossipsub Params from the spec
3 participants