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 v1.10.0 #5813

Closed
wants to merge 99 commits into from
Closed

chore: release v1.10.0 #5813

wants to merge 99 commits into from

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
philknows and others added 26 commits July 19, 2023 22:23
* Update execution client state change message

* Use warn instead of info if execution client is syncing
* chore: bump test-utils to 1.9.2

* Bump @lodestar/utils to 1.9.2

---------

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

* chore: finish the implementation

* fix: handle cannot aggregate pubkeys and signatures in same message

* fix: jobItemSameMessageToMultiSet considering priority

* fix: handle malformed signatures

* fix: multithread e2e test

* chore: remove unused metric

* fix: correct verifySignatureSetsSameMessage opts

* chore: refactor to retryJobItemSameMessage method

* Review PR

---------

Co-authored-by: dapplion <35266934+dapplion@users.noreply.github.com>
* refactor(beacon-node): simplify libp2p init

* fix: update discv5 bootnode parsing

* feat: throw on invalid bootnodes

* chore: use valid enrs in tests

* fix: validate enrs coming from bootnodesFile

* fix: beacon args handler test
* Remove res.hijack()

* Listen on socket for close/end events
* Fix some regressions for prover

* Fix package export assertion for nested conditional exports

* Improve the exports for the package

* Fix the http agent for https

* Fix e2e tests
tes(db)t: add check for gdu vs du
* Gracefully terminate connections when closing http server

* Log unexpected errors when shutting down server

* Fix code references in comments

* More gracefully close eventstream api

* Misc updates

* Close idle connections on server

* Update ts-expect-error comments
* add support for code coverage reports using c8

* chore: update lockfile

---------

Co-authored-by: Cayman <caymannava@gmail.com>
* fix: do not dial more peers if node has enough subnet peers

* fix: reorder conditions in shouldDialPeer
* feat: poll proposer duties of next epoch in advance

* chore: refactor function name msToNextEpoch

* fix: pollBeaconProposersNextEpoch

* fix: set MAX_API_CLOCK_DISPARITY_SEC to 0.5s

* chore: add more comments

* feat: wait for checkpoint state up to 1 slot time
* 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
@wemeetagain wemeetagain requested a review from a team as a code owner July 27, 2023 18:31
@github-actions
Copy link
Contributor

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: da957b1 Previous: - Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 969.77 us/op
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 96.201 us/op
BLS verify - blst-native 1.4440 ms/op
BLS verifyMultipleSignatures 3 - blst-native 2.8862 ms/op
BLS verifyMultipleSignatures 8 - blst-native 6.1844 ms/op
BLS verifyMultipleSignatures 32 - blst-native 22.307 ms/op
BLS aggregatePubkeys 32 - blst-native 29.305 us/op
BLS aggregatePubkeys 128 - blst-native 116.86 us/op
getAttestationsForBlock 68.820 ms/op
isKnown best case - 1 super set check 471.00 ns/op
isKnown normal case - 2 super set checks 470.00 ns/op
isKnown worse case - 16 super set checks 483.00 ns/op
CheckpointStateCache - add get delete 6.4670 us/op
validate api signedAggregateAndProof - struct 3.3451 ms/op
validate gossip signedAggregateAndProof - struct 3.3605 ms/op
validate api attestation - struct 1.5920 ms/op
validate gossip attestation - struct 1.6474 ms/op
pickEth1Vote - no votes 1.5532 ms/op
pickEth1Vote - max votes 12.126 ms/op
pickEth1Vote - Eth1Data hashTreeRoot value x2048 10.511 ms/op
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 19.025 ms/op
pickEth1Vote - Eth1Data fastSerialize value x2048 796.37 us/op
pickEth1Vote - Eth1Data fastSerialize tree x2048 5.9606 ms/op
bytes32 toHexString 640.00 ns/op
bytes32 Buffer.toString(hex) 370.00 ns/op
bytes32 Buffer.toString(hex) from Uint8Array 567.00 ns/op
bytes32 Buffer.toString(hex) + 0x 382.00 ns/op
Object access 1 prop 0.24900 ns/op
Map access 1 prop 0.19600 ns/op
Object get x1000 9.6470 ns/op
Map get x1000 0.90300 ns/op
Object set x1000 73.335 ns/op
Map set x1000 60.642 ns/op
Return object 10000 times 0.30610 ns/op
Throw Error 10000 times 4.9688 us/op
fastMsgIdFn sha256 / 200 bytes 4.1200 us/op
fastMsgIdFn h32 xxhash / 200 bytes 375.00 ns/op
fastMsgIdFn h64 xxhash / 200 bytes 435.00 ns/op
fastMsgIdFn sha256 / 1000 bytes 14.289 us/op
fastMsgIdFn h32 xxhash / 1000 bytes 527.00 ns/op
fastMsgIdFn h64 xxhash / 1000 bytes 550.00 ns/op
fastMsgIdFn sha256 / 10000 bytes 128.19 us/op
fastMsgIdFn h32 xxhash / 10000 bytes 2.4350 us/op
fastMsgIdFn h64 xxhash / 10000 bytes 1.6570 us/op
enrSubnets - fastDeserialize 64 bits 1.7370 us/op
enrSubnets - ssz BitVector 64 bits 618.00 ns/op
enrSubnets - fastDeserialize 4 bits 263.00 ns/op
enrSubnets - ssz BitVector 4 bits 650.00 ns/op
prioritizePeers score -10:0 att 32-0.1 sync 2-0 146.83 us/op
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 173.83 us/op
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 222.72 us/op
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 407.49 us/op
prioritizePeers score 0:0 att 64-1 sync 4-1 437.57 us/op
array of 16000 items push then shift 1.9202 us/op
LinkedList of 16000 items push then shift 11.169 ns/op
array of 16000 items push then pop 62.445 ns/op
LinkedList of 16000 items push then pop 10.533 ns/op
array of 24000 items push then shift 3.0222 us/op
LinkedList of 24000 items push then shift 11.394 ns/op
array of 24000 items push then pop 91.145 ns/op
LinkedList of 24000 items push then pop 10.835 ns/op
intersect bitArray bitLen 8 8.6400 ns/op
intersect array and set length 8 88.690 ns/op
intersect bitArray bitLen 128 40.816 ns/op
intersect array and set length 128 1.0349 us/op
bitArray.getTrueBitIndexes() bitLen 128 2.0510 us/op
bitArray.getTrueBitIndexes() bitLen 248 3.7390 us/op
bitArray.getTrueBitIndexes() bitLen 512 7.6630 us/op
Buffer.concat 32 items 1.4220 us/op
Uint8Array.set 32 items 3.1210 us/op
transfer serialized Status (84 B) 2.3280 us/op
copy serialized Status (84 B) 1.9130 us/op
transfer serialized SignedVoluntaryExit (112 B) 2.3930 us/op
copy serialized SignedVoluntaryExit (112 B) 1.9640 us/op
transfer serialized ProposerSlashing (416 B) 2.7430 us/op
copy serialized ProposerSlashing (416 B) 2.5350 us/op
transfer serialized Attestation (485 B) 2.8820 us/op
copy serialized Attestation (485 B) 2.5360 us/op
transfer serialized AttesterSlashing (33232 B) 2.6710 us/op
copy serialized AttesterSlashing (33232 B) 7.0630 us/op
transfer serialized Small SignedBeaconBlock (128000 B) 2.9600 us/op
copy serialized Small SignedBeaconBlock (128000 B) 22.487 us/op
transfer serialized Avg SignedBeaconBlock (200000 B) 3.5510 us/op
copy serialized Avg SignedBeaconBlock (200000 B) 33.739 us/op
transfer serialized BlobsSidecar (524380 B) 3.8880 us/op
copy serialized BlobsSidecar (524380 B) 85.412 us/op
transfer serialized Big SignedBeaconBlock (1000000 B) 4.1000 us/op
copy serialized Big SignedBeaconBlock (1000000 B) 187.41 us/op
pass gossip attestations to forkchoice per slot 2.6426 ms/op
forkChoice updateHead vc 100000 bc 64 eq 0 2.6141 ms/op
forkChoice updateHead vc 600000 bc 64 eq 0 17.624 ms/op
forkChoice updateHead vc 1000000 bc 64 eq 0 28.279 ms/op
forkChoice updateHead vc 600000 bc 320 eq 0 22.765 ms/op
forkChoice updateHead vc 600000 bc 1200 eq 0 109.34 ms/op
forkChoice updateHead vc 600000 bc 64 eq 1000 28.938 ms/op
forkChoice updateHead vc 600000 bc 64 eq 10000 35.555 ms/op
forkChoice updateHead vc 600000 bc 64 eq 300000 56.683 ms/op
computeDeltas 3.9949 ms/op
computeProposerBoostScoreFromBalances 493.02 us/op
altair processAttestation - 250000 vs - 7PWei normalcase 3.8157 ms/op
altair processAttestation - 250000 vs - 7PWei worstcase 5.5945 ms/op
altair processAttestation - setStatus - 1/6 committees join 219.55 us/op
altair processAttestation - setStatus - 1/3 committees join 419.91 us/op
altair processAttestation - setStatus - 1/2 committees join 540.69 us/op
altair processAttestation - setStatus - 2/3 committees join 740.59 us/op
altair processAttestation - setStatus - 4/5 committees join 852.60 us/op
altair processAttestation - setStatus - 100% committees join 1.1460 ms/op
altair processBlock - 250000 vs - 7PWei normalcase 12.644 ms/op
altair processBlock - 250000 vs - 7PWei normalcase hashState 26.828 ms/op
altair processBlock - 250000 vs - 7PWei worstcase 50.642 ms/op
altair processBlock - 250000 vs - 7PWei worstcase hashState 84.261 ms/op
phase0 processBlock - 250000 vs - 7PWei normalcase 3.7213 ms/op
phase0 processBlock - 250000 vs - 7PWei worstcase 48.477 ms/op
altair processEth1Data - 250000 vs - 7PWei normalcase 790.50 us/op
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 17.267 us/op
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 66.109 us/op
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 33.340 us/op
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 26.626 us/op
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 252.38 us/op
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.9187 ms/op
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 2.0935 ms/op
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 2.5633 ms/op
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 5.0607 ms/op
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 3.3989 ms/op
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 7.7533 ms/op
Tree 40 250000 create 495.34 ms/op
Tree 40 250000 get(125000) 266.67 ns/op
Tree 40 250000 set(125000) 1.1912 us/op
Tree 40 250000 toArray() 25.373 ms/op
Tree 40 250000 iterate all - toArray() + loop 25.099 ms/op
Tree 40 250000 iterate all - get(i) 88.217 ms/op
MutableVector 250000 create 18.939 ms/op
MutableVector 250000 get(125000) 8.6350 ns/op
MutableVector 250000 set(125000) 342.21 ns/op
MutableVector 250000 toArray() 4.6978 ms/op
MutableVector 250000 iterate all - toArray() + loop 4.6921 ms/op
MutableVector 250000 iterate all - get(i) 2.0228 ms/op
Array 250000 create 4.2131 ms/op
Array 250000 clone - spread 1.4637 ms/op
Array 250000 get(125000) 0.74300 ns/op
Array 250000 set(125000) 0.84200 ns/op
Array 250000 iterate all - loop 103.94 us/op
effectiveBalanceIncrements clone Uint8Array 300000 44.926 us/op
effectiveBalanceIncrements clone MutableVector 300000 471.00 ns/op
effectiveBalanceIncrements rw all Uint8Array 300000 260.39 us/op
effectiveBalanceIncrements rw all MutableVector 300000 124.17 ms/op
phase0 afterProcessEpoch - 250000 vs - 7PWei 152.89 ms/op
phase0 beforeProcessEpoch - 250000 vs - 7PWei 42.857 ms/op
altair processEpoch - mainnet_e81889 451.62 ms/op
mainnet_e81889 - altair beforeProcessEpoch 81.233 ms/op
mainnet_e81889 - altair processJustificationAndFinalization 27.478 us/op
mainnet_e81889 - altair processInactivityUpdates 7.9318 ms/op
mainnet_e81889 - altair processRewardsAndPenalties 88.911 ms/op
mainnet_e81889 - altair processRegistryUpdates 5.4080 us/op
mainnet_e81889 - altair processSlashings 1.0720 us/op
mainnet_e81889 - altair processEth1DataReset 842.00 ns/op
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.8148 ms/op
mainnet_e81889 - altair processSlashingsReset 4.0550 us/op
mainnet_e81889 - altair processRandaoMixesReset 7.6780 us/op
mainnet_e81889 - altair processHistoricalRootsUpdate 2.0620 us/op
mainnet_e81889 - altair processParticipationFlagUpdates 2.1180 us/op
mainnet_e81889 - altair processSyncCommitteeUpdates 891.00 ns/op
mainnet_e81889 - altair afterProcessEpoch 152.47 ms/op
capella processEpoch - mainnet_e217614 1.3601 s/op
mainnet_e217614 - capella beforeProcessEpoch 282.16 ms/op
mainnet_e217614 - capella processJustificationAndFinalization 23.012 us/op
mainnet_e217614 - capella processInactivityUpdates 18.446 ms/op
mainnet_e217614 - capella processRewardsAndPenalties 338.56 ms/op
mainnet_e217614 - capella processRegistryUpdates 23.354 us/op
mainnet_e217614 - capella processSlashings 741.00 ns/op
mainnet_e217614 - capella processEth1DataReset 519.00 ns/op
mainnet_e217614 - capella processEffectiveBalanceUpdates 5.1124 ms/op
mainnet_e217614 - capella processSlashingsReset 3.5830 us/op
mainnet_e217614 - capella processRandaoMixesReset 10.497 us/op
mainnet_e217614 - capella processHistoricalRootsUpdate 824.00 ns/op
mainnet_e217614 - capella processParticipationFlagUpdates 2.4290 us/op
mainnet_e217614 - capella afterProcessEpoch 349.04 ms/op
phase0 processEpoch - mainnet_e58758 413.38 ms/op
mainnet_e58758 - phase0 beforeProcessEpoch 124.81 ms/op
mainnet_e58758 - phase0 processJustificationAndFinalization 25.116 us/op
mainnet_e58758 - phase0 processRewardsAndPenalties 68.188 ms/op
mainnet_e58758 - phase0 processRegistryUpdates 12.336 us/op
mainnet_e58758 - phase0 processSlashings 533.00 ns/op
mainnet_e58758 - phase0 processEth1DataReset 522.00 ns/op
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.3887 ms/op
mainnet_e58758 - phase0 processSlashingsReset 5.6110 us/op
mainnet_e58758 - phase0 processRandaoMixesReset 8.9930 us/op
mainnet_e58758 - phase0 processHistoricalRootsUpdate 568.00 ns/op
mainnet_e58758 - phase0 processParticipationRecordUpdates 4.2490 us/op
mainnet_e58758 - phase0 afterProcessEpoch 123.71 ms/op
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.6938 ms/op
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.5910 ms/op
altair processInactivityUpdates - 250000 normalcase 22.510 ms/op
altair processInactivityUpdates - 250000 worstcase 22.531 ms/op
phase0 processRegistryUpdates - 250000 normalcase 10.476 us/op
phase0 processRegistryUpdates - 250000 badcase_full_deposits 457.24 us/op
phase0 processRegistryUpdates - 250000 worstcase 0.5 144.33 ms/op
altair processRewardsAndPenalties - 250000 normalcase 72.999 ms/op
altair processRewardsAndPenalties - 250000 worstcase 67.031 ms/op
phase0 getAttestationDeltas - 250000 normalcase 9.7567 ms/op
phase0 getAttestationDeltas - 250000 worstcase 9.6792 ms/op
phase0 processSlashings - 250000 worstcase 2.7447 ms/op
altair processSyncCommitteeUpdates - 250000 178.83 ms/op
BeaconState.hashTreeRoot - No change 302.00 ns/op
BeaconState.hashTreeRoot - 1 full validator 64.507 us/op
BeaconState.hashTreeRoot - 32 full validator 633.75 us/op
BeaconState.hashTreeRoot - 512 full validator 6.7563 ms/op
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 76.720 us/op
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.0601 ms/op
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 14.115 ms/op
BeaconState.hashTreeRoot - 1 balances 63.343 us/op
BeaconState.hashTreeRoot - 32 balances 525.09 us/op
BeaconState.hashTreeRoot - 512 balances 5.2999 ms/op
BeaconState.hashTreeRoot - 250000 balances 88.302 ms/op
aggregationBits - 2048 els - zipIndexesInBitList 17.317 us/op
regular array get 100000 times 49.585 us/op
wrappedArray get 100000 times 50.049 us/op
arrayWithProxy get 100000 times 16.643 ms/op
ssz.Root.equals 250.00 ns/op
byteArrayEquals 241.00 ns/op
shuffle list - 16384 els 8.3823 ms/op
shuffle list - 250000 els 123.65 ms/op
processSlot - 1 slots 10.444 us/op
processSlot - 32 slots 1.5886 ms/op
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 56.973 ms/op
getCommitteeAssignments - req 1 vs - 250000 vc 3.2212 ms/op
getCommitteeAssignments - req 100 vs - 250000 vc 4.7802 ms/op
getCommitteeAssignments - req 1000 vs - 250000 vc 5.2780 ms/op
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 6.9800 ns/op
state getBlockRootAtSlot - 250000 vs - 7PWei 783.68 ns/op
computeProposers - vc 250000 11.274 ms/op
computeEpochShuffling - vc 250000 144.16 ms/op
getNextSyncCommittee - vc 250000 224.31 ms/op
computeSigningRoot for AttestationData 18.080 us/op
hash AttestationData serialized data then Buffer.toString(base64) 3.0727 us/op
toHexString serialized data 1.8223 us/op
Buffer.toString(base64) 300.25 ns/op

by benchmarkbot/action

@wemeetagain wemeetagain closed this Aug 1, 2023
@wemeetagain wemeetagain deleted the rc/v1.10.0 branch August 1, 2023 17:03
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.

9 participants