From a710d48c36a2cc77193b22b0090ceb0ec0903b2b Mon Sep 17 00:00:00 2001 From: Martin Raszyk Date: Mon, 13 Jul 2026 13:43:12 +0000 Subject: [PATCH 1/4] chore: bump ic-management-canister-types to 0.8.0 and agent-rs to 0.48.1 Bump `ic-management-canister-types` 0.7.1 -> 0.8.0 and the agent-rs crates (`ic-agent`, `ic-utils`, `ic-transport-types`, `ic-identity-hsm`) 0.47.3 -> 0.48.1, and fix the resulting build breakages: - ic-pub-key: `ic-vetkeys` 0.7.0 is still built against `ic-management-canister-types` 0.7.1, so `for_mainnet_key` expects the 0.7.1 `VetKDKeyId`. Bridge the two by rebuilding the key id from its fields via `ic-cdk-management-canister` (added as an optional dependency gated behind the `vetkeys` feature). - canister_test: add the new `snapshot_visibility` field to `CanisterSettings`. - system-test driver: add the new `permissions` field to `ic_agent::identity::Delegation`. - consensus upgrade test: `ic_utils` still depends on the older `ic-management-canister-types`, so call the management canister directly via the agent instead of its typed `take_canister_snapshot` helper. Co-Authored-By: Claude Opus 4.8 (1M context) --- Cargo.Bazel.json.lock | 532 +++++++++++++++++- Cargo.Bazel.toml.lock | 144 ++++- Cargo.lock | 364 +++++++----- Cargo.toml | 11 +- bazel/rust.MODULE.bazel | 14 +- packages/ic-pub-key/BUILD.bazel | 1 + packages/ic-pub-key/Cargo.toml | 3 +- packages/ic-pub-key/src/lib.rs | 15 +- .../canister_test/src/canister.rs | 1 + rs/tests/consensus/upgrade/common.rs | 15 +- rs/tests/driver/src/util/delegations.rs | 1 + 11 files changed, 907 insertions(+), 194 deletions(-) diff --git a/Cargo.Bazel.json.lock b/Cargo.Bazel.json.lock index dcfd0699c6f3..51a2627e83e1 100644 --- a/Cargo.Bazel.json.lock +++ b/Cargo.Bazel.json.lock @@ -1,5 +1,5 @@ { - "checksum": "e841dfcec9174ce8904a03843eaaa081012da2bfeb0764c10705a19bc35392cd", + "checksum": "8be3738de2066002ab6c6b26accf6dacd99849eb9d6f62f36cc8c36e2e1fc0f1", "crates": { "abnf 0.12.0": { "name": "abnf", @@ -22248,7 +22248,7 @@ "target": "hyper_util" }, { - "id": "ic-agent 0.47.3", + "id": "ic-agent 0.48.1", "target": "ic_agent" }, { @@ -22287,6 +22287,10 @@ "id": "ic-cdk-executor 2.0.0", "target": "ic_cdk_executor" }, + { + "id": "ic-cdk-management-canister 0.1.1", + "target": "ic_cdk_management_canister" + }, { "id": "ic-cdk-timers 1.0.0", "target": "ic_cdk_timers" @@ -22328,11 +22332,11 @@ "target": "ic_http_certification" }, { - "id": "ic-identity-hsm 0.47.3", + "id": "ic-identity-hsm 0.48.1", "target": "ic_identity_hsm" }, { - "id": "ic-management-canister-types 0.7.1", + "id": "ic-management-canister-types 0.8.0", "target": "ic_management_canister_types" }, { @@ -22361,11 +22365,11 @@ "target": "ic_test_state_machine_client" }, { - "id": "ic-transport-types 0.47.3", + "id": "ic-transport-types 0.48.1", "target": "ic_transport_types" }, { - "id": "ic-utils 0.47.3", + "id": "ic-utils 0.48.1", "target": "ic_utils" }, { @@ -23563,7 +23567,7 @@ ], "cfg(windows)": [ { - "id": "windows-sys 0.59.0", + "id": "windows-sys 0.61.2", "target": "windows_sys" } ] @@ -34634,7 +34638,7 @@ "target": "pin_project_lite" }, { - "id": "socket2 0.5.9", + "id": "socket2 0.6.1", "target": "socket2" }, { @@ -35071,6 +35075,234 @@ ], "license_file": null }, + "ic-agent 0.48.1": { + "name": "ic-agent", + "version": "0.48.1", + "package_url": "https://github.com/dfinity/agent-rs", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/ic-agent/0.48.1/download", + "sha256": "0844c80b49056ad4117e7abba251ee98758599e7bd8461775a1349251a8263b1" + } + }, + "targets": [ + { + "Library": { + "crate_name": "ic_agent", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "ic_agent", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "default", + "pem" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "arc-swap 1.7.1", + "target": "arc_swap" + }, + { + "id": "async-channel 2.5.0", + "target": "async_channel" + }, + { + "id": "async-lock 3.4.2", + "target": "async_lock" + }, + { + "id": "backoff 0.4.0", + "target": "backoff" + }, + { + "id": "bytes 1.11.1", + "target": "bytes" + }, + { + "id": "cached 0.56.0", + "target": "cached" + }, + { + "id": "candid 0.10.31", + "target": "candid" + }, + { + "id": "ecdsa 0.16.9", + "target": "ecdsa" + }, + { + "id": "ed25519-consensus 2.1.0", + "target": "ed25519_consensus" + }, + { + "id": "elliptic-curve 0.13.8", + "target": "elliptic_curve" + }, + { + "id": "futures-util 0.3.31", + "target": "futures_util" + }, + { + "id": "hex 0.4.3", + "target": "hex" + }, + { + "id": "http 1.3.1", + "target": "http" + }, + { + "id": "http-body 1.0.1", + "target": "http_body" + }, + { + "id": "http-body-util 0.1.3", + "target": "http_body_util" + }, + { + "id": "ic-certification 3.1.0", + "target": "ic_certification" + }, + { + "id": "ic-ed25519 0.6.0", + "target": "ic_ed25519" + }, + { + "id": "ic-transport-types 0.48.1", + "target": "ic_transport_types" + }, + { + "id": "ic-verify-bls-signature 0.6.0", + "target": "ic_verify_bls_signature" + }, + { + "id": "ic_principal 0.1.5", + "target": "ic_principal" + }, + { + "id": "k256 0.13.4", + "target": "k256" + }, + { + "id": "leb128 0.2.5", + "target": "leb128" + }, + { + "id": "p256 0.13.2", + "target": "p256" + }, + { + "id": "pem 3.0.6", + "target": "pem" + }, + { + "id": "pkcs8 0.10.2", + "target": "pkcs8" + }, + { + "id": "rand 0.10.1", + "target": "rand" + }, + { + "id": "rangemap 1.7.1", + "target": "rangemap" + }, + { + "id": "reqwest 0.13.4", + "target": "reqwest" + }, + { + "id": "sec1 0.7.3", + "target": "sec1" + }, + { + "id": "serde 1.0.228", + "target": "serde" + }, + { + "id": "serde_bytes 0.11.15", + "target": "serde_bytes" + }, + { + "id": "serde_cbor 0.11.2", + "target": "serde_cbor" + }, + { + "id": "sha2 0.10.9", + "target": "sha2" + }, + { + "id": "stop-token 0.7.0", + "target": "stop_token" + }, + { + "id": "thiserror 2.0.18", + "target": "thiserror" + }, + { + "id": "time 0.3.47", + "target": "time" + }, + { + "id": "tower-service 0.3.3", + "target": "tower_service" + }, + { + "id": "url 2.5.4", + "target": "url" + } + ], + "selects": { + "cfg(not(target_family = \"wasm\"))": [ + { + "id": "tokio 1.50.0", + "target": "tokio" + } + ], + "cfg(target_family = \"wasm\")": [ + { + "id": "async-watch 0.3.1", + "target": "async_watch" + } + ] + } + }, + "edition": "2021", + "proc_macro_deps": { + "common": [ + { + "id": "async-trait 0.1.89", + "target": "async_trait" + }, + { + "id": "serde_repr 0.1.19", + "target": "serde_repr" + } + ], + "selects": {} + }, + "version": "0.48.1" + }, + "license": "Apache-2.0", + "license_ids": [ + "Apache-2.0" + ], + "license_file": null + }, "ic-bn-lib 0.2.3": { "name": "ic-bn-lib", "version": "0.2.3", @@ -37788,14 +38020,14 @@ ], "license_file": null }, - "ic-identity-hsm 0.47.3": { + "ic-identity-hsm 0.48.1": { "name": "ic-identity-hsm", - "version": "0.47.3", + "version": "0.48.1", "package_url": "https://github.com/dfinity/agent-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/ic-identity-hsm/0.47.3/download", - "sha256": "577e4411ea208f0bf7e6bf13535660df682fada94f45fbbc79b7e34c946a06ae" + "url": "https://static.crates.io/crates/ic-identity-hsm/0.48.1/download", + "sha256": "32ebd639a70743d6ccb972d4a04b5773c4a8b138f5ed8fead34063906e871dc9" } }, "targets": [ @@ -37824,7 +38056,7 @@ "target": "hex" }, { - "id": "ic-agent 0.47.3", + "id": "ic-agent 0.48.1", "target": "ic_agent" }, { @@ -37847,7 +38079,7 @@ "selects": {} }, "edition": "2021", - "version": "0.47.3" + "version": "0.48.1" }, "license": "Apache-2.0", "license_ids": [ @@ -37965,6 +38197,61 @@ ], "license_file": "LICENSE" }, + "ic-management-canister-types 0.8.0": { + "name": "ic-management-canister-types", + "version": "0.8.0", + "package_url": "https://github.com/dfinity/ic", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/ic-management-canister-types/0.8.0/download", + "sha256": "3187ba94198a8df0e38a478f289812fcead6a86c658b9552b00f1f8081f06bb3" + } + }, + "targets": [ + { + "Library": { + "crate_name": "ic_management_canister_types", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "ic_management_canister_types", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "candid 0.10.31", + "target": "candid" + }, + { + "id": "serde 1.0.228", + "target": "serde" + }, + { + "id": "serde_bytes 0.11.15", + "target": "serde_bytes" + } + ], + "selects": {} + }, + "edition": "2024", + "version": "0.8.0" + }, + "license": "Apache-2.0", + "license_ids": [ + "Apache-2.0" + ], + "license_file": null + }, "ic-metrics-encoder 1.1.1": { "name": "ic-metrics-encoder", "version": "1.1.1", @@ -38499,6 +38786,94 @@ ], "license_file": null }, + "ic-transport-types 0.48.1": { + "name": "ic-transport-types", + "version": "0.48.1", + "package_url": "https://github.com/dfinity/agent-rs", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/ic-transport-types/0.48.1/download", + "sha256": "f7caf62ab0d7e00d0d4926ae9cb81c42ab5fb84e9d8d9b183bfa42ab12180d2f" + } + }, + "targets": [ + { + "Library": { + "crate_name": "ic_transport_types", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "ic_transport_types", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "candid 0.10.31", + "target": "candid" + }, + { + "id": "hex 0.4.3", + "target": "hex" + }, + { + "id": "ic-certification 3.1.0", + "target": "ic_certification" + }, + { + "id": "leb128 0.2.5", + "target": "leb128" + }, + { + "id": "serde 1.0.228", + "target": "serde" + }, + { + "id": "serde_bytes 0.11.15", + "target": "serde_bytes" + }, + { + "id": "serde_cbor 0.11.2", + "target": "serde_cbor" + }, + { + "id": "sha2 0.10.9", + "target": "sha2" + }, + { + "id": "thiserror 2.0.18", + "target": "thiserror" + } + ], + "selects": {} + }, + "edition": "2021", + "proc_macro_deps": { + "common": [ + { + "id": "serde_repr 0.1.19", + "target": "serde_repr" + } + ], + "selects": {} + }, + "version": "0.48.1" + }, + "license": "Apache-2.0", + "license_ids": [ + "Apache-2.0" + ], + "license_file": null + }, "ic-utils 0.47.3": { "name": "ic-utils", "version": "0.47.3", @@ -38524,6 +38899,110 @@ } ], "library_target_name": "ic_utils", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "candid 0.10.31", + "target": "candid" + }, + { + "id": "futures-util 0.3.31", + "target": "futures_util" + }, + { + "id": "ic-agent 0.47.3", + "target": "ic_agent" + }, + { + "id": "ic-management-canister-types 0.7.1", + "target": "ic_management_canister_types" + }, + { + "id": "once_cell 1.21.3", + "target": "once_cell" + }, + { + "id": "semver 1.0.27", + "target": "semver" + }, + { + "id": "serde 1.0.228", + "target": "serde" + }, + { + "id": "serde_bytes 0.11.15", + "target": "serde_bytes" + }, + { + "id": "sha2 0.10.9", + "target": "sha2" + }, + { + "id": "strum 0.28.0", + "target": "strum" + }, + { + "id": "thiserror 2.0.18", + "target": "thiserror" + }, + { + "id": "time 0.3.47", + "target": "time" + } + ], + "selects": {} + }, + "edition": "2021", + "proc_macro_deps": { + "common": [ + { + "id": "async-trait 0.1.89", + "target": "async_trait" + }, + { + "id": "strum_macros 0.28.0", + "target": "strum_macros" + } + ], + "selects": {} + }, + "version": "0.47.3" + }, + "license": "Apache-2.0", + "license_ids": [ + "Apache-2.0" + ], + "license_file": null + }, + "ic-utils 0.48.1": { + "name": "ic-utils", + "version": "0.48.1", + "package_url": "https://github.com/dfinity/agent-rs", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/ic-utils/0.48.1/download", + "sha256": "baa00e2c777d214553cc86160d358e1820063745bbe89c4d6fa61184182b01ec" + } + }, + "targets": [ + { + "Library": { + "crate_name": "ic_utils", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "ic_utils", "common_attrs": { "compile_data_glob": [ "**" @@ -38545,7 +39024,7 @@ "target": "futures_util" }, { - "id": "ic-agent 0.47.3", + "id": "ic-agent 0.48.1", "target": "ic_agent" }, { @@ -38601,7 +39080,7 @@ ], "selects": {} }, - "version": "0.47.3" + "version": "0.48.1" }, "license": "Apache-2.0", "license_ids": [ @@ -63712,7 +64191,7 @@ ], "cfg(not(all(target_family = \"wasm\", target_os = \"unknown\")))": [ { - "id": "socket2 0.5.9", + "id": "socket2 0.6.1", "target": "socket2" } ] @@ -70312,7 +70791,7 @@ "alias": "libc_errno" }, { - "id": "windows-sys 0.59.0", + "id": "windows-sys 0.61.2", "target": "windows_sys" } ], @@ -71268,7 +71747,7 @@ ], "cfg(windows)": [ { - "id": "windows-sys 0.59.0", + "id": "windows-sys 0.61.2", "target": "windows_sys" } ] @@ -71383,7 +71862,7 @@ ], "cfg(windows)": [ { - "id": "windows-sys 0.59.0", + "id": "windows-sys 0.61.2", "target": "windows_sys" } ] @@ -81524,7 +82003,7 @@ ], "cfg(windows)": [ { - "id": "windows-sys 0.59.0", + "id": "windows-sys 0.61.2", "target": "windows_sys" } ], @@ -101407,7 +101886,7 @@ "hyper-rustls 0.27.7", "hyper-socks2 0.9.1", "hyper-util 0.1.20", - "ic-agent 0.47.3", + "ic-agent 0.48.1", "ic-bn-lib 0.2.3", "ic-bn-lib-common 0.2.2", "ic-btc-interface 0.4.0", @@ -101417,6 +101896,7 @@ "ic-cbor 3.1.0", "ic-cdk 0.19.0", "ic-cdk-executor 2.0.0", + "ic-cdk-management-canister 0.1.1", "ic-cdk-timers 1.0.0", "ic-certificate-verification 3.1.0", "ic-certification 3.1.0", @@ -101427,16 +101907,16 @@ "ic-doge-interface 0.3.0", "ic-gateway 0.2.0", "ic-http-certification 3.1.0", - "ic-identity-hsm 0.47.3", - "ic-management-canister-types 0.7.1", + "ic-identity-hsm 0.48.1", + "ic-management-canister-types 0.8.0", "ic-metrics-encoder 1.1.1", "ic-response-verification 3.1.0", "ic-sha3 1.0.0", "ic-stable-structures 0.6.8", "ic-stable-structures 0.7.0", "ic-test-state-machine-client 3.0.1", - "ic-transport-types 0.47.3", - "ic-utils 0.47.3", + "ic-transport-types 0.48.1", + "ic-utils 0.48.1", "ic-verify-bls-signature 0.6.0", "ic-vetkeys 0.7.0", "ic-wasm 0.9.11", diff --git a/Cargo.Bazel.toml.lock b/Cargo.Bazel.toml.lock index 781b04af0bb0..5be43356f7fe 100644 --- a/Cargo.Bazel.toml.lock +++ b/Cargo.Bazel.toml.lock @@ -3785,7 +3785,7 @@ dependencies = [ "hyper-rustls 0.27.7", "hyper-socks2", "hyper-util", - "ic-agent", + "ic-agent 0.48.1", "ic-bn-lib", "ic-bn-lib-common", "ic-btc-interface", @@ -3795,6 +3795,7 @@ dependencies = [ "ic-cbor", "ic-cdk 0.19.0", "ic-cdk-executor", + "ic-cdk-management-canister", "ic-cdk-timers", "ic-certificate-verification", "ic-certification", @@ -3806,15 +3807,15 @@ dependencies = [ "ic-gateway", "ic-http-certification", "ic-identity-hsm", - "ic-management-canister-types 0.7.1", + "ic-management-canister-types 0.8.0", "ic-metrics-encoder", "ic-response-verification", "ic-sha3", "ic-stable-structures 0.6.8", "ic-stable-structures 0.7.0", "ic-test-state-machine-client", - "ic-transport-types", - "ic-utils", + "ic-transport-types 0.48.1", + "ic-utils 0.48.1", "ic-verify-bls-signature", "ic-vetkeys", "ic-wasm", @@ -4093,7 +4094,7 @@ dependencies = [ "libc", "option-ext", "redox_users 0.5.0", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -5938,7 +5939,7 @@ dependencies = [ "libc", "percent-encoding", "pin-project-lite", - "socket2 0.5.9", + "socket2 0.6.1", "system-configuration 0.7.0", "tokio", "tower-layer", @@ -5995,7 +5996,57 @@ dependencies = [ "http-body-util", "ic-certification", "ic-ed25519", - "ic-transport-types", + "ic-transport-types 0.47.3", + "ic-verify-bls-signature", + "ic_principal", + "k256", + "leb128", + "p256", + "pem", + "pkcs8", + "rand 0.10.1", + "rangemap", + "reqwest 0.13.4", + "sec1", + "serde", + "serde_bytes", + "serde_cbor", + "serde_repr", + "sha2 0.10.9", + "stop-token", + "thiserror 2.0.18", + "time", + "tokio", + "tower-service", + "url", +] + +[[package]] +name = "ic-agent" +version = "0.48.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0844c80b49056ad4117e7abba251ee98758599e7bd8461775a1349251a8263b1" +dependencies = [ + "arc-swap", + "async-channel 2.5.0", + "async-lock", + "async-trait", + "async-watch", + "backoff", + "bytes", + "cached 0.56.0", + "candid", + "ecdsa", + "ed25519-consensus", + "elliptic-curve", + "futures-util", + "hex", + "http 1.3.1", + "http-body 1.0.1", + "http-body-util", + "ic-certification", + "ic-ed25519", + "ic-transport-types 0.48.1", "ic-verify-bls-signature", "ic_principal", "k256", @@ -6055,7 +6106,7 @@ dependencies = [ "hyper 1.8.1", "hyper-rustls 0.27.7", "hyper-util", - "ic-agent", + "ic-agent 0.47.3", "ic-bn-lib-common", "indoc 2.0.7", "instant-acme", @@ -6126,7 +6177,7 @@ dependencies = [ "humantime", "hyper 1.8.1", "hyper-util", - "ic-agent", + "ic-agent 0.47.3", "instant-acme", "parse-size", "prometheus 0.14.0", @@ -6513,7 +6564,7 @@ dependencies = [ "ic-custom-domains-backend", "ic-custom-domains-base", "ic-http-gateway-protocol", - "ic-transport-types", + "ic-transport-types 0.47.3", "isbot", "itertools 0.15.0", "lazy_static", @@ -6574,21 +6625,21 @@ dependencies = [ "http 1.3.1", "http-body 1.0.1", "http-body-util", - "ic-agent", + "ic-agent 0.47.3", "ic-http-certification", "ic-response-verification", - "ic-utils", + "ic-utils 0.47.3", "thiserror 1.0.68", ] [[package]] name = "ic-identity-hsm" -version = "0.47.3" +version = "0.48.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "577e4411ea208f0bf7e6bf13535660df682fada94f45fbbc79b7e34c946a06ae" +checksum = "32ebd639a70743d6ccb972d4a04b5773c4a8b138f5ed8fead34063906e871dc9" dependencies = [ "hex", - "ic-agent", + "ic-agent 0.48.1", "pkcs11", "sha2 0.10.9", "simple_asn1", @@ -6617,6 +6668,17 @@ dependencies = [ "serde_bytes", ] +[[package]] +name = "ic-management-canister-types" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3187ba94198a8df0e38a478f289812fcead6a86c658b9552b00f1f8081f06bb3" +dependencies = [ + "candid", + "serde", + "serde_bytes", +] + [[package]] name = "ic-metrics-encoder" version = "1.1.1" @@ -6714,6 +6776,24 @@ dependencies = [ "thiserror 2.0.18", ] +[[package]] +name = "ic-transport-types" +version = "0.48.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7caf62ab0d7e00d0d4926ae9cb81c42ab5fb84e9d8d9b183bfa42ab12180d2f" +dependencies = [ + "candid", + "hex", + "ic-certification", + "leb128", + "serde", + "serde_bytes", + "serde_cbor", + "serde_repr", + "sha2 0.10.9", + "thiserror 2.0.18", +] + [[package]] name = "ic-utils" version = "0.47.3" @@ -6723,7 +6803,29 @@ dependencies = [ "async-trait", "candid", "futures-util", - "ic-agent", + "ic-agent 0.47.3", + "ic-management-canister-types 0.7.1", + "once_cell", + "semver", + "serde", + "serde_bytes", + "sha2 0.10.9", + "strum 0.28.0", + "strum_macros 0.28.0", + "thiserror 2.0.18", + "time", +] + +[[package]] +name = "ic-utils" +version = "0.48.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baa00e2c777d214553cc86160d358e1820063745bbe89c4d6fa61184182b01ec" +dependencies = [ + "async-trait", + "candid", + "futures-util", + "ic-agent 0.48.1", "ic-management-canister-types 0.7.1", "once_cell", "semver", @@ -10787,7 +10889,7 @@ dependencies = [ "quinn-udp", "rustc-hash 2.1.1", "rustls 0.23.27", - "socket2 0.5.9", + "socket2 0.6.1", "thiserror 2.0.18", "tokio", "tracing", @@ -11819,7 +11921,7 @@ dependencies = [ "errno 0.3.10", "libc", "linux-raw-sys 0.12.1", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -11962,7 +12064,7 @@ dependencies = [ "security-framework 3.5.1", "security-framework-sys", "webpki-root-certs", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -11983,7 +12085,7 @@ dependencies = [ "security-framework 3.5.1", "security-framework-sys", "webpki-root-certs", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -13657,7 +13759,7 @@ dependencies = [ "getrandom 0.3.4", "once_cell", "rustix 1.1.4", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] diff --git a/Cargo.lock b/Cargo.lock index 5945998238af..6c79dd1cfc65 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1292,7 +1292,7 @@ dependencies = [ "bitflags 2.11.0", "cexpr", "clang-sys", - "itertools 0.10.5", + "itertools 0.13.0", "log", "prettyplease", "proc-macro2", @@ -2038,7 +2038,7 @@ dependencies = [ "ic-canister-client", "ic-config", "ic-crypto-sha2", - "ic-management-canister-types 0.7.1", + "ic-management-canister-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "ic-management-canister-types-private", "ic-registry-transport", "ic-replica-tests", @@ -2674,7 +2674,7 @@ version = "0.9.0" dependencies = [ "anyhow", "canister-test", - "ic-agent", + "ic-agent 0.48.1", "ic-base-types", "ic-interfaces-registry", "ic-nns-common", @@ -2708,7 +2708,7 @@ dependencies = [ "canister-test", "chrono", "futures", - "ic-agent", + "ic-agent 0.48.1", "ic-base-types", "ic-config", "ic-limits", @@ -2742,14 +2742,14 @@ dependencies = [ "anyhow", "candid", "futures", - "ic-agent", - "ic-management-canister-types 0.7.1", + "ic-agent 0.48.1", + "ic-management-canister-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "ic-management-canister-types-private", "ic-registry-subnet-features", "ic-registry-subnet-type", "ic-system-test-driver", "ic-types", - "ic-utils 0.47.3", + "ic-utils 0.48.1", "ic_consensus_system_test_utils", "ic_consensus_threshold_sig_system_test_utils", "regex", @@ -3443,7 +3443,7 @@ dependencies = [ "ic-dummy-getrandom-for-wasm", "ic-http-types", "ic-ledger-core", - "ic-management-canister-types 0.7.1", + "ic-management-canister-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "ic-metrics-encoder", "ic-nervous-system-clients", "ic-nervous-system-common", @@ -3965,7 +3965,7 @@ dependencies = [ "dialoguer", "directories-next", "hex", - "ic-agent", + "ic-agent 0.48.1", "ic-identity-hsm", "keyring", "lazy_static", @@ -4660,7 +4660,7 @@ dependencies = [ "candid", "canister-test", "futures", - "ic-agent", + "ic-agent 0.48.1", "ic-base-types", "ic-cdk 0.19.0", "ic-config", @@ -4679,7 +4679,7 @@ dependencies = [ "ic-types-cycles", "ic-types-test-utils", "ic-universal-canister", - "ic-utils 0.47.3", + "ic-utils 0.48.1", "ic_consensus_system_test_utils", "lazy_static", "rand 0.8.6", @@ -6112,7 +6112,7 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite", - "socket2 0.4.10", + "socket2 0.5.10", "tokio", "tower-service", "tracing", @@ -6387,7 +6387,57 @@ dependencies = [ "http-body-util", "ic-certification 3.1.0", "ic-ed25519 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ic-transport-types", + "ic-transport-types 0.47.3", + "ic-verify-bls-signature", + "ic_principal", + "k256", + "leb128", + "p256", + "pem", + "pkcs8", + "rand 0.10.1", + "rangemap", + "reqwest", + "sec1", + "serde", + "serde_bytes", + "serde_cbor", + "serde_repr", + "sha2 0.10.9", + "stop-token", + "thiserror 2.0.18", + "time", + "tokio", + "tower-service", + "url", +] + +[[package]] +name = "ic-agent" +version = "0.48.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0844c80b49056ad4117e7abba251ee98758599e7bd8461775a1349251a8263b1" +dependencies = [ + "arc-swap", + "async-channel 2.5.0", + "async-lock", + "async-trait", + "async-watch", + "backoff", + "bytes", + "cached 0.56.0", + "candid", + "ecdsa", + "ed25519-consensus", + "elliptic-curve", + "futures-util", + "hex", + "http 1.4.0", + "http-body 1.0.1", + "http-body-util", + "ic-certification 3.1.0", + "ic-ed25519 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", + "ic-transport-types 0.48.1", "ic-verify-bls-signature", "ic_principal", "k256", @@ -6639,7 +6689,7 @@ dependencies = [ "hyper 1.8.1", "hyper-rustls", "hyper-util", - "ic-agent", + "ic-agent 0.47.3", "ic-bn-lib-common", "indoc 2.0.7", "instant-acme", @@ -6710,7 +6760,7 @@ dependencies = [ "humantime", "hyper 1.8.1", "hyper-util", - "ic-agent", + "ic-agent 0.47.3", "instant-acme", "parse-size", "prometheus", @@ -6746,7 +6796,7 @@ dependencies = [ "hex", "http 1.4.0", "humantime", - "ic-agent", + "ic-agent 0.48.1", "ic-base-types", "ic-bn-lib", "ic-bn-lib-common", @@ -6817,7 +6867,7 @@ version = "0.9.0" dependencies = [ "anyhow", "futures", - "ic-agent", + "ic-agent 0.48.1", "ic-boundary-nodes-system-test-utils", "ic-crypto-tree-hash", "ic-system-test-driver", @@ -6836,7 +6886,7 @@ version = "0.9.0" dependencies = [ "anyhow", "candid", - "ic-agent", + "ic-agent 0.48.1", "ic-boundary-nodes-system-test-utils", "ic-protobuf", "ic-registry-keys", @@ -6857,7 +6907,7 @@ version = "0.9.0" dependencies = [ "anyhow", "futures", - "ic-agent", + "ic-agent 0.48.1", "ic-base-types", "ic-interfaces-registry", "ic-protobuf", @@ -6867,7 +6917,7 @@ dependencies = [ "ic-registry-subnet-type", "ic-system-test-driver", "ic-types", - "ic-utils 0.47.3", + "ic-utils 0.48.1", "slog", "url", ] @@ -6976,7 +7026,7 @@ dependencies = [ "ic-canister-log 0.2.0", "ic-cdk 0.19.0", "ic-http-types", - "ic-management-canister-types 0.7.1", + "ic-management-canister-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "ic-metrics-assert", "ic-metrics-encoder", "ic-stable-structures 0.6.9", @@ -7513,7 +7563,7 @@ name = "ic-ckbtc-agent" version = "0.9.0" dependencies = [ "candid", - "ic-agent", + "ic-agent 0.48.1", "ic-ckbtc-minter", "ic-http-types", "ic-icrc1", @@ -7539,7 +7589,7 @@ dependencies = [ "ciborium", "flate2", "hex", - "ic-agent", + "ic-agent 0.48.1", "ic-base-types", "ic-bitcoin-canister-mock", "ic-btc-checker", @@ -7553,7 +7603,7 @@ dependencies = [ "ic-icrc1", "ic-icrc1-ledger", "ic-ledger-core", - "ic-management-canister-types 0.7.1", + "ic-management-canister-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "ic-management-canister-types-private", "ic-metrics-assert", "ic-metrics-encoder", @@ -7590,7 +7640,7 @@ name = "ic-ckdoge-agent" version = "0.9.0" dependencies = [ "candid", - "ic-agent", + "ic-agent 0.48.1", "ic-ckdoge-minter", "ic-http-types", "ic-icrc1", @@ -7611,13 +7661,13 @@ dependencies = [ "ciborium", "flate2", "hex", - "ic-agent", + "ic-agent 0.48.1", "ic-base-types", "ic-cdk 0.19.0", "ic-ckbtc-minter", "ic-ckdoge-minter-test-utils", "ic-http-types", - "ic-management-canister-types 0.7.1", + "ic-management-canister-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "ic-secp256k1", "icrc-ledger-types", "mockall 0.13.1", @@ -7643,7 +7693,7 @@ dependencies = [ "ic-doge-interface", "ic-http-types", "ic-icrc1-ledger", - "ic-management-canister-types 0.7.1", + "ic-management-canister-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "ic-metrics-assert", "icrc-ledger-types", "pocket-ic", @@ -7667,7 +7717,7 @@ dependencies = [ "futures", "hex", "hex-literal 0.4.1", - "ic-agent", + "ic-agent 0.48.1", "ic-base-types", "ic-canister-log 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "ic-canister-runtime", @@ -9568,7 +9618,7 @@ dependencies = [ "canister-test", "ic-base-types", "ic-cdk 0.19.0", - "ic-management-canister-types 0.7.1", + "ic-management-canister-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "ic-nns-constants", "ic-nns-test-utils", "ic-protobuf", @@ -9761,7 +9811,7 @@ dependencies = [ "ic-custom-domains-backend", "ic-custom-domains-base", "ic-http-gateway-protocol", - "ic-transport-types", + "ic-transport-types 0.47.3", "isbot", "itertools 0.15.0", "lazy_static", @@ -10024,7 +10074,7 @@ dependencies = [ "http 1.4.0", "http-body 1.0.1", "http-body-util", - "ic-agent", + "ic-agent 0.47.3", "ic-http-certification", "ic-response-verification", "ic-utils 0.47.3", @@ -10326,7 +10376,7 @@ dependencies = [ "clap 4.6.0", "futures", "hex", - "ic-agent", + "ic-agent 0.48.1", "ic-base-types", "ic-icrc-rosetta-client", "ic-icrc-rosetta-runner", @@ -10339,12 +10389,12 @@ dependencies = [ "ic-ledger-core", "ic-ledger-suite-state-machine-tests-constants", "ic-limits", - "ic-management-canister-types 0.7.1", + "ic-management-canister-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "ic-rosetta-api", "ic-rosetta-test-utils", "ic-sys", "ic-test-utilities-load-wasm", - "ic-utils 0.47.3", + "ic-utils 0.48.1", "icrc-ledger-agent", "icrc-ledger-types", "indicatif", @@ -10385,7 +10435,7 @@ dependencies = [ "candid", "clap 4.6.0", "hex", - "ic-agent", + "ic-agent 0.48.1", "ic-ed25519 0.6.0", "ic-icrc-rosetta", "ic-icrc-rosetta-runner", @@ -10488,7 +10538,7 @@ dependencies = [ "candid", "candid_parser", "ciborium", - "ic-agent", + "ic-agent 0.48.1", "ic-base-types", "ic-canister-log 0.2.0", "ic-canister-profiler", @@ -10533,7 +10583,7 @@ dependencies = [ "cddl", "ciborium", "hex", - "ic-agent", + "ic-agent 0.48.1", "ic-base-types", "ic-canister-log 0.2.0", "ic-cbor", @@ -10572,7 +10622,7 @@ name = "ic-icrc1-test-utils" version = "0.9.0" dependencies = [ "candid", - "ic-agent", + "ic-agent 0.48.1", "ic-crypto-test-utils-reproducible-rng", "ic-ed25519 0.6.0", "ic-icrc1", @@ -10654,12 +10704,12 @@ dependencies = [ [[package]] name = "ic-identity-hsm" -version = "0.47.3" +version = "0.48.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "577e4411ea208f0bf7e6bf13535660df682fada94f45fbbc79b7e34c946a06ae" +checksum = "32ebd639a70743d6ccb972d4a04b5773c4a8b138f5ed8fead34063906e871dc9" dependencies = [ "hex", - "ic-agent", + "ic-agent 0.48.1", "pkcs11", "sha2 0.10.9", "simple_asn1", @@ -10831,7 +10881,7 @@ dependencies = [ "chrono", "ciborium", "dfn_protobuf", - "ic-agent", + "ic-agent 0.48.1", "ic-certification 0.9.0", "ic-crypto-sha2", "ic-ledger-canister-blocks-synchronizer-test-utils", @@ -10912,7 +10962,7 @@ name = "ic-ledger-suite-in-memory-ledger" version = "0.9.0" dependencies = [ "candid", - "ic-agent", + "ic-agent 0.48.1", "ic-base-types", "ic-icrc1", "ic-icrc1-test-utils", @@ -10948,7 +10998,7 @@ dependencies = [ "ic-icrc1-index-ng", "ic-icrc1-ledger", "ic-ledger-suite-orchestrator-test-utils", - "ic-management-canister-types 0.7.1", + "ic-management-canister-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "ic-management-canister-types-private", "ic-metrics-encoder", "ic-stable-structures 0.6.9", @@ -10980,7 +11030,7 @@ dependencies = [ "ic-http-types", "ic-icrc1-ledger", "ic-ledger-suite-orchestrator", - "ic-management-canister-types 0.7.1", + "ic-management-canister-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "ic-management-canister-types-private", "ic-metrics-assert", "ic-state-machine-tests", @@ -11026,7 +11076,7 @@ dependencies = [ "cddl", "futures", "hex", - "ic-agent", + "ic-agent 0.48.1", "ic-base-types", "ic-config", "ic-error-types 0.2.0", @@ -11072,7 +11122,7 @@ dependencies = [ "ic-base-types", "ic-icp-index", "ic-ledger-core", - "ic-management-canister-types 0.7.1", + "ic-management-canister-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "ic-state-machine-tests", "icp-ledger", "icrc-ledger-types", @@ -11155,6 +11205,17 @@ dependencies = [ "serde_bytes", ] +[[package]] +name = "ic-management-canister-types" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3187ba94198a8df0e38a478f289812fcead6a86c658b9552b00f1f8081f06bb3" +dependencies = [ + "candid", + "serde", + "serde_bytes", +] + [[package]] name = "ic-management-canister-types-private" version = "0.9.0" @@ -11287,7 +11348,7 @@ dependencies = [ "async-trait", "candid", "ic-http-types", - "ic-management-canister-types 0.7.1", + "ic-management-canister-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "pocket-ic", "regex", ] @@ -11314,14 +11375,14 @@ dependencies = [ "ic-config", "ic-http-types", "ic-limits", - "ic-management-canister-types 0.7.1", + "ic-management-canister-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "ic-management-canister-types-private", "ic-metrics-encoder", "ic-nervous-system-common-test-utils", "ic-nns-constants", "ic-nns-test-utils", "ic-stable-structures 0.7.2", - "ic-transport-types", + "ic-transport-types 0.48.1", "ic-universal-canister", "itertools 0.12.1", "pocket-ic", @@ -11349,10 +11410,10 @@ dependencies = [ "anyhow", "candid", "cycles-minting-canister", - "ic-agent", + "ic-agent 0.48.1", "ic-base-types", "ic-error-types 0.2.0", - "ic-management-canister-types 0.7.1", + "ic-management-canister-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "ic-nervous-system-clients", "ic-nns-common", "ic-nns-constants", @@ -11628,7 +11689,7 @@ dependencies = [ "ic-icrc1-tokens-u64", "ic-interfaces-registry", "ic-ledger-core", - "ic-management-canister-types 0.7.1", + "ic-management-canister-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "ic-management-canister-types-private", "ic-nervous-system-agent", "ic-nervous-system-clients", @@ -11813,7 +11874,7 @@ version = "0.9.0" dependencies = [ "candid", "clap 4.6.0", - "ic-agent", + "ic-agent 0.48.1", "ic-certification 3.1.0", "ic-identity-hsm", "ic-nns-common", @@ -11895,7 +11956,7 @@ dependencies = [ "canister-test", "clap 4.6.0", "hex", - "ic-agent", + "ic-agent 0.48.1", "ic-certification 3.1.0", "lazy_static", "pocket-ic", @@ -11910,7 +11971,7 @@ name = "ic-networking-subnet-update-workload" version = "0.9.0" dependencies = [ "anyhow", - "ic-agent", + "ic-agent 0.48.1", "ic-interfaces-registry", "ic-protobuf", "ic-registry-canister-api", @@ -11950,7 +12011,7 @@ version = "0.9.0" dependencies = [ "candid", "colored 2.2.0", - "ic-agent", + "ic-agent 0.48.1", "ic-neurons-fund", "ic-sns-governance", "ic-sns-swap", @@ -12398,7 +12459,7 @@ dependencies = [ "ic-http-types", "ic-ledger-core", "ic-limits", - "ic-management-canister-types 0.7.1", + "ic-management-canister-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "ic-management-canister-types-private", "ic-nervous-system-chunks", "ic-nervous-system-clients", @@ -12585,7 +12646,7 @@ dependencies = [ "ic-cdk-timers", "ic-http-types", "ic-interfaces-registry", - "ic-management-canister-types 0.7.1", + "ic-management-canister-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "ic-metrics-encoder", "ic-nervous-system-agent", "ic-nervous-system-canisters", @@ -12807,8 +12868,9 @@ name = "ic-pub-key" version = "0.3.0" dependencies = [ "hex", + "ic-cdk-management-canister", "ic-ed25519 0.6.0", - "ic-management-canister-types 0.7.1", + "ic-management-canister-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "ic-secp256k1", "ic-vetkeys", ] @@ -12838,14 +12900,14 @@ version = "0.9.0" dependencies = [ "candid", "futures", - "ic-agent", + "ic-agent 0.48.1", "ic-management-canister-types-private", "ic-registry-subnet-type", "ic-system-test-driver", "ic-types", "ic-types-cycles", "ic-universal-canister", - "ic-utils 0.47.3", + "ic-utils 0.48.1", "ic_consensus_system_test_utils", "itertools 0.12.1", "serde", @@ -13360,7 +13422,7 @@ dependencies = [ "candid", "clap 4.6.0", "hex", - "ic-agent", + "ic-agent 0.48.1", "ic-artifact-pool", "ic-canister-sandbox-backend-lib", "ic-config", @@ -13694,7 +13756,7 @@ dependencies = [ "dfn_protobuf", "futures", "hex", - "ic-agent", + "ic-agent 0.48.1", "ic-base-types", "ic-crypto-sha2", "ic-crypto-tree-hash", @@ -13712,7 +13774,7 @@ dependencies = [ "ic-ledger-hash-of", "ic-ledger-suite-state-machine-tests-constants", "ic-limits", - "ic-management-canister-types 0.7.1", + "ic-management-canister-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "ic-nns-common", "ic-nns-constants", "ic-nns-governance-api", @@ -13881,7 +13943,7 @@ dependencies = [ "candid", "colored 2.2.0", "csv", - "ic-agent", + "ic-agent 0.48.1", "ic-base-types", "ic-nervous-system-agent", "ic-nervous-system-common-test-keys", @@ -13912,7 +13974,7 @@ dependencies = [ "dfx-core-vendored", "futures", "hex", - "ic-agent", + "ic-agent 0.48.1", "ic-base-types", "ic-crypto-sha2", "ic-management-canister-types-private", @@ -14399,11 +14461,11 @@ dependencies = [ "dfx-core-vendored", "futures", "hex", - "ic-agent", + "ic-agent 0.48.1", "ic-base-types", "ic-canister-client-sender", "ic-cdk 0.19.0", - "ic-management-canister-types 0.7.1", + "ic-management-canister-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "ic-management-canister-types-private", "ic-nervous-system-agent", "ic-nervous-system-clients", @@ -14763,7 +14825,7 @@ dependencies = [ "clap 4.6.0", "csv", "hex", - "ic-agent", + "ic-agent 0.48.1", "ic-base-types", "ic-crypto-utils-threshold-sig", "ic-crypto-utils-threshold-sig-der", @@ -14840,7 +14902,7 @@ dependencies = [ "hex", "http 1.4.0", "humantime-serde", - "ic-agent", + "ic-agent 0.48.1", "ic-base-types", "ic-canister-client", "ic-cdk 0.19.0", @@ -14887,7 +14949,7 @@ dependencies = [ "ic-types", "ic-types-cycles", "ic-universal-canister", - "ic-utils 0.47.3", + "ic-utils 0.48.1", "icp-ledger", "icrc-ledger-types", "inotify", @@ -15278,7 +15340,7 @@ version = "0.9.0" dependencies = [ "anyhow", "flate2", - "ic-agent", + "ic-agent 0.48.1", "ic-base-types", "ic-canister-client", "ic-canister-client-sender", @@ -15318,7 +15380,7 @@ dependencies = [ "canister-test", "dfn_candid", "futures", - "ic-agent", + "ic-agent 0.48.1", "ic-base-types", "ic-btc-adapter-test-utils", "ic-btc-checker", @@ -15330,7 +15392,7 @@ dependencies = [ "ic-config", "ic-doge-interface", "ic-icrc1-ledger", - "ic-management-canister-types 0.7.1", + "ic-management-canister-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "ic-management-canister-types-private", "ic-nns-constants", "ic-nns-test-utils", @@ -15339,7 +15401,7 @@ dependencies = [ "ic-system-test-driver", "ic-types", "ic-universal-canister", - "ic-utils 0.47.3", + "ic-utils 0.48.1", "ic_consensus_threshold_sig_system_test_utils", "icp-ledger", "icrc-ledger-agent", @@ -15443,6 +15505,24 @@ dependencies = [ "thiserror 2.0.18", ] +[[package]] +name = "ic-transport-types" +version = "0.48.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7caf62ab0d7e00d0d4926ae9cb81c42ab5fb84e9d8d9b183bfa42ab12180d2f" +dependencies = [ + "candid", + "hex", + "ic-certification 3.1.0", + "leb128", + "serde", + "serde_bytes", + "serde_cbor", + "serde_repr", + "sha2 0.10.9", + "thiserror 2.0.18", +] + [[package]] name = "ic-types" version = "0.9.0" @@ -15552,7 +15632,29 @@ dependencies = [ "async-trait", "candid", "futures-util", - "ic-agent", + "ic-agent 0.47.3", + "ic-management-canister-types 0.7.1", + "once_cell", + "semver", + "serde", + "serde_bytes", + "sha2 0.10.9", + "strum 0.28.0", + "strum_macros 0.28.0", + "thiserror 2.0.18", + "time", +] + +[[package]] +name = "ic-utils" +version = "0.48.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baa00e2c777d214553cc86160d358e1820063745bbe89c4d6fa61184182b01ec" +dependencies = [ + "async-trait", + "candid", + "futures-util", + "ic-agent 0.48.1", "ic-management-canister-types 0.7.1", "once_cell", "semver", @@ -15912,7 +16014,7 @@ dependencies = [ "candid", "canister-test", "http 1.4.0", - "ic-agent", + "ic-agent 0.48.1", "ic-base-types", "ic-boundary-nodes-integration-test-common", "ic-boundary-nodes-performance-test-common", @@ -15957,7 +16059,7 @@ version = "0.9.0" dependencies = [ "anyhow", "futures", - "ic-agent", + "ic-agent 0.48.1", "ic-base-types", "ic-system-test-driver", "ic-types", @@ -15993,7 +16095,7 @@ dependencies = [ "candid", "canister-test", "canister_http", - "ic-agent", + "ic-agent 0.48.1", "ic-base-types", "ic-management-canister-types-private", "ic-nns-constants", @@ -16021,7 +16123,7 @@ dependencies = [ "canister-test", "chrono", "futures", - "ic-agent", + "ic-agent 0.48.1", "ic-base-types", "ic-canister-client", "ic-config", @@ -16063,7 +16165,7 @@ dependencies = [ "canister-test", "dfn_candid", "futures", - "ic-agent", + "ic-agent 0.48.1", "ic-base-types", "ic-canister-client", "ic-crypto-test-utils-reproducible-rng", @@ -16112,7 +16214,7 @@ dependencies = [ "candid", "canister-test", "ed25519-dalek", - "ic-agent", + "ic-agent 0.48.1", "ic-base-types", "ic-canister-client", "ic-cdk 0.19.0", @@ -16148,7 +16250,7 @@ dependencies = [ "anyhow", "base64 0.13.1", "candid", - "ic-agent", + "ic-agent 0.48.1", "ic-certification 3.1.0", "ic-crypto-iccsa", "ic-crypto-internal-basic-sig-der-utils", @@ -16203,7 +16305,7 @@ version = "0.9.0" dependencies = [ "anyhow", "candid", - "ic-agent", + "ic-agent 0.48.1", "ic-nervous-system-root", "ic-recovery", "ic-system-test-driver", @@ -16298,7 +16400,7 @@ dependencies = [ "ic-ledger-suite-in-memory-ledger", "ic-ledger-suite-state-machine-helpers", "ic-ledger-test-utils", - "ic-management-canister-types 0.7.1", + "ic-management-canister-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "ic-nns-constants", "ic-nns-test-utils-golden-nns-state", "ic-stable-structures 0.6.9", @@ -16326,7 +16428,7 @@ version = "0.9.0" dependencies = [ "anyhow", "candid", - "ic-agent", + "ic-agent 0.48.1", "ic-icrc-rosetta", "ic-icrc-rosetta-client", "ic-nns-constants", @@ -16364,7 +16466,7 @@ dependencies = [ "candid", "ciborium", "hex", - "ic-agent", + "ic-agent 0.48.1", "ic-cbor", "ic-certification 3.1.0", "icrc-ledger-types", @@ -16560,7 +16662,7 @@ version = "0.9.0" dependencies = [ "anyhow", "candid", - "ic-agent", + "ic-agent 0.48.1", "ic-prep", "ic-regedit", "ic-registry-subnet-type", @@ -17358,7 +17460,7 @@ dependencies = [ "ciborium", "dfn_protobuf", "hex", - "ic-agent", + "ic-agent 0.48.1", "ic-base-types", "ic-canister-log 0.2.0", "ic-cdk 0.19.0", @@ -18117,14 +18219,14 @@ dependencies = [ "candid", "canister-test", "dfn_candid", - "ic-agent", + "ic-agent 0.48.1", "ic-base-types", - "ic-management-canister-types 0.7.1", + "ic-management-canister-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "ic-recovery", "ic-registry-subnet-type", "ic-system-test-driver", "ic-types", - "ic-utils 0.47.3", + "ic-utils 0.48.1", "itertools 0.12.1", "rand 0.8.6", "rand_chacha 0.3.1", @@ -18141,7 +18243,7 @@ version = "0.9.0" dependencies = [ "anyhow", "canister-test", - "ic-agent", + "ic-agent 0.48.1", "ic-error-types 0.2.0", "ic-registry-subnet-type", "ic-system-test-driver", @@ -18456,7 +18558,7 @@ dependencies = [ "candid", "canister-test", "hex", - "ic-agent", + "ic-agent 0.48.1", "ic-canister-client", "ic-crypto-tree-hash", "ic-nervous-system-common-test-keys", @@ -18505,7 +18607,7 @@ dependencies = [ "cloner-canister-types", "dfn_candid", "futures", - "ic-agent", + "ic-agent 0.48.1", "ic-base-types", "ic-canonical-state", "ic-cdk 0.19.0", @@ -18534,7 +18636,7 @@ dependencies = [ "ic-types", "ic-types-cycles", "ic-universal-canister", - "ic-utils 0.47.3", + "ic-utils 0.48.1", "ic_consensus_system_test_utils", "ic_consensus_threshold_sig_system_test_utils", "itertools 0.12.1", @@ -18671,7 +18773,7 @@ dependencies = [ "cycles_minting", "dfn_candid", "futures", - "ic-agent", + "ic-agent 0.48.1", "ic-base-types", "ic-btc-interface", "ic-canister-client", @@ -18700,7 +18802,7 @@ dependencies = [ "ic-types", "ic-types-cycles", "ic-universal-canister", - "ic-utils 0.47.3", + "ic-utils 0.48.1", "ic_consensus_system_test_utils", "icp-ledger", "icrc-ledger-types", @@ -18749,7 +18851,7 @@ version = "0.9.0" dependencies = [ "anyhow", "candid", - "ic-agent", + "ic-agent 0.48.1", "ic-base-types", "ic-nns-constants", "ic-registry-canister-api", @@ -19367,7 +19469,7 @@ dependencies = [ "hyper 1.8.1", "hyper-rustls", "hyper-util", - "ic-agent", + "ic-agent 0.48.1", "ic-config", "ic-consensus-cup-utils", "ic-consensus-dkg", @@ -19480,7 +19582,7 @@ version = "0.9.0" dependencies = [ "anyhow", "futures", - "ic-agent", + "ic-agent 0.48.1", "ic-boundary-nodes-system-test-utils", "ic-canister-client", "ic-http-utils", @@ -19491,7 +19593,7 @@ dependencies = [ "ic-registry-subnet-type", "ic-system-test-driver", "ic-types", - "ic-utils 0.47.3", + "ic-utils 0.48.1", "ic_consensus_system_test_utils", "itertools 0.12.1", "reqwest", @@ -20020,14 +20122,14 @@ dependencies = [ "ed25519-dalek", "flate2", "hex", - "ic-agent", + "ic-agent 0.48.1", "ic-base-types", "ic-cdk 0.19.0", "ic-certification 3.1.0", "ic-config", "ic-crypto-node-key-generation", "ic-error-types 0.2.0", - "ic-management-canister-types 0.7.1", + "ic-management-canister-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "ic-management-canister-types-private", "ic-migration-canister", "ic-nns-governance-api", @@ -20039,10 +20141,10 @@ dependencies = [ "ic-registry-subnet-type", "ic-registry-transport", "ic-sns-wasm", - "ic-transport-types", + "ic-transport-types 0.48.1", "ic-types", "ic-universal-canister", - "ic-utils 0.47.3", + "ic-utils 0.48.1", "ic-vetkeys", "icrc-ledger-types", "k256", @@ -20096,7 +20198,7 @@ dependencies = [ "hyper 1.8.1", "hyper-util", "ic-admin", - "ic-agent", + "ic-agent 0.48.1", "ic-bn-lib-common", "ic-boundary", "ic-btc-adapter", @@ -20147,7 +20249,7 @@ dependencies = [ "ic-state-manager", "ic-types", "ic-types-cycles", - "ic-utils 0.47.3", + "ic-utils 0.48.1", "ic-validator-http-request-test-utils", "ic-validator-ingress-message", "icp-ledger", @@ -20617,7 +20719,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22505a5c94da8e3b7c2996394d1c933236c4d743e81a410bcca4e6989fc066a4" dependencies = [ "bytes", - "heck 0.4.1", + "heck 0.5.0", "itertools 0.12.1", "log", "multimap", @@ -20637,12 +20739,12 @@ version = "0.13.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be769465445e8c1474e9c5dac2018218498557af32d9ed057325ec9a41ae81bf" dependencies = [ - "heck 0.4.1", - "itertools 0.10.5", + "heck 0.5.0", + "itertools 0.14.0", "log", "multimap", "once_cell", - "petgraph 0.6.5", + "petgraph 0.7.1", "prettyplease", "prost 0.13.5", "prost-types 0.13.5", @@ -20671,7 +20773,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a56d757972c98b346a9b766e3f02746cde6dd1cd1d1d563472929fdd74bec4d" dependencies = [ "anyhow", - "itertools 0.10.5", + "itertools 0.14.0", "proc-macro2", "quote", "syn 2.0.117", @@ -20684,7 +20786,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "27c6023962132f4b30eb4c172c91ce92d933da334c59c23cddee82358ddafb0b" dependencies = [ "anyhow", - "itertools 0.10.5", + "itertools 0.14.0", "proc-macro2", "quote", "syn 2.0.117", @@ -21104,7 +21206,7 @@ dependencies = [ "canister-test", "ic-base-types", "ic-crypto-sha2", - "ic-management-canister-types 0.7.1", + "ic-management-canister-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "ic-nervous-system-integration-tests", "ic-nns-constants", "ic-nns-test-utils", @@ -21123,7 +21225,7 @@ dependencies = [ "anyhow", "candid", "clap 4.6.0", - "ic-agent", + "ic-agent 0.48.1", "k256", "rate-limits-api", "regex", @@ -21504,11 +21606,11 @@ dependencies = [ "canister-test", "dfn_candid", "futures", - "ic-agent", + "ic-agent 0.48.1", "ic-system-test-driver", "ic-types", "ic-universal-canister", - "ic-utils 0.47.3", + "ic-utils 0.48.1", "slog", "statesync-test", "tokio", @@ -21530,7 +21632,7 @@ dependencies = [ "clap 4.6.0", "colored 2.2.0", "futures", - "ic-agent", + "ic-agent 0.48.1", "ic-base-types", "ic-nervous-system-agent", "ic-nervous-system-clients", @@ -21848,7 +21950,7 @@ dependencies = [ "bytes", "candid", "hex", - "ic-agent", + "ic-agent 0.48.1", "ic-ed25519 0.6.0", "ic-secp256k1", "ic-types", @@ -21875,7 +21977,7 @@ dependencies = [ "assert-json-diff", "canister-test", "dfn_protobuf", - "ic-agent", + "ic-agent 0.48.1", "ic-canister-client", "ic-ledger-canister-blocks-synchronizer-test-utils", "ic-ledger-core", @@ -21906,7 +22008,7 @@ dependencies = [ "canister-test", "dfn_protobuf", "hex", - "ic-agent", + "ic-agent 0.48.1", "ic-base-types", "ic-canister-client-sender", "ic-icrc1-test-utils", @@ -22356,7 +22458,7 @@ dependencies = [ "ic-base-types", "ic-crypto-sha2", "ic-http-types", - "ic-management-canister-types 0.7.1", + "ic-management-canister-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "ic-nervous-system-integration-tests", "ic-nns-constants", "ic-nns-test-utils", @@ -23453,7 +23555,7 @@ version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c1c97747dbf44bb1ca44a561ece23508e99cb592e862f22222dcf42f51d1e451" dependencies = [ - "heck 0.4.1", + "heck 0.5.0", "proc-macro2", "quote", "syn 2.0.117", @@ -23474,7 +23576,7 @@ version = "0.9.0" dependencies = [ "anyhow", "candid", - "ic-agent", + "ic-agent 0.48.1", "ic-base-types", "ic-canister-client", "ic-canister-client-sender", @@ -23494,7 +23596,7 @@ dependencies = [ "ic-types", "ic-types-cycles", "ic-universal-canister", - "ic-utils 0.47.3", + "ic-utils 0.48.1", "ic_consensus_system_test_utils", "icp-ledger", "icrc-ledger-agent", @@ -23919,7 +24021,7 @@ dependencies = [ "candid", "colored 2.2.0", "futures", - "ic-agent", + "ic-agent 0.48.1", "ic-base-types", "ic-nervous-system-agent", "ic-nervous-system-clients", @@ -24027,7 +24129,7 @@ dependencies = [ "canister-test", "dfn_candid", "futures", - "ic-management-canister-types 0.7.1", + "ic-management-canister-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "ic-system-test-driver", "slog", "xnet-test", @@ -26935,7 +27037,7 @@ dependencies = [ "futures", "ic-cdk 0.19.0", "ic-dummy-getrandom-for-wasm", - "ic-management-canister-types 0.7.1", + "ic-management-canister-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.8.6", "rand_pcg", "serde", diff --git a/Cargo.toml b/Cargo.toml index e0a02b0c8150..c7219f298f3a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -683,7 +683,7 @@ hyper-rustls = { version = "0.27.5", default-features = false, features = [ hyper-socks2 = { version = "0.9.1", default-features = false } hyper-util = { version = "0.1.12", features = ["full"] } ic0 = "1.0.0" -ic-agent = { version = "0.47.3", features = ["pem"] } +ic-agent = { version = "0.48.1", features = ["pem"] } ic-bn-lib = { version = "0.2.3", features = ["acme-alpn"] } ic-bn-lib-common = { version = "0.2.2" } ic-btc-interface = "0.4.0" @@ -691,19 +691,20 @@ ic-canister-runtime = "0.2.0" ic-canister-sig-creation = "1.3.1" ic-cbor = "3" ic-cdk = "0.19.0" +ic-cdk-management-canister = "0.1.1" ic-cdk-timers = "1.0.0" ic-certificate-verification = "3.0.3" ic-certification = "3" ic-doge-interface = "0.3.0" ic-gateway = { git = "https://github.com/dfinity/ic-gateway", rev = "3e698972422be07776bf888666285b7b3f7c984e", default-features = false } ic-http-certification = "3.0.3" -ic-identity-hsm = { version = "0.47.3" } -ic-management-canister-types = "0.7.1" +ic-identity-hsm = { version = "0.48.1" } +ic-management-canister-types = "0.8.0" ic-response-verification = "3.1.0" ic-sha3 = "1.0.0" ic-stable-structures = "0.6.8" -ic-transport-types = { version = "0.47.3" } -ic-utils = { version = "0.47.3", features = ["raw"] } +ic-transport-types = { version = "0.48.1" } +ic-utils = { version = "0.48.1", features = ["raw"] } ic-vetkeys = "0.7.0" ic-xrc-types = "1.2.0" ic_bls12_381 = { version = "0.10.1", default-features = false, features = [ diff --git a/bazel/rust.MODULE.bazel b/bazel/rust.MODULE.bazel index 0898e7c44199..ca69564bfc89 100644 --- a/bazel/rust.MODULE.bazel +++ b/bazel/rust.MODULE.bazel @@ -681,7 +681,7 @@ crate.spec( "pem", ], package = "ic-agent", - version = "^0.47.3", + version = "^0.48.1", ) crate.spec( features = [ @@ -723,6 +723,10 @@ crate.spec( package = "ic-cdk-executor", version = "^2.0.0", ) +crate.spec( + package = "ic-cdk-management-canister", + version = "^0.1.1", +) crate.spec( package = "ic-cdk-timers", version = "^1.0.0", @@ -767,7 +771,7 @@ crate.spec( ) crate.spec( package = "ic-identity-hsm", - version = "^0.47.3", + version = "^0.48.1", ) crate.spec( package = "ic-metrics-encoder", @@ -775,7 +779,7 @@ crate.spec( ) crate.spec( package = "ic-management-canister-types", - version = "^0.7.1", + version = "^0.8.0", ) crate.spec( default_features = False, @@ -815,12 +819,12 @@ crate.spec( ) crate.spec( package = "ic-transport-types", - version = "^0.47.3", + version = "^0.48.1", ) crate.spec( features = ["raw"], package = "ic-utils", - version = "^0.47.3", + version = "^0.48.1", ) crate.spec( default_features = False, diff --git a/packages/ic-pub-key/BUILD.bazel b/packages/ic-pub-key/BUILD.bazel index 4ce978fc579d..c3c4581c08bb 100644 --- a/packages/ic-pub-key/BUILD.bazel +++ b/packages/ic-pub-key/BUILD.bazel @@ -15,6 +15,7 @@ rust_library( deps = [ "//packages/ic-ed25519", "//packages/ic-secp256k1", + "@crate_index//:ic-cdk-management-canister", "@crate_index//:ic-management-canister-types", "@crate_index//:ic-vetkeys", ], diff --git a/packages/ic-pub-key/Cargo.toml b/packages/ic-pub-key/Cargo.toml index 4cefd9fc1d8e..4159591c4b7a 100644 --- a/packages/ic-pub-key/Cargo.toml +++ b/packages/ic-pub-key/Cargo.toml @@ -15,12 +15,13 @@ default = ["secp256k1", "ed25519", "vetkeys"] secp256k1 = ["dep:ic-secp256k1"] ed25519 = ["dep:ic-ed25519"] -vetkeys = ["dep:ic-vetkeys"] +vetkeys = ["dep:ic-vetkeys", "dep:ic-cdk-management-canister"] [dependencies] ic-secp256k1 = { path = "../ic-secp256k1", version = "0.3.0", optional = true } ic-ed25519 = { path = "../ic-ed25519", version = "0.6.0", optional = true } ic-vetkeys = { workspace = true, optional = true } +ic-cdk-management-canister = { workspace = true, optional = true } ic-management-canister-types = { workspace = true } [dev-dependencies] diff --git a/packages/ic-pub-key/src/lib.rs b/packages/ic-pub-key/src/lib.rs index 6e3336bb838b..f557cdd4686e 100644 --- a/packages/ic-pub-key/src/lib.rs +++ b/packages/ic-pub-key/src/lib.rs @@ -214,7 +214,20 @@ impl TryFrom<&VetKDKeyId> for MasterPublicKey { fn try_from(key_id: &VetKDKeyId) -> Result { #[cfg(feature = "vetkeys")] { - if let Some(mk) = ic_vetkeys::MasterPublicKey::for_mainnet_key(key_id) { + // `ic_vetkeys::MasterPublicKey::for_mainnet_key` expects the `VetKDKeyId` + // re-exported by `ic-cdk-management-canister`, which is backed by a + // different (older) version of `ic-management-canister-types` than the one + // this crate depends on. Bridge the two by rebuilding the key id from its + // fields. + let vetkd_key_id = ic_cdk_management_canister::VetKDKeyId { + curve: match key_id.curve { + VetKDCurve::Bls12_381_G2 => { + ic_cdk_management_canister::VetKDCurve::Bls12_381_G2 + } + }, + name: key_id.name.clone(), + }; + if let Some(mk) = ic_vetkeys::MasterPublicKey::for_mainnet_key(&vetkd_key_id) { let inner = MasterPublicKeyInner::VetKD(mk); return Ok(Self { inner }); } diff --git a/rs/rust_canisters/canister_test/src/canister.rs b/rs/rust_canisters/canister_test/src/canister.rs index 334a41a667a6..298c5e87e352 100644 --- a/rs/rust_canisters/canister_test/src/canister.rs +++ b/rs/rust_canisters/canister_test/src/canister.rs @@ -770,6 +770,7 @@ impl<'a> Canister<'a> { reserved_cycles_limit: None, log_visibility: None, log_memory_limit: None, + snapshot_visibility: None, wasm_memory_limit: None, wasm_memory_threshold: None, environment_variables: None, diff --git a/rs/tests/consensus/upgrade/common.rs b/rs/tests/consensus/upgrade/common.rs index d040f39979fb..7a2f84db0d43 100644 --- a/rs/tests/consensus/upgrade/common.rs +++ b/rs/tests/consensus/upgrade/common.rs @@ -12,7 +12,7 @@ Success:: Upgrades work into both directions for all subnet types. end::catalog[] */ -use candid::Principal; +use candid::{Encode, Principal}; use ic_agent::Agent; use ic_consensus_system_test_utils::rw_message::{ can_fetch_logs, can_read_msg, cert_state_makes_progress_with_retries, @@ -34,7 +34,6 @@ use ic_system_test_driver::{ util::{JournalStreamer, MessageCanister, block_on}, }; use ic_types::{NodeId, ReplicaVersion, SubnetId}; -use ic_utils::interfaces::ManagementCanister; use slog::{Logger, info}; use std::collections::BTreeMap; use std::time::Duration; @@ -178,14 +177,22 @@ pub fn upgrade( let agent = create_agent(healthy_node.get_public_url().as_str()) .await .expect("Failed to create agent"); - let mgr = ManagementCanister::create(&agent); let snapshot_args = TakeCanisterSnapshotArgs { canister_id: CanisterId::from(can_id), replace_snapshot: None, uninstall_code: None, sender_canister_version: None, }; - mgr.take_canister_snapshot(&snapshot_args).await.unwrap(); + // Call the management canister directly instead of via `ic_utils`'s typed + // helper: `ic_utils` still depends on an older `ic-management-canister-types`, + // so its `take_canister_snapshot` expects an incompatible argument type. + agent + .update(&Principal::management_canister(), "take_canister_snapshot") + .with_arg(Encode!(&snapshot_args).unwrap()) + .with_effective_canister_id(CanisterId::from(can_id)) + .call_and_wait() + .await + .unwrap(); }); info!(logger, "Stopping faulty node {} ...", faulty_node.node_id); diff --git a/rs/tests/driver/src/util/delegations.rs b/rs/tests/driver/src/util/delegations.rs index 0433dcbdb6c9..023680dcb645 100644 --- a/rs/tests/driver/src/util/delegations.rs +++ b/rs/tests/driver/src/util/delegations.rs @@ -49,6 +49,7 @@ fn to_agent_signed_delegation(d: CandidSignedDelegation) -> ic_agent::identity:: pubkey: d.delegation.pubkey.into_vec(), expiration: d.delegation.expiration, targets: d.delegation.targets, + permissions: None, }, signature: d.signature.into_vec(), } From 7e045c92c4ae29f65c81aefed392bf95672f53f2 Mon Sep 17 00:00:00 2001 From: Martin Raszyk Date: Mon, 13 Jul 2026 16:07:28 +0000 Subject: [PATCH 2/4] chore: add snapshot_visibility to ckdoge minter and cmc candid interfaces The ic-management-canister-types 0.8.0 bump added a new snapshot_visibility field to CanisterSettings and DefiniteCanisterSettings. Sync the affected .did files to fix the candid interface compatibility tests. Co-Authored-By: Claude Opus 4.8 (1M context) --- rs/dogecoin/ckdoge/minter/ckdoge_minter.did | 7 +++++++ rs/nns/cmc/cmc.did | 6 ++++++ 2 files changed, 13 insertions(+) diff --git a/rs/dogecoin/ckdoge/minter/ckdoge_minter.did b/rs/dogecoin/ckdoge/minter/ckdoge_minter.did index 1f69c08c66a5..cc9192ef08a3 100644 --- a/rs/dogecoin/ckdoge/minter/ckdoge_minter.did +++ b/rs/dogecoin/ckdoge/minter/ckdoge_minter.did @@ -320,6 +320,7 @@ type DefiniteCanisterSettings = record { compute_allocation : nat; reserved_cycles_limit : nat; log_visibility: log_visibility; + snapshot_visibility : snapshot_visibility; log_memory_limit : nat; wasm_memory_limit : nat; wasm_memory_threshold : nat; @@ -332,6 +333,12 @@ type log_visibility = variant { allowed_viewers : vec principal; }; +type snapshot_visibility = variant { + controllers; + public; + allowed_viewers : vec principal; +}; + type environment_variable = record { name: text; value: text; diff --git a/rs/nns/cmc/cmc.did b/rs/nns/cmc/cmc.did index b405f440c23f..171e7302e1db 100644 --- a/rs/nns/cmc/cmc.did +++ b/rs/nns/cmc/cmc.did @@ -5,6 +5,11 @@ type log_visibility = variant { public; allowed_viewers : vec principal; }; +type snapshot_visibility = variant { + controllers; + public; + allowed_viewers : vec principal; +}; type environment_variable = record { name: text; value: text; @@ -16,6 +21,7 @@ type CanisterSettings = record { freezing_threshold : opt nat; reserved_cycles_limit : opt nat; log_visibility : opt log_visibility; + snapshot_visibility : opt snapshot_visibility; log_memory_limit : opt nat; wasm_memory_limit : opt nat; wasm_memory_threshold : opt nat; From a367d8843e484928cd79afebfa3a0151812fcee8 Mon Sep 17 00:00:00 2001 From: Martin Raszyk Date: Tue, 14 Jul 2026 09:45:50 +0000 Subject: [PATCH 3/4] bump to v0.49.0 --- Cargo.Bazel.json.lock | 66 +++--- Cargo.Bazel.toml.lock | 30 +-- Cargo.lock | 192 +++++++++--------- Cargo.toml | 8 +- bazel/rust.MODULE.bazel | 8 +- rs/pocket_ic_server/tests/test.rs | 4 + rs/tests/ckbtc/src/adapter.rs | 7 +- rs/tests/driver/src/util.rs | 8 +- rs/tests/execution/canister_migration_test.rs | 3 +- .../canister_lifecycle.rs | 23 ++- rs/tests/query_stats/lib/src/aggregation.rs | 5 +- 11 files changed, 186 insertions(+), 168 deletions(-) diff --git a/Cargo.Bazel.json.lock b/Cargo.Bazel.json.lock index dec9cd4073c6..430d43d47f54 100644 --- a/Cargo.Bazel.json.lock +++ b/Cargo.Bazel.json.lock @@ -1,5 +1,5 @@ { - "checksum": "a204a4c11a98f02a0d330ecb84f6839812cbf39ee29ece97fa01f629aced0d74", + "checksum": "fce051d915c26415c5d5d13717fac5648a38d5b1d1387402c130bb9aed8bd704", "crates": { "abnf 0.12.0": { "name": "abnf", @@ -22248,7 +22248,7 @@ "target": "hyper_util" }, { - "id": "ic-agent 0.48.1", + "id": "ic-agent 0.49.0", "target": "ic_agent" }, { @@ -22332,7 +22332,7 @@ "target": "ic_http_certification" }, { - "id": "ic-identity-hsm 0.48.1", + "id": "ic-identity-hsm 0.49.0", "target": "ic_identity_hsm" }, { @@ -22365,11 +22365,11 @@ "target": "ic_test_state_machine_client" }, { - "id": "ic-transport-types 0.48.1", + "id": "ic-transport-types 0.49.0", "target": "ic_transport_types" }, { - "id": "ic-utils 0.48.1", + "id": "ic-utils 0.49.0", "target": "ic_utils" }, { @@ -35083,14 +35083,14 @@ ], "license_file": null }, - "ic-agent 0.48.1": { + "ic-agent 0.49.0": { "name": "ic-agent", - "version": "0.48.1", + "version": "0.49.0", "package_url": "https://github.com/dfinity/agent-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/ic-agent/0.48.1/download", - "sha256": "0844c80b49056ad4117e7abba251ee98758599e7bd8461775a1349251a8263b1" + "url": "https://static.crates.io/crates/ic-agent/0.49.0/download", + "sha256": "65a32acd8665871aff33d8c2d47ab8bf5da60635652d83a3770bfa34b9ef91ad" } }, "targets": [ @@ -35190,7 +35190,7 @@ "target": "ic_ed25519" }, { - "id": "ic-transport-types 0.48.1", + "id": "ic-transport-types 0.49.0", "target": "ic_transport_types" }, { @@ -35303,7 +35303,7 @@ ], "selects": {} }, - "version": "0.48.1" + "version": "0.49.0" }, "license": "Apache-2.0", "license_ids": [ @@ -38028,14 +38028,14 @@ ], "license_file": null }, - "ic-identity-hsm 0.48.1": { + "ic-identity-hsm 0.49.0": { "name": "ic-identity-hsm", - "version": "0.48.1", + "version": "0.49.0", "package_url": "https://github.com/dfinity/agent-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/ic-identity-hsm/0.48.1/download", - "sha256": "32ebd639a70743d6ccb972d4a04b5773c4a8b138f5ed8fead34063906e871dc9" + "url": "https://static.crates.io/crates/ic-identity-hsm/0.49.0/download", + "sha256": "bd610c57b9353fbbc00af59894341e43eb98299f327a46eda5f5a6bf841b0fc1" } }, "targets": [ @@ -38064,7 +38064,7 @@ "target": "hex" }, { - "id": "ic-agent 0.48.1", + "id": "ic-agent 0.49.0", "target": "ic_agent" }, { @@ -38087,7 +38087,7 @@ "selects": {} }, "edition": "2021", - "version": "0.48.1" + "version": "0.49.0" }, "license": "Apache-2.0", "license_ids": [ @@ -38794,14 +38794,14 @@ ], "license_file": null }, - "ic-transport-types 0.48.1": { + "ic-transport-types 0.49.0": { "name": "ic-transport-types", - "version": "0.48.1", + "version": "0.49.0", "package_url": "https://github.com/dfinity/agent-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/ic-transport-types/0.48.1/download", - "sha256": "f7caf62ab0d7e00d0d4926ae9cb81c42ab5fb84e9d8d9b183bfa42ab12180d2f" + "url": "https://static.crates.io/crates/ic-transport-types/0.49.0/download", + "sha256": "ede9080798410ed4777b6c4e02f011467b256fb9ddd393fc48aef86eb96442e6" } }, "targets": [ @@ -38874,7 +38874,7 @@ ], "selects": {} }, - "version": "0.48.1" + "version": "0.49.0" }, "license": "Apache-2.0", "license_ids": [ @@ -38986,14 +38986,14 @@ ], "license_file": null }, - "ic-utils 0.48.1": { + "ic-utils 0.49.0": { "name": "ic-utils", - "version": "0.48.1", + "version": "0.49.0", "package_url": "https://github.com/dfinity/agent-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/ic-utils/0.48.1/download", - "sha256": "baa00e2c777d214553cc86160d358e1820063745bbe89c4d6fa61184182b01ec" + "url": "https://static.crates.io/crates/ic-utils/0.49.0/download", + "sha256": "9eee176e6e16bb85f904442af47503b1e214da3d62e4cad2fda4a64d9b72de28" } }, "targets": [ @@ -39032,11 +39032,11 @@ "target": "futures_util" }, { - "id": "ic-agent 0.48.1", + "id": "ic-agent 0.49.0", "target": "ic_agent" }, { - "id": "ic-management-canister-types 0.7.1", + "id": "ic-management-canister-types 0.8.0", "target": "ic_management_canister_types" }, { @@ -39088,7 +39088,7 @@ ], "selects": {} }, - "version": "0.48.1" + "version": "0.49.0" }, "license": "Apache-2.0", "license_ids": [ @@ -101833,7 +101833,7 @@ "hyper-rustls 0.27.7", "hyper-socks2 0.9.1", "hyper-util 0.1.20", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-bn-lib 0.2.3", "ic-bn-lib-common 0.2.2", "ic-btc-interface 0.4.0", @@ -101854,7 +101854,7 @@ "ic-doge-interface 0.3.0", "ic-gateway 0.2.0", "ic-http-certification 3.1.0", - "ic-identity-hsm 0.48.1", + "ic-identity-hsm 0.49.0", "ic-management-canister-types 0.8.0", "ic-metrics-encoder 1.1.1", "ic-response-verification 3.1.0", @@ -101862,8 +101862,8 @@ "ic-stable-structures 0.6.8", "ic-stable-structures 0.7.0", "ic-test-state-machine-client 3.0.1", - "ic-transport-types 0.48.1", - "ic-utils 0.48.1", + "ic-transport-types 0.49.0", + "ic-utils 0.49.0", "ic-verify-bls-signature 0.6.0", "ic-vetkeys 0.7.0", "ic-wasm 0.9.11", diff --git a/Cargo.Bazel.toml.lock b/Cargo.Bazel.toml.lock index dd990fa5780a..10b8f4954a3b 100644 --- a/Cargo.Bazel.toml.lock +++ b/Cargo.Bazel.toml.lock @@ -3785,7 +3785,7 @@ dependencies = [ "hyper-rustls 0.27.7", "hyper-socks2", "hyper-util", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-bn-lib", "ic-bn-lib-common", "ic-btc-interface", @@ -3814,8 +3814,8 @@ dependencies = [ "ic-stable-structures 0.6.8", "ic-stable-structures 0.7.0", "ic-test-state-machine-client", - "ic-transport-types 0.48.1", - "ic-utils 0.48.1", + "ic-transport-types 0.49.0", + "ic-utils 0.49.0", "ic-verify-bls-signature", "ic-vetkeys", "ic-wasm", @@ -6025,9 +6025,9 @@ dependencies = [ [[package]] name = "ic-agent" -version = "0.48.1" +version = "0.49.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0844c80b49056ad4117e7abba251ee98758599e7bd8461775a1349251a8263b1" +checksum = "65a32acd8665871aff33d8c2d47ab8bf5da60635652d83a3770bfa34b9ef91ad" dependencies = [ "arc-swap", "async-channel 2.5.0", @@ -6048,7 +6048,7 @@ dependencies = [ "http-body-util", "ic-certification", "ic-ed25519", - "ic-transport-types 0.48.1", + "ic-transport-types 0.49.0", "ic-verify-bls-signature", "ic_principal", "k256", @@ -6636,12 +6636,12 @@ dependencies = [ [[package]] name = "ic-identity-hsm" -version = "0.48.1" +version = "0.49.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32ebd639a70743d6ccb972d4a04b5773c4a8b138f5ed8fead34063906e871dc9" +checksum = "bd610c57b9353fbbc00af59894341e43eb98299f327a46eda5f5a6bf841b0fc1" dependencies = [ "hex", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "pkcs11", "sha2 0.10.9", "simple_asn1", @@ -6780,9 +6780,9 @@ dependencies = [ [[package]] name = "ic-transport-types" -version = "0.48.1" +version = "0.49.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7caf62ab0d7e00d0d4926ae9cb81c42ab5fb84e9d8d9b183bfa42ab12180d2f" +checksum = "ede9080798410ed4777b6c4e02f011467b256fb9ddd393fc48aef86eb96442e6" dependencies = [ "candid", "hex", @@ -6820,15 +6820,15 @@ dependencies = [ [[package]] name = "ic-utils" -version = "0.48.1" +version = "0.49.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baa00e2c777d214553cc86160d358e1820063745bbe89c4d6fa61184182b01ec" +checksum = "9eee176e6e16bb85f904442af47503b1e214da3d62e4cad2fda4a64d9b72de28" dependencies = [ "async-trait", "candid", "futures-util", - "ic-agent 0.48.1", - "ic-management-canister-types 0.7.1", + "ic-agent 0.49.0", + "ic-management-canister-types 0.8.0", "once_cell", "semver", "serde", diff --git a/Cargo.lock b/Cargo.lock index 83a9273bc880..f94db20d4a4f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2674,7 +2674,7 @@ version = "0.9.0" dependencies = [ "anyhow", "canister-test", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-base-types", "ic-interfaces-registry", "ic-nns-common", @@ -2708,7 +2708,7 @@ dependencies = [ "canister-test", "chrono", "futures", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-base-types", "ic-config", "ic-limits", @@ -2742,14 +2742,14 @@ dependencies = [ "anyhow", "candid", "futures", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-management-canister-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "ic-management-canister-types-private", "ic-registry-subnet-features", "ic-registry-subnet-type", "ic-system-test-driver", "ic-types", - "ic-utils 0.48.1", + "ic-utils 0.49.0", "ic_consensus_system_test_utils", "ic_consensus_threshold_sig_system_test_utils", "regex", @@ -3965,7 +3965,7 @@ dependencies = [ "dialoguer", "directories-next", "hex", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-identity-hsm", "keyring", "lazy_static", @@ -4660,7 +4660,7 @@ dependencies = [ "candid", "canister-test", "futures", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-base-types", "ic-cdk 0.19.0", "ic-config", @@ -4679,7 +4679,7 @@ dependencies = [ "ic-types-cycles", "ic-types-test-utils", "ic-universal-canister", - "ic-utils 0.48.1", + "ic-utils 0.49.0", "ic_consensus_system_test_utils", "lazy_static", "rand 0.8.6", @@ -6416,9 +6416,9 @@ dependencies = [ [[package]] name = "ic-agent" -version = "0.48.1" +version = "0.49.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0844c80b49056ad4117e7abba251ee98758599e7bd8461775a1349251a8263b1" +checksum = "65a32acd8665871aff33d8c2d47ab8bf5da60635652d83a3770bfa34b9ef91ad" dependencies = [ "arc-swap", "async-channel 2.5.0", @@ -6439,7 +6439,7 @@ dependencies = [ "http-body-util", "ic-certification 3.1.0", "ic-ed25519 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ic-transport-types 0.48.1", + "ic-transport-types 0.49.0", "ic-verify-bls-signature", "ic_principal", "k256", @@ -6798,7 +6798,7 @@ dependencies = [ "hex", "http 1.4.0", "humantime", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-base-types", "ic-bn-lib", "ic-bn-lib-common", @@ -6869,7 +6869,7 @@ version = "0.9.0" dependencies = [ "anyhow", "futures", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-boundary-nodes-system-test-utils", "ic-crypto-tree-hash", "ic-system-test-driver", @@ -6888,7 +6888,7 @@ version = "0.9.0" dependencies = [ "anyhow", "candid", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-boundary-nodes-system-test-utils", "ic-protobuf", "ic-registry-keys", @@ -6909,7 +6909,7 @@ version = "0.9.0" dependencies = [ "anyhow", "futures", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-base-types", "ic-interfaces-registry", "ic-protobuf", @@ -6919,7 +6919,7 @@ dependencies = [ "ic-registry-subnet-type", "ic-system-test-driver", "ic-types", - "ic-utils 0.48.1", + "ic-utils 0.49.0", "slog", "url", ] @@ -7566,7 +7566,7 @@ name = "ic-ckbtc-agent" version = "0.9.0" dependencies = [ "candid", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-ckbtc-minter", "ic-http-types", "ic-icrc1", @@ -7592,7 +7592,7 @@ dependencies = [ "ciborium", "flate2", "hex", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-base-types", "ic-bitcoin-canister-mock", "ic-btc-checker", @@ -7643,7 +7643,7 @@ name = "ic-ckdoge-agent" version = "0.9.0" dependencies = [ "candid", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-ckdoge-minter", "ic-http-types", "ic-icrc1", @@ -7664,7 +7664,7 @@ dependencies = [ "ciborium", "flate2", "hex", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-base-types", "ic-cdk 0.19.0", "ic-ckbtc-minter", @@ -7720,7 +7720,7 @@ dependencies = [ "futures", "hex", "hex-literal 0.4.1", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-base-types", "ic-canister-log 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "ic-canister-runtime", @@ -10380,7 +10380,7 @@ dependencies = [ "clap 4.6.0", "futures", "hex", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-base-types", "ic-icrc-rosetta-client", "ic-icrc-rosetta-runner", @@ -10398,7 +10398,7 @@ dependencies = [ "ic-rosetta-test-utils", "ic-sys", "ic-test-utilities-load-wasm", - "ic-utils 0.48.1", + "ic-utils 0.49.0", "icrc-ledger-agent", "icrc-ledger-types", "indicatif", @@ -10439,7 +10439,7 @@ dependencies = [ "candid", "clap 4.6.0", "hex", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-ed25519 0.6.0", "ic-icrc-rosetta", "ic-icrc-rosetta-runner", @@ -10542,7 +10542,7 @@ dependencies = [ "candid", "candid_parser", "ciborium", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-base-types", "ic-canister-log 0.2.0", "ic-canister-profiler", @@ -10587,7 +10587,7 @@ dependencies = [ "cddl", "ciborium", "hex", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-base-types", "ic-canister-log 0.2.0", "ic-cbor", @@ -10626,7 +10626,7 @@ name = "ic-icrc1-test-utils" version = "0.9.0" dependencies = [ "candid", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-crypto-test-utils-reproducible-rng", "ic-ed25519 0.6.0", "ic-icrc1", @@ -10708,12 +10708,12 @@ dependencies = [ [[package]] name = "ic-identity-hsm" -version = "0.48.1" +version = "0.49.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32ebd639a70743d6ccb972d4a04b5773c4a8b138f5ed8fead34063906e871dc9" +checksum = "bd610c57b9353fbbc00af59894341e43eb98299f327a46eda5f5a6bf841b0fc1" dependencies = [ "hex", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "pkcs11", "sha2 0.10.9", "simple_asn1", @@ -10885,7 +10885,7 @@ dependencies = [ "chrono", "ciborium", "dfn_protobuf", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-certification 0.9.0", "ic-crypto-sha2", "ic-ledger-canister-blocks-synchronizer-test-utils", @@ -10966,7 +10966,7 @@ name = "ic-ledger-suite-in-memory-ledger" version = "0.9.0" dependencies = [ "candid", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-base-types", "ic-icrc1", "ic-icrc1-test-utils", @@ -11080,7 +11080,7 @@ dependencies = [ "cddl", "futures", "hex", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-base-types", "ic-config", "ic-error-types 0.2.0", @@ -11386,7 +11386,7 @@ dependencies = [ "ic-nns-constants", "ic-nns-test-utils", "ic-stable-structures 0.7.2", - "ic-transport-types 0.48.1", + "ic-transport-types 0.49.0", "ic-universal-canister", "itertools 0.12.1", "pocket-ic", @@ -11414,7 +11414,7 @@ dependencies = [ "anyhow", "candid", "cycles-minting-canister", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-base-types", "ic-error-types 0.2.0", "ic-management-canister-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -11878,7 +11878,7 @@ version = "0.9.0" dependencies = [ "candid", "clap 4.6.0", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-certification 3.1.0", "ic-identity-hsm", "ic-nns-common", @@ -11960,7 +11960,7 @@ dependencies = [ "canister-test", "clap 4.6.0", "hex", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-certification 3.1.0", "lazy_static", "pocket-ic", @@ -11975,7 +11975,7 @@ name = "ic-networking-subnet-update-workload" version = "0.9.0" dependencies = [ "anyhow", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-interfaces-registry", "ic-protobuf", "ic-registry-canister-api", @@ -12015,7 +12015,7 @@ version = "0.9.0" dependencies = [ "candid", "colored 2.2.0", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-neurons-fund", "ic-sns-governance", "ic-sns-swap", @@ -12904,14 +12904,14 @@ version = "0.9.0" dependencies = [ "candid", "futures", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-management-canister-types-private", "ic-registry-subnet-type", "ic-system-test-driver", "ic-types", "ic-types-cycles", "ic-universal-canister", - "ic-utils 0.48.1", + "ic-utils 0.49.0", "ic_consensus_system_test_utils", "itertools 0.12.1", "serde", @@ -13426,7 +13426,7 @@ dependencies = [ "candid", "clap 4.6.0", "hex", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-artifact-pool", "ic-canister-sandbox-backend-lib", "ic-config", @@ -13760,7 +13760,7 @@ dependencies = [ "dfn_protobuf", "futures", "hex", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-base-types", "ic-crypto-sha2", "ic-crypto-tree-hash", @@ -13947,7 +13947,7 @@ dependencies = [ "candid", "colored 2.2.0", "csv", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-base-types", "ic-nervous-system-agent", "ic-nervous-system-common-test-keys", @@ -13978,7 +13978,7 @@ dependencies = [ "dfx-core-vendored", "futures", "hex", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-base-types", "ic-crypto-sha2", "ic-management-canister-types-private", @@ -14465,7 +14465,7 @@ dependencies = [ "dfx-core-vendored", "futures", "hex", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-base-types", "ic-canister-client-sender", "ic-cdk 0.19.0", @@ -14829,7 +14829,7 @@ dependencies = [ "clap 4.6.0", "csv", "hex", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-base-types", "ic-crypto-utils-threshold-sig", "ic-crypto-utils-threshold-sig-der", @@ -14906,7 +14906,7 @@ dependencies = [ "hex", "http 1.4.0", "humantime-serde", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-base-types", "ic-canister-client", "ic-cdk 0.19.0", @@ -14953,7 +14953,7 @@ dependencies = [ "ic-types", "ic-types-cycles", "ic-universal-canister", - "ic-utils 0.48.1", + "ic-utils 0.49.0", "icp-ledger", "icrc-ledger-types", "inotify", @@ -15344,7 +15344,7 @@ version = "0.9.0" dependencies = [ "anyhow", "flate2", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-base-types", "ic-canister-client", "ic-canister-client-sender", @@ -15384,7 +15384,7 @@ dependencies = [ "canister-test", "dfn_candid", "futures", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-base-types", "ic-btc-adapter-test-utils", "ic-btc-checker", @@ -15405,7 +15405,7 @@ dependencies = [ "ic-system-test-driver", "ic-types", "ic-universal-canister", - "ic-utils 0.48.1", + "ic-utils 0.49.0", "ic_consensus_threshold_sig_system_test_utils", "icp-ledger", "icrc-ledger-agent", @@ -15511,9 +15511,9 @@ dependencies = [ [[package]] name = "ic-transport-types" -version = "0.48.1" +version = "0.49.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7caf62ab0d7e00d0d4926ae9cb81c42ab5fb84e9d8d9b183bfa42ab12180d2f" +checksum = "ede9080798410ed4777b6c4e02f011467b256fb9ddd393fc48aef86eb96442e6" dependencies = [ "candid", "hex", @@ -15651,15 +15651,15 @@ dependencies = [ [[package]] name = "ic-utils" -version = "0.48.1" +version = "0.49.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baa00e2c777d214553cc86160d358e1820063745bbe89c4d6fa61184182b01ec" +checksum = "9eee176e6e16bb85f904442af47503b1e214da3d62e4cad2fda4a64d9b72de28" dependencies = [ "async-trait", "candid", "futures-util", - "ic-agent 0.48.1", - "ic-management-canister-types 0.7.1", + "ic-agent 0.49.0", + "ic-management-canister-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "once_cell", "semver", "serde", @@ -16018,7 +16018,7 @@ dependencies = [ "candid", "canister-test", "http 1.4.0", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-base-types", "ic-boundary-nodes-integration-test-common", "ic-boundary-nodes-performance-test-common", @@ -16063,7 +16063,7 @@ version = "0.9.0" dependencies = [ "anyhow", "futures", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-base-types", "ic-system-test-driver", "ic-types", @@ -16099,7 +16099,7 @@ dependencies = [ "candid", "canister-test", "canister_http", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-base-types", "ic-management-canister-types-private", "ic-nns-constants", @@ -16127,7 +16127,7 @@ dependencies = [ "canister-test", "chrono", "futures", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-base-types", "ic-canister-client", "ic-config", @@ -16169,7 +16169,7 @@ dependencies = [ "canister-test", "dfn_candid", "futures", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-base-types", "ic-canister-client", "ic-crypto-test-utils-reproducible-rng", @@ -16218,7 +16218,7 @@ dependencies = [ "candid", "canister-test", "ed25519-dalek", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-base-types", "ic-canister-client", "ic-cdk 0.19.0", @@ -16254,7 +16254,7 @@ dependencies = [ "anyhow", "base64 0.13.1", "candid", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-certification 3.1.0", "ic-crypto-iccsa", "ic-crypto-internal-basic-sig-der-utils", @@ -16309,7 +16309,7 @@ version = "0.9.0" dependencies = [ "anyhow", "candid", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-nervous-system-root", "ic-recovery", "ic-system-test-driver", @@ -16432,7 +16432,7 @@ version = "0.9.0" dependencies = [ "anyhow", "candid", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-icrc-rosetta", "ic-icrc-rosetta-client", "ic-nns-constants", @@ -16470,7 +16470,7 @@ dependencies = [ "candid", "ciborium", "hex", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-cbor", "ic-certification 3.1.0", "icrc-ledger-types", @@ -16666,7 +16666,7 @@ version = "0.9.0" dependencies = [ "anyhow", "candid", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-prep", "ic-regedit", "ic-registry-subnet-type", @@ -17464,7 +17464,7 @@ dependencies = [ "ciborium", "dfn_protobuf", "hex", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-base-types", "ic-canister-log 0.2.0", "ic-cdk 0.19.0", @@ -18223,14 +18223,14 @@ dependencies = [ "candid", "canister-test", "dfn_candid", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-base-types", "ic-management-canister-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "ic-recovery", "ic-registry-subnet-type", "ic-system-test-driver", "ic-types", - "ic-utils 0.48.1", + "ic-utils 0.49.0", "itertools 0.12.1", "rand 0.8.6", "rand_chacha 0.3.1", @@ -18247,7 +18247,7 @@ version = "0.9.0" dependencies = [ "anyhow", "canister-test", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-error-types 0.2.0", "ic-registry-subnet-type", "ic-system-test-driver", @@ -18562,7 +18562,7 @@ dependencies = [ "candid", "canister-test", "hex", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-canister-client", "ic-crypto-tree-hash", "ic-nervous-system-common-test-keys", @@ -18611,7 +18611,7 @@ dependencies = [ "cloner-canister-types", "dfn_candid", "futures", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-base-types", "ic-canonical-state", "ic-cdk 0.19.0", @@ -18640,7 +18640,7 @@ dependencies = [ "ic-types", "ic-types-cycles", "ic-universal-canister", - "ic-utils 0.48.1", + "ic-utils 0.49.0", "ic_consensus_system_test_utils", "ic_consensus_threshold_sig_system_test_utils", "itertools 0.12.1", @@ -18777,7 +18777,7 @@ dependencies = [ "cycles_minting", "dfn_candid", "futures", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-base-types", "ic-btc-interface", "ic-canister-client", @@ -18806,7 +18806,7 @@ dependencies = [ "ic-types", "ic-types-cycles", "ic-universal-canister", - "ic-utils 0.48.1", + "ic-utils 0.49.0", "ic_consensus_system_test_utils", "icp-ledger", "icrc-ledger-types", @@ -18855,7 +18855,7 @@ version = "0.9.0" dependencies = [ "anyhow", "candid", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-base-types", "ic-nns-constants", "ic-registry-canister-api", @@ -19473,7 +19473,7 @@ dependencies = [ "hyper 1.8.1", "hyper-rustls", "hyper-util", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-config", "ic-consensus-cup-utils", "ic-consensus-dkg", @@ -19586,7 +19586,7 @@ version = "0.9.0" dependencies = [ "anyhow", "futures", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-boundary-nodes-system-test-utils", "ic-canister-client", "ic-http-utils", @@ -19597,7 +19597,7 @@ dependencies = [ "ic-registry-subnet-type", "ic-system-test-driver", "ic-types", - "ic-utils 0.48.1", + "ic-utils 0.49.0", "ic_consensus_system_test_utils", "itertools 0.12.1", "reqwest", @@ -20137,7 +20137,7 @@ dependencies = [ "ed25519-dalek", "flate2", "hex", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-base-types", "ic-cdk 0.19.0", "ic-certification 3.1.0", @@ -20156,10 +20156,10 @@ dependencies = [ "ic-registry-subnet-type", "ic-registry-transport", "ic-sns-wasm", - "ic-transport-types 0.48.1", + "ic-transport-types 0.49.0", "ic-types", "ic-universal-canister", - "ic-utils 0.48.1", + "ic-utils 0.49.0", "ic-vetkeys", "icrc-ledger-types", "k256", @@ -20213,7 +20213,7 @@ dependencies = [ "hyper 1.8.1", "hyper-util", "ic-admin", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-bn-lib-common", "ic-boundary", "ic-btc-adapter", @@ -20264,7 +20264,7 @@ dependencies = [ "ic-state-manager", "ic-types", "ic-types-cycles", - "ic-utils 0.48.1", + "ic-utils 0.49.0", "ic-validator-http-request-test-utils", "ic-validator-ingress-message", "icp-ledger", @@ -21229,7 +21229,7 @@ dependencies = [ "anyhow", "candid", "clap 4.6.0", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "k256", "rate-limits-api", "regex", @@ -21610,11 +21610,11 @@ dependencies = [ "canister-test", "dfn_candid", "futures", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-system-test-driver", "ic-types", "ic-universal-canister", - "ic-utils 0.48.1", + "ic-utils 0.49.0", "slog", "statesync-test", "tokio", @@ -21636,7 +21636,7 @@ dependencies = [ "clap 4.6.0", "colored 2.2.0", "futures", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-base-types", "ic-nervous-system-agent", "ic-nervous-system-clients", @@ -21955,7 +21955,7 @@ dependencies = [ "bytes", "candid", "hex", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-ed25519 0.6.0", "ic-secp256k1", "ic-types", @@ -21982,7 +21982,7 @@ dependencies = [ "assert-json-diff", "canister-test", "dfn_protobuf", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-canister-client", "ic-ledger-canister-blocks-synchronizer-test-utils", "ic-ledger-core", @@ -22013,7 +22013,7 @@ dependencies = [ "canister-test", "dfn_protobuf", "hex", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-base-types", "ic-canister-client-sender", "ic-icrc1-test-utils", @@ -23581,7 +23581,7 @@ version = "0.9.0" dependencies = [ "anyhow", "candid", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-base-types", "ic-canister-client", "ic-canister-client-sender", @@ -23601,7 +23601,7 @@ dependencies = [ "ic-types", "ic-types-cycles", "ic-universal-canister", - "ic-utils 0.48.1", + "ic-utils 0.49.0", "ic_consensus_system_test_utils", "icp-ledger", "icrc-ledger-agent", @@ -24026,7 +24026,7 @@ dependencies = [ "candid", "colored 2.2.0", "futures", - "ic-agent 0.48.1", + "ic-agent 0.49.0", "ic-base-types", "ic-nervous-system-agent", "ic-nervous-system-clients", diff --git a/Cargo.toml b/Cargo.toml index dc65e71a836c..2495ddb9798a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -683,7 +683,7 @@ hyper-rustls = { version = "0.27.5", default-features = false, features = [ hyper-socks2 = { version = "0.9.1", default-features = false } hyper-util = { version = "0.1.12", features = ["full"] } ic0 = "1.0.0" -ic-agent = { version = "0.48.1", features = ["pem"] } +ic-agent = { version = "0.49.0", features = ["pem"] } ic-bn-lib = { version = "0.2.3", features = ["acme-alpn"] } ic-bn-lib-common = { version = "0.2.2" } ic-btc-interface = "0.4.0" @@ -698,13 +698,13 @@ ic-certification = "3" ic-doge-interface = "0.3.0" ic-gateway = { git = "https://github.com/dfinity/ic-gateway", rev = "3e698972422be07776bf888666285b7b3f7c984e", default-features = false } ic-http-certification = "3.0.3" -ic-identity-hsm = { version = "0.48.1" } +ic-identity-hsm = { version = "0.49.0" } ic-management-canister-types = "0.8.0" ic-response-verification = "3.1.0" ic-sha3 = "1.0.0" ic-stable-structures = "0.6.8" -ic-transport-types = { version = "0.48.1" } -ic-utils = { version = "0.48.1", features = ["raw"] } +ic-transport-types = { version = "0.49.0" } +ic-utils = { version = "0.49.0", features = ["raw"] } ic-vetkeys = "0.7.0" ic-xrc-types = "1.2.0" ic_bls12_381 = { version = "0.10.1", default-features = false, features = [ diff --git a/bazel/rust.MODULE.bazel b/bazel/rust.MODULE.bazel index 38d6b161bdb6..c60ac45cbb55 100644 --- a/bazel/rust.MODULE.bazel +++ b/bazel/rust.MODULE.bazel @@ -681,7 +681,7 @@ crate.spec( "pem", ], package = "ic-agent", - version = "^0.48.1", + version = "^0.49.0", ) crate.spec( features = [ @@ -771,7 +771,7 @@ crate.spec( ) crate.spec( package = "ic-identity-hsm", - version = "^0.48.1", + version = "^0.49.0", ) crate.spec( package = "ic-metrics-encoder", @@ -819,12 +819,12 @@ crate.spec( ) crate.spec( package = "ic-transport-types", - version = "^0.48.1", + version = "^0.49.0", ) crate.spec( features = ["raw"], package = "ic-utils", - version = "^0.48.1", + version = "^0.49.0", ) crate.spec( default_features = False, diff --git a/rs/pocket_ic_server/tests/test.rs b/rs/pocket_ic_server/tests/test.rs index aa1b560c9bd1..7be06bda73f0 100644 --- a/rs/pocket_ic_server/tests/test.rs +++ b/rs/pocket_ic_server/tests/test.rs @@ -1014,6 +1014,8 @@ fn test_query_stats_live() { let query_stats = ic00 .canister_status(&canister_id) + .as_update() + .call() .await .unwrap() .0 @@ -1034,6 +1036,8 @@ fn test_query_stats_live() { loop { let current_query_stats = ic00 .canister_status(&canister_id) + .as_update() + .call() .await .unwrap() .0 diff --git a/rs/tests/ckbtc/src/adapter.rs b/rs/tests/ckbtc/src/adapter.rs index 758f1a96b79c..0112a72db454 100644 --- a/rs/tests/ckbtc/src/adapter.rs +++ b/rs/tests/ckbtc/src/adapter.rs @@ -38,7 +38,12 @@ impl<'a, T: IcRpcClientType> AdapterProxy<'a, T> { let mgr = ManagementCanister::create(agent); - match mgr.canister_status(&bitcoin_principal).await { + match mgr + .canister_status(&bitcoin_principal) + .as_update() + .call() + .await + { Ok((status,)) => { if status.status != CanisterStatus::Running { panic!("Message canister in unexpected status"); diff --git a/rs/tests/driver/src/util.rs b/rs/tests/driver/src/util.rs index 8fdc56598598..9435bc73a697 100644 --- a/rs/tests/driver/src/util.rs +++ b/rs/tests/driver/src/util.rs @@ -55,7 +55,7 @@ use ic_types::{ use ic_types_cycles::Cycles; use ic_universal_canister::{call_args, wasm as universal_canister_argument_builder}; use ic_utils::{ - call::{AsyncCall, SyncCall}, + call::SyncCall, interfaces::{ ManagementCanister, management_canister::{CanisterLogRecord, FetchCanisterLogsArgs}, @@ -1315,7 +1315,8 @@ pub async fn get_balance(canister_id: &Principal, agent: &Agent) -> u128 { let mgr = ManagementCanister::create(agent); let canister_status = mgr .canister_status(canister_id) - .call_and_wait() + .as_update() + .call() .await .unwrap_or_else(|err| panic!("Could not get canister status: {err}")) .0; @@ -1489,7 +1490,8 @@ pub fn to_principal_id(principal: &Principal) -> PrincipalId { pub async fn agent_observes_canister_module(agent: &Agent, canister_id: &Principal) -> bool { ManagementCanister::create(agent) .canister_status(canister_id) - .call_and_wait() + .as_update() + .call() .await .is_ok_and(|s| s.0.module_hash.is_some()) } diff --git a/rs/tests/execution/canister_migration_test.rs b/rs/tests/execution/canister_migration_test.rs index 6321fb63997d..37f1b72b48e3 100644 --- a/rs/tests/execution/canister_migration_test.rs +++ b/rs/tests/execution/canister_migration_test.rs @@ -125,7 +125,8 @@ async fn add_controller( ) { let (status_result,) = management_canister .canister_status(&canister.canister_id()) - .call_and_wait() + .as_update() + .call() .await .expect("Failed to query canister controllers."); diff --git a/rs/tests/execution/general_execution_tests/canister_lifecycle.rs b/rs/tests/execution/general_execution_tests/canister_lifecycle.rs index 34702283693a..68f3d69cfbb9 100644 --- a/rs/tests/execution/general_execution_tests/canister_lifecycle.rs +++ b/rs/tests/execution/general_execution_tests/canister_lifecycle.rs @@ -124,7 +124,8 @@ pub fn update_settings_of_frozen_canister(env: TestEnv) { // Construct large `UpdateSettings` argument. let mut controllers = mgr .canister_status(&canister.canister_id()) - .call_and_wait() + .as_update() + .call() .await .unwrap() .0 @@ -190,7 +191,8 @@ pub fn update_settings_of_frozen_canister(env: TestEnv) { let balance_before = mgr .canister_status(&canister.canister_id()) - .call_and_wait() + .as_update() + .call() .await .unwrap() .0 @@ -209,7 +211,8 @@ pub fn update_settings_of_frozen_canister(env: TestEnv) { let balance_after = mgr .canister_status(&canister.canister_id()) - .call_and_wait() + .as_update() + .call() .await .unwrap() .0 @@ -354,8 +357,8 @@ pub fn update_settings_multiple_controllers(env: TestEnv) { logger, "Assert that the user cannot access canister C's status." ); - assert_http_submit_fails( - mgr.canister_status(&canister_c).call().await, + assert_reject( + mgr.canister_status(&canister_c).as_update().call().await, RejectCode::CanisterError, ); @@ -400,7 +403,8 @@ pub fn update_settings_multiple_controllers(env: TestEnv) { // `user` can now fetch the status too. mgr.canister_status(&canister_c) - .call_and_wait() + .as_update() + .call() .await .unwrap(); @@ -420,8 +424,8 @@ pub fn update_settings_multiple_controllers(env: TestEnv) { logger, "Assert that the user can no longer access canister C's status." ); - assert_http_submit_fails( - mgr.canister_status(&canister_c).call().await, + assert_reject( + mgr.canister_status(&canister_c).as_update().call().await, RejectCode::CanisterError, ); @@ -650,8 +654,9 @@ pub fn managing_a_canister_with_wrong_controller_fails(env: TestEnv) { // Nor does fetching the status. info!(logger, "Asserting that fetching the canister status fails."); - assert_http_submit_fails( + assert_reject( mgr.canister_status(&wallet_canister.canister_id()) + .as_update() .call() .await, RejectCode::CanisterError, diff --git a/rs/tests/query_stats/lib/src/aggregation.rs b/rs/tests/query_stats/lib/src/aggregation.rs index d6ad65a6b486..422c6224ebb1 100644 --- a/rs/tests/query_stats/lib/src/aggregation.rs +++ b/rs/tests/query_stats/lib/src/aggregation.rs @@ -26,7 +26,7 @@ use ic_system_test_driver::{ }, util::{UniversalCanister, block_on}, }; -use ic_utils::{call::AsyncCall, interfaces::ManagementCanister}; +use ic_utils::interfaces::ManagementCanister; use slog::info; use std::{ops::Range, time::Duration}; @@ -101,7 +101,8 @@ fn query_stats_fault_tolerance( let query_stats = ManagementCanister::create(agents.first().unwrap()) .canister_status(&uc_id) - .call_and_wait() + .as_update() + .call() .await .unwrap() .0 From fc0cd91143b597abe636633b7d3ce58dc0f99524 Mon Sep 17 00:00:00 2001 From: Martin Raszyk Date: Tue, 14 Jul 2026 10:52:03 +0000 Subject: [PATCH 4/4] docs: clarify why the consensus upgrade test calls the management canister directly The previous comment said `ic_utils` depends on an *older* `ic-management-canister-types`. It actually depends on the same 0.8.0 version from crates.io, which Cargo treats as a distinct crate from this workspace's local path copy, so the `TakeCanisterSnapshotArgs` types don't unify. Co-Authored-By: Claude Opus 4.8 (1M context) --- rs/tests/consensus/upgrade/common.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/rs/tests/consensus/upgrade/common.rs b/rs/tests/consensus/upgrade/common.rs index 7a2f84db0d43..9beb3fa2917e 100644 --- a/rs/tests/consensus/upgrade/common.rs +++ b/rs/tests/consensus/upgrade/common.rs @@ -184,8 +184,10 @@ pub fn upgrade( sender_canister_version: None, }; // Call the management canister directly instead of via `ic_utils`'s typed - // helper: `ic_utils` still depends on an older `ic-management-canister-types`, - // so its `take_canister_snapshot` expects an incompatible argument type. + // helper: `ic_utils` pulls `ic-management-canister-types` from crates.io, which + // Cargo treats as a distinct crate from this workspace's local copy (same 0.8.0 + // version), so its `take_canister_snapshot` expects an incompatible + // `TakeCanisterSnapshotArgs` type. agent .update(&Principal::management_canister(), "take_canister_snapshot") .with_arg(Encode!(&snapshot_args).unwrap())