diff --git a/crates/apps_lib/src/client/rpc.rs b/crates/apps_lib/src/client/rpc.rs index 22e1cafd62..249b53070d 100644 --- a/crates/apps_lib/src/client/rpc.rs +++ b/crates/apps_lib/src/client/rpc.rs @@ -488,8 +488,12 @@ async fn query_shielded_balance( { let mut shielded = context.shielded_mut().await; let _ = shielded.load().await; + // Precompute asset types to increase chances of success in decoding + let token_map = context.wallet().await.get_addresses(); + let mut tokens: BTreeSet<_> = token_map.values().collect(); + tokens.insert(&token); let _ = shielded - .precompute_asset_types(context.client(), vec![&token]) + .precompute_asset_types(context.client(), tokens) .await; // Save the update state so that future fetches can be short-circuited let _ = shielded.save().await; diff --git a/crates/shielded_token/src/conversion.rs b/crates/shielded_token/src/conversion.rs index bc1bea14df..6f682efd46 100644 --- a/crates/shielded_token/src/conversion.rs +++ b/crates/shielded_token/src/conversion.rs @@ -329,7 +329,7 @@ where let mut current_convs = BTreeMap::< (Address, Denomination, MaspDigitPos), AllowedConversion, - >::new(); + >::new(); // Native token inflation values are always with respect to this let ref_inflation = calculate_masp_rewards_precision::( storage, diff --git a/crates/shielded_token/src/masp/shielded_wallet.rs b/crates/shielded_token/src/masp/shielded_wallet.rs index 65ce440d85..b527df9927 100644 --- a/crates/shielded_token/src/masp/shielded_wallet.rs +++ b/crates/shielded_token/src/masp/shielded_wallet.rs @@ -437,7 +437,7 @@ pub trait ShieldedApi: async fn precompute_asset_types( &mut self, client: &C, - tokens: Vec<&Address>, + tokens: BTreeSet<&Address>, ) -> Result<(), eyre::Error> { // To facilitate lookups of human-readable token names for token in tokens { diff --git a/crates/shielded_token/src/vp.rs b/crates/shielded_token/src/vp.rs index 0cb490acb9..63145fd523 100644 --- a/crates/shielded_token/src/vp.rs +++ b/crates/shielded_token/src/vp.rs @@ -423,7 +423,7 @@ where // Note the balance changes they imply let ChangedBalances { - unepoched_tokens: tokens, + unepoched_tokens, decoder, pre, post, @@ -438,7 +438,7 @@ where keys_changed, )?; Ok(ChangedBalances { - unepoched_tokens: tokens, + unepoched_tokens, decoder, pre, post,