diff --git a/Cargo.lock b/Cargo.lock index c6f3e40..98b14a2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -179,6 +179,15 @@ dependencies = [ "rand 0.8.6", ] +[[package]] +name = "backon" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cffb0e931875b666fc4fcb20fee52e9bbd1ef836fd9e9e04ec21555f9f85f7ef" +dependencies = [ + "fastrand", +] + [[package]] name = "base16ct" version = "0.2.0" @@ -347,7 +356,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9718806c4a2fe9e8a56fd736f97b340dd10ed1be8ed733ed50449f351dc33cae" dependencies = [ "ahash", - "cached_proc_macro 0.23.0", + "cached_proc_macro", "cached_proc_macro_types", "hashbrown 0.14.5", "once_cell", @@ -362,8 +371,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "801927ee168e17809ab8901d9f01f700cd7d8d6a6527997fee44e4b0327a253c" dependencies = [ "ahash", - "cached_proc_macro 0.25.0", - "cached_proc_macro_types", "hashbrown 0.15.5", "once_cell", "thiserror 2.0.18", @@ -382,18 +389,6 @@ dependencies = [ "syn 2.0.117", ] -[[package]] -name = "cached_proc_macro" -version = "0.25.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9225bdcf4e4a9a4c08bf16607908eb2fbf746828d5e0b5e019726dbf6571f201" -dependencies = [ - "darling 0.20.11", - "proc-macro2", - "quote", - "syn 2.0.117", -] - [[package]] name = "cached_proc_macro_types" version = "0.1.1" @@ -1517,16 +1512,16 @@ dependencies = [ [[package]] name = "ic-agent" -version = "0.47.0" +version = "0.49.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "087c953695a2581a1e58a23a88e16a19e5eb2638ecefeea0bde22f23d8896786" +checksum = "1f9086b59107b6d6485a915762a2a3986ef208e80bb40eff22d099bbcd71deea" dependencies = [ "arc-swap", "async-channel 2.5.0", "async-lock", "async-trait", "async-watch", - "backoff", + "backon", "bytes", "cached 0.56.0", "candid", @@ -1540,7 +1535,7 @@ dependencies = [ "http-body-util", "ic-certification", "ic-ed25519", - "ic-transport-types 0.47.0", + "ic-transport-types 0.49.2", "ic-verify-bls-signature", "ic_principal", "k256", @@ -1548,7 +1543,7 @@ dependencies = [ "p256", "pem", "pkcs8", - "rand 0.10.0", + "rand 0.10.2", "rangemap", "reqwest 0.13.2", "sec1", @@ -1593,35 +1588,41 @@ dependencies = [ [[package]] name = "ic-cdk" -version = "0.17.2" +version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95a7344f41493cbf591f13ae9f90181076f808a83af799815c3074b19c693d2e" +checksum = "6a7971f4983db147afbbc4e7f87f60b09fcd60ac707af37ff3d2468dcddbf551" dependencies = [ "candid", "ic-cdk-executor", "ic-cdk-macros", + "ic-error-types", "ic0", + "pin-project-lite", "serde", - "serde_bytes", + "thiserror 2.0.18", ] [[package]] name = "ic-cdk-executor" -version = "0.1.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "903057edd3d4ff4b3fe44a64eaee1ceb73f579ba29e3ded372b63d291d7c16c2" +checksum = "33716b730ded33690b8a704bff3533fda87d229e58046823647d28816e9bcee7" +dependencies = [ + "ic0", + "slotmap", + "smallvec", +] [[package]] name = "ic-cdk-macros" -version = "0.17.2" +version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84cbaa50fa36d3e0616114becf81faa95a099e0d60948ed6978f30f1c77399fd" +checksum = "a7c20c002200c720958f321bb78b4d4987fc2c380bf9ef69ed4404730810f45f" dependencies = [ "candid", + "darling 0.23.0", "proc-macro2", "quote", - "serde", - "serde_tokenstream", "syn 2.0.117", ] @@ -1673,6 +1674,17 @@ dependencies = [ "zeroize", ] +[[package]] +name = "ic-error-types" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbeeb3d91aa179d6496d7293becdacedfc413c825cac79fd54ea1906f003ee55" +dependencies = [ + "serde", + "strum 0.26.3", + "strum_macros 0.26.4", +] + [[package]] name = "ic-http-certification" version = "3.1.0" @@ -1728,9 +1740,9 @@ dependencies = [ [[package]] name = "ic-management-canister-types" -version = "0.7.1" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51705516ed4d23f24e8d714a70fe9d7ec17106cfd830d5434a1b29f583ef70ee" +checksum = "3187ba94198a8df0e38a478f289812fcead6a86c658b9552b00f1f8081f06bb3" dependencies = [ "candid", "serde", @@ -1791,9 +1803,9 @@ dependencies = [ [[package]] name = "ic-transport-types" -version = "0.47.0" +version = "0.49.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a91a2dc71282291a7c26ec7c23e57335fc4a562a6b0b571ede0044790a68a3f" +checksum = "e2d13d859ea481e8d5766a54a3b4dfcf4c11ff6f21d5e2aeaf9a44dd710a76ff" dependencies = [ "candid", "hex", @@ -1809,15 +1821,15 @@ dependencies = [ [[package]] name = "ic-utils" -version = "0.47.0" +version = "0.49.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4dac90c041fee47ed98d9f2d1bb3455fb79c43bc4730af3c91f29aec3822e52" +checksum = "750a78f121d81831af5cdf065cf1f89efd5b4fe7822130b4b32eb296ad515d67" dependencies = [ "async-trait", "candid", "futures-util", "ic-agent", - "ic-management-canister-types 0.7.1", + "ic-management-canister-types 0.8.0", "once_cell", "semver", "serde", @@ -1845,9 +1857,9 @@ dependencies = [ [[package]] name = "ic0" -version = "0.23.0" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8de254dd67bbd58073e23dc1c8553ba12fa1dc610a19de94ad2bbcd0460c067f" +checksum = "c77c8932bff1f09502d0d8c079d5a206a06afe523e35e816162cf4d30b5bf80d" [[package]] name = "ic_bls12_381" @@ -2715,9 +2727,9 @@ dependencies = [ [[package]] name = "rand" -version = "0.10.0" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc266eb313df6c5c09c1c7b1fbe2510961e5bcd3add930c1e31f7ed9da0feff8" +checksum = "c7f5fa3a058cd35567ef9bfa5e75732bee0f9e4c55fa90477bef2dfcdbc4be80" dependencies = [ "chacha20", "getrandom 0.4.2", @@ -3327,18 +3339,6 @@ dependencies = [ "syn 2.0.117", ] -[[package]] -name = "serde_tokenstream" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7c49585c52c01f13c5c2ebb333f14f6885d76daa768d8a037d28017ec538c69" -dependencies = [ - "proc-macro2", - "quote", - "serde", - "syn 2.0.117", -] - [[package]] name = "serde_urlencoded" version = "0.7.1" @@ -3465,6 +3465,15 @@ dependencies = [ "serde_core", ] +[[package]] +name = "slotmap" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bdd58c3c93c3d278ca835519292445cb4b0d4dc59ccfdf7ceadaab3f8aeb4038" +dependencies = [ + "version_check", +] + [[package]] name = "smallvec" version = "1.15.1" diff --git a/Cargo.toml b/Cargo.toml index f1f818d..06994bf 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -42,10 +42,10 @@ hyper = { version = "1", features = ["full"] } hyper-util = "0.1" reqwest = "0.13.2" -ic-cdk = "0.17" -ic-cdk-macros = "0.17" -ic-agent = "0.47" -ic-utils = "0.47" +ic-cdk = "0.20" +ic-cdk-macros = "0.20" +ic-agent = "0.49" +ic-utils = "0.49" candid = "0.10" pocket-ic = "12.0" assert_matches = "1" diff --git a/examples/http-gateway/canister/src/custom_assets/src/lib.rs b/examples/http-gateway/canister/src/custom_assets/src/lib.rs index 8bc5ba5..74c9044 100644 --- a/examples/http-gateway/canister/src/custom_assets/src/lib.rs +++ b/examples/http-gateway/canister/src/custom_assets/src/lib.rs @@ -1,6 +1,6 @@ use ic_asset_certification::{Asset, AssetConfig, AssetFallbackConfig, AssetRouter}; use ic_cdk::{ - api::{data_certificate, set_certified_data}, + api::{certified_data_set, data_certificate}, *, }; use ic_http_certification::{ @@ -254,10 +254,10 @@ fn certify_all_assets() { ASSET_ROUTER.with_borrow_mut(|asset_router| { if let Err(err) = asset_router.certify_assets(assets, asset_configs) { - ic_cdk::trap(&format!("Failed to certify assets: {}", err)); + ic_cdk::trap(format!("Failed to certify assets: {}", err)); } - set_certified_data(&asset_router.root_hash()); + certified_data_set(asset_router.root_hash()); }); } @@ -269,7 +269,7 @@ fn serve_asset(req: &HttpRequest) -> HttpResponse<'static> { ) { response } else { - ic_cdk::trap(&format!("Failed to serve asset for request {:?}", req)); + ic_cdk::trap(format!("Failed to serve asset for request {:?}", req)); } }) } diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 3fe6ba4..b1d98e3 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,5 +1,5 @@ [toolchain] -channel = "1.89" +channel = "1.97.1" profile = "minimal" components = ["rustfmt", "clippy"] -targets = ["wasm32-unknown-unknown"] +targets = ["wasm32-unknown-unknown", "x86_64-unknown-linux-musl"]