Upgrading old ICRC1 token to the ICRC ledger suite

Is it safe to upgrade an older ICRC1 ledger WASM to the modern ICRC ledger suite?
Goal: Change name and add logo image to ICRC1 metadata

We are trying to update the token logo and description. The plan was to simply modify metadata without changing the WASM by using dfx with UpgradeArgs and --upgrade-unchanged

To do this, we need to provide the currently installed WASM.
ICPSwap informed us that this is the WASM used to deploy CLOUD token.
https://download.dfinity.systems/ic/f89cf257a4e88a5e2f6f29ab50ad4a49b0cb514d/canisters/ic-icrc1-ledger.wasm.gz

Hash: 75178691fce3ed6181ca2a4bf17f26c0ca12a88fda2c7a8eb867ae5281a4d1fd

But the hash of this WASM does not match the CLOUD ledger canister module hash. Hence, we are a bit in the unknown when it comes to the current version, although can guess depending on the time.

According to the canister upgrade history, CLOUD was created on June 10, 2023.

The CLOUD ICRC1 token was deployed with and currently runs WASM hash:

8ddd17ccaab8bd6adf337acb38f89b0db6db3c976f5768bb9a7ced5cef7bd481

We looked at many hashes of ic-icrc1-ledger.wasm releases from before CLOUD token was created, but did not find a match.

Given we don’t have the exact WASM, we believe it is necessary to upgrade the WASM to achieve our goal.

Internet Computer Docs regarding ICRC1 tokens used to say to use WASM based on the commit version of IC

For example: f89cf257a4e88a5e2f6f29ab50ad4a49b0cb514d https://download.dfinity.systems/ic/f89cf257a4e88a5e2f6f29ab50ad4a49b0cb514d/canisters/ic-icrc1-ledger.wasm.gz

Now the docs say to use the latest ICRC ledger suite release.

So long as we are upgrading the WASM, it seems best practice would be to upgrade to the latest icrc1-suite-ledger release.

There are currently 3 icrc-ledger-suite releases.

These releases must be installed oldest to newest.

We performed these upgrades locally in a development environment and it seemed successful.
But would like clarification and assurance that our approach is correct.

Code and instructions available here:

Helpful resource:

Viewed the canister history by using this playground

1 Like

I’m not 100% sure, but last time I checked there were no changes to the ICRC ledger that were not backwards compatible. Therefore I would assume that it is safe to just use the latest wasm directly

1 Like