NNS Updates 2025-07-18

The NNS Team submitted the following proposals. DFINITY plans to vote on these proposals the following Monday.

Proposals to be Submitted

Governance

https://dashboard.internetcomputer.org/proposal/137499

# Upgrade the Governance Canister to Commit 65f66f1

__Proposer__: daniel.wong at dfinity.org

__Source code__: [65f66f13fe07b3266ac9d1b44413fd5f0e9b4463][new-commit]

[new-commit]: https://github.com/dfinity/ic/tree/65f66f13fe07b3266ac9d1b44413fd5f0e9b4463


## Features & Fixes

###  Added

* Minor improvements on voting power spike detection mechanism.


## New Commits

```
$ git log --format="%C(auto) %h %s" 5128134d24b7a5b8e24a3d5d40c4cce9d81fd375..65f66f13fe07b3266ac9d1b44413fd5f0e9b4463 --  ./rs/nns/governance ./rs/sns/init
 b6696ce01a feat(nns): Add a staleness metric for voting power snapshots (#5933)
 02763b874b test(nns-governance): Test for FulfillSubnetRentalRequest::validate. (#5895)
 758347643c feat(sns): add `Root.register_extension` (#5946)
 3206a4ba77 chore(nns/sns): Release notes (#5911)
```


## Current Version

__Current git hash__: 5128134d24b7a5b8e24a3d5d40c4cce9d81fd375

__Current wasm hash__: 2dfffe9149d8e5b61f2e5a3de79c6fece4e50cc57d1653ae519914dec2de68d4


## Verification

See the general instructions on [how to verify] proposals like this. A "quick
start" guide is provided here.

[how to verify]: https://github.com/dfinity/ic/tree/65f66f13fe07b3266ac9d1b44413fd5f0e9b4463/rs/nervous_system/docs/proposal_verification.md


### WASM Verification

See ["Building the code"][prereqs] for prerequisites.

[prereqs]: https://github.com/dfinity/ic/tree/65f66f13fe07b3266ac9d1b44413fd5f0e9b4463/README.adoc#building-the-code

```
# 1. Get a copy of the code.
git clone git@github.com:dfinity/ic.git
cd ic
# Or, if you already have a copy of the ic repo,
git fetch
git checkout 65f66f13fe07b3266ac9d1b44413fd5f0e9b4463

# 2. Build canisters.
./ci/container/build-ic.sh -c

# 3. Fingerprint the result.
sha256sum ./artifacts/canisters/governance-canister.wasm.gz
```

This should match `wasm_module_hash` field of this proposal.

Registry

https://dashboard.internetcomputer.org/proposal/137500

# Upgrade the Registry Canister to Commit 65f66f1

__Proposer__: daniel.wong at dfinity.org

__Source code__: [65f66f13fe07b3266ac9d1b44413fd5f0e9b4463][new-commit]

[new-commit]: https://github.com/dfinity/ic/tree/65f66f13fe07b3266ac9d1b44413fd5f0e9b4463


## Features & Fixes

Back fill some node records with reward type.


## New Commits

```
$ git log --format="%C(auto) %h %s" 5128134d24b7a5b8e24a3d5d40c4cce9d81fd375..65f66f13fe07b3266ac9d1b44413fd5f0e9b4463 --  ./rs/registry/canister
 c9bc66d60d feat: Add new node type mappings for nodes in the registry (#5918)
 3206a4ba77 chore(nns/sns): Release notes (#5911)
 054b2e32d7 perf(registry): Benchmark for canister migration (#5807)
 f0e6f87a89 chore: Remove deprecated `EcdsaConfig` (#5899)
 28f77acbda refactor(registry): Remove the shards.is_empty condition for asserting the equality of the 2 routing table formats (#5896)
```


## Current Version

__Current git hash__: 5128134d24b7a5b8e24a3d5d40c4cce9d81fd375

__Current wasm hash__: aa91c2298025569b78a7f6bc88150e6d0d799925f13a18043e500feb1bdb36ab


## Verification

See the general instructions on [how to verify] proposals like this. A "quick
start" guide is provided here.

[how to verify]: https://github.com/dfinity/ic/tree/65f66f13fe07b3266ac9d1b44413fd5f0e9b4463/rs/nervous_system/docs/proposal_verification.md


### WASM Verification

See ["Building the code"][prereqs] for prerequisites.

[prereqs]: https://github.com/dfinity/ic/tree/65f66f13fe07b3266ac9d1b44413fd5f0e9b4463/README.adoc#building-the-code

```
# 1. Get a copy of the code.
git clone git@github.com:dfinity/ic.git
cd ic
# Or, if you already have a copy of the ic repo,
git fetch
git checkout 65f66f13fe07b3266ac9d1b44413fd5f0e9b4463

# 2. Build canisters.
./ci/container/build-ic.sh -c

# 3. Fingerprint the result.
sha256sum ./artifacts/canisters/registry-canister.wasm.gz
```

This should match `wasm_module_hash` field of this proposal.

137499 137500

@daniel-wong would you please consider making these parent posts for Protocol Canister Management proposals searchable by proposal id? When the url is provided, the forum search engine does not recognize the proposal ID.

Proposal 137499 | Gautier - CodeGov - Trial Period

image

Governance Canister Upgrade

Build Success, Hashes match.

Vote : Approve

[b6696ce01a] feat(nns): Add a staleness metric for voting power snapshots (#5933) - Minor improvement, add governance_voting_power_snapshots_time_since_latest_snapshot_seconds metrics, giving the times when the last VP snapshot has been taken.

[02763b874b] test(nns-governance): Test for FulfillSubnetRentalRequest::validate. (#5895) - add test for FulfillSubnetRentalRequest::validate

[758347643c] feat(sns): add Root.register_extension (#5946) - Add new method Root.register_extension. First extension will be SNS Liquidity Pools extension.

[3206a4ba77] chore(nns/sns): Release notes (#5911)

Proposal 137500

Registry Upgrade

Build Success, Hashes match.

Vote : Approve

[c9bc66d60d] feat: Add new node type mappings for nodes in the registry (#5918) - removed a lot of previous nodes, and changed the mapping.

[054b2e32d7] perf(registry): Benchmark for canister migration (#5807) - Adding benchmark for canister migration

[f0e6f87a89] chore: Remove deprecated EcdsaConfig (#5899) - cleanup unused code

[28f77acbda] refactor(registry): Remove the shards.is_empty condition for asserting the equality of the 2 routing table formats (#5896) - Remove shards.is_empty condition and add temporary method : insert_routing_table_to_snapshot, which will be removed once sharded table is supported by all clients.

[3206a4ba77] chore(nns/sns): Release notes (#5911)

About CodeGov
CodeGov has a team of developers who review and vote independently on the following proposal topics: IC-OS Version Election, Protocol Canister Management, Subnet Management, Node Admin, and Participant Management. The CodeGov NNS known neuron is configured to follow our reviewers on these technical topics. We also have a group of Followees who vote independently on the Governance and the SNS & Neuron's Fund topics. We strive to be a credible and reliable Followee option that votes on every proposal and every proposal topic in the NNS. We also support decentralization of SNS projects such as WaterNeuron, KongSwap, and Alice with a known neuron and credible Followees.

Learn more about CodeGov and its mission at codegov.org.
1 Like

Proposal 137499 – LaCosta | CodeGov

Vote: ADOPT

Governance Canister


Reason:
Build successful and hashes match, commits look great and match the description. Found no issues.

[b6696ce01a]: Adds a new metric governance_voting_power_snapshots_time_since_latest_snapshot_seconds

[02763b874b]: Updates error messages in FulfillSubnetRentalRequest::validate and implements a test for this method.

[758347643c]: Adds a new method register_extension which is controlled by both the Root and Governance canister of the particular SNS. This method allows SNSs to register canister extensions, for a look into what this could look like, the first SNS extensions proposed is a SNS Liquidity Pools extension.

[3206a4ba77]: Updates change logs to include adopted proposals and corresponding changes.

Proposal 137500 – LaCosta | CodeGov

Vote: ADOPT

Registry Canister

image
Reason:
Build successful and hashes match, commits look great and match the description. Found no issues.

Contains duplicate commits from previous proposals

[c9bc66d60d]: Updates the MISSING_NODE_TYPES_MAP

[054b2e32d7]: Adds multiple benchmarks for canister migration

[f0e6f87a89]: Removes depecrated EcdsaConfig

[28f77acbda]: Removes the condition if !shards.is_empty() that pre migration allowed check_routing_table_invariants to skip the assertion betwenn the 2 routing table formats, rt_from_shards and rt_from_routing_table_record.

About CodeGov
CodeGov has a team of developers who review and vote independently on the following proposal topics: IC-OS Version Election, Protocol Canister Management, Subnet Management, Node Admin, and Participant Management. The CodeGov NNS known neuron is configured to follow our reviewers on these technical topics. We also have a group of Followees who vote independently on the Governance and the SNS & Neuron's Fund topics. We strive to be a credible and reliable Followee option that votes on every proposal and every proposal topic in the NNS. We also support decentralization of SNS projects such as WaterNeuron, KongSwap, and Alice with a known neuron and credible Followees.

Learn more about CodeGov and its mission at codegov.org.
1 Like

proposals - [137499, 137500] Cyberowl | CodeGov

Proposals:

137499
137500

Vote: [ADOPT, ADOPT]

Reason & Feedback:

I successfully built and verified the hash. All the commit descriptions match their code changes.

Checks:

Hash Match: [PASS, PASS]
Target Canister: [PASS, PASS]
Proposer Check: [PASS, PASS]

Commits Summary

proposal/137499 (Governance)

b6696ce01a
4 modified

Fixed voting power snapshots to capture not just latest_snapshot_is_spike but also latest_snapshot_timestamp_seconds. New metric governance_voting_power_snapshots_time_since_latest_snapshot_seconds. Refactor bench voting_power_snapshots_is_latest_snapshot_a_spike into two functions set_up_snapshots and populate_snapshots which are then used in the benches.

02763b874b
1 modified, 1 added

validate method now checks if the collected defects vector is non-empty. If so, it constructs and returns a single GovernanceError that includes all validation issues concatenated into one message.

758347643c
12 modified

Support for extension canisters in the SNS Root, which are similar to dapp canisters but are controlled by both the Root and Governance canisters and are listed separately in responses like ListSnsCanistersResponse. A new API method register_extension is added to register these canisters, with validation to ensure proper controllers, prevent duplicates or overlaps with dapps/SNS canisters, and enforce a combined registration limit of 100 for dapps and extensions.

3206a4ba77
6 modified

Update change logs.

proposal/137500 (Registry)

c9bc66d60d
2 modified

New set of MISSING_NODE_TYPES_MAP.

054b2e32d7
9 modified, 1 added

Single-entry routing table retrieval and comparison with the sharded routing table are skipped. Addition of performance benchmarks for routing table operations (canister migrations, upgrades, and subnet lookups).

f0e6f87a89
8 modified

Removes the EcdsaConfig message from the subnet protobuf definitions and the use of ChainKeyConfig instead. It updates the protobuf generator to eliminate specific type attributes for EcdsaConfig.

28f77acbda
2 modified

Removes !shards.is_empty() check, sicne now shards are never empty. Clean up.

About CodeGov
CodeGov has a team of developers who review and vote independently on the following proposal topics: IC-OS Version Election, Protocol Canister Management, Subnet Management, Node Admin, and Participant Management. The CodeGov NNS known neuron is configured to follow our reviewers on these technical topics. We also have a group of Followees who vote independently on the Governance and the SNS & Neuron's Fund topics. We strive to be a credible and reliable Followee option that votes on every proposal and every proposal topic in the NNS. We also support decentralization of SNS projects such as WaterNeuron, KongSwap, and Alice with a known neuron and credible Followees.

Learn more about CodeGov and its mission at codegov.org.

Proposal 137499 | Tim - CodeGov

Screenshot 2025-07-21 142447

Vote: Adopt

Reason: This proposal upgrades the Governance canister. Build is successful, hashes match, commits match descriptions and the reasoning behind the changes is sound. Commits are reviewed below.

[b6696ce01a]
Splits the existing voting_power_snapshots_is_latest_snapshot_a_spike benchmark into voting_power_snapshots_is_latest_snapshot_a_spike_false and voting_power_snapshots_is_latest_snapshot_a_spike_true, adds voting_power_snapshots_latest_snapshot_timestamp_seconds benchmark and adds a new metric governance_voting_power_snapshots_time_since_latest_snapshot_seconds.

[02763b874b]
Adds test_validate_fulfill_subnet_rental_request and rewords some error messages in FulfillSubnetRentalRequest::validate.

[758347643c]
Adds update method register_extension to the SNS Root canister. Controllers for an extension canister are set exclusively as the root and governance canisters of the SNS, so long as the root canister is already a controller.

[3206a4ba77]
Updates changelog files.

Proposal 137500

Vote: Adopt

Reason: This proposal upgrades the Registry canister. Build is successful, hashes match, commits match descriptions and the reasoning behind the changes is sound. Commits are reviewed below.

[c9bc66d60d]
Updates MISSING_NODE_TYPES_MAP with a new set of mappings.

[3206a4ba77]
Reviewed above.

[054b2e32d7]
Adds new benchmarks, 3 for each of get_subnet_for_canister_100_times_..., migrate_canisters_10_times_... and upgrade_with_routing_table_... so as to test for 100, 1000 and 10000 canister migrations. Adds flag is_routing_table_single_entry_obsolete. These are then implemented as outlined in the commit notes.

[f0e6f87a89]
Removes EcdsaConfig type (defined separately in various code sections) as this has now been superseded by ChainKeyConfig.

[28f77acbda]
Removes the condition if !shards.is_empty() (i.e. if shards isn’t empty) from the equality check between routing tables from shards and routing table record. Modifies routing table tests so that they now make use of the canister ranges key to prepare shards.

About CodeGov
CodeGov has a team of developers who review and vote independently on the following proposal topics: IC-OS Version Election, Protocol Canister Management, Subnet Management, API Boundary API Boundary Node Management, Node Admin and Participant Management. The CodeGov NNS known neuron is configured to follow our reviewers on these technical topics. We also have a group of Followees who vote independently on the Governance and the SNS & Neurons' Fund topics. We strive to be a credible and reliable Followee option that votes on every proposal and every proposal topic in the NNS. We also support decentralisation of SNS projects such as WaterNeuron, KongSwap, and Alice with a known neuron and credible Followees.

Learn more about CodeGov and its mission at codegov.org.
1 Like