From a950d00f01a47d21ae24eada511dac7c0fa71bf1 Mon Sep 17 00:00:00 2001 From: Nikolas Haimerl Date: Tue, 25 Jul 2023 12:02:02 +0000 Subject: [PATCH 1/5] change: dependency structure --- Cargo.Bazel.lock | 130 +++++++++++++++++++++- Cargo.lock | 27 ++++- Cargo.toml | 2 + WORKSPACE.bazel | 2 + test/env/Cargo.toml | 6 - test/env/lib.rs | 236 +--------------------------------------- test/ref/BUILD.bazel | 2 + test/ref/test.rs | 6 +- test/runner/BUILD.bazel | 1 + test/runner/Cargo.toml | 1 + test/runner/main.rs | 2 +- 11 files changed, 168 insertions(+), 247 deletions(-) diff --git a/Cargo.Bazel.lock b/Cargo.Bazel.lock index bf8f5c23..40e3b3fc 100644 --- a/Cargo.Bazel.lock +++ b/Cargo.Bazel.lock @@ -1,5 +1,5 @@ { - "checksum": "d70ff2117bec3a349d65238680bd99ead9949d9f0d5a9af89fc05237cfe43e8f", + "checksum": "d0e87b3fba72d5f89c8792225240fb592642d6f3b26942fa2bd7c748e831cb0b", "crates": { "aho-corasick 0.7.18": { "name": "aho-corasick", @@ -4519,6 +4519,132 @@ } ], "library_target_name": "icrc1_test_env", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "anyhow 1.0.63", + "target": "anyhow" + }, + { + "id": "candid 0.8.4", + "target": "candid" + }, + { + "id": "serde 1.0.144", + "target": "serde" + } + ], + "selects": {} + }, + "edition": "2018", + "proc_macro_deps": { + "common": [ + { + "id": "async-trait 0.1.71", + "target": "async_trait" + } + ], + "selects": {} + }, + "version": "0.1.0" + }, + "license": null + }, + "icrc1-test-env-replica 0.1.0": { + "name": "icrc1-test-env-replica", + "version": "0.1.0", + "repository": null, + "targets": [ + { + "Library": { + "crate_name": "icrc1_test_env_replica", + "crate_root": "lib.rs", + "srcs": [ + "**/*.rs" + ] + } + } + ], + "library_target_name": "icrc1_test_env_replica", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "anyhow 1.0.63", + "target": "anyhow" + }, + { + "id": "candid 0.8.4", + "target": "candid" + }, + { + "id": "garcon 0.2.3", + "target": "garcon" + }, + { + "id": "hex 0.4.3", + "target": "hex" + }, + { + "id": "ic-agent 0.22.0", + "target": "ic_agent" + }, + { + "id": "ic-test-state-machine-client 2.2.1", + "target": "ic_test_state_machine_client" + }, + { + "id": "rand 0.8.5", + "target": "rand" + }, + { + "id": "ring 0.16.20", + "target": "ring" + }, + { + "id": "serde 1.0.144", + "target": "serde" + } + ], + "selects": {} + }, + "edition": "2018", + "proc_macro_deps": { + "common": [ + { + "id": "async-trait 0.1.71", + "target": "async_trait" + } + ], + "selects": {} + }, + "version": "0.1.0" + }, + "license": null + }, + "icrc1-test-env-state-machine 0.1.0": { + "name": "icrc1-test-env-state-machine", + "version": "0.1.0", + "repository": null, + "targets": [ + { + "Library": { + "crate_name": "icrc1_test_env_state_machine", + "crate_root": "lib.rs", + "srcs": [ + "**/*.rs" + ] + } + } + ], + "library_target_name": "icrc1_test_env_state_machine", "common_attrs": { "compile_data_glob": [ "**" @@ -12570,6 +12696,8 @@ "binary_crates": [], "workspace_members": { "icrc1-test-env 0.1.0": "test/env", + "icrc1-test-env-replica 0.1.0": "test/env/replica", + "icrc1-test-env-state-machine 0.1.0": "test/env/state-machine", "icrc1-test-replica 0.1.0": "test/replica", "icrc1-test-runner 0.1.0": "test/runner", "icrc1-test-suite 0.1.0": "test/suite" diff --git a/Cargo.lock b/Cargo.lock index 3efaae25..741bc254 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -890,14 +890,38 @@ checksum = "576c539151d4769fb4d1a0c25c4108dd18facd04c5695b02cf2d226ab4e43aa5" [[package]] name = "icrc1-test-env" version = "0.1.0" +dependencies = [ + "anyhow", + "async-trait", + "candid", + "serde", +] + +[[package]] +name = "icrc1-test-env-replica" +version = "0.1.0" dependencies = [ "anyhow", "async-trait", "candid", "garcon", - "hex", + "ic-agent", + "icrc1-test-env", + "rand", + "ring", + "serde", +] + +[[package]] +name = "icrc1-test-env-state-machine" +version = "0.1.0" +dependencies = [ + "anyhow", + "async-trait", + "candid", "ic-agent", "ic-test-state-machine-client", + "icrc1-test-env", "rand", "ring", "serde", @@ -922,6 +946,7 @@ dependencies = [ "candid", "ic-agent", "icrc1-test-env", + "icrc1-test-env-replica", "icrc1-test-suite", "pico-args 0.5.0", "reqwest", diff --git a/Cargo.toml b/Cargo.toml index 8b8063bb..9a52e456 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,6 +2,8 @@ members = [ "test/env", + "test/env/state-machine", + "test/env/replica", "test/suite", "test/runner", "test/replica", diff --git a/WORKSPACE.bazel b/WORKSPACE.bazel index 059c43ea..86ef3ae3 100644 --- a/WORKSPACE.bazel +++ b/WORKSPACE.bazel @@ -86,6 +86,8 @@ crates_repository( manifests = [ "//:Cargo.toml", "//test/env:Cargo.toml", + "//test/env/replica:Cargo.toml", + "//test/env/state-machine:Cargo.toml", "//test/suite:Cargo.toml", "//test/runner:Cargo.toml", "//test/replica:Cargo.toml", diff --git a/test/env/Cargo.toml b/test/env/Cargo.toml index 093b5b32..15ee0019 100644 --- a/test/env/Cargo.toml +++ b/test/env/Cargo.toml @@ -9,11 +9,5 @@ path = "lib.rs" [dependencies] anyhow = "1.0" candid = "0.8" -garcon = "0.2.3" -hex = "0.4" -ic-agent = "0.22.0" -rand = "0.8.5" -ring = "0.16.20" serde = "1" async-trait = "0.1.71" -ic-test-state-machine-client = "2.2.1" \ No newline at end of file diff --git a/test/env/lib.rs b/test/env/lib.rs index baf1b85a..544882f7 100644 --- a/test/env/lib.rs +++ b/test/env/lib.rs @@ -1,17 +1,9 @@ -use anyhow::Context; use async_trait::async_trait; -use candid::utils::{decode_args, encode_args, ArgumentDecoder, ArgumentEncoder}; +use candid::utils::{ArgumentDecoder, ArgumentEncoder}; use candid::Principal; use candid::{CandidType, Int, Nat}; -use ic_agent::identity::BasicIdentity; -use ic_agent::Agent; -use ic_agent::Identity; -use ic_test_state_machine_client::StateMachine; -use ring::rand::SystemRandom; use serde::Deserialize; use std::fmt; -use std::sync::{Arc, Mutex}; -use std::time::Duration; pub type Subaccount = [u8; 32]; @@ -106,17 +98,6 @@ pub struct Transfer { memo: Option>, } -pub fn fresh_identity(rand: &SystemRandom) -> BasicIdentity { - use ring::signature::Ed25519KeyPair as KeyPair; - - let doc = KeyPair::generate_pkcs8(rand).expect("failed to generate an ed25519 key pair"); - - let key_pair = KeyPair::from_pkcs8(doc.as_ref()) - .expect("failed to construct a key pair from a pkcs8 document"); - - BasicIdentity::from_key_pair(key_pair) -} - impl Transfer { pub fn amount_to(amount: impl Into, to: impl Into) -> Self { Self { @@ -164,221 +145,6 @@ pub trait LedgerEnv { Output: for<'a> ArgumentDecoder<'a>; } -#[derive(Clone)] -pub struct ReplicaLedger { - rand: Arc>, - agent: Arc, - canister_id: Principal, -} - -fn waiter() -> garcon::Delay { - garcon::Delay::builder() - .throttle(Duration::from_millis(500)) - .timeout(Duration::from_secs(60 * 5)) - .build() -} - -#[async_trait(?Send)] -impl LedgerEnv for ReplicaLedger { - fn fork(&self) -> Self { - let mut agent = Arc::clone(&self.agent); - Arc::make_mut(&mut agent).set_identity({ - let r = self.rand.lock().expect("failed to grab a lock"); - fresh_identity(&r) - }); - Self { - rand: Arc::clone(&self.rand), - agent, - canister_id: self.canister_id, - } - } - fn principal(&self) -> Principal { - self.agent - .get_principal() - .expect("failed to get agent principal") - } - - async fn query(&self, method: &str, input: Input) -> anyhow::Result - where - Input: ArgumentEncoder + std::fmt::Debug, - Output: for<'a> ArgumentDecoder<'a>, - { - let debug_inputs = format!("{:?}", input); - let in_bytes = encode_args(input) - .with_context(|| format!("Failed to encode arguments {}", debug_inputs))?; - let bytes = self - .agent - .query(&self.canister_id, method) - .with_arg(in_bytes) - .call() - .await - .with_context(|| { - format!( - "failed to call method {} on {} with args {}", - method, self.canister_id, debug_inputs - ) - })?; - - decode_args(&bytes).with_context(|| { - format!( - "Failed to decode method {} response into type {}, bytes: {}", - method, - std::any::type_name::(), - hex::encode(bytes) - ) - }) - } - - async fn update(&self, method: &str, input: Input) -> anyhow::Result - where - Input: ArgumentEncoder + std::fmt::Debug, - Output: for<'a> ArgumentDecoder<'a>, - { - let debug_inputs = format!("{:?}", input); - let in_bytes = encode_args(input) - .with_context(|| format!("Failed to encode arguments {}", debug_inputs))?; - let bytes = self - .agent - .update(&self.canister_id, method) - .with_arg(in_bytes) - .call_and_wait(waiter()) - .await - .with_context(|| { - format!( - "failed to call method {} on {} with args {}", - method, self.canister_id, debug_inputs - ) - })?; - - decode_args(&bytes).with_context(|| { - format!( - "Failed to decode method {} response into type {}, bytes: {}", - method, - std::any::type_name::(), - hex::encode(bytes) - ) - }) - } -} - -impl ReplicaLedger { - pub fn new(agent: Agent, canister_id: Principal) -> Self { - Self { - rand: Arc::new(Mutex::new(SystemRandom::new())), - agent: Arc::new(agent), - canister_id, - } - } -} - -#[derive(Clone)] -pub struct SMLedger { - rand: Arc>, - sm: Arc, - sender: Principal, - canister_id: Principal, -} - -#[async_trait(?Send)] -impl LedgerEnv for SMLedger { - fn fork(&self) -> Self { - Self { - rand: self.rand.clone(), - sm: self.sm.clone(), - sender: fresh_identity(&self.rand.lock().expect("failed to grab a lock")) - .sender() - .unwrap(), - canister_id: self.canister_id, - } - } - fn principal(&self) -> Principal { - self.sender - } - - async fn query(&self, method: &str, input: Input) -> anyhow::Result - where - Input: ArgumentEncoder + std::fmt::Debug, - Output: for<'a> ArgumentDecoder<'a>, - { - let debug_inputs = format!("{:?}", input); - let in_bytes = encode_args(input) - .with_context(|| format!("Failed to encode arguments {}", debug_inputs))?; - match self - .sm - .query_call( - Principal::from_slice(self.canister_id.as_slice()), - Principal::from_slice(self.sender.as_slice()), - method, - in_bytes, - ) - .map_err(|err| anyhow::Error::msg(err.to_string()))? - { - ic_test_state_machine_client::WasmResult::Reply(bytes) => decode_args(&bytes) - .with_context(|| { - format!( - "Failed to decode method {} response into type {}, bytes: {}", - method, - std::any::type_name::(), - hex::encode(bytes) - ) - }), - ic_test_state_machine_client::WasmResult::Reject(msg) => { - return Err(anyhow::Error::msg(format!( - "Query call to ledger {:?} was rejected: {}", - self.canister_id, msg - ))) - } - } - } - - async fn update(&self, method: &str, input: Input) -> anyhow::Result - where - Input: ArgumentEncoder + std::fmt::Debug, - Output: for<'a> ArgumentDecoder<'a>, - { - let debug_inputs = format!("{:?}", input); - let in_bytes = encode_args(input) - .with_context(|| format!("Failed to encode arguments {}", debug_inputs))?; - match self - .sm - .update_call( - Principal::from_slice(self.canister_id.as_slice()), - Principal::from_slice(self.sender.as_slice()), - method, - in_bytes, - ) - .map_err(|err| anyhow::Error::msg(err.to_string()))? - { - ic_test_state_machine_client::WasmResult::Reply(bytes) => decode_args(&bytes) - .with_context(|| { - format!( - "Failed to decode method {} response into type {}, bytes: {}", - method, - std::any::type_name::(), - hex::encode(bytes) - ) - }), - ic_test_state_machine_client::WasmResult::Reject(msg) => { - return Err(anyhow::Error::msg(format!( - "Query call to ledger {:?} was rejected: {}", - self.canister_id, msg - ))) - } - } - } -} - -impl SMLedger { - pub fn new(sm: Arc, canister_id: Principal, sender: Principal) -> Self { - Self { - rand: Arc::new(Mutex::new(SystemRandom::new())), - sm, - canister_id, - sender, - } - } -} - pub mod icrc1 { use crate::{Account, LedgerEnv, SupportedStandard, Transfer, TransferError, Value}; use candid::Nat; diff --git a/test/ref/BUILD.bazel b/test/ref/BUILD.bazel index 8bca6d7e..eb100368 100644 --- a/test/ref/BUILD.bazel +++ b/test/ref/BUILD.bazel @@ -37,6 +37,8 @@ rust_test( use_libtest_harness = False, deps = [ "//test/env", + "//test/env/replica", + "//test/env/state-machine", "//test/replica", "//test/suite", "@crate_index//:candid", diff --git a/test/ref/test.rs b/test/ref/test.rs index c4b83476..f57651a4 100644 --- a/test/ref/test.rs +++ b/test/ref/test.rs @@ -3,9 +3,9 @@ use candid::{CandidType, Decode, Encode, Nat}; use ic_agent::Agent; use ic_agent::Identity; use ic_test_state_machine_client::StateMachine; -use icrc1_test_env::fresh_identity; -use icrc1_test_env::ReplicaLedger; -use icrc1_test_env::SMLedger; +use icrc1_test_env_replica::fresh_identity; +use icrc1_test_env_replica::ReplicaLedger; +use icrc1_test_env_state_machine::SMLedger; use icrc1_test_replica::start_replica; use ring::rand::SystemRandom; use serde::{Deserialize, Serialize}; diff --git a/test/runner/BUILD.bazel b/test/runner/BUILD.bazel index 2949c300..218503f9 100644 --- a/test/runner/BUILD.bazel +++ b/test/runner/BUILD.bazel @@ -13,6 +13,7 @@ rust_binary( normal = True, ) + [ "//test/env", + "//test/env/replica", "//test/suite", "@crate_index//:candid", ], diff --git a/test/runner/Cargo.toml b/test/runner/Cargo.toml index 098837cf..7bacf3af 100644 --- a/test/runner/Cargo.toml +++ b/test/runner/Cargo.toml @@ -9,6 +9,7 @@ path = "main.rs" [dependencies] icrc1-test-env = { path = "../env" } +icrc1-test-env-replica = { path = "../env/replica" } icrc1-test-suite = { path = "../suite" } ic-agent = "0.22.0" pico-args = "0.5" diff --git a/test/runner/main.rs b/test/runner/main.rs index 57b660ff..a6e9d44f 100644 --- a/test/runner/main.rs +++ b/test/runner/main.rs @@ -2,7 +2,7 @@ use candid::Principal; use ic_agent::agent::http_transport::ReqwestHttpReplicaV2Transport; use ic_agent::identity::BasicIdentity; use ic_agent::Agent; -use icrc1_test_env::ReplicaLedger; +use icrc1_test_env_replica::ReplicaLedger; use pico_args::Arguments; use std::path::PathBuf; use std::sync::Arc; From ba6a149d76390ea806f6c87208a9eecf4ed0a550 Mon Sep 17 00:00:00 2001 From: Nikolas Haimerl Date: Tue, 25 Jul 2023 12:08:37 +0000 Subject: [PATCH 2/5] add: dependencies --- test/env/replica/BUILD.bazel | 21 +++++ test/env/replica/Cargo.toml | 18 ++++ test/env/replica/lib.rs | 127 +++++++++++++++++++++++++++++ test/env/state-machine/BUILD.bazel | 21 +++++ test/env/state-machine/Cargo.toml | 18 ++++ test/env/state-machine/lib.rs | 121 +++++++++++++++++++++++++++ 6 files changed, 326 insertions(+) create mode 100644 test/env/replica/BUILD.bazel create mode 100644 test/env/replica/Cargo.toml create mode 100644 test/env/replica/lib.rs create mode 100644 test/env/state-machine/BUILD.bazel create mode 100644 test/env/state-machine/Cargo.toml create mode 100644 test/env/state-machine/lib.rs diff --git a/test/env/replica/BUILD.bazel b/test/env/replica/BUILD.bazel new file mode 100644 index 00000000..0f26b02f --- /dev/null +++ b/test/env/replica/BUILD.bazel @@ -0,0 +1,21 @@ +load("@crate_index//:defs.bzl", "all_crate_deps") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +exports_files(["Cargo.toml"]) + +MACRO_DEPENDENCIES = [ + "@crate_index//:async-trait", +] + +rust_library( + name = "replica", + srcs = ["lib.rs"], + crate_name = "icrc1_test_env_replica", + deps = all_crate_deps( + normal = True, + )+ [ "//test/env", +], + proc_macro_deps = MACRO_DEPENDENCIES, +) diff --git a/test/env/replica/Cargo.toml b/test/env/replica/Cargo.toml new file mode 100644 index 00000000..f5288345 --- /dev/null +++ b/test/env/replica/Cargo.toml @@ -0,0 +1,18 @@ +[package] +name = "icrc1-test-env-replica" +edition = "2018" +version = "0.1.0" + +[lib] +path = "lib.rs" + +[dependencies] +anyhow = "1.0" +candid = "0.8" +garcon = "0.2.3" +ic-agent = "0.22.0" +rand = "0.8.5" +ring = "0.16.20" +serde = "1" +async-trait = "0.1.71" +icrc1-test-env = { path = "../" } diff --git a/test/env/replica/lib.rs b/test/env/replica/lib.rs new file mode 100644 index 00000000..76fb1b29 --- /dev/null +++ b/test/env/replica/lib.rs @@ -0,0 +1,127 @@ +use anyhow::Context; +use async_trait::async_trait; +use candid::utils::{decode_args, encode_args, ArgumentDecoder, ArgumentEncoder}; +use candid::Principal; +use ic_agent::identity::BasicIdentity; +use ic_agent::Agent; +use icrc1_test_env::LedgerEnv; +use ring::rand::SystemRandom; +use std::sync::{Arc, Mutex}; +use std::time::Duration; + +pub fn fresh_identity(rand: &SystemRandom) -> BasicIdentity { + use ring::signature::Ed25519KeyPair as KeyPair; + + let doc = KeyPair::generate_pkcs8(rand).expect("failed to generate an ed25519 key pair"); + + let key_pair = KeyPair::from_pkcs8(doc.as_ref()) + .expect("failed to construct a key pair from a pkcs8 document"); + BasicIdentity::from_key_pair(key_pair) +} + +#[derive(Clone)] +pub struct ReplicaLedger { + rand: Arc>, + agent: Arc, + canister_id: Principal, +} + +fn waiter() -> garcon::Delay { + garcon::Delay::builder() + .throttle(Duration::from_millis(500)) + .timeout(Duration::from_secs(60 * 5)) + .build() +} + +#[async_trait(?Send)] +impl LedgerEnv for ReplicaLedger { + fn fork(&self) -> Self { + let mut agent = Arc::clone(&self.agent); + Arc::make_mut(&mut agent).set_identity({ + let r = self.rand.lock().expect("failed to grab a lock"); + fresh_identity(&r) + }); + Self { + rand: Arc::clone(&self.rand), + agent, + canister_id: self.canister_id, + } + } + fn principal(&self) -> Principal { + self.agent + .get_principal() + .expect("failed to get agent principal") + } + + async fn query(&self, method: &str, input: Input) -> anyhow::Result + where + Input: ArgumentEncoder + std::fmt::Debug, + Output: for<'a> ArgumentDecoder<'a>, + { + let debug_inputs = format!("{:?}", input); + let in_bytes = encode_args(input) + .with_context(|| format!("Failed to encode arguments {}", debug_inputs))?; + let bytes = self + .agent + .query(&self.canister_id, method) + .with_arg(in_bytes) + .call() + .await + .with_context(|| { + format!( + "failed to call method {} on {} with args {}", + method, self.canister_id, debug_inputs + ) + })?; + + decode_args(&bytes).with_context(|| { + format!( + "Failed to decode method {} response into type {}, bytes: {}", + method, + std::any::type_name::(), + hex::encode(bytes) + ) + }) + } + + async fn update(&self, method: &str, input: Input) -> anyhow::Result + where + Input: ArgumentEncoder + std::fmt::Debug, + Output: for<'a> ArgumentDecoder<'a>, + { + let debug_inputs = format!("{:?}", input); + let in_bytes = encode_args(input) + .with_context(|| format!("Failed to encode arguments {}", debug_inputs))?; + let bytes = self + .agent + .update(&self.canister_id, method) + .with_arg(in_bytes) + .call_and_wait(waiter()) + .await + .with_context(|| { + format!( + "failed to call method {} on {} with args {}", + method, self.canister_id, debug_inputs + ) + })?; + + decode_args(&bytes).with_context(|| { + format!( + "Failed to decode method {} response into type {}, bytes: {}", + method, + std::any::type_name::(), + hex::encode(bytes) + ) + }) + } +} + +impl ReplicaLedger { + pub fn new(agent: Agent, canister_id: Principal) -> Self { + Self { + rand: Arc::new(Mutex::new(SystemRandom::new())), + agent: Arc::new(agent), + canister_id, + } + } +} diff --git a/test/env/state-machine/BUILD.bazel b/test/env/state-machine/BUILD.bazel new file mode 100644 index 00000000..84cf5e2c --- /dev/null +++ b/test/env/state-machine/BUILD.bazel @@ -0,0 +1,21 @@ +load("@crate_index//:defs.bzl", "all_crate_deps") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +exports_files(["Cargo.toml"]) + +MACRO_DEPENDENCIES = [ + "@crate_index//:async-trait", +] + +rust_library( + name = "state-machine", + srcs = ["lib.rs"], + crate_name = "icrc1_test_env_state_machine", + deps = all_crate_deps( + normal = True, + ) + [ "//test/env", +], + proc_macro_deps = MACRO_DEPENDENCIES, +) diff --git a/test/env/state-machine/Cargo.toml b/test/env/state-machine/Cargo.toml new file mode 100644 index 00000000..9e6e46ca --- /dev/null +++ b/test/env/state-machine/Cargo.toml @@ -0,0 +1,18 @@ +[package] +name = "icrc1-test-env-state-machine" +edition = "2018" +version = "0.1.0" + +[lib] +path = "lib.rs" + +[dependencies] +anyhow = "1.0" +candid = "0.8" +ic-agent = "0.22.0" +rand = "0.8.5" +ring = "0.16.20" +serde = "1" +async-trait = "0.1.71" +ic-test-state-machine-client = "2.2.1" +icrc1-test-env = { path = "../" } diff --git a/test/env/state-machine/lib.rs b/test/env/state-machine/lib.rs new file mode 100644 index 00000000..2af29479 --- /dev/null +++ b/test/env/state-machine/lib.rs @@ -0,0 +1,121 @@ +use anyhow::Context; +use async_trait::async_trait; +use candid::utils::{decode_args, encode_args, ArgumentDecoder, ArgumentEncoder}; +use candid::Principal; +use ic_test_state_machine_client::StateMachine; +use icrc1_test_env::LedgerEnv; +use ring::rand::SystemRandom; +use std::sync::{Arc, Mutex}; + +fn new_principal(rand: &SystemRandom) -> Principal { + use ring::signature::Ed25519KeyPair as KeyPair; + + let doc = KeyPair::generate_pkcs8(rand).expect("failed to generate an ed25519 key pair"); + Principal::self_authenticating(doc.as_ref()) +} + +#[derive(Clone)] +pub struct SMLedger { + rand: Arc>, + sm: Arc, + sender: Principal, + canister_id: Principal, +} + +#[async_trait(?Send)] +impl LedgerEnv for SMLedger { + fn fork(&self) -> Self { + Self { + rand: self.rand.clone(), + sm: self.sm.clone(), + sender: new_principal(&self.rand.lock().expect("failed to grab a lock")), + canister_id: self.canister_id, + } + } + fn principal(&self) -> Principal { + self.sender + } + + async fn query(&self, method: &str, input: Input) -> anyhow::Result + where + Input: ArgumentEncoder + std::fmt::Debug, + Output: for<'a> ArgumentDecoder<'a>, + { + let debug_inputs = format!("{:?}", input); + let in_bytes = encode_args(input) + .with_context(|| format!("Failed to encode arguments {}", debug_inputs))?; + match self + .sm + .query_call( + Principal::from_slice(self.canister_id.as_slice()), + Principal::from_slice(self.sender.as_slice()), + method, + in_bytes, + ) + .map_err(|err| anyhow::Error::msg(err.to_string()))? + { + ic_test_state_machine_client::WasmResult::Reply(bytes) => decode_args(&bytes) + .with_context(|| { + format!( + "Failed to decode method {} response into type {}, bytes: {}", + method, + std::any::type_name::(), + hex::encode(bytes) + ) + }), + ic_test_state_machine_client::WasmResult::Reject(msg) => { + return Err(anyhow::Error::msg(format!( + "Query call to ledger {:?} was rejected: {}", + self.canister_id, msg + ))) + } + } + } + + async fn update(&self, method: &str, input: Input) -> anyhow::Result + where + Input: ArgumentEncoder + std::fmt::Debug, + Output: for<'a> ArgumentDecoder<'a>, + { + let debug_inputs = format!("{:?}", input); + let in_bytes = encode_args(input) + .with_context(|| format!("Failed to encode arguments {}", debug_inputs))?; + match self + .sm + .update_call( + Principal::from_slice(self.canister_id.as_slice()), + Principal::from_slice(self.sender.as_slice()), + method, + in_bytes, + ) + .map_err(|err| anyhow::Error::msg(err.to_string()))? + { + ic_test_state_machine_client::WasmResult::Reply(bytes) => decode_args(&bytes) + .with_context(|| { + format!( + "Failed to decode method {} response into type {}, bytes: {}", + method, + std::any::type_name::(), + hex::encode(bytes) + ) + }), + ic_test_state_machine_client::WasmResult::Reject(msg) => { + return Err(anyhow::Error::msg(format!( + "Query call to ledger {:?} was rejected: {}", + self.canister_id, msg + ))) + } + } + } +} + +impl SMLedger { + pub fn new(sm: Arc, canister_id: Principal, sender: Principal) -> Self { + Self { + rand: Arc::new(Mutex::new(SystemRandom::new())), + sm, + canister_id, + sender, + } + } +} From 6f6b11a655afc09bb3e17831a0fc51207ddcce4d Mon Sep 17 00:00:00 2001 From: Nikolas Haimerl Date: Tue, 25 Jul 2023 12:13:30 +0000 Subject: [PATCH 3/5] fmt --- Cargo.Bazel.lock | 22 +--------------------- Cargo.lock | 5 ++--- test/env/replica/Cargo.toml | 2 +- test/env/state-machine/Cargo.toml | 3 +-- 4 files changed, 5 insertions(+), 27 deletions(-) diff --git a/Cargo.Bazel.lock b/Cargo.Bazel.lock index 40e3b3fc..167aaf20 100644 --- a/Cargo.Bazel.lock +++ b/Cargo.Bazel.lock @@ -1,5 +1,5 @@ { - "checksum": "d0e87b3fba72d5f89c8792225240fb592642d6f3b26942fa2bd7c748e831cb0b", + "checksum": "9c3d82812fbd47b477ddb03bbc46448707b03e701b3f97a3765e3e4808fd5644", "crates": { "aho-corasick 0.7.18": { "name": "aho-corasick", @@ -4596,10 +4596,6 @@ "id": "ic-agent 0.22.0", "target": "ic_agent" }, - { - "id": "ic-test-state-machine-client 2.2.1", - "target": "ic_test_state_machine_client" - }, { "id": "rand 0.8.5", "target": "rand" @@ -4607,10 +4603,6 @@ { "id": "ring 0.16.20", "target": "ring" - }, - { - "id": "serde 1.0.144", - "target": "serde" } ], "selects": {} @@ -4659,18 +4651,10 @@ "id": "candid 0.8.4", "target": "candid" }, - { - "id": "garcon 0.2.3", - "target": "garcon" - }, { "id": "hex 0.4.3", "target": "hex" }, - { - "id": "ic-agent 0.22.0", - "target": "ic_agent" - }, { "id": "ic-test-state-machine-client 2.2.1", "target": "ic_test_state_machine_client" @@ -4682,10 +4666,6 @@ { "id": "ring 0.16.20", "target": "ring" - }, - { - "id": "serde 1.0.144", - "target": "serde" } ], "selects": {} diff --git a/Cargo.lock b/Cargo.lock index 741bc254..e537ef41 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -905,11 +905,11 @@ dependencies = [ "async-trait", "candid", "garcon", + "hex", "ic-agent", "icrc1-test-env", "rand", "ring", - "serde", ] [[package]] @@ -919,12 +919,11 @@ dependencies = [ "anyhow", "async-trait", "candid", - "ic-agent", + "hex", "ic-test-state-machine-client", "icrc1-test-env", "rand", "ring", - "serde", ] [[package]] diff --git a/test/env/replica/Cargo.toml b/test/env/replica/Cargo.toml index f5288345..4682998d 100644 --- a/test/env/replica/Cargo.toml +++ b/test/env/replica/Cargo.toml @@ -13,6 +13,6 @@ garcon = "0.2.3" ic-agent = "0.22.0" rand = "0.8.5" ring = "0.16.20" -serde = "1" +hex = "0.4.3" async-trait = "0.1.71" icrc1-test-env = { path = "../" } diff --git a/test/env/state-machine/Cargo.toml b/test/env/state-machine/Cargo.toml index 9e6e46ca..ed6af696 100644 --- a/test/env/state-machine/Cargo.toml +++ b/test/env/state-machine/Cargo.toml @@ -9,10 +9,9 @@ path = "lib.rs" [dependencies] anyhow = "1.0" candid = "0.8" -ic-agent = "0.22.0" rand = "0.8.5" ring = "0.16.20" -serde = "1" async-trait = "0.1.71" +hex = "0.4.3" ic-test-state-machine-client = "2.2.1" icrc1-test-env = { path = "../" } From 4f3977331ce34560205bf5e656124fa810c79f03 Mon Sep 17 00:00:00 2001 From: Nikolas Haimerl Date: Tue, 25 Jul 2023 20:05:18 +0000 Subject: [PATCH 4/5] resolved MR threads --- Cargo.Bazel.lock | 6 +----- Cargo.lock | 1 - test/env/state-machine/Cargo.toml | 3 +-- test/env/state-machine/lib.rs | 35 ++++++++++++++++--------------- 4 files changed, 20 insertions(+), 25 deletions(-) diff --git a/Cargo.Bazel.lock b/Cargo.Bazel.lock index 167aaf20..43fdce23 100644 --- a/Cargo.Bazel.lock +++ b/Cargo.Bazel.lock @@ -1,5 +1,5 @@ { - "checksum": "9c3d82812fbd47b477ddb03bbc46448707b03e701b3f97a3765e3e4808fd5644", + "checksum": "e9b505942bd0fd018fb6531adc4901e64922474842ae726ff7ddcfd6e647cbbd", "crates": { "aho-corasick 0.7.18": { "name": "aho-corasick", @@ -4662,10 +4662,6 @@ { "id": "rand 0.8.5", "target": "rand" - }, - { - "id": "ring 0.16.20", - "target": "ring" } ], "selects": {} diff --git a/Cargo.lock b/Cargo.lock index e537ef41..2f907351 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -923,7 +923,6 @@ dependencies = [ "ic-test-state-machine-client", "icrc1-test-env", "rand", - "ring", ] [[package]] diff --git a/test/env/state-machine/Cargo.toml b/test/env/state-machine/Cargo.toml index ed6af696..d49f48ea 100644 --- a/test/env/state-machine/Cargo.toml +++ b/test/env/state-machine/Cargo.toml @@ -10,8 +10,7 @@ path = "lib.rs" anyhow = "1.0" candid = "0.8" rand = "0.8.5" -ring = "0.16.20" async-trait = "0.1.71" hex = "0.4.3" ic-test-state-machine-client = "2.2.1" -icrc1-test-env = { path = "../" } +icrc1-test-env = { version = "0.1.0", path = "../" } \ No newline at end of file diff --git a/test/env/state-machine/lib.rs b/test/env/state-machine/lib.rs index 2af29479..aa7c5b28 100644 --- a/test/env/state-machine/lib.rs +++ b/test/env/state-machine/lib.rs @@ -4,19 +4,20 @@ use candid::utils::{decode_args, encode_args, ArgumentDecoder, ArgumentEncoder}; use candid::Principal; use ic_test_state_machine_client::StateMachine; use icrc1_test_env::LedgerEnv; -use ring::rand::SystemRandom; +use rand::rngs::ThreadRng; +use rand::Rng; use std::sync::{Arc, Mutex}; -fn new_principal(rand: &SystemRandom) -> Principal { - use ring::signature::Ed25519KeyPair as KeyPair; - - let doc = KeyPair::generate_pkcs8(rand).expect("failed to generate an ed25519 key pair"); - Principal::self_authenticating(doc.as_ref()) +fn new_principal(n: u64) -> Principal { + let mut bytes = n.to_le_bytes().to_vec(); + bytes.push(0xfe); + bytes.push(0x01); + Principal::try_from_slice(&bytes[..]).unwrap() } #[derive(Clone)] pub struct SMLedger { - rand: Arc>, + rand: Arc>, sm: Arc, sender: Principal, canister_id: Principal, @@ -28,7 +29,7 @@ impl LedgerEnv for SMLedger { Self { rand: self.rand.clone(), sm: self.sm.clone(), - sender: new_principal(&self.rand.lock().expect("failed to grab a lock")), + sender: new_principal(self.rand.lock().expect("failed to grab a lock").gen()), canister_id: self.canister_id, } } @@ -82,14 +83,14 @@ impl LedgerEnv for SMLedger { .with_context(|| format!("Failed to encode arguments {}", debug_inputs))?; match self .sm - .update_call( - Principal::from_slice(self.canister_id.as_slice()), - Principal::from_slice(self.sender.as_slice()), - method, - in_bytes, - ) - .map_err(|err| anyhow::Error::msg(err.to_string()))? - { + .update_call(self.canister_id, self.sender, method, in_bytes) + .map_err(|err| anyhow::Error::msg(err.to_string())) + .with_context(|| { + format!( + "failed to execute update call {} on canister {}", + method, self.canister_id + ) + })? { ic_test_state_machine_client::WasmResult::Reply(bytes) => decode_args(&bytes) .with_context(|| { format!( @@ -112,7 +113,7 @@ impl LedgerEnv for SMLedger { impl SMLedger { pub fn new(sm: Arc, canister_id: Principal, sender: Principal) -> Self { Self { - rand: Arc::new(Mutex::new(SystemRandom::new())), + rand: Arc::new(Mutex::new(rand::thread_rng())), sm, canister_id, sender, From f512d6b4755af23661733e9ec11c25957d171cea Mon Sep 17 00:00:00 2001 From: Roman Kashitsyn Date: Wed, 26 Jul 2023 11:22:23 +0200 Subject: [PATCH 5/5] cleanup deps & the bazel build --- Cargo.Bazel.lock | 4093 +++++++++++++++++++---------- Cargo.lock | 412 ++- Cargo.toml | 16 +- WORKSPACE.bazel | 6 +- bazel/replica_tools.bzl | 126 +- rust-toolchain.toml | 2 +- test/env/Cargo.toml | 8 +- test/env/replica/Cargo.toml | 17 +- test/env/replica/lib.rs | 10 +- test/env/state-machine/Cargo.toml | 11 +- test/env/state-machine/lib.rs | 13 +- test/ref/BUILD.bazel | 11 +- test/ref/test.rs | 10 +- test/replica/Cargo.toml | 9 +- test/replica/lib.rs | 4 +- test/runner/Cargo.toml | 10 +- test/suite/lib.rs | 2 - 17 files changed, 3156 insertions(+), 1604 deletions(-) diff --git a/Cargo.Bazel.lock b/Cargo.Bazel.lock index 43fdce23..cb1e83d8 100644 --- a/Cargo.Bazel.lock +++ b/Cargo.Bazel.lock @@ -1,6 +1,75 @@ { - "checksum": "e9b505942bd0fd018fb6531adc4901e64922474842ae726ff7ddcfd6e647cbbd", + "checksum": "a753f7cbb6ab399f13aad5f1595dd67aa1ffd783186e008e21135123fcf9d4d7", "crates": { + "addr2line 0.20.0": { + "name": "addr2line", + "version": "0.20.0", + "repository": { + "Http": { + "url": "https://crates.io/api/v1/crates/addr2line/0.20.0/download", + "sha256": "f4fa78e18c64fce05e902adecd7a5eed15a5e0a3439f7b0e169f0252214865e3" + } + }, + "targets": [ + { + "Library": { + "crate_name": "addr2line", + "crate_root": "src/lib.rs", + "srcs": [ + "**/*.rs" + ] + } + } + ], + "library_target_name": "addr2line", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "gimli 0.27.3", + "target": "gimli" + } + ], + "selects": {} + }, + "edition": "2018", + "version": "0.20.0" + }, + "license": "Apache-2.0 OR MIT" + }, + "adler 1.0.2": { + "name": "adler", + "version": "1.0.2", + "repository": { + "Http": { + "url": "https://crates.io/api/v1/crates/adler/1.0.2/download", + "sha256": "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + } + }, + "targets": [ + { + "Library": { + "crate_name": "adler", + "crate_root": "src/lib.rs", + "srcs": [ + "**/*.rs" + ] + } + } + ], + "library_target_name": "adler", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "edition": "2015", + "version": "1.0.2" + }, + "license": "0BSD OR MIT OR Apache-2.0" + }, "aho-corasick 0.7.18": { "name": "aho-corasick", "version": "0.7.18", @@ -26,10 +95,13 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "default", - "std" - ], + "crate_features": { + "common": [ + "default", + "std" + ], + "selects": {} + }, "deps": { "common": [ { @@ -78,10 +150,13 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "default", - "std" - ], + "crate_features": { + "common": [ + "default", + "std" + ], + "selects": {} + }, "deps": { "common": [ { @@ -126,10 +201,13 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "default", - "std" - ], + "crate_features": { + "common": [ + "default", + "std" + ], + "selects": {} + }, "edition": "2018", "version": "0.5.2" }, @@ -275,7 +353,7 @@ ], "cfg(unix)": [ { - "id": "libc 0.2.132", + "id": "libc 0.2.147", "target": "libc" } ], @@ -322,13 +400,152 @@ }, "license": "Apache-2.0 OR MIT" }, - "base16ct 0.1.1": { + "backoff 0.4.0": { + "name": "backoff", + "version": "0.4.0", + "repository": { + "Http": { + "url": "https://crates.io/api/v1/crates/backoff/0.4.0/download", + "sha256": "b62ddb9cb1ec0a098ad4bbf9344d0713fa193ae1a80af55febcff2627b6a00c1" + } + }, + "targets": [ + { + "Library": { + "crate_name": "backoff", + "crate_root": "src/lib.rs", + "srcs": [ + "**/*.rs" + ] + } + } + ], + "library_target_name": "backoff", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "default" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "getrandom 0.2.7", + "target": "getrandom" + }, + { + "id": "instant 0.1.12", + "target": "instant" + }, + { + "id": "rand 0.8.5", + "target": "rand" + } + ], + "selects": {} + }, + "edition": "2018", + "version": "0.4.0" + }, + "license": "MIT/Apache-2.0" + }, + "backtrace 0.3.68": { + "name": "backtrace", + "version": "0.3.68", + "repository": { + "Http": { + "url": "https://crates.io/api/v1/crates/backtrace/0.3.68/download", + "sha256": "4319208da049c43661739c5fade2ba182f09d1dc2299b32298d3a31692b17e12" + } + }, + "targets": [ + { + "Library": { + "crate_name": "backtrace", + "crate_root": "src/lib.rs", + "srcs": [ + "**/*.rs" + ] + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": [ + "**/*.rs" + ] + } + } + ], + "library_target_name": "backtrace", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "addr2line 0.20.0", + "target": "addr2line" + }, + { + "id": "backtrace 0.3.68", + "target": "build_script_build" + }, + { + "id": "cfg-if 1.0.0", + "target": "cfg_if" + }, + { + "id": "libc 0.2.147", + "target": "libc" + }, + { + "id": "miniz_oxide 0.7.1", + "target": "miniz_oxide" + }, + { + "id": "object 0.31.1", + "target": "object" + }, + { + "id": "rustc-demangle 0.1.23", + "target": "rustc_demangle" + } + ], + "selects": {} + }, + "edition": "2018", + "version": "0.3.68" + }, + "build_script_attrs": { + "data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "cc 1.0.73", + "target": "cc" + } + ], + "selects": {} + } + }, + "license": "MIT OR Apache-2.0" + }, + "base16ct 0.2.0": { "name": "base16ct", - "version": "0.1.1", + "version": "0.2.0", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/base16ct/0.1.1/download", - "sha256": "349a06037c7bf932dd7e7d1f653678b2038b9ad46a74102f1fc7bd7872678cce" + "url": "https://crates.io/api/v1/crates/base16ct/0.2.0/download", + "sha256": "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" } }, "targets": [ @@ -347,11 +564,14 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "alloc" - ], + "crate_features": { + "common": [ + "alloc" + ], + "selects": {} + }, "edition": "2021", - "version": "0.1.1" + "version": "0.2.0" }, "license": "Apache-2.0 OR MIT" }, @@ -410,15 +630,55 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "default", - "std" - ], + "crate_features": { + "common": [ + "default", + "std" + ], + "selects": {} + }, "edition": "2018", "version": "0.13.0" }, "license": "MIT/Apache-2.0" }, + "base64 0.21.2": { + "name": "base64", + "version": "0.21.2", + "repository": { + "Http": { + "url": "https://crates.io/api/v1/crates/base64/0.21.2/download", + "sha256": "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d" + } + }, + "targets": [ + { + "Library": { + "crate_name": "base64", + "crate_root": "src/lib.rs", + "srcs": [ + "**/*.rs" + ] + } + } + ], + "library_target_name": "base64", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "alloc", + "std" + ], + "selects": {} + }, + "edition": "2021", + "version": "0.21.2" + }, + "license": "MIT OR Apache-2.0" + }, "base64ct 1.5.2": { "name": "base64ct", "version": "1.5.2", @@ -444,9 +704,12 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "alloc" - ], + "crate_features": { + "common": [ + "alloc" + ], + "selects": {} + }, "edition": "2021", "version": "1.5.2" }, @@ -477,9 +740,12 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "default" - ], + "crate_features": { + "common": [ + "default" + ], + "selects": {} + }, "edition": "2018", "version": "0.5.2" }, @@ -510,12 +776,15 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "debug_template", - "default", - "lazy_static", - "std" - ], + "crate_features": { + "common": [ + "debug_template", + "default", + "lazy_static", + "std" + ], + "selects": {} + }, "deps": { "common": [ { @@ -568,9 +837,12 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "debug_template" - ], + "crate_features": { + "common": [ + "debug_template" + ], + "selects": {} + }, "deps": { "common": [ { @@ -691,9 +963,12 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "default" - ], + "crate_features": { + "common": [ + "default" + ], + "selects": {} + }, "edition": "2018", "version": "1.3.2" }, @@ -727,7 +1002,7 @@ "deps": { "common": [ { - "id": "generic-array 0.14.6", + "id": "generic-array 0.14.7", "target": "generic_array" } ], @@ -766,7 +1041,7 @@ "deps": { "common": [ { - "id": "generic-array 0.14.6", + "id": "generic-array 0.14.7", "target": "generic_array" } ], @@ -802,15 +1077,18 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "alloc", - "digest", - "experimental", - "group", - "groups", - "pairing", - "pairings" - ], + "crate_features": { + "common": [ + "alloc", + "digest", + "experimental", + "group", + "groups", + "pairing", + "pairings" + ], + "selects": {} + }, "deps": { "common": [ { @@ -830,7 +1108,7 @@ "target": "pairing" }, { - "id": "rand_core 0.6.3", + "id": "rand_core 0.6.4", "target": "rand_core" }, { @@ -870,9 +1148,12 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "default" - ], + "crate_features": { + "common": [ + "default" + ], + "selects": {} + }, "edition": "2021", "version": "3.12.0" }, @@ -903,11 +1184,14 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "default", - "std" - ], - "edition": "2018", + "crate_features": { + "common": [ + "default", + "std" + ], + "selects": {} + }, + "edition": "2018", "version": "1.4.3" }, "license": "Unlicense OR MIT" @@ -937,10 +1221,13 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "default", - "std" - ], + "crate_features": { + "common": [ + "default", + "std" + ], + "selects": {} + }, "edition": "2018", "version": "1.2.1" }, @@ -1043,19 +1330,19 @@ "target": "pretty" }, { - "id": "serde 1.0.144", + "id": "serde 1.0.175", "target": "serde" }, { - "id": "serde_bytes 0.11.7", + "id": "serde_bytes 0.11.12", "target": "serde_bytes" }, { - "id": "sha2 0.10.3", + "id": "sha2 0.10.7", "target": "sha2" }, { - "id": "thiserror 1.0.33", + "id": "thiserror 1.0.44", "target": "thiserror" } ], @@ -1229,10 +1516,13 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "default", - "std" - ], + "crate_features": { + "common": [ + "default", + "std" + ], + "selects": {} + }, "deps": { "common": [ { @@ -1244,7 +1534,7 @@ "target": "ciborium_ll" }, { - "id": "serde 1.0.144", + "id": "serde 1.0.175", "target": "serde" } ], @@ -1280,10 +1570,13 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "alloc", - "std" - ], + "crate_features": { + "common": [ + "alloc", + "std" + ], + "selects": {} + }, "edition": "2021", "version": "0.2.1" }, @@ -1375,13 +1668,13 @@ }, "license": "Apache-2.0" }, - "const-oid 0.9.0": { + "const-oid 0.9.4": { "name": "const-oid", - "version": "0.9.0", + "version": "0.9.4", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/const-oid/0.9.0/download", - "sha256": "722e23542a15cea1f65d4a1419c4cfd7a26706c70871a13a04238ca3f40f1661" + "url": "https://crates.io/api/v1/crates/const-oid/0.9.4/download", + "sha256": "795bc6e66a8e340f075fcf6227e417a2dc976b92b91f3cdc778bb858778b6747" } }, "targets": [ @@ -1401,7 +1694,7 @@ "**" ], "edition": "2021", - "version": "0.9.0" + "version": "0.9.4" }, "license": "Apache-2.0 OR MIT" }, @@ -1437,7 +1730,7 @@ "target": "core_foundation_sys" }, { - "id": "libc 0.2.132", + "id": "libc 0.2.147", "target": "libc" } ], @@ -1531,19 +1824,19 @@ "selects": { "aarch64-apple-darwin": [ { - "id": "libc 0.2.132", + "id": "libc 0.2.147", "target": "libc" } ], "aarch64-linux-android": [ { - "id": "libc 0.2.132", + "id": "libc 0.2.147", "target": "libc" } ], "cfg(all(target_arch = \"aarch64\", target_os = \"linux\"))": [ { - "id": "libc 0.2.132", + "id": "libc 0.2.147", "target": "libc" } ] @@ -1588,10 +1881,13 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "default", - "std" - ], + "crate_features": { + "common": [ + "default", + "std" + ], + "selects": {} + }, "deps": { "common": [ { @@ -1649,10 +1945,13 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "default", - "limit_128" - ], + "crate_features": { + "common": [ + "default", + "limit_128" + ], + "selects": {} + }, "deps": { "common": [ { @@ -1672,13 +1971,13 @@ }, "license": "MIT" }, - "crypto-bigint 0.4.8": { + "crypto-bigint 0.5.2": { "name": "crypto-bigint", - "version": "0.4.8", + "version": "0.5.2", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/crypto-bigint/0.4.8/download", - "sha256": "9f2b443d17d49dad5ef0ede301c3179cc923b8822f3393b4d2c28c269dd4a122" + "url": "https://crates.io/api/v1/crates/crypto-bigint/0.5.2/download", + "sha256": "cf4c2f4e1afd912bc40bfd6fed5d9dc1f288e0ba01bfcc835cc5bc3eb13efe15" } }, "targets": [ @@ -1697,19 +1996,22 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "generic-array", - "rand_core", - "zeroize" - ], + "crate_features": { + "common": [ + "generic-array", + "rand_core", + "zeroize" + ], + "selects": {} + }, "deps": { "common": [ { - "id": "generic-array 0.14.6", + "id": "generic-array 0.14.7", "target": "generic_array" }, { - "id": "rand_core 0.6.3", + "id": "rand_core 0.6.4", "target": "rand_core" }, { @@ -1724,7 +2026,7 @@ "selects": {} }, "edition": "2021", - "version": "0.4.8" + "version": "0.5.2" }, "license": "Apache-2.0 OR MIT" }, @@ -1753,13 +2055,16 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "std" - ], + "crate_features": { + "common": [ + "std" + ], + "selects": {} + }, "deps": { "common": [ { - "id": "generic-array 0.14.6", + "id": "generic-array 0.14.7", "target": "generic_array" }, { @@ -1799,23 +2104,26 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "alloc", - "default", - "std" - ], + "crate_features": { + "common": [ + "alloc", + "default", + "std" + ], + "selects": {} + }, "edition": "2018", "version": "2.3.2" }, "license": "MIT" }, - "der 0.6.0": { + "der 0.7.7": { "name": "der", - "version": "0.6.0", + "version": "0.7.7", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/der/0.6.0/download", - "sha256": "13dd2ae565c0a381dde7fade45fce95984c568bdcb4700a4fdbe3175e0380b2f" + "url": "https://crates.io/api/v1/crates/der/0.7.7/download", + "sha256": "0c7ed52955ce76b1554f509074bb357d3fb8ac9b51288a65a3fd480d1dfba946" } }, "targets": [ @@ -1834,23 +2142,24 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "alloc", - "const-oid", - "oid", - "pem", - "pem-rfc7468", - "std", - "zeroize" - ], + "crate_features": { + "common": [ + "alloc", + "oid", + "pem", + "std", + "zeroize" + ], + "selects": {} + }, "deps": { "common": [ { - "id": "const-oid 0.9.0", + "id": "const-oid 0.9.4", "target": "const_oid" }, { - "id": "pem-rfc7468 0.6.0", + "id": "pem-rfc7468 0.7.0", "target": "pem_rfc7468" }, { @@ -1861,7 +2170,7 @@ "selects": {} }, "edition": "2021", - "version": "0.6.0" + "version": "0.7.7" }, "license": "Apache-2.0 OR MIT" }, @@ -1895,13 +2204,13 @@ }, "license": "MIT OR Apache-2.0" }, - "digest 0.10.3": { + "digest 0.10.7": { "name": "digest", - "version": "0.10.3", + "version": "0.10.7", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/digest/0.10.3/download", - "sha256": "f2fb860ca6fafa5552fb6d0e816a69c8e49f0908bf524e30a90d97c85892d506" + "url": "https://crates.io/api/v1/crates/digest/0.10.7/download", + "sha256": "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" } }, "targets": [ @@ -1920,21 +2229,30 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "alloc", - "block-buffer", - "core-api", - "default", - "mac", - "std", - "subtle" - ], + "crate_features": { + "common": [ + "alloc", + "block-buffer", + "const-oid", + "core-api", + "default", + "mac", + "oid", + "std", + "subtle" + ], + "selects": {} + }, "deps": { "common": [ { "id": "block-buffer 0.10.2", "target": "block_buffer" }, + { + "id": "const-oid 0.9.4", + "target": "const_oid" + }, { "id": "crypto-common 0.1.6", "target": "crypto_common" @@ -1947,7 +2265,7 @@ "selects": {} }, "edition": "2018", - "version": "0.10.3" + "version": "0.10.7" }, "license": "MIT OR Apache-2.0" }, @@ -1976,14 +2294,17 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "alloc", - "std" - ], + "crate_features": { + "common": [ + "alloc", + "std" + ], + "selects": {} + }, "deps": { "common": [ { - "id": "generic-array 0.14.6", + "id": "generic-array 0.14.7", "target": "generic_array" } ], @@ -2073,7 +2394,7 @@ ], "cfg(unix)": [ { - "id": "libc 0.2.132", + "id": "libc 0.2.147", "target": "libc" } ], @@ -2090,13 +2411,13 @@ }, "license": "MIT OR Apache-2.0" }, - "ecdsa 0.14.4": { + "ecdsa 0.16.8": { "name": "ecdsa", - "version": "0.14.4", + "version": "0.16.8", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/ecdsa/0.14.4/download", - "sha256": "e852f4174d2a8646a0fa8a34b55797856c722f86267deb0aa1e93f7f247f800e" + "url": "https://crates.io/api/v1/crates/ecdsa/0.16.8/download", + "sha256": "a4b1e0c257a9e9f25f90ff76d7a68360ed497ee519c8e428d1825ef0000799d4" } }, "targets": [ @@ -2115,42 +2436,54 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "alloc", - "arithmetic", - "der", - "digest", - "hazmat", - "pem", - "pkcs8", - "rfc6979", - "sign", - "std", - "verify" - ], + "crate_features": { + "common": [ + "alloc", + "arithmetic", + "der", + "digest", + "hazmat", + "pem", + "pkcs8", + "rfc6979", + "signing", + "spki", + "std", + "verifying" + ], + "selects": {} + }, "deps": { "common": [ { - "id": "der 0.6.0", + "id": "der 0.7.7", "target": "der" }, { - "id": "elliptic-curve 0.12.3", + "id": "digest 0.10.7", + "target": "digest" + }, + { + "id": "elliptic-curve 0.13.5", "target": "elliptic_curve" }, { - "id": "rfc6979 0.3.0", + "id": "rfc6979 0.4.0", "target": "rfc6979" }, { - "id": "signature 1.6.0", + "id": "signature 2.1.0", "target": "signature" + }, + { + "id": "spki 0.7.2", + "target": "spki" } ], "selects": {} }, "edition": "2021", - "version": "0.14.4" + "version": "0.16.8" }, "license": "Apache-2.0 OR MIT" }, @@ -2179,22 +2512,25 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "default", - "use_std" - ], + "crate_features": { + "common": [ + "default", + "use_std" + ], + "selects": {} + }, "edition": "2018", "version": "1.8.0" }, "license": "MIT/Apache-2.0" }, - "elliptic-curve 0.12.3": { + "elliptic-curve 0.13.5": { "name": "elliptic-curve", - "version": "0.12.3", + "version": "0.13.5", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/elliptic-curve/0.12.3/download", - "sha256": "e7bb888ab5300a19b8e5bceef25ac745ad065f3c9f7efc6de1b91958110891d3" + "url": "https://crates.io/api/v1/crates/elliptic-curve/0.13.5/download", + "sha256": "968405c8fdc9b3bf4df0a6638858cc0b52462836ab6b1c87377785dd09cf1c0b" } }, "targets": [ @@ -2213,63 +2549,61 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "alloc", - "arithmetic", - "digest", - "ff", - "group", - "hazmat", - "pem", - "pem-rfc7468", - "pkcs8", - "sec1", - "std" - ], + "crate_features": { + "common": [ + "alloc", + "arithmetic", + "digest", + "ff", + "group", + "hazmat", + "pem", + "pkcs8", + "sec1", + "std" + ], + "selects": {} + }, "deps": { "common": [ { - "id": "base16ct 0.1.1", + "id": "base16ct 0.2.0", "target": "base16ct" }, { - "id": "crypto-bigint 0.4.8", + "id": "crypto-bigint 0.5.2", "target": "crypto_bigint" }, { - "id": "der 0.6.0", - "target": "der" - }, - { - "id": "digest 0.10.3", + "id": "digest 0.10.7", "target": "digest" }, { - "id": "ff 0.12.0", + "id": "ff 0.13.0", "target": "ff" }, { - "id": "generic-array 0.14.6", + "id": "generic-array 0.14.7", "target": "generic_array" }, { - "id": "group 0.12.0", + "id": "group 0.13.0", "target": "group" }, { - "id": "pem-rfc7468 0.6.0", + "id": "pem-rfc7468 0.7.0", "target": "pem_rfc7468" }, { - "id": "pkcs8 0.9.0", + "id": "pkcs8 0.10.2", "target": "pkcs8" }, { - "id": "rand_core 0.6.3", + "id": "rand_core 0.6.4", "target": "rand_core" }, { - "id": "sec1 0.3.0", + "id": "sec1 0.7.3", "target": "sec1" }, { @@ -2284,7 +2618,7 @@ "selects": {} }, "edition": "2021", - "version": "0.12.3" + "version": "0.13.5" }, "license": "Apache-2.0 OR MIT" }, @@ -2361,10 +2695,13 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "alloc", - "default" - ], + "crate_features": { + "common": [ + "alloc", + "default" + ], + "selects": {} + }, "deps": { "common": [ { @@ -2457,7 +2794,7 @@ "deps": { "common": [ { - "id": "rand_core 0.6.3", + "id": "rand_core 0.6.4", "target": "rand_core" }, { @@ -2472,6 +2809,55 @@ }, "license": "MIT/Apache-2.0" }, + "ff 0.13.0": { + "name": "ff", + "version": "0.13.0", + "repository": { + "Http": { + "url": "https://crates.io/api/v1/crates/ff/0.13.0/download", + "sha256": "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" + } + }, + "targets": [ + { + "Library": { + "crate_name": "ff", + "crate_root": "src/lib.rs", + "srcs": [ + "**/*.rs" + ] + } + } + ], + "library_target_name": "ff", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "alloc" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "rand_core 0.6.4", + "target": "rand_core" + }, + { + "id": "subtle 2.4.1", + "target": "subtle" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.13.0" + }, + "license": "MIT/Apache-2.0" + }, "fixedbitset 0.4.2": { "name": "fixedbitset", "version": "0.4.2", @@ -2527,10 +2913,13 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "default", - "std" - ], + "crate_features": { + "common": [ + "default", + "std" + ], + "selects": {} + }, "edition": "2015", "version": "1.0.7" }, @@ -2673,14 +3062,17 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "alloc", - "async-await", - "default", - "executor", - "futures-executor", - "std" - ], + "crate_features": { + "common": [ + "alloc", + "async-await", + "default", + "executor", + "futures-executor", + "std" + ], + "selects": {} + }, "deps": { "common": [ { @@ -2753,13 +3145,16 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "alloc", - "default", - "futures-sink", - "sink", - "std" - ], + "crate_features": { + "common": [ + "alloc", + "default", + "futures-sink", + "sink", + "std" + ], + "selects": {} + }, "deps": { "common": [ { @@ -2821,11 +3216,14 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "alloc", - "default", - "std" - ], + "crate_features": { + "common": [ + "alloc", + "default", + "std" + ], + "selects": {} + }, "deps": { "common": [ { @@ -2870,9 +3268,12 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "std" - ], + "crate_features": { + "common": [ + "std" + ], + "selects": {} + }, "deps": { "common": [ { @@ -2920,9 +3321,12 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "std" - ], + "crate_features": { + "common": [ + "std" + ], + "selects": {} + }, "edition": "2018", "version": "0.3.24" }, @@ -3000,11 +3404,14 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "alloc", - "default", - "std" - ], + "crate_features": { + "common": [ + "alloc", + "default", + "std" + ], + "selects": {} + }, "edition": "2018", "version": "0.3.24" }, @@ -3044,10 +3451,13 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "alloc", - "std" - ], + "crate_features": { + "common": [ + "alloc", + "std" + ], + "selects": {} + }, "deps": { "common": [ { @@ -3101,22 +3511,25 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "alloc", - "async-await", - "async-await-macro", - "channel", - "default", - "futures-channel", - "futures-io", - "futures-macro", - "futures-sink", - "io", - "memchr", - "sink", - "slab", - "std" - ], + "crate_features": { + "common": [ + "alloc", + "async-await", + "async-await-macro", + "channel", + "default", + "futures-channel", + "futures-io", + "futures-macro", + "futures-sink", + "io", + "memchr", + "sink", + "slab", + "std" + ], + "selects": {} + }, "deps": { "common": [ { @@ -3181,56 +3594,13 @@ }, "license": "MIT OR Apache-2.0" }, - "garcon 0.2.3": { - "name": "garcon", - "version": "0.2.3", - "repository": { - "Http": { - "url": "https://crates.io/api/v1/crates/garcon/0.2.3/download", - "sha256": "e83fb8961dcd3c26123863998521ae4d07e5e5aa8fb50b503380448f2e0ea069" - } - }, - "targets": [ - { - "Library": { - "crate_name": "garcon", - "crate_root": "src/lib.rs", - "srcs": [ - "**/*.rs" - ] - } - } - ], - "library_target_name": "garcon", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "crate_features": [ - "async", - "futures-util" - ], - "deps": { - "common": [ - { - "id": "futures-util 0.3.24", - "target": "futures_util" - } - ], - "selects": {} - }, - "edition": "2018", - "version": "0.2.3" - }, - "license": "Apache-2.0" - }, - "generic-array 0.14.6": { + "generic-array 0.14.7": { "name": "generic-array", - "version": "0.14.6", + "version": "0.14.7", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/generic-array/0.14.6/download", - "sha256": "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9" + "url": "https://crates.io/api/v1/crates/generic-array/0.14.7/download", + "sha256": "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" } }, "targets": [ @@ -3258,24 +3628,32 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "more_lengths" - ], + "crate_features": { + "common": [ + "more_lengths", + "zeroize" + ], + "selects": {} + }, "deps": { "common": [ { - "id": "generic-array 0.14.6", + "id": "generic-array 0.14.7", "target": "build_script_build" }, { "id": "typenum 1.15.0", "target": "typenum" + }, + { + "id": "zeroize 1.5.7", + "target": "zeroize" } ], "selects": {} }, "edition": "2015", - "version": "0.14.6" + "version": "0.14.7" }, "build_script_attrs": { "data_glob": [ @@ -3318,9 +3696,12 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "std" - ], + "crate_features": { + "common": [ + "std" + ], + "selects": {} + }, "deps": { "common": [ { @@ -3337,7 +3718,7 @@ ], "cfg(unix)": [ { - "id": "libc 0.2.132", + "id": "libc 0.2.147", "target": "libc" } ] @@ -3348,19 +3729,19 @@ }, "license": "MIT OR Apache-2.0" }, - "group 0.12.0": { - "name": "group", - "version": "0.12.0", + "gimli 0.27.3": { + "name": "gimli", + "version": "0.27.3", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/group/0.12.0/download", - "sha256": "7391856def869c1c81063a03457c676fbcd419709c3dfb33d8d319de484b154d" + "url": "https://crates.io/api/v1/crates/gimli/0.27.3/download", + "sha256": "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e" } }, "targets": [ { "Library": { - "crate_name": "group", + "crate_name": "gimli", "crate_root": "src/lib.rs", "srcs": [ "**/*.rs" @@ -3368,27 +3749,60 @@ } } ], - "library_target_name": "group", + "library_target_name": "gimli", "common_attrs": { "compile_data_glob": [ "**" ], - "crate_features": [ - "alloc", - "byteorder" - ], - "deps": { - "common": [ - { - "id": "byteorder 1.4.3", - "target": "byteorder" - }, + "edition": "2018", + "version": "0.27.3" + }, + "license": "MIT OR Apache-2.0" + }, + "group 0.12.0": { + "name": "group", + "version": "0.12.0", + "repository": { + "Http": { + "url": "https://crates.io/api/v1/crates/group/0.12.0/download", + "sha256": "7391856def869c1c81063a03457c676fbcd419709c3dfb33d8d319de484b154d" + } + }, + "targets": [ + { + "Library": { + "crate_name": "group", + "crate_root": "src/lib.rs", + "srcs": [ + "**/*.rs" + ] + } + } + ], + "library_target_name": "group", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "alloc", + "byteorder" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "byteorder 1.4.3", + "target": "byteorder" + }, { "id": "ff 0.12.0", "target": "ff" }, { - "id": "rand_core 0.6.3", + "id": "rand_core 0.6.4", "target": "rand_core" }, { @@ -3403,6 +3817,59 @@ }, "license": "MIT/Apache-2.0" }, + "group 0.13.0": { + "name": "group", + "version": "0.13.0", + "repository": { + "Http": { + "url": "https://crates.io/api/v1/crates/group/0.13.0/download", + "sha256": "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" + } + }, + "targets": [ + { + "Library": { + "crate_name": "group", + "crate_root": "src/lib.rs", + "srcs": [ + "**/*.rs" + ] + } + } + ], + "library_target_name": "group", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "alloc" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "ff 0.13.0", + "target": "ff" + }, + { + "id": "rand_core 0.6.4", + "target": "rand_core" + }, + { + "id": "subtle 2.4.1", + "target": "subtle" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.13.0" + }, + "license": "MIT/Apache-2.0" + }, "h2 0.3.14": { "name": "h2", "version": "0.3.14", @@ -3463,7 +3930,7 @@ "target": "slab" }, { - "id": "tokio 1.20.1", + "id": "tokio 1.29.1", "target": "tokio" }, { @@ -3537,9 +4004,12 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "raw" - ], + "crate_features": { + "common": [ + "raw" + ], + "selects": {} + }, "edition": "2021", "version": "0.12.3" }, @@ -3570,13 +4040,10 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "default" - ], "deps": { "common": [ { - "id": "libc 0.2.132", + "id": "libc 0.2.147", "target": "libc" } ], @@ -3612,11 +4079,14 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "alloc", - "default", - "std" - ], + "crate_features": { + "common": [ + "alloc", + "default", + "std" + ], + "selects": {} + }, "edition": "2018", "version": "0.4.3" }, @@ -3647,13 +4117,16 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "reset" - ], + "crate_features": { + "common": [ + "reset" + ], + "selects": {} + }, "deps": { "common": [ { - "id": "digest 0.10.3", + "id": "digest 0.10.7", "target": "digest" } ], @@ -3792,10 +4265,13 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "default", - "std" - ], + "crate_features": { + "common": [ + "default", + "std" + ], + "selects": {} + }, "deps": { "common": [ { @@ -3870,15 +4346,18 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "client", - "h2", - "http1", - "http2", - "runtime", - "socket2", - "tcp" - ], + "crate_features": { + "common": [ + "client", + "h2", + "http1", + "http2", + "runtime", + "socket2", + "tcp" + ], + "selects": {} + }, "deps": { "common": [ { @@ -3926,11 +4405,11 @@ "target": "pin_project_lite" }, { - "id": "socket2 0.4.7", + "id": "socket2 0.4.9", "target": "socket2" }, { - "id": "tokio 1.20.1", + "id": "tokio 1.29.1", "target": "tokio" }, { @@ -3978,18 +4457,6 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "default", - "http1", - "http2", - "log", - "logging", - "native-tokio", - "rustls-native-certs", - "tls12", - "tokio-runtime", - "webpki-roots" - ], "deps": { "common": [ { @@ -4000,29 +4467,17 @@ "id": "hyper 0.14.20", "target": "hyper" }, - { - "id": "log 0.4.17", - "target": "log" - }, { "id": "rustls 0.20.6", "target": "rustls" }, { - "id": "rustls-native-certs 0.6.2", - "target": "rustls_native_certs" - }, - { - "id": "tokio 1.20.1", + "id": "tokio 1.29.1", "target": "tokio" }, { "id": "tokio-rustls 0.23.4", "target": "tokio_rustls" - }, - { - "id": "webpki-roots 0.22.4", - "target": "webpki_roots" } ], "selects": {} @@ -4072,7 +4527,7 @@ "target": "native_tls" }, { - "id": "tokio 1.20.1", + "id": "tokio 1.29.1", "target": "tokio" }, { @@ -4087,13 +4542,13 @@ }, "license": "MIT/Apache-2.0" }, - "ic-agent 0.22.0": { + "ic-agent 0.24.1": { "name": "ic-agent", - "version": "0.22.0", + "version": "0.24.1", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/ic-agent/0.22.0/download", - "sha256": "261a977b6cc35db6ee84195148f5e8307ffc1bbcb1895a221fe16d0fb097a427" + "url": "https://crates.io/api/v1/crates/ic-agent/0.24.1/download", + "sha256": "2d89847df1b6514cbfc7bd10d0d6d191ed136ddfe592c64b5204b3fe4d07f475" } }, "targets": [ @@ -4112,20 +4567,23 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "default", - "pem", - "reqwest" - ], + "crate_features": { + "common": [ + "default", + "pem", + "reqwest" + ], + "selects": {} + }, "deps": { "common": [ { - "id": "base32 0.4.0", - "target": "base32" + "id": "backoff 0.4.0", + "target": "backoff" }, { - "id": "base64 0.13.0", - "target": "base64" + "id": "base32 0.4.0", + "target": "base32" }, { "id": "byteorder 1.4.3", @@ -4139,10 +4597,6 @@ "id": "futures-util 0.3.24", "target": "futures_util" }, - { - "id": "garcon 0.2.3", - "target": "garcon" - }, { "id": "hex 0.4.3", "target": "hex" @@ -4156,15 +4610,15 @@ "target": "http_body" }, { - "id": "hyper-rustls 0.23.0", - "target": "hyper_rustls" + "id": "ic-certification 0.24.1", + "target": "ic_certification" }, { "id": "ic-verify-bls-signature 0.1.0", "target": "ic_verify_bls_signature" }, { - "id": "k256 0.11.4", + "id": "k256 0.13.1", "target": "k256" }, { @@ -4176,11 +4630,11 @@ "target": "mime" }, { - "id": "pem 1.1.0", + "id": "pem 2.0.1", "target": "pem" }, { - "id": "pkcs8 0.9.0", + "id": "pkcs8 0.10.2", "target": "pkcs8" }, { @@ -4196,19 +4650,15 @@ "target": "ring" }, { - "id": "rustls 0.20.6", - "target": "rustls" - }, - { - "id": "sec1 0.3.0", + "id": "sec1 0.7.3", "target": "sec1" }, { - "id": "serde 1.0.144", + "id": "serde 1.0.175", "target": "serde" }, { - "id": "serde_bytes 0.11.7", + "id": "serde_bytes 0.11.12", "target": "serde_bytes" }, { @@ -4216,7 +4666,7 @@ "target": "serde_cbor" }, { - "id": "sha2 0.10.3", + "id": "sha2 0.10.7", "target": "sha2" }, { @@ -4224,7 +4674,7 @@ "target": "simple_asn1" }, { - "id": "thiserror 1.0.33", + "id": "thiserror 1.0.44", "target": "thiserror" }, { @@ -4232,7 +4682,18 @@ "target": "url" } ], - "selects": {} + "selects": { + "cfg(not(target_family = \"wasm\"))": [ + { + "id": "rustls 0.20.6", + "target": "rustls" + }, + { + "id": "tokio 1.29.1", + "target": "tokio" + } + ] + } }, "edition": "2021", "proc_macro_deps": { @@ -4240,11 +4701,15 @@ { "id": "async-trait 0.1.71", "target": "async_trait" + }, + { + "id": "serde_repr 0.1.15", + "target": "serde_repr" } ], "selects": {} }, - "version": "0.22.0" + "version": "0.24.1" }, "license": "Apache-2.0" }, @@ -4284,11 +4749,11 @@ "target": "ic0" }, { - "id": "serde 1.0.144", + "id": "serde 1.0.175", "target": "serde" }, { - "id": "serde_bytes 0.11.7", + "id": "serde_bytes 0.11.12", "target": "serde_bytes" } ], @@ -4348,7 +4813,7 @@ "target": "quote" }, { - "id": "serde 1.0.144", + "id": "serde 1.0.175", "target": "serde" }, { @@ -4367,6 +4832,65 @@ }, "license": "Apache-2.0" }, + "ic-certification 0.24.1": { + "name": "ic-certification", + "version": "0.24.1", + "repository": { + "Http": { + "url": "https://crates.io/api/v1/crates/ic-certification/0.24.1/download", + "sha256": "ce514ae665701b9d85d5fbba87d177befef83a808b92adf53e2496376303a910" + } + }, + "targets": [ + { + "Library": { + "crate_name": "ic_certification", + "crate_root": "src/lib.rs", + "srcs": [ + "**/*.rs" + ] + } + } + ], + "library_target_name": "ic_certification", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "default", + "serde", + "serde_bytes" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "hex 0.4.3", + "target": "hex" + }, + { + "id": "serde 1.0.175", + "target": "serde" + }, + { + "id": "serde_bytes 0.11.12", + "target": "serde_bytes" + }, + { + "id": "sha2 0.10.7", + "target": "sha2" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.24.1" + }, + "license": "Apache-2.0" + }, "ic-test-state-machine-client 2.2.1": { "name": "ic-test-state-machine-client", "version": "2.2.1", @@ -4407,11 +4931,11 @@ "target": "ic_cdk" }, { - "id": "serde 1.0.144", + "id": "serde 1.0.175", "target": "serde" }, { - "id": "serde_bytes 0.11.7", + "id": "serde_bytes 0.11.12", "target": "serde_bytes" } ], @@ -4534,7 +5058,7 @@ "target": "candid" }, { - "id": "serde 1.0.144", + "id": "serde 1.0.175", "target": "serde" } ], @@ -4584,16 +5108,12 @@ "id": "candid 0.8.4", "target": "candid" }, - { - "id": "garcon 0.2.3", - "target": "garcon" - }, { "id": "hex 0.4.3", "target": "hex" }, { - "id": "ic-agent 0.22.0", + "id": "ic-agent 0.24.1", "target": "ic_agent" }, { @@ -4658,10 +5178,6 @@ { "id": "ic-test-state-machine-client 2.2.1", "target": "ic_test_state_machine_client" - }, - { - "id": "rand 0.8.5", - "target": "rand" } ], "selects": {} @@ -4703,11 +5219,7 @@ "deps": { "common": [ { - "id": "garcon 0.2.3", - "target": "garcon" - }, - { - "id": "ic-agent 0.22.0", + "id": "ic-agent 0.24.1", "target": "ic_agent" }, { @@ -4719,7 +5231,7 @@ "target": "tempfile" }, { - "id": "tokio 1.20.1", + "id": "tokio 1.29.1", "target": "tokio" } ], @@ -4751,7 +5263,7 @@ "target": "candid" }, { - "id": "ic-agent 0.22.0", + "id": "ic-agent 0.24.1", "target": "ic_agent" }, { @@ -4763,7 +5275,7 @@ "target": "reqwest" }, { - "id": "tokio 1.20.1", + "id": "tokio 1.29.1", "target": "tokio" } ], @@ -4897,9 +5409,12 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "std" - ], + "crate_features": { + "common": [ + "std" + ], + "selects": {} + }, "deps": { "common": [ { @@ -4996,9 +5511,12 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "default" - ], + "crate_features": { + "common": [ + "default" + ], + "selects": {} + }, "edition": "2018", "version": "2.5.0" }, @@ -5029,10 +5547,13 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "use_alloc", - "use_std" - ], + "crate_features": { + "common": [ + "use_alloc", + "use_std" + ], + "selects": {} + }, "deps": { "common": [ { @@ -5116,13 +5637,13 @@ }, "license": "MIT/Apache-2.0" }, - "k256 0.11.4": { + "k256 0.13.1": { "name": "k256", - "version": "0.11.4", + "version": "0.13.1", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/k256/0.11.4/download", - "sha256": "6db2573d3fd3e4cc741affc9b5ce1a8ce36cf29f09f80f36da4309d0ae6d7854" + "url": "https://crates.io/api/v1/crates/k256/0.13.1/download", + "sha256": "cadb76004ed8e97623117f3df85b17aaa6626ab0b0831e6573f104df16cd1bcc" } }, "targets": [ @@ -5141,19 +5662,26 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "arithmetic", - "default", - "digest", - "ecdsa", - "ecdsa-core", - "pem", - "pkcs8", - "schnorr", - "sha2", - "sha256", - "std" - ], + "crate_features": { + "common": [ + "alloc", + "arithmetic", + "default", + "digest", + "ecdsa", + "ecdsa-core", + "once_cell", + "pem", + "pkcs8", + "precomputed-tables", + "schnorr", + "sha2", + "sha256", + "signature", + "std" + ], + "selects": {} + }, "deps": { "common": [ { @@ -5161,23 +5689,31 @@ "target": "cfg_if" }, { - "id": "ecdsa 0.14.4", + "id": "ecdsa 0.16.8", "target": "ecdsa", "alias": "ecdsa_core" }, { - "id": "elliptic-curve 0.12.3", + "id": "elliptic-curve 0.13.5", "target": "elliptic_curve" }, { - "id": "sha2 0.10.3", + "id": "once_cell 1.18.0", + "target": "once_cell" + }, + { + "id": "sha2 0.10.7", "target": "sha2" + }, + { + "id": "signature 2.1.0", + "target": "signature" } ], "selects": {} }, "edition": "2021", - "version": "0.11.4" + "version": "0.13.1" }, "license": "Apache-2.0 OR MIT" }, @@ -5206,11 +5742,14 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "default", - "lexer", - "pico-args" - ], + "crate_features": { + "common": [ + "default", + "lexer", + "pico-args" + ], + "selects": {} + }, "deps": { "common": [ { @@ -5306,12 +5845,15 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "default", - "lexer", - "regex", - "std" - ], + "crate_features": { + "common": [ + "default", + "lexer", + "regex", + "std" + ], + "selects": {} + }, "deps": { "common": [ { @@ -5386,13 +5928,13 @@ }, "license": "Apache-2.0/MIT" }, - "libc 0.2.132": { + "libc 0.2.147": { "name": "libc", - "version": "0.2.132", + "version": "0.2.147", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/libc/0.2.132/download", - "sha256": "8371e4e5341c3a96db127eb2465ac681ced4c433e01dd0e938adbef26ba93ba5" + "url": "https://crates.io/api/v1/crates/libc/0.2.147/download", + "sha256": "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" } }, "targets": [ @@ -5420,21 +5962,24 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "default", - "std" - ], + "crate_features": { + "common": [ + "default", + "std" + ], + "selects": {} + }, "deps": { "common": [ { - "id": "libc 0.2.132", + "id": "libc 0.2.147", "target": "build_script_build" } ], "selects": {} }, "edition": "2015", - "version": "0.2.132" + "version": "0.2.147" }, "build_script_attrs": { "data_glob": [ @@ -5591,12 +6136,15 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "default", - "export_derive", - "logos-derive", - "std" - ], + "crate_features": { + "common": [ + "default", + "export_derive", + "logos-derive", + "std" + ], + "selects": {} + }, "edition": "2018", "proc_macro_deps": { "common": [ @@ -5734,10 +6282,13 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "default", - "std" - ], + "crate_features": { + "common": [ + "default", + "std" + ], + "selects": {} + }, "deps": { "common": [ { @@ -5787,19 +6338,19 @@ }, "license": "MIT/Apache-2.0" }, - "mio 0.8.4": { - "name": "mio", - "version": "0.8.4", + "miniz_oxide 0.7.1": { + "name": "miniz_oxide", + "version": "0.7.1", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/mio/0.8.4/download", - "sha256": "57ee1c23c7c63b0c9250c339ffdc69255f110b298b901b9f6c82547b7b87caaf" + "url": "https://crates.io/api/v1/crates/miniz_oxide/0.7.1/download", + "sha256": "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" } }, "targets": [ { "Library": { - "crate_name": "mio", + "crate_name": "miniz_oxide", "crate_root": "src/lib.rs", "srcs": [ "**/*.rs" @@ -5807,28 +6358,64 @@ } } ], - "library_target_name": "mio", + "library_target_name": "miniz_oxide", "common_attrs": { "compile_data_glob": [ "**" ], - "crate_features": [ - "default", - "net", - "os-ext", - "os-poll" - ], "deps": { "common": [ { - "id": "log 0.4.17", - "target": "log" + "id": "adler 1.0.2", + "target": "adler" } ], + "selects": {} + }, + "edition": "2018", + "version": "0.7.1" + }, + "license": "MIT OR Zlib OR Apache-2.0" + }, + "mio 0.8.8": { + "name": "mio", + "version": "0.8.8", + "repository": { + "Http": { + "url": "https://crates.io/api/v1/crates/mio/0.8.8/download", + "sha256": "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2" + } + }, + "targets": [ + { + "Library": { + "crate_name": "mio", + "crate_root": "src/lib.rs", + "srcs": [ + "**/*.rs" + ] + } + } + ], + "library_target_name": "mio", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "net", + "os-ext", + "os-poll" + ], + "selects": {} + }, + "deps": { + "common": [], "selects": { "cfg(target_os = \"wasi\")": [ { - "id": "libc 0.2.132", + "id": "libc 0.2.147", "target": "libc" }, { @@ -5838,20 +6425,20 @@ ], "cfg(unix)": [ { - "id": "libc 0.2.132", + "id": "libc 0.2.147", "target": "libc" } ], "cfg(windows)": [ { - "id": "windows-sys 0.36.1", + "id": "windows-sys 0.48.0", "target": "windows_sys" } ] } }, "edition": "2018", - "version": "0.8.4" + "version": "0.8.8" }, "license": "MIT" }, @@ -5903,7 +6490,7 @@ "target": "lazy_static" }, { - "id": "libc 0.2.132", + "id": "libc 0.2.147", "target": "libc" }, { @@ -6019,11 +6606,14 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "default", - "serde", - "std" - ], + "crate_features": { + "common": [ + "default", + "serde", + "std" + ], + "selects": {} + }, "deps": { "common": [ { @@ -6039,7 +6629,7 @@ "target": "num_traits" }, { - "id": "serde 1.0.144", + "id": "serde 1.0.175", "target": "serde" } ], @@ -6098,10 +6688,13 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "i128", - "std" - ], + "crate_features": { + "common": [ + "i128", + "std" + ], + "selects": {} + }, "deps": { "common": [ { @@ -6168,11 +6761,14 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "default", - "i128", - "std" - ], + "crate_features": { + "common": [ + "default", + "i128", + "std" + ], + "selects": {} + }, "deps": { "common": [ { @@ -6237,7 +6833,7 @@ ], "cfg(not(windows))": [ { - "id": "libc 0.2.132", + "id": "libc 0.2.147", "target": "libc" } ] @@ -6273,10 +6869,13 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "default", - "std" - ], + "crate_features": { + "common": [ + "default", + "std" + ], + "selects": {} + }, "edition": "2018", "proc_macro_deps": { "common": [ @@ -6316,10 +6915,13 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "proc-macro-crate", - "std" - ], + "crate_features": { + "common": [ + "proc-macro-crate", + "std" + ], + "selects": {} + }, "deps": { "common": [ { @@ -6376,7 +6978,7 @@ "selects": { "cfg(any(target_os = \"macos\", target_os = \"ios\", target_os = \"freebsd\"))": [ { - "id": "libc 0.2.132", + "id": "libc 0.2.147", "target": "libc" } ] @@ -6387,13 +6989,52 @@ }, "license": "MIT OR Apache-2.0" }, - "once_cell 1.13.1": { + "object 0.31.1": { + "name": "object", + "version": "0.31.1", + "repository": { + "Http": { + "url": "https://crates.io/api/v1/crates/object/0.31.1/download", + "sha256": "8bda667d9f2b5051b8833f59f3bf748b28ef54f850f4fcb389a252aa383866d1" + } + }, + "targets": [ + { + "Library": { + "crate_name": "object", + "crate_root": "src/lib.rs", + "srcs": [ + "**/*.rs" + ] + } + } + ], + "library_target_name": "object", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "memchr 2.5.0", + "target": "memchr" + } + ], + "selects": {} + }, + "edition": "2018", + "version": "0.31.1" + }, + "license": "Apache-2.0 OR MIT" + }, + "once_cell 1.18.0": { "name": "once_cell", - "version": "1.13.1", + "version": "1.18.0", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/once_cell/1.13.1/download", - "sha256": "074864da206b4973b84eb91683020dbefd6a8c3f0f38e054d93954e891935e4e" + "url": "https://crates.io/api/v1/crates/once_cell/1.18.0/download", + "sha256": "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" } }, "targets": [ @@ -6412,14 +7053,17 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "alloc", - "default", - "race", - "std" - ], - "edition": "2018", - "version": "1.13.1" + "crate_features": { + "common": [ + "alloc", + "default", + "race", + "std" + ], + "selects": {} + }, + "edition": "2021", + "version": "1.18.0" }, "license": "MIT OR Apache-2.0" }, @@ -6502,11 +7146,11 @@ "target": "foreign_types" }, { - "id": "libc 0.2.132", + "id": "libc 0.2.147", "target": "libc" }, { - "id": "once_cell 1.13.1", + "id": "once_cell 1.18.0", "target": "once_cell" }, { @@ -6664,7 +7308,7 @@ "deps": { "common": [ { - "id": "libc 0.2.132", + "id": "libc 0.2.147", "target": "libc" }, { @@ -6773,9 +7417,12 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "default" - ], + "crate_features": { + "common": [ + "default" + ], + "selects": {} + }, "deps": { "common": [ { @@ -6852,7 +7499,7 @@ ], "cfg(unix)": [ { - "id": "libc 0.2.132", + "id": "libc 0.2.147", "target": "libc" } ], @@ -6904,13 +7551,13 @@ }, "license": "MIT OR Apache-2.0" }, - "pem 1.1.0": { + "pem 2.0.1": { "name": "pem", - "version": "1.1.0", + "version": "2.0.1", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/pem/1.1.0/download", - "sha256": "03c64931a1a212348ec4f3b4362585eca7159d0d09cbdf4a7f74f02173596fd4" + "url": "https://crates.io/api/v1/crates/pem/2.0.1/download", + "sha256": "6b13fe415cdf3c8e44518e18a7c95a13431d9bdf6d15367d82b23c377fdd441a" } }, "targets": [ @@ -6929,27 +7576,34 @@ "compile_data_glob": [ "**" ], + "crate_features": { + "common": [ + "default", + "std" + ], + "selects": {} + }, "deps": { "common": [ { - "id": "base64 0.13.0", + "id": "base64 0.21.2", "target": "base64" } ], "selects": {} }, - "edition": "2018", - "version": "1.1.0" + "edition": "2021", + "version": "2.0.1" }, "license": "MIT" }, - "pem-rfc7468 0.6.0": { + "pem-rfc7468 0.7.0": { "name": "pem-rfc7468", - "version": "0.6.0", + "version": "0.7.0", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/pem-rfc7468/0.6.0/download", - "sha256": "24d159833a9105500e0398934e205e0773f0b27529557134ecfc51c27646adac" + "url": "https://crates.io/api/v1/crates/pem-rfc7468/0.7.0/download", + "sha256": "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" } }, "targets": [ @@ -6968,9 +7622,12 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "alloc" - ], + "crate_features": { + "common": [ + "alloc" + ], + "selects": {} + }, "deps": { "common": [ { @@ -6981,7 +7638,7 @@ "selects": {} }, "edition": "2021", - "version": "0.6.0" + "version": "0.7.0" }, "license": "Apache-2.0 OR MIT" }, @@ -7083,10 +7740,13 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "default", - "std" - ], + "crate_features": { + "common": [ + "default", + "std" + ], + "selects": {} + }, "deps": { "common": [ { @@ -7156,9 +7816,12 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "default" - ], + "crate_features": { + "common": [ + "default" + ], + "selects": {} + }, "edition": "2018", "version": "0.5.0" }, @@ -7224,13 +7887,13 @@ }, "license": "MIT OR Apache-2.0" }, - "pkcs8 0.9.0": { + "pkcs8 0.10.2": { "name": "pkcs8", - "version": "0.9.0", + "version": "0.10.2", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/pkcs8/0.9.0/download", - "sha256": "9eca2c590a5f85da82668fa685c09ce2888b9430e83299debf1f34b65fd4a4ba" + "url": "https://crates.io/api/v1/crates/pkcs8/0.10.2/download", + "sha256": "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" } }, "targets": [ @@ -7249,26 +7912,29 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "alloc", - "pem", - "std" - ], + "crate_features": { + "common": [ + "alloc", + "pem", + "std" + ], + "selects": {} + }, "deps": { "common": [ { - "id": "der 0.6.0", + "id": "der 0.7.7", "target": "der" }, { - "id": "spki 0.6.0", + "id": "spki 0.7.2", "target": "spki" } ], "selects": {} }, "edition": "2021", - "version": "0.9.0" + "version": "0.10.2" }, "license": "Apache-2.0 OR MIT" }, @@ -7327,10 +7993,13 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "simd", - "std" - ], + "crate_features": { + "common": [ + "simd", + "std" + ], + "selects": {} + }, "edition": "2018", "version": "0.2.16" }, @@ -7437,11 +8106,11 @@ "deps": { "common": [ { - "id": "once_cell 1.13.1", + "id": "once_cell 1.18.0", "target": "once_cell" }, { - "id": "thiserror 1.0.33", + "id": "thiserror 1.0.44", "target": "thiserror" }, { @@ -7490,10 +8159,13 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "default", - "proc-macro" - ], + "crate_features": { + "common": [ + "default", + "proc-macro" + ], + "selects": {} + }, "deps": { "common": [ { @@ -7551,10 +8223,13 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "default", - "proc-macro" - ], + "crate_features": { + "common": [ + "default", + "proc-macro" + ], + "selects": {} + }, "deps": { "common": [ { @@ -7603,15 +8278,18 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "alloc", - "default", - "getrandom", - "libc", - "rand_chacha", - "std", - "std_rng" - ], + "crate_features": { + "common": [ + "alloc", + "default", + "getrandom", + "libc", + "rand_chacha", + "std", + "std_rng" + ], + "selects": {} + }, "deps": { "common": [ { @@ -7619,14 +8297,14 @@ "target": "rand_chacha" }, { - "id": "rand_core 0.6.3", + "id": "rand_core 0.6.4", "target": "rand_core" } ], "selects": { "cfg(unix)": [ { - "id": "libc 0.2.132", + "id": "libc 0.2.147", "target": "libc" } ] @@ -7662,9 +8340,12 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "std" - ], + "crate_features": { + "common": [ + "std" + ], + "selects": {} + }, "deps": { "common": [ { @@ -7672,7 +8353,7 @@ "target": "ppv_lite86" }, { - "id": "rand_core 0.6.3", + "id": "rand_core 0.6.4", "target": "rand_core" } ], @@ -7683,13 +8364,13 @@ }, "license": "MIT OR Apache-2.0" }, - "rand_core 0.6.3": { + "rand_core 0.6.4": { "name": "rand_core", - "version": "0.6.3", + "version": "0.6.4", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/rand_core/0.6.3/download", - "sha256": "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7" + "url": "https://crates.io/api/v1/crates/rand_core/0.6.4/download", + "sha256": "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" } }, "targets": [ @@ -7708,11 +8389,14 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "alloc", - "getrandom", - "std" - ], + "crate_features": { + "common": [ + "alloc", + "getrandom", + "std" + ], + "selects": {} + }, "deps": { "common": [ { @@ -7723,7 +8407,7 @@ "selects": {} }, "edition": "2018", - "version": "0.6.3" + "version": "0.6.4" }, "license": "MIT OR Apache-2.0" }, @@ -7802,7 +8486,7 @@ "target": "syscall" }, { - "id": "thiserror 1.0.33", + "id": "thiserror 1.0.44", "target": "thiserror" } ], @@ -7838,25 +8522,28 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "aho-corasick", - "default", - "memchr", - "perf", - "perf-cache", - "perf-dfa", - "perf-inline", - "perf-literal", - "std", - "unicode", - "unicode-age", - "unicode-bool", - "unicode-case", - "unicode-gencat", - "unicode-perl", - "unicode-script", - "unicode-segment" - ], + "crate_features": { + "common": [ + "aho-corasick", + "default", + "memchr", + "perf", + "perf-cache", + "perf-dfa", + "perf-inline", + "perf-literal", + "std", + "unicode", + "unicode-age", + "unicode-bool", + "unicode-case", + "unicode-gencat", + "unicode-perl", + "unicode-script", + "unicode-segment" + ], + "selects": {} + }, "deps": { "common": [ { @@ -7904,17 +8591,20 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "default", - "unicode", - "unicode-age", - "unicode-bool", - "unicode-case", - "unicode-gencat", - "unicode-perl", - "unicode-script", - "unicode-segment" - ], + "crate_features": { + "common": [ + "default", + "unicode", + "unicode-age", + "unicode-bool", + "unicode-case", + "unicode-gencat", + "unicode-perl", + "unicode-script", + "unicode-segment" + ], + "selects": {} + }, "edition": "2018", "version": "0.6.27" }, @@ -7986,27 +8676,29 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "__rustls", - "__tls", - "blocking", - "default", - "default-tls", - "hyper-rustls", - "hyper-tls", - "json", - "native-tls-crate", - "rustls", - "rustls-pemfile", - "rustls-tls", - "rustls-tls-webpki-roots", - "serde_json", - "stream", - "tokio-native-tls", - "tokio-rustls", - "tokio-util", - "webpki-roots" - ], + "crate_features": { + "common": [ + "__rustls", + "__tls", + "blocking", + "default", + "default-tls", + "hyper-rustls", + "hyper-tls", + "json", + "native-tls-crate", + "rustls", + "rustls-pemfile", + "rustls-tls-webpki-roots", + "serde_json", + "stream", + "tokio-native-tls", + "tokio-rustls", + "tokio-util", + "webpki-roots" + ], + "selects": {} + }, "deps": { "common": [ { @@ -8022,7 +8714,7 @@ "target": "http" }, { - "id": "serde 1.0.144", + "id": "serde 1.0.175", "target": "serde" }, { @@ -8114,7 +8806,7 @@ "target": "rustls_pemfile" }, { - "id": "tokio 1.20.1", + "id": "tokio 1.29.1", "target": "tokio" }, { @@ -8165,13 +8857,13 @@ }, "license": "MIT/Apache-2.0" }, - "rfc6979 0.3.0": { + "rfc6979 0.4.0": { "name": "rfc6979", - "version": "0.3.0", + "version": "0.4.0", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/rfc6979/0.3.0/download", - "sha256": "88c86280f057430a52f4861551b092a01b419b8eacefc7c995eacb9dc132fe32" + "url": "https://crates.io/api/v1/crates/rfc6979/0.4.0/download", + "sha256": "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" } }, "targets": [ @@ -8192,23 +8884,19 @@ ], "deps": { "common": [ - { - "id": "crypto-bigint 0.4.8", - "target": "crypto_bigint" - }, { "id": "hmac 0.12.1", "target": "hmac" }, { - "id": "zeroize 1.5.7", - "target": "zeroize" + "id": "subtle 2.4.1", + "target": "subtle" } ], "selects": {} }, "edition": "2021", - "version": "0.3.0" + "version": "0.4.0" }, "license": "Apache-2.0 OR MIT" }, @@ -8246,13 +8934,16 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "alloc", - "default", - "dev_urandom_fallback", - "once_cell", - "std" - ], + "crate_features": { + "common": [ + "alloc", + "default", + "dev_urandom_fallback", + "once_cell", + "std" + ], + "selects": {} + }, "deps": { "common": [ { @@ -8279,17 +8970,17 @@ ], "cfg(any(target_os = \"android\", target_os = \"linux\"))": [ { - "id": "libc 0.2.132", + "id": "libc 0.2.147", "target": "libc" }, { - "id": "once_cell 1.13.1", + "id": "once_cell 1.18.0", "target": "once_cell" } ], "cfg(any(target_os = \"dragonfly\", target_os = \"freebsd\", target_os = \"illumos\", target_os = \"netbsd\", target_os = \"openbsd\", target_os = \"solaris\"))": [ { - "id": "once_cell 1.13.1", + "id": "once_cell 1.18.0", "target": "once_cell" } ], @@ -8321,6 +9012,36 @@ }, "license": null }, + "rustc-demangle 0.1.23": { + "name": "rustc-demangle", + "version": "0.1.23", + "repository": { + "Http": { + "url": "https://crates.io/api/v1/crates/rustc-demangle/0.1.23/download", + "sha256": "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" + } + }, + "targets": [ + { + "Library": { + "crate_name": "rustc_demangle", + "crate_root": "src/lib.rs", + "srcs": [ + "**/*.rs" + ] + } + } + ], + "library_target_name": "rustc_demangle", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "edition": "2015", + "version": "0.1.23" + }, + "license": "MIT/Apache-2.0" + }, "rustls 0.20.6": { "name": "rustls", "version": "0.20.6", @@ -8355,13 +9076,16 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "dangerous_configuration", - "default", - "log", - "logging", - "tls12" - ], + "crate_features": { + "common": [ + "dangerous_configuration", + "default", + "log", + "logging", + "tls12" + ], + "selects": {} + }, "deps": { "common": [ { @@ -8397,19 +9121,19 @@ }, "license": "Apache-2.0/ISC/MIT" }, - "rustls-native-certs 0.6.2": { - "name": "rustls-native-certs", - "version": "0.6.2", + "rustls-pemfile 1.0.1": { + "name": "rustls-pemfile", + "version": "1.0.1", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/rustls-native-certs/0.6.2/download", - "sha256": "0167bac7a9f490495f3c33013e7722b53cb087ecbe082fb0c6387c96f634ea50" + "url": "https://crates.io/api/v1/crates/rustls-pemfile/1.0.1/download", + "sha256": "0864aeff53f8c05aa08d86e5ef839d3dfcf07aeba2db32f12db0ef716e87bd55" } }, "targets": [ { "Library": { - "crate_name": "rustls_native_certs", + "crate_name": "rustls_pemfile", "crate_root": "src/lib.rs", "srcs": [ "**/*.rs" @@ -8417,7 +9141,7 @@ } } ], - "library_target_name": "rustls_native_certs", + "library_target_name": "rustls_pemfile", "common_attrs": { "compile_data_glob": [ "**" @@ -8425,66 +9149,8 @@ "deps": { "common": [ { - "id": "rustls-pemfile 1.0.1", - "target": "rustls_pemfile" - } - ], - "selects": { - "cfg(all(unix, not(target_os = \"macos\")))": [ - { - "id": "openssl-probe 0.1.5", - "target": "openssl_probe" - } - ], - "cfg(target_os = \"macos\")": [ - { - "id": "security-framework 2.7.0", - "target": "security_framework" - } - ], - "cfg(windows)": [ - { - "id": "schannel 0.1.20", - "target": "schannel" - } - ] - } - }, - "edition": "2018", - "version": "0.6.2" - }, - "license": "Apache-2.0/ISC/MIT" - }, - "rustls-pemfile 1.0.1": { - "name": "rustls-pemfile", - "version": "1.0.1", - "repository": { - "Http": { - "url": "https://crates.io/api/v1/crates/rustls-pemfile/1.0.1/download", - "sha256": "0864aeff53f8c05aa08d86e5ef839d3dfcf07aeba2db32f12db0ef716e87bd55" - } - }, - "targets": [ - { - "Library": { - "crate_name": "rustls_pemfile", - "crate_root": "src/lib.rs", - "srcs": [ - "**/*.rs" - ] - } - } - ], - "library_target_name": "rustls_pemfile", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "deps": { - "common": [ - { - "id": "base64 0.13.0", - "target": "base64" + "id": "base64 0.13.0", + "target": "base64" } ], "selects": {} @@ -8693,13 +9359,13 @@ }, "license": "Apache-2.0/ISC/MIT" }, - "sec1 0.3.0": { + "sec1 0.7.3": { "name": "sec1", - "version": "0.3.0", + "version": "0.7.3", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/sec1/0.3.0/download", - "sha256": "3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928" + "url": "https://crates.io/api/v1/crates/sec1/0.7.3/download", + "sha256": "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" } }, "targets": [ @@ -8718,34 +9384,36 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "alloc", - "base16ct", - "default", - "der", - "generic-array", - "pem", - "pkcs8", - "point", - "subtle", - "zeroize" - ], + "crate_features": { + "common": [ + "alloc", + "default", + "der", + "pem", + "pkcs8", + "point", + "std", + "subtle", + "zeroize" + ], + "selects": {} + }, "deps": { "common": [ { - "id": "base16ct 0.1.1", + "id": "base16ct 0.2.0", "target": "base16ct" }, { - "id": "der 0.6.0", + "id": "der 0.7.7", "target": "der" }, { - "id": "generic-array 0.14.6", + "id": "generic-array 0.14.7", "target": "generic_array" }, { - "id": "pkcs8 0.9.0", + "id": "pkcs8 0.10.2", "target": "pkcs8" }, { @@ -8760,7 +9428,7 @@ "selects": {} }, "edition": "2021", - "version": "0.3.0" + "version": "0.7.3" }, "license": "Apache-2.0 OR MIT" }, @@ -8789,10 +9457,13 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "OSX_10_9", - "default" - ], + "crate_features": { + "common": [ + "OSX_10_9", + "default" + ], + "selects": {} + }, "deps": { "common": [ { @@ -8808,7 +9479,7 @@ "target": "core_foundation_sys" }, { - "id": "libc 0.2.132", + "id": "libc 0.2.147", "target": "libc" }, { @@ -8848,10 +9519,13 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "OSX_10_9", - "default" - ], + "crate_features": { + "common": [ + "OSX_10_9", + "default" + ], + "selects": {} + }, "deps": { "common": [ { @@ -8859,7 +9533,7 @@ "target": "core_foundation_sys" }, { - "id": "libc 0.2.132", + "id": "libc 0.2.147", "target": "libc" } ], @@ -8870,13 +9544,13 @@ }, "license": "MIT OR Apache-2.0" }, - "serde 1.0.144": { + "serde 1.0.175": { "name": "serde", - "version": "1.0.144", + "version": "1.0.175", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/serde/1.0.144/download", - "sha256": "0f747710de3dcd43b88c9168773254e809d8ddbdf9653b84e2554ab219f17860" + "url": "https://crates.io/api/v1/crates/serde/1.0.175/download", + "sha256": "5d25439cd7397d044e2748a6fe2432b5e85db703d6d097bd014b3c0ad1ebff0b" } }, "targets": [ @@ -8904,17 +9578,20 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "alloc", - "default", - "derive", - "serde_derive", - "std" - ], + "crate_features": { + "common": [ + "alloc", + "default", + "derive", + "serde_derive", + "std" + ], + "selects": {} + }, "deps": { "common": [ { - "id": "serde 1.0.144", + "id": "serde 1.0.175", "target": "build_script_build" } ], @@ -8924,13 +9601,13 @@ "proc_macro_deps": { "common": [ { - "id": "serde_derive 1.0.144", + "id": "serde_derive 1.0.175", "target": "serde_derive" } ], "selects": {} }, - "version": "1.0.144" + "version": "1.0.175" }, "build_script_attrs": { "data_glob": [ @@ -8939,13 +9616,13 @@ }, "license": "MIT OR Apache-2.0" }, - "serde_bytes 0.11.7": { + "serde_bytes 0.11.12": { "name": "serde_bytes", - "version": "0.11.7", + "version": "0.11.12", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/serde_bytes/0.11.7/download", - "sha256": "cfc50e8183eeeb6178dcb167ae34a8051d63535023ae38b5d8d12beae193d37b" + "url": "https://crates.io/api/v1/crates/serde_bytes/0.11.12/download", + "sha256": "ab33ec92f677585af6d88c65593ae2375adde54efdbf16d597f2cbc7a6d368ff" } }, "targets": [ @@ -8964,21 +9641,24 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "default", - "std" - ], + "crate_features": { + "common": [ + "default", + "std" + ], + "selects": {} + }, "deps": { "common": [ { - "id": "serde 1.0.144", + "id": "serde 1.0.175", "target": "serde" } ], "selects": {} }, "edition": "2018", - "version": "0.11.7" + "version": "0.11.12" }, "license": "MIT OR Apache-2.0" }, @@ -9007,10 +9687,13 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "default", - "std" - ], + "crate_features": { + "common": [ + "default", + "std" + ], + "selects": {} + }, "deps": { "common": [ { @@ -9018,7 +9701,7 @@ "target": "half" }, { - "id": "serde 1.0.144", + "id": "serde 1.0.175", "target": "serde" } ], @@ -9029,13 +9712,13 @@ }, "license": "MIT/Apache-2.0" }, - "serde_derive 1.0.144": { + "serde_derive 1.0.175": { "name": "serde_derive", - "version": "1.0.144", + "version": "1.0.175", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/serde_derive/1.0.144/download", - "sha256": "94ed3a816fb1d101812f83e789f888322c34e291f894f19590dc310963e87a00" + "url": "https://crates.io/api/v1/crates/serde_derive/1.0.175/download", + "sha256": "b23f7ade6f110613c0d63858ddb8b94c1041f550eab58a16b371bdf2c9c80ab4" } }, "targets": [ @@ -9047,15 +9730,6 @@ "**/*.rs" ] } - }, - { - "BuildScript": { - "crate_name": "build_script_build", - "crate_root": "build.rs", - "srcs": [ - "**/*.rs" - ] - } } ], "library_target_name": "serde_derive", @@ -9063,37 +9737,33 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "default" - ], - "deps": { + "crate_features": { "common": [ - { - "id": "proc-macro2 1.0.64", - "target": "proc_macro2" - }, - { - "id": "quote 1.0.29", - "target": "quote" - }, - { - "id": "serde_derive 1.0.144", - "target": "build_script_build" - }, - { - "id": "syn 1.0.99", - "target": "syn" - } + "default" ], "selects": {} }, + "deps": { + "common": [], + "selects": { + "cfg(not(all(target_arch = \"x86_64\", target_os = \"linux\", target_env = \"gnu\")))": [ + { + "id": "proc-macro2 1.0.64", + "target": "proc_macro2" + }, + { + "id": "quote 1.0.29", + "target": "quote" + }, + { + "id": "syn 2.0.25", + "target": "syn" + } + ] + } + }, "edition": "2015", - "version": "1.0.144" - }, - "build_script_attrs": { - "data_glob": [ - "**" - ] + "version": "1.0.175" }, "license": "MIT OR Apache-2.0" }, @@ -9131,10 +9801,13 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "default", - "std" - ], + "crate_features": { + "common": [ + "default", + "std" + ], + "selects": {} + }, "deps": { "common": [ { @@ -9146,7 +9819,7 @@ "target": "ryu" }, { - "id": "serde 1.0.144", + "id": "serde 1.0.175", "target": "serde" }, { @@ -9166,6 +9839,53 @@ }, "license": "MIT OR Apache-2.0" }, + "serde_repr 0.1.15": { + "name": "serde_repr", + "version": "0.1.15", + "repository": { + "Http": { + "url": "https://crates.io/api/v1/crates/serde_repr/0.1.15/download", + "sha256": "e168eaaf71e8f9bd6037feb05190485708e019f4fd87d161b3c0a0d37daf85e5" + } + }, + "targets": [ + { + "ProcMacro": { + "crate_name": "serde_repr", + "crate_root": "src/lib.rs", + "srcs": [ + "**/*.rs" + ] + } + } + ], + "library_target_name": "serde_repr", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "proc-macro2 1.0.64", + "target": "proc_macro2" + }, + { + "id": "quote 1.0.29", + "target": "quote" + }, + { + "id": "syn 2.0.25", + "target": "syn" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.1.15" + }, + "license": "MIT OR Apache-2.0" + }, "serde_tokenstream 0.1.7": { "name": "serde_tokenstream", "version": "0.1.7", @@ -9198,7 +9918,7 @@ "target": "proc_macro2" }, { - "id": "serde 1.0.144", + "id": "serde 1.0.175", "target": "serde" }, { @@ -9253,7 +9973,7 @@ "target": "ryu" }, { - "id": "serde 1.0.144", + "id": "serde 1.0.175", "target": "serde" } ], @@ -9264,13 +9984,13 @@ }, "license": "MIT/Apache-2.0" }, - "sha2 0.10.3": { + "sha2 0.10.7": { "name": "sha2", - "version": "0.10.3", + "version": "0.10.7", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/sha2/0.10.3/download", - "sha256": "899bf02746a2c92bf1053d9327dadb252b01af1f81f90cdb902411f518bc7215" + "url": "https://crates.io/api/v1/crates/sha2/0.10.7/download", + "sha256": "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8" } }, "targets": [ @@ -9289,10 +10009,13 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "default", - "std" - ], + "crate_features": { + "common": [ + "default", + "std" + ], + "selects": {} + }, "deps": { "common": [ { @@ -9300,7 +10023,7 @@ "target": "cfg_if" }, { - "id": "digest 0.10.3", + "id": "digest 0.10.7", "target": "digest" } ], @@ -9314,7 +10037,7 @@ } }, "edition": "2018", - "version": "0.10.3" + "version": "0.10.7" }, "license": "MIT OR Apache-2.0" }, @@ -9343,10 +10066,13 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "default", - "std" - ], + "crate_features": { + "common": [ + "default", + "std" + ], + "selects": {} + }, "deps": { "common": [ { @@ -9380,13 +10106,13 @@ }, "license": "MIT OR Apache-2.0" }, - "signature 1.6.0": { + "signature 2.1.0": { "name": "signature", - "version": "1.6.0", + "version": "2.1.0", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/signature/1.6.0/download", - "sha256": "f0ea32af43239f0d353a7dd75a22d94c329c8cdaafdcb4c1c1335aa10c298a4a" + "url": "https://crates.io/api/v1/crates/signature/2.1.0/download", + "sha256": "5e1788eed21689f9cf370582dfc467ef36ed9c707f073528ddafa8d83e3b8500" } }, "targets": [ @@ -9405,28 +10131,30 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "digest", - "digest-preview", - "rand-preview", - "rand_core", - "std" - ], + "crate_features": { + "common": [ + "alloc", + "digest", + "rand_core", + "std" + ], + "selects": {} + }, "deps": { "common": [ { - "id": "digest 0.10.3", + "id": "digest 0.10.7", "target": "digest" }, { - "id": "rand_core 0.6.3", + "id": "rand_core 0.6.4", "target": "rand_core" } ], "selects": {} }, "edition": "2021", - "version": "1.6.0" + "version": "2.1.0" }, "license": "Apache-2.0 OR MIT" }, @@ -9466,7 +10194,7 @@ "target": "num_traits" }, { - "id": "thiserror 1.0.33", + "id": "thiserror 1.0.44", "target": "thiserror" }, { @@ -9506,10 +10234,13 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "default", - "std" - ], + "crate_features": { + "common": [ + "default", + "std" + ], + "selects": {} + }, "edition": "2018", "version": "0.3.10" }, @@ -9549,10 +10280,13 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "default", - "std" - ], + "crate_features": { + "common": [ + "default", + "std" + ], + "selects": {} + }, "deps": { "common": [ { @@ -9611,13 +10345,13 @@ }, "license": "MIT OR Apache-2.0" }, - "socket2 0.4.7": { + "socket2 0.4.9": { "name": "socket2", - "version": "0.4.7", + "version": "0.4.9", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/socket2/0.4.7/download", - "sha256": "02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd" + "url": "https://crates.io/api/v1/crates/socket2/0.4.9/download", + "sha256": "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" } }, "targets": [ @@ -9636,15 +10370,18 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "all" - ], + "crate_features": { + "common": [ + "all" + ], + "selects": {} + }, "deps": { "common": [], "selects": { "cfg(unix)": [ { - "id": "libc 0.2.132", + "id": "libc 0.2.147", "target": "libc" } ], @@ -9657,7 +10394,7 @@ } }, "edition": "2018", - "version": "0.4.7" + "version": "0.4.9" }, "license": "MIT OR Apache-2.0" }, @@ -9691,13 +10428,13 @@ }, "license": "MIT" }, - "spki 0.6.0": { + "spki 0.7.2": { "name": "spki", - "version": "0.6.0", + "version": "0.7.2", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/spki/0.6.0/download", - "sha256": "67cf02bbac7a337dc36e4f5a693db6c21e7863f45070f7064577eb4367a3212b" + "url": "https://crates.io/api/v1/crates/spki/0.7.2/download", + "sha256": "9d1e996ef02c474957d681f1b05213dfb0abab947b446a62d37770b23500184a" } }, "targets": [ @@ -9716,27 +10453,25 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "alloc", - "base64ct", - "pem", - "std" - ], + "crate_features": { + "common": [ + "alloc", + "pem", + "std" + ], + "selects": {} + }, "deps": { "common": [ { - "id": "base64ct 1.5.2", - "target": "base64ct" - }, - { - "id": "der 0.6.0", + "id": "der 0.7.7", "target": "der" } ], "selects": {} }, "edition": "2021", - "version": "0.6.0" + "version": "0.7.2" }, "license": "Apache-2.0 OR MIT" }, @@ -9772,7 +10507,7 @@ "target": "debug_unreachable" }, { - "id": "once_cell 1.13.1", + "id": "once_cell 1.18.0", "target": "once_cell" }, { @@ -9820,9 +10555,12 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "i128" - ], + "crate_features": { + "common": [ + "i128" + ], + "selects": {} + }, "edition": "2015", "version": "2.4.1" }, @@ -9862,19 +10600,22 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "clone-impls", - "default", - "derive", - "extra-traits", - "fold", - "full", - "parsing", - "printing", - "proc-macro", - "quote", - "visit" - ], + "crate_features": { + "common": [ + "clone-impls", + "default", + "derive", + "extra-traits", + "fold", + "full", + "parsing", + "printing", + "proc-macro", + "quote", + "visit" + ], + "selects": {} + }, "deps": { "common": [ { @@ -9931,17 +10672,20 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "clone-impls", - "default", - "derive", - "full", - "parsing", - "printing", - "proc-macro", - "quote", - "visit-mut" - ], + "crate_features": { + "common": [ + "clone-impls", + "default", + "derive", + "full", + "parsing", + "printing", + "proc-macro", + "quote", + "visit-mut" + ], + "selects": {} + }, "deps": { "common": [ { @@ -10007,7 +10751,7 @@ "selects": { "cfg(any(unix, target_os = \"wasi\"))": [ { - "id": "libc 0.2.132", + "id": "libc 0.2.147", "target": "libc" } ], @@ -10055,9 +10799,12 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "default" - ], + "crate_features": { + "common": [ + "default" + ], + "selects": {} + }, "deps": { "common": [ { @@ -10131,13 +10878,13 @@ }, "license": "Unlicense OR MIT" }, - "thiserror 1.0.33": { + "thiserror 1.0.44": { "name": "thiserror", - "version": "1.0.33", + "version": "1.0.44", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/thiserror/1.0.33/download", - "sha256": "3d0a539a918745651435ac7db7a18761589a94cd7e94cd56999f828bf73c8a57" + "url": "https://crates.io/api/v1/crates/thiserror/1.0.44/download", + "sha256": "611040a08a0439f8248d1990b111c95baa9c704c805fa1f62104b39655fd7f90" } }, "targets": [ @@ -10149,6 +10896,15 @@ "**/*.rs" ] } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": [ + "**/*.rs" + ] + } } ], "library_target_name": "thiserror", @@ -10156,27 +10912,41 @@ "compile_data_glob": [ "**" ], - "edition": "2018", + "deps": { + "common": [ + { + "id": "thiserror 1.0.44", + "target": "build_script_build" + } + ], + "selects": {} + }, + "edition": "2021", "proc_macro_deps": { "common": [ { - "id": "thiserror-impl 1.0.33", + "id": "thiserror-impl 1.0.44", "target": "thiserror_impl" } ], "selects": {} }, - "version": "1.0.33" + "version": "1.0.44" + }, + "build_script_attrs": { + "data_glob": [ + "**" + ] }, "license": "MIT OR Apache-2.0" }, - "thiserror-impl 1.0.33": { + "thiserror-impl 1.0.44": { "name": "thiserror-impl", - "version": "1.0.33", + "version": "1.0.44", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/thiserror-impl/1.0.33/download", - "sha256": "c251e90f708e16c49a16f4917dc2131e75222b72edfa9cb7f7c58ae56aae0c09" + "url": "https://crates.io/api/v1/crates/thiserror-impl/1.0.44/download", + "sha256": "090198534930841fab3a5d1bb637cde49e339654e606195f8d9c76eeb081dc96" } }, "targets": [ @@ -10206,14 +10976,14 @@ "target": "quote" }, { - "id": "syn 1.0.99", + "id": "syn 2.0.25", "target": "syn" } ], "selects": {} }, - "edition": "2018", - "version": "1.0.33" + "edition": "2021", + "version": "1.0.44" }, "license": "MIT OR Apache-2.0" }, @@ -10242,15 +11012,18 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "alloc", - "formatting", - "itoa", - "macros", - "parsing", - "std", - "time-macros" - ], + "crate_features": { + "common": [ + "alloc", + "formatting", + "itoa", + "macros", + "parsing", + "std", + "time-macros" + ], + "selects": {} + }, "deps": { "common": [ { @@ -10261,7 +11034,7 @@ "selects": { "cfg(target_family = \"unix\")": [ { - "id": "libc 0.2.132", + "id": "libc 0.2.147", "target": "libc" }, { @@ -10349,10 +11122,13 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "default", - "sha3" - ], + "crate_features": { + "common": [ + "default", + "sha3" + ], + "selects": {} + }, "deps": { "common": [ { @@ -10401,11 +11177,14 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "alloc", - "default", - "tinyvec_macros" - ], + "crate_features": { + "common": [ + "alloc", + "default", + "tinyvec_macros" + ], + "selects": {} + }, "deps": { "common": [ { @@ -10450,13 +11229,13 @@ }, "license": "MIT OR Apache-2.0 OR Zlib" }, - "tokio 1.20.1": { + "tokio 1.29.1": { "name": "tokio", - "version": "1.20.1", + "version": "1.29.1", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/tokio/1.20.1/download", - "sha256": "7a8325f63a7d4774dd041e363b2409ed1c5cbbd0f867795e661df066b2b0a581" + "url": "https://crates.io/api/v1/crates/tokio/1.29.1/download", + "sha256": "532826ff75199d5833b9d2c5fe410f29235e25704ee5f0ef599fb51c21f4a4da" } }, "targets": [ @@ -10484,26 +11263,27 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "bytes", - "default", - "fs", - "io-util", - "libc", - "macros", - "memchr", - "mio", - "net", - "num_cpus", - "once_cell", - "rt", - "rt-multi-thread", - "socket2", - "sync", - "time", - "tokio-macros", - "winapi" - ], + "crate_features": { + "common": [ + "bytes", + "default", + "fs", + "io-util", + "libc", + "macros", + "mio", + "net", + "num_cpus", + "rt", + "rt-multi-thread", + "socket2", + "sync", + "time", + "tokio-macros", + "windows-sys" + ], + "selects": {} + }, "deps": { "common": [ { @@ -10511,60 +11291,60 @@ "target": "bytes" }, { - "id": "memchr 2.5.0", - "target": "memchr" - }, - { - "id": "mio 0.8.4", + "id": "mio 0.8.8", "target": "mio" }, { "id": "num_cpus 1.13.1", "target": "num_cpus" }, - { - "id": "once_cell 1.13.1", - "target": "once_cell" - }, { "id": "pin-project-lite 0.2.9", "target": "pin_project_lite" }, { - "id": "socket2 0.4.7", - "target": "socket2" - }, - { - "id": "tokio 1.20.1", + "id": "tokio 1.29.1", "target": "build_script_build" } ], "selects": { + "cfg(not(any(target_arch = \"wasm32\", target_arch = \"wasm64\")))": [ + { + "id": "socket2 0.4.9", + "target": "socket2" + } + ], + "cfg(tokio_taskdump)": [ + { + "id": "backtrace 0.3.68", + "target": "backtrace" + } + ], "cfg(unix)": [ { - "id": "libc 0.2.132", + "id": "libc 0.2.147", "target": "libc" } ], "cfg(windows)": [ { - "id": "winapi 0.3.9", - "target": "winapi" + "id": "windows-sys 0.48.0", + "target": "windows_sys" } ] } }, - "edition": "2018", + "edition": "2021", "proc_macro_deps": { "common": [ { - "id": "tokio-macros 1.8.0", + "id": "tokio-macros 2.1.0", "target": "tokio_macros" } ], "selects": {} }, - "version": "1.20.1" + "version": "1.29.1" }, "build_script_attrs": { "data_glob": [ @@ -10582,13 +11362,13 @@ }, "license": "MIT" }, - "tokio-macros 1.8.0": { + "tokio-macros 2.1.0": { "name": "tokio-macros", - "version": "1.8.0", + "version": "2.1.0", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/tokio-macros/1.8.0/download", - "sha256": "9724f9a975fb987ef7a3cd9be0350edcbe130698af5b8f7a631e23d42d052484" + "url": "https://crates.io/api/v1/crates/tokio-macros/2.1.0/download", + "sha256": "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" } }, "targets": [ @@ -10618,14 +11398,14 @@ "target": "quote" }, { - "id": "syn 1.0.99", + "id": "syn 2.0.25", "target": "syn" } ], "selects": {} }, "edition": "2018", - "version": "1.8.0" + "version": "2.1.0" }, "license": "MIT" }, @@ -10661,7 +11441,7 @@ "target": "native_tls" }, { - "id": "tokio 1.20.1", + "id": "tokio 1.29.1", "target": "tokio" } ], @@ -10697,11 +11477,14 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "default", - "logging", - "tls12" - ], + "crate_features": { + "common": [ + "default", + "logging", + "tls12" + ], + "selects": {} + }, "deps": { "common": [ { @@ -10709,7 +11492,7 @@ "target": "rustls" }, { - "id": "tokio 1.20.1", + "id": "tokio 1.29.1", "target": "tokio" }, { @@ -10749,12 +11532,15 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "codec", - "default", - "io", - "tracing" - ], + "crate_features": { + "common": [ + "codec", + "default", + "io", + "tracing" + ], + "selects": {} + }, "deps": { "common": [ { @@ -10774,7 +11560,7 @@ "target": "pin_project_lite" }, { - "id": "tokio 1.20.1", + "id": "tokio 1.29.1", "target": "tokio" }, { @@ -10814,13 +11600,16 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "default" - ], + "crate_features": { + "common": [ + "default" + ], + "selects": {} + }, "deps": { "common": [ { - "id": "serde 1.0.144", + "id": "serde 1.0.175", "target": "serde" } ], @@ -10886,9 +11675,12 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "std" - ], + "crate_features": { + "common": [ + "std" + ], + "selects": {} + }, "deps": { "common": [ { @@ -10936,14 +11728,17 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "once_cell", - "std" - ], + "crate_features": { + "common": [ + "once_cell", + "std" + ], + "selects": {} + }, "deps": { "common": [ { - "id": "once_cell 1.13.1", + "id": "once_cell 1.18.0", "target": "once_cell" } ], @@ -11009,10 +11804,13 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "default", - "std" - ], + "crate_features": { + "common": [ + "default", + "std" + ], + "selects": {} + }, "edition": "2015", "version": "2.0.1" }, @@ -11096,11 +11894,14 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "default", - "hardcoded-data", - "std" - ], + "crate_features": { + "common": [ + "default", + "hardcoded-data", + "std" + ], + "selects": {} + }, "edition": "2018", "version": "0.3.8" }, @@ -11161,10 +11962,13 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "default", - "std" - ], + "crate_features": { + "common": [ + "default", + "std" + ], + "selects": {} + }, "deps": { "common": [ { @@ -11204,9 +12008,12 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "default" - ], + "crate_features": { + "common": [ + "default" + ], + "selects": {} + }, "edition": "2015", "version": "0.1.9" }, @@ -11451,10 +12258,13 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "default", - "std" - ], + "crate_features": { + "common": [ + "default", + "std" + ], + "selects": {} + }, "edition": "2018", "version": "0.11.0+wasi-snapshot-preview1" }, @@ -11494,11 +12304,14 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "default", - "spans", - "std" - ], + "crate_features": { + "common": [ + "default", + "spans", + "std" + ], + "selects": {} + }, "deps": { "common": [ { @@ -11556,9 +12369,12 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "spans" - ], + "crate_features": { + "common": [ + "spans" + ], + "selects": {} + }, "deps": { "common": [ { @@ -11570,7 +12386,7 @@ "target": "log" }, { - "id": "once_cell 1.13.1", + "id": "once_cell 1.18.0", "target": "once_cell" }, { @@ -11676,9 +12492,12 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "spans" - ], + "crate_features": { + "common": [ + "spans" + ], + "selects": {} + }, "deps": { "common": [ { @@ -11722,9 +12541,12 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "spans" - ], + "crate_features": { + "common": [ + "spans" + ], + "selects": {} + }, "deps": { "common": [ { @@ -11834,26 +12656,29 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "Blob", - "BlobPropertyBag", - "Crypto", - "Event", - "EventTarget", - "File", - "FormData", - "Headers", - "MessageEvent", - "Request", - "RequestCredentials", - "RequestInit", - "RequestMode", - "Response", - "ServiceWorkerGlobalScope", - "Window", - "Worker", - "WorkerGlobalScope" - ], + "crate_features": { + "common": [ + "Blob", + "BlobPropertyBag", + "Crypto", + "Event", + "EventTarget", + "File", + "FormData", + "Headers", + "MessageEvent", + "Request", + "RequestCredentials", + "RequestInit", + "RequestMode", + "Response", + "ServiceWorkerGlobalScope", + "Window", + "Worker", + "WorkerGlobalScope" + ], + "selects": {} + }, "deps": { "common": [ { @@ -11897,10 +12722,13 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "alloc", - "std" - ], + "crate_features": { + "common": [ + "alloc", + "std" + ], + "selects": {} + }, "deps": { "common": [ { @@ -11992,32 +12820,34 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "consoleapi", - "errhandlingapi", - "fileapi", - "handleapi", - "impl-debug", - "impl-default", - "knownfolders", - "minwinbase", - "minwindef", - "namedpipeapi", - "ntsecapi", - "objbase", - "processenv", - "shlobj", - "std", - "timezoneapi", - "winbase", - "wincon", - "winerror", - "winnt", - "winreg", - "ws2ipdef", - "ws2tcpip", - "wtypesbase" - ], + "crate_features": { + "common": [ + "consoleapi", + "errhandlingapi", + "fileapi", + "handleapi", + "impl-debug", + "impl-default", + "knownfolders", + "minwinbase", + "minwindef", + "ntsecapi", + "objbase", + "processenv", + "shlobj", + "std", + "timezoneapi", + "winbase", + "wincon", + "winerror", + "winnt", + "winreg", + "ws2ipdef", + "ws2tcpip", + "wtypesbase" + ], + "selects": {} + }, "deps": { "common": [ { @@ -12222,27 +13052,24 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "Win32", - "Win32_Foundation", - "Win32_Networking", - "Win32_Networking_WinSock", - "Win32_Security", - "Win32_Security_Authentication", - "Win32_Security_Authentication_Identity", - "Win32_Security_Credentials", - "Win32_Security_Cryptography", - "Win32_Storage", - "Win32_Storage_FileSystem", - "Win32_System", - "Win32_System_IO", - "Win32_System_LibraryLoader", - "Win32_System_Memory", - "Win32_System_Pipes", - "Win32_System_SystemServices", - "Win32_System_WindowsProgramming", - "default" - ], + "crate_features": { + "common": [ + "Win32", + "Win32_Foundation", + "Win32_Security", + "Win32_Security_Authentication", + "Win32_Security_Authentication_Identity", + "Win32_Security_Credentials", + "Win32_Security_Cryptography", + "Win32_System", + "Win32_System_LibraryLoader", + "Win32_System_Memory", + "Win32_System_SystemServices", + "Win32_System_WindowsProgramming", + "default" + ], + "selects": {} + }, "deps": { "common": [], "selects": { @@ -12313,125 +13140,153 @@ }, "license": "MIT OR Apache-2.0" }, - "windows_aarch64_msvc 0.36.1": { - "name": "windows_aarch64_msvc", - "version": "0.36.1", + "windows-sys 0.48.0": { + "name": "windows-sys", + "version": "0.48.0", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/windows_aarch64_msvc/0.36.1/download", - "sha256": "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" + "url": "https://crates.io/api/v1/crates/windows-sys/0.48.0/download", + "sha256": "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" } }, "targets": [ { "Library": { - "crate_name": "windows_aarch64_msvc", + "crate_name": "windows_sys", "crate_root": "src/lib.rs", "srcs": [ "**/*.rs" ] } - }, - { - "BuildScript": { - "crate_name": "build_script_build", - "crate_root": "build.rs", - "srcs": [ - "**/*.rs" - ] - } } ], - "library_target_name": "windows_aarch64_msvc", + "library_target_name": "windows_sys", "common_attrs": { "compile_data_glob": [ "**" ], + "crate_features": { + "common": [ + "Win32", + "Win32_Foundation", + "Win32_Networking", + "Win32_Networking_WinSock", + "Win32_Security", + "Win32_Storage", + "Win32_Storage_FileSystem", + "Win32_System", + "Win32_System_IO", + "Win32_System_Pipes", + "Win32_System_SystemServices", + "Win32_System_WindowsProgramming", + "default" + ], + "selects": {} + }, "deps": { "common": [ { - "id": "windows_aarch64_msvc 0.36.1", - "target": "build_script_build" + "id": "windows-targets 0.48.1", + "target": "windows_targets" } ], "selects": {} }, "edition": "2018", - "version": "0.36.1" - }, - "build_script_attrs": { - "data_glob": [ - "**" - ] + "version": "0.48.0" }, "license": "MIT OR Apache-2.0" }, - "windows_i686_gnu 0.36.1": { - "name": "windows_i686_gnu", - "version": "0.36.1", + "windows-targets 0.48.1": { + "name": "windows-targets", + "version": "0.48.1", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/windows_i686_gnu/0.36.1/download", - "sha256": "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" + "url": "https://crates.io/api/v1/crates/windows-targets/0.48.1/download", + "sha256": "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f" } }, "targets": [ { "Library": { - "crate_name": "windows_i686_gnu", + "crate_name": "windows_targets", "crate_root": "src/lib.rs", "srcs": [ "**/*.rs" ] } - }, - { - "BuildScript": { - "crate_name": "build_script_build", - "crate_root": "build.rs", - "srcs": [ - "**/*.rs" - ] - } } ], - "library_target_name": "windows_i686_gnu", + "library_target_name": "windows_targets", "common_attrs": { "compile_data_glob": [ "**" ], "deps": { - "common": [ - { - "id": "windows_i686_gnu 0.36.1", - "target": "build_script_build" - } - ], - "selects": {} + "common": [], + "selects": { + "aarch64-pc-windows-gnullvm": [ + { + "id": "windows_aarch64_gnullvm 0.48.0", + "target": "windows_aarch64_gnullvm" + } + ], + "cfg(all(target_arch = \"aarch64\", target_env = \"msvc\", not(windows_raw_dylib)))": [ + { + "id": "windows_aarch64_msvc 0.48.0", + "target": "windows_aarch64_msvc" + } + ], + "cfg(all(target_arch = \"x86\", target_env = \"gnu\", not(windows_raw_dylib)))": [ + { + "id": "windows_i686_gnu 0.48.0", + "target": "windows_i686_gnu" + } + ], + "cfg(all(target_arch = \"x86\", target_env = \"msvc\", not(windows_raw_dylib)))": [ + { + "id": "windows_i686_msvc 0.48.0", + "target": "windows_i686_msvc" + } + ], + "cfg(all(target_arch = \"x86_64\", target_env = \"gnu\", not(target_abi = \"llvm\"), not(windows_raw_dylib)))": [ + { + "id": "windows_x86_64_gnu 0.48.0", + "target": "windows_x86_64_gnu" + } + ], + "cfg(all(target_arch = \"x86_64\", target_env = \"msvc\", not(windows_raw_dylib)))": [ + { + "id": "windows_x86_64_msvc 0.48.0", + "target": "windows_x86_64_msvc" + } + ], + "x86_64-pc-windows-gnullvm": [ + { + "id": "windows_x86_64_gnullvm 0.48.0", + "target": "windows_x86_64_gnullvm" + } + ] + } }, "edition": "2018", - "version": "0.36.1" - }, - "build_script_attrs": { - "data_glob": [ - "**" - ] + "version": "0.48.1" }, "license": "MIT OR Apache-2.0" }, - "windows_i686_msvc 0.36.1": { - "name": "windows_i686_msvc", - "version": "0.36.1", + "windows_aarch64_gnullvm 0.48.0": { + "name": "windows_aarch64_gnullvm", + "version": "0.48.0", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/windows_i686_msvc/0.36.1/download", - "sha256": "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" + "url": "https://crates.io/api/v1/crates/windows_aarch64_gnullvm/0.48.0/download", + "sha256": "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" } }, "targets": [ { "Library": { - "crate_name": "windows_i686_msvc", + "crate_name": "windows_aarch64_gnullvm", "crate_root": "src/lib.rs", "srcs": [ "**/*.rs" @@ -12448,7 +13303,7 @@ } } ], - "library_target_name": "windows_i686_msvc", + "library_target_name": "windows_aarch64_gnullvm", "common_attrs": { "compile_data_glob": [ "**" @@ -12456,14 +13311,14 @@ "deps": { "common": [ { - "id": "windows_i686_msvc 0.36.1", + "id": "windows_aarch64_gnullvm 0.48.0", "target": "build_script_build" } ], "selects": {} }, "edition": "2018", - "version": "0.36.1" + "version": "0.48.0" }, "build_script_attrs": { "data_glob": [ @@ -12472,19 +13327,19 @@ }, "license": "MIT OR Apache-2.0" }, - "windows_x86_64_gnu 0.36.1": { - "name": "windows_x86_64_gnu", + "windows_aarch64_msvc 0.36.1": { + "name": "windows_aarch64_msvc", "version": "0.36.1", "repository": { "Http": { - "url": "https://crates.io/api/v1/crates/windows_x86_64_gnu/0.36.1/download", - "sha256": "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" + "url": "https://crates.io/api/v1/crates/windows_aarch64_msvc/0.36.1/download", + "sha256": "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" } }, "targets": [ { "Library": { - "crate_name": "windows_x86_64_gnu", + "crate_name": "windows_aarch64_msvc", "crate_root": "src/lib.rs", "srcs": [ "**/*.rs" @@ -12501,7 +13356,325 @@ } } ], - "library_target_name": "windows_x86_64_gnu", + "library_target_name": "windows_aarch64_msvc", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "windows_aarch64_msvc 0.36.1", + "target": "build_script_build" + } + ], + "selects": {} + }, + "edition": "2018", + "version": "0.36.1" + }, + "build_script_attrs": { + "data_glob": [ + "**" + ] + }, + "license": "MIT OR Apache-2.0" + }, + "windows_aarch64_msvc 0.48.0": { + "name": "windows_aarch64_msvc", + "version": "0.48.0", + "repository": { + "Http": { + "url": "https://crates.io/api/v1/crates/windows_aarch64_msvc/0.48.0/download", + "sha256": "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" + } + }, + "targets": [ + { + "Library": { + "crate_name": "windows_aarch64_msvc", + "crate_root": "src/lib.rs", + "srcs": [ + "**/*.rs" + ] + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": [ + "**/*.rs" + ] + } + } + ], + "library_target_name": "windows_aarch64_msvc", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "windows_aarch64_msvc 0.48.0", + "target": "build_script_build" + } + ], + "selects": {} + }, + "edition": "2018", + "version": "0.48.0" + }, + "build_script_attrs": { + "data_glob": [ + "**" + ] + }, + "license": "MIT OR Apache-2.0" + }, + "windows_i686_gnu 0.36.1": { + "name": "windows_i686_gnu", + "version": "0.36.1", + "repository": { + "Http": { + "url": "https://crates.io/api/v1/crates/windows_i686_gnu/0.36.1/download", + "sha256": "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" + } + }, + "targets": [ + { + "Library": { + "crate_name": "windows_i686_gnu", + "crate_root": "src/lib.rs", + "srcs": [ + "**/*.rs" + ] + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": [ + "**/*.rs" + ] + } + } + ], + "library_target_name": "windows_i686_gnu", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "windows_i686_gnu 0.36.1", + "target": "build_script_build" + } + ], + "selects": {} + }, + "edition": "2018", + "version": "0.36.1" + }, + "build_script_attrs": { + "data_glob": [ + "**" + ] + }, + "license": "MIT OR Apache-2.0" + }, + "windows_i686_gnu 0.48.0": { + "name": "windows_i686_gnu", + "version": "0.48.0", + "repository": { + "Http": { + "url": "https://crates.io/api/v1/crates/windows_i686_gnu/0.48.0/download", + "sha256": "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" + } + }, + "targets": [ + { + "Library": { + "crate_name": "windows_i686_gnu", + "crate_root": "src/lib.rs", + "srcs": [ + "**/*.rs" + ] + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": [ + "**/*.rs" + ] + } + } + ], + "library_target_name": "windows_i686_gnu", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "windows_i686_gnu 0.48.0", + "target": "build_script_build" + } + ], + "selects": {} + }, + "edition": "2018", + "version": "0.48.0" + }, + "build_script_attrs": { + "data_glob": [ + "**" + ] + }, + "license": "MIT OR Apache-2.0" + }, + "windows_i686_msvc 0.36.1": { + "name": "windows_i686_msvc", + "version": "0.36.1", + "repository": { + "Http": { + "url": "https://crates.io/api/v1/crates/windows_i686_msvc/0.36.1/download", + "sha256": "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" + } + }, + "targets": [ + { + "Library": { + "crate_name": "windows_i686_msvc", + "crate_root": "src/lib.rs", + "srcs": [ + "**/*.rs" + ] + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": [ + "**/*.rs" + ] + } + } + ], + "library_target_name": "windows_i686_msvc", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "windows_i686_msvc 0.36.1", + "target": "build_script_build" + } + ], + "selects": {} + }, + "edition": "2018", + "version": "0.36.1" + }, + "build_script_attrs": { + "data_glob": [ + "**" + ] + }, + "license": "MIT OR Apache-2.0" + }, + "windows_i686_msvc 0.48.0": { + "name": "windows_i686_msvc", + "version": "0.48.0", + "repository": { + "Http": { + "url": "https://crates.io/api/v1/crates/windows_i686_msvc/0.48.0/download", + "sha256": "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" + } + }, + "targets": [ + { + "Library": { + "crate_name": "windows_i686_msvc", + "crate_root": "src/lib.rs", + "srcs": [ + "**/*.rs" + ] + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": [ + "**/*.rs" + ] + } + } + ], + "library_target_name": "windows_i686_msvc", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "windows_i686_msvc 0.48.0", + "target": "build_script_build" + } + ], + "selects": {} + }, + "edition": "2018", + "version": "0.48.0" + }, + "build_script_attrs": { + "data_glob": [ + "**" + ] + }, + "license": "MIT OR Apache-2.0" + }, + "windows_x86_64_gnu 0.36.1": { + "name": "windows_x86_64_gnu", + "version": "0.36.1", + "repository": { + "Http": { + "url": "https://crates.io/api/v1/crates/windows_x86_64_gnu/0.36.1/download", + "sha256": "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" + } + }, + "targets": [ + { + "Library": { + "crate_name": "windows_x86_64_gnu", + "crate_root": "src/lib.rs", + "srcs": [ + "**/*.rs" + ] + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": [ + "**/*.rs" + ] + } + } + ], + "library_target_name": "windows_x86_64_gnu", "common_attrs": { "compile_data_glob": [ "**" @@ -12525,6 +13698,112 @@ }, "license": "MIT OR Apache-2.0" }, + "windows_x86_64_gnu 0.48.0": { + "name": "windows_x86_64_gnu", + "version": "0.48.0", + "repository": { + "Http": { + "url": "https://crates.io/api/v1/crates/windows_x86_64_gnu/0.48.0/download", + "sha256": "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" + } + }, + "targets": [ + { + "Library": { + "crate_name": "windows_x86_64_gnu", + "crate_root": "src/lib.rs", + "srcs": [ + "**/*.rs" + ] + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": [ + "**/*.rs" + ] + } + } + ], + "library_target_name": "windows_x86_64_gnu", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "windows_x86_64_gnu 0.48.0", + "target": "build_script_build" + } + ], + "selects": {} + }, + "edition": "2018", + "version": "0.48.0" + }, + "build_script_attrs": { + "data_glob": [ + "**" + ] + }, + "license": "MIT OR Apache-2.0" + }, + "windows_x86_64_gnullvm 0.48.0": { + "name": "windows_x86_64_gnullvm", + "version": "0.48.0", + "repository": { + "Http": { + "url": "https://crates.io/api/v1/crates/windows_x86_64_gnullvm/0.48.0/download", + "sha256": "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" + } + }, + "targets": [ + { + "Library": { + "crate_name": "windows_x86_64_gnullvm", + "crate_root": "src/lib.rs", + "srcs": [ + "**/*.rs" + ] + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": [ + "**/*.rs" + ] + } + } + ], + "library_target_name": "windows_x86_64_gnullvm", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "windows_x86_64_gnullvm 0.48.0", + "target": "build_script_build" + } + ], + "selects": {} + }, + "edition": "2018", + "version": "0.48.0" + }, + "build_script_attrs": { + "data_glob": [ + "**" + ] + }, + "license": "MIT OR Apache-2.0" + }, "windows_x86_64_msvc 0.36.1": { "name": "windows_x86_64_msvc", "version": "0.36.1", @@ -12578,6 +13857,59 @@ }, "license": "MIT OR Apache-2.0" }, + "windows_x86_64_msvc 0.48.0": { + "name": "windows_x86_64_msvc", + "version": "0.48.0", + "repository": { + "Http": { + "url": "https://crates.io/api/v1/crates/windows_x86_64_msvc/0.48.0/download", + "sha256": "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" + } + }, + "targets": [ + { + "Library": { + "crate_name": "windows_x86_64_msvc", + "crate_root": "src/lib.rs", + "srcs": [ + "**/*.rs" + ] + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": [ + "**/*.rs" + ] + } + } + ], + "library_target_name": "windows_x86_64_msvc", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "windows_x86_64_msvc 0.48.0", + "target": "build_script_build" + } + ], + "selects": {} + }, + "edition": "2018", + "version": "0.48.0" + }, + "build_script_attrs": { + "data_glob": [ + "**" + ] + }, + "license": "MIT OR Apache-2.0" + }, "winreg 0.10.1": { "name": "winreg", "version": "0.10.1", @@ -12660,9 +13992,12 @@ "compile_data_glob": [ "**" ], - "crate_features": [ - "alloc" - ], + "crate_features": { + "common": [ + "alloc" + ], + "selects": {} + }, "edition": "2018", "version": "1.5.7" }, @@ -12685,39 +14020,38 @@ "aarch64-linux-android": [ "aarch64-linux-android" ], + "aarch64-pc-windows-gnullvm": [], "aarch64-pc-windows-msvc": [ "aarch64-pc-windows-msvc" ], "aarch64-uwp-windows-msvc": [], "cfg(all(any(target_arch = \"x86_64\", target_arch = \"aarch64\"), target_os = \"hermit\"))": [], + "cfg(all(target_arch = \"aarch64\", target_env = \"msvc\", not(windows_raw_dylib)))": [ + "aarch64-pc-windows-msvc" + ], "cfg(all(target_arch = \"aarch64\", target_os = \"linux\"))": [ "aarch64-unknown-linux-gnu" ], "cfg(all(target_arch = \"wasm32\", target_vendor = \"unknown\", target_os = \"unknown\", target_env = \"\"))": [ "wasm32-unknown-unknown" ], - "cfg(all(unix, not(target_os = \"macos\")))": [ - "aarch64-apple-ios", - "aarch64-apple-ios-sim", - "aarch64-linux-android", - "aarch64-unknown-linux-gnu", - "arm-unknown-linux-gnueabi", - "armv7-linux-androideabi", - "armv7-unknown-linux-gnueabi", - "i686-linux-android", - "i686-unknown-freebsd", - "i686-unknown-linux-gnu", - "powerpc-unknown-linux-gnu", - "s390x-unknown-linux-gnu", - "x86_64-apple-ios", - "x86_64-linux-android", - "x86_64-unknown-freebsd", + "cfg(all(target_arch = \"x86\", target_env = \"gnu\", not(windows_raw_dylib)))": [ + "i686-unknown-linux-gnu" + ], + "cfg(all(target_arch = \"x86\", target_env = \"msvc\", not(windows_raw_dylib)))": [ + "i686-pc-windows-msvc" + ], + "cfg(all(target_arch = \"x86_64\", target_env = \"gnu\", not(target_abi = \"llvm\"), not(windows_raw_dylib)))": [ "x86_64-unknown-linux-gnu" ], + "cfg(all(target_arch = \"x86_64\", target_env = \"msvc\", not(windows_raw_dylib)))": [ + "x86_64-pc-windows-msvc" + ], "cfg(any(target_arch = \"aarch64\", target_arch = \"x86_64\", target_arch = \"x86\"))": [ "aarch64-apple-darwin", "aarch64-apple-ios", "aarch64-apple-ios-sim", + "aarch64-fuchsia", "aarch64-linux-android", "aarch64-pc-windows-msvc", "aarch64-unknown-linux-gnu", @@ -12728,12 +14062,15 @@ "i686-unknown-linux-gnu", "x86_64-apple-darwin", "x86_64-apple-ios", + "x86_64-fuchsia", "x86_64-linux-android", "x86_64-pc-windows-msvc", "x86_64-unknown-freebsd", - "x86_64-unknown-linux-gnu" + "x86_64-unknown-linux-gnu", + "x86_64-unknown-none" ], "cfg(any(target_arch = \"x86\", target_arch = \"x86_64\", all(any(target_arch = \"aarch64\", target_arch = \"arm\"), any(target_os = \"android\", target_os = \"fuchsia\", target_os = \"linux\"))))": [ + "aarch64-fuchsia", "aarch64-linux-android", "aarch64-unknown-linux-gnu", "arm-unknown-linux-gnueabi", @@ -12746,10 +14083,12 @@ "i686-unknown-linux-gnu", "x86_64-apple-darwin", "x86_64-apple-ios", + "x86_64-fuchsia", "x86_64-linux-android", "x86_64-pc-windows-msvc", "x86_64-unknown-freebsd", - "x86_64-unknown-linux-gnu" + "x86_64-unknown-linux-gnu", + "x86_64-unknown-none" ], "cfg(any(target_os = \"android\", target_os = \"linux\"))": [ "aarch64-linux-android", @@ -12790,6 +14129,7 @@ "aarch64-apple-darwin", "aarch64-apple-ios", "aarch64-apple-ios-sim", + "aarch64-fuchsia", "aarch64-linux-android", "aarch64-unknown-linux-gnu", "arm-unknown-linux-gnueabi", @@ -12804,11 +14144,76 @@ "wasm32-wasi", "x86_64-apple-darwin", "x86_64-apple-ios", + "x86_64-fuchsia", "x86_64-linux-android", "x86_64-unknown-freebsd", "x86_64-unknown-linux-gnu" ], + "cfg(not(all(target_arch = \"x86_64\", target_os = \"linux\", target_env = \"gnu\")))": [ + "aarch64-apple-darwin", + "aarch64-apple-ios", + "aarch64-apple-ios-sim", + "aarch64-fuchsia", + "aarch64-linux-android", + "aarch64-pc-windows-msvc", + "aarch64-unknown-linux-gnu", + "arm-unknown-linux-gnueabi", + "armv7-linux-androideabi", + "armv7-unknown-linux-gnueabi", + "i686-apple-darwin", + "i686-linux-android", + "i686-pc-windows-msvc", + "i686-unknown-freebsd", + "i686-unknown-linux-gnu", + "powerpc-unknown-linux-gnu", + "riscv32imc-unknown-none-elf", + "riscv64gc-unknown-none-elf", + "s390x-unknown-linux-gnu", + "thumbv7em-none-eabi", + "thumbv8m.main-none-eabi", + "wasm32-unknown-unknown", + "wasm32-wasi", + "x86_64-apple-darwin", + "x86_64-apple-ios", + "x86_64-fuchsia", + "x86_64-linux-android", + "x86_64-pc-windows-msvc", + "x86_64-unknown-freebsd", + "x86_64-unknown-none" + ], + "cfg(not(any(target_arch = \"wasm32\", target_arch = \"wasm64\")))": [ + "aarch64-apple-darwin", + "aarch64-apple-ios", + "aarch64-apple-ios-sim", + "aarch64-fuchsia", + "aarch64-linux-android", + "aarch64-pc-windows-msvc", + "aarch64-unknown-linux-gnu", + "arm-unknown-linux-gnueabi", + "armv7-linux-androideabi", + "armv7-unknown-linux-gnueabi", + "i686-apple-darwin", + "i686-linux-android", + "i686-pc-windows-msvc", + "i686-unknown-freebsd", + "i686-unknown-linux-gnu", + "powerpc-unknown-linux-gnu", + "riscv32imc-unknown-none-elf", + "riscv64gc-unknown-none-elf", + "s390x-unknown-linux-gnu", + "thumbv7em-none-eabi", + "thumbv8m.main-none-eabi", + "x86_64-apple-darwin", + "x86_64-apple-ios", + "x86_64-fuchsia", + "x86_64-linux-android", + "x86_64-pc-windows-msvc", + "x86_64-unknown-freebsd", + "x86_64-unknown-linux-gnu", + "x86_64-unknown-none" + ], "cfg(not(any(target_os = \"windows\", target_os = \"macos\", target_os = \"ios\")))": [ + "aarch64-fuchsia", "aarch64-linux-android", "aarch64-unknown-linux-gnu", "arm-unknown-linux-gnueabi", @@ -12821,16 +14226,21 @@ "riscv32imc-unknown-none-elf", "riscv64gc-unknown-none-elf", "s390x-unknown-linux-gnu", + "thumbv7em-none-eabi", + "thumbv8m.main-none-eabi", "wasm32-unknown-unknown", "wasm32-wasi", + "x86_64-fuchsia", "x86_64-linux-android", "x86_64-unknown-freebsd", - "x86_64-unknown-linux-gnu" + "x86_64-unknown-linux-gnu", + "x86_64-unknown-none" ], "cfg(not(target_arch = \"wasm32\"))": [ "aarch64-apple-darwin", "aarch64-apple-ios", "aarch64-apple-ios-sim", + "aarch64-fuchsia", "aarch64-linux-android", "aarch64-pc-windows-msvc", "aarch64-unknown-linux-gnu", @@ -12846,17 +14256,53 @@ "riscv32imc-unknown-none-elf", "riscv64gc-unknown-none-elf", "s390x-unknown-linux-gnu", + "thumbv7em-none-eabi", + "thumbv8m.main-none-eabi", "x86_64-apple-darwin", "x86_64-apple-ios", + "x86_64-fuchsia", "x86_64-linux-android", "x86_64-pc-windows-msvc", "x86_64-unknown-freebsd", - "x86_64-unknown-linux-gnu" + "x86_64-unknown-linux-gnu", + "x86_64-unknown-none" + ], + "cfg(not(target_family = \"wasm\"))": [ + "aarch64-apple-darwin", + "aarch64-apple-ios", + "aarch64-apple-ios-sim", + "aarch64-fuchsia", + "aarch64-linux-android", + "aarch64-pc-windows-msvc", + "aarch64-unknown-linux-gnu", + "arm-unknown-linux-gnueabi", + "armv7-linux-androideabi", + "armv7-unknown-linux-gnueabi", + "i686-apple-darwin", + "i686-linux-android", + "i686-pc-windows-msvc", + "i686-unknown-freebsd", + "i686-unknown-linux-gnu", + "powerpc-unknown-linux-gnu", + "riscv32imc-unknown-none-elf", + "riscv64gc-unknown-none-elf", + "s390x-unknown-linux-gnu", + "thumbv7em-none-eabi", + "thumbv8m.main-none-eabi", + "x86_64-apple-darwin", + "x86_64-apple-ios", + "x86_64-fuchsia", + "x86_64-linux-android", + "x86_64-pc-windows-msvc", + "x86_64-unknown-freebsd", + "x86_64-unknown-linux-gnu", + "x86_64-unknown-none" ], "cfg(not(windows))": [ "aarch64-apple-darwin", "aarch64-apple-ios", "aarch64-apple-ios-sim", + "aarch64-fuchsia", "aarch64-linux-android", "aarch64-unknown-linux-gnu", "arm-unknown-linux-gnueabi", @@ -12870,13 +14316,17 @@ "riscv32imc-unknown-none-elf", "riscv64gc-unknown-none-elf", "s390x-unknown-linux-gnu", + "thumbv7em-none-eabi", + "thumbv8m.main-none-eabi", "wasm32-unknown-unknown", "wasm32-wasi", "x86_64-apple-darwin", "x86_64-apple-ios", + "x86_64-fuchsia", "x86_64-linux-android", "x86_64-unknown-freebsd", - "x86_64-unknown-linux-gnu" + "x86_64-unknown-linux-gnu", + "x86_64-unknown-none" ], "cfg(target_arch = \"wasm32\")": [ "wasm32-unknown-unknown", @@ -12891,6 +14341,7 @@ "aarch64-apple-darwin", "aarch64-apple-ios", "aarch64-apple-ios-sim", + "aarch64-fuchsia", "aarch64-linux-android", "aarch64-unknown-linux-gnu", "arm-unknown-linux-gnueabi", @@ -12904,17 +14355,13 @@ "s390x-unknown-linux-gnu", "x86_64-apple-darwin", "x86_64-apple-ios", + "x86_64-fuchsia", "x86_64-linux-android", "x86_64-unknown-freebsd", "x86_64-unknown-linux-gnu" ], "cfg(target_feature = \"atomics\")": [], "cfg(target_os = \"hermit\")": [], - "cfg(target_os = \"macos\")": [ - "aarch64-apple-darwin", - "i686-apple-darwin", - "x86_64-apple-darwin" - ], "cfg(target_os = \"redox\")": [], "cfg(target_os = \"wasi\")": [ "wasm32-wasi" @@ -12924,10 +14371,12 @@ "i686-pc-windows-msvc", "x86_64-pc-windows-msvc" ], + "cfg(tokio_taskdump)": [], "cfg(unix)": [ "aarch64-apple-darwin", "aarch64-apple-ios", "aarch64-apple-ios-sim", + "aarch64-fuchsia", "aarch64-linux-android", "aarch64-unknown-linux-gnu", "arm-unknown-linux-gnueabi", @@ -12941,6 +14390,7 @@ "s390x-unknown-linux-gnu", "x86_64-apple-darwin", "x86_64-apple-ios", + "x86_64-fuchsia", "x86_64-linux-android", "x86_64-unknown-freebsd", "x86_64-unknown-linux-gnu" @@ -12957,6 +14407,7 @@ "i686-uwp-windows-gnu": [], "i686-uwp-windows-msvc": [], "x86_64-pc-windows-gnu": [], + "x86_64-pc-windows-gnullvm": [], "x86_64-pc-windows-msvc": [ "x86_64-pc-windows-msvc" ], diff --git a/Cargo.lock b/Cargo.lock index 2f907351..1b954a7d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,6 +2,21 @@ # It is not intended for manual editing. version = 3 +[[package]] +name = "addr2line" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4fa78e18c64fce05e902adecd7a5eed15a5e0a3439f7b0e169f0252214865e3" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + [[package]] name = "aho-corasick" version = "0.7.18" @@ -60,11 +75,37 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +[[package]] +name = "backoff" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b62ddb9cb1ec0a098ad4bbf9344d0713fa193ae1a80af55febcff2627b6a00c1" +dependencies = [ + "getrandom", + "instant", + "rand", +] + +[[package]] +name = "backtrace" +version = "0.3.68" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4319208da049c43661739c5fade2ba182f09d1dc2299b32298d3a31692b17e12" +dependencies = [ + "addr2line", + "cc", + "cfg-if", + "libc", + "miniz_oxide", + "object", + "rustc-demangle", +] + [[package]] name = "base16ct" -version = "0.1.1" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "349a06037c7bf932dd7e7d1f653678b2038b9ad46a74102f1fc7bd7872678cce" +checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" [[package]] name = "base32" @@ -78,6 +119,12 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" +[[package]] +name = "base64" +version = "0.21.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d" + [[package]] name = "base64ct" version = "1.5.2" @@ -159,8 +206,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a3c196a77437e7cc2fb515ce413a6401291578b5afc8ecb29a3c7ab957f05941" dependencies = [ "digest 0.9.0", - "ff", - "group", + "ff 0.12.0", + "group 0.12.0", "pairing", "rand_core", "subtle", @@ -209,7 +256,7 @@ dependencies = [ "pretty", "serde", "serde_bytes", - "sha2 0.10.3", + "sha2 0.10.7", "thiserror", ] @@ -276,9 +323,9 @@ dependencies = [ [[package]] name = "const-oid" -version = "0.9.0" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "722e23542a15cea1f65d4a1419c4cfd7a26706c70871a13a04238ca3f40f1661" +checksum = "795bc6e66a8e340f075fcf6227e417a2dc976b92b91f3cdc778bb858778b6747" [[package]] name = "core-foundation" @@ -322,9 +369,9 @@ checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" [[package]] name = "crypto-bigint" -version = "0.4.8" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f2b443d17d49dad5ef0ede301c3179cc923b8822f3393b4d2c28c269dd4a122" +checksum = "cf4c2f4e1afd912bc40bfd6fed5d9dc1f288e0ba01bfcc835cc5bc3eb13efe15" dependencies = [ "generic-array", "rand_core", @@ -350,9 +397,9 @@ checksum = "3ee2393c4a91429dffb4bedf19f4d6abf27d8a732c8ce4980305d782e5426d57" [[package]] name = "der" -version = "0.6.0" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13dd2ae565c0a381dde7fade45fce95984c568bdcb4700a4fdbe3175e0380b2f" +checksum = "0c7ed52955ce76b1554f509074bb357d3fb8ac9b51288a65a3fd480d1dfba946" dependencies = [ "const-oid", "pem-rfc7468", @@ -376,11 +423,12 @@ dependencies = [ [[package]] name = "digest" -version = "0.10.3" +version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2fb860ca6fafa5552fb6d0e816a69c8e49f0908bf524e30a90d97c85892d506" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ "block-buffer 0.10.2", + "const-oid", "crypto-common", "subtle", ] @@ -408,14 +456,16 @@ dependencies = [ [[package]] name = "ecdsa" -version = "0.14.4" +version = "0.16.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e852f4174d2a8646a0fa8a34b55797856c722f86267deb0aa1e93f7f247f800e" +checksum = "a4b1e0c257a9e9f25f90ff76d7a68360ed497ee519c8e428d1825ef0000799d4" dependencies = [ "der", + "digest 0.10.7", "elliptic-curve", "rfc6979", "signature", + "spki", ] [[package]] @@ -426,17 +476,16 @@ checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797" [[package]] name = "elliptic-curve" -version = "0.12.3" +version = "0.13.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7bb888ab5300a19b8e5bceef25ac745ad065f3c9f7efc6de1b91958110891d3" +checksum = "968405c8fdc9b3bf4df0a6638858cc0b52462836ab6b1c87377785dd09cf1c0b" dependencies = [ "base16ct", "crypto-bigint", - "der", - "digest 0.10.3", - "ff", + "digest 0.10.7", + "ff 0.13.0", "generic-array", - "group", + "group 0.13.0", "pem-rfc7468", "pkcs8", "rand_core", @@ -482,6 +531,16 @@ dependencies = [ "subtle", ] +[[package]] +name = "ff" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" +dependencies = [ + "rand_core", + "subtle", +] + [[package]] name = "fixedbitset" version = "0.4.2" @@ -608,23 +667,15 @@ dependencies = [ "slab", ] -[[package]] -name = "garcon" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e83fb8961dcd3c26123863998521ae4d07e5e5aa8fb50b503380448f2e0ea069" -dependencies = [ - "futures-util", -] - [[package]] name = "generic-array" -version = "0.14.6" +version = "0.14.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" dependencies = [ "typenum", "version_check", + "zeroize", ] [[package]] @@ -638,6 +689,12 @@ dependencies = [ "wasi", ] +[[package]] +name = "gimli" +version = "0.27.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e" + [[package]] name = "group" version = "0.12.0" @@ -645,7 +702,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7391856def869c1c81063a03457c676fbcd419709c3dfb33d8d319de484b154d" dependencies = [ "byteorder", - "ff", + "ff 0.12.0", + "rand_core", + "subtle", +] + +[[package]] +name = "group" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" +dependencies = [ + "ff 0.13.0", "rand_core", "subtle", ] @@ -702,7 +770,7 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ - "digest 0.10.3", + "digest 0.10.7", ] [[package]] @@ -771,12 +839,9 @@ checksum = "d87c48c02e0dc5e3b849a2041db3029fd066650f8f717c07bf8ed78ccb895cac" dependencies = [ "http", "hyper", - "log", "rustls", - "rustls-native-certs", "tokio", "tokio-rustls", - "webpki-roots", ] [[package]] @@ -794,21 +859,20 @@ dependencies = [ [[package]] name = "ic-agent" -version = "0.22.0" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "261a977b6cc35db6ee84195148f5e8307ffc1bbcb1895a221fe16d0fb097a427" +checksum = "2d89847df1b6514cbfc7bd10d0d6d191ed136ddfe592c64b5204b3fe4d07f475" dependencies = [ "async-trait", + "backoff", "base32", - "base64", "byteorder", "candid", "futures-util", - "garcon", "hex", "http", "http-body", - "hyper-rustls", + "ic-certification", "ic-verify-bls-signature", "k256", "leb128", @@ -823,9 +887,11 @@ dependencies = [ "serde", "serde_bytes", "serde_cbor", - "sha2 0.10.3", + "serde_repr", + "sha2 0.10.7", "simple_asn1", "thiserror", + "tokio", "url", ] @@ -856,6 +922,18 @@ dependencies = [ "syn 1.0.99", ] +[[package]] +name = "ic-certification" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce514ae665701b9d85d5fbba87d177befef83a808b92adf53e2496376303a910" +dependencies = [ + "hex", + "serde", + "serde_bytes", + "sha2 0.10.7", +] + [[package]] name = "ic-test-state-machine-client" version = "2.2.1" @@ -904,7 +982,6 @@ dependencies = [ "anyhow", "async-trait", "candid", - "garcon", "hex", "ic-agent", "icrc1-test-env", @@ -922,14 +999,12 @@ dependencies = [ "hex", "ic-test-state-machine-client", "icrc1-test-env", - "rand", ] [[package]] name = "icrc1-test-replica" version = "0.1.0" dependencies = [ - "garcon", "ic-agent", "reqwest", "tempfile", @@ -1023,14 +1098,16 @@ dependencies = [ [[package]] name = "k256" -version = "0.11.4" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6db2573d3fd3e4cc741affc9b5ce1a8ce36cf29f09f80f36da4309d0ae6d7854" +checksum = "cadb76004ed8e97623117f3df85b17aaa6626ab0b0831e6573f104df16cd1bcc" dependencies = [ "cfg-if", "ecdsa", "elliptic-curve", - "sha2 0.10.3", + "once_cell", + "sha2 0.10.7", + "signature", ] [[package]] @@ -1079,9 +1156,9 @@ checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67" [[package]] name = "libc" -version = "0.2.132" +version = "0.2.147" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8371e4e5341c3a96db127eb2465ac681ced4c433e01dd0e938adbef26ba93ba5" +checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" [[package]] name = "lock_api" @@ -1143,16 +1220,24 @@ version = "0.3.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d" +[[package]] +name = "miniz_oxide" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" +dependencies = [ + "adler", +] + [[package]] name = "mio" -version = "0.8.4" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57ee1c23c7c63b0c9250c339ffdc69255f110b298b901b9f6c82547b7b87caaf" +checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2" dependencies = [ "libc", - "log", "wasi", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -1250,11 +1335,20 @@ dependencies = [ "libc", ] +[[package]] +name = "object" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8bda667d9f2b5051b8833f59f3bf748b28ef54f850f4fcb389a252aa383866d1" +dependencies = [ + "memchr", +] + [[package]] name = "once_cell" -version = "1.13.1" +version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "074864da206b4973b84eb91683020dbefd6a8c3f0f38e054d93954e891935e4e" +checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "opaque-debug" @@ -1313,7 +1407,7 @@ version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "135590d8bdba2b31346f9cd1fb2a912329f5135e832a4f422942eb6ead8b6b3b" dependencies = [ - "group", + "group 0.12.0", ] [[package]] @@ -1336,7 +1430,7 @@ dependencies = [ "libc", "redox_syscall", "smallvec", - "windows-sys", + "windows-sys 0.36.1", ] [[package]] @@ -1347,18 +1441,19 @@ checksum = "b1de2e551fb905ac83f73f7aedf2f0cb4a0da7e35efa24a202a936269f1f18e1" [[package]] name = "pem" -version = "1.1.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03c64931a1a212348ec4f3b4362585eca7159d0d09cbdf4a7f74f02173596fd4" +checksum = "6b13fe415cdf3c8e44518e18a7c95a13431d9bdf6d15367d82b23c377fdd441a" dependencies = [ - "base64", + "base64 0.21.2", + "serde", ] [[package]] name = "pem-rfc7468" -version = "0.6.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24d159833a9105500e0398934e205e0773f0b27529557134ecfc51c27646adac" +checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" dependencies = [ "base64ct", ] @@ -1414,9 +1509,9 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pkcs8" -version = "0.9.0" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9eca2c590a5f85da82668fa685c09ce2888b9430e83299debf1f34b65fd4a4ba" +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" dependencies = [ "der", "spki", @@ -1502,9 +1597,9 @@ dependencies = [ [[package]] name = "rand_core" -version = "0.6.3" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ "getrandom", ] @@ -1561,7 +1656,7 @@ version = "0.11.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b75aa69a3f06bbcc66ede33af2af253c6f7a86b1ca0033f60c580a27074fbf92" dependencies = [ - "base64", + "base64 0.13.0", "bytes", "encoding_rs", "futures-core", @@ -1600,13 +1695,12 @@ dependencies = [ [[package]] name = "rfc6979" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88c86280f057430a52f4861551b092a01b419b8eacefc7c995eacb9dc132fe32" +checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" dependencies = [ - "crypto-bigint", "hmac", - "zeroize", + "subtle", ] [[package]] @@ -1624,6 +1718,12 @@ dependencies = [ "winapi", ] +[[package]] +name = "rustc-demangle" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" + [[package]] name = "rustls" version = "0.20.6" @@ -1636,25 +1736,13 @@ dependencies = [ "webpki", ] -[[package]] -name = "rustls-native-certs" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0167bac7a9f490495f3c33013e7722b53cb087ecbe082fb0c6387c96f634ea50" -dependencies = [ - "openssl-probe", - "rustls-pemfile", - "schannel", - "security-framework", -] - [[package]] name = "rustls-pemfile" version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0864aeff53f8c05aa08d86e5ef839d3dfcf07aeba2db32f12db0ef716e87bd55" dependencies = [ - "base64", + "base64 0.13.0", ] [[package]] @@ -1676,7 +1764,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "88d6731146462ea25d9244b2ed5fd1d716d25c52e4d54aa4fb0f3c4e9854dbe2" dependencies = [ "lazy_static", - "windows-sys", + "windows-sys 0.36.1", ] [[package]] @@ -1697,9 +1785,9 @@ dependencies = [ [[package]] name = "sec1" -version = "0.3.0" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928" +checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" dependencies = [ "base16ct", "der", @@ -1734,18 +1822,18 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.144" +version = "1.0.175" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f747710de3dcd43b88c9168773254e809d8ddbdf9653b84e2554ab219f17860" +checksum = "5d25439cd7397d044e2748a6fe2432b5e85db703d6d097bd014b3c0ad1ebff0b" dependencies = [ "serde_derive", ] [[package]] name = "serde_bytes" -version = "0.11.7" +version = "0.11.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfc50e8183eeeb6178dcb167ae34a8051d63535023ae38b5d8d12beae193d37b" +checksum = "ab33ec92f677585af6d88c65593ae2375adde54efdbf16d597f2cbc7a6d368ff" dependencies = [ "serde", ] @@ -1762,13 +1850,13 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.144" +version = "1.0.175" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94ed3a816fb1d101812f83e789f888322c34e291f894f19590dc310963e87a00" +checksum = "b23f7ade6f110613c0d63858ddb8b94c1041f550eab58a16b371bdf2c9c80ab4" dependencies = [ "proc-macro2", "quote", - "syn 1.0.99", + "syn 2.0.25", ] [[package]] @@ -1782,6 +1870,17 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_repr" +version = "0.1.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e168eaaf71e8f9bd6037feb05190485708e019f4fd87d161b3c0a0d37daf85e5" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.25", +] + [[package]] name = "serde_tokenstream" version = "0.1.7" @@ -1820,22 +1919,22 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.3" +version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "899bf02746a2c92bf1053d9327dadb252b01af1f81f90cdb902411f518bc7215" +checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8" dependencies = [ "cfg-if", "cpufeatures", - "digest 0.10.3", + "digest 0.10.7", ] [[package]] name = "signature" -version = "1.6.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0ea32af43239f0d353a7dd75a22d94c329c8cdaafdcb4c1c1335aa10c298a4a" +checksum = "5e1788eed21689f9cf370582dfc467ef36ed9c707f073528ddafa8d83e3b8500" dependencies = [ - "digest 0.10.3", + "digest 0.10.7", "rand_core", ] @@ -1874,9 +1973,9 @@ checksum = "2fd0db749597d91ff862fd1d55ea87f7855a744a8425a64695b6fca237d1dad1" [[package]] name = "socket2" -version = "0.4.7" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd" +checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" dependencies = [ "libc", "winapi", @@ -1890,9 +1989,9 @@ checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" [[package]] name = "spki" -version = "0.6.0" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67cf02bbac7a337dc36e4f5a693db6c21e7863f45070f7064577eb4367a3212b" +checksum = "9d1e996ef02c474957d681f1b05213dfb0abab947b446a62d37770b23500184a" dependencies = [ "base64ct", "der", @@ -1975,22 +2074,22 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.33" +version = "1.0.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d0a539a918745651435ac7db7a18761589a94cd7e94cd56999f828bf73c8a57" +checksum = "611040a08a0439f8248d1990b111c95baa9c704c805fa1f62104b39655fd7f90" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.33" +version = "1.0.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c251e90f708e16c49a16f4917dc2131e75222b72edfa9cb7f7c58ae56aae0c09" +checksum = "090198534930841fab3a5d1bb637cde49e339654e606195f8d9c76eeb081dc96" dependencies = [ "proc-macro2", "quote", - "syn 1.0.99", + "syn 2.0.25", ] [[package]] @@ -2037,32 +2136,31 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" [[package]] name = "tokio" -version = "1.20.1" +version = "1.29.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a8325f63a7d4774dd041e363b2409ed1c5cbbd0f867795e661df066b2b0a581" +checksum = "532826ff75199d5833b9d2c5fe410f29235e25704ee5f0ef599fb51c21f4a4da" dependencies = [ "autocfg", + "backtrace", "bytes", "libc", - "memchr", "mio", "num_cpus", - "once_cell", "pin-project-lite", "socket2", "tokio-macros", - "winapi", + "windows-sys 0.48.0", ] [[package]] name = "tokio-macros" -version = "1.8.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9724f9a975fb987ef7a3cd9be0350edcbe130698af5b8f7a631e23d42d052484" +checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" dependencies = [ "proc-macro2", "quote", - "syn 1.0.99", + "syn 2.0.25", ] [[package]] @@ -2364,43 +2462,109 @@ version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2" dependencies = [ - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_msvc", + "windows_aarch64_msvc 0.36.1", + "windows_i686_gnu 0.36.1", + "windows_i686_msvc 0.36.1", + "windows_x86_64_gnu 0.36.1", + "windows_x86_64_msvc 0.36.1", ] +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-targets" +version = "0.48.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc 0.48.0", + "windows_i686_gnu 0.48.0", + "windows_i686_msvc 0.48.0", + "windows_x86_64_gnu 0.48.0", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc 0.48.0", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" + [[package]] name = "windows_aarch64_msvc" version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" + [[package]] name = "windows_i686_gnu" version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" +[[package]] +name = "windows_i686_gnu" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" + [[package]] name = "windows_i686_msvc" version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" +[[package]] +name = "windows_i686_msvc" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" + [[package]] name = "windows_x86_64_gnu" version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" + [[package]] name = "windows_x86_64_msvc" version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" + [[package]] name = "winreg" version = "0.10.1" diff --git a/Cargo.toml b/Cargo.toml index 9a52e456..6f20158b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -7,4 +7,18 @@ members = [ "test/suite", "test/runner", "test/replica", -] \ No newline at end of file +] + +[workspace.dependencies] +anyhow = "1.0" +async-trait = "0.1.71" +candid = "0.8" +hex = "0.4.3" +ic-agent = "0.24.0" +reqwest = "0.11" +ic-test-state-machine-client = "2.2.1" +rand = "0.8.5" +ring = "0.16.20" +serde = "1" +tempfile = "3.3" +tokio = { version = "1.20.1", features = ["macros"] } \ No newline at end of file diff --git a/WORKSPACE.bazel b/WORKSPACE.bazel index 86ef3ae3..2378d5b5 100644 --- a/WORKSPACE.bazel +++ b/WORKSPACE.bazel @@ -60,8 +60,8 @@ load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") http_archive( name = "rules_rust", - sha256 = "aaaa4b9591a5dad8d8907ae2dbe6e0eb49e6314946ce4c7149241648e56a1277", - urls = ["https://github.com/bazelbuild/rules_rust/releases/download/0.16.1/rules_rust-v0.16.1.tar.gz"], + sha256 = "4a9cb4fda6ccd5b5ec393b2e944822a62e050c7c06f1ea41607f14c4fdec57a2", + urls = ["https://github.com/bazelbuild/rules_rust/releases/download/0.25.1/rules_rust-v0.25.1.tar.gz"], ) load("@rules_rust//rust:repositories.bzl", "rules_rust_dependencies", "rust_register_toolchains") @@ -70,7 +70,7 @@ rules_rust_dependencies() rust_register_toolchains( edition = "2021", - versions = ["1.66.1"], + versions = ["1.71.0"], ) load("@rules_rust//crate_universe:repositories.bzl", "crate_universe_dependencies") diff --git a/bazel/replica_tools.bzl b/bazel/replica_tools.bzl index 3d243e81..564256b2 100644 --- a/bazel/replica_tools.bzl +++ b/bazel/replica_tools.bzl @@ -4,108 +4,54 @@ package(default_visibility = ["//visibility:public"]) exports_files(["replica", "ic-starter", "canister_sandbox", "sandbox_launcher","ic-test-state-machine"]) """ +IC_COMMIT_HASH = "02138563741c87cefed2b223e31f25b59623307a" + +BINARY_HASHES = { + "ic-starter.gz": { + "linux": "b491c82cae8ebed2e1dc39dbc884c82ce2b4b5a3b67514e37c4edcaca65f296a", + "mac os x": "7f690883abeca846c29a84fd77340ce1812abeb2e23a48f30dcc961603cffd49", + }, + "replica.gz": { + "linux": "12d1e52f240ec5c6c4a1b78c01e0dddcd05de93bcbec18c6d9b3fdbc5b5a713c", + "mac os x": "757def96a7efdbe05fb4291a8f8a9fda194965cfc5cec2edabb82fa825119b22", + }, + "canister_sandbox.gz": { + "linux": "f4f3d4f1661adc6ba038af0723e7fc794fc38f445a7947a500305c5771442139", + "mac os x": "b60d3ea3534bb68acaa639d348a5354021d9a3a91271c3c6b0c964e2ee98de2b", + }, + "sandbox_launcher.gz": { + "linux": "eaacaab81203b6a8a34a5c96c413d4e2491c30e02a881597cb5cf62fe85146b8", + "mac os x": "8aaff3721cb239454e50f51a0fd0e8e7f834b379354f5a0f8d874ff1d805c0b0", + }, + "ic-test-state-machine.gz": { + "linux": "0e29029a7774ea19a37dd670ce105cb54b7e492f246f95adc506b95a32ade8ab", + "mac os x": "3d9bbee8f92b4aaf48e1e390689ea96797fe9cb379fcd803bdfef36393d1233a", + }, +} + def _replica_impl(repository_ctx): repository_ctx.report_progress("Fetching ic-starter") os_name = repository_ctx.os.name + ic_arch = "" if os_name == "linux": - repository_ctx.download( - url = "https://download.dfinity.systems/ic/02138563741c87cefed2b223e31f25b59623307a/binaries/x86_64-linux/ic-starter.gz", - sha256 = "b491c82cae8ebed2e1dc39dbc884c82ce2b4b5a3b67514e37c4edcaca65f296a", - output = "ic-starter.gz", - ) - elif os_name == "mac os x": - repository_ctx.download( - url = "https://download.dfinity.systems/ic/02138563741c87cefed2b223e31f25b59623307a/binaries/x86_64-darwin/ic-starter.gz", - sha256 = "7f690883abeca846c29a84fd77340ce1812abeb2e23a48f30dcc961603cffd49", - output = "ic-starter.gz", - ) - else: - fail("Unsupported operating system: " + os_name) - - ic_starter_path = repository_ctx.path("ic-starter.gz") - repository_ctx.execute(["/usr/bin/gunzip", ic_starter_path]) - repository_ctx.execute(["chmod", "755", "ic-starter"]) - - repository_ctx.report_progress("Fetching replica") - if os_name == "linux": - repository_ctx.download( - url = "https://download.dfinity.systems/ic/02138563741c87cefed2b223e31f25b59623307a/binaries/x86_64-linux/replica.gz", - sha256 = "12d1e52f240ec5c6c4a1b78c01e0dddcd05de93bcbec18c6d9b3fdbc5b5a713c", - output = "replica.gz", - ) + ic_arch = "x86_64-linux" elif os_name == "mac os x": - repository_ctx.download( - url = "https://download.dfinity.systems/ic/02138563741c87cefed2b223e31f25b59623307a/binaries/x86_64-darwin/replica.gz", - sha256 = "757def96a7efdbe05fb4291a8f8a9fda194965cfc5cec2edabb82fa825119b22", - output = "replica.gz", - ) + ic_arch = "x86_64-darwin" else: fail("Unsupported operating system: " + os_name) - ic_replica_path = repository_ctx.path("replica.gz") - repository_ctx.execute(["/usr/bin/gunzip", ic_replica_path]) - repository_ctx.execute(["chmod", "755", "replica"]) repository_ctx.file("BUILD.bazel", REPLICA_BUILD, executable = False) - repository_ctx.report_progress("Fetching canister_sandbox") - if os_name == "linux": - repository_ctx.download( - url = "https://download.dfinity.systems/ic/02138563741c87cefed2b223e31f25b59623307a/binaries/x86_64-linux/canister_sandbox.gz", - sha256 = "f4f3d4f1661adc6ba038af0723e7fc794fc38f445a7947a500305c5771442139", - output = "canister_sandbox.gz", - ) - elif os_name == "mac os x": - repository_ctx.download( - url = "https://download.dfinity.systems/ic/02138563741c87cefed2b223e31f25b59623307a/binaries/x86_64-darwin/canister_sandbox.gz", - sha256 = "b60d3ea3534bb68acaa639d348a5354021d9a3a91271c3c6b0c964e2ee98de2b", - output = "canister_sandbox.gz", - ) - else: - fail("Unsupported operating system: " + os_name) - - ic_canister_sandbox_path = repository_ctx.path("canister_sandbox.gz") - repository_ctx.execute(["/usr/bin/gunzip", ic_canister_sandbox_path]) - repository_ctx.execute(["chmod", "755", "canister_sandbox"]) - - repository_ctx.report_progress("Fetching ic-test-state-machine") - if os_name == "linux": - repository_ctx.download( - url = "https://download.dfinity.systems/ic/2857a39ea4d991b2d5c8307623e00a5360eae84c/binaries/x86_64-linux/ic-test-state-machine.gz", - sha256 = "213369060b47ac5fd6318e5a1fa3101b846d1baad2cd194ac486fa9979dfba1d", - output = "ic-test-state-machine.gz", - ) - elif os_name == "mac os x": - repository_ctx.download( - url = "https://download.dfinity.systems/ic/2857a39ea4d991b2d5c8307623e00a5360eae84c/binaries/x86_64-darwin/ic-test-state-machine.gz", - sha256 = "213369060b47ac5fd6318e5a1fa3101b846d1baad2cd194ac486fa9979dfba1d", - output = "ic-test-state-machine.gz", - ) - else: - fail("Unsupported operating system: " + os_name) - - ic_test_state_machine = repository_ctx.path("ic-test-state-machine.gz") - repository_ctx.execute(["/usr/bin/gunzip", ic_test_state_machine]) - repository_ctx.execute(["chmod", "755", "ic-test-state-machine"]) - - repository_ctx.report_progress("Fetching sandbox_launcher") - if os_name == "linux": + for (bin_name, os_to_hash) in BINARY_HASHES.items(): + repository_ctx.report_progress("Fetching " + bin_name) repository_ctx.download( - url = "https://download.dfinity.systems/ic/02138563741c87cefed2b223e31f25b59623307a/binaries/x86_64-linux/sandbox_launcher.gz", - sha256 = "eaacaab81203b6a8a34a5c96c413d4e2491c30e02a881597cb5cf62fe85146b8", - output = "sandbox_launcher.gz", + url = "https://download.dfinity.systems/ic/{commit}/binaries/{ic_arch}/{bin_name}".format(commit = IC_COMMIT_HASH, ic_arch = ic_arch, bin_name = bin_name), + sha256 = os_to_hash[os_name], + output = bin_name, ) - elif os_name == "mac os x": - repository_ctx.download( - url = "https://download.dfinity.systems/ic/02138563741c87cefed2b223e31f25b59623307a/binaries/x86_64-darwin/sandbox_launcher.gz", - sha256 = "8aaff3721cb239454e50f51a0fd0e8e7f834b379354f5a0f8d874ff1d805c0b0", - output = "sandbox_launcher.gz", - ) - else: - fail("Unsupported operating system " + os_name) - - ic_sandbox_launcher_path = repository_ctx.path("sandbox_launcher.gz") - repository_ctx.execute(["/usr/bin/gunzip", ic_sandbox_launcher_path]) - repository_ctx.execute(["chmod", "755", "sandbox_launcher"]) + bin_path = repository_ctx.path(bin_name) + repository_ctx.execute(["/usr/bin/gunzip", bin_path]) + repository_ctx.execute(["chmod", "755", bin_name.removesuffix(".gz")]) _replica = repository_rule( implementation = _replica_impl, diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 9e2065b1..9058c7d8 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,3 +1,3 @@ [toolchain] -channel = "1.62.1" +channel = "1.71.0" components = ["rustfmt", "clippy"] diff --git a/test/env/Cargo.toml b/test/env/Cargo.toml index 15ee0019..c552aa3c 100644 --- a/test/env/Cargo.toml +++ b/test/env/Cargo.toml @@ -7,7 +7,7 @@ version = "0.1.0" path = "lib.rs" [dependencies] -anyhow = "1.0" -candid = "0.8" -serde = "1" -async-trait = "0.1.71" +anyhow = { workspace = true } +candid = { workspace = true } +serde = { workspace = true } +async-trait = { workspace = true } diff --git a/test/env/replica/Cargo.toml b/test/env/replica/Cargo.toml index 4682998d..af0f4dcc 100644 --- a/test/env/replica/Cargo.toml +++ b/test/env/replica/Cargo.toml @@ -7,12 +7,11 @@ version = "0.1.0" path = "lib.rs" [dependencies] -anyhow = "1.0" -candid = "0.8" -garcon = "0.2.3" -ic-agent = "0.22.0" -rand = "0.8.5" -ring = "0.16.20" -hex = "0.4.3" -async-trait = "0.1.71" -icrc1-test-env = { path = "../" } +anyhow = { workspace = true } +candid = { workspace = true } +ic-agent = { workspace = true } +rand = { workspace = true } +ring = { worksapce = true } +hex = { workspace = true } +async-trait = { workspace = true } +icrc1-test-env = { version = "0.1.0", path = "../" } diff --git a/test/env/replica/lib.rs b/test/env/replica/lib.rs index 76fb1b29..827fac41 100644 --- a/test/env/replica/lib.rs +++ b/test/env/replica/lib.rs @@ -7,7 +7,6 @@ use ic_agent::Agent; use icrc1_test_env::LedgerEnv; use ring::rand::SystemRandom; use std::sync::{Arc, Mutex}; -use std::time::Duration; pub fn fresh_identity(rand: &SystemRandom) -> BasicIdentity { use ring::signature::Ed25519KeyPair as KeyPair; @@ -26,13 +25,6 @@ pub struct ReplicaLedger { canister_id: Principal, } -fn waiter() -> garcon::Delay { - garcon::Delay::builder() - .throttle(Duration::from_millis(500)) - .timeout(Duration::from_secs(60 * 5)) - .build() -} - #[async_trait(?Send)] impl LedgerEnv for ReplicaLedger { fn fork(&self) -> Self { @@ -96,7 +88,7 @@ impl LedgerEnv for ReplicaLedger { .agent .update(&self.canister_id, method) .with_arg(in_bytes) - .call_and_wait(waiter()) + .call_and_wait() .await .with_context(|| { format!( diff --git a/test/env/state-machine/Cargo.toml b/test/env/state-machine/Cargo.toml index d49f48ea..95c4cf43 100644 --- a/test/env/state-machine/Cargo.toml +++ b/test/env/state-machine/Cargo.toml @@ -7,10 +7,9 @@ version = "0.1.0" path = "lib.rs" [dependencies] -anyhow = "1.0" -candid = "0.8" -rand = "0.8.5" -async-trait = "0.1.71" -hex = "0.4.3" -ic-test-state-machine-client = "2.2.1" +anyhow = { workspace = true } +candid = { workspace = true } +async-trait = { workspace = true } +hex = { workspace = true } +ic-test-state-machine-client = { workspace = true } icrc1-test-env = { version = "0.1.0", path = "../" } \ No newline at end of file diff --git a/test/env/state-machine/lib.rs b/test/env/state-machine/lib.rs index aa7c5b28..345f3336 100644 --- a/test/env/state-machine/lib.rs +++ b/test/env/state-machine/lib.rs @@ -4,9 +4,8 @@ use candid::utils::{decode_args, encode_args, ArgumentDecoder, ArgumentEncoder}; use candid::Principal; use ic_test_state_machine_client::StateMachine; use icrc1_test_env::LedgerEnv; -use rand::rngs::ThreadRng; -use rand::Rng; -use std::sync::{Arc, Mutex}; +use std::sync::atomic::{AtomicU64, Ordering}; +use std::sync::Arc; fn new_principal(n: u64) -> Principal { let mut bytes = n.to_le_bytes().to_vec(); @@ -17,7 +16,7 @@ fn new_principal(n: u64) -> Principal { #[derive(Clone)] pub struct SMLedger { - rand: Arc>, + counter: Arc, sm: Arc, sender: Principal, canister_id: Principal, @@ -27,9 +26,9 @@ pub struct SMLedger { impl LedgerEnv for SMLedger { fn fork(&self) -> Self { Self { - rand: self.rand.clone(), + counter: self.counter.clone(), sm: self.sm.clone(), - sender: new_principal(self.rand.lock().expect("failed to grab a lock").gen()), + sender: new_principal(self.counter.fetch_add(1, Ordering::Relaxed)), canister_id: self.canister_id, } } @@ -113,7 +112,7 @@ impl LedgerEnv for SMLedger { impl SMLedger { pub fn new(sm: Arc, canister_id: Principal, sender: Principal) -> Self { Self { - rand: Arc::new(Mutex::new(rand::thread_rng())), + counter: Arc::new(AtomicU64::new(0)), sm, canister_id, sender, diff --git a/test/ref/BUILD.bazel b/test/ref/BUILD.bazel index eb100368..4a94af71 100644 --- a/test/ref/BUILD.bazel +++ b/test/ref/BUILD.bazel @@ -18,11 +18,11 @@ rust_test( ], crate_name = "icrc1_test_ref", data = [ + "@replica_tools//:canister_sandbox", "@replica_tools//:ic-starter", + "@replica_tools//:ic-test-state-machine", "@replica_tools//:replica", - "@replica_tools//:sandbox_launcher", - "@replica_tools//:canister_sandbox", - "@replica_tools//:ic-test-state-machine" + "@replica_tools//:sandbox_launcher", ], env = { "IC_REPLICA_PATH": "$(rootpath @replica_tools//:replica)", @@ -42,11 +42,10 @@ rust_test( "//test/replica", "//test/suite", "@crate_index//:candid", - "@crate_index//:garcon", "@crate_index//:ic-agent", - "@crate_index//:serde", - "@crate_index//:tokio", "@crate_index//:ic-test-state-machine-client", "@crate_index//:ring", + "@crate_index//:serde", + "@crate_index//:tokio", ], ) diff --git a/test/ref/test.rs b/test/ref/test.rs index f57651a4..c1e48ff9 100644 --- a/test/ref/test.rs +++ b/test/ref/test.rs @@ -10,7 +10,6 @@ use icrc1_test_replica::start_replica; use ring::rand::SystemRandom; use serde::{Deserialize, Serialize}; use std::sync::Arc; -use std::time::Duration; const REF_WASM: &[u8] = include_bytes!(env!("REF_WASM_PATH")); @@ -67,11 +66,6 @@ async fn install_canister(agent: &Agent, wasm: &[u8], init_arg: &[u8]) -> Princi arg: &'a [u8], } - let waiter = garcon::Delay::builder() - .throttle(Duration::from_millis(500)) - .timeout(Duration::from_secs(60 * 5)) - .build(); - let response_bytes = agent .update( &Principal::management_canister(), @@ -86,7 +80,7 @@ async fn install_canister(agent: &Agent, wasm: &[u8], init_arg: &[u8]) -> Princi }) .unwrap(), ) - .call_and_wait(waiter.clone()) + .call_and_wait() .await .expect("failed to create a canister"); @@ -105,7 +99,7 @@ async fn install_canister(agent: &Agent, wasm: &[u8], init_arg: &[u8]) -> Princi }) .unwrap(), ) - .call_and_wait(waiter) + .call_and_wait() .await .expect("failed to install canister"); canister_id diff --git a/test/replica/Cargo.toml b/test/replica/Cargo.toml index cbe5c984..11e8735c 100644 --- a/test/replica/Cargo.toml +++ b/test/replica/Cargo.toml @@ -7,8 +7,7 @@ edition = "2018" path = "lib.rs" [dependencies] -ic-agent = "0.22" -garcon = "0.2.3" -reqwest = "0.11" -tempfile = "3.3.0" -tokio = "1.20.1" \ No newline at end of file +ic-agent = { workspace = true } +reqwest = { workspace = true } +tempfile = { workspace = true } +tokio = { workspace = true } \ No newline at end of file diff --git a/test/replica/lib.rs b/test/replica/lib.rs index b9c33282..48aa3f06 100644 --- a/test/replica/lib.rs +++ b/test/replica/lib.rs @@ -153,9 +153,7 @@ pub async fn start_replica( Ok(status) => { ok = status.replica_health_status == Some("healthy".to_string()); if let Some(root_key) = status.root_key.as_ref() { - agent - .set_root_key(root_key.clone()) - .expect("failed to set agent root key"); + agent.set_root_key(root_key.clone()) } last_status = Some(status); } diff --git a/test/runner/Cargo.toml b/test/runner/Cargo.toml index 7bacf3af..7fafe42f 100644 --- a/test/runner/Cargo.toml +++ b/test/runner/Cargo.toml @@ -11,9 +11,9 @@ path = "main.rs" icrc1-test-env = { path = "../env" } icrc1-test-env-replica = { path = "../env/replica" } icrc1-test-suite = { path = "../suite" } -ic-agent = "0.22.0" +ic-agent = { workspace = true } pico-args = "0.5" -reqwest = "0.11" -tokio = { version = "1.20.1", features = ["macros"] } -candid = "0.8" -anyhow = "1.0" \ No newline at end of file +reqwest = { workspace = true } +tokio = { workspace = true } +candid = { workspace = true } +anyhow = { workspace = true } \ No newline at end of file diff --git a/test/suite/lib.rs b/test/suite/lib.rs index 6b613916..8c3e9f0c 100644 --- a/test/suite/lib.rs +++ b/test/suite/lib.rs @@ -64,7 +64,6 @@ async fn assert_balance( Ok(()) } -#[track_caller] async fn transfer_or_fail(ledger_env: &impl LedgerEnv, amount: Nat, receiver: Principal) -> Nat { transfer(ledger_env, Transfer::amount_to(amount.clone(), receiver)) .await @@ -73,7 +72,6 @@ async fn transfer_or_fail(ledger_env: &impl LedgerEnv, amount: Nat, receiver: Pr .unwrap() } -#[track_caller] async fn setup_test_account( ledger_env: &impl LedgerEnv, amount: Nat,