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

chore: release 1.10.0 #5836

Merged
merged 114 commits into from
Aug 3, 2023
Merged

chore: release 1.10.0 #5836

merged 114 commits into from
Aug 3, 2023

Conversation

wemeetagain
Copy link
Member

No description provided.

g11tech and others added 30 commits June 19, 2023 10:10
* feat: publish blobsidecars instead of blobssidecar

* add comment
* fix: add setTimeout to onGossipsubMessage and onValidationResult

* chore: more comments
* Skip serializing block after fetching from network

* fix: beaconBlocksMaybeBlobsByRange.test.ts

---------

Co-authored-by: Tuyen Nguyen <vutuyen2636@gmail.com>
…5669)

* feat: allow builder only proposal flow for benefit of DVT protocols

* fix typo

* apply feedback

* update descp

* add suggestion

Co-authored-by: Nico Flaig <nflaig@protonmail.com>

---------

Co-authored-by: Nico Flaig <nflaig@protonmail.com>
* chore: track block source in lodestar summary dashboard

* Add job vars to __inputs

---------

Co-authored-by: Nico Flaig <nflaig@protonmail.com>
* Add job names to __inputs if used by dashboard

* Reorder properties in prometheus input
* Typesafe CLI args

* Set execution mode to "http" in default options

* Fix type of default retryAttempts and retryDelay

* Unconditionally use default execution http opts in CLI args

---------

Co-authored-by: Nico Flaig <nflaig@protonmail.com>
* fix: simplify snappy frame encoding

* fix e2e tests
* Check docs spelling

* Add config

* Fix docs spelling

* Lint docs format

* docs(flamegraph): remove note about script that was removed

* sort wordlist

* Set sort algo

* Fix CI pipeline

* hope to fix CI ordering

* Disable wordlist sort check

* docs(CONTRIBUTING): remove merge conflict marker and add codeblock types

* refactor: change to pyspelling.yml for local runs

* docs: make spell-checking wordlist case insensitive

* fix: sort .wordlist.txt

* refactor: alphabetize script order

* fix: add docs/reference to gitignore

* docs: add codeblocks to pyspelling ignore and clear all errors

* docs: ignore possessive endings in spellcheck

* docs: clear spelling errors in package readmes

* docs: pyspelling fix generated cli.md

* feat(workflows): lint generated docs

* feat(workflows): add word sort to docs-check

* test: unsort wordlist

* fix: sort wordlist

* refactor(workflow): remove unused comments

---------

Co-authored-by: matthewkeil <me@matthewkeil.com>
Co-authored-by: Cayman <caymannava@gmail.com>
* Fix yarn.lock file

* Fix readme formatting
* chore: update prometheus-gc-stats dependency

* chore: use check-latest in setup-node action
* Add block proposal summary metric to validator monitor

* Fix type errors

* Fix linter error

---------

Co-authored-by: Cayman <caymannava@gmail.com>
chore!: set node requirement to >=18.15.x
* feat: implement eip 4788 for deneb

* fixes

* lint
Fix prevEpochBlockProposalSummary typo
twoeths and others added 18 commits July 27, 2023 14:29
* feat: only subscribe to short lived subnets 2 slots in advanced

* fix: dedup attestationPool.getAggregate() call

* chore: fix comment in test
Add capella state transition perf tests
* chore: add request next epoch proposal duties panel

* fix: track new proposal duties detected
* Switch to native fetch implementation

* Wrapper around native fetch to improve error handling

* Improve handling of other native fetch errors

* Update fetch error types

* Native fetch errors might not have cause.code property

* Check if instance of TypeError

* Add unknown scheme error to examples

* Add tests to detect changes native fetch error behavior

* Remove unnecessary exports

* Improve error.cause type

* Move fetch to @lodestar/api package

* Remove tsdoc from NativeFetchError

* Add headers overflow test
* refactor: rename data gas to blob gas for relevant deneb fields

* update spec test version
* docs: update instructions on how to contribute to dashboards

* Add UID to spell check word list
Revert "chore: downgrade docker nodejs to 18 (#5812)"

This reverts commit a752d15.
* Fix format of input in dashboard lint script

* Fix inputs on remaining dashboards
* chore: add produced aggregate metrics to dashboard

* Remove changes to __inputs field

---------

Co-authored-by: Nico Flaig <nflaig@protonmail.com>
* Add syncing_status query parameter to eth/v1/node/health

* Always validate value of syncing_status

* Add 400 to getHealth error responses

* Set http error status as client response status

* Check status in test cases instead of error code

* Fix appending '?' to URL if query params are omitted

* Use composite reponse type from the server handlers

* Revert "Use composite reponse type from the server handlers"

This reverts commit e1cbec4.

* Remove workaround in generic server test

* Remove request / response from server api type

* Do not forward request / response to API implementation

* Set getHealth status code in route handler

---------

Co-authored-by: Nazar Hussain <nazarhussain@gmail.com>
* Fix parsing of bootnode entires with IP and location information

* Update outdated references to --network.discv5.bootEnrs flag

* Pin genesis and bootnode file URLs by commit hash
…5820)

* Fix some issues in the prover

* Remove unused file

* Fix browser tests

* Add comment for buffer
@wemeetagain wemeetagain requested a review from a team as a code owner August 1, 2023 17:05
@github-actions
Copy link
Contributor

github-actions bot commented Aug 1, 2023

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 8d145f2 Previous: - Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 666.89 us/op
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 130.93 us/op
BLS verify - blst-native 1.3099 ms/op
BLS verifyMultipleSignatures 3 - blst-native 2.6913 ms/op
BLS verifyMultipleSignatures 8 - blst-native 5.8440 ms/op
BLS verifyMultipleSignatures 32 - blst-native 23.884 ms/op
BLS aggregatePubkeys 32 - blst-native 29.477 us/op
BLS aggregatePubkeys 128 - blst-native 111.69 us/op
getAttestationsForBlock 74.979 ms/op
isKnown best case - 1 super set check 613.00 ns/op
isKnown normal case - 2 super set checks 646.00 ns/op
isKnown worse case - 16 super set checks 676.00 ns/op
CheckpointStateCache - add get delete 7.5810 us/op
validate api signedAggregateAndProof - struct 3.1435 ms/op
validate gossip signedAggregateAndProof - struct 3.2131 ms/op
validate api attestation - struct 1.4756 ms/op
validate gossip attestation - struct 1.5707 ms/op
pickEth1Vote - no votes 1.5266 ms/op
pickEth1Vote - max votes 14.644 ms/op
pickEth1Vote - Eth1Data hashTreeRoot value x2048 13.383 ms/op
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 22.581 ms/op
pickEth1Vote - Eth1Data fastSerialize value x2048 855.12 us/op
pickEth1Vote - Eth1Data fastSerialize tree x2048 6.4646 ms/op
bytes32 toHexString 904.00 ns/op
bytes32 Buffer.toString(hex) 349.00 ns/op
bytes32 Buffer.toString(hex) from Uint8Array 703.00 ns/op
bytes32 Buffer.toString(hex) + 0x 411.00 ns/op
Object access 1 prop 0.24300 ns/op
Map access 1 prop 0.16500 ns/op
Object get x1000 10.439 ns/op
Map get x1000 0.94000 ns/op
Object set x1000 84.426 ns/op
Map set x1000 64.881 ns/op
Return object 10000 times 0.34420 ns/op
Throw Error 10000 times 5.3894 us/op
fastMsgIdFn sha256 / 200 bytes 3.8460 us/op
fastMsgIdFn h32 xxhash / 200 bytes 392.00 ns/op
fastMsgIdFn h64 xxhash / 200 bytes 411.00 ns/op
fastMsgIdFn sha256 / 1000 bytes 12.388 us/op
fastMsgIdFn h32 xxhash / 1000 bytes 535.00 ns/op
fastMsgIdFn h64 xxhash / 1000 bytes 540.00 ns/op
fastMsgIdFn sha256 / 10000 bytes 111.78 us/op
fastMsgIdFn h32 xxhash / 10000 bytes 2.1900 us/op
fastMsgIdFn h64 xxhash / 10000 bytes 1.5600 us/op
enrSubnets - fastDeserialize 64 bits 1.8010 us/op
enrSubnets - ssz BitVector 64 bits 611.00 ns/op
enrSubnets - fastDeserialize 4 bits 256.00 ns/op
enrSubnets - ssz BitVector 4 bits 599.00 ns/op
prioritizePeers score -10:0 att 32-0.1 sync 2-0 160.54 us/op
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 165.84 us/op
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 221.06 us/op
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 363.25 us/op
prioritizePeers score 0:0 att 64-1 sync 4-1 420.47 us/op
array of 16000 items push then shift 1.7770 us/op
LinkedList of 16000 items push then shift 11.298 ns/op
array of 16000 items push then pop 71.188 ns/op
LinkedList of 16000 items push then pop 11.818 ns/op
array of 24000 items push then shift 2.9172 us/op
LinkedList of 24000 items push then shift 12.469 ns/op
array of 24000 items push then pop 135.48 ns/op
LinkedList of 24000 items push then pop 9.6720 ns/op
intersect bitArray bitLen 8 7.2830 ns/op
intersect array and set length 8 75.877 ns/op
intersect bitArray bitLen 128 38.269 ns/op
intersect array and set length 128 1.1257 us/op
bitArray.getTrueBitIndexes() bitLen 128 2.0860 us/op
bitArray.getTrueBitIndexes() bitLen 248 2.9780 us/op
bitArray.getTrueBitIndexes() bitLen 512 7.4870 us/op
Buffer.concat 32 items 1.4690 us/op
Uint8Array.set 32 items 2.6970 us/op
transfer serialized Status (84 B) 3.2280 us/op
copy serialized Status (84 B) 2.0770 us/op
transfer serialized SignedVoluntaryExit (112 B) 3.1900 us/op
copy serialized SignedVoluntaryExit (112 B) 2.4180 us/op
transfer serialized ProposerSlashing (416 B) 3.5340 us/op
copy serialized ProposerSlashing (416 B) 2.6120 us/op
transfer serialized Attestation (485 B) 2.9230 us/op
copy serialized Attestation (485 B) 2.6560 us/op
transfer serialized AttesterSlashing (33232 B) 2.4660 us/op
copy serialized AttesterSlashing (33232 B) 8.8220 us/op
transfer serialized Small SignedBeaconBlock (128000 B) 3.5890 us/op
copy serialized Small SignedBeaconBlock (128000 B) 23.291 us/op
transfer serialized Avg SignedBeaconBlock (200000 B) 4.4880 us/op
copy serialized Avg SignedBeaconBlock (200000 B) 38.259 us/op
transfer serialized BlobsSidecar (524380 B) 4.9750 us/op
copy serialized BlobsSidecar (524380 B) 111.47 us/op
transfer serialized Big SignedBeaconBlock (1000000 B) 5.0090 us/op
copy serialized Big SignedBeaconBlock (1000000 B) 385.77 us/op
pass gossip attestations to forkchoice per slot 2.3952 ms/op
forkChoice updateHead vc 100000 bc 64 eq 0 2.8598 ms/op
forkChoice updateHead vc 600000 bc 64 eq 0 14.010 ms/op
forkChoice updateHead vc 1000000 bc 64 eq 0 19.027 ms/op
forkChoice updateHead vc 600000 bc 320 eq 0 17.911 ms/op
forkChoice updateHead vc 600000 bc 1200 eq 0 92.025 ms/op
forkChoice updateHead vc 600000 bc 64 eq 1000 19.921 ms/op
forkChoice updateHead vc 600000 bc 64 eq 10000 21.819 ms/op
forkChoice updateHead vc 600000 bc 64 eq 300000 39.704 ms/op
computeDeltas 3.4181 ms/op
computeProposerBoostScoreFromBalances 408.44 us/op
altair processAttestation - 250000 vs - 7PWei normalcase 3.5164 ms/op
altair processAttestation - 250000 vs - 7PWei worstcase 4.1520 ms/op
altair processAttestation - setStatus - 1/6 committees join 199.80 us/op
altair processAttestation - setStatus - 1/3 committees join 378.54 us/op
altair processAttestation - setStatus - 1/2 committees join 487.73 us/op
altair processAttestation - setStatus - 2/3 committees join 623.83 us/op
altair processAttestation - setStatus - 4/5 committees join 831.89 us/op
altair processAttestation - setStatus - 100% committees join 977.83 us/op
altair processBlock - 250000 vs - 7PWei normalcase 9.9961 ms/op
altair processBlock - 250000 vs - 7PWei normalcase hashState 18.045 ms/op
altair processBlock - 250000 vs - 7PWei worstcase 39.699 ms/op
altair processBlock - 250000 vs - 7PWei worstcase hashState 60.785 ms/op
phase0 processBlock - 250000 vs - 7PWei normalcase 2.8041 ms/op
phase0 processBlock - 250000 vs - 7PWei worstcase 33.898 ms/op
altair processEth1Data - 250000 vs - 7PWei normalcase 500.86 us/op
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 22.322 us/op
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 48.205 us/op
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 25.645 us/op
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 15.657 us/op
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 218.10 us/op
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.1658 ms/op
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.7422 ms/op
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.6793 ms/op
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.7963 ms/op
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.7950 ms/op
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 7.9553 ms/op
Tree 40 250000 create 450.72 ms/op
Tree 40 250000 get(125000) 205.66 ns/op
Tree 40 250000 set(125000) 1.0364 us/op
Tree 40 250000 toArray() 23.736 ms/op
Tree 40 250000 iterate all - toArray() + loop 26.427 ms/op
Tree 40 250000 iterate all - get(i) 76.322 ms/op
MutableVector 250000 create 14.538 ms/op
MutableVector 250000 get(125000) 7.0050 ns/op
MutableVector 250000 set(125000) 271.15 ns/op
MutableVector 250000 toArray() 3.3786 ms/op
MutableVector 250000 iterate all - toArray() + loop 3.9219 ms/op
MutableVector 250000 iterate all - get(i) 1.5705 ms/op
Array 250000 create 3.2262 ms/op
Array 250000 clone - spread 1.2037 ms/op
Array 250000 get(125000) 0.59800 ns/op
Array 250000 set(125000) 0.70000 ns/op
Array 250000 iterate all - loop 92.140 us/op
effectiveBalanceIncrements clone Uint8Array 300000 53.454 us/op
effectiveBalanceIncrements clone MutableVector 300000 367.00 ns/op
effectiveBalanceIncrements rw all Uint8Array 300000 190.80 us/op
effectiveBalanceIncrements rw all MutableVector 300000 149.36 ms/op
phase0 afterProcessEpoch - 250000 vs - 7PWei 134.22 ms/op
phase0 beforeProcessEpoch - 250000 vs - 7PWei 40.438 ms/op
altair processEpoch - mainnet_e81889 334.48 ms/op
mainnet_e81889 - altair beforeProcessEpoch 65.204 ms/op
mainnet_e81889 - altair processJustificationAndFinalization 20.991 us/op
mainnet_e81889 - altair processInactivityUpdates 6.3063 ms/op
mainnet_e81889 - altair processRewardsAndPenalties 59.204 ms/op
mainnet_e81889 - altair processRegistryUpdates 4.3680 us/op
mainnet_e81889 - altair processSlashings 927.00 ns/op
mainnet_e81889 - altair processEth1DataReset 803.00 ns/op
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.4495 ms/op
mainnet_e81889 - altair processSlashingsReset 5.3810 us/op
mainnet_e81889 - altair processRandaoMixesReset 7.0310 us/op
mainnet_e81889 - altair processHistoricalRootsUpdate 1.2250 us/op
mainnet_e81889 - altair processParticipationFlagUpdates 2.4230 us/op
mainnet_e81889 - altair processSyncCommitteeUpdates 594.00 ns/op
mainnet_e81889 - altair afterProcessEpoch 130.28 ms/op
capella processEpoch - mainnet_e217614 1.0626 s/op
mainnet_e217614 - capella beforeProcessEpoch 250.08 ms/op
mainnet_e217614 - capella processJustificationAndFinalization 15.861 us/op
mainnet_e217614 - capella processInactivityUpdates 16.362 ms/op
mainnet_e217614 - capella processRewardsAndPenalties 286.04 ms/op
mainnet_e217614 - capella processRegistryUpdates 20.287 us/op
mainnet_e217614 - capella processSlashings 475.00 ns/op
mainnet_e217614 - capella processEth1DataReset 415.00 ns/op
mainnet_e217614 - capella processEffectiveBalanceUpdates 4.0528 ms/op
mainnet_e217614 - capella processSlashingsReset 1.9920 us/op
mainnet_e217614 - capella processRandaoMixesReset 3.8180 us/op
mainnet_e217614 - capella processHistoricalRootsUpdate 586.00 ns/op
mainnet_e217614 - capella processParticipationFlagUpdates 1.3940 us/op
mainnet_e217614 - capella afterProcessEpoch 287.02 ms/op
phase0 processEpoch - mainnet_e58758 323.78 ms/op
mainnet_e58758 - phase0 beforeProcessEpoch 115.44 ms/op
mainnet_e58758 - phase0 processJustificationAndFinalization 14.906 us/op
mainnet_e58758 - phase0 processRewardsAndPenalties 51.937 ms/op
mainnet_e58758 - phase0 processRegistryUpdates 9.5940 us/op
mainnet_e58758 - phase0 processSlashings 484.00 ns/op
mainnet_e58758 - phase0 processEth1DataReset 431.00 ns/op
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 992.83 us/op
mainnet_e58758 - phase0 processSlashingsReset 2.3240 us/op
mainnet_e58758 - phase0 processRandaoMixesReset 7.9820 us/op
mainnet_e58758 - phase0 processHistoricalRootsUpdate 618.00 ns/op
mainnet_e58758 - phase0 processParticipationRecordUpdates 4.5530 us/op
mainnet_e58758 - phase0 afterProcessEpoch 100.80 ms/op
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.2973 ms/op
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.4406 ms/op
altair processInactivityUpdates - 250000 normalcase 25.050 ms/op
altair processInactivityUpdates - 250000 worstcase 24.144 ms/op
phase0 processRegistryUpdates - 250000 normalcase 9.7900 us/op
phase0 processRegistryUpdates - 250000 badcase_full_deposits 357.23 us/op
phase0 processRegistryUpdates - 250000 worstcase 0.5 136.61 ms/op
altair processRewardsAndPenalties - 250000 normalcase 68.748 ms/op
altair processRewardsAndPenalties - 250000 worstcase 71.470 ms/op
phase0 getAttestationDeltas - 250000 normalcase 8.1844 ms/op
phase0 getAttestationDeltas - 250000 worstcase 7.8717 ms/op
phase0 processSlashings - 250000 worstcase 2.3313 ms/op
altair processSyncCommitteeUpdates - 250000 149.80 ms/op
BeaconState.hashTreeRoot - No change 271.00 ns/op
BeaconState.hashTreeRoot - 1 full validator 50.776 us/op
BeaconState.hashTreeRoot - 32 full validator 520.99 us/op
BeaconState.hashTreeRoot - 512 full validator 5.1811 ms/op
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 66.404 us/op
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 884.55 us/op
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 11.222 ms/op
BeaconState.hashTreeRoot - 1 balances 50.527 us/op
BeaconState.hashTreeRoot - 32 balances 474.73 us/op
BeaconState.hashTreeRoot - 512 balances 4.4424 ms/op
BeaconState.hashTreeRoot - 250000 balances 74.559 ms/op
aggregationBits - 2048 els - zipIndexesInBitList 15.531 us/op
regular array get 100000 times 33.323 us/op
wrappedArray get 100000 times 33.228 us/op
arrayWithProxy get 100000 times 15.192 ms/op
ssz.Root.equals 224.00 ns/op
byteArrayEquals 208.00 ns/op
shuffle list - 16384 els 7.0090 ms/op
shuffle list - 250000 els 103.88 ms/op
processSlot - 1 slots 8.4880 us/op
processSlot - 32 slots 1.3894 ms/op
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 55.673 ms/op
getCommitteeAssignments - req 1 vs - 250000 vc 2.4736 ms/op
getCommitteeAssignments - req 100 vs - 250000 vc 3.6219 ms/op
getCommitteeAssignments - req 1000 vs - 250000 vc 3.9873 ms/op
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.3000 ns/op
state getBlockRootAtSlot - 250000 vs - 7PWei 762.99 ns/op
computeProposers - vc 250000 8.4769 ms/op
computeEpochShuffling - vc 250000 101.70 ms/op
getNextSyncCommittee - vc 250000 146.61 ms/op
computeSigningRoot for AttestationData 12.940 us/op
hash AttestationData serialized data then Buffer.toString(base64) 2.2584 us/op
toHexString serialized data 1.0370 us/op
Buffer.toString(base64) 196.15 ns/op

by benchmarkbot/action

@twoeths twoeths marked this pull request as draft August 2, 2023 06:43
@wemeetagain wemeetagain marked this pull request as ready for review August 3, 2023 14:19
@wemeetagain wemeetagain merged commit 7546292 into stable Aug 3, 2023
18 checks passed
@wemeetagain wemeetagain deleted the rc/v1.10.0 branch August 3, 2023 14:24
@wemeetagain
Copy link
Member Author

🎉 This PR is included in v1.10.0 🎉

@twoeths
Copy link
Contributor

twoeths commented Aug 6, 2023

0806_v1.10.0_mainnet_node.cpuprofile.zip

the attached is profile from a test mainnet node subscribing to all subnets

@raulmc123
Copy link

Hello JSON RAuL MC

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.

10 participants