NNS Updates, June 21 2024

The NNS Team will be submitting the following upgrade proposals this Friday, 2024-06-21. DFINITY plans to vote on these proposals the following Monday.

Proposals to be Submitted

Governance

## Proposal to Upgrade the Governance Canister
### Proposer: DFINITY Foundation
### Git Hash: b39f782ae9e976f6f25c8f1d75b977bd22c81507
### New Wasm Hash: ee407c6f48c892f8f6bd2cc6558d7d897d89b1990c931125ba48bd9513e7c425
### Target canister: rrkah-fqaaa-aaaaa-aaaaq-cai
---

## Features

* Do not require NNS neuron controller to be self-authenticating
* Add metrics for neurons controlled by non-self-authenticating principals

## Release Notes
```
$ git log --format="%C(auto) %h %s" d1504fc4265703c5c6a73098732a4256ea8ff6bf..b39f782ae9e976f6f25c8f1d75b977bd22c81507 --  ./rs/nns/governance
 c549e32a8a chore: upgrade crates and use workspace versions
 2bbcb253b2 Merge branch 'gdemay/XC-92-upgrade-canbench' into 'master'
 c20c537ab7 chore: upgrade `canbench`
 2ebdd6f885 Merge branch 'canister-controlled-neuron-metrics-daniel-wong' into 'master'
 97a9c215dc feat(nns): Metrics for neurons controlled by non-self-authenticating principals.
 da02705960 chore: Bump rust version to 1.79
 688ae3b261 Merge branch 'canister-controlled-neurons-daniel-wong' into 'master'
 aaf368b208 feat(nns): Do not require NNS neuron controller to be self-authenticating.
 ba49f365c5 Merge branch 'jason/NNS1-2951' into 'master'
 b0ea17e402 refactor(nns): NNS1-2951 Remove legacy cases of neuron dissolve state and age
 e84f03cee2 chore: mockall and criterion upgrade
 695a0affa9 chore: Bump rust version to 1.78
 212446df0a refactor(nns): Move combine_aged_stakes to neuron module and add tests
 b8aafa2f93 chore(nns): NNS1-3068 Clean up migration code for neuron state & age normalization
 f6951cf1a7 chore: upgrade external crates and use workspace version
 2d7dfc0135 chore: upgrade tempfile version and use the workspace. version everywhere
 f455700243 chore: use the rand version from the Cargo workspace
```

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

Registry

## Proposal to Upgrade the Registry Canister
### Proposer: DFINITY Foundation
### Git Hash: b39f782ae9e976f6f25c8f1d75b977bd22c81507
### New Wasm Hash: 21788e6c715ce1dd6189151f32b6b3216ed7df9e97935ab11bd3c227c335225c
### Target canister: rwlgt-iiaaa-aaaaa-aaaaa-cai
---

## Features

* These changes are in preparation for the upcoming [https://forum.dfinity.org/t/threshold-schnorr-facilitating-brc-20-trading-solana-integration-certificate-signing-and-more/28993](Threshold Schnorr feature).

    * Registry subnet records now support more generic master public keys, enabling the threshold Schnorr signature scheme in addition to (priorly supported) threshold ECDSA scheme.
    * Since the ECDSA-specific data has already been migrated to the generic format, this release switches the source of truth from the legacy to the new format.
    * The following NNS governance proposals have been extended to support the new generic master public keys: Create Subnet, Update Subnet Config, Recover Subnet.
    * The Registry now allows for new master public keys to be added to an existing signing subnet. Removing keys held by a signing subnet is still forbidden.

## Release Notes
```
$ git log --format="%C(auto) %h %s" 77dafef0cca09488c9e0b9c5a0437851ec1be0ce..b39f782ae9e976f6f25c8f1d75b977bd22c81507 --  ./rs/registry/canister
 b09876a407 feat(registry): Enhance validation for `UpdateSubnetPayload`
 c4156d3c9f feat(registry): Implement `RecoverSubnetPayload.chain_key_config`
 b7bb136fc2 feat(ecdsa): [CON-1232] Allow adding new keys to an ECDSA subnet
 09d89b2a1c feat(registry): Implement `CreateSubnetPayload.chain_key_config`
 2026e1e5f0 feat(registry): Implement `UpdateSubnetPayload.{chain_key_config, chain_key_signing_{en, dis}abled}`
 ed9b613c47 Merge branch 'arshavir/NNS1-3006' into 'master'
 e238194f11 feat(registry): Switch to new source of truth for master public keys in subnet records
 c549e32a8a chore: upgrade crates and use workspace versions
 6e913a9130 chore(registry): Remove dangling API type from registry.did
 4227bcf590 Merge branch 'rumenov/removemorep2p' into 'master'
 c9ff688e16 chore: remove legacy gossip config
 da02705960 chore: Bump rust version to 1.79
 695a0affa9 chore: Bump rust version to 1.78
 bae2eb352d Merge branch 'arshavir/NNS1-3021' into 'master'
 8a3ac1dacd chore(registry): Delete obsolete `Registry.delete_subnet` code [override-didc-check]
 568bac66f4 chore(CON-1292): Migrate replica to read chain key config from registry
```

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

Sns-wasm

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

## Features

* NNS root co-controls dapp canisters until the swap is finished

## Release Notes
```
$ git log --format="%C(auto) %h %s" 77dafef0cca09488c9e0b9c5a0437851ec1be0ce..b39f782ae9e976f6f25c8f1d75b977bd22c81507 --  ./rs/nns/sns-wasm
 b78d090def feat(sns): NNS1-3116: NNS root co-controls dapp canisters until the swap is finished
```

## Wasm Verification
Verify that the hash of the gzipped WASM matches the proposed hash.
```
git fetch
git checkout b39f782ae9e976f6f25c8f1d75b977bd22c81507
./gitlab-ci/container/build-ic.sh -c
sha256sum ./artifacts/canisters/sns-wasm-canister.wasm.gz
```
## Current Version
- Current Git Hash: 77dafef0cca09488c9e0b9c5a0437851ec1be0ce
- Current Wasm Hash: ac826b139c287da4c2f2dd7f7b3d06d47840d81f0d98f7a8c710dc88666c1506
2 Likes

The CodeGov project completed reviews for the proposals and voted to adopt them. You can find details on OpenChat.
At the time of this comment on the forum, there are still 2 days left in the voting period, which means there is still plenty of time for others to review the proposal and vote independently.

2 Likes