diff --git a/Cargo.Bazel.json.lock b/Cargo.Bazel.json.lock index 9b2d0af94dd9..21db9050ac33 100644 --- a/Cargo.Bazel.json.lock +++ b/Cargo.Bazel.json.lock @@ -1,5 +1,5 @@ { - "checksum": "002a6f8c7727dd5f5908a0b3bf80fa07962dd87a8c53b401b980893e0c41acfc", + "checksum": "586ceae93625bd8a14800a29bdca5c14a70db08ed87cdb138acbe1acaeb6b80c", "crates": { "abnf 0.12.0": { "name": "abnf", @@ -329,7 +329,7 @@ "target": "encoding_rs" }, { - "id": "flate2 1.0.31", + "id": "flate2 1.1.2", "target": "flate2" }, { @@ -537,7 +537,7 @@ "target": "regex_lite" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -973,7 +973,7 @@ "target": "regex_lite" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -1357,6 +1357,46 @@ ], "license_file": "LICENSE-0BSD" }, + "adler2 2.0.1": { + "name": "adler2", + "version": "2.0.1", + "package_url": "https://github.com/oyvindln/adler2", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/adler2/2.0.1/download", + "sha256": "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" + } + }, + "targets": [ + { + "Library": { + "crate_name": "adler2", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "adler2", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "edition": "2021", + "version": "2.0.1" + }, + "license": "0BSD OR MIT OR Apache-2.0", + "license_ids": [ + "0BSD", + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-0BSD" + }, "adler32 1.2.0": { "name": "adler32", "version": "1.2.0", @@ -1929,7 +1969,7 @@ "target": "schemars" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -3094,7 +3134,7 @@ "target": "percent_encoding" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -3192,7 +3232,7 @@ "target": "quote" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -3693,7 +3733,7 @@ "deps": { "common": [ { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -4029,7 +4069,7 @@ "target": "brotli" }, { - "id": "flate2 1.0.31", + "id": "flate2 1.1.2", "target": "flate2" }, { @@ -5159,7 +5199,7 @@ "target": "pin_project_lite" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -5340,7 +5380,7 @@ "target": "pin_project_lite" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -5700,7 +5740,7 @@ "target": "pin_project_lite" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -6272,7 +6312,7 @@ "target": "object" }, { - "id": "rustc-demangle 0.1.23", + "id": "rustc-demangle 0.1.26", "target": "rustc_demangle" } ], @@ -6813,7 +6853,7 @@ "deps": { "common": [ { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -7040,7 +7080,7 @@ "deps": { "common": [ { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -8067,7 +8107,7 @@ "target": "secp256k1" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -8187,7 +8227,7 @@ "target": "secp256k1" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde", "alias": "actual_serde" } @@ -8348,7 +8388,7 @@ "target": "secp256k1" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde", "alias": "actual_serde" } @@ -8457,7 +8497,7 @@ "target": "build_script_build" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -8651,7 +8691,7 @@ "alias": "internals" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -8705,7 +8745,7 @@ "deps": { "common": [ { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -8765,7 +8805,7 @@ "alias": "internals" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -8831,7 +8871,7 @@ "alias": "hex" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -8897,7 +8937,7 @@ "target": "log" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -8959,7 +8999,7 @@ "target": "bitcoin" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -10602,11 +10642,11 @@ "deps": { "common": [ { - "id": "semver 1.0.22", + "id": "semver 1.0.26", "target": "semver" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -10922,7 +10962,7 @@ "deps": { "common": [ { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -11245,7 +11285,7 @@ "deps": { "common": [ { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -11846,7 +11886,7 @@ "target": "build_script_build" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -11873,14 +11913,14 @@ ], "license_file": "LICENSE-APACHE" }, - "canbench 0.1.15": { + "canbench 0.2.1": { "name": "canbench", - "version": "0.1.15", + "version": "0.2.1", "package_url": "https://github.com/dfinity/canbench", "repository": { "Http": { - "url": "https://static.crates.io/crates/canbench/0.1.15/download", - "sha256": "5c346cb41bf01bac3c8494eef82943d4dc49267981c8bcb548ba8f4cc69f3161" + "url": "https://static.crates.io/crates/canbench/0.2.1/download", + "sha256": "567825a16fade4532526ab697d8ea816895e5c6264472f92a113b809d3630482" } }, "targets": [ @@ -11917,23 +11957,23 @@ "deps": { "common": [ { - "id": "canbench-rs 0.1.15", + "id": "canbench-rs 0.2.1", "target": "canbench_rs" }, { - "id": "candid 0.10.13", + "id": "candid 0.10.17", "target": "candid" }, { - "id": "clap 4.5.20", + "id": "clap 4.5.45", "target": "clap" }, { - "id": "colored 2.0.4", + "id": "colored 3.0.0", "target": "colored" }, { - "id": "flate2 1.0.31", + "id": "flate2 1.1.2", "target": "flate2" }, { @@ -11945,23 +11985,23 @@ "target": "inferno" }, { - "id": "pocket-ic 9.0.1", + "id": "pocket-ic 9.0.0", "target": "pocket_ic" }, { - "id": "reqwest 0.11.27", + "id": "reqwest 0.12.23", "target": "reqwest" }, { - "id": "rustc-demangle 0.1.23", + "id": "rustc-demangle 0.1.26", "target": "rustc_demangle" }, { - "id": "semver 1.0.22", + "id": "semver 1.0.26", "target": "semver" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -11969,7 +12009,7 @@ "target": "serde_yaml" }, { - "id": "sha256 1.5.0", + "id": "sha256 1.6.0", "target": "sha256" }, { @@ -11981,14 +12021,14 @@ "target": "walrus" }, { - "id": "wasmparser 0.119.0", + "id": "wasmparser 0.235.0", "target": "wasmparser" } ], "selects": {} }, "edition": "2021", - "version": "0.1.15" + "version": "0.2.1" }, "license": "Apache-2.0", "license_ids": [ @@ -11996,14 +12036,14 @@ ], "license_file": null }, - "canbench-rs 0.1.15": { + "canbench-rs 0.2.1": { "name": "canbench-rs", - "version": "0.1.15", + "version": "0.2.1", "package_url": "https://github.com/dfinity/canbench", "repository": { "Http": { - "url": "https://static.crates.io/crates/canbench-rs/0.1.15/download", - "sha256": "c1c560e37bb75c6900e18e7d37174efaff09e266d138d9926e34f489d9d2f6a0" + "url": "https://static.crates.io/crates/canbench-rs/0.2.1/download", + "sha256": "ce6a55bed4e45003d254afc26e86cbc47a808d0db83f1a1c03f535a39f8b38ee" } }, "targets": [ @@ -12028,15 +12068,15 @@ "deps": { "common": [ { - "id": "candid 0.10.13", + "id": "candid 0.10.17", "target": "candid" }, { - "id": "ic-cdk 0.17.2", + "id": "ic-cdk 0.18.6", "target": "ic_cdk" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -12046,13 +12086,13 @@ "proc_macro_deps": { "common": [ { - "id": "canbench-rs-macros 0.1.15", + "id": "canbench-rs-macros 0.2.1", "target": "canbench_rs_macros" } ], "selects": {} }, - "version": "0.1.15" + "version": "0.2.1" }, "license": "Apache-2.0", "license_ids": [ @@ -12060,14 +12100,14 @@ ], "license_file": null }, - "canbench-rs-macros 0.1.15": { + "canbench-rs-macros 0.2.1": { "name": "canbench-rs-macros", - "version": "0.1.15", + "version": "0.2.1", "package_url": "https://github.com/dfinity/canbench", "repository": { "Http": { - "url": "https://static.crates.io/crates/canbench-rs-macros/0.1.15/download", - "sha256": "866a310ae95dfd273c2f1d17c8382d0d893c35851e9252cca98bd3a80a7e5635" + "url": "https://static.crates.io/crates/canbench-rs-macros/0.2.1/download", + "sha256": "5369e35db0ccebbf4a15b05533c23320f84ca1bee4179874eb28f18335ebff60" } }, "targets": [ @@ -12107,7 +12147,7 @@ "selects": {} }, "edition": "2021", - "version": "0.1.15" + "version": "0.2.1" }, "license": "Apache-2.0", "license_ids": [ @@ -12115,14 +12155,14 @@ ], "license_file": null }, - "candid 0.10.13": { + "candid 0.10.17": { "name": "candid", - "version": "0.10.13", + "version": "0.10.17", "package_url": "https://github.com/dfinity/candid", "repository": { "Http": { - "url": "https://static.crates.io/crates/candid/0.10.13/download", - "sha256": "a253bab4a9be502c82332b60cbeee6202ad0692834efeec95fae9f29db33d692" + "url": "https://static.crates.io/crates/candid/0.10.17/download", + "sha256": "eaac522d18020d5fbc8320ecb12a9b13b2137ae31133da2d42fa256a825507c4" } }, "targets": [ @@ -12194,7 +12234,7 @@ "target": "pretty" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -12219,7 +12259,7 @@ "proc_macro_deps": { "common": [ { - "id": "candid_derive 0.6.6", + "id": "candid_derive 0.10.17", "target": "candid_derive" }, { @@ -12254,7 +12294,7 @@ ] } }, - "version": "0.10.13" + "version": "0.10.17" }, "license": "Apache-2.0", "license_ids": [ @@ -12262,14 +12302,14 @@ ], "license_file": "LICENSE" }, - "candid_derive 0.6.6": { + "candid_derive 0.10.17": { "name": "candid_derive", - "version": "0.6.6", + "version": "0.10.17", "package_url": "https://github.com/dfinity/candid", "repository": { "Http": { - "url": "https://static.crates.io/crates/candid_derive/0.6.6/download", - "sha256": "3de398570c386726e7a59d9887b68763c481477f9a043fb998a2e09d428df1a9" + "url": "https://static.crates.io/crates/candid_derive/0.10.17/download", + "sha256": "8a1b4fddbd462182050989068d53604a91a3d0f117c3c8316c6818023df00add" } }, "targets": [ @@ -12313,7 +12353,7 @@ "selects": {} }, "edition": "2021", - "version": "0.6.6" + "version": "0.10.17" }, "license": "Apache-2.0", "license_ids": [ @@ -12369,7 +12409,7 @@ "target": "anyhow" }, { - "id": "candid 0.10.13", + "id": "candid 0.10.17", "target": "candid" }, { @@ -12478,7 +12518,7 @@ "deps": { "common": [ { - "id": "candid 0.10.13", + "id": "candid 0.10.17", "target": "candid" }, { @@ -12494,7 +12534,7 @@ "target": "regex" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -12613,7 +12653,7 @@ "deps": { "common": [ { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -12675,11 +12715,11 @@ "target": "cargo_platform" }, { - "id": "semver 1.0.22", + "id": "semver 1.0.26", "target": "semver" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -12969,7 +13009,7 @@ "target": "regex_syntax" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -13442,7 +13482,7 @@ "target": "num_traits" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -13596,7 +13636,7 @@ "target": "ciborium_ll" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -14050,14 +14090,14 @@ ], "license_file": "LICENSE-APACHE" }, - "clap 4.5.20": { + "clap 4.5.45": { "name": "clap", - "version": "4.5.20", + "version": "4.5.45", "package_url": "https://github.com/clap-rs/clap", "repository": { "Http": { - "url": "https://static.crates.io/crates/clap/4.5.20/download", - "sha256": "b97f376d85a664d5837dbae44bf546e6477a679ff6610010f17276f686d867e8" + "url": "https://static.crates.io/crates/clap/4.5.45/download", + "sha256": "1fc0e74a703892159f5ae7d3aac52c8e6c392f5ae5f359c70b5881d60aaac318" } }, "targets": [ @@ -14098,7 +14138,7 @@ "deps": { "common": [ { - "id": "clap_builder 4.5.20", + "id": "clap_builder 4.5.44", "target": "clap_builder" } ], @@ -14108,13 +14148,13 @@ "proc_macro_deps": { "common": [ { - "id": "clap_derive 4.5.18", + "id": "clap_derive 4.5.45", "target": "clap_derive" } ], "selects": {} }, - "version": "4.5.20" + "version": "4.5.45" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -14123,14 +14163,14 @@ ], "license_file": "LICENSE-APACHE" }, - "clap_builder 4.5.20": { + "clap_builder 4.5.44": { "name": "clap_builder", - "version": "4.5.20", + "version": "4.5.44", "package_url": "https://github.com/clap-rs/clap", "repository": { "Http": { - "url": "https://static.crates.io/crates/clap_builder/4.5.20/download", - "sha256": "19bc80abd44e4bed93ca373a0704ccbd1b710dc5749406201bb018272808dc54" + "url": "https://static.crates.io/crates/clap_builder/4.5.44/download", + "sha256": "b3e7f4214277f3c7aa526a59dd3fbe306a370daee1f8b7b8c987069cd8e888a8" } }, "targets": [ @@ -14177,7 +14217,7 @@ "target": "anstyle" }, { - "id": "clap_lex 0.7.2", + "id": "clap_lex 0.7.5", "target": "clap_lex" }, { @@ -14188,7 +14228,7 @@ "selects": {} }, "edition": "2021", - "version": "4.5.20" + "version": "4.5.44" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -14267,14 +14307,14 @@ ], "license_file": "LICENSE-APACHE" }, - "clap_derive 4.5.18": { + "clap_derive 4.5.45": { "name": "clap_derive", - "version": "4.5.18", + "version": "4.5.45", "package_url": "https://github.com/clap-rs/clap", "repository": { "Http": { - "url": "https://static.crates.io/crates/clap_derive/4.5.18/download", - "sha256": "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab" + "url": "https://static.crates.io/crates/clap_derive/4.5.45/download", + "sha256": "14cb31bb0a7d536caef2639baa7fad459e15c3144efefa6dbd1c84562c4739f6" } }, "targets": [ @@ -14324,7 +14364,7 @@ "selects": {} }, "edition": "2021", - "version": "4.5.18" + "version": "4.5.45" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -14381,14 +14421,14 @@ ], "license_file": "LICENSE-APACHE" }, - "clap_lex 0.7.2": { + "clap_lex 0.7.5": { "name": "clap_lex", - "version": "0.7.2", + "version": "0.7.5", "package_url": "https://github.com/clap-rs/clap", "repository": { "Http": { - "url": "https://static.crates.io/crates/clap_lex/0.7.2/download", - "sha256": "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97" + "url": "https://static.crates.io/crates/clap_lex/0.7.5/download", + "sha256": "b94f61472cee1439c0b966b47e3aca9ae07e45d070759512cd390ea2bebc6675" } }, "targets": [ @@ -14411,7 +14451,7 @@ "**" ], "edition": "2021", - "version": "0.7.2" + "version": "0.7.5" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -14574,7 +14614,7 @@ "target": "reqwest" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -14838,6 +14878,55 @@ ], "license_file": "LICENSE" }, + "colored 3.0.0": { + "name": "colored", + "version": "3.0.0", + "package_url": "https://github.com/mackwic/colored", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/colored/3.0.0/download", + "sha256": "fde0e0ec90c9dfb3b4b1a0891a7dcd0e2bffde2f7efed5fe7c9bb00e5bfb915e" + } + }, + "targets": [ + { + "Library": { + "crate_name": "colored", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "colored", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [], + "selects": { + "cfg(windows)": [ + { + "id": "windows-sys 0.59.0", + "target": "windows_sys" + } + ] + } + }, + "edition": "2021", + "version": "3.0.0" + }, + "license": "MPL-2.0", + "license_ids": [ + "MPL-2.0" + ], + "license_file": "LICENSE" + }, "combine 4.6.7": { "name": "combine", "version": "4.6.7", @@ -14928,7 +15017,7 @@ "target": "pretty_assertions" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -15935,7 +16024,7 @@ "target": "log" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -15994,7 +16083,7 @@ "target": "bitcoin_private" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -16341,7 +16430,7 @@ "deps": { "common": [ { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -16351,7 +16440,7 @@ "proc_macro_deps": { "common": [ { - "id": "serde_derive 1.0.217", + "id": "serde_derive 1.0.219", "target": "serde_derive" } ], @@ -16725,7 +16814,7 @@ "target": "cranelift_bitset" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -16735,7 +16824,7 @@ "proc_macro_deps": { "common": [ { - "id": "serde_derive 1.0.217", + "id": "serde_derive 1.0.219", "target": "serde_derive" } ], @@ -17221,7 +17310,7 @@ "target": "ciborium" }, { - "id": "clap 4.5.20", + "id": "clap 4.5.45", "target": "clap" }, { @@ -17265,7 +17354,7 @@ "target": "regex" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -17291,7 +17380,7 @@ "proc_macro_deps": { "common": [ { - "id": "serde_derive 1.0.217", + "id": "serde_derive 1.0.219", "target": "serde_derive" } ], @@ -18397,7 +18486,7 @@ "target": "ryu" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -20092,7 +20181,7 @@ "target": "powerfmt" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -20452,11 +20541,11 @@ "target": "retry" }, { - "id": "semver 1.0.22", + "id": "semver 1.0.26", "target": "semver" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -20482,7 +20571,7 @@ "target": "devicemapper_sys" }, { - "id": "semver 1.0.22", + "id": "semver 1.0.26", "target": "semver" } ], @@ -20634,11 +20723,11 @@ "target": "bytes" }, { - "id": "candid 0.10.13", + "id": "candid 0.10.17", "target": "candid" }, { - "id": "clap 4.5.20", + "id": "clap 4.5.45", "target": "clap" }, { @@ -20654,7 +20743,7 @@ "target": "dunce" }, { - "id": "flate2 1.0.31", + "id": "flate2 1.1.2", "target": "flate2" }, { @@ -20698,7 +20787,7 @@ "target": "lazy_static" }, { - "id": "reqwest 0.12.15", + "id": "reqwest 0.12.23", "target": "reqwest" }, { @@ -20714,11 +20803,11 @@ "target": "sec1" }, { - "id": "semver 1.0.22", + "id": "semver 1.0.26", "target": "semver" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -21232,15 +21321,15 @@ "target": "cached" }, { - "id": "canbench 0.1.15", + "id": "canbench 0.2.1", "target": "canbench" }, { - "id": "canbench-rs 0.1.15", + "id": "canbench-rs 0.2.1", "target": "canbench_rs" }, { - "id": "candid 0.10.13", + "id": "candid 0.10.17", "target": "candid" }, { @@ -21285,7 +21374,7 @@ "target": "cidr" }, { - "id": "clap 4.5.20", + "id": "clap 4.5.45", "target": "clap" }, { @@ -21405,7 +21494,7 @@ "target": "ff" }, { - "id": "flate2 1.0.31", + "id": "flate2 1.1.2", "target": "flate2" }, { @@ -21525,7 +21614,7 @@ "target": "ic_canister_log" }, { - "id": "ic-canister-sig-creation 1.1.0", + "id": "ic-canister-sig-creation 1.3.0", "target": "ic_canister_sig_creation" }, { @@ -21533,16 +21622,15 @@ "target": "ic_cbor" }, { - "id": "ic-cdk 0.17.2", + "id": "ic-cdk 0.18.6", "target": "ic_cdk" }, { - "id": "ic-cdk 0.18.0-alpha.2", - "target": "ic_cdk", - "alias": "ic_cdk_next" + "id": "ic-cdk-executor 1.0.2", + "target": "ic_cdk_executor" }, { - "id": "ic-cdk-timers 0.11.0", + "id": "ic-cdk-timers 0.12.2", "target": "ic_cdk_timers" }, { @@ -21574,7 +21662,7 @@ "target": "ic_identity_hsm" }, { - "id": "ic-management-canister-types 0.3.1", + "id": "ic-management-canister-types 0.3.2", "target": "ic_management_canister_types" }, { @@ -21610,7 +21698,7 @@ "target": "ic_verify_bls_signature" }, { - "id": "ic-vetkeys 0.1.0", + "id": "ic-vetkeys 0.4.0", "target": "ic_vetkeys" }, { @@ -21991,7 +22079,7 @@ "target": "regex" }, { - "id": "reqwest 0.12.15", + "id": "reqwest 0.12.23", "target": "reqwest" }, { @@ -22043,7 +22131,7 @@ "target": "rust_decimal" }, { - "id": "rustc-demangle 0.1.23", + "id": "rustc-demangle 0.1.26", "target": "rustc_demangle" }, { @@ -22083,11 +22171,11 @@ "target": "secp256k1" }, { - "id": "semver 1.0.22", + "id": "semver 1.0.26", "target": "semver" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -22328,7 +22416,7 @@ "target": "tower" }, { - "id": "tower-http 0.6.4", + "id": "tower-http 0.6.6", "target": "tower_http" }, { @@ -23385,7 +23473,7 @@ "deps": { "common": [ { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -23714,7 +23802,7 @@ "target": "rand_core" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -25069,7 +25157,7 @@ "target": "build_script_build" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -25397,7 +25485,7 @@ "target": "once_cell" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -25490,7 +25578,7 @@ "target": "regex" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -25778,7 +25866,7 @@ "target": "rlp" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -25859,7 +25947,7 @@ "deps": { "common": [ { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -26231,7 +26319,7 @@ "deps": { "common": [ { - "id": "candid 0.10.13", + "id": "candid 0.10.17", "target": "candid" }, { @@ -26247,7 +26335,7 @@ "target": "ic_error_types" }, { - "id": "ic-management-canister-types 0.3.1", + "id": "ic-management-canister-types 0.3.2", "target": "ic_management_canister_types" }, { @@ -26255,7 +26343,7 @@ "target": "num_bigint" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -27186,14 +27274,14 @@ ], "license_file": "LICENSE" }, - "flate2 1.0.31": { + "flate2 1.1.2": { "name": "flate2", - "version": "1.0.31", + "version": "1.1.2", "package_url": "https://github.com/rust-lang/flate2-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/flate2/1.0.31/download", - "sha256": "7f211bbe8e69bbd0cfdea405084f128ae8b4aaa6b0b522fc8f2b009084797920" + "url": "https://static.crates.io/crates/flate2/1.1.2/download", + "sha256": "4a3d7db9596fecd151c5f638c0ee5d5bd487b6e0ea232e5dc96d5250f6f94b1d" } }, "targets": [ @@ -27231,14 +27319,14 @@ "target": "crc32fast" }, { - "id": "miniz_oxide 0.7.1", + "id": "miniz_oxide 0.8.9", "target": "miniz_oxide" } ], "selects": {} }, "edition": "2018", - "version": "1.0.31" + "version": "1.1.2" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -27830,7 +27918,7 @@ "deps": { "common": [ { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -30360,7 +30448,7 @@ "target": "pest" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -30488,7 +30576,7 @@ "target": "allocator_api2" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -30547,7 +30635,7 @@ "target": "foldhash" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -31202,7 +31290,7 @@ "deps": { "common": [ { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -31311,6 +31399,45 @@ ], "license_file": "LICENSE-APACHE" }, + "hex-literal 1.0.0": { + "name": "hex-literal", + "version": "1.0.0", + "package_url": "https://github.com/RustCrypto/utils", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/hex-literal/1.0.0/download", + "sha256": "bcaaec4551594c969335c98c903c1397853d4198408ea609190f420500f6be71" + } + }, + "targets": [ + { + "Library": { + "crate_name": "hex_literal", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "hex_literal", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "edition": "2024", + "version": "1.0.0" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, "hex_lit 0.1.1": { "name": "hex_lit", "version": "0.1.1", @@ -31419,126 +31546,6 @@ ], "license_file": null }, - "hickory-proto 0.24.1": { - "name": "hickory-proto", - "version": "0.24.1", - "package_url": "https://github.com/hickory-dns/hickory-dns", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/hickory-proto/0.24.1/download", - "sha256": "07698b8420e2f0d6447a436ba999ec85d8fbf2a398bbd737b82cac4a2e96e512" - } - }, - "targets": [ - { - "Library": { - "crate_name": "hickory_proto", - "crate_root": "src/lib.rs", - "srcs": { - "allow_empty": true, - "include": [ - "**/*.rs" - ] - } - } - } - ], - "library_target_name": "hickory_proto", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "crate_features": { - "common": [ - "tokio", - "tokio-runtime" - ], - "selects": {} - }, - "deps": { - "common": [ - { - "id": "cfg-if 1.0.0", - "target": "cfg_if" - }, - { - "id": "data-encoding 2.4.0", - "target": "data_encoding" - }, - { - "id": "futures-channel 0.3.31", - "target": "futures_channel" - }, - { - "id": "futures-io 0.3.31", - "target": "futures_io" - }, - { - "id": "futures-util 0.3.31", - "target": "futures_util" - }, - { - "id": "idna 0.4.0", - "target": "idna" - }, - { - "id": "ipnet 2.10.1", - "target": "ipnet" - }, - { - "id": "once_cell 1.21.3", - "target": "once_cell" - }, - { - "id": "rand 0.8.5", - "target": "rand" - }, - { - "id": "thiserror 1.0.68", - "target": "thiserror" - }, - { - "id": "tinyvec 1.6.0", - "target": "tinyvec" - }, - { - "id": "tokio 1.45.0", - "target": "tokio" - }, - { - "id": "tracing 0.1.41", - "target": "tracing" - }, - { - "id": "url 2.5.4", - "target": "url" - } - ], - "selects": {} - }, - "edition": "2021", - "proc_macro_deps": { - "common": [ - { - "id": "async-trait 0.1.83", - "target": "async_trait" - }, - { - "id": "enum-as-inner 0.6.0", - "target": "enum_as_inner" - } - ], - "selects": {} - }, - "version": "0.24.1" - }, - "license": "MIT OR Apache-2.0", - "license_ids": [ - "Apache-2.0", - "MIT" - ], - "license_file": "LICENSE-APACHE" - }, "hickory-proto 0.25.2": { "name": "hickory-proto", "version": "0.25.2", @@ -31708,117 +31715,14 @@ ], "license_file": "LICENSE-APACHE" }, - "hickory-resolver 0.24.4": { + "hickory-resolver 0.25.2": { "name": "hickory-resolver", - "version": "0.24.4", + "version": "0.25.2", "package_url": "https://github.com/hickory-dns/hickory-dns", "repository": { "Http": { - "url": "https://static.crates.io/crates/hickory-resolver/0.24.4/download", - "sha256": "cbb117a1ca520e111743ab2f6688eddee69db4e0ea242545a604dce8a66fd22e" - } - }, - "targets": [ - { - "Library": { - "crate_name": "hickory_resolver", - "crate_root": "src/lib.rs", - "srcs": { - "allow_empty": true, - "include": [ - "**/*.rs" - ] - } - } - } - ], - "library_target_name": "hickory_resolver", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "crate_features": { - "common": [ - "default", - "ipconfig", - "resolv-conf", - "system-config", - "tokio", - "tokio-runtime" - ], - "selects": {} - }, - "deps": { - "common": [ - { - "id": "cfg-if 1.0.0", - "target": "cfg_if" - }, - { - "id": "futures-util 0.3.31", - "target": "futures_util" - }, - { - "id": "hickory-proto 0.24.1", - "target": "hickory_proto" - }, - { - "id": "lru-cache 0.1.2", - "target": "lru_cache" - }, - { - "id": "once_cell 1.21.3", - "target": "once_cell" - }, - { - "id": "parking_lot 0.12.1", - "target": "parking_lot" - }, - { - "id": "rand 0.8.5", - "target": "rand" - }, - { - "id": "resolv-conf 0.7.0", - "target": "resolv_conf" - }, - { - "id": "smallvec 1.13.2", - "target": "smallvec" - }, - { - "id": "thiserror 1.0.68", - "target": "thiserror" - }, - { - "id": "tokio 1.45.0", - "target": "tokio" - }, - { - "id": "tracing 0.1.41", - "target": "tracing" - } - ], - "selects": {} - }, - "edition": "2021", - "version": "0.24.4" - }, - "license": "MIT OR Apache-2.0", - "license_ids": [ - "Apache-2.0", - "MIT" - ], - "license_file": "LICENSE-APACHE" - }, - "hickory-resolver 0.25.2": { - "name": "hickory-resolver", - "version": "0.25.2", - "package_url": "https://github.com/hickory-dns/hickory-dns", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/hickory-resolver/0.25.2/download", - "sha256": "dc62a9a99b0bfb44d2ab95a7208ac952d31060efc16241c87eaf36406fecf87a" + "url": "https://static.crates.io/crates/hickory-resolver/0.25.2/download", + "sha256": "dc62a9a99b0bfb44d2ab95a7208ac952d31060efc16241c87eaf36406fecf87a" } }, "targets": [ @@ -32947,7 +32851,7 @@ "target": "humantime" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -33704,7 +33608,24 @@ "tokio", "tracing" ], - "selects": {} + "selects": { + "aarch64-apple-darwin": [ + "client-proxy", + "client-proxy-system" + ], + "aarch64-unknown-linux-gnu": [ + "client-proxy", + "client-proxy-system" + ], + "x86_64-apple-darwin": [ + "client-proxy", + "client-proxy-system" + ], + "x86_64-unknown-linux-gnu": [ + "client-proxy", + "client-proxy-system" + ] + } }, "deps": { "common": [ @@ -33757,7 +33678,72 @@ "target": "tracing" } ], - "selects": {} + "selects": { + "aarch64-apple-darwin": [ + { + "id": "base64 0.22.1", + "target": "base64" + }, + { + "id": "ipnet 2.10.1", + "target": "ipnet" + }, + { + "id": "percent-encoding 2.3.1", + "target": "percent_encoding" + }, + { + "id": "system-configuration 0.6.1", + "target": "system_configuration" + } + ], + "aarch64-unknown-linux-gnu": [ + { + "id": "base64 0.22.1", + "target": "base64" + }, + { + "id": "ipnet 2.10.1", + "target": "ipnet" + }, + { + "id": "percent-encoding 2.3.1", + "target": "percent_encoding" + } + ], + "x86_64-apple-darwin": [ + { + "id": "base64 0.22.1", + "target": "base64" + }, + { + "id": "ipnet 2.10.1", + "target": "ipnet" + }, + { + "id": "percent-encoding 2.3.1", + "target": "percent_encoding" + }, + { + "id": "system-configuration 0.6.1", + "target": "system_configuration" + } + ], + "x86_64-unknown-linux-gnu": [ + { + "id": "base64 0.22.1", + "target": "base64" + }, + { + "id": "ipnet 2.10.1", + "target": "ipnet" + }, + { + "id": "percent-encoding 2.3.1", + "target": "percent_encoding" + } + ] + } }, "edition": "2021", "version": "0.1.12" @@ -33997,7 +33983,7 @@ "target": "cached" }, { - "id": "candid 0.10.13", + "id": "candid 0.10.17", "target": "candid" }, { @@ -34073,7 +34059,7 @@ "target": "rangemap" }, { - "id": "reqwest 0.12.15", + "id": "reqwest 0.12.23", "target": "reqwest" }, { @@ -34085,7 +34071,7 @@ "target": "sec1" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -34221,7 +34207,7 @@ "target": "bytes" }, { - "id": "candid 0.10.13", + "id": "candid 0.10.17", "target": "candid" }, { @@ -34229,7 +34215,7 @@ "target": "chacha20poly1305" }, { - "id": "clap 4.5.20", + "id": "clap 4.5.45", "target": "clap" }, { @@ -34305,7 +34291,7 @@ "target": "rand" }, { - "id": "reqwest 0.12.15", + "id": "reqwest 0.12.23", "target": "reqwest" }, { @@ -34329,7 +34315,7 @@ "target": "scopeguard" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -34463,11 +34449,11 @@ "deps": { "common": [ { - "id": "candid 0.10.13", + "id": "candid 0.10.17", "target": "candid" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -34518,7 +34504,7 @@ "deps": { "common": [ { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -34533,16 +34519,14 @@ ], "license_file": "LICENSE" }, - "ic-canister-sig-creation 1.1.0": { + "ic-canister-sig-creation 1.3.0": { "name": "ic-canister-sig-creation", - "version": "1.1.0", + "version": "1.3.0", "package_url": "https://github.com/dfinity/ic-canister-sig-creation", "repository": { - "Git": { - "remote": "https://github.com/dfinity/ic-canister-sig-creation", - "commitish": { - "Rev": "7f9e931954637526295269155881207f6c832d6d" - } + "Http": { + "url": "https://static.crates.io/crates/ic-canister-sig-creation/1.3.0/download", + "sha256": "e4de4a335e8f13986a39e8d1c02aa6999c7aa5736bc0083dacafe3a99b26f3a2" } }, "targets": [ @@ -34567,7 +34551,7 @@ "deps": { "common": [ { - "id": "candid 0.10.13", + "id": "candid 0.10.17", "target": "candid" }, { @@ -34575,7 +34559,7 @@ "target": "hex" }, { - "id": "ic-cdk 0.17.2", + "id": "ic-cdk 0.18.6", "target": "ic_cdk" }, { @@ -34591,7 +34575,7 @@ "target": "lazy_static" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -34614,7 +34598,7 @@ "selects": {} }, "edition": "2021", - "version": "1.1.0" + "version": "1.3.0" }, "license": "Apache-2.0", "license_ids": [ @@ -34654,7 +34638,7 @@ "deps": { "common": [ { - "id": "candid 0.10.13", + "id": "candid 0.10.17", "target": "candid" }, { @@ -34685,14 +34669,14 @@ ], "license_file": null }, - "ic-cdk 0.17.2": { + "ic-cdk 0.18.6": { "name": "ic-cdk", - "version": "0.17.2", + "version": "0.18.6", "package_url": "https://github.com/dfinity/cdk-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/ic-cdk/0.17.2/download", - "sha256": "95a7344f41493cbf591f13ae9f90181076f808a83af799815c3074b19c693d2e" + "url": "https://static.crates.io/crates/ic-cdk/0.18.6/download", + "sha256": "3694c302426834b1300c095b43dee60aaf07264ca07c8f6456fc6b898c99c72f" } }, "targets": [ @@ -34717,95 +34701,27 @@ "deps": { "common": [ { - "id": "candid 0.10.13", + "id": "candid 0.10.17", "target": "candid" }, { - "id": "ic-cdk-executor 0.1.0", + "id": "ic-cdk-executor 1.0.2", "target": "ic_cdk_executor" }, { - "id": "ic0 0.23.0", - "target": "ic0" - }, - { - "id": "serde 1.0.217", - "target": "serde" - }, - { - "id": "serde_bytes 0.11.15", - "target": "serde_bytes" - } - ], - "selects": {} - }, - "edition": "2021", - "proc_macro_deps": { - "common": [ - { - "id": "ic-cdk-macros 0.17.2", - "target": "ic_cdk_macros" - } - ], - "selects": {} - }, - "version": "0.17.2" - }, - "license": "Apache-2.0", - "license_ids": [ - "Apache-2.0" - ], - "license_file": "LICENSE" - }, - "ic-cdk 0.18.0-alpha.2": { - "name": "ic-cdk", - "version": "0.18.0-alpha.2", - "package_url": "https://github.com/dfinity/cdk-rs", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/ic-cdk/0.18.0-alpha.2/download", - "sha256": "3c9c87d961de7d2935a0bf19f4d6afe76f3d508b853ff5267e999beadd7e9286" - } - }, - "targets": [ - { - "Library": { - "crate_name": "ic_cdk", - "crate_root": "src/lib.rs", - "srcs": { - "allow_empty": true, - "include": [ - "**/*.rs" - ] - } - } - } - ], - "library_target_name": "ic_cdk", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "deps": { - "common": [ - { - "id": "candid 0.10.13", - "target": "candid" - }, - { - "id": "ic-error-types 0.1.0", + "id": "ic-error-types 0.2.0", "target": "ic_error_types" }, { - "id": "ic-management-canister-types 0.3.1", + "id": "ic-management-canister-types 0.3.2", "target": "ic_management_canister_types" }, { - "id": "ic0 0.24.0", + "id": "ic0 1.0.0", "target": "ic0" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -34823,17 +34739,17 @@ ], "selects": {} }, - "edition": "2021", + "edition": "2024", "proc_macro_deps": { "common": [ { - "id": "ic-cdk-macros 0.18.0-alpha.2", + "id": "ic-cdk-macros 0.18.6", "target": "ic_cdk_macros" } ], "selects": {} }, - "version": "0.18.0-alpha.2" + "version": "0.18.6" }, "license": "Apache-2.0", "license_ids": [ @@ -34841,14 +34757,14 @@ ], "license_file": "LICENSE" }, - "ic-cdk-executor 0.1.0": { + "ic-cdk-executor 1.0.2": { "name": "ic-cdk-executor", - "version": "0.1.0", + "version": "1.0.2", "package_url": "https://github.com/dfinity/cdk-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/ic-cdk-executor/0.1.0/download", - "sha256": "903057edd3d4ff4b3fe44a64eaee1ceb73f579ba29e3ded372b63d291d7c16c2" + "url": "https://static.crates.io/crates/ic-cdk-executor/1.0.2/download", + "sha256": "99f4ee8930fd2e491177e2eb7fff53ee1c407c13b9582bdc7d6920cf83109a2d" } }, "targets": [ @@ -34885,14 +34801,22 @@ "deps": { "common": [ { - "id": "ic-cdk-executor 0.1.0", + "id": "ic-cdk-executor 1.0.2", "target": "build_script_build" + }, + { + "id": "ic0 1.0.0", + "target": "ic0" + }, + { + "id": "slotmap 1.0.7", + "target": "slotmap" } ], "selects": {} }, - "edition": "2021", - "version": "0.1.0" + "edition": "2024", + "version": "1.0.2" }, "build_script_attrs": { "compile_data_glob": [ @@ -34912,14 +34836,14 @@ ], "license_file": null }, - "ic-cdk-macros 0.17.2": { + "ic-cdk-macros 0.18.6": { "name": "ic-cdk-macros", - "version": "0.17.2", + "version": "0.18.6", "package_url": "https://github.com/dfinity/cdk-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/ic-cdk-macros/0.17.2/download", - "sha256": "84cbaa50fa36d3e0616114becf81faa95a099e0d60948ed6978f30f1c77399fd" + "url": "https://static.crates.io/crates/ic-cdk-macros/0.18.6/download", + "sha256": "b2cd13805284d5f422012c392a132757c74bd1bb2f7baeda2f3fca5cbe3d8ce7" } }, "targets": [ @@ -34944,75 +34868,12 @@ "deps": { "common": [ { - "id": "candid 0.10.13", + "id": "candid 0.10.17", "target": "candid" }, { - "id": "proc-macro2 1.0.95", - "target": "proc_macro2" - }, - { - "id": "quote 1.0.40", - "target": "quote" - }, - { - "id": "serde 1.0.217", - "target": "serde" - }, - { - "id": "serde_tokenstream 0.2.1", - "target": "serde_tokenstream" - }, - { - "id": "syn 2.0.101", - "target": "syn" - } - ], - "selects": {} - }, - "edition": "2021", - "version": "0.17.2" - }, - "license": "Apache-2.0", - "license_ids": [ - "Apache-2.0" - ], - "license_file": "LICENSE" - }, - "ic-cdk-macros 0.18.0-alpha.2": { - "name": "ic-cdk-macros", - "version": "0.18.0-alpha.2", - "package_url": "https://github.com/dfinity/cdk-rs", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/ic-cdk-macros/0.18.0-alpha.2/download", - "sha256": "4987a4c05c25d2871f8a0dd4b726733fbf4c55b5a82656976333ddd79d8e1ce6" - } - }, - "targets": [ - { - "ProcMacro": { - "crate_name": "ic_cdk_macros", - "crate_root": "src/lib.rs", - "srcs": { - "allow_empty": true, - "include": [ - "**/*.rs" - ] - } - } - } - ], - "library_target_name": "ic_cdk_macros", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "deps": { - "common": [ - { - "id": "candid 0.10.13", - "target": "candid" + "id": "darling 0.20.11", + "target": "darling" }, { "id": "proc-macro2 1.0.95", @@ -35022,14 +34883,6 @@ "id": "quote 1.0.40", "target": "quote" }, - { - "id": "serde 1.0.217", - "target": "serde" - }, - { - "id": "serde_tokenstream 0.2.1", - "target": "serde_tokenstream" - }, { "id": "syn 2.0.101", "target": "syn" @@ -35037,8 +34890,8 @@ ], "selects": {} }, - "edition": "2021", - "version": "0.18.0-alpha.2" + "edition": "2024", + "version": "0.18.6" }, "license": "Apache-2.0", "license_ids": [ @@ -35046,14 +34899,14 @@ ], "license_file": "LICENSE" }, - "ic-cdk-timers 0.11.0": { + "ic-cdk-timers 0.12.2": { "name": "ic-cdk-timers", - "version": "0.11.0", + "version": "0.12.2", "package_url": "https://github.com/dfinity/cdk-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/ic-cdk-timers/0.11.0/download", - "sha256": "fb8fd812a9e26f6aa00594546f8fbf4d4853f39c3ba794c8ff11ecf86fd3c9e4" + "url": "https://static.crates.io/crates/ic-cdk-timers/0.12.2/download", + "sha256": "9ea87cf31444de833db85bbd15e97bc135ee14529b13158ffdaf6530bf6d7e85" } }, "targets": [ @@ -35077,20 +34930,24 @@ ], "deps": { "common": [ + { + "id": "candid 0.10.17", + "target": "candid" + }, { "id": "futures 0.3.31", "target": "futures" }, { - "id": "ic-cdk 0.17.2", + "id": "ic-cdk 0.18.6", "target": "ic_cdk" }, { - "id": "ic0 0.23.0", + "id": "ic0 1.0.0", "target": "ic0" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -35105,7 +34962,7 @@ "selects": {} }, "edition": "2021", - "version": "0.11.0" + "version": "0.12.2" }, "license": "Apache-2.0", "license_ids": [ @@ -35149,7 +35006,7 @@ "target": "cached" }, { - "id": "candid 0.10.13", + "id": "candid 0.10.17", "target": "candid" }, { @@ -35243,7 +35100,7 @@ "target": "hex" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -35298,7 +35155,7 @@ "deps": { "common": [ { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -35321,66 +35178,6 @@ ], "license_file": "LICENSE" }, - "ic-error-types 0.1.0": { - "name": "ic-error-types", - "version": "0.1.0", - "package_url": "https://github.com/dfinity/ic", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/ic-error-types/0.1.0/download", - "sha256": "be844216781d6f4a0853b5a8d63dee8d1b6ee0b9aef310d8c0cb82a6796d7072" - } - }, - "targets": [ - { - "Library": { - "crate_name": "ic_error_types", - "crate_root": "src/lib.rs", - "srcs": { - "allow_empty": true, - "include": [ - "**/*.rs" - ] - } - } - } - ], - "library_target_name": "ic_error_types", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "deps": { - "common": [ - { - "id": "serde 1.0.217", - "target": "serde" - }, - { - "id": "strum 0.26.3", - "target": "strum" - } - ], - "selects": {} - }, - "edition": "2021", - "proc_macro_deps": { - "common": [ - { - "id": "strum_macros 0.26.4", - "target": "strum_macros" - } - ], - "selects": {} - }, - "version": "0.1.0" - }, - "license": "Apache-2.0", - "license_ids": [ - "Apache-2.0" - ], - "license_file": "LICENSE" - }, "ic-error-types 0.2.0": { "name": "ic-error-types", "version": "0.2.0", @@ -35413,7 +35210,7 @@ "deps": { "common": [ { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -35503,11 +35300,11 @@ "target": "bytes" }, { - "id": "candid 0.10.13", + "id": "candid 0.10.17", "target": "candid" }, { - "id": "clap 4.5.20", + "id": "clap 4.5.45", "target": "clap" }, { @@ -35599,7 +35396,7 @@ "target": "regex" }, { - "id": "reqwest 0.12.15", + "id": "reqwest 0.12.23", "target": "reqwest" }, { @@ -35607,7 +35404,7 @@ "target": "rustls" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -35651,7 +35448,7 @@ "target": "tower" }, { - "id": "tower-http 0.6.4", + "id": "tower-http 0.6.6", "target": "tower_http" }, { @@ -35749,7 +35546,7 @@ "target": "base64" }, { - "id": "candid 0.10.13", + "id": "candid 0.10.17", "target": "candid" }, { @@ -35765,7 +35562,7 @@ "target": "ic_representation_independent_hash" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -35828,7 +35625,7 @@ "target": "bytes" }, { - "id": "candid 0.10.13", + "id": "candid 0.10.17", "target": "candid" }, { @@ -35946,14 +35743,14 @@ ], "license_file": null }, - "ic-management-canister-types 0.3.1": { + "ic-management-canister-types 0.3.2": { "name": "ic-management-canister-types", - "version": "0.3.1", + "version": "0.3.2", "package_url": "https://github.com/dfinity/cdk-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/ic-management-canister-types/0.3.1/download", - "sha256": "98554c2d8a30c00b6bfda18062fdcef21215cad07a52d8b8b1eb3130e51bfe71" + "url": "https://static.crates.io/crates/ic-management-canister-types/0.3.2/download", + "sha256": "95f3af3543f6d0cbdecd2dcdfd4737ada2bd42d935cc787eec22090c96492c76" } }, "targets": [ @@ -35978,11 +35775,11 @@ "deps": { "common": [ { - "id": "candid 0.10.13", + "id": "candid 0.10.17", "target": "candid" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -35993,7 +35790,7 @@ "selects": {} }, "edition": "2021", - "version": "0.3.1" + "version": "0.3.2" }, "license": "Apache-2.0", "license_ids": [ @@ -36126,11 +35923,11 @@ "target": "base64" }, { - "id": "candid 0.10.13", + "id": "candid 0.10.17", "target": "candid" }, { - "id": "flate2 1.0.31", + "id": "flate2 1.1.2", "target": "flate2" }, { @@ -36316,6 +36113,78 @@ ], "license_file": "LICENSE" }, + "ic-stable-structures 0.7.0": { + "name": "ic-stable-structures", + "version": "0.7.0", + "package_url": "https://github.com/dfinity/stable-structures", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/ic-stable-structures/0.7.0/download", + "sha256": "e54aeb082293c69def5ab34c70593ba85ff000386f7d0eacdf73514daaeca031" + } + }, + "targets": [ + { + "Library": { + "crate_name": "ic_stable_structures", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "ic_stable_structures", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "ic_principal 0.1.1", + "target": "ic_principal" + } + ], + "selects": {} + }, + "edition": "2021", + "rustc_flags": { + "common": [], + "selects": { + "@@//bazel:fuzzing_code_enabled": [ + "-Cpasses=sancov-module", + "-Cllvm-args=-sanitizer-coverage-level=4", + "-Cllvm-args=-sanitizer-coverage-inline-8bit-counters", + "-Cllvm-args=-sanitizer-coverage-pc-table", + "-Cllvm-args=-sanitizer-coverage-trace-compares", + "-Cllvm-args=-sanitizer-coverage-stack-depth", + "-Cllvm-args=-sanitizer-coverage-prune-blocks=0", + "-Ctarget-cpu=native", + "-Coverflow_checks", + "-Copt-level=3", + "-Clink-dead-code", + "-Cdebug-assertions", + "-Ccodegen-units=1", + "-Zextra-const-ub-checks", + "-Zstrict-init-checks", + "-Zsanitizer=address", + "-Zexternal-clangrt", + "-Clink-arg=bazel-out/k8-opt/bin/external/rust_linux_x86_64__x86_64-unknown-linux-gnu__stable_tools/rust_toolchain/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc-stable_rt.asan.a" + ] + } + }, + "version": "0.7.0" + }, + "license": "Apache-2.0", + "license_ids": [ + "Apache-2.0" + ], + "license_file": "LICENSE" + }, "ic-test-state-machine-client 3.0.1": { "name": "ic-test-state-machine-client", "version": "3.0.1", @@ -36348,7 +36217,7 @@ "deps": { "common": [ { - "id": "candid 0.10.13", + "id": "candid 0.10.17", "target": "candid" }, { @@ -36356,7 +36225,7 @@ "target": "ciborium" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -36407,7 +36276,7 @@ "deps": { "common": [ { - "id": "candid 0.10.13", + "id": "candid 0.10.17", "target": "candid" }, { @@ -36423,7 +36292,7 @@ "target": "leb128" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -36495,7 +36364,7 @@ "deps": { "common": [ { - "id": "candid 0.10.13", + "id": "candid 0.10.17", "target": "candid" }, { @@ -36511,7 +36380,7 @@ "target": "leb128" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -36589,7 +36458,7 @@ "deps": { "common": [ { - "id": "candid 0.10.13", + "id": "candid 0.10.17", "target": "candid" }, { @@ -36605,11 +36474,11 @@ "target": "once_cell" }, { - "id": "semver 1.0.22", + "id": "semver 1.0.26", "target": "semver" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -36810,17 +36679,14 @@ ], "license_file": null }, - "ic-vetkeys 0.1.0": { + "ic-vetkeys 0.4.0": { "name": "ic-vetkeys", - "version": "0.1.0", - "package_url": null, + "version": "0.4.0", + "package_url": "https://github.com/dfinity/vetkeys", "repository": { - "Git": { - "remote": "https://github.com/dfinity/vetkeys", - "commitish": { - "Rev": "5885675b6ccb5269cfac9740dc3da6f14f75347f" - }, - "strip_prefix": "backend/rs/ic_vetkeys" + "Http": { + "url": "https://static.crates.io/crates/ic-vetkeys/0.4.0/download", + "sha256": "89db8e638924d9e07dd8fa33dc5cfcdc69b7331bed7fcc72e2586f3956b12e58" } }, "targets": [ @@ -36849,7 +36715,7 @@ "target": "anyhow" }, { - "id": "candid 0.10.13", + "id": "candid 0.10.17", "target": "candid" }, { @@ -36857,19 +36723,19 @@ "target": "futures" }, { - "id": "hex 0.4.3", - "target": "hex" + "id": "hex-literal 1.0.0", + "target": "hex_literal" }, { "id": "hkdf 0.12.4", "target": "hkdf" }, { - "id": "ic-cdk 0.17.2", + "id": "ic-cdk 0.18.6", "target": "ic_cdk" }, { - "id": "ic-stable-structures 0.6.8", + "id": "ic-stable-structures 0.7.0", "target": "ic_stable_structures" }, { @@ -36893,7 +36759,7 @@ "target": "rand_chacha" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -36901,8 +36767,8 @@ "target": "serde_bytes" }, { - "id": "serde_with 3.12.0", - "target": "serde_with" + "id": "serde_cbor 0.11.2", + "target": "serde_cbor" }, { "id": "sha2 0.10.9", @@ -36913,7 +36779,7 @@ "target": "sha3" }, { - "id": "strum 0.26.3", + "id": "strum 0.27.1", "target": "strum" }, { @@ -36931,23 +36797,23 @@ "proc_macro_deps": { "common": [ { - "id": "ic-cdk-macros 0.17.2", + "id": "ic-cdk-macros 0.18.6", "target": "ic_cdk_macros" }, { - "id": "strum_macros 0.26.4", + "id": "strum_macros 0.27.1", "target": "strum_macros" } ], "selects": {} }, - "version": "0.1.0" + "version": "0.4.0" }, "license": "Apache-2.0", "license_ids": [ "Apache-2.0" ], - "license_file": null + "license_file": "LICENSE" }, "ic-wasm 0.8.4": { "name": "ic-wasm", @@ -37006,11 +36872,11 @@ "target": "anyhow" }, { - "id": "candid 0.10.13", + "id": "candid 0.10.17", "target": "candid" }, { - "id": "clap 4.5.20", + "id": "clap 4.5.45", "target": "clap" }, { @@ -37018,11 +36884,11 @@ "target": "libflate" }, { - "id": "rustc-demangle 0.1.23", + "id": "rustc-demangle 0.1.26", "target": "rustc_demangle" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -37081,11 +36947,11 @@ "deps": { "common": [ { - "id": "candid 0.10.13", + "id": "candid 0.10.17", "target": "candid" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -37100,82 +36966,6 @@ ], "license_file": "LICENSE" }, - "ic0 0.23.0": { - "name": "ic0", - "version": "0.23.0", - "package_url": "https://github.com/dfinity/cdk-rs", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/ic0/0.23.0/download", - "sha256": "8de254dd67bbd58073e23dc1c8553ba12fa1dc610a19de94ad2bbcd0460c067f" - } - }, - "targets": [ - { - "Library": { - "crate_name": "ic0", - "crate_root": "src/lib.rs", - "srcs": { - "allow_empty": true, - "include": [ - "**/*.rs" - ] - } - } - } - ], - "library_target_name": "ic0", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "edition": "2021", - "version": "0.23.0" - }, - "license": "Apache-2.0", - "license_ids": [ - "Apache-2.0" - ], - "license_file": "LICENSE" - }, - "ic0 0.24.0": { - "name": "ic0", - "version": "0.24.0", - "package_url": "https://github.com/dfinity/cdk-rs", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/ic0/0.24.0/download", - "sha256": "673a6b846467547f3fc61f95d246aadff03e368b53c931655300b9d1bd05a55a" - } - }, - "targets": [ - { - "Library": { - "crate_name": "ic0", - "crate_root": "src/lib.rs", - "srcs": { - "allow_empty": true, - "include": [ - "**/*.rs" - ] - } - } - } - ], - "library_target_name": "ic0", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "edition": "2021", - "version": "0.24.0" - }, - "license": "Apache-2.0", - "license_ids": [ - "Apache-2.0" - ], - "license_file": "LICENSE" - }, "ic0 1.0.0": { "name": "ic0", "version": "1.0.0", @@ -37360,7 +37150,7 @@ "target": "data_encoding" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -37422,11 +37212,11 @@ "target": "anyhow" }, { - "id": "candid 0.10.13", + "id": "candid 0.10.17", "target": "candid" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -37493,7 +37283,7 @@ "target": "anyhow" }, { - "id": "candid 0.10.13", + "id": "candid 0.10.17", "target": "candid" }, { @@ -38362,66 +38152,6 @@ ], "license_file": "LICENSE-APACHE" }, - "idna 0.4.0": { - "name": "idna", - "version": "0.4.0", - "package_url": "https://github.com/servo/rust-url/", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/idna/0.4.0/download", - "sha256": "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" - } - }, - "targets": [ - { - "Library": { - "crate_name": "idna", - "crate_root": "src/lib.rs", - "srcs": { - "allow_empty": true, - "include": [ - "**/*.rs" - ] - } - } - } - ], - "library_target_name": "idna", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "crate_features": { - "common": [ - "alloc", - "default", - "std" - ], - "selects": {} - }, - "deps": { - "common": [ - { - "id": "unicode-bidi 0.3.13", - "target": "unicode_bidi" - }, - { - "id": "unicode-normalization 0.1.22", - "target": "unicode_normalization" - } - ], - "selects": {} - }, - "edition": "2018", - "version": "0.4.0" - }, - "license": "MIT OR Apache-2.0", - "license_ids": [ - "Apache-2.0", - "MIT" - ], - "license_file": "LICENSE-APACHE" - }, "idna 1.0.3": { "name": "idna", "version": "1.0.3", @@ -38718,7 +38448,7 @@ "deps": { "common": [ { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -38973,7 +38703,7 @@ "target": "hashbrown" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -39258,7 +38988,7 @@ "target": "ahash" }, { - "id": "clap 4.5.20", + "id": "clap 4.5.45", "target": "clap" }, { @@ -39567,7 +39297,7 @@ "target": "rustls_pki_types" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -39637,7 +39367,7 @@ "deps": { "common": [ { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -39816,7 +39546,7 @@ "deps": { "common": [ { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -39871,7 +39601,7 @@ "deps": { "common": [ { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -39932,6 +39662,53 @@ ], "license_file": "LICENSE-APACHE.md" }, + "iri-string 0.7.8": { + "name": "iri-string", + "version": "0.7.8", + "package_url": "https://github.com/lo48576/iri-string", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/iri-string/0.7.8/download", + "sha256": "dbc5ebe9c3a1a7a5127f920a418f7585e9e758e911d0466ed004f393b0e380b2" + } + }, + "targets": [ + { + "Library": { + "crate_name": "iri_string", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "iri_string", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "alloc", + "default", + "std" + ], + "selects": {} + }, + "edition": "2021", + "version": "0.7.8" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE.txt" + }, "is-terminal 0.4.9": { "name": "is-terminal", "version": "0.4.9", @@ -40070,7 +39847,7 @@ "deps": { "common": [ { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -40686,7 +40463,7 @@ "deps": { "common": [ { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -40746,7 +40523,7 @@ "target": "pest" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -40889,7 +40666,7 @@ "target": "base64" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -40959,7 +40736,7 @@ "target": "minreq" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -41270,7 +41047,7 @@ "target": "schemars" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -41769,7 +41546,7 @@ "target": "secrecy" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -41875,7 +41652,7 @@ "target": "schemars" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -43300,7 +43077,7 @@ "target": "pkg_config" }, { - "id": "semver 1.0.22", + "id": "semver 1.0.26", "target": "semver" } ], @@ -43391,7 +43168,7 @@ "target": "pkg_config" }, { - "id": "semver 1.0.22", + "id": "semver 1.0.26", "target": "semver" } ], @@ -46633,7 +46410,7 @@ "target": "memchr" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -46698,7 +46475,7 @@ "target": "memchr" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -47302,7 +47079,7 @@ "target": "axum_otel_metrics" }, { - "id": "clap 4.5.20", + "id": "clap 4.5.45", "target": "clap" }, { @@ -47394,7 +47171,7 @@ "target": "rustls_pemfile" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -47786,6 +47563,55 @@ } ], "library_target_name": "miniz_oxide", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "adler 1.0.2", + "target": "adler" + } + ], + "selects": {} + }, + "edition": "2018", + "version": "0.7.1" + }, + "license": "MIT OR Zlib OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT", + "Zlib" + ], + "license_file": "LICENSE" + }, + "miniz_oxide 0.8.9": { + "name": "miniz_oxide", + "version": "0.8.9", + "package_url": "https://github.com/Frommi/miniz_oxide/tree/master/miniz_oxide", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/miniz_oxide/0.8.9/download", + "sha256": "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" + } + }, + "targets": [ + { + "Library": { + "crate_name": "miniz_oxide", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "miniz_oxide", "common_attrs": { "compile_data_glob": [ "**" @@ -47799,14 +47625,14 @@ "deps": { "common": [ { - "id": "adler 1.0.2", - "target": "adler" + "id": "adler2 2.0.1", + "target": "adler2" } ], "selects": {} }, - "edition": "2018", - "version": "0.7.1" + "edition": "2021", + "version": "0.8.9" }, "license": "MIT OR Zlib OR Apache-2.0", "license_ids": [ @@ -47876,7 +47702,7 @@ "target": "build_script_build" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -48332,7 +48158,7 @@ "target": "bytes" }, { - "id": "colored 2.0.4", + "id": "colored 3.0.0", "target": "colored" }, { @@ -48875,7 +48701,7 @@ "target": "quote" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -48964,7 +48790,7 @@ "deps": { "common": [ { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -49895,7 +49721,7 @@ "target": "num_traits" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -50000,7 +49826,7 @@ "target": "rand" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -51096,7 +50922,7 @@ "target": "rasn_pkix" }, { - "id": "reqwest 0.12.15", + "id": "reqwest 0.12.23", "target": "reqwest" }, { @@ -53892,7 +53718,7 @@ "target": "byte_slice_cast" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -56739,14 +56565,14 @@ ], "license_file": "LICENSE" }, - "pocket-ic 9.0.1": { + "pocket-ic 9.0.0": { "name": "pocket-ic", - "version": "9.0.1", + "version": "9.0.0", "package_url": "https://github.com/dfinity/ic", "repository": { "Http": { - "url": "https://static.crates.io/crates/pocket-ic/9.0.1/download", - "sha256": "bc8ef97f44d4a20b43695690f478f6bfc4058f3ead7d51aff79be29bcfd810c5" + "url": "https://static.crates.io/crates/pocket-ic/9.0.0/download", + "sha256": "1d0dee25e0f699db883fa2228b18b6e86ae874a0f538dd362aef70679ca5cc6d" } }, "targets": [ @@ -56779,11 +56605,11 @@ "target": "base64" }, { - "id": "candid 0.10.13", + "id": "candid 0.10.17", "target": "candid" }, { - "id": "flate2 1.0.31", + "id": "flate2 1.1.2", "target": "flate2" }, { @@ -56795,7 +56621,7 @@ "target": "ic_certification" }, { - "id": "ic-management-canister-types 0.3.1", + "id": "ic-management-canister-types 0.3.2", "target": "ic_management_canister_types" }, { @@ -56803,7 +56629,7 @@ "target": "ic_transport_types" }, { - "id": "reqwest 0.12.15", + "id": "reqwest 0.12.23", "target": "reqwest" }, { @@ -56811,7 +56637,7 @@ "target": "schemars" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -56882,7 +56708,7 @@ ], "selects": {} }, - "version": "9.0.1" + "version": "9.0.0" }, "license": "Apache-2.0", "license_ids": [ @@ -57218,7 +57044,7 @@ "target": "embedded_io" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -58274,7 +58100,7 @@ "target": "build_script_build" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -58924,7 +58750,7 @@ "target": "byteorder" }, { - "id": "flate2 1.0.31", + "id": "flate2 1.1.2", "target": "flate2" }, { @@ -64361,7 +64187,6 @@ "__rustls", "__tls", "async-compression", - "blocking", "brotli", "deflate", "gzip", @@ -64400,7 +64225,7 @@ "target": "http" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -64633,14 +64458,14 @@ ], "license_file": "LICENSE-APACHE" }, - "reqwest 0.12.15": { + "reqwest 0.12.23": { "name": "reqwest", - "version": "0.12.15", + "version": "0.12.23", "package_url": "https://github.com/seanmonstar/reqwest", "repository": { "Http": { - "url": "https://static.crates.io/crates/reqwest/0.12.15/download", - "sha256": "d19c46a6fdd48bc4dab94b6103fccc55d34c67cc0ad04653aad4ea2a07cd7bbb" + "url": "https://static.crates.io/crates/reqwest/0.12.23/download", + "sha256": "d429f34c8092b2d42c7c93cec323bb4adeb7c67698f70839adec842ec10c7ceb" } }, "targets": [ @@ -64681,7 +64506,8 @@ "rustls-tls-webpki-roots", "rustls-tls-webpki-roots-no-provider", "socks", - "stream" + "stream", + "system-proxy" ], "selects": {} }, @@ -64712,7 +64538,7 @@ "target": "mime_guess" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -64751,13 +64577,21 @@ "target": "h2" }, { - "id": "hickory-resolver 0.24.4", + "id": "hickory-resolver 0.25.2", "target": "hickory_resolver" }, { "id": "hyper-rustls 0.27.5", "target": "hyper_rustls" }, + { + "id": "mime 0.3.17", + "target": "mime" + }, + { + "id": "once_cell 1.21.3", + "target": "once_cell" + }, { "id": "rustls 0.23.27", "target": "rustls" @@ -64766,32 +64600,20 @@ "id": "rustls-native-certs 0.8.0", "target": "rustls_native_certs" }, - { - "id": "rustls-pemfile 2.2.0", - "target": "rustls_pemfile" - }, { "id": "rustls-pki-types 1.12.0", "target": "rustls_pki_types" }, - { - "id": "system-configuration 0.6.1", - "target": "system_configuration" - }, { "id": "tokio-rustls 0.26.0", "target": "tokio_rustls" }, - { - "id": "tokio-socks 0.5.2", - "target": "tokio_socks" - }, { "id": "tokio-util 0.7.13", "target": "tokio_util" }, { - "id": "webpki-roots 0.26.8", + "id": "webpki-roots 1.0.2", "target": "webpki_roots" } ], @@ -64809,13 +64631,21 @@ "target": "h2" }, { - "id": "hickory-resolver 0.24.4", + "id": "hickory-resolver 0.25.2", "target": "hickory_resolver" }, { "id": "hyper-rustls 0.27.5", "target": "hyper_rustls" }, + { + "id": "mime 0.3.17", + "target": "mime" + }, + { + "id": "once_cell 1.21.3", + "target": "once_cell" + }, { "id": "rustls 0.23.27", "target": "rustls" @@ -64824,10 +64654,6 @@ "id": "rustls-native-certs 0.8.0", "target": "rustls_native_certs" }, - { - "id": "rustls-pemfile 2.2.0", - "target": "rustls_pemfile" - }, { "id": "rustls-pki-types 1.12.0", "target": "rustls_pki_types" @@ -64836,16 +64662,12 @@ "id": "tokio-rustls 0.26.0", "target": "tokio_rustls" }, - { - "id": "tokio-socks 0.5.2", - "target": "tokio_socks" - }, { "id": "tokio-util 0.7.13", "target": "tokio_util" }, { - "id": "webpki-roots 0.26.8", + "id": "webpki-roots 1.0.2", "target": "webpki_roots" } ], @@ -64866,22 +64688,10 @@ "id": "hyper-util 0.1.12", "target": "hyper_util" }, - { - "id": "ipnet 2.10.1", - "target": "ipnet" - }, { "id": "log 0.4.20", "target": "log" }, - { - "id": "mime 0.3.17", - "target": "mime" - }, - { - "id": "once_cell 1.21.3", - "target": "once_cell" - }, { "id": "percent-encoding 2.3.1", "target": "percent_encoding" @@ -64897,6 +64707,10 @@ { "id": "tower 0.5.2", "target": "tower" + }, + { + "id": "tower-http 0.6.6", + "target": "tower_http" } ], "cfg(target_arch = \"wasm32\")": [ @@ -64917,12 +64731,6 @@ "target": "web_sys" } ], - "cfg(windows)": [ - { - "id": "windows-registry 0.4.0", - "target": "windows_registry" - } - ], "wasm32-unknown-unknown": [ { "id": "wasm-streams 0.4.0", @@ -64943,13 +64751,21 @@ "target": "h2" }, { - "id": "hickory-resolver 0.24.4", + "id": "hickory-resolver 0.25.2", "target": "hickory_resolver" }, { "id": "hyper-rustls 0.27.5", "target": "hyper_rustls" }, + { + "id": "mime 0.3.17", + "target": "mime" + }, + { + "id": "once_cell 1.21.3", + "target": "once_cell" + }, { "id": "rustls 0.23.27", "target": "rustls" @@ -64958,32 +64774,20 @@ "id": "rustls-native-certs 0.8.0", "target": "rustls_native_certs" }, - { - "id": "rustls-pemfile 2.2.0", - "target": "rustls_pemfile" - }, { "id": "rustls-pki-types 1.12.0", "target": "rustls_pki_types" }, - { - "id": "system-configuration 0.6.1", - "target": "system_configuration" - }, { "id": "tokio-rustls 0.26.0", "target": "tokio_rustls" }, - { - "id": "tokio-socks 0.5.2", - "target": "tokio_socks" - }, { "id": "tokio-util 0.7.13", "target": "tokio_util" }, { - "id": "webpki-roots 0.26.8", + "id": "webpki-roots 1.0.2", "target": "webpki_roots" } ], @@ -65001,13 +64805,21 @@ "target": "h2" }, { - "id": "hickory-resolver 0.24.4", + "id": "hickory-resolver 0.25.2", "target": "hickory_resolver" }, { "id": "hyper-rustls 0.27.5", "target": "hyper_rustls" }, + { + "id": "mime 0.3.17", + "target": "mime" + }, + { + "id": "once_cell 1.21.3", + "target": "once_cell" + }, { "id": "rustls 0.23.27", "target": "rustls" @@ -65016,10 +64828,6 @@ "id": "rustls-native-certs 0.8.0", "target": "rustls_native_certs" }, - { - "id": "rustls-pemfile 2.2.0", - "target": "rustls_pemfile" - }, { "id": "rustls-pki-types 1.12.0", "target": "rustls_pki_types" @@ -65028,23 +64836,19 @@ "id": "tokio-rustls 0.26.0", "target": "tokio_rustls" }, - { - "id": "tokio-socks 0.5.2", - "target": "tokio_socks" - }, { "id": "tokio-util 0.7.13", "target": "tokio_util" }, { - "id": "webpki-roots 0.26.8", + "id": "webpki-roots 1.0.2", "target": "webpki_roots" } ] } }, "edition": "2021", - "version": "0.12.15" + "version": "0.12.23" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -66616,7 +66420,7 @@ "target": "build_script_build" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -66699,14 +66503,14 @@ ], "license_file": "LICENSE" }, - "rustc-demangle 0.1.23": { + "rustc-demangle 0.1.26": { "name": "rustc-demangle", - "version": "0.1.23", - "package_url": "https://github.com/alexcrichton/rustc-demangle", + "version": "0.1.26", + "package_url": "https://github.com/rust-lang/rustc-demangle", "repository": { "Http": { - "url": "https://static.crates.io/crates/rustc-demangle/0.1.23/download", - "sha256": "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" + "url": "https://static.crates.io/crates/rustc-demangle/0.1.26/download", + "sha256": "56f7d92ca342cea22a06f2121d944b4fd82af56988c270852495420f961d4ace" } }, "targets": [ @@ -66729,7 +66533,7 @@ "**" ], "edition": "2015", - "version": "0.1.23" + "version": "0.1.26" }, "license": "MIT/Apache-2.0", "license_ids": [ @@ -66907,7 +66711,7 @@ "deps": { "common": [ { - "id": "semver 1.0.22", + "id": "semver 1.0.26", "target": "semver" } ], @@ -67760,7 +67564,7 @@ "target": "ring" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -69039,7 +68843,7 @@ "target": "build_script_build" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -69713,7 +69517,7 @@ "target": "secp256k1_sys" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -69784,7 +69588,7 @@ "target": "secp256k1_sys" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -69856,7 +69660,7 @@ "target": "secp256k1_sys" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -70180,7 +69984,7 @@ "deps": { "common": [ { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -70537,14 +70341,14 @@ ], "license_file": null }, - "semver 1.0.22": { + "semver 1.0.26": { "name": "semver", - "version": "1.0.22", + "version": "1.0.26", "package_url": "https://github.com/dtolnay/semver", "repository": { "Http": { - "url": "https://static.crates.io/crates/semver/1.0.22/download", - "sha256": "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca" + "url": "https://static.crates.io/crates/semver/1.0.26/download", + "sha256": "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" } }, "targets": [ @@ -70589,18 +70393,18 @@ "deps": { "common": [ { - "id": "semver 1.0.22", + "id": "semver 1.0.26", "target": "build_script_build" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], "selects": {} }, "edition": "2018", - "version": "1.0.22" + "version": "1.0.26" }, "build_script_attrs": { "compile_data_glob": [ @@ -70620,14 +70424,14 @@ ], "license_file": "LICENSE-APACHE" }, - "serde 1.0.217": { + "serde 1.0.219": { "name": "serde", - "version": "1.0.217", + "version": "1.0.219", "package_url": "https://github.com/serde-rs/serde", "repository": { "Http": { - "url": "https://static.crates.io/crates/serde/1.0.217/download", - "sha256": "02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70" + "url": "https://static.crates.io/crates/serde/1.0.219/download", + "sha256": "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" } }, "targets": [ @@ -70675,7 +70479,7 @@ "deps": { "common": [ { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "build_script_build" } ], @@ -70685,13 +70489,13 @@ "proc_macro_deps": { "common": [ { - "id": "serde_derive 1.0.217", + "id": "serde_derive 1.0.219", "target": "serde_derive" } ], "selects": {} }, - "version": "1.0.217" + "version": "1.0.219" }, "build_script_attrs": { "compile_data_glob": [ @@ -70743,7 +70547,7 @@ "deps": { "common": [ { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -70799,7 +70603,7 @@ "target": "hex" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -70850,7 +70654,7 @@ "target": "ordered_float" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -70901,7 +70705,7 @@ "target": "js_sys" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -70959,7 +70763,7 @@ "deps": { "common": [ { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -71018,7 +70822,7 @@ "target": "half" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -71034,14 +70838,14 @@ ], "license_file": "LICENSE-APACHE" }, - "serde_derive 1.0.217": { + "serde_derive 1.0.219": { "name": "serde_derive", - "version": "1.0.217", + "version": "1.0.219", "package_url": "https://github.com/serde-rs/serde", "repository": { "Http": { - "url": "https://static.crates.io/crates/serde_derive/1.0.217/download", - "sha256": "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0" + "url": "https://static.crates.io/crates/serde_derive/1.0.219/download", + "sha256": "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" } }, "targets": [ @@ -71087,7 +70891,7 @@ "selects": {} }, "edition": "2015", - "version": "1.0.217" + "version": "1.0.219" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -71219,7 +71023,7 @@ "target": "ryu" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -71286,7 +71090,7 @@ "target": "itoa" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -71338,7 +71142,7 @@ "target": "percent_encoding" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -71394,7 +71198,7 @@ "target": "regex" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -71466,65 +71270,6 @@ ], "license_file": "LICENSE-APACHE" }, - "serde_tokenstream 0.2.1": { - "name": "serde_tokenstream", - "version": "0.2.1", - "package_url": "https://github.com/oxidecomputer/serde_tokenstream", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/serde_tokenstream/0.2.1/download", - "sha256": "8790a7c3fe883e443eaa2af6f705952bc5d6e8671a220b9335c8cae92c037e74" - } - }, - "targets": [ - { - "Library": { - "crate_name": "serde_tokenstream", - "crate_root": "src/lib.rs", - "srcs": { - "allow_empty": true, - "include": [ - "**/*.rs" - ] - } - } - } - ], - "library_target_name": "serde_tokenstream", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "deps": { - "common": [ - { - "id": "proc-macro2 1.0.95", - "target": "proc_macro2" - }, - { - "id": "quote 1.0.40", - "target": "quote" - }, - { - "id": "serde 1.0.217", - "target": "serde" - }, - { - "id": "syn 2.0.101", - "target": "syn" - } - ], - "selects": {} - }, - "edition": "2021", - "version": "0.2.1" - }, - "license": "Apache-2.0", - "license_ids": [ - "Apache-2.0" - ], - "license_file": "LICENSE" - }, "serde_urlencoded 0.7.1": { "name": "serde_urlencoded", "version": "0.7.1", @@ -71569,7 +71314,7 @@ "target": "ryu" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -71625,7 +71370,7 @@ "deps": { "common": [ { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -71696,7 +71441,7 @@ "target": "base64" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -71721,76 +71466,6 @@ ], "license_file": "LICENSE-APACHE" }, - "serde_with 3.12.0": { - "name": "serde_with", - "version": "3.12.0", - "package_url": "https://github.com/jonasbb/serde_with/", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/serde_with/3.12.0/download", - "sha256": "d6b6f7f2fcb69f747921f79f3926bd1e203fce4fef62c268dd3abfb6d86029aa" - } - }, - "targets": [ - { - "Library": { - "crate_name": "serde_with", - "crate_root": "src/lib.rs", - "srcs": { - "allow_empty": true, - "include": [ - "**/*.rs" - ] - } - } - } - ], - "library_target_name": "serde_with", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "crate_features": { - "common": [ - "alloc", - "default", - "macros", - "std" - ], - "selects": {} - }, - "deps": { - "common": [ - { - "id": "serde 1.0.217", - "target": "serde" - } - ], - "selects": {} - }, - "edition": "2021", - "proc_macro_deps": { - "common": [ - { - "id": "serde_derive 1.0.217", - "target": "serde_derive" - }, - { - "id": "serde_with_macros 3.12.0", - "target": "serde_with_macros" - } - ], - "selects": {} - }, - "version": "3.12.0" - }, - "license": "MIT OR Apache-2.0", - "license_ids": [ - "Apache-2.0", - "MIT" - ], - "license_file": "LICENSE-APACHE" - }, "serde_with_macros 1.5.2": { "name": "serde_with_macros", "version": "1.5.2", @@ -71911,66 +71586,6 @@ ], "license_file": "LICENSE-APACHE" }, - "serde_with_macros 3.12.0": { - "name": "serde_with_macros", - "version": "3.12.0", - "package_url": "https://github.com/jonasbb/serde_with/", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/serde_with_macros/3.12.0/download", - "sha256": "8d00caa5193a3c8362ac2b73be6b9e768aa5a4b2f721d8f4b339600c3cb51f8e" - } - }, - "targets": [ - { - "ProcMacro": { - "crate_name": "serde_with_macros", - "crate_root": "src/lib.rs", - "srcs": { - "allow_empty": true, - "include": [ - "**/*.rs" - ] - } - } - } - ], - "library_target_name": "serde_with_macros", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "deps": { - "common": [ - { - "id": "darling 0.20.11", - "target": "darling" - }, - { - "id": "proc-macro2 1.0.95", - "target": "proc_macro2" - }, - { - "id": "quote 1.0.40", - "target": "quote" - }, - { - "id": "syn 2.0.101", - "target": "syn" - } - ], - "selects": {} - }, - "edition": "2021", - "version": "3.12.0" - }, - "license": "MIT OR Apache-2.0", - "license_ids": [ - "Apache-2.0", - "MIT" - ], - "license_file": "LICENSE-APACHE" - }, "serde_yaml 0.8.26": { "name": "serde_yaml", "version": "0.8.26", @@ -72011,7 +71626,7 @@ "target": "ryu" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -72075,7 +71690,7 @@ "target": "ryu" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -72242,7 +71857,7 @@ "target": "rsa" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -72524,14 +72139,14 @@ ], "license_file": "LICENSE-APACHE" }, - "sha256 1.5.0": { + "sha256 1.6.0": { "name": "sha256", - "version": "1.5.0", + "version": "1.6.0", "package_url": "https://github.com/baoyachi/sha256-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/sha256/1.5.0/download", - "sha256": "18278f6a914fa3070aa316493f7d2ddfb9ac86ebc06fa3b83bffda487e9065b0" + "url": "https://static.crates.io/crates/sha256/1.6.0/download", + "sha256": "f880fc8562bdeb709793f00eb42a2ad0e672c4f883bbe59122b926eca935c8f6" } }, "targets": [ @@ -72592,7 +72207,7 @@ ], "selects": {} }, - "version": "1.5.0" + "version": "1.6.0" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -74006,7 +73621,7 @@ "target": "erased_serde" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -74348,7 +73963,7 @@ "deps": { "common": [ { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -75567,7 +75182,7 @@ "target": "precomputed_hash" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -76461,7 +76076,7 @@ "deps": { "common": [ { - "id": "rustc-demangle 0.1.23", + "id": "rustc-demangle 0.1.26", "target": "rustc_demangle" }, { @@ -76988,7 +76603,7 @@ "deps": { "common": [ { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -77936,7 +77551,7 @@ "target": "rand" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -79560,7 +79175,7 @@ "target": "powerfmt" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -80026,7 +79641,7 @@ "deps": { "common": [ { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -80835,7 +80450,7 @@ "target": "pin_project" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -81323,7 +80938,7 @@ "deps": { "common": [ { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -82078,14 +81693,14 @@ ], "license_file": "LICENSE" }, - "tower-http 0.6.4": { + "tower-http 0.6.6": { "name": "tower-http", - "version": "0.6.4", + "version": "0.6.6", "package_url": "https://github.com/tower-rs/tower-http", "repository": { "Http": { - "url": "https://static.crates.io/crates/tower-http/0.6.4/download", - "sha256": "0fdb0c213ca27a9f57ab69ddb290fd80d970922355b83ae380b395d3986b8a2e" + "url": "https://static.crates.io/crates/tower-http/0.6.6/download", + "sha256": "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2" } }, "targets": [ @@ -82128,7 +81743,28 @@ "util", "uuid" ], - "selects": {} + "selects": { + "aarch64-apple-darwin": [ + "follow-redirect", + "futures-util", + "iri-string" + ], + "aarch64-unknown-linux-gnu": [ + "follow-redirect", + "futures-util", + "iri-string" + ], + "x86_64-apple-darwin": [ + "follow-redirect", + "futures-util", + "iri-string" + ], + "x86_64-unknown-linux-gnu": [ + "follow-redirect", + "futures-util", + "iri-string" + ] + } }, "deps": { "common": [ @@ -82193,10 +81829,51 @@ "target": "uuid" } ], - "selects": {} + "selects": { + "aarch64-apple-darwin": [ + { + "id": "futures-util 0.3.31", + "target": "futures_util" + }, + { + "id": "iri-string 0.7.8", + "target": "iri_string" + } + ], + "aarch64-unknown-linux-gnu": [ + { + "id": "futures-util 0.3.31", + "target": "futures_util" + }, + { + "id": "iri-string 0.7.8", + "target": "iri_string" + } + ], + "x86_64-apple-darwin": [ + { + "id": "futures-util 0.3.31", + "target": "futures_util" + }, + { + "id": "iri-string 0.7.8", + "target": "iri_string" + } + ], + "x86_64-unknown-linux-gnu": [ + { + "id": "futures-util 0.3.31", + "target": "futures_util" + }, + { + "id": "iri-string 0.7.8", + "target": "iri_string" + } + ] + } }, "edition": "2018", - "version": "0.6.4" + "version": "0.6.6" }, "license": "MIT", "license_ids": [ @@ -83046,7 +82723,7 @@ "deps": { "common": [ { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -83097,7 +82774,7 @@ "deps": { "common": [ { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -83252,7 +82929,7 @@ "target": "regex" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -84245,7 +83922,7 @@ "target": "regex_filtered" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -85137,7 +84814,7 @@ "target": "percent_encoding" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -85477,7 +85154,7 @@ "target": "getrandom" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -85843,7 +85520,7 @@ "target": "chrono" }, { - "id": "clap 4.5.20", + "id": "clap 4.5.45", "target": "clap" }, { @@ -85859,7 +85536,7 @@ "target": "regex" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -86551,7 +86228,7 @@ "target": "scoped_tls" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -87590,61 +87267,6 @@ ], "license_file": "LICENSE-APACHE" }, - "wasmparser 0.119.0": { - "name": "wasmparser", - "version": "0.119.0", - "package_url": "https://github.com/bytecodealliance/wasm-tools/tree/main/crates/wasmparser", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/wasmparser/0.119.0/download", - "sha256": "8c35daf77afb4f9b14016625144a391085ec2ca99ca9cc53ed291bb53ab5278d" - } - }, - "targets": [ - { - "Library": { - "crate_name": "wasmparser", - "crate_root": "src/lib.rs", - "srcs": { - "allow_empty": true, - "include": [ - "**/*.rs" - ] - } - } - } - ], - "library_target_name": "wasmparser", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "deps": { - "common": [ - { - "id": "bitflags 2.9.0", - "target": "bitflags" - }, - { - "id": "indexmap 2.7.1", - "target": "indexmap" - }, - { - "id": "semver 1.0.22", - "target": "semver" - } - ], - "selects": {} - }, - "edition": "2021", - "version": "0.119.0" - }, - "license": "Apache-2.0 WITH LLVM-exception", - "license_ids": [ - "Apache-2.0" - ], - "license_file": "LICENSE" - }, "wasmparser 0.212.0": { "name": "wasmparser", "version": "0.212.0", @@ -87702,11 +87324,11 @@ "target": "indexmap" }, { - "id": "semver 1.0.22", + "id": "semver 1.0.26", "target": "semver" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -87778,11 +87400,11 @@ "target": "indexmap" }, { - "id": "semver 1.0.22", + "id": "semver 1.0.26", "target": "semver" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" } ], @@ -87866,11 +87488,11 @@ "target": "indexmap" }, { - "id": "semver 1.0.22", + "id": "semver 1.0.26", "target": "semver" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -88020,7 +87642,9 @@ "crate_features": { "common": [ "component-model", + "default", "features", + "hash-collections", "serde", "simd", "std", @@ -88035,11 +87659,19 @@ "target": "bitflags" }, { - "id": "semver 1.0.22", + "id": "hashbrown 0.15.2", + "target": "hashbrown" + }, + { + "id": "indexmap 2.7.1", + "target": "indexmap" + }, + { + "id": "semver 1.0.26", "target": "semver" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -88305,7 +87937,7 @@ "target": "rayon" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -88406,7 +88038,7 @@ "proc_macro_deps": { "common": [ { - "id": "serde_derive 1.0.217", + "id": "serde_derive 1.0.219", "target": "serde_derive" }, { @@ -88553,7 +88185,7 @@ "target": "postcard" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -88583,7 +88215,7 @@ "proc_macro_deps": { "common": [ { - "id": "serde_derive 1.0.217", + "id": "serde_derive 1.0.219", "target": "serde_derive" } ], @@ -89554,6 +89186,7 @@ "ReadableStreamType", "ReadableWritablePair", "Request", + "RequestCache", "RequestCredentials", "RequestInit", "RequestMode", @@ -89784,6 +89417,54 @@ ], "license_file": "LICENSE" }, + "webpki-roots 1.0.2": { + "name": "webpki-roots", + "version": "1.0.2", + "package_url": "https://github.com/rustls/webpki-roots", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/webpki-roots/1.0.2/download", + "sha256": "7e8983c3ab33d6fb807cfcdad2491c4ea8cbc8ed839181c7dfd9c67c83e261b2" + } + }, + "targets": [ + { + "Library": { + "crate_name": "webpki_roots", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "webpki_roots", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "rustls-pki-types 1.12.0", + "target": "rustls_pki_types", + "alias": "pki_types" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "1.0.2" + }, + "license": "CDLA-Permissive-2.0", + "license_ids": [ + "CDLA-Permissive-2.0" + ], + "license_file": "LICENSE" + }, "wee_alloc 0.4.5": { "name": "wee_alloc", "version": "0.4.5", @@ -93833,7 +93514,7 @@ "target": "data_encoding" }, { - "id": "serde 1.0.217", + "id": "serde 1.0.219", "target": "serde" }, { @@ -95561,7 +95242,7 @@ } }, "binary_crates": [ - "canbench 0.1.15", + "canbench 0.2.1", "ic-wasm 0.8.4", "metrics-proxy 0.1.0" ], @@ -95891,9 +95572,9 @@ "byteorder 1.5.0", "bytes 1.10.1", "cached 0.49.2", - "canbench 0.1.15", - "canbench-rs 0.1.15", - "candid 0.10.13", + "canbench 0.2.1", + "canbench-rs 0.2.1", + "candid 0.10.17", "candid_parser 0.1.4", "cargo_metadata 0.14.2", "cc 1.2.22", @@ -95904,7 +95585,7 @@ "chrono 0.4.41", "ciborium 0.2.1", "cidr 0.2.3", - "clap 4.5.20", + "clap 4.5.45", "cloudflare 0.12.0", "colored 2.0.4", "comparable 0.5.4", @@ -95937,7 +95618,7 @@ "exec 0.3.1", "eyre 0.6.8", "ff 0.12.1", - "flate2 1.0.31", + "flate2 1.1.2", "form_urlencoded 1.2.1", "fqdn 0.3.11", "fs_extra 1.3.0", @@ -95967,11 +95648,11 @@ "ic-bn-lib 0.1.0", "ic-btc-interface 0.2.2", "ic-canister-log 0.2.0", - "ic-canister-sig-creation 1.1.0", + "ic-canister-sig-creation 1.3.0", "ic-cbor 3.0.3", - "ic-cdk 0.17.2", - "ic-cdk 0.18.0-alpha.2", - "ic-cdk-timers 0.11.0", + "ic-cdk 0.18.6", + "ic-cdk-executor 1.0.2", + "ic-cdk-timers 0.12.2", "ic-certificate-verification 3.0.3", "ic-certification 3.0.3", "ic-certified-map 0.3.4", @@ -95979,7 +95660,7 @@ "ic-http-certification 3.0.3", "ic-http-gateway 0.3.0", "ic-identity-hsm 0.40.1", - "ic-management-canister-types 0.3.1", + "ic-management-canister-types 0.3.2", "ic-metrics-encoder 1.1.1", "ic-response-verification 3.0.3", "ic-sha3 1.0.0", @@ -95988,7 +95669,7 @@ "ic-transport-types 0.40.1", "ic-utils 0.40.1", "ic-verify-bls-signature 0.6.0", - "ic-vetkeys 0.1.0", + "ic-vetkeys 0.4.0", "ic-wasm 0.8.4", "ic-xrc-types 1.2.0", "ic0 1.0.0", @@ -96087,7 +95768,7 @@ "rayon 1.10.0", "rcgen 0.13.1", "regex 1.11.1", - "reqwest 0.12.15", + "reqwest 0.12.23", "rgb 0.8.37", "ring 0.17.14", "ripemd 0.1.3", @@ -96101,7 +95782,7 @@ "rust-ini 0.21.2", "rust_decimal 1.36.0", "rust_decimal_macros 1.36.0", - "rustc-demangle 0.1.23", + "rustc-demangle 0.1.26", "rustc-hash 1.1.0", "rustls 0.23.27", "rustls-pemfile 2.2.0", @@ -96112,8 +95793,8 @@ "scopeguard 1.2.0", "scraper 0.17.1", "secp256k1 0.22.2", - "semver 1.0.22", - "serde 1.0.217", + "semver 1.0.26", + "serde 1.0.219", "serde-bytes-repr 0.1.5", "serde_bytes 0.11.15", "serde_cbor 0.11.2", @@ -96175,7 +95856,7 @@ "tonic 0.12.3", "tonic-build 0.12.3", "tower 0.5.2", - "tower-http 0.6.4", + "tower-http 0.6.6", "tower-request-id 0.3.0", "tower-test 0.4.0", "tower_governor 0.7.0", diff --git a/Cargo.Bazel.toml.lock b/Cargo.Bazel.toml.lock index 5b9ef421e29f..d301bff04a55 100644 --- a/Cargo.Bazel.toml.lock +++ b/Cargo.Bazel.toml.lock @@ -266,6 +266,12 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +[[package]] +name = "adler2" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" + [[package]] name = "adler32" version = "1.2.0" @@ -1133,7 +1139,7 @@ dependencies = [ "cc", "cfg-if 1.0.0", "libc", - "miniz_oxide", + "miniz_oxide 0.7.1", "object 0.31.1", "rustc-demangle", ] @@ -2006,19 +2012,19 @@ dependencies = [ [[package]] name = "canbench" -version = "0.1.15" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c346cb41bf01bac3c8494eef82943d4dc49267981c8bcb548ba8f4cc69f3161" +checksum = "567825a16fade4532526ab697d8ea816895e5c6264472f92a113b809d3630482" dependencies = [ "canbench-rs", "candid", - "clap 4.5.20", - "colored", + "clap 4.5.45", + "colored 3.0.0", "flate2", "hex", "inferno 0.11.19", "pocket-ic", - "reqwest 0.11.27", + "reqwest 0.12.23", "rustc-demangle", "semver", "serde", @@ -2026,26 +2032,26 @@ dependencies = [ "sha256", "tempfile", "walrus 0.23.3", - "wasmparser 0.119.0", + "wasmparser 0.235.0", ] [[package]] name = "canbench-rs" -version = "0.1.15" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1c560e37bb75c6900e18e7d37174efaff09e266d138d9926e34f489d9d2f6a0" +checksum = "ce6a55bed4e45003d254afc26e86cbc47a808d0db83f1a1c03f535a39f8b38ee" dependencies = [ "canbench-rs-macros", "candid", - "ic-cdk 0.17.2", + "ic-cdk", "serde", ] [[package]] name = "canbench-rs-macros" -version = "0.1.15" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "866a310ae95dfd273c2f1d17c8382d0d893c35851e9252cca98bd3a80a7e5635" +checksum = "5369e35db0ccebbf4a15b05533c23320f84ca1bee4179874eb28f18335ebff60" dependencies = [ "proc-macro2", "quote", @@ -2054,9 +2060,9 @@ dependencies = [ [[package]] name = "candid" -version = "0.10.13" +version = "0.10.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a253bab4a9be502c82332b60cbeee6202ad0692834efeec95fae9f29db33d692" +checksum = "eaac522d18020d5fbc8320ecb12a9b13b2137ae31133da2d42fa256a825507c4" dependencies = [ "anyhow", "binread", @@ -2077,9 +2083,9 @@ dependencies = [ [[package]] name = "candid_derive" -version = "0.6.6" +version = "0.10.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3de398570c386726e7a59d9887b68763c481477f9a043fb998a2e09d428df1a9" +checksum = "8a1b4fddbd462182050989068d53604a91a3d0f117c3c8316c6818023df00add" dependencies = [ "lazy_static", "proc-macro2", @@ -2115,7 +2121,7 @@ dependencies = [ "candid", "canlog_derive", "ic-canister-log", - "ic0 1.0.0", + "ic0", "regex", "serde", "serde_json", @@ -2359,23 +2365,23 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.20" +version = "4.5.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b97f376d85a664d5837dbae44bf546e6477a679ff6610010f17276f686d867e8" +checksum = "1fc0e74a703892159f5ae7d3aac52c8e6c392f5ae5f359c70b5881d60aaac318" dependencies = [ "clap_builder", - "clap_derive 4.5.18", + "clap_derive 4.5.45", ] [[package]] name = "clap_builder" -version = "4.5.20" +version = "4.5.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19bc80abd44e4bed93ca373a0704ccbd1b710dc5749406201bb018272808dc54" +checksum = "b3e7f4214277f3c7aa526a59dd3fbe306a370daee1f8b7b8c987069cd8e888a8" dependencies = [ "anstream", "anstyle", - "clap_lex 0.7.2", + "clap_lex 0.7.5", "strsim 0.11.1", ] @@ -2394,9 +2400,9 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.18" +version = "4.5.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab" +checksum = "14cb31bb0a7d536caef2639baa7fad459e15c3144efefa6dbd1c84562c4739f6" dependencies = [ "heck 0.5.0", "proc-macro2", @@ -2415,9 +2421,9 @@ dependencies = [ [[package]] name = "clap_lex" -version = "0.7.2" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97" +checksum = "b94f61472cee1439c0b966b47e3aca9ae07e45d070759512cd390ea2bebc6675" [[package]] name = "clocksource" @@ -2496,6 +2502,15 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "colored" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fde0e0ec90c9dfb3b4b1a0891a7dcd0e2bffde2f7efed5fe7c9bb00e5bfb915e" +dependencies = [ + "windows-sys 0.59.0", +] + [[package]] name = "combine" version = "4.6.7" @@ -2889,7 +2904,7 @@ dependencies = [ "anes", "cast", "ciborium", - "clap 4.5.20", + "clap 4.5.45", "criterion-plot", "futures", "is-terminal", @@ -3473,7 +3488,7 @@ dependencies = [ "byte-unit", "bytes", "candid", - "clap 4.5.20", + "clap 4.5.45", "dialoguer", "directories-next", "dunce", @@ -3488,7 +3503,7 @@ dependencies = [ "k256 0.11.6", "keyring", "lazy_static", - "reqwest 0.12.15", + "reqwest 0.12.23", "ring 0.17.14", "schemars", "sec1 0.3.0", @@ -3609,9 +3624,9 @@ dependencies = [ "chrono 0.4.41", "ciborium", "cidr", - "clap 4.5.20", + "clap 4.5.45", "cloudflare", - "colored", + "colored 2.0.4", "comparable", "console 0.11.3", "convert_case 0.6.0", @@ -3655,7 +3670,7 @@ dependencies = [ "group 0.13.0", "hashlink", "hex", - "hex-literal", + "hex-literal 0.4.1", "hkdf", "hmac", "hpke", @@ -3674,8 +3689,8 @@ dependencies = [ "ic-canister-log", "ic-canister-sig-creation", "ic-cbor", - "ic-cdk 0.17.2", - "ic-cdk 0.18.0-alpha.2", + "ic-cdk", + "ic-cdk-executor", "ic-cdk-timers", "ic-certificate-verification", "ic-certification", @@ -3688,7 +3703,7 @@ dependencies = [ "ic-metrics-encoder", "ic-response-verification", "ic-sha3", - "ic-stable-structures", + "ic-stable-structures 0.6.8", "ic-test-state-machine-client", "ic-transport-types 0.40.1", "ic-utils", @@ -3696,7 +3711,7 @@ dependencies = [ "ic-vetkeys", "ic-wasm", "ic-xrc-types", - "ic0 1.0.0", + "ic0", "ic_bls12_381", "ic_principal", "icrc1-test-env", @@ -3792,7 +3807,7 @@ dependencies = [ "rayon", "rcgen", "regex", - "reqwest 0.12.15", + "reqwest 0.12.23", "rgb", "ring 0.17.14", "ripemd", @@ -3880,7 +3895,7 @@ dependencies = [ "tonic", "tonic-build", "tower 0.5.2", - "tower-http 0.6.4", + "tower-http 0.6.6", "tower-request-id", "tower-test", "tower_governor", @@ -4030,7 +4045,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e64e461c3f1e69d99372620640b3fd5f0309eeda2e26e4af69f6760c0e1df845" dependencies = [ - "colored", + "colored 2.0.4", "fnv", ] @@ -4534,7 +4549,7 @@ dependencies = [ "candid", "canlog", "hex", - "ic-error-types 0.2.0", + "ic-error-types", "ic-management-canister-types", "num-bigint 0.4.6", "serde", @@ -4684,12 +4699,12 @@ checksum = "cda653ca797810c02f7ca4b804b40b8b95ae046eb989d356bce17919a8c25499" [[package]] name = "flate2" -version = "1.0.31" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f211bbe8e69bbd0cfdea405084f128ae8b4aaa6b0b522fc8f2b009084797920" +checksum = "4a3d7db9596fecd151c5f638c0ee5d5bd487b6e0ea232e5dc96d5250f6f94b1d" dependencies = [ "crc32fast", - "miniz_oxide", + "miniz_oxide 0.8.9", ] [[package]] @@ -5371,6 +5386,12 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" +[[package]] +name = "hex-literal" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bcaaec4551594c969335c98c903c1397853d4198408ea609190f420500f6be71" + [[package]] name = "hex_lit" version = "0.1.1" @@ -5383,30 +5404,6 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df" -[[package]] -name = "hickory-proto" -version = "0.24.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07698b8420e2f0d6447a436ba999ec85d8fbf2a398bbd737b82cac4a2e96e512" -dependencies = [ - "async-trait", - "cfg-if 1.0.0", - "data-encoding", - "enum-as-inner 0.6.0", - "futures-channel", - "futures-io", - "futures-util", - "idna 0.4.0", - "ipnet", - "once_cell", - "rand 0.8.5", - "thiserror 1.0.68", - "tinyvec", - "tokio", - "tracing", - "url", -] - [[package]] name = "hickory-proto" version = "0.25.2" @@ -5441,27 +5438,6 @@ dependencies = [ "webpki-roots 0.26.8", ] -[[package]] -name = "hickory-resolver" -version = "0.24.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbb117a1ca520e111743ab2f6688eddee69db4e0ea242545a604dce8a66fd22e" -dependencies = [ - "cfg-if 1.0.0", - "futures-util", - "hickory-proto 0.24.1", - "ipconfig", - "lru-cache", - "once_cell", - "parking_lot 0.12.1", - "rand 0.8.5", - "resolv-conf", - "smallvec", - "thiserror 1.0.68", - "tokio", - "tracing", -] - [[package]] name = "hickory-resolver" version = "0.25.2" @@ -5470,7 +5446,7 @@ checksum = "dc62a9a99b0bfb44d2ab95a7208ac952d31060efc16241c87eaf36406fecf87a" dependencies = [ "cfg-if 1.0.0", "futures-util", - "hickory-proto 0.25.2", + "hickory-proto", "ipconfig", "moka", "once_cell", @@ -5797,18 +5773,23 @@ version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf9f1e950e0d9d1d3c47184416723cf29c0d1f93bd8cccf37e4beb6b44f31710" dependencies = [ + "base64 0.22.1", "bytes", "futures-channel", "futures-util", "http 1.3.1", "http-body 1.0.1", "hyper 1.6.0", + "ipnet", "libc", + "percent-encoding", "pin-project-lite", "socket2 0.5.9", + "system-configuration 0.6.1", "tokio", "tower-service", "tracing", + "windows-registry", ] [[package]] @@ -5866,7 +5847,7 @@ dependencies = [ "pkcs8 0.10.2", "rand 0.8.5", "rangemap", - "reqwest 0.12.15", + "reqwest 0.12.23", "ring 0.17.14", "sec1 0.7.3", "serde", @@ -5897,13 +5878,13 @@ dependencies = [ "bytes", "candid", "chacha20poly1305", - "clap 4.5.20", + "clap 4.5.45", "derive-new", "fqdn 0.4.5", "futures", "futures-util", - "hickory-proto 0.25.2", - "hickory-resolver 0.25.2", + "hickory-proto", + "hickory-resolver", "http 1.3.1", "http-body 1.0.1", "http-body-util", @@ -5917,7 +5898,7 @@ dependencies = [ "prost 0.13.3", "prost-types 0.13.3", "rand 0.8.5", - "reqwest 0.12.15", + "reqwest 0.12.23", "rustls 0.23.27", "rustls-acme", "rustls-pemfile 2.2.0", @@ -5967,12 +5948,13 @@ dependencies = [ [[package]] name = "ic-canister-sig-creation" -version = "1.1.0" -source = "git+https://github.com/dfinity/ic-canister-sig-creation?rev=7f9e931954637526295269155881207f6c832d6d#7f9e931954637526295269155881207f6c832d6d" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4de4a335e8f13986a39e8d1c02aa6999c7aa5736bc0083dacafe3a99b26f3a2" dependencies = [ "candid", "hex", - "ic-cdk 0.17.2", + "ic-cdk", "ic-certification", "ic-representation-independent-hash", "lazy_static", @@ -5998,29 +5980,16 @@ dependencies = [ [[package]] name = "ic-cdk" -version = "0.17.2" +version = "0.18.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95a7344f41493cbf591f13ae9f90181076f808a83af799815c3074b19c693d2e" +checksum = "3694c302426834b1300c095b43dee60aaf07264ca07c8f6456fc6b898c99c72f" dependencies = [ "candid", "ic-cdk-executor", - "ic-cdk-macros 0.17.2", - "ic0 0.23.0", - "serde", - "serde_bytes", -] - -[[package]] -name = "ic-cdk" -version = "0.18.0-alpha.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c9c87d961de7d2935a0bf19f4d6afe76f3d508b853ff5267e999beadd7e9286" -dependencies = [ - "candid", - "ic-cdk-macros 0.18.0-alpha.2", - "ic-error-types 0.1.0", + "ic-cdk-macros", + "ic-error-types", "ic-management-canister-types", - "ic0 0.24.0", + "ic0", "serde", "serde_bytes", "slotmap", @@ -6029,47 +5998,37 @@ dependencies = [ [[package]] name = "ic-cdk-executor" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "903057edd3d4ff4b3fe44a64eaee1ceb73f579ba29e3ded372b63d291d7c16c2" - -[[package]] -name = "ic-cdk-macros" -version = "0.17.2" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84cbaa50fa36d3e0616114becf81faa95a099e0d60948ed6978f30f1c77399fd" +checksum = "99f4ee8930fd2e491177e2eb7fff53ee1c407c13b9582bdc7d6920cf83109a2d" dependencies = [ - "candid", - "proc-macro2", - "quote", - "serde", - "serde_tokenstream", - "syn 2.0.101", + "ic0", + "slotmap", ] [[package]] name = "ic-cdk-macros" -version = "0.18.0-alpha.2" +version = "0.18.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4987a4c05c25d2871f8a0dd4b726733fbf4c55b5a82656976333ddd79d8e1ce6" +checksum = "b2cd13805284d5f422012c392a132757c74bd1bb2f7baeda2f3fca5cbe3d8ce7" dependencies = [ "candid", + "darling 0.20.11", "proc-macro2", "quote", - "serde", - "serde_tokenstream", "syn 2.0.101", ] [[package]] name = "ic-cdk-timers" -version = "0.11.0" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb8fd812a9e26f6aa00594546f8fbf4d4853f39c3ba794c8ff11ecf86fd3c9e4" +checksum = "9ea87cf31444de833db85bbd15e97bc135ee14529b13158ffdaf6530bf6d7e85" dependencies = [ + "candid", "futures", - "ic-cdk 0.17.2", - "ic0 0.23.0", + "ic-cdk", + "ic0", "serde", "serde_bytes", "slotmap", @@ -6117,17 +6076,6 @@ dependencies = [ "sha2 0.10.9", ] -[[package]] -name = "ic-error-types" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be844216781d6f4a0853b5a8d63dee8d1b6ee0b9aef310d8c0cb82a6796d7072" -dependencies = [ - "serde", - "strum 0.26.3", - "strum_macros 0.26.4", -] - [[package]] name = "ic-error-types" version = "0.2.0" @@ -6153,13 +6101,13 @@ dependencies = [ "axum-extra", "bytes", "candid", - "clap 4.5.20", + "clap 4.5.45", "ctrlc", "derive-new", "fqdn 0.4.5", "futures", "governor", - "hickory-resolver 0.25.2", + "hickory-resolver", "hostname 0.4.0", "http 1.3.1", "http-body 1.0.1", @@ -6177,7 +6125,7 @@ dependencies = [ "prometheus 0.14.0", "rand 0.8.5", "regex", - "reqwest 0.12.15", + "reqwest 0.12.23", "rustls 0.23.27", "serde", "serde_json", @@ -6190,7 +6138,7 @@ dependencies = [ "tokio", "tokio-util", "tower 0.5.2", - "tower-http 0.6.4", + "tower-http 0.6.6", "tower_governor", "tracing", "tracing-core", @@ -6254,9 +6202,9 @@ dependencies = [ [[package]] name = "ic-management-canister-types" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98554c2d8a30c00b6bfda18062fdcef21215cad07a52d8b8b1eb3130e51bfe71" +checksum = "95f3af3543f6d0cbdecd2dcdfd4737ada2bd42d935cc787eec22090c96492c76" dependencies = [ "candid", "serde", @@ -6321,6 +6269,15 @@ dependencies = [ "ic_principal", ] +[[package]] +name = "ic-stable-structures" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e54aeb082293c69def5ab34c70593ba85ff000386f7d0eacdf73514daaeca031" +dependencies = [ + "ic_principal", +] + [[package]] name = "ic-test-state-machine-client" version = "3.0.1" @@ -6420,17 +6377,18 @@ dependencies = [ [[package]] name = "ic-vetkeys" -version = "0.1.0" -source = "git+https://github.com/dfinity/vetkeys?rev=5885675b6ccb5269cfac9740dc3da6f14f75347f#5885675b6ccb5269cfac9740dc3da6f14f75347f" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89db8e638924d9e07dd8fa33dc5cfcdc69b7331bed7fcc72e2586f3956b12e58" dependencies = [ "anyhow", "candid", "futures", - "hex", + "hex-literal 1.0.0", "hkdf", - "ic-cdk 0.17.2", - "ic-cdk-macros 0.17.2", - "ic-stable-structures", + "ic-cdk", + "ic-cdk-macros", + "ic-stable-structures 0.7.0", "ic_bls12_381", "lazy_static", "pairing", @@ -6438,11 +6396,11 @@ dependencies = [ "rand_chacha 0.3.1", "serde", "serde_bytes", - "serde_with 3.12.0", + "serde_cbor", "sha2 0.10.9", "sha3", - "strum 0.26.3", - "strum_macros 0.26.4", + "strum 0.27.1", + "strum_macros 0.27.1", "subtle", "zeroize", ] @@ -6455,7 +6413,7 @@ checksum = "45bc33855672981ae4a2f4e77c1a77d1bdc0756fb1b36ad0dbe47df77a955e2d" dependencies = [ "anyhow", "candid", - "clap 4.5.20", + "clap 4.5.45", "libflate", "rustc-demangle", "serde", @@ -6474,18 +6432,6 @@ dependencies = [ "serde", ] -[[package]] -name = "ic0" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8de254dd67bbd58073e23dc1c8553ba12fa1dc610a19de94ad2bbcd0460c067f" - -[[package]] -name = "ic0" -version = "0.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "673a6b846467547f3fc61f95d246aadff03e368b53c931655300b9d1bd05a55a" - [[package]] name = "ic0" version = "1.0.0" @@ -6695,16 +6641,6 @@ dependencies = [ "unicode-normalization", ] -[[package]] -name = "idna" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" -dependencies = [ - "unicode-bidi", - "unicode-normalization", -] - [[package]] name = "idna" version = "1.0.3" @@ -6845,7 +6781,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75a5d75fee4d36809e6b021e4b96b686e763d365ffdb03af2bd00786353f84fe" dependencies = [ "ahash 0.8.11", - "clap 4.5.20", + "clap 4.5.45", "crossbeam-channel", "crossbeam-utils", "dashmap 6.1.0", @@ -6964,6 +6900,16 @@ version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf370abdafd54d13e54a620e8c3e1145f28e46cc9d704bc6d94414559df41763" +[[package]] +name = "iri-string" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbc5ebe9c3a1a7a5127f920a418f7585e9e758e911d0466ed004f393b0e380b2" +dependencies = [ + "memchr", + "serde", +] + [[package]] name = "is-terminal" version = "0.4.9" @@ -8104,7 +8050,7 @@ source = "git+https://github.com/dfinity/metrics-proxy.git?rev=b6933ed79ac07baee dependencies = [ "axum 0.7.9", "axum-otel-metrics", - "clap 4.5.20", + "clap 4.5.45", "duration-string", "exitcode", "futures-util", @@ -8188,6 +8134,15 @@ dependencies = [ "adler", ] +[[package]] +name = "miniz_oxide" +version = "0.8.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" +dependencies = [ + "adler2", +] + [[package]] name = "minreq" version = "2.13.2" @@ -8263,7 +8218,7 @@ checksum = "7760e0e418d9b7e5777c0374009ca4c93861b9066f18cb334a20ce50ab63aa48" dependencies = [ "assert-json-diff", "bytes", - "colored", + "colored 3.0.0", "futures-util", "http 1.3.1", "http-body 1.0.1", @@ -8692,7 +8647,7 @@ dependencies = [ "rasn-ocsp", "rasn-pkix", "readme-rustdocifier", - "reqwest 0.12.15", + "reqwest 0.12.23", "rustls 0.23.27", "sha1", "tokio", @@ -9642,9 +9597,9 @@ dependencies = [ [[package]] name = "pocket-ic" -version = "9.0.1" +version = "9.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc8ef97f44d4a20b43695690f478f6bfc4058f3ead7d51aff79be29bcfd810c5" +checksum = "1d0dee25e0f699db883fa2228b18b6e86ae874a0f538dd362aef70679ca5cc6d" dependencies = [ "backoff", "base64 0.13.1", @@ -9654,7 +9609,7 @@ dependencies = [ "ic-certification", "ic-management-canister-types", "ic-transport-types 0.39.3", - "reqwest 0.12.15", + "reqwest 0.12.23", "schemars", "serde", "serde_bytes", @@ -10921,9 +10876,9 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.12.15" +version = "0.12.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d19c46a6fdd48bc4dab94b6103fccc55d34c67cc0ad04653aad4ea2a07cd7bbb" +checksum = "d429f34c8092b2d42c7c93cec323bb4adeb7c67698f70839adec842ec10c7ceb" dependencies = [ "base64 0.22.1", "bytes", @@ -10932,14 +10887,13 @@ dependencies = [ "futures-core", "futures-util", "h2 0.4.4", - "hickory-resolver 0.24.4", + "hickory-resolver", "http 1.3.1", "http-body 1.0.1", "http-body-util", "hyper 1.6.0", "hyper-rustls 0.27.5", "hyper-util", - "ipnet", "js-sys", "log", "mime", @@ -10950,26 +10904,23 @@ dependencies = [ "quinn", "rustls 0.23.27", "rustls-native-certs 0.8.0", - "rustls-pemfile 2.2.0", "rustls-pki-types", "serde", "serde_json", "serde_urlencoded", "sync_wrapper 1.0.1", - "system-configuration 0.6.1", "tokio", "tokio-rustls 0.26.0", - "tokio-socks", "tokio-util", "tower 0.5.2", + "tower-http 0.6.6", "tower-service", "url", "wasm-bindgen", "wasm-bindgen-futures", "wasm-streams", "web-sys", - "webpki-roots 0.26.8", - "windows-registry", + "webpki-roots 1.0.2", ] [[package]] @@ -11243,9 +11194,9 @@ dependencies = [ [[package]] name = "rustc-demangle" -version = "0.1.23" +version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" +checksum = "56f7d92ca342cea22a06f2121d944b4fd82af56988c270852495420f961d4ace" [[package]] name = "rustc-hash" @@ -11821,18 +11772,18 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.22" +version = "1.0.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca" +checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" dependencies = [ "serde", ] [[package]] name = "serde" -version = "1.0.217" +version = "1.0.219" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70" +checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" dependencies = [ "serde_derive", ] @@ -11899,9 +11850,9 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.217" +version = "1.0.219" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0" +checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" dependencies = [ "proc-macro2", "quote", @@ -11975,18 +11926,6 @@ dependencies = [ "syn 2.0.101", ] -[[package]] -name = "serde_tokenstream" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8790a7c3fe883e443eaa2af6f705952bc5d6e8671a220b9335c8cae92c037e74" -dependencies = [ - "proc-macro2", - "quote", - "serde", - "syn 2.0.101", -] - [[package]] name = "serde_urlencoded" version = "0.7.1" @@ -12025,24 +11964,6 @@ dependencies = [ "time", ] -[[package]] -name = "serde_with" -version = "3.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6b6f7f2fcb69f747921f79f3926bd1e203fce4fef62c268dd3abfb6d86029aa" -dependencies = [ - "base64 0.22.1", - "chrono 0.4.38", - "hex", - "indexmap 1.9.3", - "indexmap 2.7.1", - "serde", - "serde_derive", - "serde_json", - "serde_with_macros 3.12.0", - "time", -] - [[package]] name = "serde_with_macros" version = "1.5.2" @@ -12067,18 +11988,6 @@ dependencies = [ "syn 2.0.101", ] -[[package]] -name = "serde_with_macros" -version = "3.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d00caa5193a3c8362ac2b73be6b9e768aa5a4b2f721d8f4b339600c3cb51f8e" -dependencies = [ - "darling 0.20.11", - "proc-macro2", - "quote", - "syn 2.0.101", -] - [[package]] name = "serde_yaml" version = "0.8.26" @@ -12178,9 +12087,9 @@ dependencies = [ [[package]] name = "sha256" -version = "1.5.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18278f6a914fa3070aa316493f7d2ddfb9ac86ebc06fa3b83bffda487e9065b0" +checksum = "f880fc8562bdeb709793f00eb42a2ad0e672c4f883bbe59122b926eca935c8f6" dependencies = [ "async-trait", "bytes", @@ -12320,7 +12229,7 @@ version = "4.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e7e46c8c90251d47d08b28b8a419ffb4aede0f87c2eea95e17d1d5bacbf3ef1" dependencies = [ - "colored", + "colored 2.0.4", "log", "time", "windows-sys 0.48.0", @@ -13734,17 +13643,19 @@ dependencies = [ [[package]] name = "tower-http" -version = "0.6.4" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fdb0c213ca27a9f57ab69ddb290fd80d970922355b83ae380b395d3986b8a2e" +checksum = "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2" dependencies = [ "async-compression", "bitflags 2.9.0", "bytes", "futures-core", + "futures-util", "http 1.3.1", "http-body 1.0.1", "http-body-util", + "iri-string", "pin-project-lite", "tokio", "tokio-util", @@ -14367,7 +14278,7 @@ dependencies = [ "bytes", "cfg-if 1.0.0", "chrono 0.4.38", - "clap 4.5.20", + "clap 4.5.45", "lalrpop 0.22.1", "lz4_flex", "ordered-float 4.2.0", @@ -14672,17 +14583,6 @@ dependencies = [ "web-sys", ] -[[package]] -name = "wasmparser" -version = "0.119.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c35daf77afb4f9b14016625144a391085ec2ca99ca9cc53ed291bb53ab5278d" -dependencies = [ - "bitflags 2.9.0", - "indexmap 2.7.1", - "semver", -] - [[package]] name = "wasmparser" version = "0.212.0" @@ -15034,6 +14934,15 @@ dependencies = [ "rustls-pki-types", ] +[[package]] +name = "webpki-roots" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e8983c3ab33d6fb807cfcdad2491c4ea8cbc8ed839181c7dfd9c67c83e261b2" +dependencies = [ + "rustls-pki-types", +] + [[package]] name = "wee_alloc" version = "0.4.5" diff --git a/Cargo.lock b/Cargo.lock index 770cf11c413b..85fabce18884 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1084,7 +1084,7 @@ name = "backtrace-canister" version = "0.1.0" dependencies = [ "candid", - "ic-cdk 0.17.2", + "ic-cdk", ] [[package]] @@ -1918,7 +1918,7 @@ version = "0.1.0" dependencies = [ "candid", "futures", - "ic-cdk 0.17.2", + "ic-cdk", "ic_principal", ] @@ -1928,7 +1928,7 @@ version = "0.9.0" dependencies = [ "candid", "futures", - "ic-cdk 0.17.2", + "ic-cdk", "serde", "serde_json", ] @@ -1965,21 +1965,21 @@ dependencies = [ [[package]] name = "canbench-rs" -version = "0.1.9" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "588701e2d05679b79603acca6a6f8b78fe0d21f5f7a9c06fe689f769ae797008" +checksum = "ce6a55bed4e45003d254afc26e86cbc47a808d0db83f1a1c03f535a39f8b38ee" dependencies = [ "canbench-rs-macros", "candid", - "ic-cdk 0.12.2", + "ic-cdk", "serde", ] [[package]] name = "canbench-rs-macros" -version = "0.1.9" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e05fe21a7dfc85c3be8e40edbbcb3fe23b4c070fac4741eff18129f1d0f11aa9" +checksum = "5369e35db0ccebbf4a15b05533c23320f84ca1bee4179874eb28f18335ebff60" dependencies = [ "proc-macro2", "quote", @@ -1988,9 +1988,9 @@ dependencies = [ [[package]] name = "candid" -version = "0.10.13" +version = "0.10.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a253bab4a9be502c82332b60cbeee6202ad0692834efeec95fae9f29db33d692" +checksum = "eaac522d18020d5fbc8320ecb12a9b13b2137ae31133da2d42fa256a825507c4" dependencies = [ "anyhow", "binread", @@ -2020,9 +2020,9 @@ dependencies = [ [[package]] name = "candid_derive" -version = "0.6.6" +version = "0.10.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3de398570c386726e7a59d9887b68763c481477f9a043fb998a2e09d428df1a9" +checksum = "8a1b4fddbd462182050989068d53604a91a3d0f117c3c8316c6818023df00add" dependencies = [ "lazy_static", "proc-macro2", @@ -2112,7 +2112,7 @@ dependencies = [ "candid", "canlog_derive 0.1.0", "ic-canister-log 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ic0 1.0.0", + "ic0", "proptest 1.6.0", "regex", "serde", @@ -2128,7 +2128,7 @@ dependencies = [ "candid", "canlog_derive 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "ic-canister-log 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ic0 1.0.0", + "ic0", "regex", "serde", "serde_json", @@ -2279,10 +2279,10 @@ dependencies = [ "certificate_orchestrator_interface", "cfg-if 1.0.0", "hex", - "ic-cdk 0.17.2", + "ic-cdk", "ic-cdk-timers", "ic-certified-map", - "ic-stable-structures", + "ic-stable-structures 0.6.8", "mockall", "priority-queue", "prometheus 0.13.4", @@ -2299,7 +2299,7 @@ version = "0.9.0" dependencies = [ "addr", "candid", - "ic-stable-structures", + "ic-stable-structures 0.6.8", "serde", "serde_bytes", "thiserror 2.0.12", @@ -2522,7 +2522,7 @@ version = "0.9.0" dependencies = [ "candid", "futures", - "ic-cdk 0.17.2", + "ic-cdk", "serde", ] @@ -3500,7 +3500,7 @@ dependencies = [ "dfn_protobuf", "futures", "ic-base-types", - "ic-cdk 0.17.2", + "ic-cdk", "ic-certified-map", "ic-crypto-tree-hash", "ic-dummy-getrandom-for-wasm", @@ -4144,7 +4144,7 @@ version = "0.1.0" dependencies = [ "candid", "ic-base-types", - "ic-cdk 0.18.0", + "ic-cdk", "serde", ] @@ -4216,7 +4216,7 @@ name = "ecdsa-canister" version = "0.1.0" dependencies = [ "candid", - "ic-cdk 0.17.2", + "ic-cdk", "ic-management-canister-types-private", "serde", "serde_bytes", @@ -4647,7 +4647,7 @@ dependencies = [ "candid", "evm_rpc_types", "ic-canister-log 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ic-cdk 0.17.2", + "ic-cdk", "mockall", "serde", "serde_json", @@ -4723,7 +4723,7 @@ dependencies = [ "futures", "ic-agent", "ic-base-types", - "ic-cdk 0.17.2", + "ic-cdk", "ic-config", "ic-crypto-sha2", "ic-cycles-account-manager", @@ -5679,6 +5679,12 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" +[[package]] +name = "hex-literal" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bcaaec4551594c969335c98c903c1397853d4198408ea609190f420500f6be71" + [[package]] name = "hex_lit" version = "0.1.1" @@ -5951,7 +5957,7 @@ name = "http_counter" version = "0.9.0" dependencies = [ "candid", - "ic-cdk 0.17.2", + "ic-cdk", "ic-certified-map", "serde", ] @@ -6537,7 +6543,7 @@ dependencies = [ "hex", "ic-base-types", "ic-btc-interface", - "ic-cdk 0.17.2", + "ic-cdk", "ic-config", "ic-state-machine-tests", "ic-test-utilities-load-wasm", @@ -6860,12 +6866,12 @@ dependencies = [ "ic-base-types", "ic-btc-interface", "ic-canister-log 0.2.0", - "ic-cdk 0.17.2", + "ic-cdk", "ic-http-types", "ic-management-canister-types", "ic-metrics-assert", "ic-metrics-encoder", - "ic-stable-structures", + "ic-stable-structures 0.6.8", "ic-test-utilities-load-wasm", "ic-types", "ic-universal-canister", @@ -7029,7 +7035,7 @@ name = "ic-canister-profiler" version = "0.9.0" dependencies = [ "ic-metrics-encoder", - "ic0 1.0.0", + "ic0", ] [[package]] @@ -7092,7 +7098,7 @@ version = "0.9.0" dependencies = [ "by_address", "ic-canister-log 0.2.0", - "ic-cdk 0.17.2", + "ic-cdk", "ic-metrics-encoder", "maplit", "priority-queue", @@ -7102,12 +7108,13 @@ dependencies = [ [[package]] name = "ic-canister-sig-creation" -version = "1.1.0" -source = "git+https://github.com/dfinity/ic-canister-sig-creation?rev=7f9e931954637526295269155881207f6c832d6d#7f9e931954637526295269155881207f6c832d6d" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4de4a335e8f13986a39e8d1c02aa6999c7aa5736bc0083dacafe3a99b26f3a2" dependencies = [ "candid", "hex", - "ic-cdk 0.17.2", + "ic-cdk", "ic-certification 3.0.3", "ic-representation-independent-hash", "lazy_static", @@ -7202,42 +7209,16 @@ dependencies = [ [[package]] name = "ic-cdk" -version = "0.12.2" +version = "0.18.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e908da565d9e304e83732500069ebb959e3d2cad80f894889ea37207112c7a0" -dependencies = [ - "candid", - "ic-cdk-macros 0.8.4", - "ic0 0.21.1", - "serde", - "serde_bytes", -] - -[[package]] -name = "ic-cdk" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95a7344f41493cbf591f13ae9f90181076f808a83af799815c3074b19c693d2e" +checksum = "3694c302426834b1300c095b43dee60aaf07264ca07c8f6456fc6b898c99c72f" dependencies = [ "candid", "ic-cdk-executor", - "ic-cdk-macros 0.17.2", - "ic0 0.23.0", - "serde", - "serde_bytes", -] - -[[package]] -name = "ic-cdk" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b11cc255410be6a7e47e1a756ea94c1f31a2397a79e696f6f7d207d5ebd3e144" -dependencies = [ - "candid", - "ic-cdk-macros 0.18.0", - "ic-error-types 0.1.0", + "ic-cdk-macros", + "ic-error-types 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "ic-management-canister-types", - "ic0 0.24.0", + "ic0", "serde", "serde_bytes", "slotmap", @@ -7246,61 +7227,37 @@ dependencies = [ [[package]] name = "ic-cdk-executor" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "903057edd3d4ff4b3fe44a64eaee1ceb73f579ba29e3ded372b63d291d7c16c2" - -[[package]] -name = "ic-cdk-macros" -version = "0.8.4" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5a618e4020cea88e933d8d2f8c7f86d570ec06213506a80d4f2c520a9bba512" +checksum = "99f4ee8930fd2e491177e2eb7fff53ee1c407c13b9582bdc7d6920cf83109a2d" dependencies = [ - "candid", - "proc-macro2", - "quote", - "serde", - "serde_tokenstream 0.1.7", - "syn 1.0.109", + "ic0", + "slotmap", ] [[package]] name = "ic-cdk-macros" -version = "0.17.2" +version = "0.18.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84cbaa50fa36d3e0616114becf81faa95a099e0d60948ed6978f30f1c77399fd" +checksum = "b2cd13805284d5f422012c392a132757c74bd1bb2f7baeda2f3fca5cbe3d8ce7" dependencies = [ "candid", + "darling 0.20.11", "proc-macro2", "quote", - "serde", - "serde_tokenstream 0.2.2", - "syn 2.0.101", -] - -[[package]] -name = "ic-cdk-macros" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30bab0b748bc4059f19abbd2c2609761ca6d6c731979f01148b49afcc4fe7a9f" -dependencies = [ - "candid", - "proc-macro2", - "quote", - "serde", - "serde_tokenstream 0.2.2", "syn 2.0.101", ] [[package]] name = "ic-cdk-timers" -version = "0.11.0" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb8fd812a9e26f6aa00594546f8fbf4d4853f39c3ba794c8ff11ecf86fd3c9e4" +checksum = "9ea87cf31444de833db85bbd15e97bc135ee14529b13158ffdaf6530bf6d7e85" dependencies = [ + "candid", "futures", - "ic-cdk 0.17.2", - "ic0 0.23.0", + "ic-cdk", + "ic0", "serde", "serde_bytes", "slotmap", @@ -7429,7 +7386,7 @@ dependencies = [ "ic-btc-checker", "ic-btc-interface", "ic-canister-log 0.2.0", - "ic-cdk 0.17.2", + "ic-cdk", "ic-config", "ic-crypto-sha2", "ic-dummy-getrandom-for-wasm", @@ -7442,12 +7399,12 @@ dependencies = [ "ic-metrics-assert", "ic-metrics-encoder", "ic-secp256k1", - "ic-stable-structures", + "ic-stable-structures 0.6.8", "ic-state-machine-tests", "ic-test-utilities-load-wasm", "ic-types", "ic-utils-ensure", - "ic0 1.0.0", + "ic0", "icrc-ledger-client-cdk", "icrc-ledger-types", "lazy_static", @@ -7481,11 +7438,11 @@ dependencies = [ "flate2", "futures", "hex", - "hex-literal", + "hex-literal 0.4.1", "ic-agent", "ic-base-types", "ic-canister-log 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ic-cdk 0.17.2", + "ic-cdk", "ic-cdk-timers", "ic-cketh-test-utils", "ic-config", @@ -7497,7 +7454,7 @@ dependencies = [ "ic-metrics-encoder", "ic-secp256k1", "ic-sha3 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ic-stable-structures", + "ic-stable-structures 0.6.8", "ic-state-machine-tests", "ic-utils-ensure", "icrc-cbor", @@ -7536,7 +7493,7 @@ dependencies = [ "evm_rpc_types", "hex", "ic-base-types", - "ic-cdk 0.17.2", + "ic-cdk", "ic-cketh-minter", "ic-error-types 0.2.0", "ic-ethereum-types", @@ -8434,7 +8391,7 @@ dependencies = [ "fe-derive", "group 0.13.0", "hex", - "hex-literal", + "hex-literal 0.4.1", "ic-crypto-internal-hmac", "ic-crypto-internal-seed", "ic-crypto-internal-threshold-sig-canister-threshold-sig-test-utils", @@ -9168,7 +9125,7 @@ dependencies = [ "curve25519-dalek", "ed25519-dalek", "hex", - "hex-literal", + "hex-literal 0.4.1", "hkdf", "pem 1.1.1", "rand 0.8.5", @@ -9250,17 +9207,6 @@ dependencies = [ "wat", ] -[[package]] -name = "ic-error-types" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be844216781d6f4a0853b5a8d63dee8d1b6ee0b9aef310d8c0cb82a6796d7072" -dependencies = [ - "serde", - "strum 0.26.3", - "strum_macros 0.26.4", -] - [[package]] name = "ic-error-types" version = "0.2.0" @@ -9843,13 +9789,13 @@ dependencies = [ "candid_parser", "ciborium", "ic-base-types", - "ic-cdk 0.17.2", + "ic-cdk", "ic-http-types", "ic-ledger-canister-core", "ic-ledger-core", "ic-ledger-test-utils", "ic-metrics-encoder", - "ic-stable-structures", + "ic-stable-structures 0.6.8", "icp-ledger", "pocket-ic", "serde", @@ -9865,7 +9811,7 @@ dependencies = [ "ciborium", "ic-base-types", "ic-canister-log 0.2.0", - "ic-cdk 0.17.2", + "ic-cdk", "ic-cdk-timers", "ic-http-types", "ic-icrc1-index-ng", @@ -9875,7 +9821,7 @@ dependencies = [ "ic-ledger-test-utils", "ic-metrics-encoder", "ic-rosetta-test-utils", - "ic-stable-structures", + "ic-stable-structures 0.6.8", "ic-state-machine-tests", "ic-test-utilities-load-wasm", "icp-ledger", @@ -10071,7 +10017,7 @@ dependencies = [ "candid_parser", "ciborium", "ic-base-types", - "ic-cdk 0.17.2", + "ic-cdk", "ic-http-types", "ic-icrc1", "ic-icrc1-tokens-u256", @@ -10080,7 +10026,7 @@ dependencies = [ "ic-ledger-core", "ic-metrics-encoder", "ic-rosetta-test-utils", - "ic-stable-structures", + "ic-stable-structures 0.6.8", "ic-state-machine-tests", "ic-test-utilities-load-wasm", "icrc-ledger-types", @@ -10098,7 +10044,7 @@ dependencies = [ "ic-base-types", "ic-canister-log 0.2.0", "ic-canister-profiler", - "ic-cdk 0.17.2", + "ic-cdk", "ic-cdk-timers", "ic-crypto-sha2", "ic-http-types", @@ -10113,7 +10059,7 @@ dependencies = [ "ic-metrics-encoder", "ic-registry-subnet-type", "ic-rosetta-test-utils", - "ic-stable-structures", + "ic-stable-structures 0.6.8", "ic-state-machine-tests", "ic-test-utilities-load-wasm", "ic-types", @@ -10142,7 +10088,7 @@ dependencies = [ "ic-base-types", "ic-canister-log 0.2.0", "ic-cbor", - "ic-cdk 0.17.2", + "ic-cdk", "ic-cdk-timers", "ic-certification 3.0.3", "ic-http-types", @@ -10155,7 +10101,7 @@ dependencies = [ "ic-ledger-hash-of", "ic-ledger-suite-state-machine-tests", "ic-metrics-encoder", - "ic-stable-structures", + "ic-stable-structures 0.6.8", "ic-state-machine-tests", "ic-test-utilities-load-wasm", "icrc-ledger-types", @@ -10202,7 +10148,7 @@ dependencies = [ "ethnum", "hex", "ic-ledger-core", - "ic-stable-structures", + "ic-stable-structures 0.6.8", "icrc-cbor", "minicbor", "num-bigint 0.4.6", @@ -10219,7 +10165,7 @@ dependencies = [ "candid", "ciborium", "ic-ledger-core", - "ic-stable-structures", + "ic-stable-structures 0.6.8", "minicbor", "num-traits", "proptest 1.6.0", @@ -10445,12 +10391,12 @@ dependencies = [ "candid", "ic-base-types", "ic-canister-log 0.2.0", - "ic-cdk 0.17.2", + "ic-cdk", "ic-ledger-core", "ic-ledger-hash-of", "ic-limits", "ic-management-canister-types-private", - "ic-stable-structures", + "ic-stable-structures 0.6.8", "ic-utils 0.9.0", "serde", ] @@ -10461,7 +10407,7 @@ version = "0.9.0" dependencies = [ "candid", "ic-ledger-hash-of", - "ic-stable-structures", + "ic-stable-structures 0.6.8", "minicbor", "num-traits", "proptest 1.6.0", @@ -10492,7 +10438,7 @@ dependencies = [ "hex", "ic-base-types", "ic-canister-log 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ic-cdk 0.17.2", + "ic-cdk", "ic-crypto-sha2", "ic-crypto-test-utils-reproducible-rng", "ic-ethereum-types", @@ -10503,9 +10449,9 @@ dependencies = [ "ic-management-canister-types", "ic-management-canister-types-private", "ic-metrics-encoder", - "ic-stable-structures", + "ic-stable-structures 0.6.8", "ic-state-machine-tests", - "ic0 1.0.0", + "ic0", "icrc-ledger-types", "maplit", "mockall", @@ -10528,7 +10474,7 @@ dependencies = [ "assert_matches", "candid", "ic-base-types", - "ic-cdk 0.17.2", + "ic-cdk", "ic-http-types", "ic-icrc1-ledger", "ic-ledger-suite-orchestrator", @@ -10646,9 +10592,9 @@ dependencies = [ [[package]] name = "ic-management-canister-types" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98554c2d8a30c00b6bfda18062fdcef21215cad07a52d8b8b1eb3130e51bfe71" +checksum = "95f3af3543f6d0cbdecd2dcdfd4737ada2bd42d935cc787eec22090c96492c76" dependencies = [ "candid", "serde", @@ -10694,7 +10640,7 @@ name = "ic-message" version = "0.9.0" dependencies = [ "candid", - "ic-cdk 0.17.2", + "ic-cdk", "serde", ] @@ -10879,7 +10825,7 @@ name = "ic-nervous-system-chunks" version = "0.9.0" dependencies = [ "ic-crypto-sha2", - "ic-stable-structures", + "ic-stable-structures 0.6.8", "lazy_static", "prost 0.13.4", ] @@ -10939,7 +10885,7 @@ dependencies = [ "ic-nervous-system-runtime", "ic-nns-constants", "ic-nns-gtc", - "ic-stable-structures", + "ic-stable-structures 0.6.8", "icp-ledger", "icrc-ledger-types", "json5", @@ -11014,7 +10960,7 @@ name = "ic-nervous-system-governance" version = "0.0.1" dependencies = [ "ic-base-types", - "ic-stable-structures", + "ic-stable-structures 0.6.8", "ic_principal", "maplit", "num-traits", @@ -11059,7 +11005,7 @@ dependencies = [ name = "ic-nervous-system-instruction-stats" version = "0.0.1" dependencies = [ - "ic-cdk 0.17.2", + "ic-cdk", "ic-metrics-encoder", "ic-nervous-system-histogram", "itertools 0.12.1", @@ -11071,7 +11017,7 @@ name = "ic-nervous-system-instruction-stats-update-attribute" version = "0.0.1" dependencies = [ "candid", - "ic-cdk 0.17.2", + "ic-cdk", "quote", "syn 1.0.109", ] @@ -11174,7 +11120,7 @@ version = "0.0.1" dependencies = [ "candid", "canister-test", - "ic-cdk 0.17.2", + "ic-cdk", "ic-cdk-timers", "ic-config", "ic-nervous-system-temporary", @@ -11213,7 +11159,7 @@ name = "ic-nervous-system-proxied-canister-calls-tracker" version = "0.9.0" dependencies = [ "ic-base-types", - "ic-cdk 0.17.2", + "ic-cdk", "maplit", "pretty_assertions", "tokio", @@ -11226,7 +11172,7 @@ dependencies = [ "async-trait", "candid", "dfn_core", - "ic-cdk 0.17.2", + "ic-cdk", "ic-crypto-sha2", "ic-management-canister-types-private", "ic-nervous-system-clients", @@ -11246,7 +11192,7 @@ dependencies = [ "dfn_candid", "dfn_core", "ic-base-types", - "ic-cdk 0.17.2", + "ic-cdk", ] [[package]] @@ -11282,7 +11228,7 @@ dependencies = [ name = "ic-nervous-system-time-helpers" version = "0.9.0" dependencies = [ - "ic-cdk 0.17.2", + "ic-cdk", ] [[package]] @@ -11293,7 +11239,7 @@ dependencies = [ "candid", "canister-test", "futures", - "ic-cdk 0.17.2", + "ic-cdk", "ic-config", "ic-metrics-encoder", "ic-nervous-system-time-helpers", @@ -11347,7 +11293,7 @@ name = "ic-neurons-fund" version = "0.0.1" dependencies = [ "assert_matches", - "ic-cdk 0.17.2", + "ic-cdk", "ic-nervous-system-common", "lazy_static", "proptest 1.6.0", @@ -11382,7 +11328,7 @@ dependencies = [ "candid", "comparable", "ic-base-types", - "ic-cdk 0.17.2", + "ic-cdk", "ic-crypto-sha2", "ic-nervous-system-canisters", "ic-nervous-system-common", @@ -11391,7 +11337,7 @@ dependencies = [ "ic-protobuf", "ic-registry-keys", "ic-registry-transport", - "ic-stable-structures", + "ic-stable-structures 0.6.8", "ic-test-utilities-compare-dirs", "ic-types", "lazy_static", @@ -11478,7 +11424,7 @@ dependencies = [ "dyn-clone", "futures", "ic-base-types", - "ic-cdk 0.17.2", + "ic-cdk", "ic-cdk-timers", "ic-config", "ic-crypto-sha2", @@ -11519,7 +11465,7 @@ dependencies = [ "ic-sns-root", "ic-sns-swap", "ic-sns-wasm", - "ic-stable-structures", + "ic-stable-structures 0.6.8", "ic-test-utilities-compare-dirs", "ic-types", "ic-utils 0.9.0", @@ -11617,7 +11563,7 @@ dependencies = [ "dfn_candid", "dfn_core", "hex", - "hex-literal", + "hex-literal 0.4.1", "ic-base-types", "ic-crypto-sha2", "ic-dummy-getrandom-for-wasm", @@ -11675,7 +11621,7 @@ dependencies = [ "dfn_candid", "hex", "ic-base-types", - "ic-cdk 0.17.2", + "ic-cdk", "ic-crypto-sha2", "ic-http-types", "ic-management-canister-types-private", @@ -11718,7 +11664,7 @@ dependencies = [ "async-trait", "candid", "ic-base-types", - "ic-cdk 0.17.2", + "ic-cdk", "ic-nervous-system-clients", "ic-nns-constants", "serde", @@ -11778,7 +11724,7 @@ dependencies = [ "ic-base-types", "ic-canister-client-sender", "ic-cbor", - "ic-cdk 0.17.2", + "ic-cdk", "ic-cdk-timers", "ic-certificate-verification", "ic-certification 3.0.3", @@ -11819,7 +11765,7 @@ dependencies = [ "ic-sns-root", "ic-sns-swap", "ic-sns-wasm", - "ic-stable-structures", + "ic-stable-structures 0.6.8", "ic-state-machine-tests", "ic-test-utilities", "ic-test-utilities-metrics", @@ -11962,7 +11908,7 @@ dependencies = [ "futures", "futures-util", "ic-base-types", - "ic-cdk 0.17.2", + "ic-cdk", "ic-cdk-timers", "ic-interfaces-registry", "ic-management-canister-types", @@ -11978,7 +11924,7 @@ dependencies = [ "ic-registry-canister-client", "ic-registry-keys", "ic-registry-node-provider-rewards", - "ic-stable-structures", + "ic-stable-structures 0.6.8", "ic-state-machine-tests", "ic-types", "indexmap 2.10.0", @@ -11999,7 +11945,7 @@ name = "ic-node-rewards-canister-api" version = "0.9.0" dependencies = [ "candid", - "ic-cdk 0.17.2", + "ic-cdk", "serde", ] @@ -12354,10 +12300,10 @@ dependencies = [ name = "ic-registry-canister-chunkify" version = "0.9.0" dependencies = [ - "ic-cdk 0.17.2", + "ic-cdk", "ic-nervous-system-chunks", "ic-registry-transport", - "ic-stable-structures", + "ic-stable-structures 0.6.8", "lazy_static", "prost 0.13.4", ] @@ -12370,14 +12316,14 @@ dependencies = [ "async-trait", "candid", "futures", - "ic-cdk 0.17.2", + "ic-cdk", "ic-interfaces-registry", "ic-nervous-system-canisters", "ic-nns-common", "ic-nns-constants", "ic-registry-keys", "ic-registry-transport", - "ic-stable-structures", + "ic-stable-structures 0.6.8", "ic-types", "itertools 0.12.1", "prost 0.13.4", @@ -12454,7 +12400,7 @@ name = "ic-registry-fetch-large-record-test-canister" version = "0.0.1" dependencies = [ "candid", - "ic-cdk 0.17.2", + "ic-cdk", "ic-crypto-sha2", "ic-nervous-system-canisters", "ic-registry-transport", @@ -12563,7 +12509,7 @@ name = "ic-registry-node-provider-rewards" version = "0.9.0" dependencies = [ "ic-base-types", - "ic-cdk 0.17.2", + "ic-cdk", "ic-protobuf", "maplit", "pretty_assertions", @@ -13121,7 +13067,7 @@ dependencies = [ "bitcoin 0.28.2", "candid", "hex", - "hex-literal", + "hex-literal 0.4.1", "hmac", "k256 0.13.4", "lazy_static", @@ -13141,7 +13087,7 @@ name = "ic-secp256r1" version = "0.1.0" dependencies = [ "hex", - "hex-literal", + "hex-literal 0.4.1", "hmac", "lazy_static", "num-bigint 0.4.6", @@ -13162,7 +13108,7 @@ dependencies = [ "candid", "candid_parser", "futures", - "ic-cdk 0.17.2", + "ic-cdk", "serde", ] @@ -13208,7 +13154,7 @@ name = "ic-signer" version = "0.9.0" dependencies = [ "candid", - "ic-cdk 0.17.2", + "ic-cdk", "ic-management-canister-types", "ic_bls12_381", "serde", @@ -13306,7 +13252,7 @@ dependencies = [ "ic-canister-client-sender", "ic-canister-log 0.2.0", "ic-canister-profiler", - "ic-cdk 0.17.2", + "ic-cdk", "ic-cdk-timers", "ic-crypto-sha2", "ic-http-types", @@ -13339,7 +13285,7 @@ dependencies = [ "ic-sns-governance-protobuf-generator", "ic-sns-governance-token-valuation", "ic-sns-test-utils", - "ic-stable-structures", + "ic-stable-structures 0.6.8", "ic-test-utilities-compare-dirs", "ic-test-utilities-types", "ic-types", @@ -13444,7 +13390,7 @@ dependencies = [ "cycles-minting-canister", "futures", "ic-base-types", - "ic-cdk 0.17.2", + "ic-cdk", "ic-nervous-system-common", "ic-nervous-system-initial-supply", "ic-nervous-system-runtime", @@ -13578,7 +13524,7 @@ dependencies = [ "futures", "ic-base-types", "ic-canister-log 0.2.0", - "ic-cdk 0.17.2", + "ic-cdk", "ic-cdk-timers", "ic-http-types", "ic-management-canister-types-private", @@ -13623,7 +13569,7 @@ dependencies = [ "hex", "ic-base-types", "ic-canister-log 0.2.0", - "ic-cdk 0.17.2", + "ic-cdk", "ic-cdk-timers", "ic-http-types", "ic-ledger-core", @@ -13638,7 +13584,7 @@ dependencies = [ "ic-neurons-fund", "ic-sns-governance", "ic-sns-swap-protobuf-generator", - "ic-stable-structures", + "ic-stable-structures 0.6.8", "ic-test-utilities-compare-dirs", "ic-utils 0.9.0", "icp-ledger", @@ -13740,7 +13686,7 @@ dependencies = [ "ic-agent", "ic-base-types", "ic-canister-client-sender", - "ic-cdk 0.17.2", + "ic-cdk", "ic-management-canister-types", "ic-management-canister-types-private", "ic-nervous-system-agent", @@ -13784,7 +13730,7 @@ dependencies = [ "futures", "hex", "ic-base-types", - "ic-cdk 0.17.2", + "ic-cdk", "ic-crypto-sha2", "ic-http-types", "ic-icrc1", @@ -13844,6 +13790,15 @@ dependencies = [ "ic_principal", ] +[[package]] +name = "ic-stable-structures" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e54aeb082293c69def5ab34c70593ba85ff000386f7d0eacdf73514daaeca031" +dependencies = [ + "ic_principal", +] + [[package]] name = "ic-state-layout" version = "0.9.0" @@ -14158,7 +14113,7 @@ dependencies = [ "ic-base-types", "ic-canister-client", "ic-canister-client-sender", - "ic-cdk 0.17.2", + "ic-cdk", "ic-config", "ic-crypto-sha2", "ic-crypto-tree-hash", @@ -14298,7 +14253,7 @@ dependencies = [ name = "ic-test-utilities" version = "0.9.0" dependencies = [ - "hex-literal", + "hex-literal 0.4.1", "ic-artifact-pool", "ic-btc-replica-types", "ic-config", @@ -14616,7 +14571,7 @@ dependencies = [ "canister-test", "dfn_candid", "futures", - "hex-literal", + "hex-literal 0.4.1", "ic-base-types", "ic-cketh-minter", "ic-ethereum-types", @@ -14704,7 +14659,7 @@ dependencies = [ "candid", "chrono", "hex", - "hex-literal", + "hex-literal 0.4.1", "ic-base-types", "ic-btc-replica-types", "ic-crypto-internal-types", @@ -14902,7 +14857,7 @@ dependencies = [ "getrandom 0.2.15", "hex", "ic-canister-client-sender", - "ic-cdk 0.17.2", + "ic-cdk", "ic-certification-test-utils", "ic-crypto-interfaces-sig-verification", "ic-crypto-standalone-sig-verifier", @@ -14929,7 +14884,7 @@ dependencies = [ "build-info-build", "candid", "canister-test", - "ic-cdk 0.17.2", + "ic-cdk", "ic-state-machine-tests", "ic-types", "ic-validator-ingress-message", @@ -14965,17 +14920,18 @@ dependencies = [ [[package]] name = "ic-vetkeys" -version = "0.1.0" -source = "git+https://github.com/dfinity/vetkeys?rev=5885675b6ccb5269cfac9740dc3da6f14f75347f#5885675b6ccb5269cfac9740dc3da6f14f75347f" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89db8e638924d9e07dd8fa33dc5cfcdc69b7331bed7fcc72e2586f3956b12e58" dependencies = [ "anyhow", "candid", "futures", - "hex", + "hex-literal 1.0.0", "hkdf", - "ic-cdk 0.17.2", - "ic-cdk-macros 0.17.2", - "ic-stable-structures", + "ic-cdk", + "ic-cdk-macros", + "ic-stable-structures 0.7.0", "ic_bls12_381", "lazy_static", "pairing", @@ -14983,11 +14939,11 @@ dependencies = [ "rand_chacha 0.3.1", "serde", "serde_bytes", - "serde_with 3.12.0", + "serde_cbor", "sha2 0.10.9", "sha3", - "strum 0.26.3", - "strum_macros 0.26.4", + "strum 0.27.1", + "strum_macros 0.27.1", "subtle", "zeroize", ] @@ -15124,24 +15080,6 @@ dependencies = [ "serde", ] -[[package]] -name = "ic0" -version = "0.21.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a54b5297861c651551676e8c43df805dad175cc33bc97dbd992edbbb85dcbcdf" - -[[package]] -name = "ic0" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8de254dd67bbd58073e23dc1c8553ba12fa1dc610a19de94ad2bbcd0460c067f" - -[[package]] -name = "ic0" -version = "0.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "673a6b846467547f3fc61f95d246aadff03e368b53c931655300b9d1bd05a55a" - [[package]] name = "ic0" version = "1.0.0" @@ -15324,7 +15262,7 @@ dependencies = [ "ic-agent", "ic-base-types", "ic-canister-client", - "ic-cdk 0.17.2", + "ic-cdk", "ic-config", "ic-limits", "ic-management-canister-types", @@ -15430,7 +15368,7 @@ dependencies = [ "candid", "canister-test", "ic-base-types", - "ic-cdk 0.17.2", + "ic-cdk", "ic-state-machine-tests", "ic-types", "lazy_static", @@ -15467,7 +15405,7 @@ dependencies = [ "hex", "ic-base-types", "ic-canister-client-sender", - "ic-cdk 0.17.2", + "ic-cdk", "ic-crypto-sha2", "ic-http-types", "ic-icp-archive", @@ -15479,7 +15417,7 @@ dependencies = [ "ic-ledger-test-utils", "ic-nns-constants", "ic-nns-test-utils-golden-nns-state", - "ic-stable-structures", + "ic-stable-structures 0.6.8", "ic-state-machine-tests", "ic-test-utilities-compare-dirs", "icrc-ledger-types", @@ -15566,7 +15504,7 @@ version = "0.1.2" dependencies = [ "async-trait", "candid", - "ic-cdk 0.17.2", + "ic-cdk", "icrc-ledger-client", ] @@ -15579,7 +15517,7 @@ dependencies = [ "candid", "crc32fast", "hex", - "ic-stable-structures", + "ic-stable-structures 0.6.8", "icrc-cbor", "itertools 0.12.1", "minicbor", @@ -16402,7 +16340,7 @@ dependencies = [ "base64 0.13.1", "candid", "flate2", - "ic-cdk 0.17.2", + "ic-cdk", "ic-certified-map", "serde", "serde_cbor", @@ -16570,7 +16508,7 @@ dependencies = [ "ic-agent", "ic-base-types", "ic-canister-log 0.2.0", - "ic-cdk 0.17.2", + "ic-cdk", "ic-error-types 0.2.0", "ic-http-types", "ic-icrc1", @@ -16581,7 +16519,7 @@ dependencies = [ "ic-ledger-suite-state-machine-tests", "ic-limits", "ic-metrics-encoder", - "ic-stable-structures", + "ic-stable-structures 0.6.8", "ic-state-machine-tests", "ic-test-utilities-load-wasm", "icp-ledger", @@ -16946,7 +16884,7 @@ name = "load-simulator" version = "0.1.0" dependencies = [ "candid", - "ic-cdk 0.17.2", + "ic-cdk", "ic-cdk-timers", ] @@ -17460,7 +17398,7 @@ dependencies = [ "candid", "candid_parser", "ic-canister-log 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ic-cdk 0.17.2", + "ic-cdk", "ic-cdk-timers", "sns-treasury-manager", ] @@ -17649,7 +17587,7 @@ dependencies = [ "dfn_candid", "ic-agent", "ic-base-types", - "ic-cdk 0.17.2", + "ic-cdk", "ic-crypto-tree-hash", "ic-http-endpoints-test-agent", "ic-limits", @@ -19086,7 +19024,7 @@ dependencies = [ "ed25519-dalek", "flate2", "hex", - "ic-cdk 0.17.2", + "ic-cdk", "ic-certification 3.0.3", "ic-error-types 0.2.0", "ic-management-canister-types", @@ -19148,7 +19086,7 @@ dependencies = [ "ic-btc-adapter", "ic-btc-interface", "ic-canister-sandbox-backend-lib", - "ic-cdk 0.17.2", + "ic-cdk", "ic-config", "ic-crypto-iccsa", "ic-crypto-sha2", @@ -19227,7 +19165,7 @@ name = "pocket-ic-test-canister" version = "0.9.0" dependencies = [ "candid", - "ic-cdk 0.17.2", + "ic-cdk", "icrc-ledger-types", "serde", "serde_bytes", @@ -19780,7 +19718,7 @@ version = "0.1.0" dependencies = [ "candid", "futures", - "ic-cdk 0.17.2", + "ic-cdk", "ic-management-canister-types-private", "serde", ] @@ -20160,7 +20098,7 @@ dependencies = [ "candid", "futures", "ic-base-types", - "ic-cdk 0.18.0", + "ic-cdk", "ic-error-types 0.2.0", "ic-types", "proptest 1.6.0", @@ -20298,11 +20236,11 @@ dependencies = [ "candid_parser", "getrandom 0.2.15", "ic-canister-log 0.2.0", - "ic-cdk 0.17.2", + "ic-cdk", "ic-cdk-timers", "ic-http-types", "ic-nns-constants", - "ic-stable-structures", + "ic-stable-structures 0.6.8", "mockall", "prometheus 0.13.4", "rand_chacha 0.3.1", @@ -20519,7 +20457,7 @@ dependencies = [ "hex", "ic-base-types", "ic-canister-client-sender", - "ic-cdk 0.17.2", + "ic-cdk", "ic-certified-map", "ic-config", "ic-crypto-node-key-generation", @@ -20559,7 +20497,7 @@ dependencies = [ "ic-registry-subnet-type", "ic-registry-transport", "ic-replica-tests", - "ic-stable-structures", + "ic-stable-structures 0.6.8", "ic-test-utilities", "ic-test-utilities-compare-dirs", "ic-test-utilities-types", @@ -20769,7 +20707,7 @@ name = "response-payload-test" version = "0.9.0" dependencies = [ "candid", - "ic-cdk 0.17.2", + "ic-cdk", "serde", ] @@ -20786,7 +20724,7 @@ dependencies = [ "candid", "chrono", "ic-base-types", - "ic-cdk 0.17.2", + "ic-cdk", "ic-protobuf", "ic-types", "itertools 0.12.1", @@ -21531,11 +21469,11 @@ dependencies = [ "candid", "candid_parser", "ic-canister-log 0.2.0", - "ic-cdk 0.17.2", + "ic-cdk", "ic-cdk-timers", "ic-http-types", "ic-nns-constants", - "ic-stable-structures", + "ic-stable-structures 0.6.8", "prometheus 0.13.4", "salt-sharing-api", "serde", @@ -21745,7 +21683,7 @@ version = "0.29.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9465315bc9d4566e1724f0fffcbcc446268cb522e60f9a27bcded6b19c108113" dependencies = [ - "bitcoin_hashes 0.12.0", + "bitcoin_hashes 0.14.0", "rand 0.8.5", "secp256k1-sys 0.10.1", "serde", @@ -21854,9 +21792,9 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.217" +version = "1.0.219" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70" +checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" dependencies = [ "serde_derive", ] @@ -21923,9 +21861,9 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.217" +version = "1.0.219" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0" +checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" dependencies = [ "proc-macro2", "quote", @@ -21999,29 +21937,6 @@ dependencies = [ "syn 2.0.101", ] -[[package]] -name = "serde_tokenstream" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "797ba1d80299b264f3aac68ab5d12e5825a561749db4df7cd7c8083900c5d4e9" -dependencies = [ - "proc-macro2", - "serde", - "syn 1.0.109", -] - -[[package]] -name = "serde_tokenstream" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64060d864397305347a78851c51588fd283767e7e7589829e8121d65512340f1" -dependencies = [ - "proc-macro2", - "quote", - "serde", - "syn 2.0.101", -] - [[package]] name = "serde_urlencoded" version = "0.7.1" @@ -22060,24 +21975,6 @@ dependencies = [ "time", ] -[[package]] -name = "serde_with" -version = "3.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6b6f7f2fcb69f747921f79f3926bd1e203fce4fef62c268dd3abfb6d86029aa" -dependencies = [ - "base64 0.22.1", - "chrono", - "hex", - "indexmap 1.9.3", - "indexmap 2.10.0", - "serde", - "serde_derive", - "serde_json", - "serde_with_macros 3.12.0", - "time", -] - [[package]] name = "serde_with_macros" version = "1.5.2" @@ -22102,18 +21999,6 @@ dependencies = [ "syn 2.0.101", ] -[[package]] -name = "serde_with_macros" -version = "3.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d00caa5193a3c8362ac2b73be6b9e768aa5a4b2f721d8f4b339600c3cb51f8e" -dependencies = [ - "darling 0.20.11", - "proc-macro2", - "quote", - "syn 2.0.101", -] - [[package]] name = "serde_yaml" version = "0.9.34+deprecated" @@ -22746,8 +22631,8 @@ name = "stable_structures" version = "0.9.0" dependencies = [ "candid", - "ic-cdk 0.17.2", - "ic-stable-structures", + "ic-cdk", + "ic-stable-structures 0.6.8", "serde", ] @@ -22770,7 +22655,7 @@ version = "0.9.0" dependencies = [ "candid", "canister-test", - "ic-cdk 0.17.2", + "ic-cdk", "ic-management-canister-types-private", "ic-state-machine-tests", "ic-test-utilities", @@ -23307,7 +23192,7 @@ version = "0.9.0" dependencies = [ "candid", "futures", - "ic-cdk 0.17.2", + "ic-cdk", "serde", ] @@ -24297,7 +24182,7 @@ version = "1.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" dependencies = [ - "cfg-if 0.1.10", + "cfg-if 1.0.0", "static_assertions", ] @@ -25872,7 +25757,7 @@ version = "0.9.0" dependencies = [ "candid", "futures", - "ic-cdk 0.18.0", + "ic-cdk", "ic-management-canister-types", "rand 0.8.5", "rand_pcg 0.3.1", @@ -25885,7 +25770,7 @@ name = "xrc-mock" version = "0.9.0" dependencies = [ "candid", - "ic-cdk 0.17.2", + "ic-cdk", "ic-xrc-types", "serde", ] diff --git a/Cargo.toml b/Cargo.toml index 834b9fb7680e..e211df80fc2c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -591,7 +591,8 @@ bitcoincore-rpc = "0.19.0" build-info = { git = "https://github.com/dfinity-lab/build-info", rev = "701a696844fba5c87df162fbbc1ccef96f27c9d7" } build-info-build = { git = "https://github.com/dfinity-lab/build-info", rev = "701a696844fba5c87df162fbbc1ccef96f27c9d7", default-features = false } bytes = "1.9.0" -candid = { version = "0.10.6" } +canbench-rs = "0.2.1" +candid = { version = "0.10.17" } candid_parser = { version = "0.1.2" } chrono = { version = "0.4.38", default-features = false, features = [ "alloc", @@ -655,10 +656,10 @@ ic-bn-lib = { git = "https://github.com/dfinity/ic-bn-lib", rev = "620fb49a238b3 "acme_alpn", ] } ic-btc-interface = "0.2.2" -ic-canister-sig-creation = { git = "https://github.com/dfinity/ic-canister-sig-creation", rev = "7f9e931954637526295269155881207f6c832d6d" } +ic-canister-sig-creation = "1.3.0" ic-cbor = "3" -ic-cdk = "0.17.2" -ic-cdk-timers = "0.11.0" +ic-cdk = "0.18.6" +ic-cdk-timers = "0.12.2" ic-certificate-verification = "3" ic-certification = "3" ic-gateway = { git = "https://github.com/dfinity/ic-gateway", rev = "b78562340bd00f05f9c055dcba3ec0f74758c927", default-features = false } @@ -671,7 +672,7 @@ ic-sha3 = "1.0.0" ic-stable-structures = "0.6.8" ic-transport-types = { version = "0.40.1" } ic-utils = { version = "0.40.1", features = ["raw"] } -ic-vetkeys = { git = "https://github.com/dfinity/vetkeys", rev = "5885675b6ccb5269cfac9740dc3da6f14f75347f" } +ic-vetkeys = "0.4.0" ic_bls12_381 = { version = "0.10.1", default-features = false, features = [ "groups", "pairings", diff --git a/MODULE.bazel b/MODULE.bazel index bf6b0a987e46..d6e17dffcb2f 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -834,8 +834,8 @@ http_file( # ci/container/container-run.sh # bazel build //publish/binaries:pocket-ic.gz # sha256sum bazel-bin/publish/binaries/pocket-ic.gz - sha256 = "399596330c40a76effbbd20660ce8e892d5d74f3de6380cad4aac1598b9d6394", - url = "https://download.dfinity.systems/ic/c36a05a9d367bb6ba9068444e6d6f53e7911f1b0/binaries/x86_64-linux/pocket-ic.gz", + sha256 = "237272216498074e5250a0685813b96632963ff9abbc51a7030d9b625985028d", + url = "https://github.com/dfinity/pocketic/releases/download/9.0.1/pocket-ic-x86_64-linux.gz", ) # Management canister candid interface diff --git a/bazel/external_crates.bzl b/bazel/external_crates.bzl index eee1f7a3b648..a25007e182a8 100644 --- a/bazel/external_crates.bzl +++ b/bazel/external_crates.bzl @@ -370,13 +370,13 @@ def external_crates_repository(name, cargo_lockfile, lockfile): default_features = False, ), "canbench": crate.spec( - version = "^0.1.15", + version = "^0.2.1", ), "canbench-rs": crate.spec( - version = "^0.1.15", + version = "^0.2.1", ), "candid": crate.spec( - version = "^0.10.13", + version = "^0.10.17", ), "cargo_metadata": crate.spec( version = "^0.14.2", @@ -662,21 +662,19 @@ def external_crates_repository(name, cargo_lockfile, lockfile): version = "^0.2.0", ), "ic-canister-sig-creation": crate.spec( - git = "https://github.com/dfinity/ic-canister-sig-creation", - rev = "7f9e931954637526295269155881207f6c832d6d", + version = "^1.3.0", ), "ic-cbor": crate.spec( version = "3.0.3", ), "ic-cdk": crate.spec( - version = "^0.17.2", + version = "^0.18.6", ), - "ic-cdk-next": crate.spec( - package = "ic-cdk", - version = "^0.18.0-alpha.2", + "ic-cdk-executor": crate.spec( + version = "^1.0.2", ), "ic-cdk-timers": crate.spec( - version = "^0.11.0", + version = "^0.12.2", ), "ic-certified-map": crate.spec( version = "^0.3.1", @@ -746,8 +744,7 @@ def external_crates_repository(name, cargo_lockfile, lockfile): default_features = False, ), "ic-vetkeys": crate.spec( - git = "https://github.com/dfinity/vetkeys", - rev = "5885675b6ccb5269cfac9740dc3da6f14f75347f", + version = "^0.4.0", ), "ic-wasm": crate.spec( version = "^0.8.4", diff --git a/packages/icrc-ledger-client-cdk/src/lib.rs b/packages/icrc-ledger-client-cdk/src/lib.rs index 9e8c10b1f788..ce0c4d97a448 100644 --- a/packages/icrc-ledger-client-cdk/src/lib.rs +++ b/packages/icrc-ledger-client-cdk/src/lib.rs @@ -20,6 +20,7 @@ impl Runtime for CdkRuntime { In: ArgumentEncoder + Send, Out: for<'a> ArgumentDecoder<'a>, { + #[allow(deprecated)] ic_cdk::call(id, method, args) .await .map_err(|(code, msg)| (code as i32, msg)) diff --git a/packages/pocket-ic/test_canister/src/canister.rs b/packages/pocket-ic/test_canister/src/canister.rs index ed8f7fb9bb39..5244df0a9cef 100644 --- a/packages/pocket-ic/test_canister/src/canister.rs +++ b/packages/pocket-ic/test_canister/src/canister.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] use candid::{define_function, CandidType, Nat, Principal}; use ic_cdk::api::call::{accept_message, arg_data_raw, reject, RejectionCode}; use ic_cdk::api::instruction_counter; diff --git a/rs/bitcoin/checker/src/main.rs b/rs/bitcoin/checker/src/main.rs index 374e4f3b0a9b..ed79ed68efcf 100644 --- a/rs/bitcoin/checker/src/main.rs +++ b/rs/bitcoin/checker/src/main.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] use bitcoin::{consensus::Decodable, Address, Transaction}; use candid::Nat; use ic_btc_checker::{ @@ -69,10 +70,10 @@ fn check_address(args: CheckAddressArgs) -> CheckAddressResponse { let config = get_config(); let btc_network = config.btc_network(); let address = Address::from_str(args.address.trim()) - .unwrap_or_else(|err| ic_cdk::trap(&format!("Invalid Bitcoin address: {}", err))) + .unwrap_or_else(|err| ic_cdk::trap(format!("Invalid Bitcoin address: {}", err))) .require_network(btc_network.clone().into()) .unwrap_or_else(|err| { - ic_cdk::trap(&format!("Not a Bitcoin {} address: {}", btc_network, err)) + ic_cdk::trap(format!("Not a Bitcoin {} address: {}", btc_network, err)) }); match config.check_mode { @@ -169,7 +170,7 @@ fn init(arg: Option) { init_arg.check_mode, init_arg.num_subnet_nodes, ) - .unwrap_or_else(|err| ic_cdk::trap(&format!("error creating config: {}", err))), + .unwrap_or_else(|err| ic_cdk::trap(format!("error creating config: {}", err))), ), _ => { ic_cdk::trap("cannot init canister state without init args"); @@ -192,7 +193,7 @@ fn post_upgrade(arg: Option) { .unwrap_or(old_config.check_mode); let config = Config::new_and_validate(old_config.btc_network(), check_mode, num_subnet_nodes) - .unwrap_or_else(|err| ic_cdk::trap(&format!("error creating config: {}", err))); + .unwrap_or_else(|err| ic_cdk::trap(format!("error creating config: {}", err))); set_config(config); } Some(CheckArg::InitArg(_)) => { diff --git a/rs/bitcoin/checker/tests/tests.rs b/rs/bitcoin/checker/tests/tests.rs index 3222c2f4951c..b93afd56e898 100644 --- a/rs/bitcoin/checker/tests/tests.rs +++ b/rs/bitcoin/checker/tests/tests.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] use candid::{decode_one, Encode, Principal}; use ic_base_types::PrincipalId; use ic_btc_checker::{ diff --git a/rs/bitcoin/ckbtc/minter/Cargo.toml b/rs/bitcoin/ckbtc/minter/Cargo.toml index 06c83acf27f3..03a6fdaa4098 100644 --- a/rs/bitcoin/ckbtc/minter/Cargo.toml +++ b/rs/bitcoin/ckbtc/minter/Cargo.toml @@ -14,7 +14,7 @@ path = "src/main.rs" async-trait = { workspace = true } bech32 = "0.9.0" bs58 = "0.5.0" -canbench-rs = { version = "0.1.7", optional = true } +canbench-rs = { workspace = true, optional = true } candid = { workspace = true } ciborium = { workspace = true } hex = { workspace = true } diff --git a/rs/bitcoin/ckbtc/minter/src/lib.rs b/rs/bitcoin/ckbtc/minter/src/lib.rs index 68cdcf44d57d..83d959909260 100644 --- a/rs/bitcoin/ckbtc/minter/src/lib.rs +++ b/rs/bitcoin/ckbtc/minter/src/lib.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] use crate::address::BitcoinAddress; use crate::logs::{P0, P1}; use crate::management::CallError; diff --git a/rs/bitcoin/ckbtc/minter/src/lifecycle/upgrade.rs b/rs/bitcoin/ckbtc/minter/src/lifecycle/upgrade.rs index a692f022f1dc..fc84579c5383 100644 --- a/rs/bitcoin/ckbtc/minter/src/lifecycle/upgrade.rs +++ b/rs/bitcoin/ckbtc/minter/src/lifecycle/upgrade.rs @@ -69,7 +69,7 @@ pub fn post_upgrade(upgrade_args: Option) { log!(P0, "[upgrade]: replaying {} events", count_events()); let state = replay::(events()).unwrap_or_else(|e| { - ic_cdk::trap(&format!( + ic_cdk::trap(format!( "[upgrade]: failed to replay the event log: {:?}", e )) diff --git a/rs/bitcoin/ckbtc/minter/src/main.rs b/rs/bitcoin/ckbtc/minter/src/main.rs index ecbe09d7a334..a7c7feedc24c 100644 --- a/rs/bitcoin/ckbtc/minter/src/main.rs +++ b/rs/bitcoin/ckbtc/minter/src/main.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] use candid::Principal; use ic_btc_interface::Utxo; use ic_canister_log::export as export_logs; @@ -111,10 +112,15 @@ fn check_anonymous_caller() { #[export_name = "canister_global_timer"] fn timer() { - #[cfg(feature = "self_check")] - ok_or_die(check_invariants()); - - ic_ckbtc_minter::timer(IC_CANISTER_RUNTIME); + // ic_ckbtc_minter::timer invokes ic_cdk::spawn + // which must be wrapped in in_executor_context + // as required by the new ic-cdk-executor. + ic_cdk::futures::in_executor_context(|| { + #[cfg(feature = "self_check")] + ok_or_die(check_invariants()); + + ic_ckbtc_minter::timer(IC_CANISTER_RUNTIME); + }); } #[post_upgrade] diff --git a/rs/bitcoin/ckbtc/minter/src/state.rs b/rs/bitcoin/ckbtc/minter/src/state.rs index 953d5b5eea8a..0e5056f8a5ea 100644 --- a/rs/bitcoin/ckbtc/minter/src/state.rs +++ b/rs/bitcoin/ckbtc/minter/src/state.rs @@ -844,7 +844,7 @@ impl CkBtcMinterState { { self.stuck_transactions.swap_remove(pos) } else { - ic_cdk::trap(&format!( + ic_cdk::trap(format!( "Attempted to finalized a non-existent transaction {}", txid )); diff --git a/rs/bitcoin/ckbtc/minter/src/updates/get_btc_address.rs b/rs/bitcoin/ckbtc/minter/src/updates/get_btc_address.rs index f5c5717b20b4..b375157cd9dc 100644 --- a/rs/bitcoin/ckbtc/minter/src/updates/get_btc_address.rs +++ b/rs/bitcoin/ckbtc/minter/src/updates/get_btc_address.rs @@ -58,7 +58,7 @@ pub async fn init_ecdsa_public_key() -> ECDSAPublicKey { let ecdsa_public_key = crate::management::ecdsa_public_key(key_name, DerivationPath::new(vec![])) .await - .unwrap_or_else(|e| ic_cdk::trap(&format!("failed to retrieve ECDSA public key: {e}"))); + .unwrap_or_else(|e| ic_cdk::trap(format!("failed to retrieve ECDSA public key: {e}"))); log!( P1, "ECDSA public key set to {}, chain code to {}", diff --git a/rs/bitcoin/ckbtc/minter/src/updates/retrieve_btc.rs b/rs/bitcoin/ckbtc/minter/src/updates/retrieve_btc.rs index c3e8e9fea86f..e0d2484b03e8 100644 --- a/rs/bitcoin/ckbtc/minter/src/updates/retrieve_btc.rs +++ b/rs/bitcoin/ckbtc/minter/src/updates/retrieve_btc.rs @@ -422,11 +422,11 @@ async fn burn_ckbtcs(user: Principal, amount: u64, memo: Memo) -> Result ic_cdk::trap(&format!( + Err(TransferError::BadFee { expected_fee }) => ic_cdk::trap(format!( "unreachable: the ledger demands the fee of {} even though the fee field is unset", expected_fee )), - Err(TransferError::Duplicate{ duplicate_of }) => ic_cdk::trap(&format!( + Err(TransferError::Duplicate{ duplicate_of }) => ic_cdk::trap(format!( "unreachable: the ledger reports duplicate ({}) even though the create_at_time field is unset", duplicate_of )), @@ -436,7 +436,7 @@ async fn burn_ckbtcs(user: Principal, amount: u64, memo: Memo) -> Result ic_cdk::trap( "unreachable: the ledger reports TooOld even though the create_at_time field is unset" ), - Err(TransferError::BadBurn { min_burn_amount }) => ic_cdk::trap(&format!( + Err(TransferError::BadBurn { min_burn_amount }) => ic_cdk::trap(format!( "the minter is misconfigured: retrieve_btc_min_amount {} is less than ledger's min_burn_amount {}", read_state(|s| s.retrieve_btc_min_amount), min_burn_amount @@ -495,11 +495,11 @@ async fn burn_ckbtcs_icrc2( "cannot burn ckBTC: the ledger fails with: {} (error code {})", message, error_code ))) } - Err(TransferFromError::BadFee { expected_fee }) => ic_cdk::trap(&format!( + Err(TransferFromError::BadFee { expected_fee }) => ic_cdk::trap(format!( "unreachable: the ledger demands the fee of {} even though the fee field is unset", expected_fee )), - Err(TransferFromError::Duplicate { duplicate_of }) => ic_cdk::trap(&format!( + Err(TransferFromError::Duplicate { duplicate_of }) => ic_cdk::trap(format!( "unreachable: the ledger reports duplicate ({}) even though the create_at_time field is unset", duplicate_of )), @@ -509,7 +509,7 @@ async fn burn_ckbtcs_icrc2( Err(TransferFromError::TooOld) => ic_cdk::trap( "unreachable: the ledger reports TooOld even though the create_at_time field is unset" ), - Err(TransferFromError::BadBurn { min_burn_amount }) => ic_cdk::trap(&format!( + Err(TransferFromError::BadBurn { min_burn_amount }) => ic_cdk::trap(format!( "the minter is misconfigured: retrieve_btc_min_amount {} is less than ledger's min_burn_amount {}", read_state(|s| s.retrieve_btc_min_amount), min_burn_amount diff --git a/rs/bitcoin/ckbtc/minter/tests/tests.rs b/rs/bitcoin/ckbtc/minter/tests/tests.rs index 7a1a851350ad..38ba2d15ee70 100644 --- a/rs/bitcoin/ckbtc/minter/tests/tests.rs +++ b/rs/bitcoin/ckbtc/minter/tests/tests.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] use assert_matches::assert_matches; use bitcoin::util::psbt::serialize::Deserialize; use bitcoin::{Address as BtcAddress, Network as BtcNetwork}; diff --git a/rs/bitcoin/mock/src/main.rs b/rs/bitcoin/mock/src/main.rs index 3a233569718e..fd7a4a0475d2 100644 --- a/rs/bitcoin/mock/src/main.rs +++ b/rs/bitcoin/mock/src/main.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] use candid::candid_method; use ic_btc_interface::{ Address, GetCurrentFeePercentilesRequest, GetUtxosRequest, GetUtxosResponse, diff --git a/rs/bitcoin/mock/tests/tests.rs b/rs/bitcoin/mock/tests/tests.rs index 0d0b71cd8908..9d173907d4c4 100644 --- a/rs/bitcoin/mock/tests/tests.rs +++ b/rs/bitcoin/mock/tests/tests.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] use bitcoin::consensus::deserialize; use bitcoin::Transaction; use candid::{Decode, Encode}; diff --git a/rs/boundary_node/certificate_issuance/certificate_orchestrator/src/certificate.rs b/rs/boundary_node/certificate_issuance/certificate_orchestrator/src/certificate.rs index efef12b74e48..adcd6e628dfb 100644 --- a/rs/boundary_node/certificate_issuance/certificate_orchestrator/src/certificate.rs +++ b/rs/boundary_node/certificate_issuance/certificate_orchestrator/src/certificate.rs @@ -4,7 +4,7 @@ use anyhow::anyhow; use certificate_orchestrator_interface::{ EncryptedPair, ExportPackage, IcCertificate, Id, Registration, LEFT_GUARD, RIGHT_GUARD, }; -use ic_cdk::caller; +use ic_cdk::api::msg_caller; use prometheus::labels; use crate::{ @@ -46,7 +46,7 @@ impl GetCert for CertGetter { impl GetCert for WithAuthorize { fn get_cert(&self, id: &Id) -> Result { - if let Err(err) = self.1.authorize(&caller()) { + if let Err(err) = self.1.authorize(&msg_caller()) { return Err(match err { AuthorizeError::Unauthorized => GetCertError::Unauthorized, AuthorizeError::UnexpectedError(err) => GetCertError::UnexpectedError(err), @@ -134,7 +134,7 @@ impl Upload for UploadWithIcCertification { impl Upload for WithAuthorize { fn upload(&self, id: &Id, pair: EncryptedPair) -> Result<(), UploadError> { - if let Err(err) = self.1.authorize(&caller()) { + if let Err(err) = self.1.authorize(&msg_caller()) { return Err(match err { AuthorizeError::Unauthorized => UploadError::Unauthorized, AuthorizeError::UnexpectedError(err) => UploadError::UnexpectedError(err), @@ -299,7 +299,7 @@ impl Export for Exporter { impl Export for WithAuthorize { fn export(&self, key: Option, limit: u64) -> Result, ExportError> { - if let Err(err) = self.1.authorize(&caller()) { + if let Err(err) = self.1.authorize(&msg_caller()) { return Err(match err { AuthorizeError::Unauthorized => ExportError::Unauthorized, AuthorizeError::UnexpectedError(err) => ExportError::UnexpectedError(err), @@ -314,7 +314,7 @@ impl Export for WithAuthorize { key: Option, limit: u64, ) -> Result<(Vec, IcCertificate), ExportError> { - if let Err(err) = self.1.authorize(&caller()) { + if let Err(err) = self.1.authorize(&msg_caller()) { return Err(match err { AuthorizeError::Unauthorized => ExportError::Unauthorized, AuthorizeError::UnexpectedError(err) => ExportError::UnexpectedError(err), diff --git a/rs/boundary_node/certificate_issuance/certificate_orchestrator/src/ic_certification.rs b/rs/boundary_node/certificate_issuance/certificate_orchestrator/src/ic_certification.rs index bf4b74b4d6c3..a633dbbc24d9 100644 --- a/rs/boundary_node/certificate_issuance/certificate_orchestrator/src/ic_certification.rs +++ b/rs/boundary_node/certificate_issuance/certificate_orchestrator/src/ic_certification.rs @@ -2,7 +2,7 @@ use candid::Encode; use certificate_orchestrator_interface::{ BoundedString, ExportPackage, IcCertificate, Id, LABEL_DOMAINS, LEFT_GUARD, RIGHT_GUARD, }; -use ic_cdk::api::{data_certificate, set_certified_data}; +use ic_cdk::api::{certified_data_set, data_certificate}; use ic_certified_map::{labeled, labeled_hash, AsHashTree, Hash as ICHash, RbTree}; use serde::Serialize; use serde_cbor::Serializer; @@ -19,13 +19,13 @@ pub fn init_cert_tree() { let value: Vec = Vec::new(); tree.insert(LEFT_GUARD.into(), Sha256::digest(&value).into()); tree.insert(RIGHT_GUARD.into(), Sha256::digest(&value).into()); - set_certified_data(&labeled_hash(LABEL_DOMAINS, &tree.root_hash())); + certified_data_set(labeled_hash(LABEL_DOMAINS, &tree.root_hash())); }); } pub fn set_root_hash() { let root_hash = CERT_TREE.with(|tree| labeled_hash(LABEL_DOMAINS, &tree.borrow().root_hash())); - set_certified_data(&root_hash); + certified_data_set(root_hash); } pub fn remove_cert(key: BoundedString<64>) { diff --git a/rs/boundary_node/certificate_issuance/certificate_orchestrator/src/main.rs b/rs/boundary_node/certificate_issuance/certificate_orchestrator/src/main.rs index 6f19092756e3..1e31847cc54a 100644 --- a/rs/boundary_node/certificate_issuance/certificate_orchestrator/src/main.rs +++ b/rs/boundary_node/certificate_issuance/certificate_orchestrator/src/main.rs @@ -15,8 +15,8 @@ use certificate_orchestrator_interface::{ UploadCertificateResponse, }; use ic_cdk::{ - api::{id, time}, - caller, post_upgrade, pre_upgrade, trap, + api::{canister_self, msg_caller, time}, + post_upgrade, pre_upgrade, trap, }; use ic_cdk::{init, query, update}; use ic_cdk_timers::set_timer_interval; @@ -476,13 +476,13 @@ fn init_timers_fn() { set_timer_interval(interval, || { if let Err(err) = EXPIRER.with(|e| e.borrow().expire(time())) { - trap(&format!("failed to run expire: {err}")); + trap(format!("failed to run expire: {err}")); } }); set_timer_interval(interval, || { if let Err(err) = RETRIER.with(|r| r.borrow().retry(time())) { - trap(&format!("failed to run retry: {err}")); + trap(format!("failed to run retry: {err}")); } }); @@ -559,8 +559,8 @@ fn init_fn( // authorize the canister ID so that timer functions are authorized ALLOWED_PRINCIPALS.with(|m| { m.borrow_mut().insert( - id().to_text().into(), // principal - (), // + canister_self().to_text().into(), // principal + (), // ) }); @@ -575,20 +575,20 @@ fn pre_upgrade_fn() { TASKS.with(|tasks| { if let Err(err) = persistence::store(m.get(MemoryId::new(MEMORY_ID_TASKS)), tasks) { - trap(&format!("failed to persist tasks: {err}")); + trap(format!("failed to persist tasks: {err}")); } }); EXPIRATIONS.with(|exps| { if let Err(err) = persistence::store(m.get(MemoryId::new(MEMORY_ID_EXPIRATIONS)), exps) { - trap(&format!("failed to persist expirations: {err}")); + trap(format!("failed to persist expirations: {err}")); } }); RETRIES.with(|retries| { if let Err(err) = persistence::store(m.get(MemoryId::new(MEMORY_ID_RETRIES)), retries) { - trap(&format!("failed to persist retries: {err}")); + trap(format!("failed to persist retries: {err}")); } }); }); @@ -602,21 +602,21 @@ fn post_upgrade_fn() { TASKS.with(|tasks| { match persistence::load(m.get(MemoryId::new(MEMORY_ID_TASKS))) { Ok(v) => *tasks.borrow_mut() = v, - Err(err) => trap(&format!("failed to load tasks: {err}")), + Err(err) => trap(format!("failed to load tasks: {err}")), }; }); EXPIRATIONS.with(|exps| { match persistence::load(m.get(MemoryId::new(MEMORY_ID_EXPIRATIONS))) { Ok(v) => *exps.borrow_mut() = v, - Err(err) => trap(&format!("failed to load expirations: {err}")), + Err(err) => trap(format!("failed to load expirations: {err}")), }; }); RETRIES.with(|retries| { match persistence::load(m.get(MemoryId::new(MEMORY_ID_RETRIES))) { Ok(v) => *retries.borrow_mut() = v, - Err(err) => trap(&format!("failed to load retries: {err}")), + Err(err) => trap(format!("failed to load retries: {err}")), }; }); }); @@ -624,8 +624,8 @@ fn post_upgrade_fn() { // authorize the canister ID so that timer functions are authorized ALLOWED_PRINCIPALS.with(|m| { m.borrow_mut().insert( - id().to_text().into(), // principal - (), // + canister_self().to_text().into(), // principal + (), // ) }); @@ -947,8 +947,10 @@ fn http_request(request: HttpRequest) -> HttpResponse { GAUGE_ALLOWED_PRINCIPALS_TOTAL.with(|g| g.borrow_mut().set(tasks.borrow().len() as f64)); }); - GAUGE_CANISTER_CYCLES_BALANCE - .with(|g| g.borrow_mut().set(ic_cdk::api::canister_balance() as f64)); + GAUGE_CANISTER_CYCLES_BALANCE.with(|g| { + g.borrow_mut() + .set(ic_cdk::api::canister_cycle_balance() as f64) + }); // Export metrics let bs = METRICS_REGISTRY.with(|r| { @@ -958,7 +960,7 @@ fn http_request(request: HttpRequest) -> HttpResponse { let enc = TextEncoder::new(); if let Err(err) = enc.encode(&mfs, &mut buffer) { - trap(&format!("failed to encode metrics: {err}")); + trap(format!("failed to encode metrics: {err}")); }; buffer @@ -976,7 +978,7 @@ fn http_request(request: HttpRequest) -> HttpResponse { #[query(name = "listAllowedPrincipals")] #[candid_method(query, rename = "listAllowedPrincipals")] fn list_allowed_principals() -> ListAllowedPrincipalsResponse { - if let Err(err) = ROOT_AUTHORIZER.with(|a| a.borrow().authorize(&caller())) { + if let Err(err) = ROOT_AUTHORIZER.with(|a| a.borrow().authorize(&msg_caller())) { return ListAllowedPrincipalsResponse::Err(match err { AuthorizeError::Unauthorized => ListAllowedPrincipalsError::Unauthorized, AuthorizeError::UnexpectedError(err) => { @@ -990,7 +992,7 @@ fn list_allowed_principals() -> ListAllowedPrincipalsResponse { m.borrow() .iter() .map(|(k, _)| Principal::from_text(k.as_str()).expect("failed to parse principal")) - .filter(|k| k != &id()) + .filter(|k| k != &canister_self()) .collect() })) } @@ -998,7 +1000,7 @@ fn list_allowed_principals() -> ListAllowedPrincipalsResponse { #[update(name = "addAllowedPrincipal")] #[candid_method(update, rename = "addAllowedPrincipal")] fn add_allowed_principal(principal: Principal) -> ModifyAllowedPrincipalResponse { - if let Err(err) = ROOT_AUTHORIZER.with(|a| a.borrow().authorize(&caller())) { + if let Err(err) = ROOT_AUTHORIZER.with(|a| a.borrow().authorize(&msg_caller())) { return ModifyAllowedPrincipalResponse::Err(match err { AuthorizeError::Unauthorized => ModifyAllowedPrincipalError::Unauthorized, AuthorizeError::UnexpectedError(err) => { @@ -1015,7 +1017,7 @@ fn add_allowed_principal(principal: Principal) -> ModifyAllowedPrincipalResponse #[update(name = "rmAllowedPrincipal")] #[candid_method(update, rename = "rmAllowedPrincipal")] fn rm_allowed_principal(principal: Principal) -> ModifyAllowedPrincipalResponse { - if let Err(err) = ROOT_AUTHORIZER.with(|a| a.borrow().authorize(&caller())) { + if let Err(err) = ROOT_AUTHORIZER.with(|a| a.borrow().authorize(&msg_caller())) { return ModifyAllowedPrincipalResponse::Err(match err { AuthorizeError::Unauthorized => ModifyAllowedPrincipalError::Unauthorized, AuthorizeError::UnexpectedError(err) => { diff --git a/rs/boundary_node/certificate_issuance/certificate_orchestrator/src/registration.rs b/rs/boundary_node/certificate_issuance/certificate_orchestrator/src/registration.rs index 1edb97e61d5c..842179fb3e8e 100644 --- a/rs/boundary_node/certificate_issuance/certificate_orchestrator/src/registration.rs +++ b/rs/boundary_node/certificate_issuance/certificate_orchestrator/src/registration.rs @@ -4,7 +4,7 @@ use candid::Principal; use certificate_orchestrator_interface::{ EncryptedPair, ExportPackage, Id, Name, NameError, Registration, State, UpdateType, }; -use ic_cdk::caller; +use ic_cdk::api::msg_caller; use mockall::automock; use priority_queue::PriorityQueue; use prometheus::labels; @@ -116,7 +116,7 @@ impl Create for Creator { impl Create for WithAuthorize { fn create(&self, domain: &str, canister: &Principal) -> Result { - if let Err(err) = self.1.authorize(&caller()) { + if let Err(err) = self.1.authorize(&msg_caller()) { return Err(match err { AuthorizeError::Unauthorized => CreateError::Unauthorized, AuthorizeError::UnexpectedError(err) => CreateError::UnexpectedError(err), @@ -185,7 +185,7 @@ impl Get for Getter { impl Get for WithAuthorize { fn get(&self, id: &Id) -> Result { - if let Err(err) = self.1.authorize(&caller()) { + if let Err(err) = self.1.authorize(&msg_caller()) { return Err(match err { AuthorizeError::Unauthorized => GetError::Unauthorized, AuthorizeError::UnexpectedError(err) => GetError::UnexpectedError(err), @@ -346,7 +346,7 @@ impl Update for UpdateWithIcCertification { impl Update for WithAuthorize { fn update(&self, id: &Id, typ: UpdateType) -> Result<(), UpdateError> { - if let Err(err) = self.1.authorize(&caller()) { + if let Err(err) = self.1.authorize(&msg_caller()) { return Err(match err { AuthorizeError::Unauthorized => UpdateError::Unauthorized, AuthorizeError::UnexpectedError(err) => UpdateError::UnexpectedError(err), @@ -416,7 +416,7 @@ impl List for Lister { impl List for WithAuthorize { fn list(&self) -> Result, ListError> { - if let Err(err) = self.1.authorize(&caller()) { + if let Err(err) = self.1.authorize(&msg_caller()) { return Err(match err { AuthorizeError::Unauthorized => ListError::Unauthorized, AuthorizeError::UnexpectedError(err) => ListError::UnexpectedError(err), @@ -501,7 +501,7 @@ impl Remove for Remover { impl Remove for WithAuthorize { fn remove(&self, id: &Id) -> Result<(), RemoveError> { - if let Err(err) = self.1.authorize(&caller()) { + if let Err(err) = self.1.authorize(&msg_caller()) { return Err(match err { AuthorizeError::Unauthorized => RemoveError::Unauthorized, AuthorizeError::UnexpectedError(err) => RemoveError::UnexpectedError(err), diff --git a/rs/boundary_node/certificate_issuance/certificate_orchestrator/src/work.rs b/rs/boundary_node/certificate_issuance/certificate_orchestrator/src/work.rs index df4d7897a895..44f198aad5f5 100644 --- a/rs/boundary_node/certificate_issuance/certificate_orchestrator/src/work.rs +++ b/rs/boundary_node/certificate_issuance/certificate_orchestrator/src/work.rs @@ -2,7 +2,7 @@ use std::{cmp::Reverse, time::Duration}; use anyhow::anyhow; use certificate_orchestrator_interface::{Id, Registration}; -use ic_cdk::caller; +use ic_cdk::api::msg_caller; use priority_queue::PriorityQueue; use prometheus::labels; @@ -68,7 +68,7 @@ impl Queue for Queuer { impl Queue for WithAuthorize { fn queue(&self, id: Id, timestamp: u64) -> Result<(), QueueError> { - if let Err(err) = self.1.authorize(&caller()) { + if let Err(err) = self.1.authorize(&msg_caller()) { return Err(match err { AuthorizeError::Unauthorized => QueueError::Unauthorized, AuthorizeError::UnexpectedError(err) => QueueError::UnexpectedError(err), @@ -145,7 +145,7 @@ impl Peek for Peeker { impl Peek for WithAuthorize { fn peek(&self) -> Result { - if let Err(err) = self.1.authorize(&caller()) { + if let Err(err) = self.1.authorize(&msg_caller()) { return Err(match err { AuthorizeError::Unauthorized => PeekError::Unauthorized, AuthorizeError::UnexpectedError(err) => PeekError::UnexpectedError(err), @@ -234,7 +234,7 @@ impl List for Lister { impl List for WithAuthorize { fn list(&self) -> Result, ListError> { - if let Err(err) = self.1.authorize(&caller()) { + if let Err(err) = self.1.authorize(&msg_caller()) { return Err(match err { AuthorizeError::Unauthorized => ListError::Unauthorized, AuthorizeError::UnexpectedError(err) => ListError::UnexpectedError(err), @@ -310,7 +310,7 @@ impl Dispense for Dispenser { impl Dispense for WithAuthorize { fn dispense(&self) -> Result { - if let Err(err) = self.1.authorize(&caller()) { + if let Err(err) = self.1.authorize(&msg_caller()) { return Err(match err { AuthorizeError::Unauthorized => DispenseError::Unauthorized, AuthorizeError::UnexpectedError(err) => DispenseError::UnexpectedError(err), @@ -379,7 +379,7 @@ impl Remove for TaskRemover { impl Remove for WithAuthorize { fn remove(&self, id: &str) -> Result<(), RemoveError> { - if let Err(err) = self.1.authorize(&caller()) { + if let Err(err) = self.1.authorize(&msg_caller()) { return Err(match err { AuthorizeError::Unauthorized => RemoveError::Unauthorized, AuthorizeError::UnexpectedError(err) => RemoveError::UnexpectedError(err), diff --git a/rs/boundary_node/rate_limits/canister/canister.rs b/rs/boundary_node/rate_limits/canister/canister.rs index a810fc0c80b3..343132476deb 100644 --- a/rs/boundary_node/rate_limits/canister/canister.rs +++ b/rs/boundary_node/rate_limits/canister/canister.rs @@ -1,4 +1,5 @@ #![allow(unused_imports)] +#![allow(deprecated)] use crate::access_control::{AccessLevelResolver, WithAuthorization}; use crate::add_config::{AddsConfig, ConfigAdder}; @@ -180,7 +181,10 @@ fn disclose_rules(args: DiscloseRulesArg) -> DiscloseRulesResponse { Ok(()) } -#[query(decoding_quota = 10000)] +#[query( + hidden = true, + decode_with = "candid::decode_one_with_decoding_quota::<100000,_>" +)] fn http_request(request: HttpRequest) -> HttpResponse { match request.path() { "/metrics" => with_canister_state(|state| { @@ -234,6 +238,16 @@ fn http_request(request: HttpRequest) -> HttpResponse { } } +// Manually add a dummy method so that the Candid interface can be properly generated: +// `http_request: (HttpRequest) -> (HttpResponse) query;` +// Without this dummy method, it will be `http_request: (blob) -> (HttpResponse) query;` +// because of the `decode_with` option used above. +#[::candid::candid_method(query, rename = "http_request")] +#[allow(unused_variables)] +fn __candid_method_http_request(request: HttpRequest) -> HttpResponse { + panic!("candid dummy function called") +} + fn periodically_poll_api_boundary_nodes(interval: u64, canister_api: Arc) { let interval = Duration::from_secs(interval); diff --git a/rs/boundary_node/rate_limits/canister/metrics.rs b/rs/boundary_node/rate_limits/canister/metrics.rs index 34ecfc293d8d..f1084ecf0049 100644 --- a/rs/boundary_node/rate_limits/canister/metrics.rs +++ b/rs/boundary_node/rate_limits/canister/metrics.rs @@ -4,7 +4,7 @@ use crate::{ state::CanisterApi, types::{AddConfigError, DiscloseRulesError, Timestamp}, }; -use ic_cdk::api::stable::WASM_PAGE_SIZE_IN_BYTES; +use ic_cdk::stable::WASM_PAGE_SIZE_IN_BYTES; use ic_http_types::{HttpResponse, HttpResponseBuilder}; use prometheus::{ CounterVec, Encoder, Gauge, IntGauge, Opts, Registry, Result as PrometheusResult, TextEncoder, @@ -144,7 +144,7 @@ pub fn recompute_metrics(canister_api: impl CanisterApi) { METRICS.with(|cell| { let mut cell = cell.borrow_mut(); - let memory = (ic_cdk::api::stable::stable_size() * WASM_PAGE_SIZE_IN_BYTES) as f64; + let memory = (ic_cdk::stable::stable_size() * WASM_PAGE_SIZE_IN_BYTES) as f64; cell.stable_memory_size.borrow_mut().set(memory); cell.api_boundary_nodes_count diff --git a/rs/boundary_node/salt_sharing/canister/canister.rs b/rs/boundary_node/salt_sharing/canister/canister.rs index 849c053e24ce..f19849513d00 100644 --- a/rs/boundary_node/salt_sharing/canister/canister.rs +++ b/rs/boundary_node/salt_sharing/canister/canister.rs @@ -1,4 +1,5 @@ #![allow(unused_imports)] +#![allow(deprecated)] use crate::helpers::{init_async, is_api_boundary_node_principal}; use crate::logs::export_logs_as_http_response; @@ -66,7 +67,10 @@ fn get_salt() -> GetSaltResponse { Err(GetSaltError::Unauthorized) } -#[query(decoding_quota = 10000)] +#[query( + hidden = true, + decode_with = "candid::decode_one_with_decoding_quota::<100000,_>" +)] fn http_request(request: HttpRequest) -> HttpResponse { match request.path() { "/metrics" => export_metrics_as_http_response(), @@ -75,6 +79,16 @@ fn http_request(request: HttpRequest) -> HttpResponse { } } +// Manually add a dummy method so that the Candid interface can be properly generated: +// `http_request: (HttpRequest) -> (HttpResponse) query;` +// Without this dummy method, it will be `http_request: (blob) -> (HttpResponse) query;` +// because of the `decode_with` option used above. +#[::candid::candid_method(query, rename = "http_request")] +#[allow(unused_variables)] +fn __candid_method_http_request(request: HttpRequest) -> HttpResponse { + panic!("candid dummy function called") +} + #[cfg(test)] mod tests { use super::*; diff --git a/rs/boundary_node/salt_sharing/canister/helpers.rs b/rs/boundary_node/salt_sharing/canister/helpers.rs index f7ec781318f4..80b86a8c55d0 100644 --- a/rs/boundary_node/salt_sharing/canister/helpers.rs +++ b/rs/boundary_node/salt_sharing/canister/helpers.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] use std::{collections::HashSet, time::Duration}; use crate::{ diff --git a/rs/boundary_node/salt_sharing/canister/metrics.rs b/rs/boundary_node/salt_sharing/canister/metrics.rs index b573a0056f36..cdfc3531c379 100644 --- a/rs/boundary_node/salt_sharing/canister/metrics.rs +++ b/rs/boundary_node/salt_sharing/canister/metrics.rs @@ -1,4 +1,4 @@ -use ic_cdk::api::stable::WASM_PAGE_SIZE_IN_BYTES; +use ic_cdk::stable::WASM_PAGE_SIZE_IN_BYTES; use ic_http_types::{HttpResponse, HttpResponseBuilder}; use prometheus::{ CounterVec, Encoder, Gauge, IntGauge, Opts, Registry, Result as PrometheusResult, TextEncoder, @@ -102,7 +102,7 @@ pub fn recompute_metrics() { METRICS.with(|cell| { let mut cell = cell.borrow_mut(); - let memory = (ic_cdk::api::stable::stable_size() * WASM_PAGE_SIZE_IN_BYTES) as f64; + let memory = (ic_cdk::stable::stable_size() * WASM_PAGE_SIZE_IN_BYTES) as f64; cell.stable_memory_size.borrow_mut().set(memory); let api_bns_count = API_BOUNDARY_NODE_PRINCIPALS.with(|cell| cell.borrow().len()); diff --git a/rs/ethereum/cketh/minter/src/deposit.rs b/rs/ethereum/cketh/minter/src/deposit.rs index 266073ee59fa..4926d0269273 100644 --- a/rs/ethereum/cketh/minter/src/deposit.rs +++ b/rs/ethereum/cketh/minter/src/deposit.rs @@ -127,7 +127,9 @@ async fn mint() { INFO, "Failed to mint {error_count} events, rescheduling the minting" ); - ic_cdk_timers::set_timer(crate::MINT_RETRY_DELAY, || ic_cdk::spawn(mint())); + ic_cdk_timers::set_timer(crate::MINT_RETRY_DELAY, || { + ic_cdk::futures::spawn_017_compat(mint()) + }); } } @@ -330,7 +332,9 @@ pub fn register_deposit_events( } } if read_state(State::has_events_to_mint) { - ic_cdk_timers::set_timer(Duration::from_secs(0), || ic_cdk::spawn(mint())); + ic_cdk_timers::set_timer(Duration::from_secs(0), || { + ic_cdk::futures::spawn_017_compat(mint()) + }); } for error in errors { if let ReceivedEventError::InvalidEventSource { source, error } = &error { diff --git a/rs/ethereum/cketh/minter/src/ledger_client.rs b/rs/ethereum/cketh/minter/src/ledger_client.rs index 99036c8a1791..1b833577485f 100644 --- a/rs/ethereum/cketh/minter/src/ledger_client.rs +++ b/rs/ethereum/cketh/minter/src/ledger_client.rs @@ -78,7 +78,7 @@ impl LedgerClient { .transfer_from(TransferFromArgs { spender_subaccount: None, from, - to: ic_cdk::id().into(), + to: ic_cdk::api::canister_self().into(), amount: amount.clone(), fee: None, memo: Some(Memo::from(memo)), diff --git a/rs/ethereum/cketh/minter/src/main.rs b/rs/ethereum/cketh/minter/src/main.rs index 6cb339eeee6f..bbd44f06a4e6 100644 --- a/rs/ethereum/cketh/minter/src/main.rs +++ b/rs/ethereum/cketh/minter/src/main.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] use crate::dashboard::DashboardPaginationParameters; use candid::Nat; use dashboard::DashboardTemplate; @@ -177,7 +178,7 @@ async fn eip_1559_transaction_price( if ckerc20_ledger_id == read_state(|s| s.cketh_ledger_id) { CKETH_WITHDRAWAL_TRANSACTION_GAS_LIMIT } else { - ic_cdk::trap(&format!( + ic_cdk::trap(format!( "ERROR: Unsupported ckERC20 token ledger {}", ckerc20_ledger_id )) @@ -271,7 +272,7 @@ async fn withdraw_eth( ) -> Result { let caller = validate_caller_not_anonymous(); let _guard = retrieve_withdraw_guard(caller).unwrap_or_else(|e| { - ic_cdk::trap(&format!( + ic_cdk::trap(format!( "Failed retrieving guard for principal {}: {:?}", caller, e )) @@ -279,7 +280,7 @@ async fn withdraw_eth( let destination = validate_address_as_destination(&recipient).map_err(|e| match e { AddressValidationError::Invalid { .. } | AddressValidationError::NotSupported(_) => { - ic_cdk::trap(&e.to_string()) + ic_cdk::trap(e.to_string()) } AddressValidationError::Blocked(address) => WithdrawalError::RecipientAddressBlocked { address: address.to_string(), @@ -399,7 +400,7 @@ async fn withdraw_erc20( validate_ckerc20_active(); let caller = validate_caller_not_anonymous(); let _guard = retrieve_withdraw_guard(caller).unwrap_or_else(|e| { - ic_cdk::trap(&format!( + ic_cdk::trap(format!( "Failed retrieving guard for principal {}: {:?}", caller, e )) @@ -407,7 +408,7 @@ async fn withdraw_erc20( let destination = validate_address_as_destination(&recipient).map_err(|e| match e { AddressValidationError::Invalid { .. } | AddressValidationError::NotSupported(_) => { - ic_cdk::trap(&e.to_string()) + ic_cdk::trap(e.to_string()) } AddressValidationError::Blocked(address) => WithdrawErc20Error::RecipientAddressBlocked { address: address.to_string(), @@ -556,7 +557,7 @@ async fn estimate_erc20_transaction_fee() -> Option { #[query] fn is_address_blocked(address_string: String) -> bool { let address = Address::from_str(&address_string) - .unwrap_or_else(|e| ic_cdk::trap(&format!("invalid recipient address: {:?}", e))); + .unwrap_or_else(|e| ic_cdk::trap(format!("invalid recipient address: {:?}", e))); ic_cketh_minter::blocklist::is_blocked(&address) } @@ -565,13 +566,13 @@ async fn add_ckerc20_token(erc20_token: AddCkErc20Token) { let orchestrator_id = read_state(|s| s.ledger_suite_orchestrator_id) .unwrap_or_else(|| ic_cdk::trap("ERROR: ERC-20 feature is not activated")); if orchestrator_id != ic_cdk::caller() { - ic_cdk::trap(&format!( + ic_cdk::trap(format!( "ERROR: only the orchestrator {} can add ERC-20 tokens", orchestrator_id )); } let ckerc20_token = erc20::CkErc20Token::try_from(erc20_token) - .unwrap_or_else(|e| ic_cdk::trap(&format!("ERROR: {}", e))); + .unwrap_or_else(|e| ic_cdk::trap(format!("ERROR: {}", e))); mutate_state(|s| process_event(s, EventType::AddedCkErc20Token(ckerc20_token))); } diff --git a/rs/ethereum/cketh/minter/src/management.rs b/rs/ethereum/cketh/minter/src/management.rs index d86ac6c6d95e..f0226d5c2f02 100644 --- a/rs/ethereum/cketh/minter/src/management.rs +++ b/rs/ethereum/cketh/minter/src/management.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] use ic_cdk::api::call::RejectionCode; use ic_management_canister_types_private::DerivationPath; use std::fmt; diff --git a/rs/ethereum/cketh/minter/src/state.rs b/rs/ethereum/cketh/minter/src/state.rs index 084db4d56bb8..a0976f488cb1 100644 --- a/rs/ethereum/cketh/minter/src/state.rs +++ b/rs/ethereum/cketh/minter/src/state.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] use crate::address::ecdsa_public_key_to_address; use crate::endpoints::CandidBlockTag; use crate::erc20::{CkErc20Token, CkTokenSymbol}; @@ -175,7 +176,7 @@ impl State { pub fn minter_address(&self) -> Option
{ let pubkey = PublicKey::deserialize_sec1(&self.ecdsa_public_key.as_ref()?.public_key) .unwrap_or_else(|e| { - ic_cdk::trap(&format!("failed to decode minter's public key: {:?}", e)) + ic_cdk::trap(format!("failed to decode minter's public key: {:?}", e)) }); Some(ecdsa_public_key_to_address(&pubkey)) } @@ -616,7 +617,7 @@ pub async fn lazy_call_ecdsa_public_key() -> PublicKey { fn to_public_key(response: &EcdsaPublicKeyResponse) -> PublicKey { PublicKey::deserialize_sec1(&response.public_key).unwrap_or_else(|e| { - ic_cdk::trap(&format!("failed to decode minter's public key: {:?}", e)) + ic_cdk::trap(format!("failed to decode minter's public key: {:?}", e)) }) } @@ -638,7 +639,7 @@ pub async fn lazy_call_ecdsa_public_key() -> PublicKey { }) .await .unwrap_or_else(|(error_code, message)| { - ic_cdk::trap(&format!( + ic_cdk::trap(format!( "failed to get minter's public key: {} (error code = {:?})", message, error_code, )) diff --git a/rs/ethereum/cketh/minter/src/state/tests.rs b/rs/ethereum/cketh/minter/src/state/tests.rs index 3b7c75e00a0c..28394673bc11 100644 --- a/rs/ethereum/cketh/minter/src/state/tests.rs +++ b/rs/ethereum/cketh/minter/src/state/tests.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] use crate::endpoints::CandidBlockTag; use crate::eth_logs::{EventSource, ReceivedErc20Event, ReceivedEthEvent, ReceivedEvent}; use crate::eth_rpc_client::responses::{TransactionReceipt, TransactionStatus}; diff --git a/rs/ethereum/cketh/minter/src/withdraw.rs b/rs/ethereum/cketh/minter/src/withdraw.rs index 1c486d327f48..785ff4fedbbc 100644 --- a/rs/ethereum/cketh/minter/src/withdraw.rs +++ b/rs/ethereum/cketh/minter/src/withdraw.rs @@ -171,7 +171,7 @@ pub async fn process_retrieve_eth_requests() { if read_state(|s| s.eth_transactions.has_pending_requests()) { ic_cdk_timers::set_timer( crate::PROCESS_ETH_RETRIEVE_TRANSACTIONS_RETRY_INTERVAL, - || ic_cdk::spawn(process_retrieve_eth_requests()), + || ic_cdk::futures::spawn_017_compat(process_retrieve_eth_requests()), ); } } diff --git a/rs/ethereum/cketh/test_utils/src/mock.rs b/rs/ethereum/cketh/test_utils/src/mock.rs index 041a8ede3c37..021ace5f4fcf 100644 --- a/rs/ethereum/cketh/test_utils/src/mock.rs +++ b/rs/ethereum/cketh/test_utils/src/mock.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] use crate::{assert_reply, CkEthSetup, JsonRpcProvider, MAX_TICKS}; use candid::{Decode, Encode}; use ic_cdk::api::management_canister::http_request::{ diff --git a/rs/ethereum/evm-rpc-client/src/lib.rs b/rs/ethereum/evm-rpc-client/src/lib.rs index 8b00acf7f7d4..0b8afa5d64a5 100644 --- a/rs/ethereum/evm-rpc-client/src/lib.rs +++ b/rs/ethereum/evm-rpc-client/src/lib.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] #[cfg(test)] mod tests; diff --git a/rs/ethereum/ledger-suite-orchestrator/src/lifecycle/mod.rs b/rs/ethereum/ledger-suite-orchestrator/src/lifecycle/mod.rs index 89b16e430a2d..6511ec372d95 100644 --- a/rs/ethereum/ledger-suite-orchestrator/src/lifecycle/mod.rs +++ b/rs/ethereum/ledger-suite-orchestrator/src/lifecycle/mod.rs @@ -72,7 +72,7 @@ pub fn post_upgrade(upgrade_arg: Option) { } } Err(e) => { - ic_cdk::trap(&format!( + ic_cdk::trap(format!( "[post_upgrade]: ERROR: invalid arguments to upgrade {:?}: {:?}", arg, e )); @@ -94,7 +94,7 @@ pub fn add_erc20(token: AddErc20Arg) { schedule_now(Task::InstallLedgerSuite(args), &IC_CANISTER_RUNTIME); } Err(e) => { - ic_cdk::trap(&format!( + ic_cdk::trap(format!( "[add_erc20]: ERROR: invalid arguments to add erc20 token {:?}: {:?}", token, e )); diff --git a/rs/ethereum/ledger-suite-orchestrator/src/main.rs b/rs/ethereum/ledger-suite-orchestrator/src/main.rs index 03f6cca10200..1b01a7821140 100644 --- a/rs/ethereum/ledger-suite-orchestrator/src/main.rs +++ b/rs/ethereum/ledger-suite-orchestrator/src/main.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] use ic_cdk::api::management_canister::main::{ canister_status, CanisterIdRecord, CanisterStatusResponse, }; @@ -17,7 +18,7 @@ mod dashboard; #[query] fn canister_ids(contract: CandidErc20Contract) -> Option { let contract = Erc20Token::try_from(contract) - .unwrap_or_else(|e| ic_cdk::trap(&format!("Invalid ERC-20 contract: {:?}", e))); + .unwrap_or_else(|e| ic_cdk::trap(format!("Invalid ERC-20 contract: {:?}", e))); let token_id = TokenId::from(contract); read_state(|s| s.managed_canisters(&token_id).cloned()).map(ManagedCanisterIds::from) } @@ -59,7 +60,11 @@ fn get_orchestrator_info() -> OrchestratorInfo { #[export_name = "canister_global_timer"] fn timer() { - ic_ledger_suite_orchestrator::scheduler::timer(IC_CANISTER_RUNTIME); + // ic_ledger_suite_orchestrator::scheduler::timer invokes ic_cdk::futures::spawn_017_compat + // which must be wrapped in in_executor_context as required by the new ic-cdk-executor. + ic_cdk::futures::in_executor_context(|| { + ic_ledger_suite_orchestrator::scheduler::timer(IC_CANISTER_RUNTIME); + }); } #[init] diff --git a/rs/ethereum/ledger-suite-orchestrator/src/management/mod.rs b/rs/ethereum/ledger-suite-orchestrator/src/management/mod.rs index cd4cec318d83..2fd911d89624 100644 --- a/rs/ethereum/ledger-suite-orchestrator/src/management/mod.rs +++ b/rs/ethereum/ledger-suite-orchestrator/src/management/mod.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] use crate::logs::DEBUG; use async_trait::async_trait; use candid::{CandidType, Encode, Principal}; diff --git a/rs/ethereum/ledger-suite-orchestrator/src/scheduler/mod.rs b/rs/ethereum/ledger-suite-orchestrator/src/scheduler/mod.rs index 400d4e9763e5..32ac731cf948 100644 --- a/rs/ethereum/ledger-suite-orchestrator/src/scheduler/mod.rs +++ b/rs/ethereum/ledger-suite-orchestrator/src/scheduler/mod.rs @@ -178,7 +178,7 @@ pub fn global_timer() -> u64 { pub fn timer(runtime: R) { if let Some(task) = pop_if_ready(&runtime) { - ic_cdk::spawn(run_task(task, runtime)); + ic_cdk::futures::spawn_017_compat(run_task(task, runtime)); } } diff --git a/rs/ethereum/ledger-suite-orchestrator/test_utils/src/lib.rs b/rs/ethereum/ledger-suite-orchestrator/test_utils/src/lib.rs index ead0def32ef6..edc79b437ae5 100644 --- a/rs/ethereum/ledger-suite-orchestrator/test_utils/src/lib.rs +++ b/rs/ethereum/ledger-suite-orchestrator/test_utils/src/lib.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] use crate::flow::{AddErc20TokenFlow, ManagedCanistersAssert}; use assert_matches::assert_matches; use candid::{Decode, Encode, Nat, Principal}; diff --git a/rs/ethereum/ledger-suite-orchestrator/tests/tests.rs b/rs/ethereum/ledger-suite-orchestrator/tests/tests.rs index 210f88f3f5fd..1b0cba292e69 100644 --- a/rs/ethereum/ledger-suite-orchestrator/tests/tests.rs +++ b/rs/ethereum/ledger-suite-orchestrator/tests/tests.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] use assert_matches::assert_matches; use candid::{Decode, Encode, Nat, Principal}; use ic_base_types::{CanisterId, PrincipalId}; diff --git a/rs/execution_environment/benches/management_canister/test_canister/src/main.rs b/rs/execution_environment/benches/management_canister/test_canister/src/main.rs index 8391126b926d..c3d2b82dfb28 100644 --- a/rs/execution_environment/benches/management_canister/test_canister/src/main.rs +++ b/rs/execution_environment/benches/management_canister/test_canister/src/main.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] use candid::{CandidType, Principal}; use futures::future::join_all; use ic_cdk::api::management_canister::ecdsa::{ diff --git a/rs/execution_environment/tests/backtraces.rs b/rs/execution_environment/tests/backtraces.rs index d06e071ba7f5..ee3831f77809 100644 --- a/rs/execution_environment/tests/backtraces.rs +++ b/rs/execution_environment/tests/backtraces.rs @@ -26,8 +26,7 @@ const IC0_TRAP_ERROR: &str = const IC0_TRAP_BACKTRACE: &str = r#" Canister Backtrace: -ic_cdk::api::trap -ic_cdk::printer::set_panic_hook::{{closure}} +ic_cdk_executor::set_panic_hook::{{closure}}::{{closure}} std::panicking::rust_panic_with_hook std::panicking::begin_panic_handler::{{closure}} std::sys::backtrace::__rust_end_short_backtrace @@ -36,7 +35,8 @@ core::panicking::panic_fmt _wasm_backtrace_canister::ic0_trap::inner_2 _wasm_backtrace_canister::ic0_trap::inner _wasm_backtrace_canister::ic0_trap::outer -_wasm_backtrace_canister::__canister_method_ic0_trap::{{closure}} +_wasm_backtrace_canister::ic0_trap +ic_cdk_executor::in_executor_context canister_update ic0_trap "#; @@ -231,7 +231,7 @@ fn backtrace_test_stable_oob() { "Error from Canister rwlgt-iiaaa-aaaaa-aaaaa-cai: Canister trapped: ", r#"stable memory out of bounds Canister Backtrace: -ic0::ic0::stable64_write +ic0::sys::stable64_write _wasm_backtrace_canister::stable_oob::inner_2 _wasm_backtrace_canister::stable_oob::inner _wasm_backtrace_canister::stable_oob::outer diff --git a/rs/ledger_suite/common/ledger_canister_core/src/runtime.rs b/rs/ledger_suite/common/ledger_canister_core/src/runtime.rs index 2f1b494fbac1..da64e5b5258a 100644 --- a/rs/ledger_suite/common/ledger_canister_core/src/runtime.rs +++ b/rs/ledger_suite/common/ledger_canister_core/src/runtime.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] use async_trait::async_trait; use candid::utils::{ArgumentDecoder, ArgumentEncoder}; use ic_base_types::{CanisterId, PrincipalId}; diff --git a/rs/ledger_suite/icp/archive/src/main.rs b/rs/ledger_suite/icp/archive/src/main.rs index aeef070a15ce..a9d7407ae2ea 100644 --- a/rs/ledger_suite/icp/archive/src/main.rs +++ b/rs/ledger_suite/icp/archive/src/main.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] use candid::{candid_method, Decode}; use ic_base_types::{CanisterId, PrincipalId}; use ic_cdk::{ @@ -5,6 +6,7 @@ use ic_cdk::{ call::{arg_data_raw, reply, reply_raw}, caller, print, }, + futures::{in_executor_context, in_query_executor_context}, post_upgrade, query, }; use ic_http_types::{HttpRequest, HttpResponse, HttpResponseBuilder}; @@ -50,14 +52,14 @@ impl Storable for ArchiveState { fn to_bytes(&self) -> Cow<[u8]> { let mut buf = vec![]; ciborium::ser::into_writer(self, &mut buf).unwrap_or_else(|err| { - ic_cdk::api::trap(&format!("{:?}", err)); + ic_cdk::api::trap(format!("{:?}", err)); }); Cow::Owned(buf) } fn from_bytes(bytes: Cow<'_, [u8]>) -> Self { ciborium::de::from_reader(&bytes[..]).unwrap_or_else(|err| { - ic_cdk::api::trap(&format!("{:?}", err)); + ic_cdk::api::trap(format!("{:?}", err)); }) } @@ -130,7 +132,7 @@ fn max_memory_size_bytes() -> u64 { fn set_max_memory_size_bytes(max_memory_size_bytes: u64) { if max_memory_size_bytes < total_block_size() { - ic_cdk::trap(&format!( + ic_cdk::trap(format!( "Cannot set max_memory_size_bytes to {}, because it is lower than total_block_size {}.", max_memory_size_bytes, total_block_size() @@ -204,7 +206,7 @@ fn blocks_len() -> u64 { fn append_block(block: &EncodedBlock) { BLOCKS.with_borrow_mut(|blocks| match blocks.append(&block.0) { Ok(_) => {} - Err(e) => ic_cdk::trap(&format!( + Err(e) => ic_cdk::trap(format!( "Could not append block to stable block log: {:?}", e )), @@ -266,36 +268,38 @@ fn get_block(block_height: BlockIndex) -> BlockRes { #[export_name = "canister_query get_block_pb"] fn get_block_() { - ic_cdk::setup(); - let arg: BlockIndex = - from_proto_bytes(arg_data_raw()).expect("failed to decode get_block_pb argument"); - let res = to_proto_bytes(get_block(arg)).expect("failed to encode get_block_pb response"); - reply_raw(&res) + in_query_executor_context(|| { + let arg: BlockIndex = + from_proto_bytes(arg_data_raw()).expect("failed to decode get_block_pb argument"); + let res = to_proto_bytes(get_block(arg)).expect("failed to encode get_block_pb response"); + reply_raw(&res) + }) } #[export_name = "canister_init"] fn main() { - ic_cdk::setup(); - let bytes = arg_data_raw(); - let (archive_canister_id, block_height_offset, opt_max_size) = - Decode!(&bytes, ic_base_types::CanisterId, u64, Option) - .expect("failed to decode init arguments"); - init(archive_canister_id, block_height_offset, opt_max_size); + in_executor_context(|| { + let bytes = arg_data_raw(); + let (archive_canister_id, block_height_offset, opt_max_size) = + Decode!(&bytes, ic_base_types::CanisterId, u64, Option) + .expect("failed to decode init arguments"); + init(archive_canister_id, block_height_offset, opt_max_size); + }) } #[export_name = "canister_update remaining_capacity"] fn remaining_capacity_() { - ic_cdk::setup(); - reply((remaining_capacity(),)) + in_executor_context(|| reply((remaining_capacity(),))) } #[export_name = "canister_update append_blocks"] fn append_blocks_() { - ic_cdk::setup(); - let blocks = Decode!(&arg_data_raw(), Vec) - .expect("failed to decode append_blocks argument"); - append_blocks(blocks); - reply(()); + in_executor_context(|| { + let blocks = Decode!(&arg_data_raw(), Vec) + .expect("failed to decode append_blocks argument"); + append_blocks(blocks); + reply(()); + }) } /// Get multiple blocks by *offset into the container* (not BlockIndex) and @@ -306,53 +310,55 @@ fn append_blocks_() { /// 100. #[export_name = "canister_query iter_blocks_pb"] fn iter_blocks_() { - ic_cdk::setup(); - let IterBlocksArgs { start, length } = - from_proto_bytes(arg_data_raw()).expect("failed to decode iter_blocks_pb argument"); - let length = length.min(icp_ledger::max_blocks_per_request(&PrincipalId::from( - caller(), - ))); - let blocks_len = blocks_len() as usize; - let start = start.min(blocks_len); - let end = std::cmp::min(start + length, blocks_len); - let mut blocks = vec![]; - for index in start..end { - blocks.push(get_block_stable(index as u64).unwrap()); - } - let res_proto = - to_proto_bytes(IterBlocksRes(blocks)).expect("failed to encode iter_blocks_pb response"); - reply_raw(&res_proto) + in_query_executor_context(|| { + let IterBlocksArgs { start, length } = + from_proto_bytes(arg_data_raw()).expect("failed to decode iter_blocks_pb argument"); + let length = length.min(icp_ledger::max_blocks_per_request(&PrincipalId::from( + caller(), + ))); + let blocks_len = blocks_len() as usize; + let start = start.min(blocks_len); + let end = std::cmp::min(start + length, blocks_len); + let mut blocks = vec![]; + for index in start..end { + blocks.push(get_block_stable(index as u64).unwrap()); + } + let res_proto = to_proto_bytes(IterBlocksRes(blocks)) + .expect("failed to encode iter_blocks_pb response"); + reply_raw(&res_proto) + }) } /// Get multiple Blocks by BlockIndex and length. If the query is outside the /// range stored in the Node the result is an error. #[export_name = "canister_query get_blocks_pb"] fn get_blocks_() { - ic_cdk::setup(); - let GetBlocksArgs { start, length } = - from_proto_bytes(arg_data_raw()).expect("failed to decode get_blocks_pb argument"); - let from_offset = block_height_offset(); - let length = length - .min(usize::MAX as u64) - .min(icp_ledger::max_blocks_per_request(&PrincipalId::from(caller())) as u64); - let local_blocks_range = from_offset..from_offset + blocks_len(); - let requested_range = start..start + length; - if !range_utils::is_subrange(&requested_range, &local_blocks_range) { - let res = GetBlocksRes(Err(format!("Requested blocks outside the range stored in the archive node. Requested [{} .. {}]. Available [{} .. {}].", + in_query_executor_context(|| { + let GetBlocksArgs { start, length } = + from_proto_bytes(arg_data_raw()).expect("failed to decode get_blocks_pb argument"); + let from_offset = block_height_offset(); + let length = length + .min(usize::MAX as u64) + .min(icp_ledger::max_blocks_per_request(&PrincipalId::from(caller())) as u64); + let local_blocks_range = from_offset..from_offset + blocks_len(); + let requested_range = start..start + length; + if !range_utils::is_subrange(&requested_range, &local_blocks_range) { + let res = GetBlocksRes(Err(format!("Requested blocks outside the range stored in the archive node. Requested [{} .. {}]. Available [{} .. {}].", requested_range.start, requested_range.end, local_blocks_range.start, local_blocks_range.end))); - let res_proto = to_proto_bytes(res).expect("failed to encode get_blocks_pb response"); + let res_proto = to_proto_bytes(res).expect("failed to encode get_blocks_pb response"); + reply_raw(&res_proto); + return; + } + let mut blocks = vec![]; + let offset_requested_range = + requested_range.start - from_offset..requested_range.end - from_offset; + for index in offset_requested_range { + blocks.push(get_block_stable(index).unwrap()); + } + let res_proto = to_proto_bytes(GetBlocksRes(Ok(blocks))) + .expect("failed to encode get_blocks_pb response"); reply_raw(&res_proto); - return; - } - let mut blocks = vec![]; - let offset_requested_range = - requested_range.start - from_offset..requested_range.end - from_offset; - for index in offset_requested_range { - blocks.push(get_block_stable(index).unwrap()); - } - let res_proto = - to_proto_bytes(GetBlocksRes(Ok(blocks))).expect("failed to encode get_blocks_pb response"); - reply_raw(&res_proto); + }) } #[candid_method(query, rename = "get_blocks")] @@ -368,10 +374,11 @@ fn get_blocks(GetBlocksArgs { start, length }: GetBlocksArgs) -> GetBlocksResult /// range stored in the Node the result is an error. #[export_name = "canister_query get_blocks"] fn get_blocks_candid_() { - ic_cdk::setup(); - let args = - Decode!(&arg_data_raw(), GetBlocksArgs).expect("failed to decode get_blocks argument"); - reply((get_blocks(args),)); + in_query_executor_context(|| { + let args = + Decode!(&arg_data_raw(), GetBlocksArgs).expect("failed to decode get_blocks argument"); + reply((get_blocks(args),)); + }) } #[post_upgrade] @@ -439,7 +446,10 @@ fn encode_metrics(w: &mut MetricsEncoder>) -> std::io::Result<()> { Ok(()) } -#[query(hidden = true, decoding_quota = 10000)] +#[query( + hidden = true, + decode_with = "candid::decode_one_with_decoding_quota::<100000,_>" +)] fn http_request(req: HttpRequest) -> HttpResponse { if req.path() == "/metrics" { let mut writer = @@ -499,16 +509,18 @@ fn read_encoded_blocks(start: u64, length: usize) -> Result, G /// range stored in the Node the result is an error. #[export_name = "canister_query get_encoded_blocks"] fn get_encoded_blocks_blocks_() { - ic_cdk::setup(); - let args = Decode!(&arg_data_raw(), GetBlocksArgs) - .expect("failed to decode get_encoded_blocks argument"); - reply((get_encoded_blocks(args),)); + in_query_executor_context(|| { + let args = Decode!(&arg_data_raw(), GetBlocksArgs) + .expect("failed to decode get_encoded_blocks argument"); + reply((get_encoded_blocks(args),)); + }) } #[export_name = "canister_query __get_candid_interface_tmp_hack"] fn get_canidid_interface() { - ic_cdk::setup(); - reply((include_str!(env!("LEDGER_ARCHIVE_DID_PATH")),)); + in_query_executor_context(|| { + reply((include_str!(env!("LEDGER_ARCHIVE_DID_PATH")),)); + }) } #[test] diff --git a/rs/ledger_suite/icp/archive/tests/tests.rs b/rs/ledger_suite/icp/archive/tests/tests.rs index 8223fb9c6acb..cddaaa9c0dc0 100644 --- a/rs/ledger_suite/icp/archive/tests/tests.rs +++ b/rs/ledger_suite/icp/archive/tests/tests.rs @@ -207,7 +207,7 @@ fn large_http_request() { .unwrap_err(); assert!(err .reject_message - .contains("failed to decode call arguments")); + .contains("Decoding cost exceeds the limit")); } #[test] diff --git a/rs/ledger_suite/icp/index/src/main.rs b/rs/ledger_suite/icp/index/src/main.rs index a782f87aa66d..71e9f811b56c 100644 --- a/rs/ledger_suite/icp/index/src/main.rs +++ b/rs/ledger_suite/icp/index/src/main.rs @@ -1,4 +1,5 @@ -use candid::{candid_method, Principal}; +#![allow(deprecated)] +use candid::Principal; use ic_base_types::PrincipalId; use ic_canister_log::{export as export_logs, log}; use ic_cdk::api::caller; @@ -115,14 +116,14 @@ impl Storable for State { fn to_bytes(&self) -> Cow<[u8]> { let mut buf = vec![]; ciborium::ser::into_writer(self, &mut buf).unwrap_or_else(|err| { - ic_cdk::api::trap(&format!("{:?}", err)); + ic_cdk::api::trap(format!("{:?}", err)); }); Cow::Owned(buf) } fn from_bytes(bytes: Cow<'_, [u8]>) -> Self { ciborium::de::from_reader(&bytes[..]).unwrap_or_else(|err| { - ic_cdk::api::trap(&format!("{:?}", err)); + ic_cdk::api::trap(format!("{:?}", err)); }) } @@ -144,7 +145,7 @@ impl Storable for AccountIdentifierDataType { fn from_bytes(bytes: Cow<'_, [u8]>) -> Self { if bytes.len() != 1 { - ic_cdk::api::trap(&format!( + ic_cdk::api::trap(format!( "Expected a single byte for AccountDataType but found {}", bytes.len() )); @@ -152,7 +153,7 @@ impl Storable for AccountIdentifierDataType { if bytes[0] == 0x00 { Self::Balance } else { - ic_cdk::api::trap(&format!("Unknown AccountDataType {}", bytes[0])); + ic_cdk::api::trap(format!("Unknown AccountDataType {}", bytes[0])); } } @@ -177,7 +178,7 @@ fn mutate_state(f: impl FnOnce(&mut State)) { borrowed.set(state) }) .unwrap_or_else(|err| { - ic_cdk::api::trap(&format!("{:?}", err)); + ic_cdk::api::trap(format!("{:?}", err)); }); } @@ -233,7 +234,6 @@ fn balance_key(account_identifier: AccountIdentifier) -> (AccountIdentifierDataT } #[init] -#[candid_method(init)] fn init(init_arg: InitArg) { // stable memory initialization mutate_state(|state| { @@ -441,7 +441,7 @@ fn process_balance_changes(block_index: BlockIndex, block: &Block) -> Result<(), fn debit(block_index: BlockIndex, account_identifier: AccountIdentifier, amount: u64) { change_balance(account_identifier, |balance| { if balance < amount { - ic_cdk::trap(&format!("Block {} caused an overflow for account_identifier {} when calculating balance {} + amount {}", + ic_cdk::trap(format!("Block {} caused an overflow for account_identifier {} when calculating balance {} + amount {}", block_index, account_identifier, balance, amount)) } balance - amount @@ -451,7 +451,7 @@ fn debit(block_index: BlockIndex, account_identifier: AccountIdentifier, amount: fn credit(block_index: BlockIndex, account_identifier: AccountIdentifier, amount: u64) { change_balance(account_identifier, |balance| { if u64::MAX - balance < amount { - ic_cdk::trap(&format!("Block {} caused an overflow for account_identifier {} when calculating balance {} + amount {}", + ic_cdk::trap(format!("Block {} caused an overflow for account_identifier {} when calculating balance {} + amount {}", block_index, account_identifier, balance, amount)) } balance + amount @@ -484,7 +484,6 @@ fn account_identifier_block_ids_key( } #[query] -#[candid_method(query)] fn ledger_id() -> Principal { with_state(|state| state.ledger_id) } @@ -573,7 +572,6 @@ pub fn encode_metrics(w: &mut ic_metrics_encoder::MetricsEncoder>) -> st } #[query] -#[candid_method(query)] fn get_blocks( req: icrc_ledger_types::icrc3::blocks::GetBlocksRequest, ) -> ic_icp_index::GetBlocksResponse { @@ -591,7 +589,6 @@ fn get_blocks( } #[query] -#[candid_method(query)] fn get_account_identifier_transactions( arg: GetAccountIdentifierTransactionsArgs, ) -> GetAccountIdentifierTransactionsResult { @@ -616,7 +613,7 @@ fn get_account_identifier_transactions( for id in indices { let block = with_blocks(|blocks| { blocks.get(id).unwrap_or_else(|| { - ic_cdk::api::trap(&format!( + ic_cdk::api::trap(format!( "Block {} not found in the block log, account_identifier blocks map is corrupted!", id )); @@ -624,7 +621,7 @@ fn get_account_identifier_transactions( }); let settled_transaction = SettledTransaction::from(decode_encoded_block(id, EncodedBlock::from(block)) .unwrap_or_else(|_| { - ic_cdk::api::trap(&format!( + ic_cdk::api::trap(format!( "Block {} not found in the block log, account_identifier blocks map is corrupted!",id)) })); let transaction_with_idx = SettledTransactionWithId { @@ -643,7 +640,6 @@ fn get_account_identifier_transactions( } #[query] -#[candid_method(query)] fn get_account_transactions(arg: GetAccountTransactionsArgs) -> GetAccountTransactionsResult { get_account_identifier_transactions(GetAccountIdentifierTransactionsArgs { account_identifier: AccountIdentifier::from(arg.account), @@ -659,8 +655,10 @@ fn get_account_transactions(arg: GetAccountTransactionsArgs) -> GetAccountTransa }) } -#[candid_method(query)] -#[query(decoding_quota = 10000)] +#[query( + hidden = true, + decode_with = "candid::decode_one_with_decoding_quota::<100000,_>" +)] fn http_request(req: HttpRequest) -> HttpResponse { if req.path() == "/metrics" { let mut writer = @@ -707,20 +705,27 @@ fn http_request(req: HttpRequest) -> HttpResponse { } } +// Manually add a dummy method so that the Candid interface can be properly generated: +// `http_request: (HttpRequest) -> (HttpResponse) query;` +// Without this dummy method, it will be `http_request: (blob) -> (HttpResponse) query;` +// because of the `decode_with` option used above. +#[::candid::candid_method(query, rename = "http_request")] +#[allow(unused_variables)] +fn __candid_method_http_request(request: HttpRequest) -> HttpResponse { + panic!("candid dummy function called") +} + #[query] -#[candid_method(query)] fn get_account_identifier_balance(account_identifier: AccountIdentifier) -> u64 { get_balance(account_identifier) } #[query] -#[candid_method(query)] fn icrc1_balance_of(account: Account) -> u64 { get_balance(AccountIdentifier::from(account)) } #[query] -#[candid_method(query)] fn status() -> Status { let num_blocks_synced = with_blocks(|blocks| blocks.len()); Status { num_blocks_synced } diff --git a/rs/ledger_suite/icp/ledger/Cargo.toml b/rs/ledger_suite/icp/ledger/Cargo.toml index 267a3a5bc7e1..65624b62b8f8 100644 --- a/rs/ledger_suite/icp/ledger/Cargo.toml +++ b/rs/ledger_suite/icp/ledger/Cargo.toml @@ -12,7 +12,7 @@ path = "src/main.rs" [dependencies] async-trait = { workspace = true } -canbench-rs = { version = "0.1.7", optional = true } +canbench-rs = { workspace = true, optional = true } candid = { workspace = true } candid_parser = { workspace = true } ciborium = { workspace = true } diff --git a/rs/ledger_suite/icp/ledger/canbench_results/canbench.yml b/rs/ledger_suite/icp/ledger/canbench_results/canbench.yml index 0c7c6e39d844..2204a6abfc72 100644 --- a/rs/ledger_suite/icp/ledger/canbench_results/canbench.yml +++ b/rs/ledger_suite/icp/ledger/canbench_results/canbench.yml @@ -6,22 +6,27 @@ benches: stable_memory_increase: 256 scopes: icrc1_transfer: + calls: 1 instructions: 3067348446 heap_increase: 24 stable_memory_increase: 0 icrc2_approve: + calls: 1 instructions: 4443523495 heap_increase: 23 stable_memory_increase: 128 icrc2_transfer_from: + calls: 1 instructions: 6832774956 heap_increase: 2 stable_memory_increase: 128 query_blocks: + calls: 1 instructions: 38072806 heap_increase: 13 stable_memory_increase: 0 query_encoded_blocks: + calls: 1 instructions: 7382133 heap_increase: 0 stable_memory_increase: 0 diff --git a/rs/ledger_suite/icp/ledger/src/main.rs b/rs/ledger_suite/icp/ledger/src/main.rs index 55eff0da498b..aa07b624f270 100644 --- a/rs/ledger_suite/icp/ledger/src/main.rs +++ b/rs/ledger_suite/icp/ledger/src/main.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] #[cfg(feature = "canbench-rs")] mod canbench; @@ -16,6 +17,7 @@ use ic_cdk::api::{ call::{arg_data_raw, reply_raw}, caller, data_certificate, instruction_counter, print, set_certified_data, time, trap, }; +use ic_cdk::futures::{in_executor_context, in_query_executor_context}; use ic_cdk::{post_upgrade, pre_upgrade, query, update}; use ic_http_types::{HttpRequest, HttpResponse, HttpResponseBuilder}; use ic_icrc1::endpoints::{convert_transfer_error, StandardRecord}; @@ -633,13 +635,11 @@ fn account_balance(account: AccountIdentifier) -> Tokens { } #[query] -#[candid_method(query)] fn icrc1_balance_of(acc: Account) -> Nat { Nat::from(account_balance(AccountIdentifier::from(acc)).get_e8s()) } #[query] -#[candid_method(query)] fn icrc1_supported_standards() -> Vec { let mut standards = vec![StandardRecord { name: "ICRC-1".to_string(), @@ -662,19 +662,16 @@ fn icrc1_supported_standards() -> Vec { } #[query] -#[candid_method(query)] fn icrc1_minting_account() -> Option { LEDGER.read().unwrap().icrc1_minting_account } #[query] -#[candid_method(query)] fn transfer_fee(_: TransferFeeArgs) -> TransferFee { LEDGER.read().unwrap().transfer_fee() } #[query] -#[candid_method(query)] fn icrc1_metadata() -> Vec<(String, Value)> { vec![ Value::entry("icrc1:decimals", DECIMAL_PLACES as u64), @@ -688,7 +685,6 @@ fn icrc1_metadata() -> Vec<(String, Value)> { } #[query] -#[candid_method(query)] fn icrc1_fee() -> Nat { Nat::from(LEDGER.read().unwrap().transfer_fee.get_e8s()) } @@ -699,13 +695,11 @@ fn total_supply() -> Tokens { } #[query] -#[candid_method(query)] fn icrc1_total_supply() -> Nat { Nat::from(LEDGER.read().unwrap().balances().total_supply().get_e8s()) } #[query(name = "symbol")] -#[candid_method(query, rename = "symbol")] fn token_symbol() -> Symbol { Symbol { symbol: LEDGER.read().unwrap().token_symbol.clone(), @@ -713,7 +707,6 @@ fn token_symbol() -> Symbol { } #[query(name = "name")] -#[candid_method(query, rename = "name")] fn token_name() -> Name { Name { name: LEDGER.read().unwrap().token_name.clone(), @@ -721,19 +714,16 @@ fn token_name() -> Name { } #[query] -#[candid_method(query)] fn icrc1_name() -> String { LEDGER.read().unwrap().token_name.clone() } #[query] -#[candid_method(query)] fn icrc1_symbol() -> String { LEDGER.read().unwrap().token_symbol.to_string() } #[query(name = "decimals")] -#[candid_method(query, rename = "decimals")] fn token_decimals() -> Decimals { Decimals { decimals: DECIMAL_PLACES, @@ -741,7 +731,6 @@ fn token_decimals() -> Decimals { } #[query] -#[candid_method(query)] fn icrc1_decimals() -> u8 { debug_assert!(ic_ledger_core::tokens::DECIMAL_PLACES <= u8::MAX as u32); ic_ledger_core::tokens::DECIMAL_PLACES as u8 @@ -772,17 +761,17 @@ fn canister_init(arg: LedgerCanisterPayload) { #[cfg(not(feature = "canbench-rs"))] #[export_name = "canister_init"] fn main() { - ic_cdk::setup(); - let bytes = arg_data_raw(); - // We support the old init argument for backward - // compatibility. If decoding the bytes as the new - // init arguments fails then we fallback to the old - // init arguments. - match Decode!(&bytes, LedgerCanisterPayload) { - Ok(arg) => canister_init(arg), - Err(new_err) => { - // fallback to old init - match Decode!(&bytes, InitArgs) { + in_executor_context(|| { + let bytes = arg_data_raw(); + // We support the old init argument for backward + // compatibility. If decoding the bytes as the new + // init arguments fails then we fallback to the old + // init arguments. + match Decode!(&bytes, LedgerCanisterPayload) { + Ok(arg) => canister_init(arg), + Err(new_err) => { + // fallback to old init + match Decode!(&bytes, InitArgs) { Ok(arg) => init( arg.minting_account, arg.icrc1_minting_account, @@ -797,10 +786,11 @@ fn main() { arg.feature_flags, ), Err(old_err) => - trap(&format!("Unable to decode init argument.\nDecode as new init returned the error {}\nDecode as old init returned the error {}", new_err, old_err)) + trap(format!("Unable to decode init argument.\nDecode as new init returned the error {}\nDecode as old init returned the error {}", new_err, old_err)) } + } } - } + }) } #[cfg(feature = "canbench-rs")] @@ -926,24 +916,24 @@ impl LedgerAccess for Access { /// Canister endpoints #[export_name = "canister_update send_pb"] fn send_() { - ic_cdk::spawn(async move { - ic_cdk::setup(); + in_executor_context(|| { + ic_cdk::futures::spawn_017_compat(async { + let SendArgs { + memo, + amount, + fee, + from_subaccount, + to, + created_at_time, + } = from_proto_bytes(arg_data_raw()).expect("failed to decode send_pb argument"); - let SendArgs { - memo, - amount, - fee, - from_subaccount, - to, - created_at_time, - } = from_proto_bytes(arg_data_raw()).expect("failed to decode send_pb argument"); + let res = send(memo, amount, fee, from_subaccount, to, created_at_time) + .await + .unwrap_or_else(|e| trap(e.to_string())); - let res = send(memo, amount, fee, from_subaccount, to, created_at_time) - .await - .unwrap_or_else(|e| trap(&e.to_string())); - - let res_proto = to_proto_bytes(res).expect("failed to encode send_pb response"); - reply_raw(&res_proto) + let res_proto = to_proto_bytes(res).expect("failed to encode send_pb response"); + reply_raw(&res_proto) + }) }) } @@ -953,10 +943,9 @@ fn send_() { /// /// I STRONGLY recommend that you use "send_pb" instead. #[update] -#[candid_method(update)] async fn send_dfx(arg: SendArgs) -> BlockIndex { transfer(TransferArgs::from(arg)).await.unwrap_or_else(|e| { - trap(&e.to_string()); + trap(e.to_string()); }) } @@ -990,10 +979,9 @@ fn notify_() { } #[update] -#[candid_method(update)] async fn transfer(arg: TransferArgs) -> Result { let to_account = AccountIdentifier::from_address(arg.to).unwrap_or_else(|e| { - trap(&format!("Invalid account identifier: {}", e)); + trap(format!("Invalid account identifier: {}", e)); }); send( arg.memo, @@ -1007,7 +995,6 @@ async fn transfer(arg: TransferArgs) -> Result { } #[update] -#[candid_method(update)] async fn icrc1_transfer( arg: TransferArg, ) -> Result { @@ -1046,7 +1033,6 @@ async fn icrc1_transfer( } #[update] -#[candid_method(update)] async fn icrc2_transfer_from(arg: TransferFromArgs) -> Result { if !LEDGER .read() @@ -1115,75 +1101,78 @@ fn notify_dfx_() { #[export_name = "canister_query block_pb"] fn block_() { - ic_cdk::setup(); - let arg: BlockArg = - from_proto_bytes(arg_data_raw()).expect("failed to decode block_pb argument"); - let res = to_proto_bytes(icp_ledger::BlockRes(block(arg.0))) - .expect("failed to encode block_pb response"); - reply_raw(&res) + in_query_executor_context(|| { + let arg: BlockArg = + from_proto_bytes(arg_data_raw()).expect("failed to decode block_pb argument"); + let res = to_proto_bytes(icp_ledger::BlockRes(block(arg.0))) + .expect("failed to encode block_pb response"); + reply_raw(&res) + }) } #[export_name = "canister_query tip_of_chain_pb"] fn tip_of_chain_() { - ic_cdk::setup(); - let _: protobuf::TipOfChainRequest = - from_proto_bytes(arg_data_raw()).expect("failed to decode tip_of_chain_pb argument"); - let res = to_proto_bytes(tip_of_chain()).expect("failed to encode tip_of_chain_pb response"); - reply_raw(&res) + in_query_executor_context(|| { + let _: protobuf::TipOfChainRequest = + from_proto_bytes(arg_data_raw()).expect("failed to decode tip_of_chain_pb argument"); + let res = + to_proto_bytes(tip_of_chain()).expect("failed to encode tip_of_chain_pb response"); + reply_raw(&res) + }) } #[query(name = "tip_of_chain")] -#[candid_method(query, rename = "tip_of_chain")] fn tip_of_chain_candid() -> TipOfChainRes { tip_of_chain() } #[export_name = "canister_query get_archive_index_pb"] fn get_archive_index_() { - ic_cdk::setup(); - let state = LEDGER.read().unwrap(); - let entries = match &state - .blockchain - .archive - .try_read() - .expect("Failed to get lock on archive") - .as_ref() - { - None => vec![], - Some(archive) => archive - .index() - .into_iter() - .map( - |((height_from, height_to), canister_id)| protobuf::ArchiveIndexEntry { - height_from, - height_to, - canister_id: Some(canister_id.get()), - }, - ) - .collect(), - }; - let res = to_proto_bytes(protobuf::ArchiveIndexResponse { entries }) - .expect("failed to encode get_archive_index_pb response"); - reply_raw(&res); + in_query_executor_context(|| { + let state = LEDGER.read().unwrap(); + let entries = match &state + .blockchain + .archive + .try_read() + .expect("Failed to get lock on archive") + .as_ref() + { + None => vec![], + Some(archive) => archive + .index() + .into_iter() + .map( + |((height_from, height_to), canister_id)| protobuf::ArchiveIndexEntry { + height_from, + height_to, + canister_id: Some(canister_id.get()), + }, + ) + .collect(), + }; + let res = to_proto_bytes(protobuf::ArchiveIndexResponse { entries }) + .expect("failed to encode get_archive_index_pb response"); + reply_raw(&res); + }) } #[export_name = "canister_query account_balance_pb"] fn account_balance_() { - ic_cdk::setup(); - let args: AccountBalanceArgs = - from_proto_bytes(arg_data_raw()).expect("failed to decode account_balance_pb argument"); - let res = tokens_into_proto(account_balance(args.account)); - let res_proto = to_proto_bytes(res).expect("failed to encode account_balance_pb response"); - reply_raw(&res_proto) + in_query_executor_context(|| { + let args: AccountBalanceArgs = + from_proto_bytes(arg_data_raw()).expect("failed to decode account_balance_pb argument"); + let res = tokens_into_proto(account_balance(args.account)); + let res_proto = to_proto_bytes(res).expect("failed to encode account_balance_pb response"); + reply_raw(&res_proto) + }) } #[query(name = "account_balance")] -#[candid_method(query, rename = "account_balance")] fn account_balance_candid_(arg: AccountIdentifierByteBuf) -> Tokens { match BinaryAccountBalanceArgs::try_from(arg) { Ok(arg) => { let account = AccountIdentifier::from_address(arg.account).unwrap_or_else(|e| { - trap(&format!("Invalid account identifier: {}", e)); + trap(format!("Invalid account identifier: {}", e)); }); account_balance(account) } @@ -1193,35 +1182,35 @@ fn account_balance_candid_(arg: AccountIdentifierByteBuf) -> Tokens { /// See caveats of use on send_dfx #[query(name = "account_balance_dfx")] -#[candid_method(query, rename = "account_balance_dfx")] fn account_balance_dfx_(args: AccountBalanceArgs) -> Tokens { account_balance(args.account) } #[query(name = "account_identifier")] -#[candid_method(query, rename = "account_identifier")] fn compute_account_identifier(arg: Account) -> AccountIdBlob { AccountIdentifier::from(arg).to_address() } #[export_name = "canister_query transfer_fee_pb"] fn transfer_fee_() { - ic_cdk::setup(); - let args: TransferFeeArgs = - from_proto_bytes(arg_data_raw()).expect("failed to decode transfer_fee_pb argument"); - let fee = transfer_fee(args); - let res = to_proto_bytes(fee).expect("failed to encpde transfer_fee_pb response"); - reply_raw(&res) + in_query_executor_context(|| { + let args: TransferFeeArgs = + from_proto_bytes(arg_data_raw()).expect("failed to decode transfer_fee_pb argument"); + let fee = transfer_fee(args); + let res = to_proto_bytes(fee).expect("failed to encpde transfer_fee_pb response"); + reply_raw(&res) + }) } #[export_name = "canister_query total_supply_pb"] fn total_supply_() { - ic_cdk::setup(); - let _: TotalSupplyArgs = - from_proto_bytes(arg_data_raw()).expect("failed to decode total_supply_pb args"); - let res = tokens_into_proto(total_supply()); - let res_proto = to_proto_bytes(res).expect("failed encode total_supply_pb response"); - reply_raw(&res_proto) + in_query_executor_context(|| { + let _: TotalSupplyArgs = + from_proto_bytes(arg_data_raw()).expect("failed to decode total_supply_pb args"); + let res = tokens_into_proto(total_supply()); + let res_proto = to_proto_bytes(res).expect("failed encode total_supply_pb response"); + reply_raw(&res_proto) + }) } /// Get multiple blocks by *offset into the container* (not BlockIndex) and @@ -1231,50 +1220,51 @@ fn total_supply_() { /// with height 100. #[export_name = "canister_query iter_blocks_pb"] fn iter_blocks_() { - ic_cdk::setup(); - let args: IterBlocksArgs = - from_proto_bytes(arg_data_raw()).expect("failed to decode iter_blocks_pb argument"); - - let length = std::cmp::min( - args.length, - max_blocks_per_request(&PrincipalId::from(caller())), - ) as u64; - let archived_len = LEDGER.read().unwrap().blockchain.num_archived_blocks; - let start = archived_len + args.start as u64; - let end = start + length; - let blocks = LEDGER.read().unwrap().blockchain.get_blocks(start..end); - let res = - to_proto_bytes(IterBlocksRes(blocks)).expect("failed to encode iter_blocks_pb response"); - reply_raw(&res) + in_query_executor_context(|| { + let args: IterBlocksArgs = + from_proto_bytes(arg_data_raw()).expect("failed to decode iter_blocks_pb argument"); + + let length = std::cmp::min( + args.length, + max_blocks_per_request(&PrincipalId::from(caller())), + ) as u64; + let archived_len = LEDGER.read().unwrap().blockchain.num_archived_blocks; + let start = archived_len + args.start as u64; + let end = start + length; + let blocks = LEDGER.read().unwrap().blockchain.get_blocks(start..end); + let res = to_proto_bytes(IterBlocksRes(blocks)) + .expect("failed to encode iter_blocks_pb response"); + reply_raw(&res) + }) } /// Get multiple blocks by BlockIndex and length. If the query is outside the /// range stored in the Node the result is an error. #[export_name = "canister_query get_blocks_pb"] fn get_blocks_() { - ic_cdk::setup(); - let args: GetBlocksArgs = - from_proto_bytes(arg_data_raw()).expect("failed to decode get_blocks_pb argument"); + in_query_executor_context(|| { + let args: GetBlocksArgs = + from_proto_bytes(arg_data_raw()).expect("failed to decode get_blocks_pb argument"); - let length = std::cmp::min( - args.length, - max_blocks_per_request(&PrincipalId::from(caller())) as u64, - ); - let blockchain = &LEDGER.read().unwrap().blockchain; - let local_blocks_range = blockchain.num_archived_blocks..blockchain.chain_length(); - let requested_range = args.start..args.start + length; - let res = if !range_utils::is_subrange(&requested_range, &local_blocks_range) { - GetBlocksRes(Err(format!("Requested blocks outside the range stored in the ledger node. Requested [{} .. {}]. Available [{} .. {}].", + let length = std::cmp::min( + args.length, + max_blocks_per_request(&PrincipalId::from(caller())) as u64, + ); + let blockchain = &LEDGER.read().unwrap().blockchain; + let local_blocks_range = blockchain.num_archived_blocks..blockchain.chain_length(); + let requested_range = args.start..args.start + length; + let res = if !range_utils::is_subrange(&requested_range, &local_blocks_range) { + GetBlocksRes(Err(format!("Requested blocks outside the range stored in the ledger node. Requested [{} .. {}]. Available [{} .. {}].", requested_range.start, requested_range.end, local_blocks_range.start, local_blocks_range.end))) - } else { - GetBlocksRes(Ok(blockchain.get_blocks(requested_range))) - }; - let res_proto = to_proto_bytes(res).expect("failed to encode get_blocks_pb respone"); - reply_raw(&res_proto) + } else { + GetBlocksRes(Ok(blockchain.get_blocks(requested_range))) + }; + let res_proto = to_proto_bytes(res).expect("failed to encode get_blocks_pb respone"); + reply_raw(&res_proto) + }) } #[query] -#[candid_method(query)] fn query_blocks(GetBlocksArgs { start, length }: GetBlocksArgs) -> QueryBlocksResponse { let ledger = LEDGER.read().unwrap(); let locations = block_locations(&*ledger, start, length.min(usize::MAX as u64) as usize); @@ -1317,7 +1307,6 @@ fn query_blocks(GetBlocksArgs { start, length }: GetBlocksArgs) -> QueryBlocksRe } #[query] -#[candid_method(query)] fn archives() -> Archives { let ledger_guard = LEDGER.try_read().expect("Failed to get ledger read lock"); let archive_guard = ledger_guard.blockchain.archive.read().unwrap(); @@ -1336,13 +1325,14 @@ fn archives() -> Archives { #[export_name = "canister_query get_nodes"] fn get_nodes_() { - ic_cdk::setup(); - let result = archives() - .archives - .iter() - .map(|archive| archive.canister_id) - .collect::>(); - ic_cdk::api::call::reply((result,)); + in_query_executor_context(|| { + let result = archives() + .archives + .iter() + .map(|archive| archive.canister_id) + .collect::>(); + ic_cdk::api::call::reply((result,)); + }) } fn encode_metrics(w: &mut ic_metrics_encoder::MetricsEncoder>) -> std::io::Result<()> { @@ -1453,7 +1443,10 @@ fn encode_metrics(w: &mut ic_metrics_encoder::MetricsEncoder>) -> std::i Ok(()) } -#[query(hidden = true, decoding_quota = 10000)] +#[query( + hidden = true, + decode_with = "candid::decode_one_with_decoding_quota::<100000,_>" +)] fn http_request(req: HttpRequest) -> HttpResponse { if req.path() == "/metrics" { let mut writer = @@ -1476,7 +1469,6 @@ fn http_request(req: HttpRequest) -> HttpResponse { } #[query] -#[candid_method(query)] fn query_encoded_blocks( GetBlocksArgs { start, length }: GetBlocksArgs, ) -> QueryEncodedBlocksResponse { @@ -1624,7 +1616,6 @@ fn icrc2_approve_not_async( } #[update] -#[candid_method(update)] async fn icrc2_approve(arg: ApproveArgs) -> Result { let block_index = icrc2_approve_not_async(caller(), arg, None)?; @@ -1644,7 +1635,6 @@ fn get_allowance(from: AccountIdentifier, spender: AccountIdentifier) -> Allowan } #[update] -#[candid_method(update)] async fn remove_approval(args: RemoveApprovalArgs) -> Result { let approve_arg = ApproveArgs { from_subaccount: args.from_subaccount, @@ -1660,7 +1650,7 @@ async fn remove_approval(args: RemoveApprovalArgs) -> Result created_at_time: None, }; let spender = AccountIdentifier::from_address(args.spender).unwrap_or_else(|e| { - trap(&format!("Invalid account identifier: {}", e)); + trap(format!("Invalid account identifier: {}", e)); }); let block_index = icrc2_approve_not_async(caller(), approve_arg, Some(spender))?; @@ -1670,7 +1660,6 @@ async fn remove_approval(args: RemoveApprovalArgs) -> Result } #[query] -#[candid_method(query)] fn icrc2_allowance(arg: AllowanceArgs) -> Allowance { if !LEDGER.read().unwrap().feature_flags.icrc2 { trap("ICRC-2 features are not enabled on the ledger."); @@ -1682,13 +1671,11 @@ fn icrc2_allowance(arg: AllowanceArgs) -> Allowance { #[cfg(feature = "icp-allowance-getter")] #[query(name = "allowance")] -#[candid_method(query, rename = "allowance")] fn icp_allowance(arg: IcpAllowanceArgs) -> Allowance { get_allowance(arg.account, arg.spender) } #[update] -#[candid_method(update)] fn icrc21_canister_call_consent_message( consent_msg_request: ConsentMessageRequest, ) -> Result { @@ -1709,13 +1696,11 @@ fn icrc21_canister_call_consent_message( } #[query] -#[candid_method(query)] fn icrc10_supported_standards() -> Vec { icrc1_supported_standards() } #[query] -#[candid_method(query)] fn is_ledger_ready() -> bool { true } @@ -1728,7 +1713,6 @@ fn is_ledger_ready() -> bool { /// `arg.take` can be used to limit the number of returned allowances. If not specified, /// at most 500 allowances will be returned. #[query] -#[candid_method(query)] fn get_allowances(arg: GetAllowancesArgs) -> Allowances { let max_take_allowances = Access::with_ledger(|ledger| ledger.max_take_allowances()); let max_results = arg diff --git a/rs/ledger_suite/icrc1/archive/src/main.rs b/rs/ledger_suite/icrc1/archive/src/main.rs index 1d6e5f2440fd..954ecbb5ce0b 100644 --- a/rs/ledger_suite/icrc1/archive/src/main.rs +++ b/rs/ledger_suite/icrc1/archive/src/main.rs @@ -1,4 +1,4 @@ -use candid::{candid_method, Principal}; +use candid::Principal; use ic_cdk::{init, post_upgrade, query, update}; use ic_http_types::{HttpRequest, HttpResponse, HttpResponseBuilder}; use ic_icrc1::{blocks::encoded_block_to_generic_block, Block}; @@ -132,7 +132,7 @@ fn with_blocks(f: impl FnOnce(&BlockLog) -> R) -> R { fn decode_transaction(txid: u64, bytes: Vec) -> Transaction { Block::::decode(EncodedBlock::from(bytes)) - .unwrap_or_else(|e| ic_cdk::api::trap(&format!("failed to decode block {}: {}", txid, e))) + .unwrap_or_else(|e| ic_cdk::api::trap(format!("failed to decode block {}: {}", txid, e))) .into() } @@ -142,7 +142,6 @@ fn decode_icrc1_block(_txid: u64, bytes: Vec) -> IcrcBlock { } #[init] -#[candid_method(init)] fn init( ledger_id: Principal, block_index_offset: u64, @@ -189,11 +188,10 @@ fn post_upgrade() { } #[update] -#[candid_method(update)] fn append_blocks(new_blocks: Vec) { let max_memory_size_bytes = with_archive_opts(|opts| { - if ic_cdk::api::caller() != opts.ledger_id { - ic_cdk::api::trap(&format!( + if ic_cdk::api::msg_caller() != opts.ledger_id { + ic_cdk::api::trap(format!( "only {} can append blocks to this archive", opts.ledger_id )); @@ -215,7 +213,6 @@ fn append_blocks(new_blocks: Vec) { } #[query] -#[candid_method(query)] fn remaining_capacity() -> u64 { let total_block_size = with_blocks(|blocks| blocks.log_size_bytes()); with_archive_opts(|opts| { @@ -226,7 +223,6 @@ fn remaining_capacity() -> u64 { } #[query] -#[candid_method(query)] fn get_transaction(index: BlockIndex) -> Option { let idx_offset = with_archive_opts(|opts| opts.block_index_offset); let relative_idx = (idx_offset <= index).then_some(index - idx_offset)?; @@ -238,7 +234,7 @@ fn get_transaction(index: BlockIndex) -> Option { fn decode_block_range(start: u64, length: u64, decoder: impl Fn(u64, Vec) -> R) -> Vec { let offset = with_archive_opts(|opts| { if start < opts.block_index_offset { - ic_cdk::api::trap(&format!( + ic_cdk::api::trap(format!( "requested index {} is less than the minimal index {} this archive serves", start, opts.block_index_offset )); @@ -256,7 +252,6 @@ fn decode_block_range(start: u64, length: u64, decoder: impl Fn(u64, Vec) } #[query] -#[candid_method(query)] fn get_transactions(req: GetTransactionsRequest) -> TransactionRange { let (start, length) = req .as_start_and_length() @@ -268,7 +263,6 @@ fn get_transactions(req: GetTransactionsRequest) -> TransactionRange { /// Get length Blocks starting at start BlockIndex. #[query] -#[candid_method(query)] fn get_blocks(req: GetTransactionsRequest) -> BlockRange { let (start, length) = req .as_start_and_length() @@ -279,20 +273,17 @@ fn get_blocks(req: GetTransactionsRequest) -> BlockRange { } #[query] -#[candid_method(query)] fn icrc3_get_archives(_arg: GetArchivesArgs) -> GetArchivesResult { vec![] } #[query] -#[candid_method(query)] fn icrc3_get_tip_certificate() -> Option { // Only the Ledger certifies the tip of the chain. None } #[query] -#[candid_method(query)] fn icrc3_supported_block_types() -> Vec { vec![ SupportedBlockType { @@ -324,7 +315,6 @@ fn icrc3_supported_block_types() -> Vec { } #[query] -#[candid_method(query)] fn icrc3_get_blocks(reqs: Vec) -> GetBlocksResult { const MAX_BLOCKS_PER_RESPONSE: u64 = 100; @@ -365,12 +355,12 @@ fn __get_candid_interface_tmp_hack() -> &'static str { fn encode_metrics(w: &mut ic_metrics_encoder::MetricsEncoder>) -> std::io::Result<()> { w.encode_gauge( "archive_stable_memory_pages", - ic_cdk::api::stable::stable_size() as f64, + ic_cdk::stable::stable_size() as f64, "Size of the stable memory allocated by this canister measured in 64K Wasm pages.", )?; w.encode_gauge( "stable_memory_bytes", - ic_cdk::api::stable::stable_size() as f64 * 65536f64, + ic_cdk::stable::stable_size() as f64 * 65536f64, "Size of the stable memory allocated by this canister measured in bytes.", )?; w.encode_gauge( @@ -379,7 +369,7 @@ fn encode_metrics(w: &mut ic_metrics_encoder::MetricsEncoder>) -> std::i "Size of the heap memory allocated by this canister measured in bytes.", )?; - let cycle_balance = ic_cdk::api::canister_balance128() as f64; + let cycle_balance = ic_cdk::api::canister_cycle_balance() as f64; w.encode_gauge( "archive_cycle_balance", @@ -399,7 +389,10 @@ fn encode_metrics(w: &mut ic_metrics_encoder::MetricsEncoder>) -> std::i Ok(()) } -#[query(hidden = true, decoding_quota = 10000)] +#[query( + hidden = true, + decode_with = "candid::decode_one_with_decoding_quota::<100000,_>" +)] fn http_request(req: HttpRequest) -> HttpResponse { if req.path() == "/metrics" { let mut writer = diff --git a/rs/ledger_suite/icrc1/index-ng/src/main.rs b/rs/ledger_suite/icrc1/index-ng/src/main.rs index fe42ee960257..963fad45b504 100644 --- a/rs/ledger_suite/icrc1/index-ng/src/main.rs +++ b/rs/ledger_suite/icrc1/index-ng/src/main.rs @@ -1,4 +1,5 @@ -use candid::{candid_method, CandidType, Decode, Encode, Nat, Principal}; +#![allow(deprecated)] +use candid::{CandidType, Decode, Encode, Nat, Principal}; use ic_canister_log::{export as export_logs, log}; use ic_canister_profiler::{measure_span, SpanName, SpanStats}; use ic_cdk::trap; @@ -295,7 +296,6 @@ fn balance_key(account: Account) -> (AccountDataType, (Blob<29>, [u8; 32])) { } #[init] -#[candid_method(init)] fn init(index_arg: Option) { let InitArg { ledger_id, @@ -792,7 +792,7 @@ fn process_balance_changes(block_index: BlockIndex64, block: &Block) { .. } => { let fee = block.effective_fee.or(fee).unwrap_or_else(|| { - ic_cdk::trap(&format!( + ic_cdk::trap(format!( "Block {} is of type Transfer but has no fee or effective fee!", block_index )) @@ -802,7 +802,7 @@ fn process_balance_changes(block_index: BlockIndex64, block: &Block) { block_index, from, amount.checked_add(&fee).unwrap_or_else(|| { - ic_cdk::trap(&format!( + ic_cdk::trap(format!( "token amount overflow while indexing block {block_index}" )) }), @@ -829,7 +829,7 @@ fn process_balance_changes(block_index: BlockIndex64, block: &Block) { ); last_fee } - None => ic_cdk::trap(&format!("bug: index is stuck because block with index {block_index} doesn't contain a fee and no fee has been recorded before")), + None => ic_cdk::trap(format!("bug: index is stuck because block with index {block_index} doesn't contain a fee and no fee has been recorded before")), } }; @@ -848,7 +848,7 @@ fn process_balance_changes(block_index: BlockIndex64, block: &Block) { fn debit(block_index: BlockIndex64, account: Account, amount: Tokens) { change_balance(account, |balance| { balance.checked_sub(&amount).unwrap_or_else(|| { - ic_cdk::trap(&format!("Block {} caused an underflow for account {} when calculating balance {} - amount {}", + ic_cdk::trap(format!("Block {} caused an underflow for account {} when calculating balance {} - amount {}", block_index, account, balance, amount)); }) }) @@ -857,7 +857,7 @@ fn debit(block_index: BlockIndex64, account: Account, amount: Tokens) { fn credit(block_index: BlockIndex64, account: Account, amount: Tokens) { change_balance(account, |balance| { balance.checked_add(&amount).unwrap_or_else(|| { - ic_cdk::trap(&format!("Block {} caused an overflow for account {} when calculating balance {} + amount {}", + ic_cdk::trap(format!("Block {} caused an overflow for account {} when calculating balance {} + amount {}", block_index, account, balance, amount)) }) }); @@ -868,7 +868,7 @@ fn generic_block_to_encoded_block_or_trap( block: GenericBlock, ) -> EncodedBlock { generic_block_to_encoded_block(block).unwrap_or_else(|e| { - trap(&format!( + trap(format!( "Unable to decode generic block at index {}. Error: {}", block_index, e )) @@ -877,7 +877,7 @@ fn generic_block_to_encoded_block_or_trap( fn decode_encoded_block_or_trap(block_index: BlockIndex64, block: EncodedBlock) -> Block { Block::::decode(block).unwrap_or_else(|e| { - trap(&format!( + trap(format!( "Unable to decode encoded block at index {}. Error: {}", block_index, e )) @@ -899,9 +899,9 @@ fn get_fee_collector(block_index: BlockIndex64, block: &Block) -> Option } else if let Some(fee_collector_block_index) = block.fee_collector_block_index { let block = get_decoded_block(fee_collector_block_index) .unwrap_or_else(|| - ic_cdk::trap(&format!("Block at index {} has fee_collector_block_index {} but there is no block at that index", block_index, fee_collector_block_index))); + ic_cdk::trap(format!("Block at index {} has fee_collector_block_index {} but there is no block at that index", block_index, fee_collector_block_index))); if block.fee_collector.is_none() { - ic_cdk::trap(&format!("Block at index {} has fee_collector_block_index {} but that block has no fee_collector set", block_index, fee_collector_block_index)) + ic_cdk::trap(format!("Block at index {} has fee_collector_block_index {} but that block has no fee_collector set", block_index, fee_collector_block_index)) } else { block.fee_collector } @@ -926,7 +926,6 @@ fn decode_icrc1_block(_txid: u64, bytes: Vec) -> GenericBlock { } #[query] -#[candid_method(query)] fn get_blocks(req: GetBlocksRequest) -> ic_icrc1_index_ng::GetBlocksResponse { let chain_length = with_blocks(|blocks| blocks.len()); let (start, length) = req @@ -951,13 +950,11 @@ fn decode_block_range(start: u64, length: u64, decoder: impl Fn(u64, Vec) } #[query] -#[candid_method(query)] fn ledger_id() -> Principal { with_state(|state| state.ledger_id) } #[query] -#[candid_method(query)] fn get_account_transactions(arg: GetAccountTransactionsArgs) -> GetAccountTransactionsResult { let length = arg .max_results @@ -985,7 +982,7 @@ fn get_account_transactions(arg: GetAccountTransactionsArgs) -> GetAccountTransa for id in indices { let block = with_blocks(|blocks| { blocks.get(id).unwrap_or_else(|| { - trap(&format!( + trap(format!( "Block {} not found in the block log, account blocks map is corrupted!", id )) @@ -1012,7 +1009,7 @@ fn encoded_block_bytes_to_flat_transaction( block: Vec, ) -> Transaction { let block = Block::::decode(EncodedBlock::from(block)).unwrap_or_else(|e| { - trap(&format!( + trap(format!( "Unable to decode encoded block at index {}. Error: {}", block_index, e )) @@ -1039,20 +1036,17 @@ fn get_oldest_tx_id(account: Account) -> Option { } #[query] -#[candid_method(query)] fn icrc1_balance_of(account: Account) -> Nat { get_balance(account).into() } #[query] -#[candid_method(query)] fn status() -> Status { let num_blocks_synced = with_blocks(|blocks| blocks.len().into()); Status { num_blocks_synced } } #[query] -#[candid_method(query)] fn list_subaccounts(args: ListSubaccountsArgs) -> Vec { let start_key = balance_key(Account { owner: args.owner, @@ -1078,7 +1072,10 @@ fn list_subaccounts(args: ListSubaccountsArgs) -> Vec { }) } -#[query(hidden = true, decoding_quota = 10000)] +#[query( + hidden = true, + decode_with = "candid::decode_one_with_decoding_quota::<100000,_>" +)] fn http_request(req: HttpRequest) -> HttpResponse { if req.path() == "/metrics" { let mut writer = @@ -1163,7 +1160,6 @@ pub fn encode_metrics(w: &mut ic_metrics_encoder::MetricsEncoder>) -> st Ok(()) } -#[candid_method(query)] #[query] fn get_fee_collectors_ranges() -> FeeCollectorRanges { let ranges = with_state(|s| { diff --git a/rs/ledger_suite/icrc1/ledger/Cargo.toml b/rs/ledger_suite/icrc1/ledger/Cargo.toml index f3ce824e38bd..3c03be13a781 100644 --- a/rs/ledger_suite/icrc1/ledger/Cargo.toml +++ b/rs/ledger_suite/icrc1/ledger/Cargo.toml @@ -13,7 +13,7 @@ path = "src/main.rs" [dependencies] assert_matches = { workspace = true, optional = true } async-trait = { workspace = true } -canbench-rs = { version = "0.1.7", optional = true } +canbench-rs = { workspace = true, optional = true } candid = { workspace = true } ciborium = { workspace = true } hex = { workspace = true } diff --git a/rs/ledger_suite/icrc1/ledger/canbench_results/canbench_u256.yml b/rs/ledger_suite/icrc1/ledger/canbench_results/canbench_u256.yml index 926065cbd2b6..d5e12f928ef1 100644 --- a/rs/ledger_suite/icrc1/ledger/canbench_results/canbench_u256.yml +++ b/rs/ledger_suite/icrc1/ledger/canbench_results/canbench_u256.yml @@ -2,70 +2,70 @@ benches: bench_icrc1_transfers: total: calls: 1 - instructions: 53696930805 + instructions: 53657881019 heap_increase: 262 stable_memory_increase: 256 scopes: icrc103_get_allowances: calls: 1 - instructions: 6415386 + instructions: 6468132 heap_increase: 0 stable_memory_increase: 0 icrc1_transfer: calls: 1 - instructions: 12813549811 + instructions: 12750626382 heap_increase: 31 stable_memory_increase: 0 icrc2_approve: calls: 1 - instructions: 19060806463 + instructions: 19111837436 heap_increase: 28 stable_memory_increase: 128 icrc2_transfer_from: calls: 1 - instructions: 21098400024 + instructions: 21080315738 heap_increase: 3 stable_memory_increase: 0 icrc3_get_blocks: calls: 1 - instructions: 9011059 + instructions: 8782321 heap_increase: 0 stable_memory_increase: 0 post_upgrade: calls: 1 - instructions: 365332787 + instructions: 360129147 heap_increase: 71 stable_memory_increase: 0 pre_upgrade: calls: 1 - instructions: 150781386 + instructions: 148585122 heap_increase: 129 stable_memory_increase: 128 upgrade: calls: 1 - instructions: 516117023 + instructions: 508717228 heap_increase: 200 stable_memory_increase: 128 bench_upgrade_baseline: total: calls: 1 - instructions: 8705731 - heap_increase: 129 + instructions: 8687987 + heap_increase: 258 stable_memory_increase: 128 scopes: post_upgrade: calls: 1 - instructions: 8626107 - heap_increase: 0 + instructions: 8608311 + heap_increase: 129 stable_memory_increase: 0 pre_upgrade: calls: 1 - instructions: 76782 + instructions: 76774 heap_increase: 129 stable_memory_increase: 128 upgrade: calls: 1 - instructions: 8704827 - heap_increase: 129 + instructions: 8687090 + heap_increase: 258 stable_memory_increase: 128 -version: 0.1.15 +version: 0.2.1 diff --git a/rs/ledger_suite/icrc1/ledger/canbench_results/canbench_u64.yml b/rs/ledger_suite/icrc1/ledger/canbench_results/canbench_u64.yml index fe6af39bc708..293458ea5148 100644 --- a/rs/ledger_suite/icrc1/ledger/canbench_results/canbench_u64.yml +++ b/rs/ledger_suite/icrc1/ledger/canbench_results/canbench_u64.yml @@ -2,70 +2,70 @@ benches: bench_icrc1_transfers: total: calls: 1 - instructions: 51961462387 - heap_increase: 264 + instructions: 51830852930 + heap_increase: 263 stable_memory_increase: 256 scopes: icrc103_get_allowances: calls: 1 - instructions: 5724182 + instructions: 5725690 heap_increase: 0 stable_memory_increase: 0 icrc1_transfer: calls: 1 - instructions: 12238590547 - heap_increase: 31 + instructions: 12183935351 + heap_increase: 34 stable_memory_increase: 0 icrc2_approve: calls: 1 - instructions: 18443431563 - heap_increase: 29 + instructions: 18438936998 + heap_increase: 25 stable_memory_increase: 128 icrc2_transfer_from: calls: 1 - instructions: 20567074561 + instructions: 20490361722 heap_increase: 3 stable_memory_increase: 0 icrc3_get_blocks: calls: 1 - instructions: 8437098 + instructions: 8348733 heap_increase: 0 stable_memory_increase: 0 post_upgrade: calls: 1 - instructions: 360312510 + instructions: 365580426 heap_increase: 72 stable_memory_increase: 0 pre_upgrade: calls: 1 - instructions: 150692311 + instructions: 150782618 heap_increase: 129 stable_memory_increase: 128 upgrade: calls: 1 - instructions: 511007659 + instructions: 516365845 heap_increase: 201 stable_memory_increase: 128 bench_upgrade_baseline: total: calls: 1 - instructions: 8705411 - heap_increase: 129 + instructions: 8691980 + heap_increase: 258 stable_memory_increase: 128 scopes: post_upgrade: calls: 1 - instructions: 8624856 - heap_increase: 0 + instructions: 8611338 + heap_increase: 129 stable_memory_increase: 0 pre_upgrade: calls: 1 - instructions: 77713 + instructions: 77740 heap_increase: 129 stable_memory_increase: 128 upgrade: calls: 1 - instructions: 8704507 - heap_increase: 129 + instructions: 8691083 + heap_increase: 258 stable_memory_increase: 128 -version: 0.1.15 +version: 0.2.1 diff --git a/rs/ledger_suite/icrc1/ledger/src/lib.rs b/rs/ledger_suite/icrc1/ledger/src/lib.rs index f24f1554fe99..cb4aa0c004a6 100644 --- a/rs/ledger_suite/icrc1/ledger/src/lib.rs +++ b/rs/ledger_suite/icrc1/ledger/src/lib.rs @@ -652,7 +652,7 @@ fn map_metadata_or_trap(arg_metadata: Vec<(String, Value)>) -> Vec<(String, Stor .into_iter() .map(|(k, v)| { if DISALLOWED_METADATA_FIELDS.contains(&k.as_str()) { - ic_cdk::trap(&format!( + ic_cdk::trap(format!( "Metadata field {} is reserved and cannot be set", k )); @@ -953,7 +953,7 @@ impl Ledger { } if let Some(transfer_fee) = args.transfer_fee { self.transfer_fee = Tokens::try_from(transfer_fee.clone()).unwrap_or_else(|e| { - ic_cdk::trap(&format!( + ic_cdk::trap(format!( "failed to convert transfer fee {} to tokens: {}", transfer_fee, e )) @@ -961,7 +961,7 @@ impl Ledger { } if let Some(max_memo_length) = args.max_memo_length { if self.max_memo_length > max_memo_length { - ic_cdk::trap(&format!("The max len of the memo can be changed only to be bigger or equal than the current size. Current size: {}", self.max_memo_length)); + ic_cdk::trap(format!("The max len of the memo can be changed only to be bigger or equal than the current size. Current size: {}", self.max_memo_length)); } self.max_memo_length = max_memo_length; } diff --git a/rs/ledger_suite/icrc1/ledger/src/main.rs b/rs/ledger_suite/icrc1/ledger/src/main.rs index 835346261716..6463a8d68530 100644 --- a/rs/ledger_suite/icrc1/ledger/src/main.rs +++ b/rs/ledger_suite/icrc1/ledger/src/main.rs @@ -1,8 +1,9 @@ +#![allow(deprecated)] #[cfg(feature = "canbench-rs")] mod benches; use candid::types::number::Nat; -use candid::{candid_method, Principal}; +use candid::Principal; use ic_canister_log::{declare_log_buffer, export, log}; use ic_cdk::api::stable::StableReader; use ic_http_types::{HttpRequest, HttpResponse, HttpResponseBuilder}; @@ -119,7 +120,6 @@ impl LedgerAccess for Access { } #[cfg(not(feature = "canbench-rs"))] -#[candid_method(init)] #[init] fn init(args: LedgerArgument) { match args { @@ -556,7 +556,10 @@ fn tokens_to_f64(tokens: Tokens) -> f64 { tokens.to_u256().as_f64() } -#[query(hidden = true, decoding_quota = 10000)] +#[query( + hidden = true, + decode_with = "candid::decode_one_with_decoding_quota::<100000,_>" +)] fn http_request(req: HttpRequest) -> HttpResponse { if req.path() == "/metrics" { let mut writer = @@ -594,49 +597,41 @@ fn http_request(req: HttpRequest) -> HttpResponse { } #[query] -#[candid_method(query)] fn icrc1_name() -> String { Access::with_ledger(|ledger| ledger.token_name().to_string()) } #[query] -#[candid_method(query)] fn icrc1_symbol() -> String { Access::with_ledger(|ledger| ledger.token_symbol().to_string()) } #[query] -#[candid_method(query)] fn icrc1_decimals() -> u8 { Access::with_ledger(|ledger| ledger.decimals()) } #[query] -#[candid_method(query)] fn icrc1_fee() -> Nat { Access::with_ledger(|ledger| ledger.transfer_fee().into()) } #[query] -#[candid_method(query)] fn icrc1_metadata() -> Vec<(String, Value)> { Access::with_ledger(|ledger| ledger.metadata()) } #[query] -#[candid_method(query)] fn icrc1_minting_account() -> Option { Access::with_ledger(|ledger| Some(*ledger.minting_account())) } #[query(name = "icrc1_balance_of")] -#[candid_method(query, rename = "icrc1_balance_of")] fn icrc1_balance_of(account: Account) -> Nat { Access::with_ledger(|ledger| ledger.balances().account_balance(&account).into()) } #[query(name = "icrc1_total_supply")] -#[candid_method(query, rename = "icrc1_total_supply")] fn icrc1_total_supply() -> Nat { Access::with_ledger(|ledger| ledger.balances().total_supply().into()) } @@ -683,7 +678,7 @@ fn execute_transfer_not_async( match memo.as_ref() { Some(memo) if memo.0.len() > ledger.max_memo_length() as usize => { - ic_cdk::trap(&format!( + ic_cdk::trap(format!( "the memo field size of {} bytes is above the allowed limit of {} bytes", memo.0.len(), ledger.max_memo_length() @@ -773,7 +768,6 @@ fn execute_transfer_not_async( } #[update] -#[candid_method(update)] async fn icrc1_transfer(arg: TransferArg) -> Result { panic_if_not_ready(); let from_account = Account { @@ -801,7 +795,6 @@ async fn icrc1_transfer(arg: TransferArg) -> Result { } #[update] -#[candid_method(update)] async fn icrc2_transfer_from(arg: TransferFromArgs) -> Result { panic_if_not_ready(); let spender_account = Account { @@ -853,7 +846,6 @@ fn archives() -> Vec { } #[query(name = "icrc1_supported_standards")] -#[candid_method(query, rename = "icrc1_supported_standards")] fn supported_standards() -> Vec { let standards = vec![ StandardRecord { @@ -889,7 +881,6 @@ fn supported_standards() -> Vec { } #[query] -#[candid_method(query)] fn get_transactions(req: GetTransactionsRequest) -> GetTransactionsResponse { panic_if_not_ready(); let (start, length) = req @@ -900,7 +891,6 @@ fn get_transactions(req: GetTransactionsRequest) -> GetTransactionsResponse { #[cfg(not(feature = "get-blocks-disabled"))] #[query] -#[candid_method(query)] fn get_blocks(req: GetBlocksRequest) -> GetBlocksResponse { panic_if_not_ready(); let (start, length) = req @@ -910,7 +900,6 @@ fn get_blocks(req: GetBlocksRequest) -> GetBlocksResponse { } #[query] -#[candid_method(query)] fn get_data_certificate() -> DataCertificate { panic_if_not_ready(); let hash_tree = Access::with_ledger(|ledger| ledger.construct_hash_tree()); @@ -997,7 +986,6 @@ fn icrc2_approve_not_async(caller: Principal, arg: ApproveArgs) -> Result Result { let block_idx = icrc2_approve_not_async(ic_cdk::api::caller(), arg)?; @@ -1010,7 +998,6 @@ async fn icrc2_approve(arg: ApproveArgs) -> Result { } #[query] -#[candid_method(query)] fn icrc2_allowance(arg: AllowanceArgs) -> Allowance { Access::with_ledger(|ledger| { let now = TimeStamp::from_nanos_since_unix_epoch(ic_cdk::api::time()); @@ -1025,13 +1012,11 @@ fn icrc2_allowance(arg: AllowanceArgs) -> Allowance { } #[query] -#[candid_method(query)] fn icrc3_get_archives(args: GetArchivesArgs) -> GetArchivesResult { Access::with_ledger(|ledger| ledger.icrc3_get_archives(args)) } #[query] -#[candid_method(query)] fn icrc3_get_tip_certificate() -> Option { panic_if_not_ready(); let certificate = ByteBuf::from(ic_cdk::api::data_certificate()?); @@ -1045,7 +1030,6 @@ fn icrc3_get_tip_certificate() -> Option { } #[query] -#[candid_method(query)] fn icrc3_supported_block_types() -> Vec { use icrc_ledger_types::icrc3::blocks::SupportedBlockType; @@ -1079,20 +1063,17 @@ fn icrc3_supported_block_types() -> Vec) -> GetBlocksResult { panic_if_not_ready(); Access::with_ledger(|ledger| ledger.icrc3_get_blocks(args)) } #[query] -#[candid_method(query)] fn icrc10_supported_standards() -> Vec { supported_standards() } #[query] -#[candid_method(query)] fn icrc106_get_index_principal() -> Result { Access::with_ledger(|ledger| match ledger.index_principal() { None => Err(Icrc106Error::IndexPrincipalNotSet), @@ -1101,7 +1082,6 @@ fn icrc106_get_index_principal() -> Result { } #[update] -#[candid_method(update)] fn icrc21_canister_call_consent_message( consent_msg_request: ConsentMessageRequest, ) -> Result { @@ -1122,13 +1102,11 @@ fn icrc21_canister_call_consent_message( } #[query] -#[candid_method(query)] fn is_ledger_ready() -> bool { is_ready() } #[query] -#[candid_method(query)] fn icrc103_get_allowances(arg: GetAllowancesArgs) -> Result { let from_account = arg.from_account.unwrap_or_else(|| Account { owner: ic_cdk::api::caller(), diff --git a/rs/nervous_system/common/test_canister/interface.did b/rs/nervous_system/common/test_canister/interface.did index 30ad70e7ae28..5d5e9497ae1b 100644 --- a/rs/nervous_system/common/test_canister/interface.did +++ b/rs/nervous_system/common/test_canister/interface.did @@ -1,6 +1,9 @@ service : { + // Implementation of explode. explode : (text) -> () query; get_build_metadata : () -> (text) query; + // Implementation of get_integer. get_integer : (null) -> (int32) query; + // Implementation of set_integer. set_integer : (int32) -> (); } \ No newline at end of file diff --git a/rs/nervous_system/long_message/src/lib.rs b/rs/nervous_system/long_message/src/lib.rs index df803894a7e4..b4159e05110f 100644 --- a/rs/nervous_system/long_message/src/lib.rs +++ b/rs/nervous_system/long_message/src/lib.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] #[cfg(target_arch = "wasm32")] use ic_cdk::api::{call_context_instruction_counter, instruction_counter}; use ic_cdk::query; diff --git a/rs/nervous_system/root/src/change_canister.rs b/rs/nervous_system/root/src/change_canister.rs index 876e1d7a2765..9b51c205681e 100644 --- a/rs/nervous_system/root/src/change_canister.rs +++ b/rs/nervous_system/root/src/change_canister.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] use crate::LOG_PREFIX; use candid::{CandidType, Deserialize, Encode, Principal}; use dfn_core::api::CanisterId; diff --git a/rs/nervous_system/runtime/src/lib.rs b/rs/nervous_system/runtime/src/lib.rs index 00feeb88360a..2998cfe8952f 100644 --- a/rs/nervous_system/runtime/src/lib.rs +++ b/rs/nervous_system/runtime/src/lib.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] use async_trait::async_trait; use candid::utils::{ArgumentDecoder, ArgumentEncoder}; use ic_base_types::{CanisterId, PrincipalId}; diff --git a/rs/nervous_system/timer_task/src/lib.rs b/rs/nervous_system/timer_task/src/lib.rs index 7c83727e2d71..5a7d1379002b 100644 --- a/rs/nervous_system/timer_task/src/lib.rs +++ b/rs/nervous_system/timer_task/src/lib.rs @@ -113,6 +113,8 @@ //! } //! ``` +#![allow(deprecated)] + mod metrics; pub use metrics::MetricsRegistry as TimerTaskMetricsRegistry; diff --git a/rs/nervous_system/timer_task/tests/test_canisters/timer_task_canister.rs b/rs/nervous_system/timer_task/tests/test_canisters/timer_task_canister.rs index 892dcc52d07b..f31d16fd931f 100644 --- a/rs/nervous_system/timer_task/tests/test_canisters/timer_task_canister.rs +++ b/rs/nervous_system/timer_task/tests/test_canisters/timer_task_canister.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] use async_trait::async_trait; use ic_cdk::{init, query}; use ic_metrics_encoder::MetricsEncoder; diff --git a/rs/nns/cmc/src/exchange_rate_canister.rs b/rs/nns/cmc/src/exchange_rate_canister.rs index be49abe67d79..54b29d2ae303 100644 --- a/rs/nns/cmc/src/exchange_rate_canister.rs +++ b/rs/nns/cmc/src/exchange_rate_canister.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] use crate::{ do_set_icp_xdr_conversion_rate, environment::Environment, mutate_state, read_state, State, ONE_MINUTE_SECONDS, diff --git a/rs/nns/cmc/src/lib.rs b/rs/nns/cmc/src/lib.rs index 41e962fb5005..952d89bd27ca 100644 --- a/rs/nns/cmc/src/lib.rs +++ b/rs/nns/cmc/src/lib.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] use candid::{CandidType, Nat}; use ic_cdk::api::call::{CallResult, RejectionCode}; use std::time::{Duration, SystemTime}; diff --git a/rs/nns/cmc/src/main.rs b/rs/nns/cmc/src/main.rs index af527135b11a..abacaf48a15f 100644 --- a/rs/nns/cmc/src/main.rs +++ b/rs/nns/cmc/src/main.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] use candid::{CandidType, Encode}; use core::cmp::Ordering; use cycles_minting_canister::*; @@ -8,7 +9,8 @@ use exchange_rate_canister::{ }; use ic_cdk::{ api::call::{arg_data_raw, reply_raw, CallResult, ManualReply}, - heartbeat, init, post_upgrade, pre_upgrade, println, query, spawn, update, + futures::{in_executor_context, spawn_017_compat}, + heartbeat, init, post_upgrade, pre_upgrade, println, query, update, }; use ic_crypto_tree_hash::{ flatmap, HashTreeBuilder, HashTreeBuilderImpl, Label, LabeledTree, WitnessGenerator, @@ -858,7 +860,7 @@ fn convert_conversion_rate_to_payload( serializer.self_describe().unwrap(); mixed_hash_tree .serialize(&mut serializer) - .unwrap_or_else(|e| ic_cdk::trap(&format!("failed to serialize a hash tree: {}", e))); + .unwrap_or_else(|e| ic_cdk::trap(format!("failed to serialize a hash tree: {}", e))); serializer.into_inner() } @@ -1126,20 +1128,21 @@ fn remove_subnet_from_authorized_subnet_list(arg: RemoveSubnetFromAuthorizedSubn #[export_name = "canister_update transaction_notification_pb"] fn transaction_notification_pb() { - let input = arg_data_raw(); - spawn(async move { - ic_cdk::setup(); - let request = ProtoBuf::::from_bytes(input) - .expect("Could not decode TransactionNotification") - .into_inner(); - - match do_transaction_notification(request).await { - Ok(response) => match ProtoBuf::new(response).into_bytes() { - Ok(buf) => reply_raw(&buf), + in_executor_context(|| { + let input = arg_data_raw(); + spawn_017_compat(async move { + let request = ProtoBuf::::from_bytes(input) + .expect("Could not decode TransactionNotification") + .into_inner(); + + match do_transaction_notification(request).await { + Ok(response) => match ProtoBuf::new(response).into_bytes() { + Ok(buf) => reply_raw(&buf), + Err(e) => ic_cdk::api::call::reject(&format!("Error: {:?}", e)), + }, Err(e) => ic_cdk::api::call::reject(&format!("Error: {:?}", e)), - }, - Err(e) => ic_cdk::api::call::reject(&format!("Error: {:?}", e)), - } + } + }) }) } @@ -2638,7 +2641,10 @@ async fn update_exchange_rate() { } } -#[query(hidden = true, decoding_quota = 10000)] +#[query( + hidden = true, + decode_with = "candid::decode_one_with_decoding_quota::<100000,_>" +)] fn http_request(request: HttpRequest) -> HttpResponse { match request.path() { "/metrics" => serve_metrics(encode_metrics), diff --git a/rs/nns/common/src/access_control.rs b/rs/nns/common/src/access_control.rs index 17f718d9bf90..16cb02938ba9 100644 --- a/rs/nns/common/src/access_control.rs +++ b/rs/nns/common/src/access_control.rs @@ -1,7 +1,7 @@ use ic_base_types::PrincipalId; fn caller() -> PrincipalId { - PrincipalId::from(ic_cdk::caller()) + PrincipalId::from(ic_cdk::api::msg_caller()) } pub fn check_caller_is_root() { diff --git a/rs/nns/common/src/registry.rs b/rs/nns/common/src/registry.rs index 2986448db2e2..302ed8c37868 100644 --- a/rs/nns/common/src/registry.rs +++ b/rs/nns/common/src/registry.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] use ic_base_types::{PrincipalId, SubnetId}; use ic_cdk::api::call::call_raw; use ic_nervous_system_canisters::registry::RegistryCanister; diff --git a/rs/nns/governance/Cargo.toml b/rs/nns/governance/Cargo.toml index 03e0d973b9c4..bfd24af198e1 100644 --- a/rs/nns/governance/Cargo.toml +++ b/rs/nns/governance/Cargo.toml @@ -92,7 +92,7 @@ registry-canister = { path = "../../registry/canister" } strum_macros = { workspace = true } strum = { workspace = true } comparable = { version = "0.5", features = ["derive"] } -canbench-rs = { version = "0.1.7", optional = true } +canbench-rs = { workspace = true, optional = true } local_key = { path = "../../tla_instrumentation/local_key", optional = true } tla_instrumentation = { path = "../../tla_instrumentation/tla_instrumentation", optional = true } diff --git a/rs/nns/governance/canister/canister.rs b/rs/nns/governance/canister/canister.rs index 4fa536db6279..0cc6fc4a6a0c 100644 --- a/rs/nns/governance/canister/canister.rs +++ b/rs/nns/governance/canister/canister.rs @@ -1,8 +1,5 @@ use ic_base_types::PrincipalId; -use ic_cdk::{ - caller as ic_cdk_caller, heartbeat, init, post_upgrade, pre_upgrade, println, query, spawn, - update, -}; +use ic_cdk::{heartbeat, init, post_upgrade, pre_upgrade, println, query, update}; use ic_http_types::{HttpRequest, HttpResponse, HttpResponseBuilder}; use ic_nervous_system_canisters::cmc::CMCCanister; use ic_nervous_system_common::{ @@ -79,7 +76,7 @@ fn schedule_timers() { const SPAWN_NEURONS_INTERVAL: Duration = Duration::from_secs(60); fn schedule_spawn_neurons() { ic_cdk_timers::set_timer_interval(SPAWN_NEURONS_INTERVAL, || { - spawn(async { + ic_cdk::futures::spawn_017_compat(async { governance_mut().maybe_spawn_neurons().await; }); }); @@ -90,14 +87,16 @@ const VOTE_PROCESSING_INTERVAL: Duration = Duration::from_secs(3); fn schedule_vote_processing() { ic_cdk_timers::set_timer_interval(VOTE_PROCESSING_INTERVAL, || { - spawn(governance_mut().process_voting_state_machines()); + ic_cdk::futures::spawn_017_compat(async { + governance_mut().process_voting_state_machines().await; + }); }); } // We expect PrincipalId for all methods, but ic_cdk returns candid::Principal, so we need to // convert it. fn caller() -> PrincipalId { - PrincipalId::from(ic_cdk_caller()) + PrincipalId::from(ic_cdk::api::msg_caller()) } fn debug_log(s: &str) { @@ -553,7 +552,10 @@ fn get_restore_aging_summary() -> RestoreAgingSummary { RestoreAgingSummary::from(response) } -#[query(hidden = true, decoding_quota = 10000)] +#[query( + hidden = true, + decode_with = "candid::decode_one_with_decoding_quota::<100000,_>" +)] fn http_request(request: HttpRequest) -> HttpResponse { match request.path() { "/metrics" => serve_metrics(|encoder| encode_metrics(governance(), encoder)), diff --git a/rs/nns/governance/src/canister_state.rs b/rs/nns/governance/src/canister_state.rs index 36f1020480c9..704a92c62fc8 100644 --- a/rs/nns/governance/src/canister_state.rs +++ b/rs/nns/governance/src/canister_state.rs @@ -5,7 +5,6 @@ use crate::governance::{ use async_trait::async_trait; use candid::{Decode, Encode}; use ic_base_types::CanisterId; -use ic_cdk::spawn; use ic_nervous_system_canisters::cmc::CMCCanister; use ic_nervous_system_canisters::ledger::IcpLedgerCanister; use ic_nervous_system_runtime::CdkRuntime; @@ -243,7 +242,7 @@ impl Environment for CanisterEnv { proposal_timestamp_seconds, )?; - spawn(async move { + ic_cdk::futures::spawn_017_compat(async move { match CdkRuntime::call_bytes_with_cleanup(canister_id, &method, &effective_payload) .await { diff --git a/rs/nns/governance/src/governance.rs b/rs/nns/governance/src/governance.rs index 71968c827b5e..808d3ee93406 100644 --- a/rs/nns/governance/src/governance.rs +++ b/rs/nns/governance/src/governance.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] use crate::{ are_nf_fund_proposals_disabled, decoder_config, governance::{ diff --git a/rs/nns/governance/src/governance/benches.rs b/rs/nns/governance/src/governance/benches.rs index 00371dbae5c4..9f76d044c752 100644 --- a/rs/nns/governance/src/governance/benches.rs +++ b/rs/nns/governance/src/governance/benches.rs @@ -746,7 +746,7 @@ fn list_proposals() -> BenchResult { /// embedders crate. #[export_name = "canister_update update_empty"] fn update_empty() { - ic_cdk::api::call::reply_raw(&[]); + ic_cdk::api::msg_reply([]); } /// Used for benchmarking compilation/instrumentation/execution changes in the @@ -754,5 +754,5 @@ fn update_empty() { #[export_name = "canister_query go"] fn go() { let _ = list_neurons_stable(); - ic_cdk::api::call::reply_raw(&[]); + ic_cdk::api::msg_reply([]); } diff --git a/rs/nns/governance/src/neuron_lock.rs b/rs/nns/governance/src/neuron_lock.rs index afef9d4b9f8f..5060a353cb0a 100644 --- a/rs/nns/governance/src/neuron_lock.rs +++ b/rs/nns/governance/src/neuron_lock.rs @@ -49,7 +49,7 @@ impl Drop for NeuronAsyncLock { // may be inconsistent with the internal state of governance. In that case, we want to // prevent further operations with that neuron until the issue can be investigated and // resolved, which will require code changes. - if ic_cdk::api::call::is_recovering_from_trap() { + if ic_cdk::futures::is_recovering_from_trap() { return; } // The lock is released when the NeuronAsyncLock is dropped. This is done to ensure that the lock @@ -85,7 +85,7 @@ impl Drop for LedgerUpdateLock { // may be inconsistent with the internal state of governance. In that case, // we want to prevent further operations with that neuron until the issue can be // investigated and resolved, which will require code changes. - if ic_cdk::api::call::is_recovering_from_trap() { + if ic_cdk::futures::is_recovering_from_trap() { return; } // It's always ok to dereference the governance when a LedgerUpdateLock diff --git a/rs/nns/handlers/root/impl/canister/canister.rs b/rs/nns/handlers/root/impl/canister/canister.rs index d66f59cabd15..65aa919f4cf8 100644 --- a/rs/nns/handlers/root/impl/canister/canister.rs +++ b/rs/nns/handlers/root/impl/canister/canister.rs @@ -35,12 +35,13 @@ use ic_nns_handler_root_interface::{ }; use std::cell::RefCell; +use ic_cdk::futures::spawn_017_compat; #[cfg(target_arch = "wasm32")] use ic_cdk::println; -use ic_cdk::{post_upgrade, query, spawn, update}; +use ic_cdk::{post_upgrade, query, update}; fn caller() -> PrincipalId { - PrincipalId::from(ic_cdk::caller()) + PrincipalId::from(ic_cdk::api::msg_caller()) } thread_local! { @@ -163,7 +164,7 @@ fn change_nns_canister(request: ChangeCanisterRequest) { // Starts the proposal execution, which will continue after this function has // returned. - spawn(future); + spawn_017_compat(future); } #[update] @@ -200,7 +201,7 @@ fn call_canister(proposal: CallCanisterProposal) { check_caller_is_governance(); // Starts the proposal execution, which will continue after this function has returned. let future = canister_management::call_canister(proposal); - spawn(future); + spawn_017_compat(future); } /// Change the controllers of a canister controlled by NNS Root. Only callable @@ -233,7 +234,10 @@ async fn update_canister_settings( /// Resources to serve for a given http_request /// Serve an HttpRequest made to this canister -#[query(hidden = true, decoding_quota = 10000)] +#[query( + hidden = true, + decode_with = "candid::decode_one_with_decoding_quota::<100000,_>" +)] pub fn http_request(request: HttpRequest) -> HttpResponse { match request.path() { "/metrics" => serve_metrics(encode_metrics), diff --git a/rs/nns/handlers/root/impl/src/canister_management.rs b/rs/nns/handlers/root/impl/src/canister_management.rs index 623acedb16f7..6a4d6ec69d75 100644 --- a/rs/nns/handlers/root/impl/src/canister_management.rs +++ b/rs/nns/handlers/root/impl/src/canister_management.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] use crate::PROXIED_CANISTER_CALLS_TRACKER; use ic_base_types::{CanisterId, PrincipalId}; use ic_cdk::{ diff --git a/rs/nns/handlers/root/impl/src/root_proposals.rs b/rs/nns/handlers/root/impl/src/root_proposals.rs index 9c53d574e4e2..a2f115723379 100644 --- a/rs/nns/handlers/root/impl/src/root_proposals.rs +++ b/rs/nns/handlers/root/impl/src/root_proposals.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] use candid::{CandidType, Deserialize}; use ic_base_types::{CanisterId, NodeId, PrincipalId, SubnetId}; use ic_cdk::call; diff --git a/rs/nns/handlers/root/impl/test_canisters/upgrade_test_canister.rs b/rs/nns/handlers/root/impl/test_canisters/upgrade_test_canister.rs index b8bc13be5c8a..27195742dca2 100644 --- a/rs/nns/handlers/root/impl/test_canisters/upgrade_test_canister.rs +++ b/rs/nns/handlers/root/impl/test_canisters/upgrade_test_canister.rs @@ -1,11 +1,9 @@ // This canister is used for testing upgrades with arguments and stable memory. use ic_cdk::{ - api::{ - call::arg_data_raw, - stable::{stable_grow, stable_read, stable_write}, - }, + api::msg_arg_data, post_upgrade, println, query, + stable::{stable_grow, stable_read, stable_write}, }; use std::cell::RefCell; @@ -17,7 +15,7 @@ fn main() {} #[post_upgrade] fn post_upgrade() { - let arg = arg_data_raw(); + let arg = msg_arg_data(); println!("Initializing test canister with arg={:?}", arg); stable_grow(1).expect("Could not grow stable memory"); ARG_LEN.with(|len| { diff --git a/rs/nns/handlers/root/interface/src/client.rs b/rs/nns/handlers/root/interface/src/client.rs index 58c0348de8c2..b1ab018f9c98 100644 --- a/rs/nns/handlers/root/interface/src/client.rs +++ b/rs/nns/handlers/root/interface/src/client.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] use crate::{ ChangeCanisterControllersError, ChangeCanisterControllersRequest, ChangeCanisterControllersResponse, ChangeCanisterControllersResult, diff --git a/rs/nns/integration_tests/src/bad_input.rs b/rs/nns/integration_tests/src/bad_input.rs index c691ed3ad2aa..2b5138c3d7a9 100644 --- a/rs/nns/integration_tests/src/bad_input.rs +++ b/rs/nns/integration_tests/src/bad_input.rs @@ -5,7 +5,7 @@ use assert_matches::assert_matches; use dfn_candid::candid; use ic_base_types::PrincipalId; use ic_nns_common::types::ProposalId; -use ic_nns_governance_api::ProposalInfo; +use ic_nns_governance_api::{GovernanceError, NeuronInfo, ProposalInfo}; use ic_nns_governance_init::GovernanceCanisterInitPayloadBuilder; use ic_nns_test_utils::itest_helpers::{ set_up_governance_canister, state_machine_test_on_nns_subnet, @@ -21,20 +21,20 @@ fn test_skipping_quota() { ) .await; - // the skipping quota is set to 10_000 (`DEFAULT_SKIPPING_QUOTA`) so the following input passes + // the skipping quota is set to 10_000 by `ic-cdk` macros let skipped: Vec = vec![42; 9_042]; - let res: Result, String> = canister - .query_("get_pending_proposals", candid, (skipped,)) + let res: Result, String> = canister + .query_("get_full_neuron", candid, (0u64, Some(skipped))) .await; - res.unwrap(); + let _ = res.unwrap(); // but the next one is rejected let skipped: Vec = vec![42; 10_042]; - let res: Result, String> = canister - .query_("get_pending_proposals", candid, (skipped,)) + let res: Result, String> = canister + .query_("get_full_neuron", candid, (0u64, Some(skipped))) .await; let err = res.unwrap_err(); - let expected_err = "failed to decode"; + let expected_err = "Skipping cost exceeds the limit"; assert!( err.contains(expected_err), "Expected `{}` did not occur within the observed error:\n{}", diff --git a/rs/nns/integration_tests/test_canisters/unstoppable_sns_root_canister.rs b/rs/nns/integration_tests/test_canisters/unstoppable_sns_root_canister.rs index 6b05954d7f2a..ab271909534d 100644 --- a/rs/nns/integration_tests/test_canisters/unstoppable_sns_root_canister.rs +++ b/rs/nns/integration_tests/test_canisters/unstoppable_sns_root_canister.rs @@ -91,7 +91,7 @@ async fn get_sns_canisters_summary_impl( &ledger_client, &canister_env, false, - PrincipalId(ic_cdk::api::id()), + PrincipalId(ic_cdk::api::canister_self()), ) .await } diff --git a/rs/nns/sns-wasm/canister/canister.rs b/rs/nns/sns-wasm/canister/canister.rs index bb8e40d27ff9..10372903c338 100644 --- a/rs/nns/sns-wasm/canister/canister.rs +++ b/rs/nns/sns-wasm/canister/canister.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] use async_trait::async_trait; use ic_base_types::{PrincipalId, SubnetId}; use ic_cdk::api::call::{CallResult, RejectionCode}; @@ -476,7 +477,10 @@ fn encode_metrics(w: &mut ic_metrics_encoder::MetricsEncoder>) -> std::i Ok(()) } -#[query(hidden = true, decoding_quota = 10000)] +#[query( + hidden = true, + decode_with = "candid::decode_one_with_decoding_quota::<100000,_>" +)] fn http_request(request: HttpRequest) -> HttpResponse { match request.path() { "/metrics" => serve_metrics(encode_metrics), diff --git a/rs/nns/sns-wasm/src/canister_stable_memory.rs b/rs/nns/sns-wasm/src/canister_stable_memory.rs index c3e9fe5965f1..7c832151bc20 100644 --- a/rs/nns/sns-wasm/src/canister_stable_memory.rs +++ b/rs/nns/sns-wasm/src/canister_stable_memory.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] use ic_cdk::api::stable::{ stable_grow, stable_read, stable_size, stable_write, StableMemory, StableMemoryError, }; diff --git a/rs/nns/sns-wasm/src/pb/mod.rs b/rs/nns/sns-wasm/src/pb/mod.rs index 08d8816178ff..04421cd57d42 100644 --- a/rs/nns/sns-wasm/src/pb/mod.rs +++ b/rs/nns/sns-wasm/src/pb/mod.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] use crate::{ pb::v1::{ add_wasm_response, get_deployed_sns_by_proposal_id_response, AddWasmResponse, DeployedSns, diff --git a/rs/nns/sns-wasm/src/sns_wasm.rs b/rs/nns/sns-wasm/src/sns_wasm.rs index 1ab3475bb300..02c13d5fc7d2 100644 --- a/rs/nns/sns-wasm/src/sns_wasm.rs +++ b/rs/nns/sns-wasm/src/sns_wasm.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] use crate::{ canister_api::CanisterApi, pb::v1::{ diff --git a/rs/nns/sns-wasm/src/stable_memory.rs b/rs/nns/sns-wasm/src/stable_memory.rs index 0853cb5e9a30..cee4cc9612f1 100644 --- a/rs/nns/sns-wasm/src/stable_memory.rs +++ b/rs/nns/sns-wasm/src/stable_memory.rs @@ -21,6 +21,7 @@ //! written bytes is written to "canister state size" in stable memory, so that in post-upgrade //! SNS-WASM can use "WASMs-end offset" and "canister state size" to read canister state from //! stable memory. +#![allow(deprecated)] use crate::pb::v1::{SnsWasm, StableCanisterState}; use ic_cdk::api::stable::{StableMemory, StableMemoryError, StableReader, StableWriter}; diff --git a/rs/node_rewards/canister/src/canister/test/test_utils.rs b/rs/node_rewards/canister/src/canister/test/test_utils.rs index db971a765aae..317b1fcf03b2 100644 --- a/rs/node_rewards/canister/src/canister/test/test_utils.rs +++ b/rs/node_rewards/canister/src/canister/test/test_utils.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] use crate::canister::NodeRewardsCanister; use crate::metrics::MetricsManager; use crate::storage::METRICS_MANAGER; diff --git a/rs/node_rewards/canister/src/main.rs b/rs/node_rewards/canister/src/main.rs index 7331c7532dde..727c89e50ef5 100644 --- a/rs/node_rewards/canister/src/main.rs +++ b/rs/node_rewards/canister/src/main.rs @@ -1,6 +1,6 @@ #[cfg(any(feature = "test", test))] use ic_cdk::query; -use ic_cdk::{init, post_upgrade, pre_upgrade, spawn, update}; +use ic_cdk::{init, post_upgrade, pre_upgrade, update}; use ic_nervous_system_canisters::registry::RegistryCanister; use ic_nns_constants::GOVERNANCE_CANISTER_ID; use ic_node_rewards_canister::canister::NodeRewardsCanister; @@ -55,7 +55,7 @@ const SYNC_INTERVAL_SECONDS: Duration = Duration::from_secs(60 * 60); // 1 hour fn schedule_timers() { ic_cdk_timers::set_timer_interval(SYNC_INTERVAL_SECONDS, move || { - spawn(async move { + ic_cdk::futures::spawn_017_compat(async move { telemetry::PROMETHEUS_METRICS.with_borrow_mut(|m| m.mark_last_sync_start()); let mut instruction_counter = telemetry::InstructionCounter::default(); instruction_counter.lap(); @@ -87,7 +87,7 @@ fn schedule_timers() { } fn panic_if_caller_not_governance() { - if ic_cdk::caller() != GOVERNANCE_CANISTER_ID.get().0 { + if ic_cdk::api::msg_caller() != GOVERNANCE_CANISTER_ID.get().0 { panic!("Only the governance canister can call this method"); } } diff --git a/rs/node_rewards/canister/src/metrics.rs b/rs/node_rewards/canister/src/metrics.rs index b950d9fe3562..6a6f8475188d 100644 --- a/rs/node_rewards/canister/src/metrics.rs +++ b/rs/node_rewards/canister/src/metrics.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] use crate::pb::v1::{SubnetIdKey, SubnetMetricsKey, SubnetMetricsValue}; use crate::KeyRange; use async_trait::async_trait; diff --git a/rs/pocket_ic_server/tests/test.rs b/rs/pocket_ic_server/tests/test.rs index 1feb03b0b928..14ff95a4992e 100644 --- a/rs/pocket_ic_server/tests/test.rs +++ b/rs/pocket_ic_server/tests/test.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] use crate::common::{send_signal_to_pic, start_server, start_server_helper}; use candid::{Encode, Principal}; use ic_agent::agent::CallResponse; diff --git a/rs/registry/canister/Cargo.toml b/rs/registry/canister/Cargo.toml index de57680d5150..ad201ce72749 100644 --- a/rs/registry/canister/Cargo.toml +++ b/rs/registry/canister/Cargo.toml @@ -59,7 +59,7 @@ on_wire = { path = "../../rust_canisters/on_wire" } prost = { workspace = true } serde = { workspace = true } url = { workspace = true } -canbench-rs = { version = "0.1.7", optional = true } +canbench-rs = { workspace = true, optional = true } rand = { workspace = true } rand_chacha = { workspace = true } diff --git a/rs/rosetta-api/icp/test_utils/sender_canister/src/lib.rs b/rs/rosetta-api/icp/test_utils/sender_canister/src/lib.rs index ebc0bc18351d..775636e90905 100644 --- a/rs/rosetta-api/icp/test_utils/sender_canister/src/lib.rs +++ b/rs/rosetta-api/icp/test_utils/sender_canister/src/lib.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] use candid::{CandidType, Principal}; use ic_cdk::api::call::RejectionCode; use serde::{Deserialize, Serialize}; diff --git a/rs/rosetta-api/icp/test_utils/sender_canister/src/main.rs b/rs/rosetta-api/icp/test_utils/sender_canister/src/main.rs index a403bc57b28f..4cdc32022724 100644 --- a/rs/rosetta-api/icp/test_utils/sender_canister/src/main.rs +++ b/rs/rosetta-api/icp/test_utils/sender_canister/src/main.rs @@ -1,9 +1,8 @@ -use candid::candid_method; +#![allow(deprecated)] use ic_cdk::update; use ic_sender_canister_lib::{SendArg, SendResult}; #[update] -#[candid_method(update)] async fn send(calls: Vec) -> Vec { let mut futures = vec![]; for SendArg { diff --git a/rs/rust_canisters/backtrace_canister/src/main.rs b/rs/rust_canisters/backtrace_canister/src/main.rs index 741d930ba1a3..42bdf69fe4fb 100644 --- a/rs/rust_canisters/backtrace_canister/src/main.rs +++ b/rs/rust_canisters/backtrace_canister/src/main.rs @@ -48,7 +48,7 @@ make_call_chain!(ic0_trap, { }); make_call_chain!(stable_oob, { - ic_cdk::api::stable::stable_write(1_000 * 1_000, "foo".as_bytes()); + ic_cdk::stable::stable_write(1_000 * 1_000, "foo".as_bytes()); }); // When run on native this prints the candid service definition of this diff --git a/rs/rust_canisters/call_loop_canister/call_loop_canister.did b/rs/rust_canisters/call_loop_canister/call_loop_canister.did index 5526acc129e2..f0acce5fd3f2 100644 --- a/rs/rust_canisters/call_loop_canister/call_loop_canister.did +++ b/rs/rust_canisters/call_loop_canister/call_loop_canister.did @@ -1 +1,4 @@ -service : { send_calls : (nat32) -> () } \ No newline at end of file +service : { + // Takes the total number of bytes to send in a single message (in megabytes). + send_calls : (nat32) -> (); +} \ No newline at end of file diff --git a/rs/rust_canisters/call_loop_canister/src/main.rs b/rs/rust_canisters/call_loop_canister/src/main.rs index eca596cf288d..ba3683dabb1c 100644 --- a/rs/rust_canisters/call_loop_canister/src/main.rs +++ b/rs/rust_canisters/call_loop_canister/src/main.rs @@ -1,11 +1,10 @@ -use candid::candid_method; +#![allow(deprecated)] use ic_cdk::{api::call, update}; use ic_principal::Principal; const MB: usize = 1024 * 1024; /// Takes the total number of bytes to send in a single message (in megabytes). -#[candid_method(update)] #[update] async fn send_calls(megabytes_to_send: u32) { let calls = (0..megabytes_to_send) diff --git a/rs/rust_canisters/call_tree_test/src/main.rs b/rs/rust_canisters/call_tree_test/src/main.rs index 3d7e6793bb57..b72f13d57bc1 100644 --- a/rs/rust_canisters/call_tree_test/src/main.rs +++ b/rs/rust_canisters/call_tree_test/src/main.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] //! This module contains a canister used for XNet integration test. use candid::{CandidType, Principal}; use ic_cdk::api::{call::call_raw, id}; diff --git a/rs/rust_canisters/canister_serve/src/lib.rs b/rs/rust_canisters/canister_serve/src/lib.rs index 457db4104326..ef7d483cf29a 100644 --- a/rs/rust_canisters/canister_serve/src/lib.rs +++ b/rs/rust_canisters/canister_serve/src/lib.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] use by_address::ByAddress; use ic_canister_log::{GlobalBuffer, LogBuffer, LogEntry}; use ic_cdk::api::management_canister::http_request::{ diff --git a/rs/rust_canisters/canister_serve/tests/tests.rs b/rs/rust_canisters/canister_serve/tests/tests.rs index 5a2959176e6a..37225333521a 100644 --- a/rs/rust_canisters/canister_serve/tests/tests.rs +++ b/rs/rust_canisters/canister_serve/tests/tests.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] use ic_canister_log::{declare_log_buffer, log}; use ic_canister_serve::serve_logs; use ic_cdk::api::management_canister::http_request::{ diff --git a/rs/rust_canisters/downstream_calls_test/BUILD.bazel b/rs/rust_canisters/downstream_calls_test/BUILD.bazel index c3bb051e37ed..cef061157065 100644 --- a/rs/rust_canisters/downstream_calls_test/BUILD.bazel +++ b/rs/rust_canisters/downstream_calls_test/BUILD.bazel @@ -7,7 +7,7 @@ DEPENDENCIES = [ # Keep sorted. "//rs/types/base_types", "@crate_index//:candid", - "@crate_index//:ic_cdk_next", + "@crate_index//:ic-cdk", "@crate_index//:serde", ] diff --git a/rs/rust_canisters/downstream_calls_test/Cargo.toml b/rs/rust_canisters/downstream_calls_test/Cargo.toml index 5df849e0eab2..74d13918a664 100644 --- a/rs/rust_canisters/downstream_calls_test/Cargo.toml +++ b/rs/rust_canisters/downstream_calls_test/Cargo.toml @@ -10,5 +10,5 @@ path = "src/main.rs" [dependencies] candid = { workspace = true } ic-base-types = { path = "../../types/base_types" } -ic-cdk = "^0.18.0-alpha.2" +ic-cdk = { workspace = true } serde = { workspace = true } diff --git a/rs/rust_canisters/ecdsa/src/main.rs b/rs/rust_canisters/ecdsa/src/main.rs index 8c1be5669740..a4d847e4e9e3 100644 --- a/rs/rust_canisters/ecdsa/src/main.rs +++ b/rs/rust_canisters/ecdsa/src/main.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] use candid::{candid_method, CandidType, Encode}; use ic_cdk::api::{call::call_raw, print}; use ic_cdk::update; diff --git a/rs/rust_canisters/load_simulator/src/main.rs b/rs/rust_canisters/load_simulator/src/main.rs index 80215c7978d9..f42f8d773e7d 100644 --- a/rs/rust_canisters/load_simulator/src/main.rs +++ b/rs/rust_canisters/load_simulator/src/main.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] use ic_cdk::api::stable; use std::cell::RefCell; use std::time::Duration; diff --git a/rs/rust_canisters/proxy_canister/src/lib.rs b/rs/rust_canisters/proxy_canister/src/lib.rs index 4ca4bfa37ac1..c2778e4c8abb 100644 --- a/rs/rust_canisters/proxy_canister/src/lib.rs +++ b/rs/rust_canisters/proxy_canister/src/lib.rs @@ -5,6 +5,7 @@ //! as a canister message to client if the call was successful and agreed by majority nodes, //! otherwise errors out. //! +#![allow(deprecated)] use std::time::Duration; use candid::{CandidType, Deserialize}; diff --git a/rs/rust_canisters/proxy_canister/src/main.rs b/rs/rust_canisters/proxy_canister/src/main.rs index 62a3676c7250..6e1571f6432e 100644 --- a/rs/rust_canisters/proxy_canister/src/main.rs +++ b/rs/rust_canisters/proxy_canister/src/main.rs @@ -5,6 +5,7 @@ //! as a canister message to client if the call was successful and agreed by majority nodes, //! otherwise errors out. //! +#![allow(deprecated)] use candid::Principal; use futures::future::join_all; use ic_cdk::api::call::RejectionCode; diff --git a/rs/rust_canisters/random_traffic_test/BUILD.bazel b/rs/rust_canisters/random_traffic_test/BUILD.bazel index 35015a29ddb9..4808463b9464 100644 --- a/rs/rust_canisters/random_traffic_test/BUILD.bazel +++ b/rs/rust_canisters/random_traffic_test/BUILD.bazel @@ -10,7 +10,7 @@ DEPENDENCIES = [ "//rs/types/types", "@crate_index//:candid", "@crate_index//:futures", - "@crate_index//:ic_cdk_next", + "@crate_index//:ic-cdk", "@crate_index//:rand", "@crate_index//:serde", "@crate_index//:serde_bytes", diff --git a/rs/rust_canisters/random_traffic_test/Cargo.toml b/rs/rust_canisters/random_traffic_test/Cargo.toml index 76e9a0986f91..02b2a294b4dd 100644 --- a/rs/rust_canisters/random_traffic_test/Cargo.toml +++ b/rs/rust_canisters/random_traffic_test/Cargo.toml @@ -11,7 +11,7 @@ path = "src/main.rs" candid = { workspace = true } futures = { workspace = true } ic-base-types = { path = "../../types/base_types" } -ic-cdk = "^0.18.0-alpha.2" +ic-cdk = { workspace = true } ic-error-types = { path = "../../../packages/ic-error-types" } ic-types = { path = "../../types/types" } proptest = { workspace = true } diff --git a/rs/rust_canisters/stable_memory_integrity/bin/main.rs b/rs/rust_canisters/stable_memory_integrity/bin/main.rs index dcc058904af3..6cfaf253dcb4 100644 --- a/rs/rust_canisters/stable_memory_integrity/bin/main.rs +++ b/rs/rust_canisters/stable_memory_integrity/bin/main.rs @@ -1,4 +1,4 @@ -use ic_cdk::api::stable::{stable_read, stable_size}; +use ic_cdk::stable::{stable_read, stable_size}; use ic_cdk::{query, update}; use ic_stable_memory_integrity::StableOperationResult; diff --git a/rs/rust_canisters/stable_memory_integrity/src/lib.rs b/rs/rust_canisters/stable_memory_integrity/src/lib.rs index dc5a3de80edd..28a837ac8de0 100644 --- a/rs/rust_canisters/stable_memory_integrity/src/lib.rs +++ b/rs/rust_canisters/stable_memory_integrity/src/lib.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] use candid::CandidType; use ic_cdk::api::stable::{stable_grow, stable_read, stable_size, stable_write}; use serde::{Deserialize, Serialize}; diff --git a/rs/rust_canisters/xnet_test/BUILD.bazel b/rs/rust_canisters/xnet_test/BUILD.bazel index 269fa905cfa9..635115ecdd36 100644 --- a/rs/rust_canisters/xnet_test/BUILD.bazel +++ b/rs/rust_canisters/xnet_test/BUILD.bazel @@ -7,8 +7,8 @@ DEPENDENCIES = [ # Keep sorted. "@crate_index//:candid", "@crate_index//:futures", + "@crate_index//:ic-cdk", "@crate_index//:ic-management-canister-types", - "@crate_index//:ic_cdk_next", "@crate_index//:rand", "@crate_index//:rand_pcg", "@crate_index//:serde", diff --git a/rs/rust_canisters/xnet_test/Cargo.toml b/rs/rust_canisters/xnet_test/Cargo.toml index bf094e0a00a8..e3769394f1fd 100644 --- a/rs/rust_canisters/xnet_test/Cargo.toml +++ b/rs/rust_canisters/xnet_test/Cargo.toml @@ -13,7 +13,7 @@ path = "src/main.rs" [dependencies] candid = { workspace = true } futures = { workspace = true } -ic-cdk = "^0.18.0-alpha.2" +ic-cdk = { workspace = true } ic-management-canister-types = { workspace = true } rand = { workspace = true } rand_pcg = "0.3" diff --git a/rs/sns/governance/Cargo.toml b/rs/sns/governance/Cargo.toml index ed433304475f..edb5d44654a4 100644 --- a/rs/sns/governance/Cargo.toml +++ b/rs/sns/governance/Cargo.toml @@ -86,7 +86,7 @@ serde_bytes = { workspace = true } serde_json = { workspace = true } strum = { workspace = true } strum_macros = { workspace = true } -canbench-rs = { version = "0.1.7", optional = true } +canbench-rs = { workspace = true, optional = true } thiserror = { workspace = true } [target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies] diff --git a/rs/sns/governance/canister/canister.rs b/rs/sns/governance/canister/canister.rs index c7da4446ecf8..802b65b06f4a 100644 --- a/rs/sns/governance/canister/canister.rs +++ b/rs/sns/governance/canister/canister.rs @@ -1,4 +1,5 @@ // TODO: Jira ticket NNS1-3556 +#![allow(deprecated)] #![allow(static_mut_refs)] use async_trait::async_trait; use ic_base_types::{CanisterId, PrincipalId}; @@ -721,7 +722,10 @@ fn reset_timers(_request: ResetTimersRequest) -> ResetTimersResponse { ic_nervous_system_common_build_metadata::define_get_build_metadata_candid_method_cdk! {} /// Serve an HttpRequest made to this canister -#[query(hidden = true, decoding_quota = 10000)] +#[query( + hidden = true, + decode_with = "candid::decode_one_with_decoding_quota::<100000,_>" +)] pub fn http_request(request: HttpRequest) -> HttpResponse { match request.path() { "/journal/json" => { diff --git a/rs/sns/governance/src/governance.rs b/rs/sns/governance/src/governance.rs index 9500fe3292c0..5d337bf9ad12 100644 --- a/rs/sns/governance/src/governance.rs +++ b/rs/sns/governance/src/governance.rs @@ -95,8 +95,6 @@ use futures::FutureExt; use ic_base_types::{CanisterId, PrincipalId}; use ic_canister_log::log; use ic_canister_profiler::SpanStats; -#[cfg(target_arch = "wasm32")] -use ic_cdk::spawn; use ic_ledger_core::Tokens; use ic_management_canister_types_private::{ CanisterChangeDetails, CanisterInfoRequest, CanisterInfoResponse, CanisterInstallMode, @@ -695,7 +693,7 @@ pub struct Governance { fn spawn_in_canister_env(future: impl Future + Sized + 'static) { #[cfg(target_arch = "wasm32")] { - spawn(future); + ic_cdk::futures::spawn_017_compat(future); } // This is needed for tests #[cfg(not(target_arch = "wasm32"))] diff --git a/rs/sns/governance/src/types.rs b/rs/sns/governance/src/types.rs index 3d0feed5339e..d717adbd4630 100644 --- a/rs/sns/governance/src/types.rs +++ b/rs/sns/governance/src/types.rs @@ -2088,7 +2088,7 @@ impl Drop for LedgerUpdateLock { // may be inconsistent with the internal state of governance. In that case, // we want to prevent further operations with that neuron until the issue can be // investigated and resolved, which will require code changes. - if ic_cdk::api::call::is_recovering_from_trap() { + if ic_cdk::futures::is_recovering_from_trap() { return; } // It's always ok to dereference the governance when a LedgerUpdateLock diff --git a/rs/sns/integration_tests/src/proposals.rs b/rs/sns/integration_tests/src/proposals.rs index 7bac50e7a836..de9a2cf5beae 100644 --- a/rs/sns/integration_tests/src/proposals.rs +++ b/rs/sns/integration_tests/src/proposals.rs @@ -439,7 +439,7 @@ fn test_bad_proposal_id_candid_encoding() { .query_("get_proposal", bytes, b"This is not valid candid!".to_vec()) .await; - let expected_error = "failed to decode"; + let expected_error = "Cannot parse header"; match res { Err(e) => assert!( e.contains(expected_error), diff --git a/rs/sns/root/canister/canister.rs b/rs/sns/root/canister/canister.rs index 37706b9ebe23..89cd3840d23b 100644 --- a/rs/sns/root/canister/canister.rs +++ b/rs/sns/root/canister/canister.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] use async_trait::async_trait; use candid::candid_method; use ic_base_types::{CanisterId, PrincipalId}; @@ -400,7 +401,10 @@ fn assert_eq_governance_canister_id(id: PrincipalId) { } // Resources to serve for a given http_request -#[query(hidden = true, decoding_quota = 10000)] +#[query( + hidden = true, + decode_with = "candid::decode_one_with_decoding_quota::<100000,_>" +)] fn http_request(request: HttpRequest) -> HttpResponse { match request.path() { "/metrics" => serve_metrics(encode_metrics), diff --git a/rs/sns/sns.bzl b/rs/sns/sns.bzl index 16d30bb7327a..aca5c88f9b3b 100644 --- a/rs/sns/sns.bzl +++ b/rs/sns/sns.bzl @@ -15,7 +15,7 @@ but other things could be added here later. CANISTER_NAME_TO_MAX_COMPRESSED_WASM_SIZE_E5_BYTES = { "sns-governance-canister.wasm.gz": 17, - "sns-governance-canister_test.wasm.gz": 17, + "sns-governance-canister_test.wasm.gz": 18, "sns-root-canister.wasm.gz": 5, "sns-swap-canister.wasm.gz": 7, } diff --git a/rs/sns/swap/canister/canister.rs b/rs/sns/swap/canister/canister.rs index 5f003fb21b49..5d25c031d0f4 100644 --- a/rs/sns/swap/canister/canister.rs +++ b/rs/sns/swap/canister/canister.rs @@ -1,5 +1,6 @@ // TODO: Jira ticket NNS1-3556 #![allow(static_mut_refs)] +#![allow(deprecated)] use ic_base_types::{CanisterId, PrincipalId}; use ic_canister_log::log; @@ -469,7 +470,10 @@ fn canister_post_upgrade() { } /// Serve an HttpRequest made to this canister -#[query(hidden = true, decoding_quota = 10000)] +#[query( + hidden = true, + decode_with = "candid::decode_one_with_decoding_quota::<100000,_>" +)] pub fn http_request(request: HttpRequest) -> HttpResponse { match request.path() { "/metrics" => serve_metrics(encode_metrics), diff --git a/rs/sns/swap/src/clients.rs b/rs/sns/swap/src/clients.rs index a3d461efa685..aa2efa8117ca 100644 --- a/rs/sns/swap/src/clients.rs +++ b/rs/sns/swap/src/clients.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] use crate::pb::v1::{ CanisterCallError, SetDappControllersRequest, SetDappControllersResponse, SettleNeuronsFundParticipationRequest, SettleNeuronsFundParticipationResponse, diff --git a/rs/sns/swap/src/swap.rs b/rs/sns/swap/src/swap.rs index 579035f5d315..decf0cac0283 100644 --- a/rs/sns/swap/src/swap.rs +++ b/rs/sns/swap/src/swap.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] use crate::{ clients::{NnsGovernanceClient, SnsGovernanceClient, SnsRootClient}, environment::CanisterEnvironment, diff --git a/rs/sns/treasury_manager/mock/src/main.rs b/rs/sns/treasury_manager/mock/src/main.rs index e83259c4d73f..b6a5ed8883f3 100644 --- a/rs/sns/treasury_manager/mock/src/main.rs +++ b/rs/sns/treasury_manager/mock/src/main.rs @@ -42,7 +42,7 @@ declare_log_buffer!(name = LOG, capacity = 100); fn log(msg: &str) { let msg = format!("[MockTreasuryManager] {}", msg); - ic_cdk::print(&msg); + ic_cdk::api::debug_print(&msg); log!(LOG, "{}", msg); } @@ -51,9 +51,9 @@ fn canister_state() -> MockTreasuryManager { } fn check_caller_is_controller_or_self() { - let caller = ic_cdk::api::caller(); + let caller = ic_cdk::api::msg_caller(); - if caller == ic_cdk::id() { + if caller == ic_cdk::api::canister_self() { return; } @@ -108,7 +108,7 @@ async fn run_periodic_tasks() { fn init_periodic_tasks() { let _new_timer_id = ic_cdk_timers::set_timer_interval(RUN_PERIODIC_TASKS_INTERVAL, || { - ic_cdk::spawn(run_periodic_tasks()) + ic_cdk::futures::spawn_017_compat(run_periodic_tasks()) }); } diff --git a/rs/tests/consensus/tecdsa/tschnorr_message_sizes_test.rs b/rs/tests/consensus/tecdsa/tschnorr_message_sizes_test.rs index 02efac111868..ebb1eb458eae 100644 --- a/rs/tests/consensus/tecdsa/tschnorr_message_sizes_test.rs +++ b/rs/tests/consensus/tecdsa/tschnorr_message_sizes_test.rs @@ -16,6 +16,7 @@ Success:: . Signature requests succeed and fail as expected end::catalog[] */ +#![allow(deprecated)] use anyhow::Result; diff --git a/rs/tests/consensus/tecdsa/utils/src/lib.rs b/rs/tests/consensus/tecdsa/utils/src/lib.rs index 1369f75c63e9..d58fa4fe43d7 100644 --- a/rs/tests/consensus/tecdsa/utils/src/lib.rs +++ b/rs/tests/consensus/tecdsa/utils/src/lib.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] use candid::{CandidType, Deserialize, Encode, Principal}; use canister_test::{Canister, Cycles}; use ic_agent::AgentError; diff --git a/rs/tests/consensus/vetkd/vetkd_key_life_cycle_test.rs b/rs/tests/consensus/vetkd/vetkd_key_life_cycle_test.rs index 65605b8dbe27..7c268fd3e336 100644 --- a/rs/tests/consensus/vetkd/vetkd_key_life_cycle_test.rs +++ b/rs/tests/consensus/vetkd/vetkd_key_life_cycle_test.rs @@ -65,7 +65,10 @@ use ic_system_test_driver::{ util::{block_on, get_app_subnet_and_node, runtime_from_url, MessageCanister}, }; use ic_types::{Cycles, Height}; -use ic_vetkeys::{DerivedPublicKey, EncryptedVetKey, IBECiphertext, TransportSecretKey, VetKey}; +use ic_vetkeys::{ + DerivedPublicKey, EncryptedVetKey, IbeCiphertext, IbeIdentity, IbeSeed, TransportSecretKey, + VetKey, +}; use rand::Rng; use slog::info; use std::time::Duration; @@ -277,13 +280,12 @@ fn test(env: TestEnv) { // IBE-encrypt a message with one of the previously retrieved canister public keys. let secret_message = b"secret message"; - let ibe_ciphertext = IBECiphertext::encrypt( + let ibe_ciphertext = IbeCiphertext::encrypt( &canister_master_pubkey_app.derive_sub_key(context), - input, + &IbeIdentity::from_bytes(input), secret_message, - &rng.gen::<[u8; 32]>(), - ) - .expect("failed to IBE-encrypt"); + &IbeSeed::random(rng), + ); // When using the correct vetKey (i.e., the one for the correct input/context combination), the message MUST IBE-decrypt to the correct value assert_eq!( diff --git a/rs/tests/driver/src/util.rs b/rs/tests/driver/src/util.rs index 1a1914a382ba..8ecb18242719 100644 --- a/rs/tests/driver/src/util.rs +++ b/rs/tests/driver/src/util.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] use crate::{ canister_agent::CanisterAgent, canister_api::GenericRequest, diff --git a/rs/tests/execution/general_execution_tests/canister_lifecycle.rs b/rs/tests/execution/general_execution_tests/canister_lifecycle.rs index cf661e1e8a8a..9028cdfd594d 100644 --- a/rs/tests/execution/general_execution_tests/canister_lifecycle.rs +++ b/rs/tests/execution/general_execution_tests/canister_lifecycle.rs @@ -27,6 +27,7 @@ AKA:: Testcase 2.4 end::catalog[] */ +#![allow(deprecated)] use candid::{Decode, Encode}; use ic_agent::{agent::RejectCode, export::Principal, identity::Identity}; diff --git a/rs/tests/execution/system_subnets_test.rs b/rs/tests/execution/system_subnets_test.rs index bfdc2a702d2a..f222fefe57d5 100644 --- a/rs/tests/execution/system_subnets_test.rs +++ b/rs/tests/execution/system_subnets_test.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] use anyhow::Result; use candid::{Decode, Encode, Principal}; use ic_agent::agent::RejectCode; diff --git a/rs/tests/networking/canister_http_correctness_test.rs b/rs/tests/networking/canister_http_correctness_test.rs index bffcc343d72b..04eaaa96511a 100644 --- a/rs/tests/networking/canister_http_correctness_test.rs +++ b/rs/tests/networking/canister_http_correctness_test.rs @@ -14,6 +14,7 @@ Success:: 1. Received http response with status 200. end::catalog[] */ +#![allow(deprecated)] use anyhow::Result; use assert_matches::assert_matches; diff --git a/rs/tests/networking/canister_http_fault_tolerance_test.rs b/rs/tests/networking/canister_http_fault_tolerance_test.rs index bc33b1362173..00a47f93bc84 100644 --- a/rs/tests/networking/canister_http_fault_tolerance_test.rs +++ b/rs/tests/networking/canister_http_fault_tolerance_test.rs @@ -15,6 +15,7 @@ Success:: 1. Http requests succeed in environment where nodes fail. end::catalog[] */ +#![allow(deprecated)] use anyhow::bail; use anyhow::Result; diff --git a/rs/tests/networking/canister_http_non_replicated_test.rs b/rs/tests/networking/canister_http_non_replicated_test.rs index 9213f77ff8c2..e50507a8e0a0 100644 --- a/rs/tests/networking/canister_http_non_replicated_test.rs +++ b/rs/tests/networking/canister_http_non_replicated_test.rs @@ -17,6 +17,7 @@ Success:: 1. Received http response with status 200. end::catalog[] */ +#![allow(deprecated)] use anyhow::bail; use anyhow::Result; diff --git a/rs/tests/networking/canister_http_soak_test.rs b/rs/tests/networking/canister_http_soak_test.rs index f35932d94651..b797bb26b94e 100644 --- a/rs/tests/networking/canister_http_soak_test.rs +++ b/rs/tests/networking/canister_http_soak_test.rs @@ -15,6 +15,7 @@ Success:: 1. The proxy canister is left sending requests in batches of 500 to track the qps in grafana. end::catalog[] */ +#![allow(deprecated)] use anyhow::bail; use anyhow::Result; diff --git a/rs/tests/networking/canister_http_socks_test.rs b/rs/tests/networking/canister_http_socks_test.rs index 835d94978e9d..e31b8612895c 100644 --- a/rs/tests/networking/canister_http_socks_test.rs +++ b/rs/tests/networking/canister_http_socks_test.rs @@ -15,6 +15,7 @@ Success:: 2. Received failed to connect error from application subnet. end::catalog[] */ +#![allow(deprecated)] use anyhow::bail; use anyhow::Result; diff --git a/rs/tests/networking/canister_http_stress_test.rs b/rs/tests/networking/canister_http_stress_test.rs index beb817f36d19..2db3a659c4b8 100644 --- a/rs/tests/networking/canister_http_stress_test.rs +++ b/rs/tests/networking/canister_http_stress_test.rs @@ -21,6 +21,7 @@ Success:: 2. The results are written to a json file (in benchmark/benchmark.json). end::catalog[] */ +#![allow(deprecated)] use std::time::Duration; diff --git a/rs/tests/networking/canister_http_test.rs b/rs/tests/networking/canister_http_test.rs index 726fa843c10e..d39e9744a21e 100644 --- a/rs/tests/networking/canister_http_test.rs +++ b/rs/tests/networking/canister_http_test.rs @@ -14,6 +14,7 @@ Success:: 1. Received http response with status 200. end::catalog[] */ +#![allow(deprecated)] use anyhow::bail; use anyhow::Result; diff --git a/rs/tests/networking/canister_http_time_out_test.rs b/rs/tests/networking/canister_http_time_out_test.rs index 83a54b2bb527..9a77b561dcb0 100644 --- a/rs/tests/networking/canister_http_time_out_test.rs +++ b/rs/tests/networking/canister_http_time_out_test.rs @@ -15,6 +15,7 @@ Success:: 2. Http request to invalid http endpoint returns a transient timeout error. end::catalog[] */ +#![allow(deprecated)] use anyhow::bail; use anyhow::Result; diff --git a/rs/tests/networking/canisters/src/cloner_canister.rs b/rs/tests/networking/canisters/src/cloner_canister.rs index a8f85a3c2914..c23ad0e895d9 100644 --- a/rs/tests/networking/canisters/src/cloner_canister.rs +++ b/rs/tests/networking/canisters/src/cloner_canister.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] use candid::CandidType; use futures::future::join_all; use ic_cdk::api::call::CallResult; diff --git a/rs/tests/test_canisters/kv_store/src/cert.rs b/rs/tests/test_canisters/kv_store/src/cert.rs index e7eb141160cd..a5364d3b526c 100644 --- a/rs/tests/test_canisters/kv_store/src/cert.rs +++ b/rs/tests/test_canisters/kv_store/src/cert.rs @@ -1,6 +1,6 @@ use std::cell::RefCell; -use ic_cdk::api::{data_certificate, set_certified_data}; +use ic_cdk::api::{certified_data_set, data_certificate}; use ic_certified_map::{labeled, labeled_hash, AsHashTree, Hash as ICHash, RbTree}; use serde::Serialize; use serde_cbor::Serializer; @@ -35,7 +35,7 @@ pub fn put(key: &str, value: &str) { labeled_hash(b"http_assets", &tree.root_hash()) }); - set_certified_data(&root_hash); + certified_data_set(root_hash); } pub fn pre_upgrade() -> Vec<(String, ICHash)> { diff --git a/rs/tests/test_canisters/kv_store/src/http.rs b/rs/tests/test_canisters/kv_store/src/http.rs index fecc76536eec..e2d5fb349c23 100644 --- a/rs/tests/test_canisters/kv_store/src/http.rs +++ b/rs/tests/test_canisters/kv_store/src/http.rs @@ -81,7 +81,7 @@ struct Callback(Func); impl From<&str> for Callback { fn from(method: &str) -> Self { Callback(Func { - principal: ic_cdk::api::id(), + principal: ic_cdk::api::canister_self(), method: method.into(), }) } diff --git a/rs/tests/test_canisters/message/src/main.rs b/rs/tests/test_canisters/message/src/main.rs index b4925c2d0aba..c20853fd172d 100644 --- a/rs/tests/test_canisters/message/src/main.rs +++ b/rs/tests/test_canisters/message/src/main.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] use ic_cdk::api::call::ManualReply; use ic_message::ForwardParams; use std::cell::RefCell; diff --git a/rs/tests/test_canisters/signer/src/lib.rs b/rs/tests/test_canisters/signer/src/lib.rs index b89a406e8c74..979f676c4ffd 100644 --- a/rs/tests/test_canisters/signer/src/lib.rs +++ b/rs/tests/test_canisters/signer/src/lib.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] use candid::CandidType; use ic_cdk::api::management_canister::{ecdsa::EcdsaKeyId, schnorr::SchnorrKeyId}; use ic_management_canister_types::VetKDKeyId; diff --git a/rs/tests/test_canisters/signer/src/main.rs b/rs/tests/test_canisters/signer/src/main.rs index 38a086f16a54..fc7805a5d22f 100644 --- a/rs/tests/test_canisters/signer/src/main.rs +++ b/rs/tests/test_canisters/signer/src/main.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] use candid::Principal; use ic_cdk::{ api::{ diff --git a/rs/validator/ingress_message/Cargo.toml b/rs/validator/ingress_message/Cargo.toml index 3d6219ceabb3..fb848a758e3e 100644 --- a/rs/validator/ingress_message/Cargo.toml +++ b/rs/validator/ingress_message/Cargo.toml @@ -18,7 +18,7 @@ ic-validator = { path = "../../validator" } time = { workspace = true } [target.'cfg(target_family = "wasm")'.dependencies] -ic-cdk = { version = "0.17.2", optional = true } +ic-cdk = { workspace = true, optional = true } [features] default = ["dep:ic-cdk"]