diff --git a/pallets/fusion/src/lib.rs b/pallets/fusion/src/lib.rs index fde6c5e57..9ab6c1eb1 100644 --- a/pallets/fusion/src/lib.rs +++ b/pallets/fusion/src/lib.rs @@ -2350,19 +2350,15 @@ impl FusionExt> for Pallet { return consummed_weight; } - let mut pool_funds_accounts: Vec<(PoolId, T::AccountId)> = pool_ids + let mut pool_funds_accounts: BTreeMap = pool_ids .iter() - .map(|id| (*id, Self::get_pool_funds_account(*id))) + .map(|id| (Self::get_pool_funds_account(*id), *id)) .collect(); let filtered_nominators: Vec<(PoolId, BalanceOf)> = nominators .iter() .filter_map(|(nominator_account, balance)| { - if let Some((pool_id, _)) = pool_funds_accounts - .iter() - .position(|(_, pool_account)| pool_account == nominator_account) - .map(|index| pool_funds_accounts.remove(index)) - { + if let Some(pool_id) = pool_funds_accounts.remove(nominator_account) { Some((pool_id, *balance)) } else { None