diff --git a/pallets/slp/src/lib.rs b/pallets/slp/src/lib.rs index f6c62046a..443002b58 100644 --- a/pallets/slp/src/lib.rs +++ b/pallets/slp/src/lib.rs @@ -2286,6 +2286,8 @@ impl>> Self::get_multilocation(token, derivative_index).and_then(|location| { DelegatorLedgers::::get(token, location).and_then(|ledger| match ledger { Ledger::Substrate(l) if F::contains(&token) => Some((l.total, l.active)), + Ledger::ParachainStaking(l) if F::contains(&token) => + Some((l.total, l.total.checked_sub(&l.less_total).unwrap_or_default())), _ => None, }) }) diff --git a/runtime/bifrost-polkadot/src/lib.rs b/runtime/bifrost-polkadot/src/lib.rs index dbe2121f4..9a046b485 100644 --- a/runtime/bifrost-polkadot/src/lib.rs +++ b/runtime/bifrost-polkadot/src/lib.rs @@ -38,7 +38,7 @@ use bifrost_primitives::{ IncentivePalletId, IncentivePoolAccount, LendMarketPalletId, LiquidityAccount, LocalBncLocation, MerkleDirtributorPalletId, OraclePalletId, ParachainStakingPalletId, SlpEntrancePalletId, SlpExitPalletId, SystemMakerPalletId, SystemStakingPalletId, - TreasuryPalletId, + TreasuryPalletId, BNC, }; use cumulus_pallet_parachain_system::{RelayNumberMonotonicallyIncreases, RelaychainDataProvider}; pub use frame_support::{ @@ -1313,7 +1313,7 @@ parameter_types! { pub struct DerivativeAccountTokenFilter; impl Contains for DerivativeAccountTokenFilter { fn contains(token: &CurrencyId) -> bool { - *token == RelayCurrencyId::get() + *token == RelayCurrencyId::get() || *token == BNC } }