ICP Ledger Canister Suite Upgrades 2025-03-21

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

ICP index (proposal 135926):

Proposal to upgrade the ICP index canister

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

Git hash: 2fe8aefafcb2fbee6fdb2785374d5de715560269

New compressed Wasm hash: 49aaa674ef050749da4f8f3a844467a2a189b23ee3c3734440424993b6f036fe

Upgrade args hash: 0fee102bd16b053022b69f2c65fd5e2f41d150ce9c214ac8731cfaf496ebda4e

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

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


Motivation

  • Migrate index from dfn to cdk
  • Upgrade stable structures library to version 0.6.8 - improved performance.

Upgrade args

git fetch
git checkout 2fe8aefafcb2fbee6fdb2785374d5de715560269
cd rs/ledger_suite/icp/index
didc encode '()' | xxd -r -p | sha256sum

Release Notes

git log --format='%C(auto) %h %s' 6bc1943fc5bcff846959025c5f3f2f7f510489cf..2fe8aefafcb2fbee6fdb2785374d5de715560269 -- packages/icrc-ledger_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/http_types rs/rust_canisters/canister_log
4d40e10c75 chore(IDX): use correct .gz name for canisters (#4300)
f53cd0ae05 chore(ICP-Ledger):  migrating protobuf query endpoints from dfn to cdk (#4299)
0d96610b84 feat(ICRC-Ledger): FI-1441: migrate ledger blocks to stable structures (#3695)
a4b98fca74 chore(ICP-Ledger): remove dfn_core from icp ledger lib (#4095)
88c50f7bb2 feat(ICRC_Ledger): FI-1558: Set 10Tcycles default value for cycles for archive creation (#3653)
2c68becf6e chore(ICP-index): removing dfn_core dependency (#4087)
5b947cb47c test(sns): Porting sns-testing to the ICP mono repo (#3979)
59abceebc4 chore(Ledger): Update some comments (#3847)
810eeb14ca chore: use cdk::api::in_replicated_execution (#3949)
5506c7c41e chore: [EXC-1835] Make ic-management-canister-types private (#3814)

Wasm Verification

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

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

ICP ledger (proposal 135925):

Proposal to upgrade the ICP ledger canister

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

Git hash: 2fe8aefafcb2fbee6fdb2785374d5de715560269

New compressed Wasm hash: 05e9ea814f7bd6adde3e69cd2d14f89d387241400ac129bfbf35c1d6cf2ce769

Upgrade args hash: 0fee102bd16b053022b69f2c65fd5e2f41d150ce9c214ac8731cfaf496ebda4e

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

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


Motivation

  • Migrate ledger from dfn to cdk
  • Upgrade stable structures library to version 0.6.8 - improved performance.

Upgrade args

git fetch
git checkout 2fe8aefafcb2fbee6fdb2785374d5de715560269
cd rs/ledger_suite/icp
didc encode '()' | xxd -r -p | sha256sum

Release Notes

git log --format='%C(auto) %h %s' 6bc1943fc5bcff846959025c5f3f2f7f510489cf..2fe8aefafcb2fbee6fdb2785374d5de715560269 -- 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
06cb983e81 chore(ICP-Ledger): migrating ledger from dfn to cdk (#4308)
f53cd0ae05 chore(ICP-Ledger):  migrating protobuf query endpoints from dfn to cdk (#4299)
b189b9c6a0 chore(ICP-Ledger): migrate non-pb query endpoints from dfn to cdk (#4296)
0d96610b84 feat(ICRC-Ledger): FI-1441: migrate ledger blocks to stable structures (#3695)
0d9bdcb165 chore(ICP-ledger): replace dfn_core with ic_cdk in ledger main, part 2 (#4117)
7c0a6a24b3 chore(ICP-ledger): replace dfn_core with ic_cdk in ledger main, part 1 (#4116)
a4b98fca74 chore(ICP-Ledger): remove dfn_core from icp ledger lib (#4095)
88c50f7bb2 feat(ICRC_Ledger): FI-1558: Set 10Tcycles default value for cycles for archive creation (#3653)
59abceebc4 chore(Ledger): Update some comments (#3847)
810eeb14ca chore: use cdk::api::in_replicated_execution (#3949)
5506c7c41e chore: [EXC-1835] Make ic-management-canister-types private (#3814)

Wasm Verification

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

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

ICP archive1 (proposal 135927):

Proposal to upgrade the ICP archive1 canister

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

Git hash: 2fe8aefafcb2fbee6fdb2785374d5de715560269

New compressed Wasm hash: 4c3b1fc147551ffd2ff79495f0c4050bb286dcf198d124ac28d99cff9e51b2b5

Upgrade args hash: 0fee102bd16b053022b69f2c65fd5e2f41d150ce9c214ac8731cfaf496ebda4e

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

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


Motivation

  • Migrate archive from dfn to cdk

Upgrade args

git fetch
git checkout 2fe8aefafcb2fbee6fdb2785374d5de715560269
cd rs/ledger_suite/icp
didc encode '()' | xxd -r -p | sha256sum

Release Notes

git log --format='%C(auto) %h %s' 6bc1943fc5bcff846959025c5f3f2f7f510489cf..2fe8aefafcb2fbee6fdb2785374d5de715560269 -- 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
c45633ea05 chore(ICP-Archive): add missing ic_cdk setup (#4397)
0ec06b7ef7 chore(ICP-Archive): migrate from dfn to cdk (#4374)
f53cd0ae05 chore(ICP-Ledger):  migrating protobuf query endpoints from dfn to cdk (#4299)
0d96610b84 feat(ICRC-Ledger): FI-1441: migrate ledger blocks to stable structures (#3695)
a4b98fca74 chore(ICP-Ledger): remove dfn_core from icp ledger lib (#4095)
88c50f7bb2 feat(ICRC_Ledger): FI-1558: Set 10Tcycles default value for cycles for archive creation (#3653)
59abceebc4 chore(Ledger): Update some comments (#3847)
810eeb14ca chore: use cdk::api::in_replicated_execution (#3949)
5506c7c41e chore: [EXC-1835] Make ic-management-canister-types private (#3814)

Wasm Verification

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

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

ICP archive2 (proposal 135928):

Proposal to upgrade the ICP archive2 canister

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

Git hash: 2fe8aefafcb2fbee6fdb2785374d5de715560269

New compressed Wasm hash: 4c3b1fc147551ffd2ff79495f0c4050bb286dcf198d124ac28d99cff9e51b2b5

Upgrade args hash: 0fee102bd16b053022b69f2c65fd5e2f41d150ce9c214ac8731cfaf496ebda4e

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

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


Motivation

  • Migrate archive from dfn to cdk

Upgrade args

git fetch
git checkout 2fe8aefafcb2fbee6fdb2785374d5de715560269
cd rs/ledger_suite/icp
didc encode '()' | xxd -r -p | sha256sum

Release Notes

git log --format='%C(auto) %h %s' 6bc1943fc5bcff846959025c5f3f2f7f510489cf..2fe8aefafcb2fbee6fdb2785374d5de715560269 -- 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
c45633ea05 chore(ICP-Archive): add missing ic_cdk setup (#4397)
0ec06b7ef7 chore(ICP-Archive): migrate from dfn to cdk (#4374)
f53cd0ae05 chore(ICP-Ledger):  migrating protobuf query endpoints from dfn to cdk (#4299)
0d96610b84 feat(ICRC-Ledger): FI-1441: migrate ledger blocks to stable structures (#3695)
a4b98fca74 chore(ICP-Ledger): remove dfn_core from icp ledger lib (#4095)
88c50f7bb2 feat(ICRC_Ledger): FI-1558: Set 10Tcycles default value for cycles for archive creation (#3653)
59abceebc4 chore(Ledger): Update some comments (#3847)
810eeb14ca chore: use cdk::api::in_replicated_execution (#3949)
5506c7c41e chore: [EXC-1835] Make ic-management-canister-types private (#3814)

Wasm Verification

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

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

ICP archive3 (proposal 135929):

Proposal to upgrade the ICP archive3 canister

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

Git hash: 2fe8aefafcb2fbee6fdb2785374d5de715560269

New compressed Wasm hash: 4c3b1fc147551ffd2ff79495f0c4050bb286dcf198d124ac28d99cff9e51b2b5

Upgrade args hash: 0fee102bd16b053022b69f2c65fd5e2f41d150ce9c214ac8731cfaf496ebda4e

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

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


Motivation

  • Migrate archive from dfn to cdk

Upgrade args

git fetch
git checkout 2fe8aefafcb2fbee6fdb2785374d5de715560269
cd rs/ledger_suite/icp
didc encode '()' | xxd -r -p | sha256sum

Release Notes

git log --format='%C(auto) %h %s' 6bc1943fc5bcff846959025c5f3f2f7f510489cf..2fe8aefafcb2fbee6fdb2785374d5de715560269 -- 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
c45633ea05 chore(ICP-Archive): add missing ic_cdk setup (#4397)
0ec06b7ef7 chore(ICP-Archive): migrate from dfn to cdk (#4374)
f53cd0ae05 chore(ICP-Ledger):  migrating protobuf query endpoints from dfn to cdk (#4299)
0d96610b84 feat(ICRC-Ledger): FI-1441: migrate ledger blocks to stable structures (#3695)
a4b98fca74 chore(ICP-Ledger): remove dfn_core from icp ledger lib (#4095)
88c50f7bb2 feat(ICRC_Ledger): FI-1558: Set 10Tcycles default value for cycles for archive creation (#3653)
59abceebc4 chore(Ledger): Update some comments (#3847)
810eeb14ca chore: use cdk::api::in_replicated_execution (#3949)
5506c7c41e chore: [EXC-1835] Make ic-management-canister-types private (#3814)

Wasm Verification

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

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

ICP archive4 (proposal 135930):

Proposal to upgrade the ICP archive4 canister

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

Git hash: 2fe8aefafcb2fbee6fdb2785374d5de715560269

New compressed Wasm hash: 4c3b1fc147551ffd2ff79495f0c4050bb286dcf198d124ac28d99cff9e51b2b5

Upgrade args hash: 0fee102bd16b053022b69f2c65fd5e2f41d150ce9c214ac8731cfaf496ebda4e

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

Previous ICP archive4 proposal: None


Motivation

  • Migrate archive from dfn to cdk

Upgrade args

git fetch
git checkout 2fe8aefafcb2fbee6fdb2785374d5de715560269
cd rs/ledger_suite/icp
didc encode '()' | xxd -r -p | sha256sum

Release Notes

git log --format='%C(auto) %h %s' 6bc1943fc5bcff846959025c5f3f2f7f510489cf..2fe8aefafcb2fbee6fdb2785374d5de715560269 -- 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
c45633ea05 chore(ICP-Archive): add missing ic_cdk setup (#4397)
0ec06b7ef7 chore(ICP-Archive): migrate from dfn to cdk (#4374)
f53cd0ae05 chore(ICP-Ledger):  migrating protobuf query endpoints from dfn to cdk (#4299)
0d96610b84 feat(ICRC-Ledger): FI-1441: migrate ledger blocks to stable structures (#3695)
a4b98fca74 chore(ICP-Ledger): remove dfn_core from icp ledger lib (#4095)
88c50f7bb2 feat(ICRC_Ledger): FI-1558: Set 10Tcycles default value for cycles for archive creation (#3653)
59abceebc4 chore(Ledger): Update some comments (#3847)
810eeb14ca chore: use cdk::api::in_replicated_execution (#3949)
5506c7c41e chore: [EXC-1835] Make ic-management-canister-types private (#3814)

Wasm Verification

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

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

Any reason this one is not Protocol Canister Management like the first 3 ?

3 Likes

The governance canister decides whether it’s a protocol or application canister based on a hard-coded list. The 4th archive was recently spawned, and the canister ID had not been added to the list. I created this PR to add it, so once the governance canister is upgraded, subsequent canister upgrade proposals would show up as Protocol Canister Management proposals. There shouldn’t be any practical implications stemming from the naming discrepancy in the proposal.

4 Likes

proposal - 135925 – Cyberowl | CodeGov

Checks

Vote: ADOPT
Hash Match: MATCH
Feedback: NONE
Proposer Check: MATCH
Target Canister: MATCH

proposal - 135926 – Cyberowl | CodeGov

Checks

Vote: ADOPT
Hash Match: MATCH
Feedback: NONE
Proposer Check: MATCH
Target Canister: MATCH

proposal - 135927 – Cyberowl | CodeGov

Checks

Vote: ADOPT
Hash Match: MATCH
Feedback: NONE
Proposer Check: MATCH
Target Canister: MATCH

proposal - 135928 – Cyberowl | CodeGov

Checks

Vote: ADOPT
Hash Match: MATCH
Feedback: NONE
Proposer Check: MATCH
Target Canister: MATCH

proposal - 135929 – Cyberowl | CodeGov

Checks

Vote: ADOPT
Hash Match: MATCH
Feedback: NONE
Proposer Check: MATCH
Target Canister: MATCH

Reason & Summary for All:

Removed all duplicate commits across all proposals. I reviewed the unique commits and verified that each one builds successfully. The code aligns with the descriptions provided.

Most of the changes involve migrating the ICP Ledger Archive canister from the legacy dfn_* frameworks to the modern ic_cdk framework.

Commits Summary

06cb983e81
Migrates the ICP Ledger canister from the older dfn_core framework to the modern ic-cdk framework (v0.17.1), updating canister entry points, HTTP metrics handling, and dependency management accordingly. Replaces dfn_http_metrics and dfn_candid with ic-cdk and ic-canisters-http-types.

f53cd0ae05
Adds two Protobuf utility functions-- to_proto_bytes and from_proto_bytes to standardize serialization and deserialization in the ICP Ledger canister. It replaces the dfn_core-based over macro in query endpoints with ic-cdk primitives like setup(), arg_data_raw(), and reply_raw().

b189b9c6a0
Now uses ic-cdk’s #[query] macros, eliminating the legacy dfn_core over calls and reducing boilerplate in main.rs.

0d96610b84
New BlockData abstraction that allows the ICRC-1 ledger to store blocks in stable memory using StableBlockData and supports multi-step migration. It adjusts various methods, tests, and benchmarks—raising the WASM size limit and increasing instruction counts by about 15% for stable storage.

0d9bdcb165
Replaces several dfn_core::api calls (like now(), performance_counter, and stable_memory_size_in_pages) with their ic_cdk::api equivalents.

7c0a6a24b3
Replace calls such as caller, time_nanos, and trap_with with their ic_cdk::api equivalents and updating PrincipalId handling accordingly.

a4b98fca74
Replaces legacy dfn_core-based calls with equivalent ic-cdk APIs (e.g., switching from now() to time() and trap_with to trap).

88c50f7bb2
DEFAULT_CYCLES_FOR_ARCHIVE_CREATION, set to 10 trillion cycles, and updates archive creation logic to default to this value instead of 0 when no explicit value is provided.

59abceebc4
Matches description of updating some comments.

810eeb14ca
Replaces an indirect check for update calls using data_certificate().is_none() with a direct check via in_replicated_execution().

5506c7c41e
Renames the public ic-management-canister-types crate to ic-management-canister-types-private across the entire codebase. Functionality remains unchanged.

4d40e10c75
Naming of WASM canister files across the build system by replacing the .wasm extension with .wasm.gz. It updates both Bazel build rules and various dependency references so that tests and deployments consistently reference the .wasm.gz files.

2c68becf6e
Removes the dfn_core dependency, replacing calls such as caller(), time_nanos(), and trap_with() with their ic_cdk::api equivalents, and adjusts PrincipalId handling accordingly.

5b947cb47c
New Rust crate, ic-sns-testing, which provides a better way to test SNS using the PocketIc environment. It includes utilities for deploying test canisters, bootstrapping the NNS, creating and upgrading SNS instances.

c45633ea05
Matches description add missing ic_cdk setup.

0ec06b7ef7
Migrates away from the legacy dfn_core framework by replacing calls like caller, time_nanos, and trap_with with their ic_cdk counterparts. It also introduces explicit conversion of the caller’s Principal to a PrincipalId.

2 Likes

Proposal #135925 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 #135926 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 #135927 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 #135928 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 #135929 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 #135930 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.

Main change is the migration dfn to ic_cdk framework.

Commits
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.

1 Like

Hey @maciejdfinity1, thanks for submitting these proposals!


Adopt proposal 135925

Proposal

  • Canister id ryjl3-tyaaa-aaaaa-aaaba-cai is indeed the ledger canister.
  • The upgrade args correspond to the empty args.
  • The install mode is indeed upgrade.
  • The wasm hash is reproducible.

image

Code Review

  • Default cycles for archive creation is now 10 TC, previously 0.
  • Remove dfn_candid and dfn in favor of ic-cdk.

Adopt proposal 135926

Proposal

  • Canister id qhbym-qaaaa-aaaaa-aaafq-cai is indeed the index canister.
  • The upgrade args correspond to the empty args.
  • The install mode is indeed upgrade.
  • The wasm hash is reproducible.

image


Code Review

  • Remove dfn_core dependency and ic_cdk::caller instead.

Adopt proposal 135927, proposal 135928, proposal 135929, proposal 135930

Proposal

  • Canister id qjdve-lqaaa-aaaaa-aaaeq-cai is indeed the archive1 canister.
  • Canister id qsgjb-riaaa-aaaaa-aaaga-cai is indeed the archive2 canister.
  • Canister id q4eej-kyaaa-aaaaa-aaaha-cai is indeed the archive3 canister.
  • Canister id q3fc5-haaaa-aaaaa-aaahq-cai is indeed the archive4 canister.
  • The upgrade args correspond to the empty args.
  • The install mode is indeed upgrade.
  • The wasm hash is reproducible.

image


Code Review

  • Remove dfn_candid, dfn_http_metrics, dfn_protobuf dependencies in favor of ic_cdk.
2 Likes

Proposal 135925 – LaCosta | CodeGov

Vote: ADOPT

ICP Ledger Canister


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

[06cb983e81]: Migrates the ICP ledger canister functionality from using dfn to cdk. Removes dependencies from dfn_core such as dfn_core, dfn_candid and dfn_http_metrics replacing them with ic-cdk equivalents. Updates upgrade hooks and others to using ic-cdk-macros, #[update], #[pre_upgrade].

[f53cd0ae05]: Targets protobuf query endpoints and migrates them from using dfn_core to ic-cdk. Removes over(protobuf, calls to using two new utility functions from_proto_bytes and to_proto_bytes for deserialization and serialization respectively. and ic_cdk::setup(), arg_data_raw(), reply_raw().

[b189b9c6a0]: Migrates non protobuf query endpoints (basically candid query endpoints) from dfn to cdk. Removes all the previous endpoints and replaces them with new ones that use the #[query] macro from ic-cdk-macros

[0d96610b84]: Adds the BlockData trait and is implemented for both HeapBlockData and StableBlockData. With the heap the getter functions still use indexes for blocks relative to the first unarchived block. In stable memory this is replaced with relative to the fist block in stable memory and this applies to the icrc1 ledger.

[0d9bdcb165]: Further replaces calls to dfn_core methods data_certificate, set_data_certificate, now, stable_size and instruction_counter with the equivalent ones in ic_cdk. Also removes unused imports dfn_core::printer and dfn_core::setup.

[7c0a6a24b3]: Replaces calls to dfn_core methods caller, print, time_nanos and trap_with with the equivalent ones in ic_cdk

[a4b98fca74]: Moves DfnRuntime into ledger_canister_core and renames it CdkRuntime replacing dfn_core::api:: with ic_cdk::api:: and consequently using CdkRuntime in the ledger. Further replaces legacy calls to dfn_core.

[88c50f7bb2]: Sets a default value in constant DEFAULT_CYCLES_FOR_ARCHIVE_CREATION of a trillion cycles for archive creation along with some tests.

[59abceebc4]: Match description and updates some comments

[810eeb14ca]: Switches from using ic_cdk::api::data_certificate().is_none() to using the new function in_replicated_execution() that detects whether a canister is in execution mode.

[5506c7c41e]: Replaces all references to ic-management-canister-types with ic-management-canister-types-private since this types are made only for internal use and every other user should switch to use these types from a public crate.

Proposal 135926 – LaCosta | CodeGov

Vote: ADOPT

ICP Index Canister


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

Contains deplicate commits which are reviewed in previous proposals

[4d40e10c75]: Updates bazel build rules and labels and subsequent files to using the extension .wasm.gz which previously was just .wasm.

[2c68becf6e]: Removes the dfn_core dependency replacing calls to dfn_core::api::caller with ic_cdk::api::caller.

[5b947cb47c]: Introduces a sns testing tool written in Rust and using PocketIC for deterministic testing of the SNS. Replaces use of advance_time() with the new function progress_pocket_ic that allows time to pass naturally in live mode. It allows to install test canisters, bootstrap NNS environments with canisters like governance, ledger, sns-wasm and frontend’s.

Proposal 135927 – LaCosta | CodeGov

Vote: ADOPT

ICP archive1 Canister


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

Contains deplicate commits which are reviewed in previous proposals

[c45633ea05]: Matches description. Adds missing ic_cdk::setup()

[0ec06b7ef7]: Migrates from using dfn_core to ic-cdk. Removes over(protobuf, calls to using two new utility functions from_proto_bytes and to_proto_bytes for deserialization and serialization respectively, and ic_cdk::setup(), arg_data_raw(), reply_raw().

Proposal 135928 – LaCosta | CodeGov

Vote: ADOPT

ICP archive2 Canister


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

Contains deplicate commits which are reviewed in previous proposals

Proposal 135929 – LaCosta | CodeGov

Vote: ADOPT

ICP archive3 Canister


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

Contains deplicate commits which are reviewed in previous proposals

Proposal 135930 – LaCosta | CodeGov

Vote: ADOPT

ICP archive4 Canister


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

Contains deplicate commits which are reviewed in previous proposals

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.

1 Like

Proposal 135925 - Zane | CodeGov

Vote: ADOPT
Reason: Build completes successfully and hashes. Most of the commits are duplicates from previous releases, in terms of new changes.

06cb983e81, b189b9c6a0, 0d9bdcb165, 7c0a6a24b3 Further deprecate obsolete dfn and dfn_candid in favour of ic-cdk.

88c50f7bb Increased cycles_for_archive_creation default value to 10T cycles instead of 0.

Proposal 135926 - Zane | CodeGov

Vote: ADOPT
Reason: Build completes successfully, both hashes and reviewed commits match their descriptions.

5b947cb47c Added try_get_controllers method to pocket-ic which returns the controllers of a canister but without panicking if the canister in question doesn’t exist. Modified canister_info to use said method instead of get_controllers so that in case the canister doesn’t exist an empty vec is used instead by handling the error variant. Replaced direct calls to tick and advance_time with new progress_pocket_ic helper. Added new ic-sns-testing package, which is a rust port leveraging pocket-ic of an existing sns testing suite .

Proposal 135927 - Zane | CodeGov

Vote: ADOPT
Reason: Build completes successfully, both hashes and reviewed commits match their descriptions.

135927

c45633ea05 Added ic_cdk setup call to get_block_, iter_blocks_, get_blocks_ endpoints that was missed in 0ec06b7ef7.

0ec06b7ef7 Entirely removed dfn_candid, dfn_http_metrics and dfn_protobuf dependencies from icp ledger archive and replaced dfx_core usage with ic-cdk equivalents.

Proposal 135928 - Zane | CodeGov

Vote: ADOPT
Reason: Build completes successfully and hashes match. All commits are duplicates from other proposals.

135928

Proposal 135929 - Zane | CodeGov

Vote: ADOPT
Reason: Build completes successfully and hashes match. All commits are duplicates from other proposals.

135929

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.

1 Like