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

Guarantee full spec tests coverage #4012

Merged
merged 5 commits into from
May 12, 2022
Merged

Conversation

dapplion
Copy link
Contributor

@dapplion dapplion commented May 11, 2022

Motivation

Our current spec tests infra does not guarantee that all spec tests are run. Current approach is:

  • Indicate which files to run
  • Hope all of them are covered

Many tests have slipped under the radar, putting the correctness of Lodestar at risk

Description

  • Declare test runners for all known tests (same logic as before)
  • Instead of running files on demand, a single entrypoint crawls the entire spec-tests directory attempting to run every single test. If there are new tests without a runner, the run will error.

Closes #3199

@dapplion dapplion requested a review from a team as a code owner May 11, 2022 16:01
@dapplion dapplion changed the title Dapplion/spec test full coverage Guarantee full spec tests coverage May 11, 2022
@codecov
Copy link

codecov bot commented May 11, 2022

Codecov Report

Merging #4012 (ad92bd9) into master (29a3789) will not change coverage.
The diff coverage is n/a.

❗ Current head ad92bd9 differs from pull request most recent head fc9643b. Consider uploading reports for the commit fc9643b to get more accurate results

@@           Coverage Diff           @@
##           master    #4012   +/-   ##
=======================================
  Coverage   36.83%   36.83%           
=======================================
  Files         324      324           
  Lines        9187     9187           
  Branches     1494     1494           
=======================================
  Hits         3384     3384           
  Misses       5612     5612           
  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: ad92bd9 Previous: 29a3789 Ratio
BeaconState.hashTreeRoot - No change 534.00 ns/op 423.00 ns/op 1.26
BeaconState.hashTreeRoot - 1 full validator 79.586 us/op 59.736 us/op 1.33
BeaconState.hashTreeRoot - 32 full validator 809.37 us/op 579.77 us/op 1.40
BeaconState.hashTreeRoot - 512 full validator 8.2465 ms/op 6.1105 ms/op 1.35
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 104.79 us/op 75.155 us/op 1.39
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.4315 ms/op 1.0483 ms/op 1.37
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 17.939 ms/op 13.484 ms/op 1.33
BeaconState.hashTreeRoot - 1 balances 75.853 us/op 56.145 us/op 1.35
BeaconState.hashTreeRoot - 32 balances 686.12 us/op 487.19 us/op 1.41
BeaconState.hashTreeRoot - 512 balances 6.4266 ms/op 4.7258 ms/op 1.36
BeaconState.hashTreeRoot - 250000 balances 135.72 ms/op 108.51 ms/op 1.25
processSlot - 1 slots 15.126 us/op 11.979 us/op 1.26
processSlot - 32 slots 2.2821 ms/op 1.7054 ms/op 1.34
getCommitteeAssignments - req 1 vs - 250000 vc 5.8314 ms/op 4.4705 ms/op 1.30
getCommitteeAssignments - req 100 vs - 250000 vc 8.2931 ms/op 6.6242 ms/op 1.25
getCommitteeAssignments - req 1000 vs - 250000 vc 8.9517 ms/op 7.2918 ms/op 1.23
computeProposers - vc 250000 20.798 ms/op 17.251 ms/op 1.21
computeEpochShuffling - vc 250000 171.88 ms/op 139.44 ms/op 1.23
getNextSyncCommittee - vc 250000 348.68 ms/op 283.18 ms/op 1.23
altair processAttestation - 250000 vs - 7PWei normalcase 4.5613 ms/op 3.5436 ms/op 1.29
altair processAttestation - 250000 vs - 7PWei worstcase 6.8242 ms/op 5.0200 ms/op 1.36
altair processAttestation - setStatus - 1/6 committees join 228.29 us/op 195.88 us/op 1.17
altair processAttestation - setStatus - 1/3 committees join 431.42 us/op 357.04 us/op 1.21
altair processAttestation - setStatus - 1/2 committees join 628.26 us/op 465.38 us/op 1.35
altair processAttestation - setStatus - 2/3 committees join 798.15 us/op 635.40 us/op 1.26
altair processAttestation - setStatus - 4/5 committees join 1.1346 ms/op 881.25 us/op 1.29
altair processAttestation - setStatus - 100% committees join 1.3513 ms/op 1.0176 ms/op 1.33
altair processBlock - 250000 vs - 7PWei normalcase 30.869 ms/op 22.982 ms/op 1.34
altair processBlock - 250000 vs - 7PWei normalcase hashState 43.539 ms/op 34.104 ms/op 1.28
altair processBlock - 250000 vs - 7PWei worstcase 100.73 ms/op 81.087 ms/op 1.24
altair processBlock - 250000 vs - 7PWei worstcase hashState 131.86 ms/op 93.206 ms/op 1.41
altair processEth1Data - 250000 vs - 7PWei normalcase 1.1278 ms/op 754.07 us/op 1.50
altair processEpoch - mainnet_e81889 649.39 ms/op 552.21 ms/op 1.18
mainnet_e81889 - altair beforeProcessEpoch 191.49 ms/op 134.62 ms/op 1.42
mainnet_e81889 - altair processJustificationAndFinalization 76.163 us/op 65.267 us/op 1.17
mainnet_e81889 - altair processInactivityUpdates 11.492 ms/op 10.521 ms/op 1.09
mainnet_e81889 - altair processRewardsAndPenalties 147.92 ms/op 81.009 ms/op 1.83
mainnet_e81889 - altair processRegistryUpdates 18.423 us/op 16.886 us/op 1.09
mainnet_e81889 - altair processSlashings 6.4730 us/op 5.6190 us/op 1.15
mainnet_e81889 - altair processEth1DataReset 6.3740 us/op 5.8500 us/op 1.09
mainnet_e81889 - altair processEffectiveBalanceUpdates 7.8783 ms/op 7.5281 ms/op 1.05
mainnet_e81889 - altair processSlashingsReset 23.942 us/op 19.648 us/op 1.22
mainnet_e81889 - altair processRandaoMixesReset 28.564 us/op 24.765 us/op 1.15
mainnet_e81889 - altair processHistoricalRootsUpdate 8.6200 us/op 8.5830 us/op 1.00
mainnet_e81889 - altair processParticipationFlagUpdates 19.155 us/op 15.680 us/op 1.22
mainnet_e81889 - altair processSyncCommitteeUpdates 5.4600 us/op 4.9450 us/op 1.10
mainnet_e81889 - altair afterProcessEpoch 203.64 ms/op 157.24 ms/op 1.30
altair processInactivityUpdates - 250000 normalcase 38.598 ms/op 45.965 ms/op 0.84
altair processInactivityUpdates - 250000 worstcase 33.549 ms/op 32.221 ms/op 1.04
altair processRewardsAndPenalties - 250000 normalcase 144.06 ms/op 78.056 ms/op 1.85
altair processRewardsAndPenalties - 250000 worstcase 128.49 ms/op 77.969 ms/op 1.65
altair processSyncCommitteeUpdates - 250000 355.27 ms/op 302.24 ms/op 1.18
Tree 40 250000 create 839.71 ms/op 668.10 ms/op 1.26
Tree 40 250000 get(125000) 347.18 ns/op 276.18 ns/op 1.26
Tree 40 250000 set(125000) 2.8304 us/op 2.2930 us/op 1.23
Tree 40 250000 toArray() 37.160 ms/op 30.560 ms/op 1.22
Tree 40 250000 iterate all - toArray() + loop 37.619 ms/op 30.916 ms/op 1.22
Tree 40 250000 iterate all - get(i) 140.90 ms/op 109.63 ms/op 1.29
MutableVector 250000 create 16.726 ms/op 14.309 ms/op 1.17
MutableVector 250000 get(125000) 14.845 ns/op 12.322 ns/op 1.20
MutableVector 250000 set(125000) 775.35 ns/op 608.03 ns/op 1.28
MutableVector 250000 toArray() 6.4047 ms/op 5.4893 ms/op 1.17
MutableVector 250000 iterate all - toArray() + loop 6.6680 ms/op 5.5334 ms/op 1.21
MutableVector 250000 iterate all - get(i) 3.7203 ms/op 2.8796 ms/op 1.29
Array 250000 create 6.0253 ms/op 5.1218 ms/op 1.18
Array 250000 clone - spread 2.9773 ms/op 2.4059 ms/op 1.24
Array 250000 get(125000) 1.3570 ns/op 1.1740 ns/op 1.16
Array 250000 set(125000) 1.4300 ns/op 1.1850 ns/op 1.21
Array 250000 iterate all - loop 156.13 us/op 124.93 us/op 1.25
effectiveBalanceIncrements clone Uint8Array 300000 322.57 us/op 112.11 us/op 2.88
effectiveBalanceIncrements clone MutableVector 300000 652.00 ns/op 503.00 ns/op 1.30
effectiveBalanceIncrements rw all Uint8Array 300000 211.02 us/op 165.19 us/op 1.28
effectiveBalanceIncrements rw all MutableVector 300000 206.63 ms/op 141.03 ms/op 1.47
aggregationBits - 2048 els - zipIndexesInBitList 27.828 us/op 18.991 us/op 1.47
regular array get 100000 times 62.643 us/op 44.582 us/op 1.41
wrappedArray get 100000 times 60.956 us/op 48.482 us/op 1.26
arrayWithProxy get 100000 times 42.302 ms/op 36.770 ms/op 1.15
ssz.Root.equals 520.00 ns/op 440.00 ns/op 1.18
byteArrayEquals 494.00 ns/op 429.00 ns/op 1.15
phase0 processBlock - 250000 vs - 7PWei normalcase 4.2637 ms/op 3.3045 ms/op 1.29
phase0 processBlock - 250000 vs - 7PWei worstcase 65.865 ms/op 42.875 ms/op 1.54
phase0 afterProcessEpoch - 250000 vs - 7PWei 198.04 ms/op 157.57 ms/op 1.26
phase0 beforeProcessEpoch - 250000 vs - 7PWei 80.344 ms/op 69.361 ms/op 1.16
phase0 processEpoch - mainnet_e58758 674.56 ms/op 475.42 ms/op 1.42
mainnet_e58758 - phase0 beforeProcessEpoch 262.14 ms/op 241.35 ms/op 1.09
mainnet_e58758 - phase0 processJustificationAndFinalization 75.191 us/op 77.332 us/op 0.97
mainnet_e58758 - phase0 processRewardsAndPenalties 82.953 ms/op 119.51 ms/op 0.69
mainnet_e58758 - phase0 processRegistryUpdates 39.058 us/op 37.369 us/op 1.05
mainnet_e58758 - phase0 processSlashings 6.9360 us/op 7.5850 us/op 0.91
mainnet_e58758 - phase0 processEth1DataReset 6.2840 us/op 6.0850 us/op 1.03
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 6.7673 ms/op 6.4856 ms/op 1.04
mainnet_e58758 - phase0 processSlashingsReset 22.657 us/op 20.232 us/op 1.12
mainnet_e58758 - phase0 processRandaoMixesReset 28.441 us/op 24.766 us/op 1.15
mainnet_e58758 - phase0 processHistoricalRootsUpdate 8.1590 us/op 7.3200 us/op 1.11
mainnet_e58758 - phase0 processParticipationRecordUpdates 23.686 us/op 23.262 us/op 1.02
mainnet_e58758 - phase0 afterProcessEpoch 172.64 ms/op 134.50 ms/op 1.28
phase0 processEffectiveBalanceUpdates - 250000 normalcase 7.7083 ms/op 6.0293 ms/op 1.28
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 8.0540 ms/op 6.4810 ms/op 1.24
phase0 processRegistryUpdates - 250000 normalcase 36.119 us/op 35.222 us/op 1.03
phase0 processRegistryUpdates - 250000 badcase_full_deposits 546.78 us/op 444.48 us/op 1.23
phase0 processRegistryUpdates - 250000 worstcase 0.5 252.59 ms/op 213.77 ms/op 1.18
phase0 getAttestationDeltas - 250000 normalcase 17.255 ms/op 12.671 ms/op 1.36
phase0 getAttestationDeltas - 250000 worstcase 16.854 ms/op 12.804 ms/op 1.32
phase0 processSlashings - 250000 worstcase 7.2544 ms/op 6.5595 ms/op 1.11
shuffle list - 16384 els 12.108 ms/op 9.3481 ms/op 1.30
shuffle list - 250000 els 170.82 ms/op 140.38 ms/op 1.22
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 634.56 us/op 364.02 us/op 1.74
pass gossip attestations to forkchoice per slot 5.2124 ms/op 3.7096 ms/op 1.41
computeDeltas 3.9456 ms/op 3.1936 ms/op 1.24
computeProposerBoostScoreFromBalances 514.68 us/op 402.52 us/op 1.28
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 2.0475 ms/op 2.1534 ms/op 0.95
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 87.055 us/op 68.823 us/op 1.26
BLS verify - blst-native 2.8761 ms/op 1.8708 ms/op 1.54
BLS verifyMultipleSignatures 3 - blst-native 5.9817 ms/op 3.9234 ms/op 1.52
BLS verifyMultipleSignatures 8 - blst-native 12.733 ms/op 8.1281 ms/op 1.57
BLS verifyMultipleSignatures 32 - blst-native 46.353 ms/op 29.367 ms/op 1.58
BLS aggregatePubkeys 32 - blst-native 63.136 us/op 39.690 us/op 1.59
BLS aggregatePubkeys 128 - blst-native 245.73 us/op 148.54 us/op 1.65
getAttestationsForBlock 69.662 ms/op 59.543 ms/op 1.17
CheckpointStateCache - add get delete 14.756 us/op 10.318 us/op 1.43
validate gossip signedAggregateAndProof - struct 6.6132 ms/op 3.9523 ms/op 1.67
validate gossip attestation - struct 3.1368 ms/op 1.9776 ms/op 1.59
pickEth1Vote - no votes 2.7285 ms/op 2.1054 ms/op 1.30
pickEth1Vote - max votes 21.617 ms/op 18.341 ms/op 1.18
pickEth1Vote - Eth1Data hashTreeRoot value x2048 15.192 ms/op 10.935 ms/op 1.39
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 24.941 ms/op 19.021 ms/op 1.31
pickEth1Vote - Eth1Data fastSerialize value x2048 2.1772 ms/op 1.4788 ms/op 1.47
pickEth1Vote - Eth1Data fastSerialize tree x2048 14.089 ms/op 12.426 ms/op 1.13
bytes32 toHexString 1.3830 us/op 948.00 ns/op 1.46
bytes32 Buffer.toString(hex) 842.00 ns/op 668.00 ns/op 1.26
bytes32 Buffer.toString(hex) from Uint8Array 1.0890 us/op 957.00 ns/op 1.14
bytes32 Buffer.toString(hex) + 0x 866.00 ns/op 671.00 ns/op 1.29
Object access 1 prop 0.47700 ns/op 0.32500 ns/op 1.47
Map access 1 prop 0.41000 ns/op 0.29400 ns/op 1.39
Object get x1000 17.421 ns/op 14.165 ns/op 1.23
Map get x1000 1.1390 ns/op 0.82100 ns/op 1.39
Object set x1000 114.15 ns/op 79.185 ns/op 1.44
Map set x1000 79.302 ns/op 61.041 ns/op 1.30
Return object 10000 times 0.45930 ns/op 0.34110 ns/op 1.35
Throw Error 10000 times 7.5736 us/op 5.5129 us/op 1.37
enrSubnets - fastDeserialize 64 bits 3.3320 us/op 2.4870 us/op 1.34
enrSubnets - ssz BitVector 64 bits 1.0120 us/op 735.00 ns/op 1.38
enrSubnets - fastDeserialize 4 bits 501.00 ns/op 349.00 ns/op 1.44
enrSubnets - ssz BitVector 4 bits 1.0030 us/op 671.00 ns/op 1.49
prioritizePeers score -10:0 att 32-0.1 sync 2-0 118.28 us/op 85.672 us/op 1.38
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 166.43 us/op 128.88 us/op 1.29
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 284.03 us/op 213.10 us/op 1.33
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 542.25 us/op 519.53 us/op 1.04
prioritizePeers score 0:0 att 64-1 sync 4-1 596.44 us/op 502.44 us/op 1.19
RateTracker 1000000 limit, 1 obj count per request 217.32 ns/op 161.04 ns/op 1.35
RateTracker 1000000 limit, 2 obj count per request 159.14 ns/op 114.34 ns/op 1.39
RateTracker 1000000 limit, 4 obj count per request 130.83 ns/op 104.96 ns/op 1.25
RateTracker 1000000 limit, 8 obj count per request 120.21 ns/op 93.177 ns/op 1.29
RateTracker with prune 4.9320 us/op 3.8160 us/op 1.29
array of 16000 items push then shift 5.6983 us/op 4.4775 us/op 1.27
LinkedList of 16000 items push then shift 20.790 ns/op 15.354 ns/op 1.35
array of 16000 items push then pop 235.09 ns/op 207.56 ns/op 1.13
LinkedList of 16000 items push then pop 20.076 ns/op 15.554 ns/op 1.29
array of 24000 items push then shift 8.2360 us/op 6.3963 us/op 1.29
LinkedList of 24000 items push then shift 20.401 ns/op 15.706 ns/op 1.30
array of 24000 items push then pop 227.19 ns/op 179.59 ns/op 1.27
LinkedList of 24000 items push then pop 19.607 ns/op 13.761 ns/op 1.42

by benchmarkbot/action

@dapplion dapplion merged commit 2ed2e03 into master May 12, 2022
@dapplion dapplion deleted the dapplion/spec-test-full-coverage branch May 12, 2022 01:52
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.

List of spec tests not covered by Lodestar
3 participants