Skip to content

Commit 7742c54

Browse files
authored
pallet-xcm: fix test benchmarks (#2679)
For some reason original PR passed CI - when it shouldn't have. Fix `pallet-xcm` test benchmarks.
1 parent 6a38610 commit 7742c54

File tree

2 files changed

+40
-19
lines changed

2 files changed

+40
-19
lines changed

pallet-xcm/src/mock.rs

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -589,10 +589,23 @@ impl super::benchmarking::Config for Test {
589589
let asset_amount = 10u128;
590590
let fee_amount = 2u128;
591591

592+
let existential_deposit = ExistentialDeposit::get();
593+
let caller = frame_benchmarking::whitelisted_caller();
594+
595+
// Give some multiple of the existential deposit
596+
let balance = asset_amount + existential_deposit * 1000;
597+
let _ = <Balances as frame_support::traits::Currency<_>>::make_free_balance_be(
598+
&caller, balance,
599+
);
592600
// create sufficient foreign asset USDT
593601
let usdt_initial_local_amount = fee_amount * 10;
594-
let (usdt_chain, _, usdt_id_multilocation) =
595-
set_up_foreign_asset(USDT_PARA_ID, None, usdt_initial_local_amount, true);
602+
let (usdt_chain, _, usdt_id_multilocation) = set_up_foreign_asset(
603+
USDT_PARA_ID,
604+
None,
605+
caller.clone(),
606+
usdt_initial_local_amount,
607+
true,
608+
);
596609

597610
// native assets transfer destination is USDT chain (teleport trust only for USDT)
598611
let dest = usdt_chain;
@@ -602,20 +615,13 @@ impl super::benchmarking::Config for Test {
602615
// native asset to transfer (not used for fees) - local reserve
603616
(MultiLocation::here(), asset_amount).into(),
604617
);
605-
606-
let existential_deposit = ExistentialDeposit::get();
607-
let caller = frame_benchmarking::whitelisted_caller();
608-
// Give some multiple of the existential deposit
609-
let balance = asset_amount + existential_deposit * 1000;
610-
let _ = <Balances as frame_support::traits::Currency<_>>::make_free_balance_be(
611-
&caller, balance,
612-
);
613-
// verify initial balance
618+
// verify initial balances
614619
assert_eq!(Balances::free_balance(&caller), balance);
620+
assert_eq!(Assets::balance(usdt_id_multilocation, &caller), usdt_initial_local_amount);
615621

616622
// verify transferred successfully
617623
let verify = Box::new(move || {
618-
// verify balance after transfer, decreased by transferred amount
624+
// verify balances after transfer, decreased by transferred amounts
619625
assert_eq!(Balances::free_balance(&caller), balance - asset_amount);
620626
assert_eq!(
621627
Assets::balance(usdt_id_multilocation, &caller),

pallet-xcm/src/tests/assets_transfer.rs

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -244,6 +244,7 @@ fn reserve_transfer_assets_with_paid_router_works() {
244244
pub(crate) fn set_up_foreign_asset(
245245
reserve_para_id: u32,
246246
inner_junction: Option<Junction>,
247+
benficiary: AccountId,
247248
initial_amount: u128,
248249
is_sufficient: bool,
249250
) -> (MultiLocation, AccountId, MultiLocation) {
@@ -271,7 +272,7 @@ pub(crate) fn set_up_foreign_asset(
271272
assert_ok!(Assets::mint(
272273
RuntimeOrigin::signed(BOB),
273274
foreign_asset_id_multilocation,
274-
ALICE,
275+
benficiary,
275276
initial_amount
276277
));
277278

@@ -440,6 +441,7 @@ fn destination_asset_reserve_and_local_fee_reserve_call<Call>(
440441
set_up_foreign_asset(
441442
FOREIGN_ASSET_RESERVE_PARA_ID,
442443
Some(FOREIGN_ASSET_INNER_JUNCTION),
444+
ALICE,
443445
foreign_initial_amount,
444446
false,
445447
);
@@ -595,6 +597,7 @@ fn remote_asset_reserve_and_local_fee_reserve_call_disallowed<Call>(
595597
let (_, _, foreign_asset_id_multilocation) = set_up_foreign_asset(
596598
FOREIGN_ASSET_RESERVE_PARA_ID,
597599
Some(FOREIGN_ASSET_INNER_JUNCTION),
600+
ALICE,
598601
foreign_initial_amount,
599602
false,
600603
);
@@ -712,6 +715,7 @@ fn local_asset_reserve_and_destination_fee_reserve_call<Call>(
712715
set_up_foreign_asset(
713716
USDC_RESERVE_PARA_ID,
714717
Some(USDC_INNER_JUNCTION),
718+
ALICE,
715719
usdc_initial_local_amount,
716720
true,
717721
);
@@ -870,6 +874,7 @@ fn destination_asset_reserve_and_destination_fee_reserve_call<Call>(
870874
set_up_foreign_asset(
871875
FOREIGN_ASSET_RESERVE_PARA_ID,
872876
Some(FOREIGN_ASSET_INNER_JUNCTION),
877+
ALICE,
873878
foreign_initial_amount,
874879
true,
875880
);
@@ -1013,6 +1018,7 @@ fn remote_asset_reserve_and_destination_fee_reserve_call_disallowed<Call>(
10131018
let (usdc_chain, _, usdc_id_multilocation) = set_up_foreign_asset(
10141019
USDC_RESERVE_PARA_ID,
10151020
Some(USDC_INNER_JUNCTION),
1021+
ALICE,
10161022
usdc_initial_local_amount,
10171023
true,
10181024
);
@@ -1022,6 +1028,7 @@ fn remote_asset_reserve_and_destination_fee_reserve_call_disallowed<Call>(
10221028
let (_, _, foreign_asset_id_multilocation) = set_up_foreign_asset(
10231029
FOREIGN_ASSET_RESERVE_PARA_ID,
10241030
Some(FOREIGN_ASSET_INNER_JUNCTION),
1031+
ALICE,
10251032
foreign_initial_amount,
10261033
false,
10271034
);
@@ -1135,6 +1142,7 @@ fn local_asset_reserve_and_remote_fee_reserve_call_disallowed<Call>(
11351142
let (_, usdc_chain_sovereign_account, usdc_id_multilocation) = set_up_foreign_asset(
11361143
USDC_RESERVE_PARA_ID,
11371144
Some(USDC_INNER_JUNCTION),
1145+
ALICE,
11381146
usdc_initial_local_amount,
11391147
true,
11401148
);
@@ -1244,6 +1252,7 @@ fn destination_asset_reserve_and_remote_fee_reserve_call_disallowed<Call>(
12441252
let (_, usdc_chain_sovereign_account, usdc_id_multilocation) = set_up_foreign_asset(
12451253
USDC_RESERVE_PARA_ID,
12461254
Some(USDC_INNER_JUNCTION),
1255+
ALICE,
12471256
usdc_initial_local_amount,
12481257
true,
12491258
);
@@ -1254,6 +1263,7 @@ fn destination_asset_reserve_and_remote_fee_reserve_call_disallowed<Call>(
12541263
set_up_foreign_asset(
12551264
FOREIGN_ASSET_RESERVE_PARA_ID,
12561265
Some(FOREIGN_ASSET_INNER_JUNCTION),
1266+
ALICE,
12571267
foreign_initial_amount,
12581268
false,
12591269
);
@@ -1383,6 +1393,7 @@ fn remote_asset_reserve_and_remote_fee_reserve_call<Call>(
13831393
set_up_foreign_asset(
13841394
USDC_RESERVE_PARA_ID,
13851395
Some(USDC_INNER_JUNCTION),
1396+
ALICE,
13861397
usdc_initial_local_amount,
13871398
true,
13881399
);
@@ -1526,7 +1537,7 @@ fn local_asset_reserve_and_teleported_fee_call<Call>(
15261537
// create sufficient foreign asset USDT
15271538
let usdt_initial_local_amount = 42;
15281539
let (usdt_chain, usdt_chain_sovereign_account, usdt_id_multilocation) =
1529-
set_up_foreign_asset(USDT_PARA_ID, None, usdt_initial_local_amount, true);
1540+
set_up_foreign_asset(USDT_PARA_ID, None, ALICE, usdt_initial_local_amount, true);
15301541

15311542
// native assets transfer destination is USDT chain (teleport trust only for USDT)
15321543
let dest = usdt_chain;
@@ -1675,14 +1686,15 @@ fn destination_asset_reserve_and_teleported_fee_call<Call>(
16751686
// create sufficient foreign asset USDT
16761687
let usdt_initial_local_amount = 42;
16771688
let (_, usdt_chain_sovereign_account, usdt_id_multilocation) =
1678-
set_up_foreign_asset(USDT_PARA_ID, None, usdt_initial_local_amount, true);
1689+
set_up_foreign_asset(USDT_PARA_ID, None, ALICE, usdt_initial_local_amount, true);
16791690

16801691
// create non-sufficient foreign asset BLA
16811692
let foreign_initial_amount = 142;
16821693
let (reserve_location, foreign_sovereign_account, foreign_asset_id_multilocation) =
16831694
set_up_foreign_asset(
16841695
FOREIGN_ASSET_RESERVE_PARA_ID,
16851696
Some(FOREIGN_ASSET_INNER_JUNCTION),
1697+
ALICE,
16861698
foreign_initial_amount,
16871699
false,
16881700
);
@@ -1845,13 +1857,14 @@ fn remote_asset_reserve_and_teleported_fee_reserve_call_disallowed<Call>(
18451857
// create sufficient foreign asset USDT
18461858
let usdt_initial_local_amount = 42;
18471859
let (usdt_chain, usdt_chain_sovereign_account, usdt_id_multilocation) =
1848-
set_up_foreign_asset(USDT_PARA_ID, None, usdt_initial_local_amount, true);
1860+
set_up_foreign_asset(USDT_PARA_ID, None, ALICE, usdt_initial_local_amount, true);
18491861

18501862
// create non-sufficient foreign asset BLA
18511863
let foreign_initial_amount = 142;
18521864
let (_, reserve_sovereign_account, foreign_asset_id_multilocation) = set_up_foreign_asset(
18531865
FOREIGN_ASSET_RESERVE_PARA_ID,
18541866
Some(FOREIGN_ASSET_INNER_JUNCTION),
1867+
ALICE,
18551868
foreign_initial_amount,
18561869
false,
18571870
);
@@ -1952,7 +1965,7 @@ fn reserve_transfer_assets_with_teleportable_asset_disallowed() {
19521965
// create sufficient foreign asset USDT
19531966
let usdt_initial_local_amount = 42;
19541967
let (usdt_chain, usdt_chain_sovereign_account, usdt_id_multilocation) =
1955-
set_up_foreign_asset(USDT_PARA_ID, None, usdt_initial_local_amount, true);
1968+
set_up_foreign_asset(USDT_PARA_ID, None, ALICE, usdt_initial_local_amount, true);
19561969

19571970
// transfer destination is USDT chain (foreign asset needs to go through its reserve chain)
19581971
let dest = usdt_chain;
@@ -2037,6 +2050,7 @@ fn intermediary_error_reverts_side_effects() {
20372050
let (_, usdc_chain_sovereign_account, usdc_id_multilocation) = set_up_foreign_asset(
20382051
USDC_RESERVE_PARA_ID,
20392052
Some(USDC_INNER_JUNCTION),
2053+
ALICE,
20402054
usdc_initial_local_amount,
20412055
true,
20422056
);
@@ -2106,7 +2120,7 @@ fn teleport_asset_using_local_fee_reserve_call<Call>(
21062120
// create non-sufficient foreign asset USDT
21072121
let usdt_initial_local_amount = 42;
21082122
let (usdt_chain, usdt_chain_sovereign_account, usdt_id_multilocation) =
2109-
set_up_foreign_asset(USDT_PARA_ID, None, usdt_initial_local_amount, false);
2123+
set_up_foreign_asset(USDT_PARA_ID, None, ALICE, usdt_initial_local_amount, false);
21102124

21112125
// transfer destination is reserve location (no teleport trust)
21122126
let dest = usdt_chain;
@@ -2258,14 +2272,15 @@ fn teleported_asset_using_destination_reserve_fee_call<Call>(
22582272
set_up_foreign_asset(
22592273
FOREIGN_ASSET_RESERVE_PARA_ID,
22602274
Some(FOREIGN_ASSET_INNER_JUNCTION),
2275+
ALICE,
22612276
foreign_initial_amount,
22622277
true,
22632278
);
22642279

22652280
// create non-sufficient foreign asset USDT
22662281
let usdt_initial_local_amount = 42;
22672282
let (_, usdt_chain_sovereign_account, usdt_id_multilocation) =
2268-
set_up_foreign_asset(USDT_PARA_ID, None, usdt_initial_local_amount, false);
2283+
set_up_foreign_asset(USDT_PARA_ID, None, ALICE, usdt_initial_local_amount, false);
22692284

22702285
// transfer destination is BLA reserve location
22712286
let dest = reserve_location;

0 commit comments

Comments
 (0)