Skip to content

feat: CON-1718 Introduce Proposal to set Default Initial DKG Subnet#10242

Merged
eichhorl merged 7 commits into
masterfrom
eichhorl/default-dkg-subnet-registry
May 21, 2026
Merged

feat: CON-1718 Introduce Proposal to set Default Initial DKG Subnet#10242
eichhorl merged 7 commits into
masterfrom
eichhorl/default-dkg-subnet-registry

Conversation

@eichhorl
Copy link
Copy Markdown
Contributor

@eichhorl eichhorl commented May 18, 2026

Background

#9782 introduced the ability to route SetupInitialDKG requests (caused by subnet creation/recovery/splitting) to arbitrary subnets, instead of always handling them on NNS.

This was done by extending proposal payloads to create/recover/split/rent a subnet with an optional SubnetId field, to which the request should be routed.

Proposed Changes

The approach above delegates the responsibility of choosing a suitable subnet to the proposer, which is brittle and difficult to test.

Instead, this PR introduces a registry key holding a "default initial DKG subnet" to which all SetupInitialDKG requests should be routed, unless specified otherwise by the proposal payload.

In particular, we:

  • Introduce a new proposal to set/unset this new registry key
  • Add ic-admin support to submit the proposal and query the current default subnet
  • Add a registry invariant that the default initial DKG subnet must exist
  • Populate the default initial DKG subnet in the replicated state's NetworkTopology based on the value in registry

Note that it must still be possible to override the default initial DKG subnet (at least as part of the recovery proposal), for the case that the default DKG subnet is the one being recovered.

Future Work

Extend the create_subnet system test to include a default initial DKG subnet, once the functionality is supported by mainnet NNS canisters.

@github-actions github-actions Bot added the feat label May 18, 2026
@eichhorl eichhorl changed the title feat: default dkg subnet registry feat: CON-1718 Introduce Proposal to set Default Initial DKG Subnet May 18, 2026
@eichhorl eichhorl marked this pull request as ready for review May 18, 2026 11:16
@eichhorl eichhorl requested review from a team as code owners May 18, 2026 11:16
Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

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

This pull request changes code owned by the Governance team. Therefore, make sure that
you have considered the following (for Governance-owned code):

  1. Update unreleased_changelog.md (if there are behavior changes, even if they are
    non-breaking).

  2. Are there BREAKING changes?

  3. Is a data migration needed?

  4. Security review?

How to Satisfy This Automatic Review

  1. Go to the bottom of the pull request page.

  2. Look for where it says this bot is requesting changes.

  3. Click the three dots to the right.

  4. Select "Dismiss review".

  5. In the text entry box, respond to each of the numbered items in the previous
    section, declare one of the following:

  • Done.

  • $REASON_WHY_NO_NEED. E.g. for unreleased_changelog.md, "No
    canister behavior changes.", or for item 2, "Existing APIs
    behave as before.".

Brief Guide to "Externally Visible" Changes

"Externally visible behavior change" is very often due to some NEW canister API.

Changes to EXISTING APIs are more likely to be "breaking".

If these changes are breaking, make sure that clients know how to migrate, how to
maintain their continuity of operations.

If your changes are behind a feature flag, then, do NOT add entrie(s) to
unreleased_changelog.md in this PR! But rather, add entrie(s) later, in the PR
that enables these changes in production.

Reference(s)

For a more comprehensive checklist, see here.

GOVERNANCE_CHECKLIST_REMINDER_DEDUP

@eichhorl eichhorl requested review from jasonz-dfinity and yhabib May 18, 2026 11:17
@eichhorl eichhorl dismissed github-actions[bot]’s stale review May 18, 2026 11:18
  1. Changelog updated
  2. No breaking changes
  3. No data migration needed
  4. No security review needed
Copy link
Copy Markdown
Contributor

@michael-weigelt michael-weigelt left a comment

Choose a reason for hiding this comment

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

Core protocol lgtm

Comment thread rs/registry/canister/src/invariants/subnet.rs
@eichhorl eichhorl added this pull request to the merge queue May 21, 2026
Merged via the queue into master with commit 72cec65 May 21, 2026
83 of 86 checks passed
@eichhorl eichhorl deleted the eichhorl/default-dkg-subnet-registry branch May 21, 2026 22:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants