SNS Updates 2025-03-14

The NNS Team submitted the following proposals to publish new versions of SNS canisters to SNS-WASM. DFINITY plans to vote on these proposals the following Monday.

Archive

# Publish SNS Archive WASM Built at Commit 0d96610

__Proposer__: maximilian.summe at dfinity.org

__Source code__: [0d96610b842ca721e50169c65bdfbc5d6d3d8b67][new-commit]

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

## Features & Fixes

No functionality changes, keeping in sync with ledger version.

## New Commits

```
$ git log --format="%C(auto) %h %s" c741e349451edf0c9792149ad439bb32a0161371..0d96610b842ca721e50169c65bdfbc5d6d3d8b67 --  ./rs/ledger_suite/icrc1
 0d96610b84 feat(ICRC-Ledger): FI-1441: migrate ledger blocks to stable structures (#3695)
 a4b98fca74 chore(ICP-Ledger): remove dfn_core from icp ledger lib (#4095)
 88c50f7bb2 feat(ICRC_Ledger): FI-1558: Set 10Tcycles default value for cycles for archive creation (#3653)
 c116fae44c feat(ICRC_Ledger): FI-1664: Forbid setting interpreted ICRC ledger metadata (#3767)
 058e5c306a test(ICRC_Ledger): FI-1676: Update SNS ledger suites in ICRC golden state test (#3971)
 97bcf0945c chore(crypto): CRP-2693 Move ic-crypto-secp256k1 to packages (#3784)
 8a5bdfd43b chore(crypto): CRP-2692 Move ed25519 crate to packages (#3770)
 6955a3fc1b test(ICRC_Ledger): Fix test failure due to SNS ledger version bump (#3663)
 215a697e14 feat: ICP-ledger: FI-1440: Implement V4 for ICP ledger - migrate balances to stable structures (#3314)
 7366cbeb7a test(ICRC_Ledger): FI-1655: Add check to see if downgrade to mainnet is expected to work (#3625)
 73f1dbd198 chore: add V3 to ICRC Ledger canister revisions and update mainnet to V4 (#3570)
 7f0bad6c91 chore: add todo comment to remind of disabling balances serialization (#3579)
 be8de19811 fix(ICRC_Ledger): FI-1645: use default deserialization value of 0 for ledger state's ledger_version (#3520)
 fc2787097c chore: bump rust to 1.84 (#3469)
 cc12560396 test(ICRC_Index): FI-1042: Verify ICRC ledger and index block equality (#3403)
 6b7b92b24a test(ICRC_Ledger): FI-1043: Verify ICRC ledger and archive block equality (#3404)
 d6bb598cfc test(ICRC_Ledger): canbench benchmarks for icrc2_approve, icrc2_transfer_from and icrc3_get_blocks (#3400)
 c68c2eb07d test(ICRC_Ledger): FI-1625: Adapt golden state test to V4 migration (#3397)
```


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

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

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

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

# 3. Fingerprint the result.
sha256sum ./artifacts/canisters/ic-icrc1-archive.wasm.gz
```

This should match `wasm` field of this proposal.

Index

# Publish SNS Index WASM Built at Commit 0d96610

__Proposer__: maximilian.summe at dfinity.org

__Source code__: [0d96610b842ca721e50169c65bdfbc5d6d3d8b67][new-commit]

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

## Features & Fixes

No functionality changes, keeping in sync with ledger version.

## New Commits

```
$ git log --format="%C(auto) %h %s" c741e349451edf0c9792149ad439bb32a0161371..0d96610b842ca721e50169c65bdfbc5d6d3d8b67 --  ./rs/ledger_suite/icrc1
 0d96610b84 feat(ICRC-Ledger): FI-1441: migrate ledger blocks to stable structures (#3695)
 a4b98fca74 chore(ICP-Ledger): remove dfn_core from icp ledger lib (#4095)
 88c50f7bb2 feat(ICRC_Ledger): FI-1558: Set 10Tcycles default value for cycles for archive creation (#3653)
 c116fae44c feat(ICRC_Ledger): FI-1664: Forbid setting interpreted ICRC ledger metadata (#3767)
 058e5c306a test(ICRC_Ledger): FI-1676: Update SNS ledger suites in ICRC golden state test (#3971)
 97bcf0945c chore(crypto): CRP-2693 Move ic-crypto-secp256k1 to packages (#3784)
 8a5bdfd43b chore(crypto): CRP-2692 Move ed25519 crate to packages (#3770)
 6955a3fc1b test(ICRC_Ledger): Fix test failure due to SNS ledger version bump (#3663)
 215a697e14 feat: ICP-ledger: FI-1440: Implement V4 for ICP ledger - migrate balances to stable structures (#3314)
 7366cbeb7a test(ICRC_Ledger): FI-1655: Add check to see if downgrade to mainnet is expected to work (#3625)
 73f1dbd198 chore: add V3 to ICRC Ledger canister revisions and update mainnet to V4 (#3570)
 7f0bad6c91 chore: add todo comment to remind of disabling balances serialization (#3579)
 be8de19811 fix(ICRC_Ledger): FI-1645: use default deserialization value of 0 for ledger state's ledger_version (#3520)
 fc2787097c chore: bump rust to 1.84 (#3469)
 cc12560396 test(ICRC_Index): FI-1042: Verify ICRC ledger and index block equality (#3403)
 6b7b92b24a test(ICRC_Ledger): FI-1043: Verify ICRC ledger and archive block equality (#3404)
 d6bb598cfc test(ICRC_Ledger): canbench benchmarks for icrc2_approve, icrc2_transfer_from and icrc3_get_blocks (#3400)
 c68c2eb07d test(ICRC_Ledger): FI-1625: Adapt golden state test to V4 migration (#3397)
```


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

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

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

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

# 3. Fingerprint the result.
sha256sum ./artifacts/canisters/ic-icrc1-index-ng.wasm.gz
```

This should match `wasm` field of this proposal.

Ledger

# Publish SNS Ledger WASM Built at Commit 0d96610

__Proposer__: maximilian.summe at dfinity.org

__Source code__: [0d96610b842ca721e50169c65bdfbc5d6d3d8b67][new-commit]

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

## Features & Fixes

- Migrate ledger blocks from the heap to stable structures
- Set 10T cycles default for cycles_for_archive_creation
- Forbid setting interpreted ICRC ledger metadata


## New Commits

```
$ git log --format="%C(auto) %h %s" c741e349451edf0c9792149ad439bb32a0161371..0d96610b842ca721e50169c65bdfbc5d6d3d8b67 --  ./rs/ledger_suite/icrc1 ./rs/ledger_suite/common/ledger_core ./rs/ledger_suite/common/ledger_canister_core
 0d96610b84 feat(ICRC-Ledger): FI-1441: migrate ledger blocks to stable structures (#3695)
 a4b98fca74 chore(ICP-Ledger): remove dfn_core from icp ledger lib (#4095)
 88c50f7bb2 feat(ICRC_Ledger): FI-1558: Set 10Tcycles default value for cycles for archive creation (#3653)
 c116fae44c feat(ICRC_Ledger): FI-1664: Forbid setting interpreted ICRC ledger metadata (#3767)
 058e5c306a test(ICRC_Ledger): FI-1676: Update SNS ledger suites in ICRC golden state test (#3971)
 59abceebc4 chore(Ledger): Update some comments (#3847)
 5506c7c41e chore: [EXC-1835] Make ic-management-canister-types private (#3814)
 97bcf0945c chore(crypto): CRP-2693 Move ic-crypto-secp256k1 to packages (#3784)
 8a5bdfd43b chore(crypto): CRP-2692 Move ed25519 crate to packages (#3770)
 6955a3fc1b test(ICRC_Ledger): Fix test failure due to SNS ledger version bump (#3663)
 215a697e14 feat: ICP-ledger: FI-1440: Implement V4 for ICP ledger - migrate balances to stable structures (#3314)
 7366cbeb7a test(ICRC_Ledger): FI-1655: Add check to see if downgrade to mainnet is expected to work (#3625)
 73f1dbd198 chore: add V3 to ICRC Ledger canister revisions and update mainnet to V4 (#3570)
 7f0bad6c91 chore: add todo comment to remind of disabling balances serialization (#3579)
 be8de19811 fix(ICRC_Ledger): FI-1645: use default deserialization value of 0 for ledger state's ledger_version (#3520)
 fc2787097c chore: bump rust to 1.84 (#3469)
 cc12560396 test(ICRC_Index): FI-1042: Verify ICRC ledger and index block equality (#3403)
 6b7b92b24a test(ICRC_Ledger): FI-1043: Verify ICRC ledger and archive block equality (#3404)
 d6bb598cfc test(ICRC_Ledger): canbench benchmarks for icrc2_approve, icrc2_transfer_from and icrc3_get_blocks (#3400)
 c68c2eb07d test(ICRC_Ledger): FI-1625: Adapt golden state test to V4 migration (#3397)
```


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

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

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

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

# 3. Fingerprint the result.
sha256sum ./artifacts/canisters/ic-icrc1-ledger.wasm.gz
```

This should match `wasm` field of this proposal.

Adding one last proposal for this week’s release.

Governance

# Publish SNS Governance WASM Built at Commit ec7834c

__Proposer__: arshavir.ter.gabrielyan at dfinity.org

__Source code__: [ec7834c47050fcb576ba569b970d4aad7da8b2dc][new-commit]

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

## Features & Fixes

###  Changed

* Proposal criticality is now defined based on topics. This makes the following two native proposal
  types critical:
    * `AddGenericNervousSystemFunction`
    * `RemoveGenericNervousSystemFunction`

    For more details, please refer to
    [PSA(SNS): Proposal criticality to be defined based on proposal topics](https://forum.dfinity.org/t/psa-sns-proposal-criticality-to-be-defined-based-on-proposal-topics/41685).


## New Commits

```
$ git log --format="%C(auto) %h %s" 7286063eaecd4d3625a8bf991213e27e21d3c2cf..ec7834c47050fcb576ba569b970d4aad7da8b2dc --  ./rs/sns/governance
 c3c9e709f3 feat(sns): Define proposal criticality based on proposal topics (#4368)
 4b7c9fee37 refactor(nervous-system): Move canister interfaces into canister crate (#4351)
 358e7e5168 chore(nns/sns): Update changelog after release (#4288)
```


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

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

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

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