From 930a44d456b43172fc096eda0bbf6a3841f48c6a Mon Sep 17 00:00:00 2001 From: ardocrat Date: Wed, 18 Jun 2025 18:01:06 +0300 Subject: [PATCH 1/5] http: provide proxy on node client creation (#738) --- impls/src/adapters/http.rs | 3 ++- impls/src/client_utils/client.rs | 11 ++++++----- impls/src/node_clients/http.rs | 26 ++++++++++++++++++++------ 3 files changed, 28 insertions(+), 12 deletions(-) diff --git a/impls/src/adapters/http.rs b/impls/src/adapters/http.rs index 5b94dee..e96ff50 100644 --- a/impls/src/adapters/http.rs +++ b/impls/src/adapters/http.rs @@ -200,9 +200,10 @@ impl HttpSlateSender { let client = if !self.use_socks { Client::new() } else { - Client::with_socks_proxy( + Client::with_proxy( self.socks_proxy_addr .ok_or_else(|| ClientError::Internal("No socks proxy address set".into()))?, + "socks5h://", ) } .map_err(|_| ClientError::Internal("Unable to create http client".into()))?; diff --git a/impls/src/client_utils/client.rs b/impls/src/client_utils/client.rs index 47f16fb..ec0ee0f 100644 --- a/impls/src/client_utils/client.rs +++ b/impls/src/client_utils/client.rs @@ -65,11 +65,11 @@ impl Client { Self::build(None) } - pub fn with_socks_proxy(socks_proxy_addr: SocketAddr) -> Result { - Self::build(Some(socks_proxy_addr)) + pub fn with_proxy(socks_proxy_addr: SocketAddr, scheme: &'static str) -> Result { + Self::build(Some((socks_proxy_addr, scheme))) } - fn build(socks_proxy_addr: Option) -> Result { + fn build(proxy: Option<(SocketAddr, &str)>) -> Result { let mut headers = HeaderMap::new(); headers.insert(USER_AGENT, HeaderValue::from_static("grin-client")); headers.insert(ACCEPT, HeaderValue::from_static("application/json")); @@ -80,8 +80,9 @@ impl Client { .use_rustls_tls() .default_headers(headers); - if let Some(s) = socks_proxy_addr { - let proxy = Proxy::all(&format!("socks5h://{}:{}", s.ip(), s.port())) + if let Some(p) = proxy { + let (addr, scheme) = p; + let proxy = Proxy::all(&format!("{}{}:{}", scheme, addr.ip(), addr.port())) .map_err(|e| Error::Internal(format!("Unable to create proxy: {}", e)))?; builder = builder.proxy(proxy); } diff --git a/impls/src/node_clients/http.rs b/impls/src/node_clients/http.rs index 83e0488..66efeb7 100644 --- a/impls/src/node_clients/http.rs +++ b/impls/src/node_clients/http.rs @@ -15,17 +15,17 @@ //! Client functions, implementations of the NodeClient trait use crate::api::{self, LocatedTxKernel, OutputListing, OutputPrintable}; +use crate::client_utils::{Client, RUNTIME}; use crate::core::core::{Transaction, TxKernel}; +use crate::libwallet; use crate::libwallet::{NodeClient, NodeVersionInfo}; +use crate::util::secp::pedersen; +use crate::util::ToHex; use futures::stream::FuturesUnordered; use futures::TryStreamExt; use std::collections::HashMap; use std::env; - -use crate::client_utils::{Client, RUNTIME}; -use crate::libwallet; -use crate::util::secp::pedersen; -use crate::util::ToHex; +use std::net::SocketAddr; use super::resp_types::*; use crate::client_utils::json_rpc::*; @@ -46,8 +46,22 @@ impl HTTPNodeClient { node_url: &str, node_api_secret: Option, ) -> Result { + Self::new_proxy(node_url, node_api_secret, None) + } + + /// Create a new client with proxy + pub fn new_proxy( + node_url: &str, + node_api_secret: Option, + proxy: Option<(SocketAddr, &'static str)>, + ) -> Result { + let client = if let Some((a, s)) = proxy { + Client::with_proxy(a, s) + } else { + Client::new() + }; Ok(HTTPNodeClient { - client: Client::new().map_err(|_| libwallet::Error::Node)?, + client: client.map_err(|_| libwallet::Error::Node)?, node_url: node_url.to_owned(), node_api_secret: node_api_secret, node_version_info: None, From b49e2dfecdf0718900c2ac0f1d7e1e4a3d1f04e8 Mon Sep 17 00:00:00 2001 From: ardocrat Date: Wed, 4 Mar 2026 18:43:04 +0300 Subject: [PATCH 2/5] fix: retrieve txs for an account with custom query arguments --- libwallet/src/internal/updater.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/libwallet/src/internal/updater.rs b/libwallet/src/internal/updater.rs index a9958de..09c8943 100644 --- a/libwallet/src/internal/updater.rs +++ b/libwallet/src/internal/updater.rs @@ -96,6 +96,7 @@ where /// Apply advanced filtering to resultset from retrieve_txs below pub fn apply_advanced_tx_list_filtering<'a, T: ?Sized, C, K>( wallet: &mut T, + parent_key_id: Option<&Identifier>, query_args: &RetrieveTxQueryArgs, ) -> Vec where @@ -107,6 +108,10 @@ where let txs_iter: Box> = Box::new( wallet .tx_log_iter() + .filter(|tx_entry| match parent_key_id { + Some(k) => tx_entry.parent_key_id == *k, + None => true, + }) .filter(|tx_entry| { if let Some(v) = query_args.exclude_cancelled { if v { @@ -343,7 +348,7 @@ where // Adding in new transaction list query logic. If `tx_id` or `tx_slate_id` // is provided, then `query_args` is ignored and old logic is followed. if query_args.is_some() && tx_id.is_none() && tx_slate_id.is_none() { - txs = apply_advanced_tx_list_filtering(wallet, &query_args.unwrap()) + txs = apply_advanced_tx_list_filtering(wallet, parent_key_id, &query_args.unwrap()) } else { txs = wallet .tx_log_iter() From a099078f31ff248c99585de74c3786b196d2f6ce Mon Sep 17 00:00:00 2001 From: ardocrat Date: Wed, 4 Mar 2026 20:07:15 +0300 Subject: [PATCH 3/5] build: update built lib --- Cargo.lock | 268 ++++++++++++++++++++++++++++++++++++++++++++++++----- Cargo.toml | 2 +- 2 files changed, 244 insertions(+), 26 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index bee516a..6998ea5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1,6 +1,6 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 +version = 4 [[package]] name = "addr2line" @@ -339,9 +339,9 @@ checksum = "476e9cd489f9e121e02ffa6014a8ef220ecb15c05ed23fc34cca13925dc283fb" [[package]] name = "built" -version = "0.7.5" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c360505aed52b7ec96a3636c3f039d99103c37d1d9b4f7a8c743d3ea9ffcd03b" +checksum = "f4ad8f11f288f48ca24471bbd51ac257aaeaaa07adae295591266b792902ae64" dependencies = [ "git2", ] @@ -1018,9 +1018,9 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "form_urlencoded" -version = "1.2.1" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" dependencies = [ "percent-encoding", ] @@ -1197,9 +1197,9 @@ checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" [[package]] name = "git2" -version = "0.19.0" +version = "0.20.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b903b73e45dc0c6c596f2d37eccece7c1c8bb6e4407b001096387c63d0d93724" +checksum = "7b88256088d75a56f8ecfa070513a775dd9107f6530ef14919dac831af9cfe2b" dependencies = [ "bitflags 2.6.0", "libc", @@ -1926,13 +1926,105 @@ dependencies = [ ] [[package]] -name = "idna" -version = "0.5.0" +name = "icu_collections" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +checksum = "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43" dependencies = [ - "unicode-bidi", - "unicode-normalization", + "displaydoc", + "potential_utf", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locale_core" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6" +dependencies = [ + "displaydoc", + "litemap", + "tinystr 0.8.2", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_normalizer" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599" +dependencies = [ + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a" + +[[package]] +name = "icu_properties" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "020bfc02fe870ec3a66d93e677ccca0562506e5872c650f893269e08615d74ec" +dependencies = [ + "icu_collections", + "icu_locale_core", + "icu_properties_data", + "icu_provider", + "zerotrie", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "616c294cf8d725c6afcd8f55abc17c56464ef6211f9ed59cccffe534129c77af" + +[[package]] +name = "icu_provider" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" +dependencies = [ + "displaydoc", + "icu_locale_core", + "writeable", + "yoke", + "zerofrom", + "zerotrie", + "zerovec", +] + +[[package]] +name = "idna" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" +dependencies = [ + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" +dependencies = [ + "icu_normalizer", + "icu_properties", ] [[package]] @@ -2076,9 +2168,9 @@ checksum = "8e9489c2807c139ffd9c1794f4af0ebe86a828db53ecdc7fea2111d0fed085d1" [[package]] name = "libgit2-sys" -version = "0.17.0+1.8.1" +version = "0.18.3+1.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10472326a8a6477c3c20a64547b0059e4b0d086869eee31e6d7da728a8eb7224" +checksum = "c9b3acc4b91781bb0b3386669d325163746af5f6e4f73e6d2d630e09a35f3487" dependencies = [ "cc", "libc", @@ -2141,6 +2233,12 @@ version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" +[[package]] +name = "litemap" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" + [[package]] name = "lmdb-zero" version = "0.4.4" @@ -2693,9 +2791,9 @@ dependencies = [ [[package]] name = "percent-encoding" -version = "2.3.1" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" +checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" [[package]] name = "phf" @@ -2790,6 +2888,15 @@ dependencies = [ "universal-hash", ] +[[package]] +name = "potential_utf" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" +dependencies = [ + "zerovec", +] + [[package]] name = "ppv-lite86" version = "0.2.20" @@ -3732,6 +3839,12 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" +[[package]] +name = "stable_deref_trait" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" + [[package]] name = "strsim" version = "0.8.0" @@ -3807,6 +3920,17 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "synstructure" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" +dependencies = [ + "proc-macro2 1.0.89", + "quote 1.0.37", + "syn 2.0.86", +] + [[package]] name = "sysinfo" version = "0.29.11" @@ -3926,6 +4050,16 @@ dependencies = [ "displaydoc", ] +[[package]] +name = "tinystr" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869" +dependencies = [ + "displaydoc", + "zerovec", +] + [[package]] name = "tinyvec" version = "1.8.0" @@ -4138,7 +4272,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0a5422c1f65949306c99240b81de9f3f15929f5a8bfe05bb44b034cc8bf593e5" dependencies = [ "serde", - "tinystr", + "tinystr 0.7.6", ] [[package]] @@ -4147,12 +4281,6 @@ version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7e51b68083f157f853b6379db119d1c1be0e6e4dec98101079dec41f6f5cf6df" -[[package]] -name = "unicode-bidi" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ab17db44d7388991a428b2ee655ce0c212e862eff1768a455c58f9aad6e7893" - [[package]] name = "unicode-ident" version = "1.0.13" @@ -4219,15 +4347,22 @@ checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" [[package]] name = "url" -version = "2.5.2" +version = "2.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" +checksum = "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed" dependencies = [ "form_urlencoded", "idna", "percent-encoding", + "serde", ] +[[package]] +name = "utf8_iter" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + [[package]] name = "utf8parse" version = "0.2.2" @@ -4534,6 +4669,12 @@ dependencies = [ "winapi 0.3.9", ] +[[package]] +name = "writeable" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" + [[package]] name = "ws2_32-sys" version = "0.2.1" @@ -4572,6 +4713,29 @@ version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e66366e18dc58b46801afbf2ca7661a9f59cc8c5962c29892b6039b4f86fa992" +[[package]] +name = "yoke" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954" +dependencies = [ + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" +dependencies = [ + "proc-macro2 1.0.89", + "quote 1.0.37", + "syn 2.0.86", + "synstructure", +] + [[package]] name = "zerocopy" version = "0.7.35" @@ -4593,6 +4757,27 @@ dependencies = [ "syn 2.0.86", ] +[[package]] +name = "zerofrom" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" +dependencies = [ + "proc-macro2 1.0.89", + "quote 1.0.37", + "syn 2.0.86", + "synstructure", +] + [[package]] name = "zeroize" version = "1.8.1" @@ -4613,6 +4798,39 @@ dependencies = [ "syn 2.0.86", ] +[[package]] +name = "zerotrie" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", +] + +[[package]] +name = "zerovec" +version = "0.11.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" +dependencies = [ + "proc-macro2 1.0.89", + "quote 1.0.37", + "syn 2.0.86", +] + [[package]] name = "zip" version = "0.5.13" diff --git a/Cargo.toml b/Cargo.toml index a70b09a..39cc024 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -68,7 +68,7 @@ grin_api = "5.3.3" ###### [build-dependencies] -built = { version = "0.7", features = ["git2"]} +built = { version = "0.8.0", features = ["git2"]} [dev-dependencies] url = "2.1" From d2edbe12d3d0706a4c66bb6f6a5ed245c4c8a596 Mon Sep 17 00:00:00 2001 From: ardocrat Date: Tue, 10 Mar 2026 03:32:20 +0300 Subject: [PATCH 4/5] build: update deps to grin 5.4.0 and hyper 0.14 --- Cargo.lock | 515 ++++++++++++++++++++++++++++-------------- Cargo.toml | 8 +- api/Cargo.toml | 6 +- config/Cargo.toml | 4 +- controller/Cargo.toml | 12 +- impls/Cargo.toml | 12 +- libwallet/Cargo.toml | 8 +- util/Cargo.toml | 2 +- 8 files changed, 366 insertions(+), 201 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 6998ea5..a4dc53d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -151,6 +151,28 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" +[[package]] +name = "async-stream" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476" +dependencies = [ + "async-stream-impl", + "futures-core", + "pin-project-lite 0.2.15", +] + +[[package]] +name = "async-stream-impl" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" +dependencies = [ + "proc-macro2 1.0.89", + "quote 1.0.37", + "syn 2.0.86", +] + [[package]] name = "atty" version = "0.2.14" @@ -202,12 +224,6 @@ dependencies = [ "safemem", ] -[[package]] -name = "base64" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b41b7ea54a0c9d92199de89e20e58d49f02f8e699814ef3fdf266f6f748d15c7" - [[package]] name = "base64" version = "0.12.3" @@ -220,6 +236,12 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" +[[package]] +name = "base64" +version = "0.21.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" + [[package]] name = "base64ct" version = "1.6.0" @@ -388,10 +410,11 @@ checksum = "9ac0150caa2ae65ca5bd83f25c7de183dea78d4d366469f148435e2acfbad0da" [[package]] name = "cc" -version = "1.1.31" +version = "1.2.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2e7962b54006dcfcc61cb72735f4d89bb97061dd6a7ed882ec6b8ee53714c6f" +checksum = "aebf35691d1bfb0ac386a69bac2fde4dd276fb618cf8bf4f5318fe285e821bb2" dependencies = [ + "find-msvc-tools", "jobserver", "libc", "shlex", @@ -498,32 +521,16 @@ dependencies = [ "futures 0.3.31", ] -[[package]] -name = "core-foundation" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57d24c7a13c43e870e37c1556b74555437870a04514f7685f5b354e090567171" -dependencies = [ - "core-foundation-sys 0.7.0", - "libc", -] - [[package]] name = "core-foundation" version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" dependencies = [ - "core-foundation-sys 0.8.7", + "core-foundation-sys", "libc", ] -[[package]] -name = "core-foundation-sys" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3a71ab494c0b5b860bdc8407ae08978052417070c2ced38573a9157ad75b8ac" - [[package]] name = "core-foundation-sys" version = "0.8.7" @@ -633,15 +640,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "ct-logs" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d3686f5fa27dbc1d76c751300376e167c5a43387f44bb451fd1c24776e49113" -dependencies = [ - "sct", -] - [[package]] name = "ctor" version = "0.1.26" @@ -941,6 +939,12 @@ dependencies = [ "toml", ] +[[package]] +name = "find-msvc-tools" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" + [[package]] name = "flate2" version = "1.0.34" @@ -1210,11 +1214,12 @@ dependencies = [ [[package]] name = "grin_api" -version = "5.3.3" +version = "5.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6443239e75a15c517ce24fe4dd3ef257898ae0224e6b7c993db28794e13ecf3e" +checksum = "f6f8d4159c8b006a921c0e98b34f1419c175127ee48519b8b1ad00b2036d5011" dependencies = [ - "bytes 0.5.6", + "async-stream", + "bytes 1.8.0", "easy-jsonrpc-mw", "futures 0.3.31", "grin_chain", @@ -1224,28 +1229,29 @@ dependencies = [ "grin_store", "grin_util", "http", - "hyper", - "hyper-rustls 0.20.0", + "hyper 0.14.32", + "hyper-rustls 0.23.2", "hyper-timeout", "lazy_static", "log", "regex", - "ring", - "rustls 0.17.0", + "ring 0.16.20", + "rustls 0.20.9", + "rustls-pemfile", "serde", "serde_derive", "serde_json", "thiserror", - "tokio", - "tokio-rustls 0.13.1", + "tokio 1.42.1", + "tokio-rustls 0.23.4", "url", ] [[package]] name = "grin_chain" -version = "5.3.3" +version = "5.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdedcee9e20e0cc8dc1460b37b3951306c774a6aa5788e3f45addc56e60f7fbe" +checksum = "1ae4110494f8864a7acaa95a6565cea73a769203353d33afa2491a0303ef5e96" dependencies = [ "bit-vec", "bitflags 1.3.2", @@ -1267,9 +1273,9 @@ dependencies = [ [[package]] name = "grin_core" -version = "5.3.3" +version = "5.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4fbf242a2a23a6554dd4c430574d2563993cf5f44921f953635e8a177cf2506" +checksum = "e9f7959afef3976c8530f39416364dd8e47c24b20774a8c5432645fc70aeba67" dependencies = [ "blake2-rfc", "byteorder", @@ -1294,9 +1300,9 @@ dependencies = [ [[package]] name = "grin_keychain" -version = "5.3.3" +version = "5.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abeb1c22f48269a0bf463de589f8961d8bbb554def5e5e405710ead9a1b4c71a" +checksum = "4da89816a601ca89d9718aa3fac1ae933086d36790fb3b9d85a57b64ba20173f" dependencies = [ "blake2-rfc", "byteorder", @@ -1317,9 +1323,9 @@ dependencies = [ [[package]] name = "grin_p2p" -version = "5.3.3" +version = "5.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6b0ecc5597244d698ec4e1ea2e7d04c3b209f496db16731a04f06af41572c54" +checksum = "6d8ee1812124b8843de27626c5e65f43eae7ca855eeb6060286c6b3f31880548" dependencies = [ "bitflags 1.3.2", "bytes 0.5.6", @@ -1340,9 +1346,9 @@ dependencies = [ [[package]] name = "grin_pool" -version = "5.3.3" +version = "5.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14b758b202f034a03b894e732c716ddece8994fae5d8da1e074b1a9e07219f2b" +checksum = "ddce3861a8af1036d36746eeb80d5efc805587ab7dbc19d7bef13c127d567cc8" dependencies = [ "blake2-rfc", "chrono", @@ -1358,9 +1364,9 @@ dependencies = [ [[package]] name = "grin_secp256k1zkp" -version = "0.7.14" +version = "0.7.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06832645c3d28079245827908045946db48e5d62b4c54b40701c7e21327e2571" +checksum = "bf7bb95f155b1eede2648a1b9afbba82bc3d9f2af0518b478767559a572bd973" dependencies = [ "arrayvec 0.7.6", "cc", @@ -1373,9 +1379,9 @@ dependencies = [ [[package]] name = "grin_store" -version = "5.3.3" +version = "5.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "708e53758263fa17dfd3fc46419ded59a84d07818e1ee7526b0d47ba268f1362" +checksum = "6a6d8762c27886d4dbeeae187e761bafef84e099096f0da4987d96dba7192e33" dependencies = [ "byteorder", "croaring", @@ -1393,9 +1399,9 @@ dependencies = [ [[package]] name = "grin_util" -version = "5.3.3" +version = "5.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1433d76d0e95c2ed20e1008e9891adfae64812d1bdc5ec71ed5499dcaca2986" +checksum = "c8ecf6160820c449a0d5a2f856cd8d9b0bacf1fff4a09785cf2b6762d9475a6a" dependencies = [ "anyhow", "backtrace", @@ -1463,7 +1469,7 @@ dependencies = [ "grin_wallet_util", "log", "rand 0.6.5", - "ring", + "ring 0.16.20", "serde", "serde_derive", "serde_json", @@ -1504,20 +1510,20 @@ dependencies = [ "grin_wallet_impls", "grin_wallet_libwallet", "grin_wallet_util", - "hyper", + "hyper 0.14.32", "lazy_static", "log", "prettytable-rs", "qr_code", "rand 0.7.3", "remove_dir_all", - "ring", + "ring 0.16.20", "serde", "serde_derive", "serde_json", "term 0.6.1", "thiserror", - "tokio", + "tokio 0.2.25", "url", "uuid", ] @@ -1548,14 +1554,14 @@ dependencies = [ "regex", "remove_dir_all", "reqwest", - "ring", + "ring 0.16.20", "serde", "serde_derive", "serde_json", "sysinfo", "thiserror", "timer", - "tokio", + "tokio 0.2.25", "url", "uuid", "x25519-dalek 0.6.0", @@ -1628,12 +1634,31 @@ dependencies = [ "http", "indexmap 1.9.3", "slab", - "tokio", - "tokio-util", + "tokio 0.2.25", + "tokio-util 0.3.1", "tracing", "tracing-futures", ] +[[package]] +name = "h2" +version = "0.3.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0beca50380b1fc32983fc1cb4587bfa4bb9e78fc259aad4a0032d2080309222d" +dependencies = [ + "bytes 1.8.0", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http", + "indexmap 2.6.0", + "slab", + "tokio 1.42.1", + "tokio-util 0.7.17", + "tracing", +] + [[package]] name = "hashbrown" version = "0.12.3" @@ -1732,6 +1757,17 @@ dependencies = [ "http", ] +[[package]] +name = "http-body" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" +dependencies = [ + "bytes 1.8.0", + "http", + "pin-project-lite 0.2.15", +] + [[package]] name = "httparse" version = "1.9.5" @@ -1744,6 +1780,12 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "494b4d60369511e7dea41cf646832512a94e542f68bb9c49e54518e0f468eb47" +[[package]] +name = "httpdate" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" + [[package]] name = "humantime" version = "2.1.0" @@ -1760,36 +1802,42 @@ dependencies = [ "futures-channel", "futures-core", "futures-util", - "h2", + "h2 0.2.7", "http", - "http-body", + "http-body 0.3.1", "httparse", - "httpdate", + "httpdate 0.3.2", "itoa 0.4.8", "pin-project", - "socket2", - "tokio", + "socket2 0.3.19", + "tokio 0.2.25", "tower-service", "tracing", "want", ] [[package]] -name = "hyper-rustls" -version = "0.20.0" +name = "hyper" +version = "0.14.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac965ea399ec3a25ac7d13b8affd4b8f39325cca00858ddf5eb29b79e6b14b08" +checksum = "41dfc780fdec9373c01bae43289ea34c972e40ee3c9f6b3c8801a35f35586ce7" dependencies = [ - "bytes 0.5.6", - "ct-logs", + "bytes 1.8.0", + "futures-channel", + "futures-core", "futures-util", - "hyper", - "log", - "rustls 0.17.0", - "rustls-native-certs", - "tokio", - "tokio-rustls 0.13.1", - "webpki", + "h2 0.3.27", + "http", + "http-body 0.4.6", + "httparse", + "httpdate 1.0.3", + "itoa 1.0.11", + "pin-project-lite 0.2.15", + "socket2 0.5.8", + "tokio 1.42.1", + "tower-service", + "tracing", + "want", ] [[package]] @@ -1800,23 +1848,38 @@ checksum = "37743cc83e8ee85eacfce90f2f4102030d9ff0a95244098d781e9bee4a90abb6" dependencies = [ "bytes 0.5.6", "futures-util", - "hyper", + "hyper 0.13.10", "log", "rustls 0.18.1", - "tokio", + "tokio 0.2.25", "tokio-rustls 0.14.1", - "webpki", + "webpki 0.21.4", +] + +[[package]] +name = "hyper-rustls" +version = "0.23.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1788965e61b367cd03a62950836d5cd41560c3577d90e40e0819373194d1661c" +dependencies = [ + "http", + "hyper 0.14.32", + "log", + "rustls 0.20.9", + "rustls-native-certs", + "tokio 1.42.1", + "tokio-rustls 0.23.4", ] [[package]] name = "hyper-timeout" -version = "0.3.1" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d1f9b0b8258e3ef8f45928021d3ef14096c2b93b99e4b8cfcabf1f58ec84b0a" +checksum = "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1" dependencies = [ - "bytes 0.5.6", - "hyper", - "tokio", + "hyper 0.14.32", + "pin-project-lite 0.2.15", + "tokio 1.42.1", "tokio-io-timeout", ] @@ -1827,9 +1890,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d979acc56dcb5b8dddba3917601745e877576475aa046df3226eabdecef78eed" dependencies = [ "bytes 0.5.6", - "hyper", + "hyper 0.13.10", "native-tls", - "tokio", + "tokio 0.2.25", "tokio-tls", ] @@ -1909,7 +1972,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220" dependencies = [ "android_system_properties", - "core-foundation-sys 0.8.7", + "core-foundation-sys", "iana-time-zone-haiku", "js-sys", "wasm-bindgen", @@ -2389,6 +2452,17 @@ dependencies = [ "winapi 0.2.8", ] +[[package]] +name = "mio" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69d83b0086dc8ecf3ce9ae2874b2d1290252e2a30720bea58a5c6639b0092873" +dependencies = [ + "libc", + "wasi 0.11.0+wasi-snapshot-preview1", + "windows-sys 0.61.2", +] + [[package]] name = "mio-named-pipes" version = "0.1.7" @@ -2396,7 +2470,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0840c1c50fd55e521b247f949c241c9997709f23bd7f023b9762cd561e935656" dependencies = [ "log", - "mio", + "mio 0.6.23", "miow 0.3.7", "winapi 0.3.9", ] @@ -2409,7 +2483,7 @@ checksum = "afcb699eb26d4332647cc848492bbc15eafb26f08d0304550d5aa1f612e066f0" dependencies = [ "iovec", "libc", - "mio", + "mio 0.6.23", ] [[package]] @@ -2461,8 +2535,8 @@ dependencies = [ "openssl-probe", "openssl-sys", "schannel", - "security-framework 2.11.1", - "security-framework-sys 2.12.0", + "security-framework", + "security-framework-sys", "tempfile", ] @@ -3308,8 +3382,8 @@ dependencies = [ "futures-core", "futures-util", "http", - "http-body", - "hyper", + "http-body 0.3.1", + "hyper 0.13.10", "hyper-rustls 0.21.0", "hyper-tls", "ipnet", @@ -3324,7 +3398,7 @@ dependencies = [ "rustls 0.18.1", "serde", "serde_urlencoded", - "tokio", + "tokio 0.2.25", "tokio-rustls 0.14.1", "tokio-socks", "tokio-tls", @@ -3346,11 +3420,25 @@ dependencies = [ "libc", "once_cell", "spin", - "untrusted", + "untrusted 0.7.1", "web-sys", "winapi 0.3.9", ] +[[package]] +name = "ring" +version = "0.17.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" +dependencies = [ + "cc", + "cfg-if 1.0.0", + "getrandom 0.2.15", + "libc", + "untrusted 0.9.0", + "windows-sys 0.52.0", +] + [[package]] name = "ripemd160" version = "0.9.1" @@ -3443,19 +3531,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "rustls" -version = "0.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0d4a31f5d68413404705d6982529b0e11a9aacd4839d1d6222ee3b8cb4015e1" -dependencies = [ - "base64 0.11.0", - "log", - "ring", - "sct", - "webpki", -] - [[package]] name = "rustls" version = "0.18.1" @@ -3464,21 +3539,42 @@ checksum = "5d1126dcf58e93cee7d098dbda643b5f92ed724f1f6a63007c1116eed6700c81" dependencies = [ "base64 0.12.3", "log", - "ring", - "sct", - "webpki", + "ring 0.16.20", + "sct 0.6.1", + "webpki 0.21.4", +] + +[[package]] +name = "rustls" +version = "0.20.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b80e3dec595989ea8510028f30c408a4630db12c9cbb8de34203b89d6577e99" +dependencies = [ + "log", + "ring 0.16.20", + "sct 0.7.1", + "webpki 0.22.4", ] [[package]] name = "rustls-native-certs" -version = "0.3.0" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75ffeb84a6bd9d014713119542ce415db3a3e4748f0bfce1e1416cd224a23a5" +checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00" dependencies = [ "openssl-probe", - "rustls 0.17.0", + "rustls-pemfile", "schannel", - "security-framework 0.4.4", + "security-framework", +] + +[[package]] +name = "rustls-pemfile" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" +dependencies = [ + "base64 0.21.7", ] [[package]] @@ -3569,8 +3665,18 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b362b83898e0e69f38515b82ee15aa80636befe47c3b6d3d89a911e78fc228ce" dependencies = [ - "ring", - "untrusted", + "ring 0.16.20", + "untrusted 0.7.1", +] + +[[package]] +name = "sct" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" +dependencies = [ + "ring 0.17.14", + "untrusted 0.9.0", ] [[package]] @@ -3591,19 +3697,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "security-framework" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64808902d7d99f78eaddd2b4e2509713babc3dc3c85ad6f4c447680f3c01e535" -dependencies = [ - "bitflags 1.3.2", - "core-foundation 0.7.0", - "core-foundation-sys 0.7.0", - "libc", - "security-framework-sys 0.4.3", -] - [[package]] name = "security-framework" version = "2.11.1" @@ -3611,20 +3704,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ "bitflags 2.6.0", - "core-foundation 0.9.4", - "core-foundation-sys 0.8.7", - "libc", - "security-framework-sys 2.12.0", -] - -[[package]] -name = "security-framework-sys" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17bf11d99252f512695eb468de5516e5cf75455521e69dfe343f3b74e4748405" -dependencies = [ - "core-foundation-sys 0.7.0", + "core-foundation", + "core-foundation-sys", "libc", + "security-framework-sys", ] [[package]] @@ -3633,7 +3716,7 @@ version = "2.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ea4a292869320c0272d7bc55a5a6aafaff59b4f63404a003887b679a2e05b4b6" dependencies = [ - "core-foundation-sys 0.8.7", + "core-foundation-sys", "libc", ] @@ -3833,6 +3916,16 @@ dependencies = [ "winapi 0.3.9", ] +[[package]] +name = "socket2" +version = "0.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + [[package]] name = "spin" version = "0.5.2" @@ -3938,7 +4031,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cd727fc423c2060f6c92d9534cef765c65a6ed3f428a03d7def74a8c4348e666" dependencies = [ "cfg-if 1.0.0", - "core-foundation-sys 0.8.7", + "core-foundation-sys", "libc", "ntapi", "once_cell", @@ -4088,25 +4181,43 @@ dependencies = [ "lazy_static", "libc", "memchr", - "mio", + "mio 0.6.23", "mio-named-pipes", "mio-uds", "num_cpus", "pin-project-lite 0.1.12", "signal-hook-registry", "slab", - "tokio-macros", + "tokio-macros 0.2.6", "winapi 0.3.9", ] [[package]] -name = "tokio-io-timeout" -version = "0.4.0" +name = "tokio" +version = "1.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9390a43272c8a6ac912ed1d1e2b6abeafd5047e05530a2fa304deee041a06215" +checksum = "2209a14885b74764cce87ffa777ffa1b8ce81a3f3166c6f886b83337fe7e077f" dependencies = [ - "bytes 0.5.6", - "tokio", + "backtrace", + "bytes 1.8.0", + "libc", + "mio 1.1.0", + "parking_lot 0.12.3", + "pin-project-lite 0.2.15", + "signal-hook-registry", + "socket2 0.5.8", + "tokio-macros 2.4.0", + "windows-sys 0.52.0", +] + +[[package]] +name = "tokio-io-timeout" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bd86198d9ee903fedd2f9a2e72014287c0d9167e4ae43b5853007205dda1b76" +dependencies = [ + "pin-project-lite 0.2.15", + "tokio 1.42.1", ] [[package]] @@ -4121,15 +4232,14 @@ dependencies = [ ] [[package]] -name = "tokio-rustls" -version = "0.13.1" +name = "tokio-macros" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15cb62a0d2770787abc96e99c1cd98fcf17f94959f3af63ca85bdfb203f051b4" +checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ - "futures-core", - "rustls 0.17.0", - "tokio", - "webpki", + "proc-macro2 1.0.89", + "quote 1.0.37", + "syn 2.0.86", ] [[package]] @@ -4140,8 +4250,19 @@ checksum = "e12831b255bcfa39dc0436b01e19fea231a37db570686c06ee72c423479f889a" dependencies = [ "futures-core", "rustls 0.18.1", - "tokio", - "webpki", + "tokio 0.2.25", + "webpki 0.21.4", +] + +[[package]] +name = "tokio-rustls" +version = "0.23.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59" +dependencies = [ + "rustls 0.20.9", + "tokio 1.42.1", + "webpki 0.22.4", ] [[package]] @@ -4154,7 +4275,7 @@ dependencies = [ "either", "futures 0.3.31", "thiserror", - "tokio", + "tokio 0.2.25", ] [[package]] @@ -4164,7 +4285,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9a70f4fcd7b3b24fb194f837560168208f669ca8cb70d0c4b862944452396343" dependencies = [ "native-tls", - "tokio", + "tokio 0.2.25", ] [[package]] @@ -4178,7 +4299,20 @@ dependencies = [ "futures-sink", "log", "pin-project-lite 0.1.12", - "tokio", + "tokio 0.2.25", +] + +[[package]] +name = "tokio-util" +version = "0.7.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2efa149fe76073d6e8fd97ef4f4eca7b67f599660115591483572e406e165594" +dependencies = [ + "bytes 1.8.0", + "futures-core", + "futures-sink", + "pin-project-lite 0.2.15", + "tokio 1.42.1", ] [[package]] @@ -4345,6 +4479,12 @@ version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" +[[package]] +name = "untrusted" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" + [[package]] name = "url" version = "2.5.8" @@ -4513,8 +4653,18 @@ version = "0.21.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b8e38c0608262c46d4a56202ebabdeb094cef7e560ca7a226c6bf055188aa4ea" dependencies = [ - "ring", - "untrusted", + "ring 0.16.20", + "untrusted 0.7.1", +] + +[[package]] +name = "webpki" +version = "0.22.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed63aea5ce73d0ff405984102c42de94fc55a6b75765d621c65262469b3c9b53" +dependencies = [ + "ring 0.17.14", + "untrusted 0.9.0", ] [[package]] @@ -4523,7 +4673,7 @@ version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0f20dea7535251981a9670857150d571846545088359b28e4951d350bdaf179f" dependencies = [ - "webpki", + "webpki 0.21.4", ] [[package]] @@ -4578,6 +4728,12 @@ dependencies = [ "windows-targets", ] +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + [[package]] name = "windows-sys" version = "0.52.0" @@ -4596,6 +4752,15 @@ dependencies = [ "windows-targets", ] +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + [[package]] name = "windows-targets" version = "0.52.6" diff --git a/Cargo.toml b/Cargo.toml index 39cc024..ce75779 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -41,10 +41,10 @@ grin_wallet_util = { path = "./util", version = "5.4.0-alpha.1" } ##### Grin Imports # For Release -grin_core = "5.3.3" -grin_keychain = "5.3.3" -grin_util = "5.3.3" -grin_api = "5.3.3" +grin_core = "5.4.0" +grin_keychain = "5.4.0" +grin_util = "5.4.0" +grin_api = "5.4.0" # For beta release diff --git a/api/Cargo.toml b/api/Cargo.toml index d2f1f2f..9beb252 100644 --- a/api/Cargo.toml +++ b/api/Cargo.toml @@ -30,9 +30,9 @@ grin_wallet_util = { path = "../util", version = "5.4.0-alpha.1" } ##### Grin Imports # For Release -grin_core = "5.3.3" -grin_keychain = "5.3.3" -grin_util = "5.3.3" +grin_core = "5.4.0" +grin_keychain = "5.4.0" +grin_util = "5.4.0" # For beta release diff --git a/config/Cargo.toml b/config/Cargo.toml index 9d329c7..d1c325b 100644 --- a/config/Cargo.toml +++ b/config/Cargo.toml @@ -21,8 +21,8 @@ grin_wallet_util = { path = "../util", version = "5.4.0-alpha.1" } ##### Grin Imports # For Release -grin_core = "5.3.3" -grin_util = "5.3.3" +grin_core = "5.4.0" +grin_util = "5.4.0" # For beta release diff --git a/controller/Cargo.toml b/controller/Cargo.toml index 33a9172..070088e 100644 --- a/controller/Cargo.toml +++ b/controller/Cargo.toml @@ -12,7 +12,7 @@ edition = "2018" [dependencies] futures = "0.3" -hyper = "0.13" +hyper = "0.14" rand = "0.7" serde = "1" serde_derive = "1" @@ -39,10 +39,10 @@ grin_wallet_config = { path = "../config", version = "5.4.0-alpha.1" } ##### Grin Imports # For Release -grin_core = "5.3.3" -grin_keychain = "5.3.3" -grin_util = "5.3.3" -grin_api = "5.3.3" +grin_core = "5.4.0" +grin_keychain = "5.4.0" +grin_util = "5.4.0" +grin_api = "5.4.0" # For beta release @@ -72,7 +72,7 @@ remove_dir_all = "0.7" ##### Grin Imports # For Release -grin_chain = "5.3.3" +grin_chain = "5.4.0" # For beta release diff --git a/impls/Cargo.toml b/impls/Cargo.toml index 7689d61..70f7f69 100644 --- a/impls/Cargo.toml +++ b/impls/Cargo.toml @@ -43,12 +43,12 @@ grin_wallet_libwallet = { path = "../libwallet", version = "5.4.0-alpha.1" } ##### Grin Imports # For Release -grin_core = "5.3.3" -grin_keychain = "5.3.3" -grin_chain = "5.3.3" -grin_util = "5.3.3" -grin_api = "5.3.3" -grin_store = "5.3.3" +grin_core = "5.4.0" +grin_keychain = "5.4.0" +grin_chain = "5.4.0" +grin_util = "5.4.0" +grin_api = "5.4.0" +grin_store = "5.4.0" # For beta release diff --git a/libwallet/Cargo.toml b/libwallet/Cargo.toml index 4041894..8fd614d 100644 --- a/libwallet/Cargo.toml +++ b/libwallet/Cargo.toml @@ -46,10 +46,10 @@ grin_wallet_config = { path = "../config", version = "5.4.0-alpha.1" } ##### Grin Imports # For Release -grin_core = "5.3.3" -grin_keychain = "5.3.3" -grin_util = "5.3.3" -grin_store = "5.3.3" +grin_core = "5.4.0" +grin_keychain = "5.4.0" +grin_util = "5.4.0" +grin_store = "5.4.0" # For beta release diff --git a/util/Cargo.toml b/util/Cargo.toml index 879866e..5242e12 100644 --- a/util/Cargo.toml +++ b/util/Cargo.toml @@ -21,7 +21,7 @@ thiserror = "1" ##### Grin Imports # For Release -grin_util = "5.3.3" +grin_util = "5.4.0" # For beta release From c4f473568f6eb72ea94c7bf368dd846d84843751 Mon Sep 17 00:00:00 2001 From: ardocrat Date: Sat, 21 Mar 2026 22:48:52 +0300 Subject: [PATCH 5/5] tx: ability to delete transaction from database --- impls/src/backends/lmdb.rs | 10 ++++++++++ libwallet/src/types.rs | 3 +++ 2 files changed, 13 insertions(+) diff --git a/impls/src/backends/lmdb.rs b/impls/src/backends/lmdb.rs index 6a94d05..e0df269 100644 --- a/impls/src/backends/lmdb.rs +++ b/impls/src/backends/lmdb.rs @@ -696,6 +696,16 @@ where Ok(()) } + fn delete_tx_log_entry(&mut self, tx_id: u32, parent_id: &Identifier) -> Result<(), Error> { + let tx_log_key = to_key_u64( + TX_LOG_ENTRY_PREFIX, + &mut parent_id.to_bytes().to_vec(), + tx_id as u64, + ); + self.db.borrow().as_ref().unwrap().delete(&tx_log_key)?; + Ok(()) + } + fn save_acct_path(&mut self, mapping: AcctPathMapping) -> Result<(), Error> { let acct_key = to_key( ACCOUNT_PATH_MAPPING_PREFIX, diff --git a/libwallet/src/types.rs b/libwallet/src/types.rs index 3a63b7a..12b552e 100644 --- a/libwallet/src/types.rs +++ b/libwallet/src/types.rs @@ -287,6 +287,9 @@ where /// save a tx log entry fn save_tx_log_entry(&mut self, t: TxLogEntry, parent_id: &Identifier) -> Result<(), Error>; + /// delete a tx log entry + fn delete_tx_log_entry(&mut self, tx_id: u32, parent_id: &Identifier) -> Result<(), Error>; + /// save an account label -> path mapping fn save_acct_path(&mut self, mapping: AcctPathMapping) -> Result<(), Error>;