diff --git a/Cargo.lock b/Cargo.lock index 4fe5229..79b53e3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -253,9 +253,9 @@ checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" [[package]] name = "byteorder" -version = "1.4.3" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" @@ -265,36 +265,32 @@ checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" [[package]] name = "candid" -version = "0.9.11" +version = "0.10.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "465c1ce01d8089ee5b49ba20d3a9da15a28bba64c35cdff2aa256d37e319625d" +checksum = "dd5902d37352dffd8bd9177a2daa6444ce3cd0279c91763fb0171c053aa04335" dependencies = [ "anyhow", "binread", "byteorder", "candid_derive", - "codespan-reporting", - "crc32fast", - "data-encoding", "hex", + "ic_principal", "leb128", "num-bigint", "num-traits", - "num_enum", "paste", "pretty", "serde", "serde_bytes", - "sha2 0.10.6", "stacker", "thiserror", ] [[package]] name = "candid_derive" -version = "0.6.4" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "201ea498d901add0822653ac94cb0f8a92f9b1758a5273f4dafbb6673c9a5020" +checksum = "3de398570c386726e7a59d9887b68763c481477f9a043fb998a2e09d428df1a9" dependencies = [ "lazy_static", "proc-macro2", @@ -314,16 +310,6 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" -[[package]] -name = "codespan-reporting" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" -dependencies = [ - "termcolor", - "unicode-width", -] - [[package]] name = "concurrent-queue" version = "2.2.0" @@ -958,9 +944,9 @@ dependencies = [ [[package]] name = "ic-cdk" -version = "0.11.3" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c126ac20219abff15c3441282e9da6aa7244319d5a4a42c7260667237e790712" +checksum = "f8859bc2b863a77750acf199e1fb7e3fc403e1b475855ba13f59cb4e4036d238" dependencies = [ "candid", "ic-cdk-macros", @@ -971,9 +957,9 @@ dependencies = [ [[package]] name = "ic-cdk-macros" -version = "0.8.1" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b6295fd7389c198a97dd99b28b846e18487d99303077102d817eebbf6a924cd" +checksum = "a45800053d80a6df839a71aaea5797e723188c0b992618208ca3b941350c7355" dependencies = [ "candid", "proc-macro2", @@ -985,7 +971,7 @@ dependencies = [ [[package]] name = "ic-web3-rs" -version = "0.1.6" +version = "0.1.7" dependencies = [ "arrayvec 0.7.2", "async-std", @@ -1031,6 +1017,19 @@ version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a54b5297861c651551676e8c43df805dad175cc33bc97dbd992edbbb85dcbcdf" +[[package]] +name = "ic_principal" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1762deb6f7c8d8c2bdee4b6c5a47b60195b74e9b5280faa5ba29692f8e17429c" +dependencies = [ + "crc32fast", + "data-encoding", + "serde", + "sha2 0.10.6", + "thiserror", +] + [[package]] name = "ident_case" version = "1.0.1" @@ -1337,27 +1336,6 @@ dependencies = [ "libc", ] -[[package]] -name = "num_enum" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a015b430d3c108a207fd776d2e2196aaf8b1cf8cf93253e3a097ff3085076a1" -dependencies = [ - "num_enum_derive", -] - -[[package]] -name = "num_enum_derive" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96667db765a921f7b295ffee8b60472b686a51d4f21c2ee4ffdb94c7013b65a6" -dependencies = [ - "proc-macro-crate", - "proc-macro2", - "quote", - "syn 2.0.18", -] - [[package]] name = "once_cell" version = "1.18.0" diff --git a/Cargo.toml b/Cargo.toml index bcbb5d4..c60b996 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,13 +1,16 @@ [package] name = "ic-web3-rs" -version = "0.1.6" +version = "0.1.7" description = "Ethereum JSON-RPC client for IC canisters." homepage = "https://github.com/horizonx-tech/ic-web3" repository = "https://github.com/horizonx-tech/ic-web3" #documentation = "https://docs.rs/ic-web3" license = "MIT" keywords = ["dfinity", "icp", "web3", "ethereum", "rpc"] -authors = ["Tomasz Drwięga ", "Rocklabs , hide-yoshi"] +authors = [ + "Tomasz Drwięga ", + "Rocklabs , hide-yoshi", +] readme = "README.md" edition = "2018" @@ -29,9 +32,9 @@ serde_json = "1.0.39" tiny-keccak = { version = "2.0.1", features = ["keccak"] } pin-project = "1.0" # ic related -ic-cdk = "0.11.3" -ic-cdk-macros = "0.8.1" -candid = "0.9.6" +ic-cdk = "0.13.2" +ic-cdk-macros = "0.13.2" +candid = "^0.10.4" # Optional deps @@ -59,7 +62,9 @@ js-sys = { version = "0.3.45", optional = true } ### This is a transitive dependency, only here so we can turn on its wasm_bindgen feature rand = { version = "0.8.1", optional = true } getrandom = { version = "0.2", features = ["custom"] } -wasm-bindgen = { version = "0.2.68", optional = true, features = ["serde-serialize"] } +wasm-bindgen = { version = "0.2.68", optional = true, features = [ + "serde-serialize", +] } wasm-bindgen-futures = { version = "0.4.18", optional = true } derive_builder = "0.12.0" num-bigint = "0.4.4" diff --git a/src/transforms/transform.rs b/src/transforms/transform.rs index 7cf304c..f7c735b 100644 --- a/src/transforms/transform.rs +++ b/src/transforms/transform.rs @@ -1,3 +1,4 @@ +use candid::Nat; use derive_builder::Builder; use ic_cdk::api::management_canister::http_request::{HttpResponse, TransformArgs}; use serde_json::Value; @@ -19,7 +20,7 @@ pub trait TransformProcessor { status: raw.response.status.clone(), ..Default::default() }; - if res.status == 200 { + if res.status == Nat::from(200u8) { res.body = self.process_body(&raw.response.body); } else { ic_cdk::api::print(format!("Received an error from blockchain: err = {:?}", raw));