Skip to content
This repository was archived by the owner on Nov 15, 2023. It is now read-only.
344 changes: 172 additions & 172 deletions Cargo.lock

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion runtime/common/src/crowdloan/migration.rs
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ pub mod crowdloan_index_migration {

// The old way we generated fund accounts.
fn old_fund_account_id<T: Config>(index: ParaId) -> T::AccountId {
T::PalletId::get().into_sub_account(index)
T::PalletId::get().into_sub_account_truncating(index)
}

pub fn pre_migrate<T: Config>() -> Result<(), &'static str> {
Expand Down
2 changes: 1 addition & 1 deletion runtime/common/src/crowdloan/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -661,7 +661,7 @@ impl<T: Config> Pallet<T> {
/// This actually does computation. If you need to keep using it, then make sure you cache the
/// value and only call this once.
pub fn fund_account_id(index: FundIndex) -> T::AccountId {
T::PalletId::get().into_sub_account(index)
T::PalletId::get().into_sub_account_truncating(index)
}

pub fn id_from_index(index: FundIndex) -> child::ChildInfo {
Expand Down
2 changes: 1 addition & 1 deletion runtime/common/src/slots/migration.rs
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ pub mod slots_crowdloan_index_migration {

// The old way we generated fund accounts.
fn old_fund_account_id<T: Config + crowdloan::Config>(index: ParaId) -> T::AccountId {
<T as crowdloan::Config>::PalletId::get().into_sub_account(index)
<T as crowdloan::Config>::PalletId::get().into_sub_account_truncating(index)
}

pub fn pre_migrate<T: Config + crowdloan::Config>() -> Result<(), &'static str> {
Expand Down
14 changes: 7 additions & 7 deletions runtime/parachains/src/hrmp.rs
Original file line number Diff line number Diff line change
Expand Up @@ -687,7 +687,7 @@ impl<T: Config> Pallet<T> {
// Return the deposit of the sender, but only if it is not the para being offboarded.
if !outgoing.contains(&req_id.sender) {
T::Currency::unreserve(
&req_id.sender.into_account(),
&req_id.sender.into_account_truncating(),
req_data.sender_deposit.unique_saturated_into(),
);
}
Expand All @@ -700,7 +700,7 @@ impl<T: Config> Pallet<T> {
if req_data.confirmed {
if !outgoing.contains(&req_id.recipient) {
T::Currency::unreserve(
&req_id.recipient.into_account(),
&req_id.recipient.into_account_truncating(),
config.hrmp_recipient_deposit.unique_saturated_into(),
);
}
Expand Down Expand Up @@ -817,11 +817,11 @@ impl<T: Config> Pallet<T> {
<Self as Store>::HrmpChannels::take(channel_id)
{
T::Currency::unreserve(
&channel_id.sender.into_account(),
&channel_id.sender.into_account_truncating(),
sender_deposit.unique_saturated_into(),
);
T::Currency::unreserve(
&channel_id.recipient.into_account(),
&channel_id.recipient.into_account_truncating(),
recipient_deposit.unique_saturated_into(),
);
}
Expand Down Expand Up @@ -1137,7 +1137,7 @@ impl<T: Config> Pallet<T> {
);

T::Currency::reserve(
&origin.into_account(),
&origin.into_account_truncating(),
config.hrmp_sender_deposit.unique_saturated_into(),
)?;

Expand Down Expand Up @@ -1210,7 +1210,7 @@ impl<T: Config> Pallet<T> {
);

T::Currency::reserve(
&origin.into_account(),
&origin.into_account_truncating(),
config.hrmp_recipient_deposit.unique_saturated_into(),
)?;

Expand Down Expand Up @@ -1264,7 +1264,7 @@ impl<T: Config> Pallet<T> {
// Unreserve the sender's deposit. The recipient could not have left their deposit because
// we ensured that the request is not confirmed.
T::Currency::unreserve(
&channel_id.sender.into_account(),
&channel_id.sender.into_account_truncating(),
open_channel_req.sender_deposit.unique_saturated_into(),
);

Expand Down
4 changes: 2 additions & 2 deletions runtime/parachains/src/hrmp/benchmarking.rs
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ fn register_parachain_with_balance<T: Config>(id: ParaId, balance: BalanceOf<T>)
validation_code: vec![1].into(),
},
);
T::Currency::make_free_balance_be(&id.into_account(), balance);
T::Currency::make_free_balance_be(&id.into_account_truncating(), balance);
}

fn assert_last_event<T: Config>(generic_event: <T as Config>::Event) {
Expand Down Expand Up @@ -201,7 +201,7 @@ frame_benchmarking::benchmarks! {
let para: ParaId = 1u32.into();
let para_origin: crate::Origin = 1u32.into();
register_parachain_with_balance::<T>(para, deposit);
T::Currency::make_free_balance_be(&para.into_account(), deposit * 256u32.into());
T::Currency::make_free_balance_be(&para.into_account_truncating(), deposit * 256u32.into());

for ingress_para_id in 0..i {
// establish ingress channels to `para`.
Expand Down
46 changes: 32 additions & 14 deletions runtime/parachains/src/hrmp/tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ fn register_parachain_with_balance(id: ParaId, balance: Balance) {
validation_code: vec![1].into(),
},
));
<Test as Config>::Currency::make_free_balance_be(&id.into_account(), balance);
<Test as Config>::Currency::make_free_balance_be(&id.into_account_truncating(), balance);
}

fn register_parachain(id: ParaId) {
Expand Down Expand Up @@ -490,15 +490,21 @@ fn refund_deposit_on_normal_closure() {
run_to_block(5, Some(vec![4, 5]));
Hrmp::init_open_channel(para_a, para_b, 2, 8).unwrap();
Hrmp::accept_open_channel(para_b, para_a).unwrap();
assert_eq!(<Test as Config>::Currency::free_balance(&para_a.into_account()), 80);
assert_eq!(<Test as Config>::Currency::free_balance(&para_b.into_account()), 95);
assert_eq!(<Test as Config>::Currency::free_balance(&para_a.into_account_truncating()), 80);
assert_eq!(<Test as Config>::Currency::free_balance(&para_b.into_account_truncating()), 95);
run_to_block(8, Some(vec![8]));

// Now, we close the channel and wait until the next session.
Hrmp::close_channel(para_b, HrmpChannelId { sender: para_a, recipient: para_b }).unwrap();
run_to_block(10, Some(vec![10]));
assert_eq!(<Test as Config>::Currency::free_balance(&para_a.into_account()), 100);
assert_eq!(<Test as Config>::Currency::free_balance(&para_b.into_account()), 110);
assert_eq!(
<Test as Config>::Currency::free_balance(&para_a.into_account_truncating()),
100
);
assert_eq!(
<Test as Config>::Currency::free_balance(&para_b.into_account_truncating()),
110
);
});
}

Expand All @@ -517,8 +523,8 @@ fn refund_deposit_on_offboarding() {
run_to_block(5, Some(vec![4, 5]));
Hrmp::init_open_channel(para_a, para_b, 2, 8).unwrap();
Hrmp::accept_open_channel(para_b, para_a).unwrap();
assert_eq!(<Test as Config>::Currency::free_balance(&para_a.into_account()), 80);
assert_eq!(<Test as Config>::Currency::free_balance(&para_b.into_account()), 95);
assert_eq!(<Test as Config>::Currency::free_balance(&para_a.into_account_truncating()), 80);
assert_eq!(<Test as Config>::Currency::free_balance(&para_b.into_account_truncating()), 95);
run_to_block(8, Some(vec![8]));
assert!(channel_exists(para_a, para_b));

Expand All @@ -531,8 +537,14 @@ fn refund_deposit_on_offboarding() {
assert!(!channel_exists(para_a, para_b));
Hrmp::assert_storage_consistency_exhaustive();

assert_eq!(<Test as Config>::Currency::free_balance(&para_a.into_account()), 100);
assert_eq!(<Test as Config>::Currency::free_balance(&para_b.into_account()), 110);
assert_eq!(
<Test as Config>::Currency::free_balance(&para_a.into_account_truncating()),
100
);
assert_eq!(
<Test as Config>::Currency::free_balance(&para_b.into_account_truncating()),
110
);
});
}

Expand All @@ -552,20 +564,23 @@ fn no_dangling_open_requests() {

// Start opening a channel a->b
Hrmp::init_open_channel(para_a, para_b, 2, 8).unwrap();
assert_eq!(<Test as Config>::Currency::free_balance(&para_a.into_account()), 80);
assert_eq!(<Test as Config>::Currency::free_balance(&para_a.into_account_truncating()), 80);

// Then deregister one parachain, but don't wait two sessions until it takes effect.
// Instead, `para_b` will confirm the request, which will take place the same time
// the offboarding should happen.
deregister_parachain(para_a);
run_to_block(9, Some(vec![9]));
Hrmp::accept_open_channel(para_b, para_a).unwrap();
assert_eq!(<Test as Config>::Currency::free_balance(&para_b.into_account()), 95);
assert_eq!(<Test as Config>::Currency::free_balance(&para_b.into_account_truncating()), 95);
assert!(!channel_exists(para_a, para_b));
run_to_block(10, Some(vec![10]));

// The outcome we expect is `para_b` should receive the refund.
assert_eq!(<Test as Config>::Currency::free_balance(&para_b.into_account()), 110);
assert_eq!(
<Test as Config>::Currency::free_balance(&para_b.into_account_truncating()),
110
);
assert!(!channel_exists(para_a, para_b));
Hrmp::assert_storage_consistency_exhaustive();
});
Expand All @@ -587,12 +602,15 @@ fn cancel_pending_open_channel_request() {

// Start opening a channel a->b
Hrmp::init_open_channel(para_a, para_b, 2, 8).unwrap();
assert_eq!(<Test as Config>::Currency::free_balance(&para_a.into_account()), 80);
assert_eq!(<Test as Config>::Currency::free_balance(&para_a.into_account_truncating()), 80);

// Cancel opening the channel
Hrmp::cancel_open_request(para_a, HrmpChannelId { sender: para_a, recipient: para_b })
.unwrap();
assert_eq!(<Test as Config>::Currency::free_balance(&para_a.into_account()), 100);
assert_eq!(
<Test as Config>::Currency::free_balance(&para_a.into_account_truncating()),
100
);

run_to_block(10, Some(vec![10]));
assert!(!channel_exists(para_a, para_b));
Expand Down
5 changes: 4 additions & 1 deletion xcm/pallet-xcm/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -40,4 +40,7 @@ std = [
"xcm/std",
"xcm-executor/std",
]
runtime-benchmarks = []
runtime-benchmarks = [
"frame-system/runtime-benchmarks",
"xcm-builder/runtime-benchmarks",
]
2 changes: 1 addition & 1 deletion xcm/pallet-xcm/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1074,7 +1074,7 @@ pub mod pallet {

pub fn check_account() -> T::AccountId {
const ID: PalletId = PalletId(*b"py/xcmch");
AccountIdConversion::<T::AccountId>::into_account(&ID)
AccountIdConversion::<T::AccountId>::into_account_truncating(&ID)
}

fn do_new_query(
Expand Down
72 changes: 47 additions & 25 deletions xcm/pallet-xcm/src/tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,10 @@ const SEND_AMOUNT: u128 = 10;

#[test]
fn report_outcome_notify_works() {
let balances =
vec![(ALICE, INITIAL_BALANCE), (ParaId::from(PARA_ID).into_account(), INITIAL_BALANCE)];
let balances = vec![
(ALICE, INITIAL_BALANCE),
(ParaId::from(PARA_ID).into_account_truncating(), INITIAL_BALANCE),
];
let sender = AccountId32 { network: AnyNetwork::get(), id: ALICE.into() }.into();
let mut message = Xcm(vec![TransferAsset {
assets: (Here, SEND_AMOUNT).into(),
Expand Down Expand Up @@ -96,8 +98,10 @@ fn report_outcome_notify_works() {

#[test]
fn report_outcome_works() {
let balances =
vec![(ALICE, INITIAL_BALANCE), (ParaId::from(PARA_ID).into_account(), INITIAL_BALANCE)];
let balances = vec![
(ALICE, INITIAL_BALANCE),
(ParaId::from(PARA_ID).into_account_truncating(), INITIAL_BALANCE),
];
let sender = AccountId32 { network: AnyNetwork::get(), id: ALICE.into() }.into();
let mut message = Xcm(vec![TransferAsset {
assets: (Here, SEND_AMOUNT).into(),
Expand Down Expand Up @@ -148,8 +152,10 @@ fn report_outcome_works() {
/// Asserts that the expected message is sent and the event is emitted
#[test]
fn send_works() {
let balances =
vec![(ALICE, INITIAL_BALANCE), (ParaId::from(PARA_ID).into_account(), INITIAL_BALANCE)];
let balances = vec![
(ALICE, INITIAL_BALANCE),
(ParaId::from(PARA_ID).into_account_truncating(), INITIAL_BALANCE),
];
new_test_ext_with_balances(balances).execute_with(|| {
let sender: MultiLocation =
AccountId32 { network: AnyNetwork::get(), id: ALICE.into() }.into();
Expand Down Expand Up @@ -185,8 +191,10 @@ fn send_works() {
/// Asserts that `send` fails with `Error::SendFailure`
#[test]
fn send_fails_when_xcm_router_blocks() {
let balances =
vec![(ALICE, INITIAL_BALANCE), (ParaId::from(PARA_ID).into_account(), INITIAL_BALANCE)];
let balances = vec![
(ALICE, INITIAL_BALANCE),
(ParaId::from(PARA_ID).into_account_truncating(), INITIAL_BALANCE),
];
new_test_ext_with_balances(balances).execute_with(|| {
let sender: MultiLocation =
Junction::AccountId32 { network: AnyNetwork::get(), id: ALICE.into() }.into();
Expand All @@ -212,8 +220,10 @@ fn send_fails_when_xcm_router_blocks() {
/// local effects.
#[test]
fn teleport_assets_works() {
let balances =
vec![(ALICE, INITIAL_BALANCE), (ParaId::from(PARA_ID).into_account(), INITIAL_BALANCE)];
let balances = vec![
(ALICE, INITIAL_BALANCE),
(ParaId::from(PARA_ID).into_account_truncating(), INITIAL_BALANCE),
];
new_test_ext_with_balances(balances).execute_with(|| {
let weight = 2 * BaseXcmWeight::get();
assert_eq!(Balances::total_balance(&ALICE), INITIAL_BALANCE);
Expand Down Expand Up @@ -253,8 +263,10 @@ fn teleport_assets_works() {
/// local effects.
#[test]
fn limmited_teleport_assets_works() {
let balances =
vec![(ALICE, INITIAL_BALANCE), (ParaId::from(PARA_ID).into_account(), INITIAL_BALANCE)];
let balances = vec![
(ALICE, INITIAL_BALANCE),
(ParaId::from(PARA_ID).into_account_truncating(), INITIAL_BALANCE),
];
new_test_ext_with_balances(balances).execute_with(|| {
let weight = 2 * BaseXcmWeight::get();
assert_eq!(Balances::total_balance(&ALICE), INITIAL_BALANCE);
Expand Down Expand Up @@ -295,8 +307,10 @@ fn limmited_teleport_assets_works() {
/// local effects.
#[test]
fn unlimmited_teleport_assets_works() {
let balances =
vec![(ALICE, INITIAL_BALANCE), (ParaId::from(PARA_ID).into_account(), INITIAL_BALANCE)];
let balances = vec![
(ALICE, INITIAL_BALANCE),
(ParaId::from(PARA_ID).into_account_truncating(), INITIAL_BALANCE),
];
new_test_ext_with_balances(balances).execute_with(|| {
let weight = 2 * BaseXcmWeight::get();
assert_eq!(Balances::total_balance(&ALICE), INITIAL_BALANCE);
Expand Down Expand Up @@ -335,8 +349,10 @@ fn unlimmited_teleport_assets_works() {
/// is increased. Verifies the correct message is sent and event is emitted.
#[test]
fn reserve_transfer_assets_works() {
let balances =
vec![(ALICE, INITIAL_BALANCE), (ParaId::from(PARA_ID).into_account(), INITIAL_BALANCE)];
let balances = vec![
(ALICE, INITIAL_BALANCE),
(ParaId::from(PARA_ID).into_account_truncating(), INITIAL_BALANCE),
];
new_test_ext_with_balances(balances).execute_with(|| {
let weight = BaseXcmWeight::get();
let dest: MultiLocation =
Expand All @@ -352,7 +368,7 @@ fn reserve_transfer_assets_works() {
// Alice spent amount
assert_eq!(Balances::free_balance(ALICE), INITIAL_BALANCE - SEND_AMOUNT);
// Destination account (parachain account) has amount
let para_acc: AccountId = ParaId::from(PARA_ID).into_account();
let para_acc: AccountId = ParaId::from(PARA_ID).into_account_truncating();
assert_eq!(Balances::free_balance(para_acc), INITIAL_BALANCE + SEND_AMOUNT);
assert_eq!(
sent_xcm(),
Expand Down Expand Up @@ -381,8 +397,10 @@ fn reserve_transfer_assets_works() {
/// is increased. Verifies the correct message is sent and event is emitted.
#[test]
fn limited_reserve_transfer_assets_works() {
let balances =
vec![(ALICE, INITIAL_BALANCE), (ParaId::from(PARA_ID).into_account(), INITIAL_BALANCE)];
let balances = vec![
(ALICE, INITIAL_BALANCE),
(ParaId::from(PARA_ID).into_account_truncating(), INITIAL_BALANCE),
];
new_test_ext_with_balances(balances).execute_with(|| {
let weight = BaseXcmWeight::get();
let dest: MultiLocation =
Expand All @@ -399,7 +417,7 @@ fn limited_reserve_transfer_assets_works() {
// Alice spent amount
assert_eq!(Balances::free_balance(ALICE), INITIAL_BALANCE - SEND_AMOUNT);
// Destination account (parachain account) has amount
let para_acc: AccountId = ParaId::from(PARA_ID).into_account();
let para_acc: AccountId = ParaId::from(PARA_ID).into_account_truncating();
assert_eq!(Balances::free_balance(para_acc), INITIAL_BALANCE + SEND_AMOUNT);
assert_eq!(
sent_xcm(),
Expand Down Expand Up @@ -428,8 +446,10 @@ fn limited_reserve_transfer_assets_works() {
/// is increased. Verifies the correct message is sent and event is emitted.
#[test]
fn unlimited_reserve_transfer_assets_works() {
let balances =
vec![(ALICE, INITIAL_BALANCE), (ParaId::from(PARA_ID).into_account(), INITIAL_BALANCE)];
let balances = vec![
(ALICE, INITIAL_BALANCE),
(ParaId::from(PARA_ID).into_account_truncating(), INITIAL_BALANCE),
];
new_test_ext_with_balances(balances).execute_with(|| {
let weight = BaseXcmWeight::get();
let dest: MultiLocation =
Expand All @@ -446,7 +466,7 @@ fn unlimited_reserve_transfer_assets_works() {
// Alice spent amount
assert_eq!(Balances::free_balance(ALICE), INITIAL_BALANCE - SEND_AMOUNT);
// Destination account (parachain account) has amount
let para_acc: AccountId = ParaId::from(PARA_ID).into_account();
let para_acc: AccountId = ParaId::from(PARA_ID).into_account_truncating();
assert_eq!(Balances::free_balance(para_acc), INITIAL_BALANCE + SEND_AMOUNT);
assert_eq!(
sent_xcm(),
Expand All @@ -473,8 +493,10 @@ fn unlimited_reserve_transfer_assets_works() {
/// is increased. Verifies the expected event is emitted.
#[test]
fn execute_withdraw_to_deposit_works() {
let balances =
vec![(ALICE, INITIAL_BALANCE), (ParaId::from(PARA_ID).into_account(), INITIAL_BALANCE)];
let balances = vec![
(ALICE, INITIAL_BALANCE),
(ParaId::from(PARA_ID).into_account_truncating(), INITIAL_BALANCE),
];
new_test_ext_with_balances(balances).execute_with(|| {
let weight = 3 * BaseXcmWeight::get();
let dest: MultiLocation =
Expand Down
Loading