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

feat: add spec-tests-bls from lodestar and update download-spec-test logic #144

Merged
merged 5 commits into from
May 22, 2024

Conversation

matthewkeil
Copy link
Member

@matthewkeil matthewkeil commented May 8, 2024

Split off from #143

Inclusions

  • Add bls specific spec tests that were originally in lodestar repo
  • Update existing spec test version
  • Update process/code for downloading spec tests
  • Copy spec helper functions from lodestar with the spec tests found in bls specific tests
  • Updates workflow to not test node v16 and adds support for node v19 and v22

@matthewkeil matthewkeil requested a review from a team as a code owner May 8, 2024 16:27
Copy link

github-actions bot commented May 8, 2024

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: d879634 Previous: - Ratio
PublicKey serialization 995.00 ns/op
PublicKey deserialize 22.998 us/op
PublicKey deserialize and validate - 1 keys 83.882 us/op
PublicKey deserialize and validate - 100 keys 8.2794 ms/op
PublicKey deserialize and validate - 10000 keys 834.84 ms/op
SecretKey.fromKeygen 2.3630 us/op
SecretKey serialization 872.00 ns/op
SecretKey deserialization 1.5790 us/op
SecretKey.toPublicKey 138.35 us/op
SecretKey.sign 534.64 us/op
Signature serialization 1.0680 us/op
Signature deserialize 44.288 us/op
Signatures deserialize and validate - 1 sets 121.08 us/op
Signatures deserialize and validate - 100 sets 11.977 ms/op
Signatures deserialize and validate - 10000 sets 1.2035 s/op
aggregatePublicKeys - 1 sets 2.5170 us/op
aggregatePublicKeys - 8 sets 10.529 us/op
aggregatePublicKeys - 32 sets 38.136 us/op
aggregatePublicKeys - 128 sets 147.88 us/op
aggregatePublicKeys - 256 sets 296.91 us/op
aggregateSignatures - 1 sets 4.2820 us/op
aggregateSignatures - 8 sets 23.973 us/op
aggregateSignatures - 32 sets 91.102 us/op
aggregateSignatures - 128 sets 360.39 us/op
aggregateSignatures - 256 sets 725.20 us/op
aggregateVerify - 1 sets 1.5743 ms/op
aggregateVerify - 8 sets 5.7269 ms/op
aggregateVerify - 32 sets 20.351 ms/op
aggregateVerify - 128 sets 78.786 ms/op
aggregateVerify - 256 sets 156.78 ms/op
verifyMultipleAggregateSignatures - 1 sets 1.7437 ms/op
verifyMultipleAggregateSignatures - 8 sets 7.0554 ms/op
verifyMultipleAggregateSignatures - 32 sets 25.739 ms/op
verifyMultipleAggregateSignatures - 128 sets 99.997 ms/op
verifyMultipleAggregateSignatures - 256 sets 198.78 ms/op
Same message - 1 sets 1.7017 ms/op
Same message - 8 sets 2.5732 ms/op
Same message - 32 sets 5.5569 ms/op
Same message - 128 sets 17.393 ms/op
Same message - 256 sets 33.189 ms/op
libuv multithreading - addVerificationRandomness true 23.761 s/op
libuv multithreading - addVerificationRandomness false 23.763 s/op

by benchmarkbot/action

@@ -21,10 +21,11 @@ jobs:
fail-fast: false
matrix:
node:
- 16
Copy link
Member Author

Choose a reason for hiding this comment

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

am using native node fetch to download spec tests so dropped support for 16

* Generic Github release downloader.
* Used by spec tests and SlashingProtectionInterchangeTest
*/
export async function downloadTests(
Copy link
Member Author

Choose a reason for hiding this comment

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

This was pulled out of @lodestar/spec-test-utils but that is an ESM module and has vitest as a sub-dep. vitest is ESM only so @lodestar/spec-test-utils cannot be imported

@wemeetagain wemeetagain merged commit a0fecc0 into master May 22, 2024
28 checks passed
@wemeetagain wemeetagain deleted the mkeil/add-bls-spec-tests branch May 22, 2024 12:48
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.

None yet

2 participants