From b49e2dfecdf0718900c2ac0f1d7e1e4a3d1f04e8 Mon Sep 17 00:00:00 2001 From: ardocrat Date: Wed, 4 Mar 2026 18:43:04 +0300 Subject: [PATCH] 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()