SNS Bug Discovered: Recently upgraded SNSes with certain versions of Swap cannot create Treasury Transfer proposals

A bug has been discovered in SNS governance. You will be affected if all of the following apply to you:

  1. You want to send SNS tokens from the treasury. This is done by making TransferSnsTreasuryFunds proposals, AND

  2. You created your SNS during or before the summer of 2023, AND

  3. You at some point upgraded your SNS governance to commit c70bc26, which was published to the sns-wasms canister in proposal 12881 on 2024-03-26.

If all of these do apply to you, then when you try to create a TransferSnsTreasuryFunds proposal, you will get an error response, and no proposal will be created. The error message will say something like this:

init.sns_token_e8es field in GetInitResponse from swap canister zcdfx-6iaaa-aaaaq-aaagq-cai empty.

We recommend not updating your SNS to the problematic version until a fix has been released, at which point finishing the upgrades will solve the problem.

Some SNSs have already upgraded, and we apologize for the inconvenience.

We have identified the problem, and are working on a solution, which should be available in the coming weeks.

If you are directly affected, and need faster remediation, please reach out.

We will post further updates to this thread as we progress with the solution. If you have further concerns, please feel to reach out to us. Thank you for your patience as we work to resolve this issue.

5 Likes

What is the correct way to check all the upgrades that governance canister went through?

You can see what git commit your governance was built from by doing

CANISTER_ID=

dfx canister \
  --network ic \
  metadata \
  $CANISTER_ID \
  git_commit_id

The affected commits are

  • 300dc60 (2024-03-28)
  • c70bc26 (2024-03-22)
1 Like

Commit 69cd381 fixes this.

The plan is for DFINITY to propose a new SNS governance WASM on Friday, and DFINITY will vote in favor of the proposal on Monday.

1 Like