Proposal 138051 to upgrade the NNS dapp (2025-08-19)

Hi everyone :waving_hand:
Proposal 138051 to upgrade the NNS dapp just went live, please consider voting :ballot_box_with_ballot:

Motivation

Some SNS have canisters that are out of cycles or even uninstalled, which presents a challenge for the NNS dapp. When this happens, there are limited options for the dapp to retrieve meaningful data and show functionality to the users.

If the root canister is out of cycles or uninstalled, it is impossible for the dapp to even discover the relevant SNS canisters.

If the governance canister is out of cycles or uninstalled, the app cannot load neurons and proposals, which breaks essential functionality.

In all these cases users cannot access certain functionality. If all these cases are handled individually, users see a different set of functionality for different SNSs which is confusing. Moreover, this is a significant effort and adds complexity.

Because in most of these scenarios, the corresponding SNS is no longer functional from a user perspective, some SNSs have been excluded in the NNS dapp.

This was also done for the ICVC. For ICVC only the index canister is out of cycle and there is still an active community and ongoing proposals. Therefore, in this NNS dapp release we propose a change that handles SNSs better for which only the index canister is out of cycles. This brings back the ICVC SNS on the pages where this is possible. In particular, after this upgrade the neuron and voting pages work again. However, the transaction details page which relies on the index canister is not available.

Canister ID: qoctq-giaaa-aaaaa-aaaea-cai
Commit: d5274ad04c80d8a36fcb7e7974aa4037cecf4675
Wasm hash: b01bd539c85bb2b96cb9b06e095693061d25410d21783d2de2167116160c7015

Change Log

Application

Changed

  • Improved handling of SNSes with an uninstalled index canister.

Wasm Verification

To build the wasm module yourself and verify its hash, run the following commands from the root of the nns-dapp repo:

git fetch  # to ensure you have the latest changes.
git checkout "d5274ad04c80d8a36fcb7e7974aa4037cecf4675"
git merge-base --is-ancestor HEAD origin/main && echo "OK" || echo "Commit is not on main branch!"
./scripts/docker-build
sha256sum nns-dapp.wasm.gz

You may also want to verify the canister arguments. In the proposal they are
binary, which is not very readable. Docker provides both binary and text formats
and you can verify that the text format corresponds to the binary arg_hash
field in the proposal.

cat nns-dapp-arg-mainnet.did
didc encode "$(cat nns-dapp-arg-mainnet.did)" | xxd -r -p | sha256sum
3 Likes

To ensure the ICVC community can vote on their proposals again soon, DFINITY decided to vote early on this proposal.

1 Like