Skip to content

feat: Allow changing subnet_admins via UpdateSubnetPayload#10113

Draft
r-birkner wants to merge 2 commits intomasterfrom
rjb/make-subnet-admin-configurable-via-proposal
Draft

feat: Allow changing subnet_admins via UpdateSubnetPayload#10113
r-birkner wants to merge 2 commits intomasterfrom
rjb/make-subnet-admin-configurable-via-proposal

Conversation

@r-birkner
Copy link
Copy Markdown
Contributor

  • Adds optional subnet_admins: Option<Vec<PrincipalId>> to UpdateSubnetPayload so NNS proposals can replace a subnet's admin list (None = leave unchanged, Some(vec![]) = clear, Some(vec![...]) = replace). Wired through merge_subnet_record and exposed in ic-admin as --subnet-admins.
  • Promotes the max-10 cap on subnet_admins from a local constant in do_update_subnet_admins to a registry invariant in invariants::subnet, so it's enforced uniformly on every mutation. The existing rented/cloud-engine constraint on having admins at all stays in the same invariant.
  • Coexists with the Subnet Rental Canister's existing update_subnet_admins ingress (unchanged); that path keeps its Add/Remove/Clear semantics, rate limiting, and stricter "Application + Free" check.

No new proposal type, and no new validation in do_update_subnet — relies on the registry invariant for both the type/cost-schedule rule and the count cap, mirroring do_create_subnet.

Adds an optional `subnet_admins` field to `UpdateSubnetPayload` so NNS
proposals can replace a subnet's admin list. Coexists with the
Subnet Rental Canister's existing `update_subnet_admins` path, which is
unchanged.

Promotes the max-10 cap on `subnet_admins` from a local constant in
`do_update_subnet_admins` to a registry invariant in `invariants::subnet`,
so the cap is enforced uniformly on every mutation.
@github-actions github-actions Bot added the feat label May 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant