diff --git a/Cargo.lock b/Cargo.lock index 19236ab..f82ce2b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -221,7 +221,6 @@ dependencies = [ "http", "ic-cdk", "ic-error-types", - "ic-management-canister-types", "itertools", "maplit", "num-traits", @@ -734,7 +733,7 @@ dependencies = [ "canhttp", "http", "ic-cdk", - "ic-management-canister-types", + "ic-management-canister-types 0.3.3", "ic-test-utilities-load-wasm", "pocket-ic", "serde", @@ -814,16 +813,16 @@ dependencies = [ [[package]] name = "ic-cdk" -version = "0.18.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4efb278f5d3ef033b3eed7f01f1096eaf67701896aa5ef69f5eddf5a84833dc0" +version = "0.19.0-beta.3" +source = "git+https://github.com/dfinity/cdk-rs.git?rev=cd516011d96c6e1abd239f706a2d42029737d5cc#cd516011d96c6e1abd239f706a2d42029737d5cc" dependencies = [ "candid", "ic-cdk-executor", "ic-cdk-macros", "ic-error-types", - "ic-management-canister-types", + "ic-management-canister-types 0.4.1", "ic0", + "pin-project-lite", "serde", "serde_bytes", "slotmap", @@ -832,19 +831,18 @@ dependencies = [ [[package]] name = "ic-cdk-executor" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99f4ee8930fd2e491177e2eb7fff53ee1c407c13b9582bdc7d6920cf83109a2d" +version = "2.0.0-beta.1" +source = "git+https://github.com/dfinity/cdk-rs.git?rev=cd516011d96c6e1abd239f706a2d42029737d5cc#cd516011d96c6e1abd239f706a2d42029737d5cc" dependencies = [ "ic0", "slotmap", + "smallvec", ] [[package]] name = "ic-cdk-macros" -version = "0.18.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7eb14c5d691cc9d72bb95459b4761e3a4b3444b85a63d17555d5ddd782969a1e" +version = "0.19.0-beta.3" +source = "git+https://github.com/dfinity/cdk-rs.git?rev=cd516011d96c6e1abd239f706a2d42029737d5cc#cd516011d96c6e1abd239f706a2d42029737d5cc" dependencies = [ "candid", "darling", @@ -887,6 +885,16 @@ dependencies = [ "serde_bytes", ] +[[package]] +name = "ic-management-canister-types" +version = "0.4.1" +source = "git+https://github.com/dfinity/cdk-rs.git?rev=cd516011d96c6e1abd239f706a2d42029737d5cc#cd516011d96c6e1abd239f706a2d42029737d5cc" +dependencies = [ + "candid", + "serde", + "serde_bytes", +] + [[package]] name = "ic-test-utilities-load-wasm" version = "0.9.0" @@ -917,8 +925,7 @@ dependencies = [ [[package]] name = "ic0" version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1499d08fd5be8f790d477e1865d63bab6a8d748300e141270c4296e6d5fdd6bc" +source = "git+https://github.com/dfinity/cdk-rs.git?rev=cd516011d96c6e1abd239f706a2d42029737d5cc#cd516011d96c6e1abd239f706a2d42029737d5cc" [[package]] name = "ic_principal" @@ -1370,7 +1377,7 @@ dependencies = [ "flate2", "hex", "ic-certification", - "ic-management-canister-types", + "ic-management-canister-types 0.3.3", "ic-transport-types", "reqwest", "schemars", diff --git a/Cargo.toml b/Cargo.toml index 8169b21..0a75797 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -17,15 +17,14 @@ ciborium = "0.2.2" futures-channel = "0.3.31" futures-util = "0.3.31" http = "1.3.1" -ic-cdk = "0.18.7" +ic-cdk = { git = "https://github.com/dfinity/cdk-rs.git", rev = "cd516011d96c6e1abd239f706a2d42029737d5cc" } # branch spofford/timer-semaphores ic-error-types = "0.2" -ic-management-canister-types = "0.3.3" +ic-management-canister-types = { git = "https://github.com/dfinity/cdk-rs.git", rev = "cd516011d96c6e1abd239f706a2d42029737d5cc" } # branch spofford/timer-semaphores ic-test-utilities-load-wasm = { git = "https://github.com/dfinity/ic", tag = "release-2025-01-23_03-04-base" } itertools = "0.14.0" maplit = "1.0.2" num-traits = "0.2.19" pin-project = "1.1.10" -pocket-ic = "9.0.2" proptest = "1.6.0" serde = "1.0" serde_json = "1.0" diff --git a/canhttp/Cargo.toml b/canhttp/Cargo.toml index 5bea85e..d06ee20 100644 --- a/canhttp/Cargo.toml +++ b/canhttp/Cargo.toml @@ -25,7 +25,6 @@ futures-util = { workspace = true } http = { workspace = true, optional = true } ic-cdk = { workspace = true } ic-error-types = { workspace = true } -ic-management-canister-types = { workspace = true } num-traits = { workspace = true, optional = true } pin-project = { workspace = true } serde = { workspace = true, optional = true } diff --git a/canhttp/src/client/mod.rs b/canhttp/src/client/mod.rs index 392d400..4cdf326 100644 --- a/canhttp/src/client/mod.rs +++ b/canhttp/src/client/mod.rs @@ -3,10 +3,10 @@ mod tests; use crate::{convert::ConvertError, ConvertServiceBuilder}; use ic_cdk::call::Error as IcCdkError; -use ic_error_types::RejectCode; -use ic_management_canister_types::{ +use ic_cdk::management_canister::{ HttpRequestArgs as IcHttpRequest, HttpRequestResult as IcHttpResponse, TransformContext, }; +use ic_error_types::RejectCode; use std::{ future::Future, pin::Pin, diff --git a/canhttp/src/cycles/mod.rs b/canhttp/src/cycles/mod.rs index f9f61b2..6e10cee 100644 --- a/canhttp/src/cycles/mod.rs +++ b/canhttp/src/cycles/mod.rs @@ -45,7 +45,7 @@ use crate::{ convert::{ConvertRequestLayer, Filter}, ConvertServiceBuilder, }; -use ic_management_canister_types::HttpRequestArgs; +use ic_cdk::management_canister::HttpRequestArgs; use std::convert::Infallible; use thiserror::Error; use tower::ServiceBuilder; diff --git a/canhttp/src/http/mod.rs b/canhttp/src/http/mod.rs index 277acb5..ba9d972 100644 --- a/canhttp/src/http/mod.rs +++ b/canhttp/src/http/mod.rs @@ -30,7 +30,7 @@ //! //! ```rust //! use canhttp::{http::{HttpConversionLayer }, MaxResponseBytesRequestExtension}; -//! use ic_management_canister_types::{HttpRequestArgs as IcHttpRequest, HttpRequestResult as IcHttpResponse}; +//! use ic_cdk::management_canister::{HttpRequestArgs as IcHttpRequest, HttpRequestResult as IcHttpResponse}; //! use tower::{Service, ServiceBuilder, ServiceExt, BoxError}; //! //! async fn always_200_ok(request: IcHttpRequest) -> Result { @@ -59,8 +59,8 @@ //! # } //! ``` //! -//! [`IcHttpRequest`]: ic_management_canister_types::HttpRequestArgs -//! [`IcHttpResponse`]: ic_management_canister_types::HttpRequestResult +//! [`IcHttpRequest`]: ic_cdk::management_canister::HttpRequestArgs +//! [`IcHttpResponse`]: ic_cdk::management_canister::HttpRequestResult #[cfg(test)] mod tests; diff --git a/canhttp/src/http/request.rs b/canhttp/src/http/request.rs index 927977e..c295fa6 100644 --- a/canhttp/src/http/request.rs +++ b/canhttp/src/http/request.rs @@ -1,6 +1,6 @@ use crate::convert::Convert; use crate::{MaxResponseBytesRequestExtension, TransformContextRequestExtension}; -use ic_management_canister_types::{ +use ic_cdk::management_canister::{ HttpHeader as IcHttpHeader, HttpMethod as IcHttpMethod, HttpRequestArgs as IcHttpRequest, TransformContext, }; @@ -127,6 +127,7 @@ impl Convert for HttpRequestConverter { headers, body, transform, + is_replicated: None, }) } } diff --git a/canhttp/src/http/response.rs b/canhttp/src/http/response.rs index c29a885..1b0c77e 100644 --- a/canhttp/src/http/response.rs +++ b/canhttp/src/http/response.rs @@ -1,5 +1,5 @@ use crate::convert::{Convert, Filter}; -use ic_management_canister_types::HttpRequestResult as IcHttpResponse; +use ic_cdk::management_canister::HttpRequestResult as IcHttpResponse; use thiserror::Error; /// HTTP response with a body made of bytes. @@ -40,7 +40,7 @@ impl Convert for HttpResponseConverter { fn try_convert(&mut self, response: IcHttpResponse) -> Result { use http::{HeaderMap, HeaderName, HeaderValue, StatusCode}; - use ic_management_canister_types::HttpHeader as IcHttpHeader; + use ic_cdk::management_canister::HttpHeader as IcHttpHeader; use num_traits::ToPrimitive; let status = response diff --git a/canhttp/src/http/tests.rs b/canhttp/src/http/tests.rs index 1135ec0..e10071f 100644 --- a/canhttp/src/http/tests.rs +++ b/canhttp/src/http/tests.rs @@ -10,11 +10,11 @@ use crate::{ use assert_matches::assert_matches; use candid::{Decode, Encode, Principal}; use http::StatusCode; -use ic_error_types::RejectCode; -use ic_management_canister_types::{ +use ic_cdk::management_canister::{ HttpHeader as IcHttpHeader, HttpMethod as IcHttpMethod, HttpRequestArgs as IcHttpRequest, HttpRequestResult as IcHttpResponse, TransformContext, TransformFunc, }; +use ic_error_types::RejectCode; use std::error::Error; use std::fmt::Debug; use tower::{BoxError, Service, ServiceBuilder, ServiceExt}; @@ -59,6 +59,7 @@ async fn should_convert_http_request() { }], body: Some(body.clone()), transform: Some(transform_context.clone()), + is_replicated: None, } ) } @@ -208,6 +209,7 @@ async fn should_convert_both_request_and_responses() { }], body: Some(body.clone()), transform: Some(transform_context.clone()), + is_replicated: None, } ); diff --git a/canhttp/src/observability/mod.rs b/canhttp/src/observability/mod.rs index 981cdbb..ac08557 100644 --- a/canhttp/src/observability/mod.rs +++ b/canhttp/src/observability/mod.rs @@ -16,7 +16,7 @@ //! //! ```rust //! use canhttp::{IcError, observability::ObservabilityLayer}; -//! use ic_management_canister_types::{HttpRequestArgs as IcHttpRequest, HttpRequestResult as IcHttpResponse}; +//! use ic_cdk::management_canister::{HttpRequestArgs as IcHttpRequest, HttpRequestResult as IcHttpResponse}; //! use tower::{Service, ServiceBuilder, ServiceExt}; //! use std::cell::RefCell; //! @@ -76,7 +76,7 @@ //! The previous example can be refined by extracting request data (such as the request URL) to observe the responses/errors: //! ```rust //! use canhttp::{IcError, observability::ObservabilityLayer}; -//! use ic_management_canister_types::{HttpRequestArgs as IcHttpRequest, HttpRequestResult as IcHttpResponse}; +//! use ic_cdk::management_canister::{HttpRequestArgs as IcHttpRequest, HttpRequestResult as IcHttpResponse}; //! use maplit::btreemap; //! use tower::{Service, ServiceBuilder, ServiceExt}; //! use std::cell::RefCell; diff --git a/examples/http_canister/Cargo.toml b/examples/http_canister/Cargo.toml index 8cfe960..2bd1b3e 100644 --- a/examples/http_canister/Cargo.toml +++ b/examples/http_canister/Cargo.toml @@ -16,7 +16,7 @@ tower = { workspace = true } tower-layer = { workspace = true } [dev-dependencies] -ic-management-canister-types = { workspace = true } +ic-management-canister-types = "0.3.3" # this version is required by pocket-ic v9 ic-test-utilities-load-wasm = { workspace = true } -pocket-ic = { workspace = true } +pocket-ic = "9.0.2" serde = { workspace = true }