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

cherry pick keyless into v1.10.1 #12616

Merged
merged 2 commits into from
Mar 21, 2024

Conversation

alinush
Copy link
Contributor

@alinush alinush commented Mar 20, 2024

Description

This PR cherry picks two changes:

  1. Fix public_inputs_hash generation when extra_field not set and serde deserialization bugs. Add google as provider for devnet #12476 (except for the devnet-only Google OIDC provider; Google is set as the default provider for all networks during genesis in v1.10)
  2. [keyless] update feature gating & match alg field & fix passkey-based EPK serialization #12521

Type of Change

  • Cherry pick
  • New feature
  • Bug fix
  • Breaking change
  • Performance improvement
  • Refactoring
  • Dependency update
  • Documentation update

Which Components or Systems Does This Change Impact?

  • Validator Node
  • Full Node (API, Indexer, etc.)
  • Move/Aptos Virtual Machine
  • Aptos Framework
  • Aptos CLI/SDK
  • Developer Infrastructure
  • Other (specify)

How Has This Been Tested?

See original PRs.

Key Areas to Review

See original PRs.

Checklist

  • I have read and followed the CONTRIBUTING doc
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I identified and added all stakeholders and component owners affected by this change as reviewers
  • I tested both happy and unhappy path of the functionality
  • I have made corresponding changes to the documentation

Copy link

trunk-io bot commented Mar 20, 2024

⏱️ 7h 55m total CI duration on this PR
Job Cumulative Duration Recent Runs
windows-build 1h 28m 🟥🟥🟩🟩🟩
rust-unit-tests 1h 18m 🟩
rust-move-unit-coverage 1h 16m 🟥🟥🟩
rust-move-tests 47m 🟥🟥🟩🟩
rust-smoke-tests 32m 🟩
rust-lints 25m 🟥🟥🟩🟩
execution-performance / single-node-performance 21m 🟩
check 17m 🟩🟩🟩🟩
rust-images / rust-all 17m 🟩
run-tests-main-branch 15m 🟥🟥🟥🟥
forge-compat-test / forge 15m 🟩
forge-e2e-test / forge 14m 🟩
check-dynamic-deps 10m 🟩🟩🟩🟩🟩
general-lints 8m 🟩🟩🟩🟩
cli-e2e-tests / run-cli-tests 6m 🟩
semgrep/ci 2m 🟩🟩🟩🟩🟩
node-api-compatibility-tests / node-api-compatibility-tests 55s 🟩
file_change_determinator 50s 🟩🟩🟩🟩🟩
file_change_determinator 50s 🟩🟩🟩🟩🟩
permission-check 15s 🟩🟩🟩🟩🟩
permission-check 15s 🟩🟩🟩🟩🟩
permission-check 14s 🟩🟩🟩🟩🟩
permission-check 13s 🟩🟩🟩🟩🟩
execution-performance / file_change_determinator 12s 🟩
file_change_determinator 9s 🟩
permission-check 2s 🟩
determine-docker-build-metadata 2s 🟩

🚨 2 jobs on the last run were significantly faster/slower than expected

Job Duration vs 7d avg Delta
rust-move-unit-coverage 35m 18m +91%
rust-unit-tests 36m 27m +32%

settingsfeedbackdocs ⋅ learn more about trunk.io

Copy link
Contributor Author

@alinush alinush left a comment

Choose a reason for hiding this comment

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

Self review done.

@alinush alinush marked this pull request as ready for review March 20, 2024 20:55
@alinush alinush force-pushed the alin/cherry-pick-keyless-v1.10.1 branch 2 times, most recently from 2f357be to c12efe3 Compare March 20, 2024 21:05
@alinush alinush requested review from sherry-x and igor-aptos March 20, 2024 21:05
heliuchuan and others added 2 commits March 20, 2024 14:37
…deserialization bugs. Add google as provider for devnet (#12476)

* fix bugs

* update

* add google as default provider for chain ids above 100

* fix

* use lazy

* remove unused deps

* lint
* keyless feature gating should allow zkless mode on its own

* keyless txn verification should match the JWK alg with the JWT header alg
@alinush alinush force-pushed the alin/cherry-pick-keyless-v1.10.1 branch from c12efe3 to 6cfb39a Compare March 20, 2024 21:37
@alinush alinush enabled auto-merge (squash) March 20, 2024 21:38

This comment has been minimized.

This comment has been minimized.

Copy link
Contributor

✅ Forge suite realistic_env_max_load success on 6cfb39a3d16987c2c66ec4b577459e3b4c195511

two traffics test: inner traffic : committed: 7735 txn/s, latency: 5052 ms, (p50: 4800 ms, p90: 5800 ms, p99: 11800 ms), latency samples: 3357420
two traffics test : committed: 100 txn/s, latency: 2080 ms, (p50: 1900 ms, p90: 2300 ms, p99: 7900 ms), latency samples: 1780
Latency breakdown for phase 0: ["QsBatchToPos: max: 0.225, avg: 0.204", "QsPosToProposal: max: 0.195, avg: 0.185", "ConsensusProposalToOrdered: max: 0.522, avg: 0.492", "ConsensusOrderedToCommit: max: 0.393, avg: 0.377", "ConsensusProposalToCommit: max: 0.900, avg: 0.869"]
Max round gap was 1 [limit 4] at version 1501893. Max no progress secs was 7.480319 [limit 15] at version 1501893.
Test Ok

Copy link
Contributor

✅ Forge suite compat success on aptos-node-v1.9.5 ==> 6cfb39a3d16987c2c66ec4b577459e3b4c195511

Compatibility test results for aptos-node-v1.9.5 ==> 6cfb39a3d16987c2c66ec4b577459e3b4c195511 (PR)
1. Check liveness of validators at old version: aptos-node-v1.9.5
compatibility::simple-validator-upgrade::liveness-check : committed: 6976 txn/s, latency: 4768 ms, (p50: 4800 ms, p90: 7500 ms, p99: 8100 ms), latency samples: 244160
2. Upgrading first Validator to new version: 6cfb39a3d16987c2c66ec4b577459e3b4c195511
compatibility::simple-validator-upgrade::single-validator-upgrade : committed: 702 txn/s, latency: 34478 ms, (p50: 37300 ms, p90: 53000 ms, p99: 55700 ms), latency samples: 58300
3. Upgrading rest of first batch to new version: 6cfb39a3d16987c2c66ec4b577459e3b4c195511
compatibility::simple-validator-upgrade::half-validator-upgrade : committed: 445 txn/s, submitted: 667 txn/s, expired: 222 txn/s, latency: 29571 ms, (p50: 36000 ms, p90: 53100 ms, p99: 59100 ms), latency samples: 32970
4. upgrading second batch to new version: 6cfb39a3d16987c2c66ec4b577459e3b4c195511
compatibility::simple-validator-upgrade::rest-validator-upgrade : committed: 2365 txn/s, latency: 12417 ms, (p50: 12400 ms, p90: 18100 ms, p99: 18400 ms), latency samples: 113540
5. check swarm health
Compatibility test for aptos-node-v1.9.5 ==> 6cfb39a3d16987c2c66ec4b577459e3b4c195511 passed
Test Ok

Copy link

codecov bot commented Mar 20, 2024

Codecov Report

Attention: Patch coverage is 44.00000% with 14 lines in your changes are missing coverage. Please review.

❗ No coverage uploaded for pull request base (aptos-release-v1.10@5ef3b29). Click here to learn what that means.

Files Patch % Lines
aptos-move/aptos-vm/src/keyless_validation.rs 47.3% 10 Missing ⚠️
types/src/keyless/bn254_circom.rs 0.0% 2 Missing ⚠️
types/src/transaction/authenticator.rs 0.0% 2 Missing ⚠️
Additional details and impacted files
@@                  Coverage Diff                   @@
##             aptos-release-v1.10   #12616   +/-   ##
======================================================
  Coverage                       ?    71.7%           
======================================================
  Files                          ?      811           
  Lines                          ?   185696           
  Branches                       ?        0           
======================================================
  Hits                           ?   133204           
  Misses                         ?    52492           
  Partials                       ?        0           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@alinush alinush merged commit e423410 into aptos-release-v1.10 Mar 21, 2024
80 of 83 checks passed
@alinush alinush deleted the alin/cherry-pick-keyless-v1.10.1 branch March 21, 2024 00:01
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