The NNS Team has submitted the following upgrade proposals today, Friday, 2023-10-27. DFINITY plans to vote on these proposals the following Monday.
Proposals to be Submitted
NNS Governance
## Proposal to Upgrade the Governance Canister
### Proposer: DFINITY Foundation
### Git Hash: d191e57a18cc146b9aa57722adcd4db007f4df5a
### New Wasm Hash: c071b73bcbe045db661f5c41ed2af29bed91e2b0a6eb0739e52a87c5f1e731cf
### Target canister: rrkah-fqaaa-aaaaa-aaaaq-cai
---
## Features
- Enable Neuron index migrations to Stable Storage
- Persist Following index across upgrades
- Fix bug that breaks rollbacks in certain cases
- Reserve 4GB Upgrade Memory in stable storage to safeguard upgradability
## Release Notes
```
$ git log --format="%C(auto) %h %s" 3d8309b06dfd2c6c2a9e2d8b670db711faca3f1c..d191e57a18cc146b9aa57722adcd4db007f4df5a -- ./rs/nns/governance
fba1ef62ac test: NNS1-2676: Test that runs copying of inactive neurons to stable memory during heartbeat, and verifies the copy.
25b7544aac Merge branch 'arshavir/NNS1-2570-2' into 'master'
2298a95ec0 feat(NNS1-2570): Matched Funding / Add field `ideal_matched_participation_function` to `NeuronsFundParticipationConstraints` in Swap Init
0aeddd1b19 Merge branch '@anchpop/NNS1-2680' into 'master'
7a3b5731ea feat(NNS1-2680): Matched Funding / Replace one of the binary search implementations in /rs/nns/governance/src/neurons_fund.rs with the binary search implementation in nervous_system_common
3b1d18bdac refactor: Move existing feature flags for migrations and define a new flag
cf8b60c1d1 Remove test version of sns-wasm
bf9bc00b03 refactor(IDX-3017) sync strum version and move to workspace.
92625bdc9d feat(NNS1-2620): Matched Funding / Encode the polynomial S-curve
301f5f2f4d build: use the tokio version from the workspace
9a417b1914 Merge branch 'jason/fix-disable-neuron-copy-validator' into 'master'
c5da765b88 chore: Disable neuron copy validator before copying inactive neuron is turned on
706bbafa89 Merge branch 'inactive-neuron-v2-daniel-wong' into 'master'
016308b138 feat: NNS1-2597: Define "inactive" Neuron using only the current time.
671d926820 fix: Fix neuron following index cardinality calculation in validation
b4fe75a8e3 feat: Reserve 4GiB for UPGRADES_MEMORY
84d2843784 Merge branch 'jason/flip-indexes-migration-flag' into 'master'
54665574a8 feat: NNS1-2417 Turn neuron_stable_indexes_building_is_enabled to true
b24f708ee0 Merge branch 'jason/fix-last-neuron-id-saturating-add' into 'master'
ad1e198d67 fix: Use saturating add so that neuron migration does not wrap around
9e89d7e034 Merge branch 'jason/NNS1-2417' into 'master'
2c9d9108f3 feat: NNS1-2417 Tune batch sizes for neuron indexes migration and validation
6c41c36854 Merge branch 'NNS1-2616-A' into 'master'
34ac22e0a7 feat: NNS1-2616: Store HeapNeuronsFollowingIndex on heap during upgrades
0cf7f9be0e feat: Check heap growth potential before running validations
e197656657 feat(NNS1-2569): Matched Funding / Add neurons_fund_participation to SnsInitPayload
dee90d01df Merge branch 'arshavir/NNS1-2569' into 'master'
6b1d06566c feat(NNS1-2569): Matched Funding / Add `Swap.init.neurons_fund_participation`
658b3c0526 feat(NNS1-2555): Matched Funding / Apply `NeuronsFundParticipation` in NNS Governance (before and after the swap begins) [override-didc-check]
```
## Wasm Verification
Verify that the hash of the gzipped WASM matches the proposed hash.
```
git fetch
git checkout d191e57a18cc146b9aa57722adcd4db007f4df5a
./gitlab-ci/container/build-ic.sh -c
sha256sum ./artifacts/canisters/governance-canister.wasm.gz
```
## Current Version
- Current Git Hash: 3d8309b06dfd2c6c2a9e2d8b670db711faca3f1c
- Current Wasm Hash: 3b3daa0fee1562f948113b06783de4bd98752a7935e392b07a95af639c70627e
Sns-Wasm
## Proposal to Upgrade the Sns-wasm Canister
### Proposer: DFINITY Foundation
### Git Hash: d191e57a18cc146b9aa57722adcd4db007f4df5a
### New Wasm Hash: 49af5a44d4b97e5b4b703858dc9d91dfa0b0c997d125d4131f12ab589fe1e36f
### Target canister: qaa6y-5yaaa-aaaaa-aaafa-cai
---
## Release Notes
```
$ git log --format="%C(auto) %h %s" e63cc8e68d591dd0ca3e68ec46ed1d9c2c1d7797..d191e57a18cc146b9aa57722adcd4db007f4df5a -- ./rs/nns/sns-wasm
33b4bbbfd8 RUN-810: Switch `CanisterId::new` to infallable `CanisterId::unchecked_from_principal`
2298a95ec0 feat(NNS1-2570): Matched Funding / Add field `ideal_matched_participation_function` to `NeuronsFundParticipationConstraints` in Swap Init
cf8b60c1d1 Remove test version of sns-wasm
301f5f2f4d build: use the tokio version from the workspace
e197656657 feat(NNS1-2569): Matched Funding / Add neurons_fund_participation to SnsInitPayload
e2ff2692bb feat(NNS1-2636): Matched Funding / Add idempotent method for creating SNS Neuron Recipes
6769e31836 chore: use path for icrc-ledger-types
39b0364297 feat(NNS1-2639): Matched Funding / Add `min_direct_icp` and `max_direct_icp` to swap and governance
cfe9a267a1 chore(icrc): move client and client-cdk libraries to packages
fdffb2bad4 refactor: run cargo clippy fix on the repository
13d02270dc refactor: use the workspace for prost-build and bytes crate version
78836a179a chore: use the global workspace for the version of the futures crate
9371e6fbd8 chore: use the global workspace for deriving the prost version
```
## Wasm Verification
Verify that the hash of the gzipped WASM matches the proposed hash.
```
git fetch
git checkout d191e57a18cc146b9aa57722adcd4db007f4df5a
./gitlab-ci/container/build-ic.sh -c
sha256sum ./artifacts/canisters/sns-wasm-canister.wasm.gz
```
## Current Version
- Current Git Hash: e63cc8e68d591dd0ca3e68ec46ed1d9c2c1d7797
- Current Wasm Hash: 10d075f111a268260cde8089005a00785c44107a5295a02ee5ecd1469a56ed1d
SNS Governance
## Proposal to Publish the SNS Governance Canister WASM to SNS-W
### Proposer: DFINITY Foundation
### Canister Type: governance
### Git Hash: d191e57a18cc146b9aa57722adcd4db007f4df5a
### New Wasm Hash: 524d1468bd938e7f57679e530aa58e1bd86899e45cd87cf05474f98dadd8285c
---
## Features
- Bug fix for SNS Maturity Modulation: Apply at end of 7 day window
- Add voting threshold information to ProposalData
- Add token count to TransferSnsTreasuryFunds proposal rendering
- Recalculate tallies for SNS proposals if the deadline hasn't passed yet
- Disallow refresh of NF SNS neurons
## Release Notes
```
$ git log --format="%C(auto) %h %s" 1e391f489ae2e79961f36c8c709e8692dbb46f33..d191e57a18cc146b9aa57722adcd4db007f4df5a -- ./rs/sns/governance
33b4bbbfd8 RUN-810: Switch `CanisterId::new` to infallable `CanisterId::unchecked_from_principal`
bf9bc00b03 refactor(IDX-3017) sync strum version and move to workspace.
301f5f2f4d build: use the tokio version from the workspace
3984df6746 Merge branch '@anchpop/NNS1-2607' into 'master'
08b26ca3b6 NNS1-2607: Add voting threshold information to ProposalData
9d20246937 feat(sns): Moved creation of SNS Neuron recipes to swap finalization
6769e31836 chore: use path for icrc-ledger-types
cfe9a267a1 chore(icrc): move client and client-cdk libraries to packages
70226d30e4 refactor: [IDX-3017] Update base64 and put it into workspace.
149e49775c Add token count to TransferSnsTreasuryFunds proposal rendering
13d02270dc refactor: use the workspace for prost-build and bytes crate version
78836a179a chore: use the global workspace for the version of the futures crate
9371e6fbd8 chore: use the global workspace for deriving the prost version
8b3323c1e0 Chore: Fix typos in nns code
1fa41bdfce chore: upgrade the prost, tonic and pprof versions
68c57d1242 Update gazelle, go and buildifier toolchains.
8afad79547 NNS1-2283: Recalculate tallies for SNS proposals if the deadline hasn't passed yet
a53e3fcfa2 upgrade tokio to the 1.32.x LTS release
3af5fdd5d8 feat: change ICRC-1 Account to use the standard ICRC-1 Textual Representation
9e8bb53e3a Merge branch '@anchpop/NNS1-2552' into 'master'
fb5a173548 NNS1-2552: Add test-only mint_tokens SNS api
191d7df2a1 fix(sns): Apply SNS maturity modulation at the end of the 7 day window
4c04053ff9 Fix: Removes some bad spelling.
dcf13de946 chore: Clean up unused deps, part 2
89f0110e87 NNS1-2439: Add test-only endpoint to increase the maturity of an SNS neuron
3159489913 Merge branch 'arshavir/NNS1-2369-5' into 'master'
eb8788424e chore: Avoid using `as` when casting from larger to smaller integer types
bd5c6ec4db Merge branch '@anchpop/NNS1-2203' into 'master'
1bfef71961 NNS1-2203: Disallow refresh of NF SNS neurons
d56a7d85fa chore: update criterion to 0.5
703eb96fea feat(bazel): add protobuf formatting
5e60c08ffa chore(bazel): update `rules_rust` to `0.26.0`
c1791a23a4 refactor(crypto): CRP-2135 rename crate `ic-crypto-sha` to `ic-crypto-sha2`
3855fbb623 chore: bump rust to 1.71
70f37f6dc5 [NNS1-2398] Follow a consistent pattern to update indexes
1ff338e53c chore(VER-2413): Update `check_generated_files` command
```
## Wasm Verification
Verify that the hash of the gzipped WASM matches the proposed hash.
```
git fetch
git checkout d191e57a18cc146b9aa57722adcd4db007f4df5a
./gitlab-ci/container/build-ic.sh -c
sha256sum ./artifacts/canisters/sns-governance-canister.wasm.gz
```
SNS Root
## Proposal to Publish the SNS Root Canister WASM to SNS-W
### Proposer: DFINITY Foundation
### Canister Type: root
### Git Hash: d191e57a18cc146b9aa57722adcd4db007f4df5a
### New Wasm Hash: 0609c4337c2d8695078e4973172e04673ceb7706c20247b011d4e260e56d6a2c
---
## Release Notes
```
$ git log --format="%C(auto) %h %s" af4f0fc316a5b607365253fb67026a34412c208e..d191e57a18cc146b9aa57722adcd4db007f4df5a -- ./rs/sns/root
33b4bbbfd8 RUN-810: Switch `CanisterId::new` to infallable `CanisterId::unchecked_from_principal`
301f5f2f4d build: use the tokio version from the workspace
6769e31836 chore: use path for icrc-ledger-types
cfe9a267a1 chore(icrc): move client and client-cdk libraries to packages
13d02270dc refactor: use the workspace for prost-build and bytes crate version
78836a179a chore: use the global workspace for the version of the futures crate
9371e6fbd8 chore: use the global workspace for deriving the prost version
8b3323c1e0 Chore: Fix typos in nns code
1fa41bdfce chore: upgrade the prost, tonic and pprof versions
68c57d1242 Update gazelle, go and buildifier toolchains.
a53e3fcfa2 upgrade tokio to the 1.32.x LTS release
dcf13de946 chore: Clean up unused deps, part 2
10ff02a3a3 [NNS1-2475] Include CreateServiceNervousSystem proposals in the SNS proposal lock
703eb96fea feat(bazel): add protobuf formatting
5e60c08ffa chore(bazel): update `rules_rust` to `0.26.0`
3855fbb623 chore: bump rust to 1.71
```
## Wasm Verification
Verify that the hash of the gzipped WASM matches the proposed hash.
```
git fetch
git checkout d191e57a18cc146b9aa57722adcd4db007f4df5a
./gitlab-ci/container/build-ic.sh -c
sha256sum ./artifacts/canisters/sns-root-canister.wasm.gz
```
SNS Swap
## Proposal to Publish the SNS Swap Canister WASM to SNS-W
### Proposer: DFINITY Foundation
### Canister Type: swap
### Git Hash: d191e57a18cc146b9aa57722adcd4db007f4df5a
### New Wasm Hash: 04cac6f6e8e9de8313a1657abe3357cda8cd59182a4fb58eebf16fb0191b8af1
---
## Features
- Work to support matched funding (not yet enabled)
## Release Notes
```
$ git log --format="%C(auto) %h %s" d7024323737506a270ad2c4d4872eb8e77effb54..d191e57a18cc146b9aa57722adcd4db007f4df5a -- ./rs/sns/swap
33b4bbbfd8 RUN-810: Switch `CanisterId::new` to infallable `CanisterId::unchecked_from_principal`
25b7544aac Merge branch 'arshavir/NNS1-2570-2' into 'master'
2298a95ec0 feat(NNS1-2570): Matched Funding / Add field `ideal_matched_participation_function` to `NeuronsFundParticipationConstraints` in Swap Init
8e4aa083e1 chore: Change swap to call the nervous_system_common API to get stable memory size
dc94c67432 chore(SNS): Improve error descriptiveness for Swap canister's legacy vs. 1-proposal field validation
301f5f2f4d build: use the tokio version from the workspace
9d20246937 feat(sns): Moved creation of SNS Neuron recipes to swap finalization
f9dc9410d8 feat(SNS): Make Swap params validation errors more verbose
0c4c386a4f Merge branch 'arshavir/NNS1-2640' into 'master'
16373ac00c feat(NNS1-2640): Matched Funding / Limit swap duration to 14 days
6b1d06566c feat(NNS1-2569): Matched Funding / Add `Swap.init.neurons_fund_participation`
e2ff2692bb feat(NNS1-2636): Matched Funding / Add idempotent method for creating SNS Neuron Recipes
6769e31836 chore: use path for icrc-ledger-types
39b0364297 feat(NNS1-2639): Matched Funding / Add `min_direct_icp` and `max_direct_icp` to swap and governance
cfe9a267a1 chore(icrc): move client and client-cdk libraries to packages
609333f37c chore(sns): Move the creation of SNS Neuron recipes from can_commit to its own method
0032f43e2e chore(sns): Refactor Swap heartbeat to only allow one state transition per heartbeat
32ad71bf42 feat(NNS1-2556): Matched Funding / Initialize cached fields in `Swap.try_open_after_delay`
13d02270dc refactor: use the workspace for prost-build and bytes crate version
78836a179a chore: use the global workspace for the version of the futures crate
9371e6fbd8 chore: use the global workspace for deriving the prost version
41aae0f203 Merge branch 'arshavir/NNS1-2556' into 'master'
68e4092b14 feat(NNS1-2556): Matched Funding / Add `{direct,neurons_fund}_participation_icp_e8s` to `GetDerivedStateResponse`
4592945ed1 feat(NNS1-2594): Matched Funding / Add compile time feature flag and validation for `SnsInitPayload.neurons_fund_participation_constraints`
8abe5f41e0 feat(NNS1-2593): Matched Funding / Add `neurons_fund_participation_constraints` to `SnsInitPayload` [override-didc-check]
ec42189e96 Merge branch 'arshavir/NNS1-2554' into 'master'
30e42eca09 feat(NNS1-2554): Refactor `refresh_buyer_token_e8s`
8b3323c1e0 Chore: Fix typos in nns code
1fa41bdfce chore: upgrade the prost, tonic and pprof versions
6190806297 feat(NNS1-2553): Matched Funding / Add new field `neurons_fund_participation_constraints` to `SwapInit`
6a28dd323d feat(NNS1-2553): Match Funding / Add new field `Committed.total_neurons_fund_contribution_e8s`
2d481df8ff feat(NNS1-2553): Match Funding / Add new field `Swap.current_neurons_fund_contribution_e8s`
68c57d1242 Update gazelle, go and buildifier toolchains.
a53e3fcfa2 upgrade tokio to the 1.32.x LTS release
4c04053ff9 Fix: Removes some bad spelling.
4eabd5794a chore: Remove extraneous checks in Swap heartbeat
dcf13de946 chore: Clean up unused deps, part 2
7ba07a2ccc Merge branch 'arshavir/NNS1-2369-3' into 'master'
2c6298eb5f chore: Rename `SALE_NEURON_MEMO_RANGE` to `NEURON_BASKET_MEMO_RANGE`
022467c260 Merge branch 'arshavir/NNS1-2369-2' into 'master'
d6d3c37862 chore: Update comment for FIRST_PRINCIPAL_BYTES
43fbbab68a [NNS1-2367] Swap paging algorithms do not panic on invalid offset
d56a7d85fa chore: update criterion to 0.5
49f09f9548 chore: Update unit used in log message in SNS Swap
```
## Wasm Verification
Verify that the hash of the gzipped WASM matches the proposed hash.
```
git fetch
git checkout d191e57a18cc146b9aa57722adcd4db007f4df5a
./gitlab-ci/container/build-ic.sh -c
sha256sum ./artifacts/canisters/sns-swap-canister.wasm.gz
```