1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
use frame_support::{sp_runtime::DispatchError, traits::tokens::BalanceConversion};
use primitives::{traits::NavProvider, AssetId, Balance};
use sp_std::marker::PhantomData;
pub struct BalanceToAssetBalance<NAV>(PhantomData<NAV>);
impl<NAV> BalanceConversion<Balance, AssetId, Balance> for BalanceToAssetBalance<NAV>
where
NAV: NavProvider<AssetId, Balance>,
{
type Error = DispatchError;
fn to_asset_balance(balance: Balance, asset_id: AssetId) -> Result<Balance, Self::Error> {
NAV::asset_equivalent(balance, asset_id)
}
}