NNS Updates 2025-07-25

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

Proposals to be Submitted

Cycles-minting

# Upgrade the Cycles-minting Canister to Commit 4b7cde9

__Proposer__: jason.zhu at dfinity.org

__Source code__: [4b7cde9a0e3b5ad4725e75cbc36ce635be6fa6a8][new-commit]

[new-commit]: https://github.com/dfinity/ic/tree/4b7cde9a0e3b5ad4725e75cbc36ce635be6fa6a8


## Features & Fixes

###  Changed

* Cycles Minting Limit is not enforced for the Subnet Rental Canister when it is topping up itself.
  This is necessary for the canister to mint large amounts of cycles to pay for the subnet rentals.


## New Commits

```
$ git log --format="%C(auto) %h %s" 250daf4dd0cf7ea74c496b45457dd47ced16368c..4b7cde9a0e3b5ad4725e75cbc36ce635be6fa6a8 --  ./rs/nns/cmc
 1c325081a0 fix(cmc): Change version to correctly reflect the State version (#6058)
 1da26cc6ff feat(cmc): Separate cycles minting limit for Subnet Rental Canister (#5877)
 016e8ed658 feat: EXC-2056: Update CanisterSettings for environment variables (#5617)
 d3649d8579 chore(nns): update release notes (#5368)
```


## Upgrade Arguments

```candid
()
```


## Current Version

__Current git hash__: 250daf4dd0cf7ea74c496b45457dd47ced16368c

__Current wasm hash__: 28df08368379862ee17f69542b0779670deec200a08f23540c3e6168c07cc9aa


## 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/4b7cde9a0e3b5ad4725e75cbc36ce635be6fa6a8/rs/nervous_system/docs/proposal_verification.md


### WASM Verification

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

[prereqs]: https://github.com/dfinity/ic/tree/4b7cde9a0e3b5ad4725e75cbc36ce635be6fa6a8/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 4b7cde9a0e3b5ad4725e75cbc36ce635be6fa6a8

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

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

This should match `wasm_module_hash` field of this proposal.


### Upgrade Arguments Verification

[`didc`][latest-didc] is required.

[latest-didc]: https://github.com/dfinity/candid/releases/latest

```
didc encode '()' | xxd -r -p | sha256sum

```

This should match the `arg_hash` field of this proposal.

Governance

# Upgrade the Governance Canister to Commit 4b7cde9

__Proposer__: jason.zhu at dfinity.org

__Source code__: [4b7cde9a0e3b5ad4725e75cbc36ce635be6fa6a8][new-commit]

[new-commit]: https://github.com/dfinity/ic/tree/4b7cde9a0e3b5ad4725e75cbc36ce635be6fa6a8


## Features & Fixes

###  Added

* Minor improvement on voting power spike detection mechanism - the mechanism is kept in place even
  when the voting power snapshot is not full.

###  Changed

* `AddOrRemoveNodeProvider` and `update_node_provider` now require 32-byte account-identifiers, which are equivalent
  to the 28-byte identifiers except with the checksum. This is a breaking change for the API.
* `NodeProvider.reward_account` always returns the 32-byte account identifier, even if the
  node provider was created with a 28-byte identifier. This is to ensure consistency in the API and to make it easier
  to use the reward account in other contexts, such as looking up the account in the ledger. All clients needed to
  support the 32-byte address already, so this is not a breaking change for the API.


## New Commits

```
$ git log --format="%C(auto) %h %s" 65f66f13fe07b3266ac9d1b44413fd5f0e9b4463..4b7cde9a0e3b5ad4725e75cbc36ce635be6fa6a8 --  ./rs/nns/governance ./rs/sns/init
 447105bd1b feat(sns/nns): Add memory_metrics to canister_status endpoints (#6035)
 696d448ffa feat(governance): Add validation and fix display for reward_account (#6033)
 2a2d6c212f feat(nns): Keep the voting power spike detection when the snapshots are not full (#5932)
 4dc479127a docs(governance): Added entries to Governance backend CHANGELOGs for 2025-07-18. (#5980)
 f56ac62826 feat(nns-governance): Execute FulfillSubnetRentalRequest proposals. (#5854)
```


## Current Version

__Current git hash__: 65f66f13fe07b3266ac9d1b44413fd5f0e9b4463

__Current wasm hash__: 10ced0fec20794640fe45d0e44960faeecaeda8b1b032a04082c758192f24ac6


## 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/4b7cde9a0e3b5ad4725e75cbc36ce635be6fa6a8/rs/nervous_system/docs/proposal_verification.md


### WASM Verification

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

[prereqs]: https://github.com/dfinity/ic/tree/4b7cde9a0e3b5ad4725e75cbc36ce635be6fa6a8/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 4b7cde9a0e3b5ad4725e75cbc36ce635be6fa6a8

# 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.
1 Like

Proposal 137582 | Gautier - CodeGov - Trial Period

Governance Canister Upgrade

Build Success, Hashes match.

Vote : Approve

[447105bd1b] feat(sns/nns): Add memory_metrics to canister_status endpoints (#6035) - This commit adds the memory_metrics field to the canister_status endpoint response of SNS root and NNS root canisters, making it accessible via their public API. This exposes internal memory metrics (heap, stable memory, etc.) that were previously only visible to classic canister controllers. - tests has errors : feat(sns/nns): Add memory_metrics to canister_status endpoints (#6035) · dfinity/ic@447105b · GitHub

[696d448ffa] feat(governance): Add validation and fix display for reward_account (#6033) - The AddOrRemoveNodeProvider and update_node_provider calls now require 32-byte account identifiers (with checksum), replacing the previous 28-byte formats. In addition, NodeProvider.reward_account always returns the 32-byte identifier, to ensure consistency with the format expected by the Ledger. Just note that https://github.com/dfinity/ic/commit/696d448ffa#diff-1ae4a455e2b10f37cd5c56b0c1f3442e513efceccab5a6d0a87b18f85c1ad721R11-R22 comment is wrong here. Test note passing neither.

[2a2d6c212f] feat(nns): Keep the voting power spike detection when the snapshots are not full (#5932) - enable the MAX_VOTING_POWER_SNAPSHOTS check is cfg!(feature = “test”) is set. Test note passing neither.

[4dc479127a] docs(governance): Added entries to Governance backend CHANGELOGs for 2025-07-18. (#5980) - changelog update

[f56ac62826] feat(nns-governance): Execute FulfillSubnetRentalRequest proposals. (#5854) - this is the impl of the FulfillSubnetRentalRequest, the new proposal introduced in previous commit. Not yet tested, but ok as it’s not yet available and behind a flag.

Proposal 137583

check previous screen for hash.

Cycles-minting Canister Upgrade

Build Success, Hashes match.

Vote : Approve

[1c325081a0] fix(cmc): Change version to correctly reflect the State version (#6058) - change the state version from 3 to 2 to reflect real state version.

[1da26cc6ff] 1da26cc6ff feat(cmc): Separate cycles minting limit for Subnet Rental Canister (#5877) - This commit introduces a separate cycle minting limit for the Subnet Rental Canister, to allow it to mint massive amounts of cycles (e.g. 6 months for an entire subnet) without impacting the usual CMC minting quotas. A new StateV2 is introduced to manage this behavior.

[016e8ed658] 016e8ed658 feat: EXC-2056: Update CanisterSettings for environment variables (#5617) - This commit adds, under a feature flag, support for environment variables in CanisterSettings, allowing create_canister and update_settings calls to define key/value pairs accessible at canister execution.

[d3649d8579] d3649d8579 chore(nns): update release notes (#5368) - update changelog

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