NNS Updates 2025-04-25

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

Proposals to be Submitted

Governance

# Upgrade the Governance Canister to Commit 0084cbd

__Proposer__: jason.zhu at dfinity.org

__Source code__: [0084cbd1bdfa69146fef27d9e6a58e4992e85ae1][new-commit]

[new-commit]: https://github.com/dfinity/ic/tree/0084cbd1bdfa69146fef27d9e6a58e4992e85ae1


## Features & Fixes

###  Fixed

* Use `StableBTreeMap::init` instead of `::new` for voting power snapshots.


## New Commits

```
$ git log --format="%C(auto) %h %s" 1c46b8a2c717616bca1b5ba264e7b3ff81a3ce52..0084cbd1bdfa69146fef27d9e6a58e4992e85ae1 --  ./rs/nns/governance ./rs/sns/init
 0084cbd1bd refactor(nns): Clean up the timer task AdjustNeuronStorage (#4876)
 d127acbebc refactor(nns): Clean up migrate_active_neurons_to_stable_memory (#4875)
 bed9c76e63 refactor(nns): Clean up allow_active_neurons_in_stable_memory (#4859)
 12e098440c fix(nns): Use StableBTreeMap::init instead of ::new for voting power snapshots (#4877)
 eaa82be351 chore(nervous-system): Update changelog for release 2025-04-15 (#4831)
 a10bf7bbe6 feat(nns): Process the finalization of maturity disbursements (#4842)
```


## Current Version

__Current git hash__: 1c46b8a2c717616bca1b5ba264e7b3ff81a3ce52

__Current wasm hash__: 4c4e72ee0d668d655ecd25d83f2063560f8b62ee435fe8c4d2def4193ac65ddb


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


### WASM Verification

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

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

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

Node-rewards

# Upgrade the Node-rewards Canister to Commit 0084cbd

__Proposer__: jason.zhu at dfinity.org

__Source code__: [0084cbd1bdfa69146fef27d9e6a58e4992e85ae1][new-commit]

[new-commit]: https://github.com/dfinity/ic/tree/0084cbd1bdfa69146fef27d9e6a58e4992e85ae1


## Features & Fixes

###  Fixed

* Fixed a bug with the registry client that prevented the canister from reading registry data when there were deletions.
* Limit 'get_node_providers_monthly_xdr_rewards' to only be callable from NNS Governance.
* Use `StableBTreeMap::init` instead of `::new` for registry state.


## New Commits

```
$ git log --format="%C(auto) %h %s" 7575e49a4afa83524c06ad72ce40f588eca93ae2..0084cbd1bdfa69146fef27d9e6a58e4992e85ae1 --  ./rs/node_rewards/canister ./rs/node_rewards ./rs/registry/node_provider_rewards
 f7922dfb5f fix(node_rewards): Use StableBTreeMap::init instead of ::new (#4878)
 4ad316e04d test(node_rewards): Migrate tests from Registry's node reward calculation (#4855)
 4ac73ac87d feat(node_rewards): limit caller to governance for xdr rewards (#4844)
 8bb84553e8 test(node_rewards): Create a test to prove same results as registry (#4754)
 971eecc54a chore(nns): update changelogs (#4793)
```


## Current Version

__Current git hash__: 7575e49a4afa83524c06ad72ce40f588eca93ae2

__Current wasm hash__: 10de2940ee316459ef847d123f97773c252d148bd489248dfbf60b1cab385c2d


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


### WASM Verification

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

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

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

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

This should match `wasm_module_hash` field of this proposal.

Registry

# Upgrade the Registry Canister to Commit 0084cbd

__Proposer__: jason.zhu at dfinity.org

__Source code__: [0084cbd1bdfa69146fef27d9e6a58e4992e85ae1][new-commit]

[new-commit]: https://github.com/dfinity/ic/tree/0084cbd1bdfa69146fef27d9e6a58e4992e85ae1


## Features & Fixes

###  Changed

* `get_node_providers_monthly_xdr_rewards` can now take an optional paramter to specify the Registry version to use when
  calculating the rewards.


## New Commits

```
$ git log --format="%C(auto) %h %s" 7575e49a4afa83524c06ad72ce40f588eca93ae2..0084cbd1bdfa69146fef27d9e6a58e4992e85ae1 --  ./rs/registry/canister
 7f58e8e04f feat(registry): Added `dechunkify` and `decode_high_capacity_registry_value`. (#4870)
 93ad8c986c refactor(registry): Drop support for legacy registry upgrade format. (#4867)
 367862f134 refactor(registry): There is no `gen` directory in `registry/canister`. (#4868)
 ca2d5e7dfc feat(registry): Added `maybe_chunkify`... (#4751)
 e966556bdf refactor(crypto): CRP-2619 rename ChainKeySigningSubnetList to ChainKeyEnabledSubnetList (#4819)
 c00595a6d7 feat(registry): Node Rewards can target a specific version (#4828)
 ecee8457c4 feat(registry): Library for chunkifying whale registry mutations. (#4761)
```


## Current Version

__Current git hash__: 7575e49a4afa83524c06ad72ce40f588eca93ae2

__Current wasm hash__: 295b7ae988a2af5bea708e1c2a512d718640e40733a4804e463de66b262c5873


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


### WASM Verification

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

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

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