NNS Updates 2024-09-20

NNS Cycles Minting

# Upgrade the Cycles-minting Canister to Commit 87343a8

__Proposer__: daniel.wong at dfinity.org\
__Source Code__: [87343a880050ca72b1361138535211f5770dd52e][new-commit]

[new-commit]: https://github.com/dfinity/ic/tree/87343a880050ca72b1361138535211f5770dd52e


## Features, Fixes, and Optimizations

- get default subnets query
- Fix the data certification for the `get_average_icp_xdr_conversion_rate` endpoint

(Previous security fixes that were released as a hotfix are (still) here.)


## New Commits

```
$ git log --format="%C(auto) %h %s" 77f48ae63af09b6538b1bf33d3accc3bc74d14f8..87343a880050ca72b1361138535211f5770dd52e --  ./rs/nns/cmc
 ebb4dc57d9 feat(cmc): get default subnets query (#892)
 df1dbfc8a2 chore: Add file extension to globs (#1543)
 bbb8a51524 fix(cmc): Fix the data certification for the `get_average_icp_xdr_conversion_rate` endpoint (#1423)
 3aa43520c4 chore(cmc): Clean up the CMC state migration code (#1424)
 c2b4a0aaf4 fix(cmc): Merging CMC hotfix back to master (#1368)
 137faea9ee chore(cmc): Simplify get_next_multiply_of (#1236)
 4d09678d23 chore: sort rust derive traits (#1241)
```


## Upgrade Arguments

```candid
()
```


## Current Version

- Current Git Hash: 77f48ae63af09b6538b1bf33d3accc3bc74d14f8
- Current Wasm Hash: 3260e795bd3e446a189539ce89d44cb29f7d196b92cdd2e2c75571c062ef1e50


## WASM Verification

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

[prereqs]: https://github.com/dfinity/ic?tab=readme-ov-file#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 87343a880050ca72b1361138535211f5770dd52e

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

NNS Governance

# Upgrade the Governance Canister to Commit 87343a8

__Proposer__: daniel.wong at dfinity.org\
__Source Code__: [87343a880050ca72b1361138535211f5770dd52e][new-commit]

[new-commit]: https://github.com/dfinity/ic/tree/87343a880050ca72b1361138535211f5770dd52e


## Features, Fixes, and Optimizations

- Use timer instead of heartbeat to poll archives.
- Disable NnsCanisterUpgrade and NnsRootUpgrade in favor of InstallCode.
- Only set the `wasm_memory_limit` for SNS Governance when deploying an SNS.
- Further increase panic probability for deprecated pb methods. 😈


## New Commits

```
$ git log --format="%C(auto) %h %s" b60c9012db8fecebb2937334e6301ea2dfa9416f..87343a880050ca72b1361138535211f5770dd52e --  ./rs/nns/governance ./rs/sns/init
 96814ec4af refactor(nns): Remove unnecessary test_feature library (#1582)
 d399ee7f6f refactor(nns): remove unnecessary mut from call_canister_method signature (#1520)
 df1dbfc8a2 chore: Add file extension to globs (#1543)
 4e8565c624 revert(nns): Re-apply changes from #1496 except for the ones that caused the tests to fail (#1561)
 ad9e529296 feat(nns): Further increase panic probability for deprecated pb methods (#1562)
 fbde007ff4 revert(nns): Disable NnsCanisterUpgrade and NnsRootUpgrade in favor of InstallCode (#1496) (#1559)
 41f6ce3a7c refactor: Remove dependencies on nns governance crate from sns cli and ic-admin (#1252)
 a4b9ab2ec1 feat(sns): Only set the `wasm_memory_limit` for SNS Governance when deploying an SNS (#1427)
 bfc9da0790 refactor(nervous_system): use Runtime trait for Ledger (#1455)
 d123a2a015 feat(nns): Disable NnsCanisterUpgrade and NnsRootUpgrade in favor of InstallCode (#1496)
 2e85a2e961 feat(sns): Use timer instead of heartbeat to poll archives (#1477)
```


## Current Version

- Current Git Hash: b60c9012db8fecebb2937334e6301ea2dfa9416f
- Current Wasm Hash: 3f0eabca37f82ddefcc71bb0a144de665b92981a540931051c6b7fcf841c3542


## WASM Verification

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

[prereqs]: https://github.com/dfinity/ic?tab=readme-ov-file#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 87343a880050ca72b1361138535211f5770dd52e

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

NNS Registry

# Upgrade the Registry Canister to Commit 87343a8

__Proposer__: daniel.wong at dfinity.org\
__Source Code__: [87343a880050ca72b1361138535211f5770dd52e][new-commit]

[new-commit]: https://github.com/dfinity/ic/tree/87343a880050ca72b1361138535211f5770dd52e


## Features, Fixes, and Optimizations

- Pulled out canister-based implementations of Ledger/CMC.


## New Commits

```
$ git log --format="%C(auto) %h %s" 656d7a64ab8ef074f2542ed05e19c99293f1d844..87343a880050ca72b1361138535211f5770dd52e --  ./rs/registry/canister
 29f688afe9 chore: Clamp some spammy registry logs (#1575)
 df1dbfc8a2 chore: Add file extension to globs (#1543)
 b14c152f3a refactor(registry): Refactor get_changes_since. (#1333)
 c3a180c94c feat(IC-1579): pull out canister-based implementations of Ledger/CMC (#1386)
```


## Current Version

- Current Git Hash: 656d7a64ab8ef074f2542ed05e19c99293f1d844
- Current Wasm Hash: 0fa54c86ad0e4de01ececb7f5c0478e9d9b75bf06aa05f3ffa90b032d1e4bd86


## WASM Verification

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

[prereqs]: https://github.com/dfinity/ic?tab=readme-ov-file#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 87343a880050ca72b1361138535211f5770dd52e

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

NNS SNS Wasm

# Upgrade the Sns-wasm Canister to Commit 87343a8

__Proposer__: daniel.wong at dfinity.org\
__Source Code__: [87343a880050ca72b1361138535211f5770dd52e][new-commit]

[new-commit]: https://github.com/dfinity/ic/tree/87343a880050ca72b1361138535211f5770dd52e


## Features, Fixes, and Optimizations

- Only set the `wasm_memory_limit` for SNS Governance when deploying an SNS.
- Use timer instead of heartbeat to poll archives.


## New Commits

```
$ git log --format="%C(auto) %h %s" 656d7a64ab8ef074f2542ed05e19c99293f1d844..87343a880050ca72b1361138535211f5770dd52e --  ./rs/nns/sns-wasm ./rs/sns/init
 96814ec4af refactor(nns): Remove unnecessary test_feature library (#1582)
 df1dbfc8a2 chore: Add file extension to globs (#1543)
 41f6ce3a7c refactor: Remove dependencies on nns governance crate from sns cli and ic-admin (#1252)
 a4b9ab2ec1 feat(sns): Only set the `wasm_memory_limit` for SNS Governance when deploying an SNS (#1427)
 2e85a2e961 feat(sns): Use timer instead of heartbeat to poll archives (#1477)
```


## Current Version

- Current Git Hash: 656d7a64ab8ef074f2542ed05e19c99293f1d844
- Current Wasm Hash: 7aafb44fd95e85530d50a1e44d0c4a4e0e7dd432a5963a992b66ac5160cc1d33


## WASM Verification

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

[prereqs]: https://github.com/dfinity/ic?tab=readme-ov-file#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 87343a880050ca72b1361138535211f5770dd52e

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

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

This should match `wasm_module_hash` field of this proposal.

SNS Governance

# Publish SNS Governance WASM Built at Commit 87343a8

__Proposer__: daniel.wong at dfinity.org\
__Source Code__: [87343a880050ca72b1361138535211f5770dd52e][new-commit]

[new-commit]: https://github.com/dfinity/ic/tree/87343a880050ca72b1361138535211f5770dd52e


## Features, Fixes, and Optimizations

- Use inflation in valuation of SNS tokens.
- Pull out canister-based implementations of Ledger/CMC.


## New Commits

```
$ git log --format="%C(auto) %h %s" 656d7a64ab8ef074f2542ed05e19c99293f1d844..87343a880050ca72b1361138535211f5770dd52e --  ./rs/sns/governance
 4ba0c87dab feat(sns): Use inflation in valuation of SNS tokens. (#1519)
 df1dbfc8a2 chore: Add file extension to globs (#1543)
 490fbd87f2 chore: Pass argument to clamp_debug_len by reference (#1541)
 41f6ce3a7c refactor: Remove dependencies on nns governance crate from sns cli and ic-admin (#1252)
 4cede51f58 chore(sns): Migrate SNS Root's wasm_memory_limit (#1521)
 bfc9da0790 refactor(nervous_system): use Runtime trait for Ledger (#1455)
 c3a180c94c feat(IC-1579): pull out canister-based implementations of Ledger/CMC (#1386)
```


## Wasm Verification

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

[prereqs]: https://github.com/dfinity/ic?tab=readme-ov-file#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 87343a880050ca72b1361138535211f5770dd52e

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

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

This should match `wasm` field of this proposal.

SNS Root

# Publish SNS Root WASM Built at Commit 87343a8

__Proposer__: daniel.wong at dfinity.org\
__Source Code__: [87343a880050ca72b1361138535211f5770dd52e][new-commit]

[new-commit]: https://github.com/dfinity/ic/tree/87343a880050ca72b1361138535211f5770dd52e


## Features, Fixes, and Optimizations

- Use timer instead of heartbeat to poll archives.


## New Commits

```
$ git log --format="%C(auto) %h %s" a0207146be211cdff83321c99e9e70baa62733c7..87343a880050ca72b1361138535211f5770dd52e --  ./rs/sns/root
 df1dbfc8a2 chore: Add file extension to globs (#1543)
 cedb79facc chore(sns): migrate wasm_memory_limit in non-governance non-root canisters (#1540)
 2e85a2e961 feat(sns): Use timer instead of heartbeat to poll archives (#1477)
 4d09678d23 chore: sort rust derive traits (#1241)
 57293157de chore(sns): Remove migration code for setting SNS memory limits (#1159)
 a3129e0d7c test(nns): Stop generating .did files. (#1114)
```


## Wasm Verification

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

[prereqs]: https://github.com/dfinity/ic?tab=readme-ov-file#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 87343a880050ca72b1361138535211f5770dd52e

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

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

This should match `wasm` field of this proposal.

SNS Swap

# Publish SNS Swap WASM Built at Commit 87343a8

__Proposer__: daniel.wong at dfinity.org\
__Source Code__: [87343a880050ca72b1361138535211f5770dd52e][new-commit]

[new-commit]: https://github.com/dfinity/ic/tree/87343a880050ca72b1361138535211f5770dd52e


## Features, Fixes, and Optimizations

- Pull out canister-based implementations of Ledger/CMC.


## New Commits

```
$ git log --format="%C(auto) %h %s" 656d7a64ab8ef074f2542ed05e19c99293f1d844..87343a880050ca72b1361138535211f5770dd52e --  ./rs/sns/swap
 df1dbfc8a2 chore: Add file extension to globs (#1543)
 bfc9da0790 refactor(nervous_system): use Runtime trait for Ledger (#1455)
 d4ee25b086 chore(sns): Remove `neuron_parameters` from ClaimSwapNeuronRequest in Swap (#1417)
 c3a180c94c feat(IC-1579): pull out canister-based implementations of Ledger/CMC (#1386)
 7b8d005a9c chore(nns): reduce logging in tests  (#1367)
```


## Wasm Verification

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

[prereqs]: https://github.com/dfinity/ic?tab=readme-ov-file#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 87343a880050ca72b1361138535211f5770dd52e

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

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

This should match `wasm` field of this proposal.
1 Like