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

Simplify release process #4030

Merged
merged 5 commits into from
May 24, 2022
Merged

Simplify release process #4030

merged 5 commits into from
May 24, 2022

Conversation

wemeetagain
Copy link
Member

@wemeetagain wemeetagain commented May 17, 2022

Motivation

The release process was slightly error-prone and more tedious than necessary.

Description

  • Add a release script with basic sanity checking, tagging, and pushing the tag.
  • Update RELEASE.md to include usage.

The script automates the steps of "releasing" lodestar.

  • optionally, bumping the version in package.jsons
  • tag a specific commit
  • push the tag to github

It ensures the following sanity checks:

  • the tag follows the convention v#.#.# or v#.#.#-beta.# (eg: v0.36.1 or v0.36.1-beta.0)
  • the tag matches an existing branch v#.#.x
  • the commit exists in the branch v#.#.x
  • the user is prompted before continuing to the final step
  • if the lerna.json matches the tag, the tag and push is performed manually using git
  • if the lerna.json doesn't match the tag, lerna version is used

Common usage:

  • If beta release:
    • Checkout version branch (eg: v0.36.x)
    • Cherrypick patch commits on top
    • Run release script (eg: yarn release -t v0.36.1-beta.0)
  • If non-beta release
    • Checkout version branch (eg: v0.36.x)
    • Ensure the checked out branch is the one to release
    • Run release script (eg: yarn release -t v0.36.1)

@wemeetagain wemeetagain requested a review from a team as a code owner May 17, 2022 18:57
@codecov
Copy link

codecov bot commented May 17, 2022

Codecov Report

Merging #4030 (b6b4f12) into master (871ea9a) will decrease coverage by 1.26%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #4030      +/-   ##
==========================================
- Coverage   36.79%   35.52%   -1.27%     
==========================================
  Files         325      332       +7     
  Lines        9203    10043     +840     
  Branches     1500     1704     +204     
==========================================
+ Hits         3386     3568     +182     
- Misses       5626     6274     +648     
- Partials      191      201      +10     

@github-actions
Copy link
Contributor

github-actions bot commented May 17, 2022

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: aff7833 Previous: 3b84bc3 Ratio
BeaconState.hashTreeRoot - No change 434.00 ns/op 586.00 ns/op 0.74
BeaconState.hashTreeRoot - 1 full validator 54.805 us/op 74.292 us/op 0.74
BeaconState.hashTreeRoot - 32 full validator 537.97 us/op 761.68 us/op 0.71
BeaconState.hashTreeRoot - 512 full validator 5.9892 ms/op 7.5701 ms/op 0.79
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 68.500 us/op 95.189 us/op 0.72
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 948.63 us/op 1.3148 ms/op 0.72
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 13.829 ms/op 17.375 ms/op 0.80
BeaconState.hashTreeRoot - 1 balances 54.403 us/op 69.831 us/op 0.78
BeaconState.hashTreeRoot - 32 balances 463.32 us/op 610.79 us/op 0.76
BeaconState.hashTreeRoot - 512 balances 4.5844 ms/op 5.6198 ms/op 0.82
BeaconState.hashTreeRoot - 250000 balances 97.985 ms/op 123.09 ms/op 0.80
processSlot - 1 slots 10.837 us/op 14.888 us/op 0.73
processSlot - 32 slots 1.6060 ms/op 2.2003 ms/op 0.73
getCommitteeAssignments - req 1 vs - 250000 vc 5.2910 ms/op 5.1874 ms/op 1.02
getCommitteeAssignments - req 100 vs - 250000 vc 7.3366 ms/op 7.2193 ms/op 1.02
getCommitteeAssignments - req 1000 vs - 250000 vc 7.8314 ms/op 8.0780 ms/op 0.97
computeProposers - vc 250000 17.124 ms/op 19.434 ms/op 0.88
computeEpochShuffling - vc 250000 158.80 ms/op 153.39 ms/op 1.04
getNextSyncCommittee - vc 250000 282.86 ms/op 318.42 ms/op 0.89
altair processAttestation - 250000 vs - 7PWei normalcase 4.1437 ms/op 4.5370 ms/op 0.91
altair processAttestation - 250000 vs - 7PWei worstcase 5.8978 ms/op 6.6218 ms/op 0.89
altair processAttestation - setStatus - 1/6 committees join 198.35 us/op 211.72 us/op 0.94
altair processAttestation - setStatus - 1/3 committees join 381.27 us/op 392.13 us/op 0.97
altair processAttestation - setStatus - 1/2 committees join 525.96 us/op 571.83 us/op 0.92
altair processAttestation - setStatus - 2/3 committees join 680.77 us/op 726.89 us/op 0.94
altair processAttestation - setStatus - 4/5 committees join 938.12 us/op 1.0476 ms/op 0.90
altair processAttestation - setStatus - 100% committees join 1.1155 ms/op 1.2226 ms/op 0.91
altair processBlock - 250000 vs - 7PWei normalcase 24.728 ms/op 30.722 ms/op 0.80
altair processBlock - 250000 vs - 7PWei normalcase hashState 38.087 ms/op 39.454 ms/op 0.97
altair processBlock - 250000 vs - 7PWei worstcase 78.884 ms/op 89.055 ms/op 0.89
altair processBlock - 250000 vs - 7PWei worstcase hashState 98.421 ms/op 132.52 ms/op 0.74
altair processEth1Data - 250000 vs - 7PWei normalcase 1.0353 ms/op 999.93 us/op 1.04
altair processEpoch - mainnet_e81889 558.34 ms/op 598.87 ms/op 0.93
mainnet_e81889 - altair beforeProcessEpoch 159.82 ms/op 162.35 ms/op 0.98
mainnet_e81889 - altair processJustificationAndFinalization 22.642 us/op 64.530 us/op 0.35
mainnet_e81889 - altair processInactivityUpdates 11.329 ms/op 11.448 ms/op 0.99
mainnet_e81889 - altair processRewardsAndPenalties 130.76 ms/op 142.85 ms/op 0.92
mainnet_e81889 - altair processRegistryUpdates 3.3930 us/op 21.358 us/op 0.16
mainnet_e81889 - altair processSlashings 961.00 ns/op 7.8470 us/op 0.12
mainnet_e81889 - altair processEth1DataReset 1.1460 us/op 6.7990 us/op 0.17
mainnet_e81889 - altair processEffectiveBalanceUpdates 7.5126 ms/op 7.6333 ms/op 0.98
mainnet_e81889 - altair processSlashingsReset 5.0740 us/op 21.112 us/op 0.24
mainnet_e81889 - altair processRandaoMixesReset 6.3610 us/op 29.576 us/op 0.22
mainnet_e81889 - altair processHistoricalRootsUpdate 1.2810 us/op 11.160 us/op 0.11
mainnet_e81889 - altair processParticipationFlagUpdates 2.8940 us/op 16.169 us/op 0.18
mainnet_e81889 - altair processSyncCommitteeUpdates 948.00 ns/op 5.5480 us/op 0.17
mainnet_e81889 - altair afterProcessEpoch 183.41 ms/op 183.92 ms/op 1.00
altair processInactivityUpdates - 250000 normalcase 32.655 ms/op 36.751 ms/op 0.89
altair processInactivityUpdates - 250000 worstcase 26.773 ms/op 32.884 ms/op 0.81
altair processRewardsAndPenalties - 250000 normalcase 131.63 ms/op 124.94 ms/op 1.05
altair processRewardsAndPenalties - 250000 worstcase 83.412 ms/op 86.608 ms/op 0.96
altair processSyncCommitteeUpdates - 250000 292.74 ms/op 334.97 ms/op 0.87
Tree 40 250000 create 887.85 ms/op 1.0280 s/op 0.86
Tree 40 250000 get(125000) 294.71 ns/op 305.57 ns/op 0.96
Tree 40 250000 set(125000) 2.8861 us/op 3.5117 us/op 0.82
Tree 40 250000 toArray() 32.993 ms/op 35.119 ms/op 0.94
Tree 40 250000 iterate all - toArray() + loop 35.739 ms/op 35.044 ms/op 1.02
Tree 40 250000 iterate all - get(i) 109.18 ms/op 130.32 ms/op 0.84
MutableVector 250000 create 14.570 ms/op 19.467 ms/op 0.75
MutableVector 250000 get(125000) 14.755 ns/op 13.524 ns/op 1.09
MutableVector 250000 set(125000) 547.03 ns/op 855.64 ns/op 0.64
MutableVector 250000 toArray() 6.5549 ms/op 7.0921 ms/op 0.92
MutableVector 250000 iterate all - toArray() + loop 6.9227 ms/op 7.3633 ms/op 0.94
MutableVector 250000 iterate all - get(i) 3.4462 ms/op 3.8563 ms/op 0.89
Array 250000 create 6.2923 ms/op 6.2165 ms/op 1.01
Array 250000 clone - spread 2.6613 ms/op 4.1830 ms/op 0.64
Array 250000 get(125000) 1.1970 ns/op 1.7890 ns/op 0.67
Array 250000 set(125000) 1.2070 ns/op 1.8480 ns/op 0.65
Array 250000 iterate all - loop 169.06 us/op 139.81 us/op 1.21
effectiveBalanceIncrements clone Uint8Array 300000 86.770 us/op 140.61 us/op 0.62
effectiveBalanceIncrements clone MutableVector 300000 852.00 ns/op 711.00 ns/op 1.20
effectiveBalanceIncrements rw all Uint8Array 300000 301.88 us/op 194.68 us/op 1.55
effectiveBalanceIncrements rw all MutableVector 300000 185.30 ms/op 203.23 ms/op 0.91
aggregationBits - 2048 els - zipIndexesInBitList 28.417 us/op 26.686 us/op 1.06
regular array get 100000 times 67.438 us/op 53.273 us/op 1.27
wrappedArray get 100000 times 67.458 us/op 54.602 us/op 1.24
arrayWithProxy get 100000 times 29.652 ms/op 40.234 ms/op 0.74
ssz.Root.equals 486.00 ns/op 499.00 ns/op 0.97
byteArrayEquals 477.00 ns/op 504.00 ns/op 0.95
phase0 processBlock - 250000 vs - 7PWei normalcase 3.7129 ms/op 4.2417 ms/op 0.88
phase0 processBlock - 250000 vs - 7PWei worstcase 46.266 ms/op 62.347 ms/op 0.74
phase0 afterProcessEpoch - 250000 vs - 7PWei 175.95 ms/op 179.68 ms/op 0.98
phase0 beforeProcessEpoch - 250000 vs - 7PWei 102.23 ms/op 72.988 ms/op 1.40
phase0 processEpoch - mainnet_e58758 526.69 ms/op 561.31 ms/op 0.94
mainnet_e58758 - phase0 beforeProcessEpoch 231.99 ms/op 267.40 ms/op 0.87
mainnet_e58758 - phase0 processJustificationAndFinalization 24.033 us/op 77.351 us/op 0.31
mainnet_e58758 - phase0 processRewardsAndPenalties 140.91 ms/op 141.82 ms/op 0.99
mainnet_e58758 - phase0 processRegistryUpdates 10.075 us/op 32.823 us/op 0.31
mainnet_e58758 - phase0 processSlashings 1.1060 us/op 6.5760 us/op 0.17
mainnet_e58758 - phase0 processEth1DataReset 974.00 ns/op 5.7240 us/op 0.17
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 5.8732 ms/op 6.5416 ms/op 0.90
mainnet_e58758 - phase0 processSlashingsReset 4.3130 us/op 20.129 us/op 0.21
mainnet_e58758 - phase0 processRandaoMixesReset 6.1580 us/op 24.739 us/op 0.25
mainnet_e58758 - phase0 processHistoricalRootsUpdate 1.2900 us/op 8.8210 us/op 0.15
mainnet_e58758 - phase0 processParticipationRecordUpdates 4.9420 us/op 27.980 us/op 0.18
mainnet_e58758 - phase0 afterProcessEpoch 152.30 ms/op 150.16 ms/op 1.01
phase0 processEffectiveBalanceUpdates - 250000 normalcase 6.4558 ms/op 6.7561 ms/op 0.96
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 6.7836 ms/op 6.8919 ms/op 0.98
phase0 processRegistryUpdates - 250000 normalcase 8.4370 us/op 38.146 us/op 0.22
phase0 processRegistryUpdates - 250000 badcase_full_deposits 407.35 us/op 504.69 us/op 0.81
phase0 processRegistryUpdates - 250000 worstcase 0.5 213.47 ms/op 224.69 ms/op 0.95
phase0 getAttestationDeltas - 250000 normalcase 16.520 ms/op 17.193 ms/op 0.96
phase0 getAttestationDeltas - 250000 worstcase 16.697 ms/op 18.071 ms/op 0.92
phase0 processSlashings - 250000 worstcase 5.9255 ms/op 7.0130 ms/op 0.84
shuffle list - 16384 els 10.664 ms/op 10.011 ms/op 1.07
shuffle list - 250000 els 154.10 ms/op 144.16 ms/op 1.07
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 387.45 us/op 435.31 us/op 0.89
pass gossip attestations to forkchoice per slot 3.4189 ms/op 6.7859 ms/op 0.50
computeDeltas 3.9719 ms/op 3.7506 ms/op 1.06
computeProposerBoostScoreFromBalances 502.80 us/op 454.53 us/op 1.11
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 2.2548 ms/op 2.2420 ms/op 1.01
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 78.719 us/op 86.047 us/op 0.91
BLS verify - blst-native 1.8592 ms/op 2.4901 ms/op 0.75
BLS verifyMultipleSignatures 3 - blst-native 3.8041 ms/op 5.1347 ms/op 0.74
BLS verifyMultipleSignatures 8 - blst-native 8.2011 ms/op 11.232 ms/op 0.73
BLS verifyMultipleSignatures 32 - blst-native 29.936 ms/op 40.662 ms/op 0.74
BLS aggregatePubkeys 32 - blst-native 39.539 us/op 55.727 us/op 0.71
BLS aggregatePubkeys 128 - blst-native 153.12 us/op 221.58 us/op 0.69
getAttestationsForBlock 73.781 ms/op 66.526 ms/op 1.11
isKnown best case - 1 super set check 411.00 ns/op 482.00 ns/op 0.85
isKnown normal case - 2 super set checks 401.00 ns/op 475.00 ns/op 0.84
isKnown worse case - 16 super set checks 402.00 ns/op 460.00 ns/op 0.87
CheckpointStateCache - add get delete 11.485 us/op 12.376 us/op 0.93
validate gossip signedAggregateAndProof - struct 4.2642 ms/op 5.7571 ms/op 0.74
validate gossip attestation - struct 2.0272 ms/op 2.7110 ms/op 0.75
altair verifyImport mainnet_s3766816:31 6.9985 s/op 7.9254 s/op 0.88
pickEth1Vote - no votes 2.2713 ms/op 2.4406 ms/op 0.93
pickEth1Vote - max votes 27.403 ms/op 25.567 ms/op 1.07
pickEth1Vote - Eth1Data hashTreeRoot value x2048 12.282 ms/op 14.143 ms/op 0.87
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 23.731 ms/op 24.013 ms/op 0.99
pickEth1Vote - Eth1Data fastSerialize value x2048 1.7331 ms/op 1.8372 ms/op 0.94
pickEth1Vote - Eth1Data fastSerialize tree x2048 19.509 ms/op 19.007 ms/op 1.03
bytes32 toHexString 1.1950 us/op 1.2420 us/op 0.96
bytes32 Buffer.toString(hex) 740.00 ns/op 725.00 ns/op 1.02
bytes32 Buffer.toString(hex) from Uint8Array 978.00 ns/op 1.0220 us/op 0.96
bytes32 Buffer.toString(hex) + 0x 752.00 ns/op 738.00 ns/op 1.02
Object access 1 prop 0.42100 ns/op 0.40900 ns/op 1.03
Map access 1 prop 0.29600 ns/op 0.30900 ns/op 0.96
Object get x1000 17.062 ns/op 15.137 ns/op 1.13
Map get x1000 0.99000 ns/op 0.92600 ns/op 1.07
Object set x1000 129.50 ns/op 103.08 ns/op 1.26
Map set x1000 79.528 ns/op 76.119 ns/op 1.04
Return object 10000 times 0.36950 ns/op 0.41490 ns/op 0.89
Throw Error 10000 times 6.0338 us/op 6.8138 us/op 0.89
enrSubnets - fastDeserialize 64 bits 3.3960 us/op 3.2840 us/op 1.03
enrSubnets - ssz BitVector 64 bits 852.00 ns/op 862.00 ns/op 0.99
enrSubnets - fastDeserialize 4 bits 494.00 ns/op 437.00 ns/op 1.13
enrSubnets - ssz BitVector 4 bits 853.00 ns/op 865.00 ns/op 0.99
prioritizePeers score -10:0 att 32-0.1 sync 2-0 110.08 us/op 103.88 us/op 1.06
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 123.33 us/op 144.26 us/op 0.85
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 231.28 us/op 263.04 us/op 0.88
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 485.79 us/op 553.48 us/op 0.88
prioritizePeers score 0:0 att 64-1 sync 4-1 459.32 us/op 577.32 us/op 0.80
RateTracker 1000000 limit, 1 obj count per request 196.05 ns/op 193.61 ns/op 1.01
RateTracker 1000000 limit, 2 obj count per request 148.98 ns/op 142.80 ns/op 1.04
RateTracker 1000000 limit, 4 obj count per request 126.61 ns/op 119.94 ns/op 1.06
RateTracker 1000000 limit, 8 obj count per request 115.80 ns/op 111.31 ns/op 1.04
RateTracker with prune 5.1660 us/op 4.7510 us/op 1.09
array of 16000 items push then shift 3.0793 us/op 5.0906 us/op 0.60
LinkedList of 16000 items push then shift 25.095 ns/op 27.057 ns/op 0.93
array of 16000 items push then pop 246.94 ns/op 230.60 ns/op 1.07
LinkedList of 16000 items push then pop 19.929 ns/op 21.635 ns/op 0.92
array of 24000 items push then shift 4.5544 us/op 7.2738 us/op 0.63
LinkedList of 24000 items push then shift 25.715 ns/op 26.264 ns/op 0.98
array of 24000 items push then pop 212.94 ns/op 212.37 ns/op 1.00
LinkedList of 24000 items push then pop 20.177 ns/op 23.312 ns/op 0.87
intersect bitArray bitLen 8 11.460 ns/op 9.4840 ns/op 1.21
intersect array and set length 8 174.94 ns/op 185.22 ns/op 0.94
intersect bitArray bitLen 128 47.373 ns/op 56.839 ns/op 0.83
intersect array and set length 128 2.3609 us/op 2.2108 us/op 1.07

by benchmarkbot/action

process.exit(1);
}
}

Copy link
Contributor

Choose a reason for hiding this comment

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

how do we prevent this error TAG v0.36.1-beta.0 does not include LOCAL_VERSION 0.36.0 from https://github.com/ChainSafe/lodestar/runs/6476719731?check_suite_focus=true ?

if yes, we should do a check here before we create a tag.

Copy link
Contributor

Choose a reason for hiding this comment

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

That's a good idea! This condition should be checked here too

Copy link
Member Author

@wemeetagain wemeetagain May 20, 2022

Choose a reason for hiding this comment

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

The script now calls lerna version $TAG if the tag does not match lerna.json (which bumps the versions in package.jsons, commits, tags and pushes).
Otherwise, if the tag matches lerna.json, it tags and pushes manually with git.

This makes it very handy to just checkout the version branch (eg: v0.36.x), cherry pick commits on top, and run the script, in the case of a beta release.
Or just checkout the version branch and run the script, in the case of a non-beta release.

@g11tech g11tech merged commit 531e2c2 into master May 24, 2022
@g11tech g11tech deleted the cayman/simplify-release branch May 24, 2022 20:21
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 <[email protected]>

* 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] <[email protected]>

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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>
Co-authored-by: dapplion <[email protected]>

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

* Bump to v0.37.0

Co-authored-by: tuyennhv <[email protected]>
Co-authored-by: g11tech <[email protected]>
Co-authored-by: dadepo <[email protected]>
Co-authored-by: Cayman <[email protected]>
Co-authored-by: Phil Ngo <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: g11tech <[email protected]>
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.

4 participants