NNS Updates 2024-03-12

The NNS Team will be submitting the following upgrade proposals today, 2024-03-12. DFINITY plans to vote on these proposals this Friday.

This release enhances the logic of the Neurons’ Fund participation in SNS decentralization swaps, implementing the outstanding components of the design from Proposal: 124822 - ICP Dashboard. Before, the maximum possible Neurons’ Fund participation for a given swap was 333,000 ICP. If this release is adopted by the NNS community, the maximum possible Neurons’ Fund participation will be defined in terms of XDR (currency code of IMF SDR), configurable via ManageNetworkEconomics NNS proposals; the limit will be initialized to 750,000 XDR. The XDR-based limit will be converted to ICP using the 30-day average rate, taken on the day of the CreateServiceNervousSystem proposal execution.

Other features included in this release:

  • Proposal summary limit to increase from 15KB to 30KB (for both NNS and SNS).
  • NNS Governance open proposal deadline metrics to include proposal action type.
  • Registry to permit multiple signing subnets for the same key.
  • Canister log visibility to become parameterizable during canister creation.
  • Bug fix in the Registry canister’s Candid service definition.

Proposals to be Submitted

NNS Governance

## Proposal to Upgrade the Governance Canister
### Proposer: DFINITY Foundation
### Git Hash: d9e4d6e91c3675903d7b74b6e097d8f12f41ace3
### New Wasm Hash: 7f2a63edf204ff9e8fbb263f927c893e6ddb0c1df6e783a1eaf0d78d63162f2f
### Target canister: rrkah-fqaaa-aaaaa-aaaaq-cai
---
## Features

* Neurons' Fund participation is now limited to 750,000 XDR (used to be 333,000 ICP). The new XDR-based limits are taken from NNS network economics (configurable via NNS proposals and served via the public API). The limits are converted to ICP using the 30-day average conversion rate from the CMC, taken on the day of the `CreateServiceNervousSystem` proposal execution.
* Proposal summary limit is increased from 15KB to 30KB (for both NNS and SNS).
* NNS Governance metrics now include proposal action type.

## Release Notes
```
$ git log --format="%C(auto) %h %s" 48e7e1f072c259810236488ff770c809f362fb63..d9e4d6e91c3675903d7b74b6e097d8f12f41ace3 --  ./rs/nns/governance
ff34c83354 feat(neurons-fund): Set Neurons' Fund participation limits based on Network Economics and XDR/ICP conversion rate
11f35faf29 feat(neurons-fund): Add `[minimum|maximum]_icp_xdr_rate` to `NeuronsFundEconomics`
51e8080089 chore(nns,sns): Bump up the NNS/SNS proposal summary limit to 30KB
bbe7a18647 feat(nns): Extend NNS Governance state with `xdr_conversion_rate`
56ad99ca6a chore: Drop unused import
81f14ef7f9 chore: Drop unused `assert_neurons_fund_decremented` function
2c7d12034c feat(nns): Add `maybe_refresh_xdr_rate` to `NnsGov.run_periodic_tasks`
5fe907da21 Merge branch '@anchpop/move-test-neuron-ids' into 'master'
520c425ece Move TEST_NEURON_x_ID definitions into ic-nns-governance
b80e26a55f feat(neurons-fund): Store Neurons' Fund parameters as part of Network Economics
2c5e4bbb38 chore(neurons-fund): Avoid extraneous re-acquires of stable data in `settle_neurons_fund_participation`
4bc26d4654 Merge branch 'arshavir/NNS1-2802-1' into 'master'
e4af7e0b27 chore(neurons-fund): Avoid extraneous re-acquires of stable data in `settle_neurons_fund_participation` (Part I)
02dce0fc54 feat(sns): Do not execute TransferSnsTreasuryFunds if amount is too big.
ed6ad158a4 Merge branch 'Add-governance-proposal-type' into 'master'
a3bc0669c0 feat[OB-493]: add Proposal action type for metrics
```

## Wasm Verification
Verify that the hash of the gzipped WASM matches the proposed hash.
```
git fetch
git checkout d9e4d6e91c3675903d7b74b6e097d8f12f41ace3
./gitlab-ci/container/build-ic.sh -c
sha256sum ./artifacts/canisters/governance-canister.wasm.gz
```
## Current Version
- Current Git Hash: 48e7e1f072c259810236488ff770c809f362fb63
- Current Wasm Hash: 6bd26499d2091c794ba814ad8d729fdff3c741b9dc0560760aecd7dd8db19d95

SNS-W

## Proposal to Upgrade the Sns-wasm Canister
### Proposer: DFINITY Foundation
### Git Hash: d9e4d6e91c3675903d7b74b6e097d8f12f41ace3
### New Wasm Hash: f8277aa817c4a14d821c909fd8c339fc361e5d60aa295a49056e56337c015cf6
### Target canister: qaa6y-5yaaa-aaaaa-aaafa-cai
---
## Features

* No externally observable changes, only cleanups and refactoring.

## Release Notes
```
$ git log --format="%C(auto) %h %s" 48e7e1f072c259810236488ff770c809f362fb63..d9e4d6e91c3675903d7b74b6e097d8f12f41ace3 --  ./rs/nns/sns-wasm
4372669f5b refactor: Split off an ic-test-utilities-types crate from ic-test-utilities
ccbde2f676 cleanup(sns): Remove references to old icrc1-index canister
```

## Wasm Verification
Verify that the hash of the gzipped WASM matches the proposed hash.
```
git fetch
git checkout d9e4d6e91c3675903d7b74b6e097d8f12f41ace3
./gitlab-ci/container/build-ic.sh -c
sha256sum ./artifacts/canisters/sns-wasm-canister.wasm.gz
```
## Current Version
- Current Git Hash: 48e7e1f072c259810236488ff770c809f362fb63
- Current Wasm Hash: d31113c19ae571694a33b1689092b76d60c7e5722f27601291b67ef29b2ecee7

Registry

## Proposal to Upgrade the Registry Canister
### Proposer: DFINITY Foundation
### Git Hash: d9e4d6e91c3675903d7b74b6e097d8f12f41ace3
### New Wasm Hash: ed1dec0e543c01ae3c9974596d5440c19bc8d1485cac7ce35537b54b73070161
### Target canister: rwlgt-iiaaa-aaaaa-aaaaa-cai
---
## Features

* Multiple signing subnets for the same key are now allowed.
* Fixed a bug in the Candid service definition.

## Release Notes
```
$ git log --format="%C(auto) %h %s" d747b2bac7fd99d84a012496151f0917d849fbf8..d9e4d6e91c3675903d7b74b6e097d8f12f41ace3 --  ./rs/registry/canister
4372669f5b refactor: Split off an ic-test-utilities-types crate from ic-test-utilities
14fcdf9f21 feat(ecdsa): CON-1240 Allow multiple signing subnets for the same key
8171583d43 fix: match canister interface with did file
c4e7e01a08 Fix: Add ipv4 address to error log
```

## Wasm Verification
Verify that the hash of the gzipped WASM matches the proposed hash.
```
git fetch
git checkout d9e4d6e91c3675903d7b74b6e097d8f12f41ace3
./gitlab-ci/container/build-ic.sh -c
sha256sum ./artifacts/canisters/registry-canister.wasm.gz
```
## Current Version
- Current Git Hash: d747b2bac7fd99d84a012496151f0917d849fbf8
- Current Wasm Hash: 57050d34ce370dacd7d323bf1c3aea448ce7e9636fe658b822f8902fe0732188

CMC

## Proposal to Upgrade the Cycles-minting Canister
### Proposer: DFINITY Foundation
### Git Hash: d9e4d6e91c3675903d7b74b6e097d8f12f41ace3
### New Wasm Hash: 3e6362c49107d856752f7934101591b138d69dc938a90ce7447514dcbf369524
### Upgrade Args Hash: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
### Target canister: rkp4c-7iaaa-aaaaa-aaaca-cai
---
## Features

* `canister_settings` now has `log_visibility`.

## Release Notes
```
$ git log --format="%C(auto) %h %s" e7c7105a54fdf43892c46b5560d5dbee687dcba0..d9e4d6e91c3675903d7b74b6e097d8f12f41ace3 --  ./rs/nns/cmc
f3d614b6e3 chore: rename ic00_types to management_canister_types
4bb93cbc9b feat: [IC-272] add log_visibility to canister_settings
```
## Candid Post Upgrade Args
```candid
()
```
### Validating Candid Args
Verify that the hash of the args matches proposal contents.
`didc encode '()' | xxd -r -p | sha256sum`
## Wasm Verification
Verify that the hash of the gzipped WASM matches the proposed hash.
```
git fetch
git checkout d9e4d6e91c3675903d7b74b6e097d8f12f41ace3
./gitlab-ci/container/build-ic.sh -c
sha256sum ./artifacts/canisters/cycles-minting-canister.wasm.gz
```
## Current Version
- Current Git Hash: e7c7105a54fdf43892c46b5560d5dbee687dcba0
- Current Wasm Hash: 1e73a3c6dd6468078d0836023bfb357da8a2a05840f2cd50f069a04f03da6530
2 Likes

A duplicate proposal was created by accident to upgrade SNS-W.

It is safe to pass both, or to reject one and pass the other.

These proposals refer to the same upgrade.

2 Likes

Links to the four NNS upgrade proposals described above:

1 Like

Update. Since these proposals have been adopted, the new XDR-based limits are being used.

Please note that SNS Tokenomics Analyzer - ICP Dashboard does not currently show the correct Neurons’ Fund participation values; the work for fixing this tool is already being carried out. I will post an update to this thread when the issue is fixed.

2 Likes