ICP Ledger Canister Suite Upgrades 2025-05-16

The Financial Integrations team has submitted the following proposals today, 2025-05-16 for upgrading the ICP Ledger canister suite. DFINITY plans to vote on these proposals on Monday.

ICP index (proposal 136671):

Proposal to upgrade the ICP index canister

Repository: https://github.com/dfinity/ic.git

Git hash: 2949c97ba369bd01c8bd5c99c59987519b730990

New compressed Wasm hash: e73fe350b9a98d0bb5ae78d8801da5bdd213f9b71d87f383d4ff7b35a2f12601

Upgrade args hash: 0fee102bd16b053022b69f2c65fd5e2f41d150ce9c214ac8731cfaf496ebda4e

Target canister: qhbym-qaaaa-aaaaa-aaafq-cai

Previous ICP index proposal: https://dashboard.internetcomputer.org/proposal/136583


Motivation

  • Update Rust to 1.86.0
  • Revert ic-cdk to 0.17.2

Release Notes

git log --format='%C(auto) %h %s' 195808c9119e1fd3685a82480c258596e0374009..2949c97ba369bd01c8bd5c99c59987519b730990 -- packages/icrc-ledger-types packages/ic-http-types rs/ledger_suite/icp/index rs/ledger_suite/icp/src rs/ledger_suite/common/ledger_canister_core/src rs/ledger_suite/common/ledger_core rs/rust_canisters/canister_log
2949c97ba3 chore: Revert ic-cdk to 0.17.2 (#5139)
d1dc4c2dc8 chore: Update Rust to 1.86.0 (#5059)

Upgrade args

git fetch
git checkout 2949c97ba369bd01c8bd5c99c59987519b730990
didc encode '()' | xxd -r -p | sha256sum

Wasm Verification

Verify that the hash of the gzipped WASM matches the proposed hash.

git fetch
git checkout 2949c97ba369bd01c8bd5c99c59987519b730990
"./ci/container/build-ic.sh" "--canisters"
sha256sum ./artifacts/canisters/ic-icp-index-canister.wasm.gz

ICP ledger (proposal 136672):

Proposal to upgrade the ICP ledger canister

Repository: https://github.com/dfinity/ic.git

Git hash: 2949c97ba369bd01c8bd5c99c59987519b730990

New compressed Wasm hash: a233f0eccb9735fff70a77e2f8a64f527f7d663fc94aada3c1a74c06d85a6105

Upgrade args hash: 0fee102bd16b053022b69f2c65fd5e2f41d150ce9c214ac8731cfaf496ebda4e

Target canister: ryjl3-tyaaa-aaaaa-aaaba-cai

Previous ICP ledger proposal: https://dashboard.internetcomputer.org/proposal/136584


Motivation

  • Add logging of callers to the deprecated notify method
  • Update Rust to 1.86.0
  • Revert ic-cdk to 0.17.2

Release Notes

git log --format='%C(auto) %h %s' 195808c9119e1fd3685a82480c258596e0374009..2949c97ba369bd01c8bd5c99c59987519b730990 -- packages/icrc-ledger-types rs/ledger_suite/icp/ledger/src rs/ledger_suite/icp/src rs/ledger_suite/common/ledger_canister_core/src rs/ledger_suite/common/ledger_core/src
2949c97ba3 chore: Revert ic-cdk to 0.17.2 (#5139)
79c34875b8 feat(ICP_Ledger): FI-1728: Add logging of callers to the deprecated notify method (#5096)
d1dc4c2dc8 chore: Update Rust to 1.86.0 (#5059)

Upgrade args

git fetch
git checkout 2949c97ba369bd01c8bd5c99c59987519b730990
didc encode '()' | xxd -r -p | sha256sum

Wasm Verification

Verify that the hash of the gzipped WASM matches the proposed hash.

git fetch
git checkout 2949c97ba369bd01c8bd5c99c59987519b730990
"./ci/container/build-ic.sh" "--canisters"
sha256sum ./artifacts/canisters/ledger-canister_notify-method.wasm.gz

ICP archive1 (proposal 136673):

Proposal to upgrade the ICP archive1 canister

Repository: https://github.com/dfinity/ic.git

Git hash: 2949c97ba369bd01c8bd5c99c59987519b730990

New compressed Wasm hash: 21257a4ce0fd1d0ba4feb9e97c72bd17ceb51084850307ea2b7478095cac691e

Upgrade args hash: 0fee102bd16b053022b69f2c65fd5e2f41d150ce9c214ac8731cfaf496ebda4e

Target canister: qjdve-lqaaa-aaaaa-aaaeq-cai

Previous ICP archive1 proposal: https://dashboard.internetcomputer.org/proposal/136585


Motivation

  • Update Rust to 1.86.0
  • Revert ic-cdk to 0.17.2

Release Notes

git log --format='%C(auto) %h %s' 195808c9119e1fd3685a82480c258596e0374009..2949c97ba369bd01c8bd5c99c59987519b730990 -- packages/icrc-ledger-types rs/ledger_suite/icp/archive rs/ledger_suite/icp/src rs/ledger_suite/common/ledger_canister_core rs/ledger_suite/common/ledger_core
2949c97ba3 chore: Revert ic-cdk to 0.17.2 (#5139)
d1dc4c2dc8 chore: Update Rust to 1.86.0 (#5059)

Upgrade args

git fetch
git checkout 2949c97ba369bd01c8bd5c99c59987519b730990
didc encode '()' | xxd -r -p | sha256sum

Wasm Verification

Verify that the hash of the gzipped WASM matches the proposed hash.

git fetch
git checkout 2949c97ba369bd01c8bd5c99c59987519b730990
"./ci/container/build-ic.sh" "--canisters"
sha256sum ./artifacts/canisters/ledger-archive-node-canister.wasm.gz

ICP archive2 (proposal 136675):

Proposal to upgrade the ICP archive2 canister

Repository: https://github.com/dfinity/ic.git

Git hash: 2949c97ba369bd01c8bd5c99c59987519b730990

New compressed Wasm hash: 21257a4ce0fd1d0ba4feb9e97c72bd17ceb51084850307ea2b7478095cac691e

Upgrade args hash: 0fee102bd16b053022b69f2c65fd5e2f41d150ce9c214ac8731cfaf496ebda4e

Target canister: qsgjb-riaaa-aaaaa-aaaga-cai

Previous ICP archive2 proposal: https://dashboard.internetcomputer.org/proposal/136586


Motivation

  • Update Rust to 1.86.0
  • Revert ic-cdk to 0.17.2

Release Notes

git log --format='%C(auto) %h %s' 195808c9119e1fd3685a82480c258596e0374009..2949c97ba369bd01c8bd5c99c59987519b730990 -- packages/icrc-ledger-types rs/ledger_suite/icp/archive rs/ledger_suite/icp/src rs/ledger_suite/common/ledger_canister_core rs/ledger_suite/common/ledger_core
2949c97ba3 chore: Revert ic-cdk to 0.17.2 (#5139)
d1dc4c2dc8 chore: Update Rust to 1.86.0 (#5059)

Upgrade args

git fetch
git checkout 2949c97ba369bd01c8bd5c99c59987519b730990
didc encode '()' | xxd -r -p | sha256sum

Wasm Verification

Verify that the hash of the gzipped WASM matches the proposed hash.

git fetch
git checkout 2949c97ba369bd01c8bd5c99c59987519b730990
"./ci/container/build-ic.sh" "--canisters"
sha256sum ./artifacts/canisters/ledger-archive-node-canister.wasm.gz

ICP archive3 (proposal 136676):

Proposal to upgrade the ICP archive3 canister

Repository: https://github.com/dfinity/ic.git

Git hash: 2949c97ba369bd01c8bd5c99c59987519b730990

New compressed Wasm hash: 21257a4ce0fd1d0ba4feb9e97c72bd17ceb51084850307ea2b7478095cac691e

Upgrade args hash: 0fee102bd16b053022b69f2c65fd5e2f41d150ce9c214ac8731cfaf496ebda4e

Target canister: q4eej-kyaaa-aaaaa-aaaha-cai

Previous ICP archive3 proposal: https://dashboard.internetcomputer.org/proposal/136587


Motivation

  • Update Rust to 1.86.0
  • Revert ic-cdk to 0.17.2

Release Notes

git log --format='%C(auto) %h %s' 195808c9119e1fd3685a82480c258596e0374009..2949c97ba369bd01c8bd5c99c59987519b730990 -- packages/icrc-ledger-types rs/ledger_suite/icp/archive rs/ledger_suite/icp/src rs/ledger_suite/common/ledger_canister_core rs/ledger_suite/common/ledger_core
2949c97ba3 chore: Revert ic-cdk to 0.17.2 (#5139)
d1dc4c2dc8 chore: Update Rust to 1.86.0 (#5059)

Upgrade args

git fetch
git checkout 2949c97ba369bd01c8bd5c99c59987519b730990
didc encode '()' | xxd -r -p | sha256sum

Wasm Verification

Verify that the hash of the gzipped WASM matches the proposed hash.

git fetch
git checkout 2949c97ba369bd01c8bd5c99c59987519b730990
"./ci/container/build-ic.sh" "--canisters"
sha256sum ./artifacts/canisters/ledger-archive-node-canister.wasm.gz

ICP archive4 (proposal 136678):

Proposal to upgrade the ICP archive4 canister

Repository: https://github.com/dfinity/ic.git

Git hash: 2949c97ba369bd01c8bd5c99c59987519b730990

New compressed Wasm hash: 21257a4ce0fd1d0ba4feb9e97c72bd17ceb51084850307ea2b7478095cac691e

Upgrade args hash: 0fee102bd16b053022b69f2c65fd5e2f41d150ce9c214ac8731cfaf496ebda4e

Target canister: q3fc5-haaaa-aaaaa-aaahq-cai

Previous ICP archive4 proposal: https://dashboard.internetcomputer.org/proposal/136588


Motivation

  • Update Rust to 1.86.0
  • Revert ic-cdk to 0.17.2

Release Notes

git log --format='%C(auto) %h %s' 195808c9119e1fd3685a82480c258596e0374009..2949c97ba369bd01c8bd5c99c59987519b730990 -- packages/icrc-ledger-types rs/ledger_suite/icp/archive rs/ledger_suite/icp/src rs/ledger_suite/common/ledger_canister_core rs/ledger_suite/common/ledger_core
2949c97ba3 chore: Revert ic-cdk to 0.17.2 (#5139)
d1dc4c2dc8 chore: Update Rust to 1.86.0 (#5059)

Upgrade args

git fetch
git checkout 2949c97ba369bd01c8bd5c99c59987519b730990
didc encode '()' | xxd -r -p | sha256sum

Wasm Verification

Verify that the hash of the gzipped WASM matches the proposed hash.

git fetch
git checkout 2949c97ba369bd01c8bd5c99c59987519b730990
"./ci/container/build-ic.sh" "--canisters"
sha256sum ./artifacts/canisters/ledger-archive-node-canister.wasm.gz
1 Like

proposals - [136671, 136672, 136673, 136675, 136676, 136678] Cyberowl | CodeGov

Proposals:

136671
136672
136673
136675
136676
136678

Vote: [ADOPT, ADOPT, ADOPT, ADOPT, ADOPT, ADOPT]

Reason & Feedback:

The roll back is across many commits and for consistency purposes outside just these proposals I am voting to ADOPT. Even if next few weeks we go back to v0.18.0.

Checks:

Hash Match: [PASS, PASS, PASS, PASS, PASS, PASS]
Target Canister: [PASS, PASS, PASS, PASS, PASS, PASS]
Proposer Check: [PASS, PASS, PASS, PASS, PASS, PASS]

Overall Summary:

Rolls ic-cdk and ic-cdk-macros back from v0.18.0 to v0.17.2.

Commits Summary

proposal/[136671, 136672, 136673, 136675, 136676, 136678]

2949c97ba3
Rolls ic-cdk and ic-cdk-macros back from v0.18.0 to v0.17.2.

d1dc4c2dc8
CI/CD image and toolchain upgrades (including the one-off SHA fix in ci-pr-only.yml).
Shift to Rust 1.86.0.
div_ceil, repeat_n, next_back(), pattern-matching, !is_empty() and the Clippy/rustfmt

proposal/136672

79c34875b8
Makes the deprecated notify entry point actually log who called it.

About CodeGov

CodeGov has a team of developers who review and vote independently on the following proposal topics: IC-OS Version Election, Protocol Canister Management, Subnet Management, Node Admin, and Participant Management. The CodeGov NNS known neuron is configured to follow our reviewers on these technical topics. We also have a group of Followees who vote independently on the Governance and the SNS & Neuron’s Fund topics. We strive to be a credible and reliable Followee option that votes on every proposal and every proposal topic in the NNS. We also support decentralization of SNS projects such as WaterNeuron, KongSwap, and Alice with a known neuron and credible Followees.

Learn more about CodeGov and its mission at codegov.org.

2 Likes

Proposals 136671, 136672, 136673, 136675, 136676 & 136678 | Tim - CodeGov

Vote: Adopt

Reason: Build is successful, hashes and args match, commits match descriptions and the reasoning behind the changes is sound.

[2949c97ba3]
Reverts commit 3490ef2a0, which updated the monorepo version of ic-cdk to 0.18.0 and maintained a distinction between ic-cdk 0.17.1 and ic-cdk 0.18.0 (and similarly for related crates).

[d1dc4c2dc8]
Updates Rust version to 1.86.0.

[79c34875b8]
Adds logging of caller principle ID to the notify method for notifying a canister that you have made a payment to it.

About CodeGov

CodeGov has a team of developers who review and vote independently on the following proposal topics: IC-OS Version Election, Protocol Canister Management, Subnet Management, API Boundary Node Management, Node Admin, and Participant Management. The CodeGov NNS known neuron is configured to follow our reviewers on these technical topics. We also have a group of Followees who vote independently on the Governance and the SNS & Neurons’ Fund topics. We strive to be a credible and reliable Followee option that votes on every proposal and every proposal topic in the NNS. We also support decentralisation of SNS projects such as WaterNeuron, KongSwap, and Alice with a known neuron and credible Followees.

Learn more about CodeGov and its mission at codegov.org.

2 Likes

Adopt 136671 136672 136673 136675 136676 136678

Proposal

  • The upgrade args correspond to the empty args.
  • The install mode is indeed upgrade.
  • The wasm hash are reproducible.

Code Review

[2949c97ba3]: Roll back ic-cdk from 0.18.0 to 0.17.2.
[d1dc4c2dc8]: Bump rust version to 1.86.0.

1 Like

Proposal #136671 for ICP index — Zack | CodeGov

Vote: Adopted

Reason: The build is reproducible and both the wasm hash as well as the arguments hash are a match.
The canister id qhbym-qaaaa-aaaaa-aaafq-cai is correct and the install mode is upgrade.

Proposal #136672 for ICP ledger — Zack | CodeGov

Vote: Adopted

Reason: The build is reproducible and both the wasm hash as well as the arguments hash are a match.
The canister id ryjl3-tyaaa-aaaaa-aaaba-cai is correct and the install mode is upgrade.

Proposal #136673 for ICP archive1 — Zack | CodeGov

Vote: Adopted

Reason: The build is reproducible and both the wasm hash as well as the arguments hash are a match.
The canister id qjdve-lqaaa-aaaaa-aaaeq-cai is correct and the install mode is upgrade.

Proposal #136675 for ICP archive2 — Zack | CodeGov

Vote: Adopted

Reason: The build is reproducible and both the wasm hash as well as the arguments hash are a match.
The canister id qsgjb-riaaa-aaaaa-aaaga-cai is correct and the install mode is upgrade.

Proposal #136676 for ICP archive3 — Zack | CodeGov

Vote: Adopted

Reason: The build is reproducible and both the wasm hash as well as the arguments hash are a match.
The canister id q4eej-kyaaa-aaaaa-aaaha-cai is correct and the install mode is upgrade.

Proposal #136678 for ICP archive4 — Zack | CodeGov

Vote: Adopted

Reason: The build is reproducible and both the wasm hash as well as the arguments hash are a match.
The canister id q3fc5-haaaa-aaaaa-aaahq-cai is correct and the install mode is upgrade.

Commits match their description including the issues that led to this :
2949c97ba3 chore: Revert ic-cdk to 0.17.2
d1dc4c2dc8 chore: Update Rust to 1.86.0
79c34875b8 feat(ICP_Ledger): FI-1728: Add logging of callers to the deprecated notify method.

About CodeGov

CodeGov has a team of developers who review and vote independently on the following proposal topics: IC-OS Version Election, Protocol Canister Management, Subnet Management, Node Admin, and Participant Management. The CodeGov NNS known neuron is configured to follow our reviewers on these technical topics. We also have a group of Followees who vote independently on the Governance and the SNS & Neuron’s Fund topics. We strive to be a credible and reliable Followee option that votes on every proposal and every proposal topic in the NNS. We also support decentralization of SNS projects such as WaterNeuron, KongSwap, and Alice with a known neuron and credible Followees.

Learn more about CodeGov and its mission at codegov.org.

Proposals 136671, 136672, 136673, 136675, 136676 & 136678 – LaCosta | CodeGov

Vote: ADOPT


Reason:
Build successful and hashes match, commits look great and match the description. Found no issues.

[2949c97ba3]: Reverts the bump of ic-cdk from commit 3490ef2a0

[d1dc4c2dc8]: Updates Rust from version 1.85.1 to 1.86.0

About CodeGov

CodeGov has a team of developers who review and vote independently on the following proposal topics: IC-OS Version Election, Protocol Canister Management, Subnet Management, Node Admin, and Participant Management. The CodeGov NNS known neuron is configured to follow our reviewers on these technical topics. We also have a group of Followees who vote independently on the Governance and the SNS & Neuron’s Fund topics. We strive to be a credible and reliable Followee option that votes on every proposal and every proposal topic in the NNS. We also support decentralization of SNS projects such as WaterNeuron, KongSwap, and Alice with a known neuron and credible Followees.

Learn more about CodeGov and its mission at codegov.org.