From 401a6c2013e0d2152b65b089fff60ca68ef3471f Mon Sep 17 00:00:00 2001 From: Matt Hess Date: Fri, 27 Feb 2026 01:56:37 +0000 Subject: [PATCH] Fix UTXO selection: require caller-specified asset_type, remove CARROT filter --- crates/salvium-ffi/src/transfer.rs | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/crates/salvium-ffi/src/transfer.rs b/crates/salvium-ffi/src/transfer.rs index 552684d..4df8d2a 100644 --- a/crates/salvium-ffi/src/transfer.rs +++ b/crates/salvium-ffi/src/transfer.rs @@ -348,7 +348,12 @@ async fn do_transfer( // 3. Select UTXOs — caller specifies asset type, no output format filter. let selection = wallet - .select_outputs(total_amount, est_fee, ¶ms.asset_type, salvium_wallet::SelectionStrategy::Default) + .select_outputs( + total_amount, + est_fee, + ¶ms.asset_type, + salvium_wallet::SelectionStrategy::Default, + ) .map_err(|e| format!("UTXO selection failed: {e}"))?; // 4. Build the transaction. @@ -420,7 +425,12 @@ async fn do_stake( let est_fee = fee::estimate_tx_fee(2, 2, params.ring_size, is_carrot, out_type, priority); let selection = wallet - .select_outputs(amount, est_fee, ¶ms.asset_type, salvium_wallet::SelectionStrategy::Default) + .select_outputs( + amount, + est_fee, + ¶ms.asset_type, + salvium_wallet::SelectionStrategy::Default, + ) .map_err(|e| format!("UTXO selection failed: {e}"))?; let built = build_sign_maybe_broadcast(