SNS Updates 2025-01-17

We have 3 proposals to publish new SNS executables this week. Affected canister(s):

Proposal summaries are copied verbatim bellow.

Governance

# Publish SNS Governance WASM Built at Commit a587858

__Proposer__: daniel.wong at dfinity.org

__Source code__: [a5878586e47536d4cd47f0aadb66b73df8131d2b][new-commit]

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

## Features & Fixes

###  Added

Enable upgrading SNS-controlled canisters using chunked WASMs. This is implemented as an extension
of the existing `UpgradeSnsControllerCanister` proposal type with new field `chunked_canister_wasm`.
This field can be used for specifying an upgrade of an SNS-controlled *target* canister using
a potentially large WASM module (over 2 MiB) uploaded to some *store* canister, which:
* must be installed on the same subnet as target.
* must have SNS Root as one of its controllers.
* must have enough cycles for performing the upgrade.


## New Commits

```
$ git log --format="%C(auto) %h %s" df7d443e6219c462b305152b63ca265171feb6ee..a5878586e47536d4cd47f0aadb66b73df8131d2b --  ./rs/sns/governance
 6b3c8440e3c feat(ic-nervous-system-agent): Add `submit_proposal` helper (#3451)
 7893a8378f9 fix(sns): rename `proposal_types_disallowed_in_pre_initialization_swap` → `functions_disallowed_in_pre_initialization_swap` (#3464)
 d9459d5d5dd feat(sns): Enable upgrading SNS-controlled canisters using chunked WASMs (#3287)
 a358756a6fe refactor: clean up the SNS Governance API type definitions (#3392)
```


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

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

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

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

Root

# Publish SNS Root WASM Built at Commit a587858

__Proposer__: daniel.wong at dfinity.org

__Source code__: [a5878586e47536d4cd47f0aadb66b73df8131d2b][new-commit]

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

## Features & Fixes

###  Added

Enable upgrading SNS-controlled canisters using chunked WASMs. This is implemented as an extension
of the existing `UpgradeSnsControllerCanister` proposal type with new field `chunked_canister_wasm`.
This field can be used for specifying an upgrade of an SNS-controlled *target* canister using
a potentially large WASM module (over 2 MiB) uploaded to some *store* canister, which:
* must be installed on the same subnet as target.
* must have SNS Root as one of its controllers.
* must have enough cycles for performing the upgrade.

You can now set wasm_memory_threshold via proposal.


## New Commits

```
$ git log --format="%C(auto) %h %s" aa91ecacdf3824e193e21b70e0127e8d3edab51a..a5878586e47536d4cd47f0aadb66b73df8131d2b --  ./rs/sns/root
 b5192581ccd docs(governance): Create changelog files for all of our canisters. (#3388)
 194648a9fde feat(nervous-system): Enable Root to upgrade canisters using chunked Wasms (#3300)
 4c775dbb960 feat: Add wasm_memory_threshold to ProposeToUpdateCanisterSettingsCmd (#2864)
 de1a078793f refactor(test): Move some helpers from `pocket_ic_helpers.rs` to `ic-nervous-system-agent` (#2582)
```


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

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

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

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

Swap

# Publish SNS Swap WASM Built at Commit a587858

__Proposer__: daniel.wong at dfinity.org

__Source code__: [a5878586e47536d4cd47f0aadb66b73df8131d2b][new-commit]

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

## Features & Fixes

You can now set wasm_memory_threshold via proposal.


## New Commits

```
$ git log --format="%C(auto) %h %s" aa91ecacdf3824e193e21b70e0127e8d3edab51a..a5878586e47536d4cd47f0aadb66b73df8131d2b --  ./rs/sns/swap
 b5192581ccd docs(governance): Create changelog files for all of our canisters. (#3388)
 4c775dbb960 feat: Add wasm_memory_threshold to ProposeToUpdateCanisterSettingsCmd (#2864)
 b1c0f8cccb2 chore: upgrade rust_decimal and rust_decimal_macros (#2508)
 687a625e131 chore(sns): Remove completed data migration from Swap (#2448)
 c0b2ec6580b chore(sns): Rename sale → swap in various places. (#2267)
```


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

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

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

# 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