Skip to content

susetting jwk_consensus_config from genesis#19494

Open
zjma wants to merge 1 commit intomainfrom
zjma/genesis-jwk-update
Open

susetting jwk_consensus_config from genesis#19494
zjma wants to merge 1 commit intomainfrom
zjma/genesis-jwk-update

Conversation

@zjma
Copy link
Copy Markdown
Contributor

@zjma zjma commented Apr 18, 2026

Description

jwk_consensus_config.move is a new implementation of (the types & funcs of) JWK consensus-related configs originally implemented in jwks.move.

But soon we realized we will be fine with jwks.move and decided to not bother going through a governance proposal just for this. As a result, the feature reached devnet but never reached testnet+.

This change is to sunset the feature even in devnet for consistency across all networks.

How Has This Been Tested?

Existing tests.

Key Areas to Review

n/a

Type of Change

  • Refactoring

Which Components or Systems Does This Change Impact?

  • Other (genesis)

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

Note

Medium Risk
Changes genesis initialization flow for JWK consensus by seeding on-chain jwks resources (providers and patches) at genesis and removing the older set_patches-during-keyless init path, which could affect devnet/testnet genesis outputs and JWK availability.

Overview
Moves JWKS setup to be fully genesis-driven by adding 0x1::jwks::initialize_with_defaults(providers, patches) and invoking it from vm-genesis, seeding SupportedOIDCProviders and Patches up front and immediately regenerating PatchedJWKs.

Genesis logic now derives the default OIDC provider list from jwk_consensus_config_override and applies initial JWK patches (including a non-mainnet test key) during JWKS initialization, removing the prior jwk_consensus_config initialization hook and the later set_patches call from keyless account setup. Rust types gain AsMoveValue for OIDCProvider to pass providers into Move.

Reviewed by Cursor Bugbot for commit 154aec1. Bugbot is set up for automated code reviews on this repo. Configure here.

@zjma zjma force-pushed the zjma/genesis-jwk-update branch from d3acfe1 to 38839c5 Compare April 18, 2026 11:13
@zjma zjma marked this pull request as ready for review April 18, 2026 11:13
@zjma zjma changed the title genesis jwk updates susetting jwk_consensus_config from genesis Apr 18, 2026
@zjma zjma enabled auto-merge (squash) April 18, 2026 11:14
@zjma zjma requested review from JoshLind and alinush April 18, 2026 11:15
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@zjma zjma force-pushed the zjma/genesis-jwk-update branch from 38839c5 to 8096dd4 Compare April 20, 2026 20:00
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@zjma zjma force-pushed the zjma/genesis-jwk-update branch from ccf4491 to 154aec1 Compare April 21, 2026 00:45
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions
Copy link
Copy Markdown
Contributor

✅ Forge suite compat success on ca049383dd80675149ef2d0042668964f9f9107a ==> 154aec1e210e2a90d4b6f38a52da030b6c43c522

Compatibility test results for ca049383dd80675149ef2d0042668964f9f9107a ==> 154aec1e210e2a90d4b6f38a52da030b6c43c522 (PR)
1. Check liveness of validators at old version: ca049383dd80675149ef2d0042668964f9f9107a
compatibility::simple-validator-upgrade::liveness-check : committed: 14230.42 txn/s, latency: 2436.45 ms, (p50: 2400 ms, p70: 2800, p90: 3100 ms, p99: 3600 ms), latency samples: 466280
2. Upgrading first Validator to new version: 154aec1e210e2a90d4b6f38a52da030b6c43c522
compatibility::simple-validator-upgrade::single-validator-upgrade : committed: 6278.11 txn/s, latency: 5414.75 ms, (p50: 6000 ms, p70: 6000, p90: 6100 ms, p99: 6200 ms), latency samples: 217860
3. Upgrading rest of first batch to new version: 154aec1e210e2a90d4b6f38a52da030b6c43c522
compatibility::simple-validator-upgrade::half-validator-upgrade : committed: 6250.73 txn/s, latency: 5357.75 ms, (p50: 5900 ms, p70: 6000, p90: 6200 ms, p99: 6300 ms), latency samples: 214980
4. upgrading second batch to new version: 154aec1e210e2a90d4b6f38a52da030b6c43c522
compatibility::simple-validator-upgrade::rest-validator-upgrade : committed: 10867.02 txn/s, latency: 2987.00 ms, (p50: 3200 ms, p70: 3300, p90: 3500 ms, p99: 3600 ms), latency samples: 356380
5. check swarm health
Compatibility test for ca049383dd80675149ef2d0042668964f9f9107a ==> 154aec1e210e2a90d4b6f38a52da030b6c43c522 passed
Test Ok

@github-actions
Copy link
Copy Markdown
Contributor

✅ Forge suite realistic_env_max_load success on 154aec1e210e2a90d4b6f38a52da030b6c43c522

two traffics test: inner traffic : committed: 15921.58 txn/s, latency: 1081.26 ms, (p50: 1000 ms, p70: 1100, p90: 1200 ms, p99: 1600 ms), latency samples: 5946880
two traffics test : committed: 100.01 txn/s, latency: 837.55 ms, (p50: 800 ms, p70: 900, p90: 1000 ms, p99: 1100 ms), latency samples: 1660
Latency breakdown for phase 0: ["MempoolToBlockCreation: max: 0.292, avg: 0.255", "ConsensusProposalToOrdered: max: 0.114, avg: 0.108", "ConsensusOrderedToCommit: max: 0.194, avg: 0.167", "ConsensusProposalToCommit: max: 0.296, avg: 0.275"]
Max non-epoch-change gap was: 0 rounds at version 0 (avg 0.00) [limit 4], 0.60s no progress at version 24477 (avg 0.06s) [limit 15].
Max epoch-change gap was: 0 rounds at version 0 (avg 0.00) [limit 4], 0.31s no progress at version 3058246 (avg 0.31s) [limit 16].
Test Ok

@github-actions
Copy link
Copy Markdown
Contributor

✅ Forge suite framework_upgrade success on ca049383dd80675149ef2d0042668964f9f9107a ==> 154aec1e210e2a90d4b6f38a52da030b6c43c522

Compatibility test results for ca049383dd80675149ef2d0042668964f9f9107a ==> 154aec1e210e2a90d4b6f38a52da030b6c43c522 (PR)
Upgrade the nodes to version: 154aec1e210e2a90d4b6f38a52da030b6c43c522
framework_upgrade::framework-upgrade::full-framework-upgrade : committed: 2058.11 txn/s, submitted: 2066.34 txn/s, failed submission: 8.23 txn/s, expired: 8.23 txn/s, latency: 1535.00 ms, (p50: 1200 ms, p70: 1500, p90: 2400 ms, p99: 10900 ms), latency samples: 185021
framework_upgrade::framework-upgrade::full-framework-upgrade : committed: 2297.17 txn/s, submitted: 2306.32 txn/s, failed submission: 9.15 txn/s, expired: 9.15 txn/s, latency: 1268.24 ms, (p50: 1200 ms, p70: 1500, p90: 1700 ms, p99: 2300 ms), latency samples: 205821
5. check swarm health
Compatibility test for ca049383dd80675149ef2d0042668964f9f9107a ==> 154aec1e210e2a90d4b6f38a52da030b6c43c522 passed
Upgrade the remaining nodes to version: 154aec1e210e2a90d4b6f38a52da030b6c43c522
framework_upgrade::framework-upgrade::full-framework-upgrade : committed: 1832.92 txn/s, submitted: 1837.43 txn/s, failed submission: 4.51 txn/s, expired: 4.51 txn/s, latency: 2260.38 ms, (p50: 1200 ms, p70: 1500, p90: 2600 ms, p99: 17500 ms), latency samples: 154300
Test Ok

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.

3 participants