From 469fb5af8dfd51dac2fdc05aefc2040a43a19dc5 Mon Sep 17 00:00:00 2001 From: gregorydemay Date: Wed, 11 Feb 2026 10:16:58 +0100 Subject: [PATCH 1/7] DEFI-2566: depend on non-released version --- Cargo.toml | 6 +++--- bazel/rust.MODULE.bazel | 9 ++++++--- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 1c5bb22fcc7b..3bef09a9dd30 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -646,8 +646,8 @@ ed25519-dalek = { version = "2.2.0", features = [ "hazmat", ] } ethnum = { version = "1.3.2", features = ["serde"] } -evm_rpc_client = "0.3.0" -evm_rpc_types = "3.1.0" +evm_rpc_client = { git = "https://github.com/dfinity/evm-rpc-canister.git", branch = "gdemay/DEFI-2566-prevent-calls-when-stopping" } +evm_rpc_types = { git = "https://github.com/dfinity/evm-rpc-canister.git", branch = "gdemay/DEFI-2566-prevent-calls-when-stopping" } flate2 = "1.0.31" fs_extra = "1.2.0" futures = "0.3.31" @@ -678,7 +678,7 @@ ic-agent = { version = "0.40.1", features = ["pem", "ring"] } ic-bn-lib = { version = "0.1.7", features = ["acme-alpn"] } ic-bn-lib-common = "0.1" ic-btc-interface = "0.2.3" -ic-canister-runtime = "0.1.0" +ic-canister-runtime = { git = "https://github.com/dfinity/canhttp.git", rev = "f8eec859504fe009711d6183c91b326ed0f2e216"} ic-canister-sig-creation = "1.3.1" ic-cbor = "3" ic-cdk = "0.19.0" diff --git a/bazel/rust.MODULE.bazel b/bazel/rust.MODULE.bazel index f4863cc6c244..26790750e58b 100644 --- a/bazel/rust.MODULE.bazel +++ b/bazel/rust.MODULE.bazel @@ -454,11 +454,13 @@ crate.spec( ) crate.spec( package = "evm_rpc_client", - version = "^0.3.0", + git = "https://github.com/dfinity/evm-rpc-canister.git", + rev= "94a38c2f02abcb4e6590ae860d3572e3a193a8a4", ) crate.spec( package = "evm_rpc_types", - version = "^3.1.0", + git = "https://github.com/dfinity/evm-rpc-canister.git", + rev= "94a38c2f02abcb4e6590ae860d3572e3a193a8a4", ) crate.spec( package = "exec", @@ -634,8 +636,9 @@ crate.spec( version = "^0.2.0", ) crate.spec( + git = "https://github.com/dfinity/canhttp.git", package = "ic-canister-runtime", - version = "^0.1.0", + rev = "f8eec859504fe009711d6183c91b326ed0f2e216", ) crate.spec( git = "https://github.com/dfinity/ic-canister-sig-creation.git", From bf14b578867c067866b0b1af5617358f8bfab55c Mon Sep 17 00:00:00 2001 From: gregorydemay Date: Wed, 11 Feb 2026 10:23:47 +0100 Subject: [PATCH 2/7] DEFI-2566: update thiserror + lock files --- Cargo.Bazel.json.lock | 147 +++++++++++++++++++++------------------- Cargo.Bazel.toml.lock | 118 +++++++++++++++++--------------- Cargo.toml | 2 +- bazel/rust.MODULE.bazel | 2 +- 4 files changed, 144 insertions(+), 125 deletions(-) diff --git a/Cargo.Bazel.json.lock b/Cargo.Bazel.json.lock index 236d792b0542..d1d175a4ed7c 100644 --- a/Cargo.Bazel.json.lock +++ b/Cargo.Bazel.json.lock @@ -1,5 +1,5 @@ { - "checksum": "d618464f4d333564bdee8d5fd0f84b62cdd1def00b6b5b3510d888a13f0cfc5a", + "checksum": "be63255a29db22bfe304c2578227933e73c3de701f98d3e735c17eb321b16b76", "crates": { "abnf 0.12.0": { "name": "abnf", @@ -2014,7 +2014,7 @@ "target": "serde_json" }, { - "id": "thiserror 2.0.17", + "id": "thiserror 2.0.18", "target": "thiserror" }, { @@ -3521,7 +3521,7 @@ "target": "rusticata_macros" }, { - "id": "thiserror 2.0.17", + "id": "thiserror 2.0.18", "target": "thiserror" }, { @@ -14327,7 +14327,7 @@ "target": "serde_with" }, { - "id": "thiserror 2.0.17", + "id": "thiserror 2.0.18", "target": "thiserror" }, { @@ -14386,7 +14386,7 @@ "deps": { "common": [ { - "id": "thiserror 2.0.17", + "id": "thiserror 2.0.18", "target": "thiserror" } ], @@ -21665,7 +21665,7 @@ "target": "ic_canister_log" }, { - "id": "ic-canister-runtime 0.1.0", + "id": "ic-canister-runtime 0.1.2", "target": "ic_canister_runtime" }, { @@ -22439,7 +22439,7 @@ "target": "textplots" }, { - "id": "thiserror 2.0.17", + "id": "thiserror 2.0.18", "target": "thiserror" }, { @@ -26495,9 +26495,12 @@ "version": "0.3.0", "package_url": "https://github.com/dfinity/evm-rpc-canister", "repository": { - "Http": { - "url": "https://static.crates.io/crates/evm_rpc_client/0.3.0/download", - "sha256": "11d6b4ecbd21ee4f46919e9640838a54517fe36bad263a3778d8117eb284b44e" + "Git": { + "remote": "https://github.com/dfinity/evm-rpc-canister.git", + "commitish": { + "Rev": "94a38c2f02abcb4e6590ae860d3572e3a193a8a4" + }, + "strip_prefix": "evm_rpc_client" } }, "targets": [ @@ -26530,7 +26533,7 @@ "target": "evm_rpc_types" }, { - "id": "ic-canister-runtime 0.1.0", + "id": "ic-canister-runtime 0.1.2", "target": "ic_canister_runtime" }, { @@ -26571,9 +26574,12 @@ "version": "3.1.0", "package_url": "https://github.com/dfinity/evm-rpc-canister", "repository": { - "Http": { - "url": "https://static.crates.io/crates/evm_rpc_types/3.1.0/download", - "sha256": "75922b95f9ccc305d90df9dc4dca69d6935c2d961528b8a4916900de1880135b" + "Git": { + "remote": "https://github.com/dfinity/evm-rpc-canister.git", + "commitish": { + "Rev": "94a38c2f02abcb4e6590ae860d3572e3a193a8a4" + }, + "strip_prefix": "evm_rpc_types" } }, "targets": [ @@ -26630,7 +26636,7 @@ "target": "strum" }, { - "id": "thiserror 2.0.17", + "id": "thiserror 2.0.18", "target": "thiserror" }, { @@ -32452,7 +32458,7 @@ "target": "rustls_pki_types" }, { - "id": "thiserror 2.0.17", + "id": "thiserror 2.0.18", "target": "thiserror" }, { @@ -32596,7 +32602,7 @@ "target": "smallvec" }, { - "id": "thiserror 2.0.17", + "id": "thiserror 2.0.18", "target": "thiserror" }, { @@ -34716,7 +34722,7 @@ "target": "stop_token" }, { - "id": "thiserror 2.0.17", + "id": "thiserror 2.0.18", "target": "thiserror" }, { @@ -34948,7 +34954,7 @@ "target": "stop_token" }, { - "id": "thiserror 2.0.17", + "id": "thiserror 2.0.18", "target": "thiserror" }, { @@ -35268,7 +35274,7 @@ "target": "tempfile" }, { - "id": "thiserror 2.0.17", + "id": "thiserror 2.0.18", "target": "thiserror" }, { @@ -35488,7 +35494,7 @@ "target": "strum" }, { - "id": "thiserror 2.0.17", + "id": "thiserror 2.0.18", "target": "thiserror" }, { @@ -35640,14 +35646,17 @@ ], "license_file": "LICENSE" }, - "ic-canister-runtime 0.1.0": { + "ic-canister-runtime 0.1.2": { "name": "ic-canister-runtime", - "version": "0.1.0", + "version": "0.1.2", "package_url": "https://github.com/dfinity/canhttp", "repository": { - "Http": { - "url": "https://static.crates.io/crates/ic-canister-runtime/0.1.0/download", - "sha256": "01a81a68bc6825ab81142a4e176ee04d0cc73deeed69753603e90e57b3ddcd3f" + "Git": { + "remote": "https://github.com/dfinity/canhttp.git", + "commitish": { + "Rev": "f8eec859504fe009711d6183c91b326ed0f2e216" + }, + "strip_prefix": "ic-canister-runtime" } }, "targets": [ @@ -35688,7 +35697,7 @@ "target": "serde" }, { - "id": "thiserror 2.0.17", + "id": "thiserror 2.0.18", "target": "thiserror" } ], @@ -35704,7 +35713,7 @@ ], "selects": {} }, - "version": "0.1.0" + "version": "0.1.2" }, "license": "Apache-2.0", "license_ids": [ @@ -35786,7 +35795,7 @@ "target": "sha2" }, { - "id": "thiserror 2.0.17", + "id": "thiserror 2.0.18", "target": "thiserror" } ], @@ -35932,7 +35941,7 @@ "target": "slotmap" }, { - "id": "thiserror 2.0.17", + "id": "thiserror 2.0.18", "target": "thiserror" } ], @@ -36502,7 +36511,7 @@ "target": "strum" }, { - "id": "thiserror 2.0.17", + "id": "thiserror 2.0.18", "target": "thiserror" }, { @@ -36644,7 +36653,7 @@ "target": "strum" }, { - "id": "thiserror 2.0.17", + "id": "thiserror 2.0.18", "target": "thiserror" }, { @@ -36730,7 +36739,7 @@ "target": "strum" }, { - "id": "thiserror 2.0.17", + "id": "thiserror 2.0.18", "target": "thiserror" } ], @@ -36968,7 +36977,7 @@ "target": "rand" }, { - "id": "thiserror 2.0.17", + "id": "thiserror 2.0.18", "target": "thiserror" }, { @@ -37229,7 +37238,7 @@ "target": "strum" }, { - "id": "thiserror 2.0.17", + "id": "thiserror 2.0.18", "target": "thiserror" }, { @@ -37532,7 +37541,7 @@ "target": "simple_asn1" }, { - "id": "thiserror 2.0.17", + "id": "thiserror 2.0.18", "target": "thiserror" } ], @@ -38222,7 +38231,7 @@ "target": "sha2" }, { - "id": "thiserror 2.0.17", + "id": "thiserror 2.0.18", "target": "thiserror" } ], @@ -38310,7 +38319,7 @@ "target": "sha2" }, { - "id": "thiserror 2.0.17", + "id": "thiserror 2.0.18", "target": "thiserror" } ], @@ -38408,7 +38417,7 @@ "target": "strum" }, { - "id": "thiserror 2.0.17", + "id": "thiserror 2.0.18", "target": "thiserror" }, { @@ -38516,7 +38525,7 @@ "target": "strum" }, { - "id": "thiserror 2.0.17", + "id": "thiserror 2.0.18", "target": "thiserror" }, { @@ -41581,7 +41590,7 @@ "target": "serde_json" }, { - "id": "thiserror 2.0.17", + "id": "thiserror 2.0.18", "target": "thiserror" }, { @@ -48076,7 +48085,7 @@ "target": "serde" }, { - "id": "thiserror 2.0.17", + "id": "thiserror 2.0.18", "target": "thiserror" } ], @@ -58245,7 +58254,7 @@ "target": "tempfile" }, { - "id": "thiserror 2.0.17", + "id": "thiserror 2.0.18", "target": "thiserror" }, { @@ -60774,7 +60783,7 @@ "target": "protobuf" }, { - "id": "thiserror 2.0.17", + "id": "thiserror 2.0.18", "target": "thiserror" } ], @@ -65182,7 +65191,7 @@ "target": "libredox" }, { - "id": "thiserror 2.0.17", + "id": "thiserror 2.0.18", "target": "thiserror" } ], @@ -66963,7 +66972,7 @@ "target": "tempfile" }, { - "id": "thiserror 2.0.17", + "id": "thiserror 2.0.18", "target": "thiserror" } ], @@ -69592,7 +69601,7 @@ "target": "serde_json" }, { - "id": "thiserror 2.0.17", + "id": "thiserror 2.0.18", "target": "thiserror" }, { @@ -73017,7 +73026,7 @@ "target": "serde" }, { - "id": "thiserror 2.0.17", + "id": "thiserror 2.0.18", "target": "thiserror" } ], @@ -76526,7 +76535,7 @@ "target": "percent_encoding" }, { - "id": "thiserror 2.0.17", + "id": "thiserror 2.0.18", "target": "thiserror" }, { @@ -80538,14 +80547,14 @@ ], "license_file": "LICENSE-APACHE" }, - "thiserror 2.0.17": { + "thiserror 2.0.18": { "name": "thiserror", - "version": "2.0.17", + "version": "2.0.18", "package_url": "https://github.com/dtolnay/thiserror", "repository": { "Http": { - "url": "https://static.crates.io/crates/thiserror/2.0.17/download", - "sha256": "f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8" + "url": "https://static.crates.io/crates/thiserror/2.0.18/download", + "sha256": "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" } }, "targets": [ @@ -80589,7 +80598,7 @@ "deps": { "common": [ { - "id": "thiserror 2.0.17", + "id": "thiserror 2.0.18", "target": "build_script_build" } ], @@ -80599,13 +80608,13 @@ "proc_macro_deps": { "common": [ { - "id": "thiserror-impl 2.0.17", + "id": "thiserror-impl 2.0.18", "target": "thiserror_impl" } ], "selects": {} }, - "version": "2.0.17" + "version": "2.0.18" }, "build_script_attrs": { "compile_data_glob": [ @@ -80681,14 +80690,14 @@ ], "license_file": "LICENSE-APACHE" }, - "thiserror-impl 2.0.17": { + "thiserror-impl 2.0.18": { "name": "thiserror-impl", - "version": "2.0.17", + "version": "2.0.18", "package_url": "https://github.com/dtolnay/thiserror", "repository": { "Http": { - "url": "https://static.crates.io/crates/thiserror-impl/2.0.17/download", - "sha256": "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913" + "url": "https://static.crates.io/crates/thiserror-impl/2.0.18/download", + "sha256": "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" } }, "targets": [ @@ -80728,7 +80737,7 @@ "selects": {} }, "edition": "2021", - "version": "2.0.17" + "version": "2.0.18" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -84331,7 +84340,7 @@ "target": "pin_project" }, { - "id": "thiserror 2.0.17", + "id": "thiserror 2.0.18", "target": "thiserror" }, { @@ -84415,7 +84424,7 @@ "target": "pin_project" }, { - "id": "thiserror 2.0.17", + "id": "thiserror 2.0.18", "target": "thiserror" }, { @@ -85843,7 +85852,7 @@ "target": "sha1" }, { - "id": "thiserror 2.0.17", + "id": "thiserror 2.0.18", "target": "thiserror" }, { @@ -90635,7 +90644,7 @@ "target": "target_lexicon" }, { - "id": "thiserror 2.0.17", + "id": "thiserror 2.0.18", "target": "thiserror" }, { @@ -92239,7 +92248,7 @@ "target": "target_lexicon" }, { - "id": "thiserror 2.0.17", + "id": "thiserror 2.0.18", "target": "thiserror" }, { @@ -96666,7 +96675,7 @@ "target": "rusticata_macros" }, { - "id": "thiserror 2.0.17", + "id": "thiserror 2.0.18", "target": "thiserror" }, { @@ -98527,7 +98536,7 @@ "ic-bn-lib-common 0.1.0", "ic-btc-interface 0.2.3", "ic-canister-log 0.2.0", - "ic-canister-runtime 0.1.0", + "ic-canister-runtime 0.1.2", "ic-canister-sig-creation 1.3.0", "ic-cbor 3.0.3", "ic-cdk 0.19.0", @@ -98727,7 +98736,7 @@ "test-strategy 0.3.1", "tester 0.7.0", "textplots 0.8.4", - "thiserror 2.0.17", + "thiserror 2.0.18", "thousands 0.2.0", "threadpool 1.8.1", "tikv-jemalloc-ctl 0.6.0", diff --git a/Cargo.Bazel.toml.lock b/Cargo.Bazel.toml.lock index 66fe249e6ef3..ccc8fb9ad885 100644 --- a/Cargo.Bazel.toml.lock +++ b/Cargo.Bazel.toml.lock @@ -362,7 +362,7 @@ dependencies = [ "serde", "serde_json", "serde_qs", - "thiserror 2.0.17", + "thiserror 2.0.18", "tower-layer", "tower-service", "tracing", @@ -610,7 +610,7 @@ dependencies = [ "nom 7.1.3", "num-traits", "rusticata-macros", - "thiserror 2.0.17", + "thiserror 2.0.18", "time", ] @@ -2422,7 +2422,7 @@ dependencies = [ "serde_json", "serde_urlencoded", "serde_with 3.16.0", - "thiserror 2.0.17", + "thiserror 2.0.18", "url", "urlencoding", "uuid", @@ -2434,7 +2434,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fa961b519f0b462e3a3b4a34b64d119eeaca1d59af726fe450bbba07a9fc0a1" dependencies = [ - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -3709,7 +3709,7 @@ dependencies = [ "ic-bn-lib-common", "ic-btc-interface", "ic-canister-log", - "ic-canister-runtime", + "ic-canister-runtime 0.1.2 (git+https://github.com/dfinity/canhttp.git?rev=f8eec859504fe009711d6183c91b326ed0f2e216)", "ic-canister-sig-creation", "ic-cbor", "ic-cdk", @@ -3909,7 +3909,7 @@ dependencies = [ "test-strategy", "tester", "textplots", - "thiserror 2.0.17", + "thiserror 2.0.18", "thousands", "threadpool", "tikv-jemalloc-ctl", @@ -4595,13 +4595,12 @@ dependencies = [ [[package]] name = "evm_rpc_client" version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11d6b4ecbd21ee4f46919e9640838a54517fe36bad263a3778d8117eb284b44e" +source = "git+https://github.com/dfinity/evm-rpc-canister.git?rev=94a38c2f02abcb4e6590ae860d3572e3a193a8a4#94a38c2f02abcb4e6590ae860d3572e3a193a8a4" dependencies = [ "async-trait", "candid", "evm_rpc_types", - "ic-canister-runtime", + "ic-canister-runtime 0.1.2 (git+https://github.com/dfinity/canhttp.git?branch=gdemay%2FDEFI-2566-stopping)", "serde", "serde_json", "strum 0.27.2", @@ -4610,8 +4609,7 @@ dependencies = [ [[package]] name = "evm_rpc_types" version = "3.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75922b95f9ccc305d90df9dc4dca69d6935c2d961528b8a4916900de1880135b" +source = "git+https://github.com/dfinity/evm-rpc-canister.git?rev=94a38c2f02abcb4e6590ae860d3572e3a193a8a4#94a38c2f02abcb4e6590ae860d3572e3a193a8a4" dependencies = [ "candid", "canlog", @@ -4621,7 +4619,7 @@ dependencies = [ "num-bigint 0.4.6", "serde", "strum 0.27.2", - "thiserror 2.0.17", + "thiserror 2.0.18", "url", ] @@ -5585,7 +5583,7 @@ dependencies = [ "ring 0.17.14", "rustls 0.23.27", "rustls-pki-types", - "thiserror 2.0.17", + "thiserror 2.0.18", "time", "tinyvec", "tokio", @@ -5612,7 +5610,7 @@ dependencies = [ "resolv-conf", "rustls 0.23.27", "smallvec", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "tokio-rustls 0.26.0", "tracing", @@ -5985,7 +5983,7 @@ dependencies = [ "sha2 0.10.9", "simple_asn1", "stop-token", - "thiserror 2.0.17", + "thiserror 2.0.18", "time", "tokio", "tower-service", @@ -6036,7 +6034,7 @@ dependencies = [ "serde_repr", "sha2 0.10.9", "stop-token", - "thiserror 2.0.17", + "thiserror 2.0.18", "time", "tokio", "tower-service", @@ -6110,7 +6108,7 @@ dependencies = [ "systemstat", "tar", "tempfile", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "tokio-io-timeout", "tokio-rustls 0.26.0", @@ -6160,7 +6158,7 @@ dependencies = [ "socket2 0.6.1", "strum 0.27.2", "strum_macros 0.27.1", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio-util", "tower-service", "url", @@ -6190,16 +6188,28 @@ dependencies = [ [[package]] name = "ic-canister-runtime" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01a81a68bc6825ab81142a4e176ee04d0cc73deeed69753603e90e57b3ddcd3f" +version = "0.1.2" +source = "git+https://github.com/dfinity/canhttp.git?branch=gdemay%2FDEFI-2566-stopping#f8eec859504fe009711d6183c91b326ed0f2e216" +dependencies = [ + "async-trait", + "candid", + "ic-cdk", + "ic-error-types", + "serde", + "thiserror 2.0.18", +] + +[[package]] +name = "ic-canister-runtime" +version = "0.1.2" +source = "git+https://github.com/dfinity/canhttp.git?rev=f8eec859504fe009711d6183c91b326ed0f2e216#f8eec859504fe009711d6183c91b326ed0f2e216" dependencies = [ "async-trait", "candid", "ic-cdk", "ic-error-types", "serde", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -6217,7 +6227,7 @@ dependencies = [ "serde_bytes", "serde_cbor", "sha2 0.10.9", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -6249,7 +6259,7 @@ dependencies = [ "serde", "serde_bytes", "slotmap", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -6353,7 +6363,7 @@ dependencies = [ "serde", "serde_json", "strum 0.27.2", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "tokio-util", "tower-http 0.6.6", @@ -6386,7 +6396,7 @@ dependencies = [ "prometheus 0.14.0", "serde", "strum 0.27.2", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "tokio-util", "tracing", @@ -6403,7 +6413,7 @@ dependencies = [ "derive-new", "serde", "strum 0.27.2", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -6450,7 +6460,7 @@ dependencies = [ "hkdf", "pem 1.1.1", "rand 0.8.5", - "thiserror 2.0.17", + "thiserror 2.0.18", "zeroize", ] @@ -6509,7 +6519,7 @@ dependencies = [ "serde_json", "sha2 0.10.9", "strum 0.27.2", - "thiserror 2.0.17", + "thiserror 2.0.18", "tikv-jemalloc-ctl", "tikv-jemallocator", "time", @@ -6572,7 +6582,7 @@ dependencies = [ "pkcs11", "sha2 0.10.9", "simple_asn1", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -6702,7 +6712,7 @@ dependencies = [ "serde_cbor", "serde_repr", "sha2 0.10.9", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -6720,7 +6730,7 @@ dependencies = [ "serde_cbor", "serde_repr", "sha2 0.10.9", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -6740,7 +6750,7 @@ dependencies = [ "sha2 0.10.9", "strum 0.26.3", "strum_macros 0.26.4", - "thiserror 2.0.17", + "thiserror 2.0.18", "time", "tokio", ] @@ -6763,7 +6773,7 @@ dependencies = [ "sha2 0.10.9", "strum 0.26.3", "strum_macros 0.26.4", - "thiserror 2.0.17", + "thiserror 2.0.18", "time", ] @@ -7313,7 +7323,7 @@ dependencies = [ "rustls-pki-types", "serde", "serde_json", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", ] @@ -8315,7 +8325,7 @@ dependencies = [ "log", "memchr", "serde", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -9947,7 +9957,7 @@ dependencies = [ "strum 0.26.3", "strum_macros 0.26.4", "tempfile", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "tracing", "tracing-appender", @@ -10338,7 +10348,7 @@ dependencies = [ "parking_lot 0.12.5", "procfs 0.17.0", "protobuf 3.7.2", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -11076,7 +11086,7 @@ checksum = "dd6f9d3d47bdd2ad6945c5015a226ec6155d0bcdfd8f7cd29f86b71f8de99d2b" dependencies = [ "getrandom 0.2.10", "libredox", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -11331,7 +11341,7 @@ dependencies = [ "nix 0.30.1", "regex", "tempfile", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -11719,7 +11729,7 @@ dependencies = [ "ring 0.17.14", "serde", "serde_json", - "thiserror 2.0.17", + "thiserror 2.0.18", "webpki-roots 1.0.2", "x509-parser 0.16.0", ] @@ -12279,7 +12289,7 @@ dependencies = [ "futures", "percent-encoding", "serde", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -12874,7 +12884,7 @@ dependencies = [ "byteorder", "bytes", "percent-encoding", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", ] @@ -13530,11 +13540,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.17" +version = "2.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8" +checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" dependencies = [ - "thiserror-impl 2.0.17", + "thiserror-impl 2.0.18", ] [[package]] @@ -13550,9 +13560,9 @@ dependencies = [ [[package]] name = "thiserror-impl" -version = "2.0.17" +version = "2.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913" +checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" dependencies = [ "proc-macro2", "quote", @@ -14161,7 +14171,7 @@ dependencies = [ "governor 0.8.1", "http 1.3.1", "pin-project", - "thiserror 2.0.17", + "thiserror 2.0.18", "tower 0.5.2", "tracing", ] @@ -14177,7 +14187,7 @@ dependencies = [ "governor 0.10.2", "http 1.3.1", "pin-project", - "thiserror 2.0.17", + "thiserror 2.0.18", "tonic 0.14.2", "tower 0.5.2", "tracing", @@ -14443,7 +14453,7 @@ dependencies = [ "log", "rand 0.9.0", "sha1", - "thiserror 2.0.17", + "thiserror 2.0.18", "utf-8", ] @@ -15221,7 +15231,7 @@ dependencies = [ "pulley-interpreter", "smallvec", "target-lexicon", - "thiserror 2.0.17", + "thiserror 2.0.18", "wasmparser 0.243.0", "wasmtime-environ", "wasmtime-internal-math", @@ -15464,7 +15474,7 @@ dependencies = [ "regalloc2", "smallvec", "target-lexicon", - "thiserror 2.0.17", + "thiserror 2.0.18", "wasmparser 0.243.0", "wasmtime-environ", "wasmtime-internal-cranelift", @@ -16052,7 +16062,7 @@ dependencies = [ "nom 7.1.3", "oid-registry 0.8.1", "rusticata-macros", - "thiserror 2.0.17", + "thiserror 2.0.18", "time", ] diff --git a/Cargo.toml b/Cargo.toml index 3bef09a9dd30..b3efd4d3fa16 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -858,7 +858,7 @@ sysinfo = "0.37" systemd = "0.10" tar = "0.4.39" tempfile = "3.20" -thiserror = "2.0.3" +thiserror = "2.0.18" threadpool = "1.8.1" tikv-jemalloc-ctl = { version = "0.6", features = ["stats"] } tikv-jemallocator = "0.6" diff --git a/bazel/rust.MODULE.bazel b/bazel/rust.MODULE.bazel index 26790750e58b..d45a801e1cf7 100644 --- a/bazel/rust.MODULE.bazel +++ b/bazel/rust.MODULE.bazel @@ -1637,7 +1637,7 @@ crate.spec( ) crate.spec( package = "thiserror", - version = "^2.0.3", + version = "^2.0.18", ) crate.spec( package = "thousands", From a4763008710716ec40d332315500247e6fcd723a Mon Sep 17 00:00:00 2001 From: IDX GitHub Automation Date: Wed, 11 Feb 2026 09:26:33 +0000 Subject: [PATCH 3/7] Automatically updated Cargo*.lock --- Cargo.lock | 218 ++++++++++++++++++++++++++++------------------------- 1 file changed, 114 insertions(+), 104 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 1df5a2754610..7bc50ea4632e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -346,7 +346,7 @@ dependencies = [ "serde", "serde_json", "serde_qs", - "thiserror 2.0.17", + "thiserror 2.0.18", "tower-layer", "tower-service", "tracing", @@ -595,7 +595,7 @@ dependencies = [ "nom 7.1.3", "num-traits", "rusticata-macros", - "thiserror 2.0.17", + "thiserror 2.0.18", "time", ] @@ -864,7 +864,7 @@ dependencies = [ "sev", "sha2 0.10.9", "tempfile", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -1135,7 +1135,7 @@ dependencies = [ "rexpect", "rust-ini", "ssh2", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -2424,7 +2424,7 @@ dependencies = [ "serde_json", "serde_urlencoded", "serde_with 3.16.0", - "thiserror 2.0.17", + "thiserror 2.0.18", "url", "urlencoding", "uuid", @@ -2436,7 +2436,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fa961b519f0b462e3a3b4a34b64d119eeaca1d59af726fe450bbba07a9fc0a1" dependencies = [ - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -2585,7 +2585,7 @@ dependencies = [ "serde_json", "serde_with 1.14.0", "strum 0.26.3", - "thiserror 2.0.17", + "thiserror 2.0.18", "url", ] @@ -4521,13 +4521,12 @@ dependencies = [ [[package]] name = "evm_rpc_client" version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11d6b4ecbd21ee4f46919e9640838a54517fe36bad263a3778d8117eb284b44e" +source = "git+https://github.com/dfinity/evm-rpc-canister.git?branch=gdemay%2FDEFI-2566-prevent-calls-when-stopping#94a38c2f02abcb4e6590ae860d3572e3a193a8a4" dependencies = [ "async-trait", "candid", "evm_rpc_types", - "ic-canister-runtime", + "ic-canister-runtime 0.1.2 (git+https://github.com/dfinity/canhttp.git?branch=gdemay%2FDEFI-2566-stopping)", "serde", "serde_json", "strum 0.27.2", @@ -4536,8 +4535,7 @@ dependencies = [ [[package]] name = "evm_rpc_types" version = "3.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75922b95f9ccc305d90df9dc4dca69d6935c2d961528b8a4916900de1880135b" +source = "git+https://github.com/dfinity/evm-rpc-canister.git?branch=gdemay%2FDEFI-2566-prevent-calls-when-stopping#94a38c2f02abcb4e6590ae860d3572e3a193a8a4" dependencies = [ "candid", "canlog 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -4547,7 +4545,7 @@ dependencies = [ "num-bigint 0.4.6", "serde", "strum 0.27.2", - "thiserror 2.0.17", + "thiserror 2.0.18", "url", ] @@ -5335,7 +5333,7 @@ dependencies = [ "regex", "strum 0.26.3", "tempfile", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -5405,7 +5403,7 @@ dependencies = [ "rustls 0.23.27", "sev", "sev_guest", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "tokio-rustls 0.26.1", "tokio-util", @@ -5476,7 +5474,7 @@ dependencies = [ "sysinfo", "systemd", "tempfile", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "tokio-util", "uuid", @@ -5791,7 +5789,7 @@ dependencies = [ "ring", "rustls 0.23.27", "rustls-pki-types", - "thiserror 2.0.17", + "thiserror 2.0.18", "time", "tinyvec", "tokio", @@ -5818,7 +5816,7 @@ dependencies = [ "resolv-conf", "rustls 0.23.27", "smallvec", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "tokio-rustls 0.26.1", "tracing", @@ -6337,7 +6335,7 @@ dependencies = [ "sha2 0.10.9", "simple_asn1", "stop-token", - "thiserror 2.0.17", + "thiserror 2.0.18", "time", "tokio", "tower-service", @@ -6388,7 +6386,7 @@ dependencies = [ "serde_repr", "sha2 0.10.9", "stop-token", - "thiserror 2.0.17", + "thiserror 2.0.18", "time", "tokio", "tower-service", @@ -6424,7 +6422,7 @@ dependencies = [ "prometheus", "rand 0.8.5", "slog", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "tower 0.5.2", "tracing", @@ -6649,7 +6647,7 @@ dependencies = [ "systemstat", "tar", "tempfile", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "tokio-io-timeout", "tokio-rustls 0.26.1", @@ -6699,7 +6697,7 @@ dependencies = [ "socket2 0.6.1", "strum 0.27.2", "strum_macros 0.27.1", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio-util", "tower-service", "url", @@ -6774,7 +6772,7 @@ dependencies = [ "simple_moving_average", "strum 0.26.3", "tempfile", - "thiserror 2.0.17", + "thiserror 2.0.18", "tikv-jemalloc-ctl", "tikv-jemallocator", "tokio", @@ -6891,7 +6889,7 @@ dependencies = [ "slog-async", "static_assertions", "tempfile", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "tokio-socks", "tonic 0.12.3", @@ -6999,7 +6997,7 @@ dependencies = [ "proptest", "prost 0.13.4", "slog", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -7120,16 +7118,28 @@ dependencies = [ [[package]] name = "ic-canister-runtime" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01a81a68bc6825ab81142a4e176ee04d0cc73deeed69753603e90e57b3ddcd3f" +version = "0.1.2" +source = "git+https://github.com/dfinity/canhttp.git?branch=gdemay%2FDEFI-2566-stopping#f8eec859504fe009711d6183c91b326ed0f2e216" +dependencies = [ + "async-trait", + "candid", + "ic-cdk", + "ic-error-types 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "serde", + "thiserror 2.0.18", +] + +[[package]] +name = "ic-canister-runtime" +version = "0.1.2" +source = "git+https://github.com/dfinity/canhttp.git?rev=f8eec859504fe009711d6183c91b326ed0f2e216#f8eec859504fe009711d6183c91b326ed0f2e216" dependencies = [ "async-trait", "candid", "ic-cdk", "ic-error-types 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -7213,7 +7223,7 @@ dependencies = [ "serde_bytes", "serde_cbor", "sha2 0.10.9", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -7272,7 +7282,7 @@ dependencies = [ "rand_chacha 0.3.1", "scoped_threadpool", "test-strategy 0.4.0", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -7314,7 +7324,7 @@ dependencies = [ "serde", "serde_bytes", "slotmap", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -7599,7 +7609,7 @@ dependencies = [ "ic-agent 0.40.1", "ic-base-types", "ic-canister-log 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ic-canister-runtime", + "ic-canister-runtime 0.1.2 (git+https://github.com/dfinity/canhttp.git?rev=f8eec859504fe009711d6183c91b326ed0f2e216)", "ic-cdk", "ic-cdk-timers", "ic-cketh-test-utils", @@ -7634,7 +7644,7 @@ dependencies = [ "strum 0.26.3", "strum_macros 0.26.4", "tempfile", - "thiserror 2.0.17", + "thiserror 2.0.18", "thousands", "time", "tokio", @@ -8109,7 +8119,7 @@ dependencies = [ "strum 0.26.3", "strum_macros 0.26.4", "tempfile", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", ] @@ -8385,7 +8395,7 @@ dependencies = [ "stubborn-io", "tarpc", "tempfile", - "thiserror 2.0.17", + "thiserror 2.0.18", "time", "tokio", "tokio-serde", @@ -8620,7 +8630,7 @@ dependencies = [ "serde_cbor", "strum 0.26.3", "strum_macros 0.26.4", - "thiserror 2.0.17", + "thiserror 2.0.18", "zeroize", ] @@ -8962,7 +8972,7 @@ version = "0.9.0" dependencies = [ "ic-types", "mockall", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -9035,7 +9045,7 @@ dependencies = [ "maplit", "rustls 0.23.27", "serde", - "thiserror 2.0.17", + "thiserror 2.0.18", "x509-parser 0.16.0", ] @@ -9068,7 +9078,7 @@ dependencies = [ "serde_bytes", "serde_cbor", "test-strategy 0.4.0", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -9081,7 +9091,7 @@ dependencies = [ "proptest", "rand 0.8.5", "test-strategy 0.4.0", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -9140,7 +9150,7 @@ dependencies = [ "pem 3.0.6", "simple_asn1", "tempfile", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -9148,7 +9158,7 @@ name = "ic-crypto-utils-tls" version = "0.9.0" dependencies = [ "ic-base-types", - "thiserror 2.0.17", + "thiserror 2.0.18", "x509-parser 0.16.0", ] @@ -9202,7 +9212,7 @@ dependencies = [ "serde", "serde_json", "strum 0.27.2", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "tokio-util", "tower-http", @@ -9235,7 +9245,7 @@ dependencies = [ "prometheus", "serde", "strum 0.27.2", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "tokio-util", "tracing", @@ -9252,7 +9262,7 @@ dependencies = [ "derive-new", "serde", "strum 0.27.2", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -9367,7 +9377,7 @@ dependencies = [ "hkdf", "pem 1.1.1", "rand 0.8.5", - "thiserror 2.0.17", + "thiserror 2.0.18", "zeroize", ] @@ -9384,7 +9394,7 @@ dependencies = [ "pem 3.0.6", "rand 0.8.5", "rand_chacha 0.3.1", - "thiserror 2.0.17", + "thiserror 2.0.18", "wycheproof", "zeroize", ] @@ -9650,7 +9660,7 @@ dependencies = [ "serde_json", "sha2 0.10.9", "strum 0.27.2", - "thiserror 2.0.17", + "thiserror 2.0.18", "tikv-jemalloc-ctl", "tikv-jemallocator", "time", @@ -9964,7 +9974,7 @@ dependencies = [ "slog", "socks5-impl", "tempfile", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "tokio-rustls 0.26.1", "tonic 0.12.3", @@ -10310,7 +10320,7 @@ dependencies = [ "serde", "serde_bytes", "test-strategy 0.4.0", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -10518,7 +10528,7 @@ dependencies = [ "pkcs11", "sha2 0.10.9", "simple_asn1", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -10596,7 +10606,7 @@ dependencies = [ "serde", "strum 0.26.3", "strum_macros 0.26.4", - "thiserror 2.0.17", + "thiserror 2.0.18", "tower 0.5.2", ] @@ -10605,7 +10615,7 @@ name = "ic-interfaces-adapter-client" version = "0.9.0" dependencies = [ "strum_macros 0.26.4", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -10660,7 +10670,7 @@ dependencies = [ "ic-crypto-tree-hash", "ic-types", "phantom_newtype", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -11216,7 +11226,7 @@ dependencies = [ "serde_cbor", "sns-treasury-manager", "tempfile", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", ] @@ -12516,7 +12526,7 @@ dependencies = [ "pprof", "prost 0.12.6", "regex", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", ] @@ -12562,7 +12572,7 @@ dependencies = [ "serde_json", "slog", "tempfile", - "thiserror 2.0.17", + "thiserror 2.0.18", "url", "x509-cert", ] @@ -12677,7 +12687,7 @@ dependencies = [ "slog", "socket2 0.5.9", "static_assertions", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "tokio-metrics", "tokio-util", @@ -12769,7 +12779,7 @@ dependencies = [ "serde", "serde_json", "tempfile", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "url", ] @@ -12786,7 +12796,7 @@ dependencies = [ "ic-registry-transport", "ic-utils 0.9.0", "serde", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -12862,7 +12872,7 @@ dependencies = [ "ic-registry-subnet-features", "ic-types", "serde_cbor", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -12924,7 +12934,7 @@ dependencies = [ "ic-registry-transport", "ic-test-utilities-registry", "ic-types", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "url", ] @@ -13013,7 +13023,7 @@ dependencies = [ "ic-registry-transport", "ic-sys", "ic-types", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -13668,7 +13678,7 @@ dependencies = [ "serde", "serde_json", "textplots", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", ] @@ -13713,7 +13723,7 @@ dependencies = [ "serde_json", "serde_yaml", "tempfile", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "url", ] @@ -13799,7 +13809,7 @@ dependencies = [ "strum 0.26.3", "strum_macros 0.26.4", "tempfile", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "tokio-test", ] @@ -14203,7 +14213,7 @@ dependencies = [ "serde", "slog", "tempfile", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "url", ] @@ -14485,7 +14495,7 @@ dependencies = [ "prost 0.13.4", "rand 0.8.5", "slog", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "tokio-metrics", "tokio-util", @@ -14558,7 +14568,7 @@ dependencies = [ "prost 0.13.4", "rand 0.8.5", "tempfile", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "wsl", ] @@ -14659,7 +14669,7 @@ dependencies = [ "slog-term", "ssh2", "tempfile", - "thiserror 2.0.17", + "thiserror 2.0.18", "time", "tokio", "url", @@ -15126,7 +15136,7 @@ dependencies = [ "serde_cbor", "serde_repr", "sha2 0.10.9", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -15144,7 +15154,7 @@ dependencies = [ "serde_cbor", "serde_repr", "sha2 0.10.9", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -15193,7 +15203,7 @@ dependencies = [ "serde_with 1.14.0", "strum 0.26.3", "strum_macros 0.26.4", - "thiserror 2.0.17", + "thiserror 2.0.18", "thousands", ] @@ -15247,7 +15257,7 @@ dependencies = [ "sha2 0.10.9", "strum 0.26.3", "strum_macros 0.26.4", - "thiserror 2.0.17", + "thiserror 2.0.18", "time", "tokio", ] @@ -15270,7 +15280,7 @@ dependencies = [ "sha2 0.10.9", "strum 0.26.3", "strum_macros 0.26.4", - "thiserror 2.0.17", + "thiserror 2.0.18", "time", ] @@ -15339,7 +15349,7 @@ dependencies = [ "serde_cbor", "serde_json", "simple_asn1", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -15576,7 +15586,7 @@ dependencies = [ "slog", "tempfile", "test-strategy 0.4.0", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "url", ] @@ -16511,7 +16521,7 @@ dependencies = [ "rustls-pki-types", "serde", "serde_json", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", ] @@ -17609,7 +17619,7 @@ dependencies = [ "log", "memchr", "serde", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -19295,7 +19305,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b7cafe60d6cf8e62e1b9b2ea516a089c008945bb5a275416789e7db0bc199dc" dependencies = [ "memchr", - "thiserror 2.0.17", + "thiserror 2.0.18", "ucd-trie", ] @@ -19633,7 +19643,7 @@ dependencies = [ "strum 0.26.3", "strum_macros 0.26.4", "tempfile", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "tracing", "tracing-appender", @@ -20077,7 +20087,7 @@ dependencies = [ "parking_lot", "procfs", "protobuf", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -20407,7 +20417,7 @@ dependencies = [ "rustc-hash 2.1.1", "rustls 0.23.27", "socket2 0.5.9", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "tracing", ] @@ -20426,7 +20436,7 @@ dependencies = [ "rustls 0.23.27", "rustls-pki-types", "slab", - "thiserror 2.0.17", + "thiserror 2.0.18", "tinyvec", "tracing", "web-time", @@ -20762,7 +20772,7 @@ dependencies = [ "serde_cbor", "serde_json", "strum 0.26.3", - "thiserror 2.0.17", + "thiserror 2.0.18", "uuid", ] @@ -20870,7 +20880,7 @@ checksum = "dd6f9d3d47bdd2ad6945c5015a226ec6155d0bcdfd8f7cd29f86b71f8de99d2b" dependencies = [ "getrandom 0.2.15", "libredox", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -21264,7 +21274,7 @@ dependencies = [ "nix 0.30.1", "regex", "tempfile", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -21746,7 +21756,7 @@ dependencies = [ "ring", "serde", "serde_json", - "thiserror 2.0.17", + "thiserror 2.0.18", "webpki-roots 1.0.4", "x509-parser 0.16.0", ] @@ -22346,7 +22356,7 @@ dependencies = [ "futures", "percent-encoding", "serde", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -22751,7 +22761,7 @@ checksum = "297f631f50729c8c99b84667867963997ec0b50f32b2a7dbcab828ef0541e8bb" dependencies = [ "num-bigint 0.4.6", "num-traits", - "thiserror 2.0.17", + "thiserror 2.0.18", "time", ] @@ -23033,7 +23043,7 @@ dependencies = [ "byteorder", "bytes", "percent-encoding", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", ] @@ -23691,11 +23701,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.17" +version = "2.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8" +checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" dependencies = [ - "thiserror-impl 2.0.17", + "thiserror-impl 2.0.18", ] [[package]] @@ -23711,9 +23721,9 @@ dependencies = [ [[package]] name = "thiserror-impl" -version = "2.0.17" +version = "2.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913" +checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" dependencies = [ "proc-macro2", "quote", @@ -24297,7 +24307,7 @@ dependencies = [ "governor 0.8.1", "http 1.3.1", "pin-project", - "thiserror 2.0.17", + "thiserror 2.0.18", "tower 0.5.2", "tracing", ] @@ -24313,7 +24323,7 @@ dependencies = [ "governor 0.10.2", "http 1.3.1", "pin-project", - "thiserror 2.0.17", + "thiserror 2.0.18", "tonic 0.14.2", "tower 0.5.2", "tracing", @@ -24530,7 +24540,7 @@ dependencies = [ "log", "rand 0.9.0", "sha1", - "thiserror 2.0.17", + "thiserror 2.0.18", "utf-8", ] @@ -25353,7 +25363,7 @@ dependencies = [ "pulley-interpreter", "smallvec", "target-lexicon", - "thiserror 2.0.17", + "thiserror 2.0.18", "wasmparser 0.243.0", "wasmtime-environ", "wasmtime-internal-math", @@ -25591,7 +25601,7 @@ dependencies = [ "regalloc2", "smallvec", "target-lexicon", - "thiserror 2.0.17", + "thiserror 2.0.18", "wasmparser 0.243.0", "wasmtime-environ", "wasmtime-internal-cranelift", @@ -26225,7 +26235,7 @@ dependencies = [ "nom 7.1.3", "oid-registry 0.8.1", "rusticata-macros", - "thiserror 2.0.17", + "thiserror 2.0.18", "time", ] From d2fd7aa239738526c4f4477b4532440784010082 Mon Sep 17 00:00:00 2001 From: IDX GitHub Automation Date: Wed, 11 Feb 2026 09:30:36 +0000 Subject: [PATCH 4/7] Automatically fixing code for linting and formatting issues --- bazel/rust.MODULE.bazel | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/bazel/rust.MODULE.bazel b/bazel/rust.MODULE.bazel index d45a801e1cf7..483ae4164401 100644 --- a/bazel/rust.MODULE.bazel +++ b/bazel/rust.MODULE.bazel @@ -453,14 +453,14 @@ crate.spec( version = "^1.3.2", ) crate.spec( - package = "evm_rpc_client", git = "https://github.com/dfinity/evm-rpc-canister.git", - rev= "94a38c2f02abcb4e6590ae860d3572e3a193a8a4", + package = "evm_rpc_client", + rev = "94a38c2f02abcb4e6590ae860d3572e3a193a8a4", ) crate.spec( - package = "evm_rpc_types", git = "https://github.com/dfinity/evm-rpc-canister.git", - rev= "94a38c2f02abcb4e6590ae860d3572e3a193a8a4", + package = "evm_rpc_types", + rev = "94a38c2f02abcb4e6590ae860d3572e3a193a8a4", ) crate.spec( package = "exec", From b1d0532a45d27c623e00f8328e20baca40b4a159 Mon Sep 17 00:00:00 2001 From: gregorydemay Date: Wed, 11 Feb 2026 11:40:26 +0100 Subject: [PATCH 5/7] DEFI-2566: fix test --- rs/ethereum/cketh/minter/tests/cketh.rs | 84 +++++++------------------ 1 file changed, 22 insertions(+), 62 deletions(-) diff --git a/rs/ethereum/cketh/minter/tests/cketh.rs b/rs/ethereum/cketh/minter/tests/cketh.rs index e90a4ff5f364..d83f44701700 100644 --- a/rs/ethereum/cketh/minter/tests/cketh.rs +++ b/rs/ethereum/cketh/minter/tests/cketh.rs @@ -40,6 +40,7 @@ use icrc_ledger_types::icrc1::transfer::Memo; use icrc_ledger_types::icrc3::transactions::{Burn, Mint}; use num_traits::cast::ToPrimitive; use serde_json::json; +use std::collections::BTreeMap; use std::str::FromStr; use std::time::Duration; @@ -831,20 +832,13 @@ fn should_scrap_one_block_when_at_boundary_with_last_finalized_block() { } #[test] -fn should_document_current_behavior_of_being_unstoppable_while_scraping_blocks_has_open_call_context() - { - // TODO(DEFI-2566): This test documents the current behavior, where the ckETH minter is - // unstoppable while scraping (lots of) logs on a timer. Since log scraping calls are made on - // a loop in the callback handler for log scraping responses, the scraping continues until all - // logs have been scraped. The same call context is reused, and as long as there is an open - // call context, the minter is not stoppable. +fn should_be_able_to_stop_canister_during_scraping() { const UNSCRAPED_BLOCKS: u64 = 5_000; const NUM_BLOCK_RANGES: usize = 10; let cketh = CkEthSetup::default(); let max_eth_logs_block_range = cketh.as_ref().max_logs_block_range(); const MAX_BLOCK: u64 = LAST_SCRAPED_BLOCK_NUMBER_AT_INSTALL + UNSCRAPED_BLOCKS; - cketh.env.advance_time(SCRAPING_ETH_LOGS_INTERVAL); MockJsonRpcProviders::when(JsonRpcMethod::EthGetBlockByNumber) @@ -878,6 +872,14 @@ fn should_document_current_behavior_of_being_unstoppable_while_scraping_blocks_h .unwrap(); } + cketh.env.tick(); + cketh.env.tick(); + assert_eq!( + cketh.env.canister_http_request_contexts().len(), + 4, + "Expected HTTPS outcalls since scraping is still in progress." + ); + // At this point: // - 3 block ranges have been scraped // - The minter has made an HTTP outcall for the 4th block range @@ -886,74 +888,32 @@ fn should_document_current_behavior_of_being_unstoppable_while_scraping_blocks_h // The stop will NOT complete because there's an open call context. cketh.try_stop_minter_without_stopping_ongoing_https_outcalls(); - // Verify the minter is in "Stopping" state (not "Stopped") let status = cketh.tick_until_minter_canister_status(CanisterStatusType::Stopping); assert_eq!( status, CanisterStatusType::Stopping, "Expected minter to be in Stopping state due to open call contexts" ); - - // Even while in "Stopping" state, when we provide a response to the pending HTTPS call, the - // canister does not stop. Instead, the callback continuation runs and the next loop iteration - // makes another outcall. The canister remains in "Stopping" state throughout. - for i in BLOCKS_TO_PROCESS_BEFORE_STOP..NUM_BLOCK_RANGES { - // Before providing response, verify canister is STILL in Stopping state - let status_before = cketh.minter_status(); - assert_eq!( - status_before, - CanisterStatusType::Stopping, - "Block range {}/{}: Canister should be in Stopping state before receiving response", - i + 1, - NUM_BLOCK_RANGES - ); - - // Provide response to the pending HTTPS call. - MockJsonRpcProviders::when(JsonRpcMethod::EthGetLogs) - .with_request_params(json!([{ + // Answer 4th block range to be able to stop. + MockJsonRpcProviders::when(JsonRpcMethod::EthGetLogs) + .with_request_params(json!([{ "fromBlock": from_block, "toBlock": to_block, "address": [ETH_HELPER_CONTRACT_ADDRESS], "topics": [cketh.received_eth_event_topic()] }])) - .respond_for_all_with(empty_logs()) - .build() - .expect_rpc_calls(&cketh); - - // After processing the response, verify the canister is still in Stopping state. - let status_after = cketh.minter_status(); - - if i < NUM_BLOCK_RANGES - 1 { - assert_eq!( - status_after, - CanisterStatusType::Stopping, - "Block range {}/{}: Canister should still be in Stopping state after receiving \ - response (it made a new HTTP call for the next block range!)", - i + 1, - NUM_BLOCK_RANGES - ); - } else { - // Last block range - canister might transition to Stopped - println!( - " Block range {}/{}: Final response received", - i + 1, - NUM_BLOCK_RANGES - ); - } - - from_block = to_block.checked_increment().unwrap(); - to_block = from_block - .checked_add(BlockNumber::from(max_eth_logs_block_range)) - .unwrap(); - } + .respond_for_all_with(empty_logs()) + .build() + .expect_rpc_calls(&cketh); - // After all scraping is complete, the canister should finally be Stopped. - let status = cketh.tick_until_minter_canister_status(CanisterStatusType::Stopped); + assert_eq!(cketh.minter_status(), CanisterStatusType::Stopped); assert_eq!( - status, - CanisterStatusType::Stopped, - "Expected minter to be Stopped after all call contexts closed" + cketh.env.canister_http_request_contexts(), + BTreeMap::default(), + "Unexpected pending HTTPS outcall" ); + + // Restarting the canister should resume scraping from where we stopped } #[test] From 5a8e292244b3407f2bc4f266d4a67f1c996c4e60 Mon Sep 17 00:00:00 2001 From: IDX GitHub Automation Date: Wed, 11 Feb 2026 10:43:33 +0000 Subject: [PATCH 6/7] Automatically fixing code for linting and formatting issues --- rs/ethereum/cketh/minter/tests/cketh.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/rs/ethereum/cketh/minter/tests/cketh.rs b/rs/ethereum/cketh/minter/tests/cketh.rs index d83f44701700..0fdf939f142b 100644 --- a/rs/ethereum/cketh/minter/tests/cketh.rs +++ b/rs/ethereum/cketh/minter/tests/cketh.rs @@ -897,11 +897,11 @@ fn should_be_able_to_stop_canister_during_scraping() { // Answer 4th block range to be able to stop. MockJsonRpcProviders::when(JsonRpcMethod::EthGetLogs) .with_request_params(json!([{ - "fromBlock": from_block, - "toBlock": to_block, - "address": [ETH_HELPER_CONTRACT_ADDRESS], - "topics": [cketh.received_eth_event_topic()] - }])) + "fromBlock": from_block, + "toBlock": to_block, + "address": [ETH_HELPER_CONTRACT_ADDRESS], + "topics": [cketh.received_eth_event_topic()] + }])) .respond_for_all_with(empty_logs()) .build() .expect_rpc_calls(&cketh); From f15a57bb0ea9f4240595ffbb16f776d6ed832beb Mon Sep 17 00:00:00 2001 From: gregorydemay Date: Thu, 12 Feb 2026 17:02:19 +0100 Subject: [PATCH 7/7] DEFI-2566: refactor test and test restart --- rs/ethereum/cketh/minter/tests/cketh.rs | 77 ++++++++++++++----------- rs/ethereum/cketh/test_utils/src/lib.rs | 7 +-- 2 files changed, 46 insertions(+), 38 deletions(-) diff --git a/rs/ethereum/cketh/minter/tests/cketh.rs b/rs/ethereum/cketh/minter/tests/cketh.rs index 0fdf939f142b..883d87b12ab0 100644 --- a/rs/ethereum/cketh/minter/tests/cketh.rs +++ b/rs/ethereum/cketh/minter/tests/cketh.rs @@ -834,11 +834,10 @@ fn should_scrap_one_block_when_at_boundary_with_last_finalized_block() { #[test] fn should_be_able_to_stop_canister_during_scraping() { const UNSCRAPED_BLOCKS: u64 = 5_000; - const NUM_BLOCK_RANGES: usize = 10; + const MAX_BLOCK: u64 = LAST_SCRAPED_BLOCK_NUMBER_AT_INSTALL + UNSCRAPED_BLOCKS; let cketh = CkEthSetup::default(); let max_eth_logs_block_range = cketh.as_ref().max_logs_block_range(); - const MAX_BLOCK: u64 = LAST_SCRAPED_BLOCK_NUMBER_AT_INSTALL + UNSCRAPED_BLOCKS; cketh.env.advance_time(SCRAPING_ETH_LOGS_INTERVAL); MockJsonRpcProviders::when(JsonRpcMethod::EthGetBlockByNumber) @@ -846,31 +845,22 @@ fn should_be_able_to_stop_canister_during_scraping() { .build() .expect_rpc_calls(&cketh); - // Only the first few eth_getLogs requests (e.g., 3 out of 10). - // This leaves the scraping in progress with open call contexts. + // Starts scraping to create open call contexts. let mut from_block = BlockNumber::from(LAST_SCRAPED_BLOCK_NUMBER_AT_INSTALL + 1); let mut to_block = from_block .checked_add(BlockNumber::from(max_eth_logs_block_range)) .unwrap(); - const BLOCKS_TO_PROCESS_BEFORE_STOP: usize = 3; - for _ in 0..BLOCKS_TO_PROCESS_BEFORE_STOP { - MockJsonRpcProviders::when(JsonRpcMethod::EthGetLogs) - .with_request_params(json!([{ - "fromBlock": from_block, - "toBlock": to_block, - "address": [ETH_HELPER_CONTRACT_ADDRESS], - "topics": [cketh.received_eth_event_topic()] - }])) - .respond_for_all_with(empty_logs()) - .build() - .expect_rpc_calls(&cketh); - - from_block = to_block.checked_increment().unwrap(); - to_block = from_block - .checked_add(BlockNumber::from(max_eth_logs_block_range)) - .unwrap(); - } + MockJsonRpcProviders::when(JsonRpcMethod::EthGetLogs) + .with_request_params(json!([{ + "fromBlock": from_block, + "toBlock": to_block, + "address": [ETH_HELPER_CONTRACT_ADDRESS], + "topics": [cketh.received_eth_event_topic()] + }])) + .respond_for_all_with(empty_logs()) + .build() + .expect_rpc_calls(&cketh); cketh.env.tick(); cketh.env.tick(); @@ -881,20 +871,19 @@ fn should_be_able_to_stop_canister_during_scraping() { ); // At this point: - // - 3 block ranges have been scraped - // - The minter has made an HTTP outcall for the 4th block range + // - 1 block range has been scraped + // - The minter has made an HTTP outcall for the 2nd block range // - There's an open call context waiting for that HTTP response // Request to stop the minter (without providing responses to pending HTTP outcalls). // The stop will NOT complete because there's an open call context. cketh.try_stop_minter_without_stopping_ongoing_https_outcalls(); + cketh.tick_until_minter_canister_status(CanisterStatusType::Stopping); - let status = cketh.tick_until_minter_canister_status(CanisterStatusType::Stopping); - assert_eq!( - status, - CanisterStatusType::Stopping, - "Expected minter to be in Stopping state due to open call contexts" - ); - // Answer 4th block range to be able to stop. + // Answer 2nd block range to be able to stop. + from_block = to_block.checked_increment().unwrap(); + to_block = from_block + .checked_add(BlockNumber::from(max_eth_logs_block_range)) + .unwrap(); MockJsonRpcProviders::when(JsonRpcMethod::EthGetLogs) .with_request_params(json!([{ "fromBlock": from_block, @@ -906,14 +895,36 @@ fn should_be_able_to_stop_canister_during_scraping() { .build() .expect_rpc_calls(&cketh); - assert_eq!(cketh.minter_status(), CanisterStatusType::Stopped); + cketh.tick_until_minter_canister_status(CanisterStatusType::Stopped); assert_eq!( cketh.env.canister_http_request_contexts(), BTreeMap::default(), - "Unexpected pending HTTPS outcall" + "Unexpected pending HTTPS outcalls" ); // Restarting the canister should resume scraping from where we stopped + cketh.start_minter(); + cketh.tick_until_minter_canister_status(CanisterStatusType::Running); + cketh.env.advance_time(SCRAPING_ETH_LOGS_INTERVAL); + MockJsonRpcProviders::when(JsonRpcMethod::EthGetBlockByNumber) + .respond_for_all_with(block_response(MAX_BLOCK)) + .build() + .expect_rpc_calls(&cketh); + + from_block = to_block.checked_increment().unwrap(); + to_block = from_block + .checked_add(BlockNumber::from(max_eth_logs_block_range)) + .unwrap(); + MockJsonRpcProviders::when(JsonRpcMethod::EthGetLogs) + .with_request_params(json!([{ + "fromBlock": from_block, + "toBlock": to_block, + "address": [ETH_HELPER_CONTRACT_ADDRESS], + "topics": [cketh.received_eth_event_topic()] + }])) + .respond_for_all_with(empty_logs()) + .build() + .expect_rpc_calls(&cketh); } #[test] diff --git a/rs/ethereum/cketh/test_utils/src/lib.rs b/rs/ethereum/cketh/test_utils/src/lib.rs index 00bcc788da8e..86a48233c55c 100644 --- a/rs/ethereum/cketh/test_utils/src/lib.rs +++ b/rs/ethereum/cketh/test_utils/src/lib.rs @@ -520,10 +520,7 @@ impl CkEthSetup { ); } - pub fn tick_until_minter_canister_status( - &self, - expected_canister_status: CanisterStatusType, - ) -> CanisterStatusType { + pub fn tick_until_minter_canister_status(&self, expected_canister_status: CanisterStatusType) { const MAX_TICKS: u64 = 10; let mut status = self.minter_status(); for _ in 0..MAX_TICKS { @@ -532,7 +529,7 @@ impl CkEthSetup { } status = self.minter_status(); } - status + assert_eq!(status, expected_canister_status); } pub fn stop_minter(&self) {