Proposal 131363 to upgrade the NNS dapp (19/07/2024)

Happy Friday ICPeople! Proposal 131363 to upgrade the NNS dapp just went live, please consider voting. :ballot_box:

I would like to highlight two changes introduced in this proposal:

  1. The tokens table receives an important update. Tokens are now sorted based on the following logic:
  • ICP is always on top regardless of balance. Makes it easier for new comers to find, and copy ICP subaccount ID.
  • Tokens that user has exposure to are on top.
  • Rest of the tokens are sorted alphabetically, while the three tokens that have ecosystem wide significance (ckBTC, ckETH, ckUSDC) appear first. Reason for this special case is to highlight ICP capabilities for newcomers making them easier to find.
  1. A change in how SNS neurons are refreshed greatly reduces the number of requests made to backend canisters. Optimisations like this are laying down the groundwork for scaling in the future.

Change Log

Added

  • A short delay before closing the mobile table sorting modal.

Changed

  • Reduce the frequency of checking if SNS neurons need to be refreshed.
  • New token table order.
  • Update nns-dapp icons for consistent style and line thickness.

Removed

  • Remove default topic and proposal status filters.
  • Remove old canister creation/top-up mechanism that hasn’t been used for 2 years.

Fixed

  • Button disable state glitch when voting with neurons where one follows another.
  • Fix “the current proposals response is too large” error on proposals page.
  • Visibility of “Neuron Management” proposals in actionable list.
  • Fix “Show neurons” for hardware wallet.

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 "120dc093b49fa48f84cadcdb1c38d7ad74d9cd29"
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_hex field in the proposal.

cat nns-dapp-arg-mainnet.did
didc encode "$(cat nns-dapp-arg-mainnet.did)"
5 Likes

It’s really cool that you added the proposal ID to the title of this post. I hope to see that happen more often for technical proposals.

Do you think new tags could also be created for each proposal topic (e.g. System Canister Management) as well as a Proposal tag? That might help make it easier to find proposal posts on the forum when trying to perform a review and reporting results.

4 Likes

That’s a great suggestion! I will ping the right people to see if we could add proposal topic tags.

3 Likes

There is already a proposal tag and I think I created one for System Canister Management

I added both to this topic

LMK if it doesn’t work for you folks

3 Likes