[xcm-builder] Replaced deprecated CurrencyAdapter with FungibleAdapter (#3287)

I found out during the cleanup of this deprecation message in the
`polkadot-fellows` repository that we deprecated `CurrencyAdapter`
without making the recommended changes.


## TODO
- [ ] fix `polkadot-fellows` bump to 1.6.0
https://github.com/polkadot-fellows/runtimes/pull/159

---------

Co-authored-by: Francisco Aguirre <franciscoaguirreperez@gmail.com>
This commit is contained in:
Branislav Kontur
2024-02-13 20:22:53 +01:00
committed by GitHub
parent b79bf4fb1f
commit e0c902e3df
41 changed files with 198 additions and 259 deletions
@@ -64,13 +64,16 @@ benchmarks_instance_pallet! {
transfer_asset {
let (sender_account, sender_location) = account_and_location::<T>(1);
let asset = T::get_asset();
let assets: Assets = vec![ asset.clone() ].into();
let assets: Assets = vec![asset.clone()].into();
// this xcm doesn't use holding
let dest_location = T::valid_destination()?;
let dest_account = T::AccountIdConverter::convert_location(&dest_location).unwrap();
<AssetTransactorOf<T>>::deposit_asset(&asset, &sender_location, None).unwrap();
// We deposit the asset twice so we have enough for ED after transferring
<AssetTransactorOf<T>>::deposit_asset(&asset, &sender_location, None).unwrap();
let sender_account_balance_before = T::TransactAsset::balance(&sender_account);
assert!(T::TransactAsset::balance(&dest_account).is_zero());
let mut executor = new_executor::<T>(sender_location);
@@ -79,7 +82,7 @@ benchmarks_instance_pallet! {
}: {
executor.bench_process(xcm)?;
} verify {
assert!(T::TransactAsset::balance(&sender_account).is_zero());
assert!(T::TransactAsset::balance(&sender_account) < sender_account_balance_before);
assert!(!T::TransactAsset::balance(&dest_account).is_zero());
}
@@ -93,11 +96,12 @@ benchmarks_instance_pallet! {
&dest_location,
FeeReason::TransferReserveAsset
);
let sender_account_balance_before = T::TransactAsset::balance(&sender_account);
let asset = T::get_asset();
<AssetTransactorOf<T>>::deposit_asset(&asset, &sender_location, None).unwrap();
assert!(T::TransactAsset::balance(&sender_account) > sender_account_balance_before);
// We deposit the asset twice so we have enough for ED after transferring
<AssetTransactorOf<T>>::deposit_asset(&asset, &sender_location, None).unwrap();
let sender_account_balance_before = T::TransactAsset::balance(&sender_account);
let assets: Assets = vec![asset].into();
assert!(T::TransactAsset::balance(&dest_account).is_zero());
@@ -103,8 +103,7 @@ impl xcm_executor::traits::MatchesFungible<u64> for MatchAnyFungible {
}
// Use balances as the asset transactor.
#[allow(deprecated)]
pub type AssetTransactor = xcm_builder::CurrencyAdapter<
pub type AssetTransactor = xcm_builder::FungibleAdapter<
Balances,
MatchAnyFungible,
AccountIdConverter,
@@ -192,8 +191,7 @@ impl xcm_balances_benchmark::Config for Test {
type TrustedReserve = TrustedReserve;
fn get_asset() -> Asset {
let amount =
<Balances as frame_support::traits::fungible::Inspect<u64>>::minimum_balance() as u128;
let amount = 1_000_000_000_000;
Asset { id: AssetId(Here.into()), fun: Fungible(amount) }
}
}