mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-11 23:31:07 +00:00
* Some renames
* Fix
* Fix build for new APIs
* Remove diener
* Fixes
* Fixes
* Fix integration tests
* Fixes
* fix nis issuance
* Update Cargo.toml
* Polkadot doesn't have freezes/holds yet
* No networks use freezes/holds
* update lockfile for {"substrate"}
* Fix tests
There are more failing tests; just starting with the easy ones.
Reserved balance does not count towards ED anymore, therefore reducing
all the reserves by ED (1).
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Fixes for Polkadot pallets
* Fix parachains benchmarks
* Update Substrate
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
---------
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: parity-processbot <>
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
This commit is contained in:
@@ -631,6 +631,10 @@ mod tests {
|
||||
type MaxLocks = ();
|
||||
type MaxReserves = ();
|
||||
type ReserveIdentifier = [u8; 8];
|
||||
type HoldIdentifier = ();
|
||||
type FreezeIdentifier = ();
|
||||
type MaxHolds = ConstU32<1>;
|
||||
type MaxFreezes = ConstU32<1>;
|
||||
}
|
||||
|
||||
impl parachains_configuration::Config for Test {
|
||||
|
||||
@@ -679,7 +679,7 @@ mod tests {
|
||||
assert_noop, assert_ok, assert_storage_noop,
|
||||
dispatch::DispatchError::BadOrigin,
|
||||
ord_parameter_types, parameter_types,
|
||||
traits::{EitherOfDiverse, OnFinalize, OnInitialize},
|
||||
traits::{ConstU32, EitherOfDiverse, OnFinalize, OnInitialize},
|
||||
};
|
||||
use frame_system::{EnsureRoot, EnsureSignedBy};
|
||||
use pallet_balances;
|
||||
@@ -748,6 +748,10 @@ mod tests {
|
||||
type MaxLocks = ();
|
||||
type MaxReserves = MaxReserves;
|
||||
type ReserveIdentifier = [u8; 8];
|
||||
type HoldIdentifier = ();
|
||||
type FreezeIdentifier = ();
|
||||
type MaxHolds = ConstU32<1>;
|
||||
type MaxFreezes = ConstU32<1>;
|
||||
}
|
||||
|
||||
#[derive(Eq, PartialEq, Ord, PartialOrd, Clone, Copy, Debug)]
|
||||
@@ -1412,24 +1416,25 @@ mod tests {
|
||||
let para_2 = ParaId::from(2_u32);
|
||||
|
||||
// Make a bid and reserve a balance
|
||||
assert_ok!(Auctions::bid(RuntimeOrigin::signed(1), para_1, 1, 1, 4, 10));
|
||||
assert_eq!(Balances::reserved_balance(1), 10);
|
||||
assert_eq!(ReservedAmounts::<Test>::get((1, para_1)), Some(10));
|
||||
assert_ok!(Auctions::bid(RuntimeOrigin::signed(1), para_1, 1, 1, 4, 9));
|
||||
assert_eq!(Balances::reserved_balance(1), 9);
|
||||
assert_eq!(ReservedAmounts::<Test>::get((1, para_1)), Some(9));
|
||||
assert_eq!(Balances::reserved_balance(2), 0);
|
||||
assert_eq!(ReservedAmounts::<Test>::get((2, para_2)), None);
|
||||
|
||||
// Bigger bid, reserves new balance and returns funds
|
||||
assert_ok!(Auctions::bid(RuntimeOrigin::signed(2), para_2, 1, 1, 4, 20));
|
||||
assert_ok!(Auctions::bid(RuntimeOrigin::signed(2), para_2, 1, 1, 4, 19));
|
||||
assert_eq!(Balances::reserved_balance(1), 0);
|
||||
assert_eq!(ReservedAmounts::<Test>::get((1, para_1)), None);
|
||||
assert_eq!(Balances::reserved_balance(2), 20);
|
||||
assert_eq!(ReservedAmounts::<Test>::get((2, para_2)), Some(20));
|
||||
assert_eq!(Balances::reserved_balance(2), 19);
|
||||
assert_eq!(ReservedAmounts::<Test>::get((2, para_2)), Some(19));
|
||||
});
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn initialize_winners_in_ending_period_works() {
|
||||
new_test_ext().execute_with(|| {
|
||||
assert_eq!(<Test as pallet_balances::Config>::ExistentialDeposit::get(), 1);
|
||||
run_to_block(1);
|
||||
assert_ok!(Auctions::new_auction(RuntimeOrigin::signed(6), 9, 1));
|
||||
let para_1 = ParaId::from(1_u32);
|
||||
@@ -1437,16 +1442,16 @@ mod tests {
|
||||
let para_3 = ParaId::from(3_u32);
|
||||
|
||||
// Make bids
|
||||
assert_ok!(Auctions::bid(RuntimeOrigin::signed(1), para_1, 1, 1, 4, 10));
|
||||
assert_ok!(Auctions::bid(RuntimeOrigin::signed(2), para_2, 1, 3, 4, 20));
|
||||
assert_ok!(Auctions::bid(RuntimeOrigin::signed(1), para_1, 1, 1, 4, 9));
|
||||
assert_ok!(Auctions::bid(RuntimeOrigin::signed(2), para_2, 1, 3, 4, 19));
|
||||
|
||||
assert_eq!(
|
||||
Auctions::auction_status(System::block_number()),
|
||||
AuctionStatus::<u32>::StartingPeriod
|
||||
);
|
||||
let mut winning = [None; SlotRange::SLOT_RANGE_COUNT];
|
||||
winning[SlotRange::ZeroThree as u8 as usize] = Some((1, para_1, 10));
|
||||
winning[SlotRange::TwoThree as u8 as usize] = Some((2, para_2, 20));
|
||||
winning[SlotRange::ZeroThree as u8 as usize] = Some((1, para_1, 9));
|
||||
winning[SlotRange::TwoThree as u8 as usize] = Some((2, para_2, 19));
|
||||
assert_eq!(Auctions::winning(0), Some(winning));
|
||||
|
||||
run_to_block(9);
|
||||
@@ -1468,14 +1473,14 @@ mod tests {
|
||||
AuctionStatus::<u32>::EndingPeriod(1, 0)
|
||||
);
|
||||
assert_eq!(Auctions::winning(1), Some(winning));
|
||||
assert_ok!(Auctions::bid(RuntimeOrigin::signed(3), para_3, 1, 3, 4, 30));
|
||||
assert_ok!(Auctions::bid(RuntimeOrigin::signed(3), para_3, 1, 3, 4, 29));
|
||||
|
||||
run_to_block(12);
|
||||
assert_eq!(
|
||||
Auctions::auction_status(System::block_number()),
|
||||
AuctionStatus::<u32>::EndingPeriod(2, 0)
|
||||
);
|
||||
winning[SlotRange::TwoThree as u8 as usize] = Some((3, para_3, 30));
|
||||
winning[SlotRange::TwoThree as u8 as usize] = Some((3, para_3, 29));
|
||||
assert_eq!(Auctions::winning(2), Some(winning));
|
||||
});
|
||||
}
|
||||
@@ -1542,6 +1547,7 @@ mod tests {
|
||||
#[test]
|
||||
fn less_winning_samples_work() {
|
||||
new_test_ext().execute_with(|| {
|
||||
assert_eq!(<Test as pallet_balances::Config>::ExistentialDeposit::get(), 1);
|
||||
EndingPeriod::set(30);
|
||||
SampleLength::set(10);
|
||||
|
||||
@@ -1552,16 +1558,16 @@ mod tests {
|
||||
let para_3 = ParaId::from(3_u32);
|
||||
|
||||
// Make bids
|
||||
assert_ok!(Auctions::bid(RuntimeOrigin::signed(1), para_1, 1, 11, 14, 10));
|
||||
assert_ok!(Auctions::bid(RuntimeOrigin::signed(2), para_2, 1, 13, 14, 20));
|
||||
assert_ok!(Auctions::bid(RuntimeOrigin::signed(1), para_1, 1, 11, 14, 9));
|
||||
assert_ok!(Auctions::bid(RuntimeOrigin::signed(2), para_2, 1, 13, 14, 19));
|
||||
|
||||
assert_eq!(
|
||||
Auctions::auction_status(System::block_number()),
|
||||
AuctionStatus::<u32>::StartingPeriod
|
||||
);
|
||||
let mut winning = [None; SlotRange::SLOT_RANGE_COUNT];
|
||||
winning[SlotRange::ZeroThree as u8 as usize] = Some((1, para_1, 10));
|
||||
winning[SlotRange::TwoThree as u8 as usize] = Some((2, para_2, 20));
|
||||
winning[SlotRange::ZeroThree as u8 as usize] = Some((1, para_1, 9));
|
||||
winning[SlotRange::TwoThree as u8 as usize] = Some((2, para_2, 19));
|
||||
assert_eq!(Auctions::winning(0), Some(winning));
|
||||
|
||||
run_to_block(9);
|
||||
@@ -1578,8 +1584,8 @@ mod tests {
|
||||
assert_eq!(Auctions::winning(0), Some(winning));
|
||||
|
||||
// New bids update the current winning
|
||||
assert_ok!(Auctions::bid(RuntimeOrigin::signed(3), para_3, 1, 14, 14, 30));
|
||||
winning[SlotRange::ThreeThree as u8 as usize] = Some((3, para_3, 30));
|
||||
assert_ok!(Auctions::bid(RuntimeOrigin::signed(3), para_3, 1, 14, 14, 29));
|
||||
winning[SlotRange::ThreeThree as u8 as usize] = Some((3, para_3, 29));
|
||||
assert_eq!(Auctions::winning(0), Some(winning));
|
||||
|
||||
run_to_block(20);
|
||||
@@ -1590,8 +1596,8 @@ mod tests {
|
||||
assert_eq!(Auctions::winning(1), Some(winning));
|
||||
run_to_block(25);
|
||||
// Overbid mid sample
|
||||
assert_ok!(Auctions::bid(RuntimeOrigin::signed(3), para_3, 1, 13, 14, 30));
|
||||
winning[SlotRange::TwoThree as u8 as usize] = Some((3, para_3, 30));
|
||||
assert_ok!(Auctions::bid(RuntimeOrigin::signed(3), para_3, 1, 13, 14, 29));
|
||||
winning[SlotRange::TwoThree as u8 as usize] = Some((3, para_3, 29));
|
||||
assert_eq!(Auctions::winning(1), Some(winning));
|
||||
|
||||
run_to_block(30);
|
||||
@@ -1611,8 +1617,8 @@ mod tests {
|
||||
assert_eq!(
|
||||
leases(),
|
||||
vec![
|
||||
((3.into(), 13), LeaseData { leaser: 3, amount: 30 }),
|
||||
((3.into(), 14), LeaseData { leaser: 3, amount: 30 }),
|
||||
((3.into(), 13), LeaseData { leaser: 3, amount: 29 }),
|
||||
((3.into(), 14), LeaseData { leaser: 3, amount: 29 }),
|
||||
]
|
||||
);
|
||||
});
|
||||
|
||||
@@ -717,13 +717,14 @@ mod tests {
|
||||
assert_err, assert_noop, assert_ok,
|
||||
dispatch::{DispatchError::BadOrigin, GetDispatchInfo, Pays},
|
||||
ord_parameter_types, parameter_types,
|
||||
traits::{ExistenceRequirement, GenesisBuild, WithdrawReasons},
|
||||
traits::{ConstU32, ExistenceRequirement, GenesisBuild, WithdrawReasons},
|
||||
};
|
||||
use pallet_balances;
|
||||
use sp_runtime::{
|
||||
testing::Header,
|
||||
traits::{BlakeTwo256, Identity, IdentityLookup},
|
||||
transaction_validity::TransactionLongevity,
|
||||
TokenError,
|
||||
};
|
||||
|
||||
type UncheckedExtrinsic = frame_system::mocking::MockUncheckedExtrinsic<Test>;
|
||||
@@ -786,6 +787,10 @@ mod tests {
|
||||
type MaxReserves = ();
|
||||
type ReserveIdentifier = [u8; 8];
|
||||
type WeightInfo = ();
|
||||
type HoldIdentifier = ();
|
||||
type FreezeIdentifier = ();
|
||||
type MaxHolds = ConstU32<1>;
|
||||
type MaxFreezes = ConstU32<1>;
|
||||
}
|
||||
|
||||
parameter_types! {
|
||||
@@ -1206,7 +1211,7 @@ mod tests {
|
||||
180,
|
||||
ExistenceRequirement::AllowDeath
|
||||
),
|
||||
pallet_balances::Error::<Test, _>::LiquidityRestrictions,
|
||||
TokenError::Frozen,
|
||||
);
|
||||
});
|
||||
}
|
||||
@@ -1294,6 +1299,8 @@ mod tests {
|
||||
#[test]
|
||||
fn claiming_while_vested_doesnt_work() {
|
||||
new_test_ext().execute_with(|| {
|
||||
CurrencyOf::<Test>::make_free_balance_be(&69, total_claims());
|
||||
assert_eq!(Balances::free_balance(69), total_claims());
|
||||
// A user is already vested
|
||||
assert_ok!(<Test as Config>::VestingSchedule::add_vesting_schedule(
|
||||
&69,
|
||||
@@ -1301,8 +1308,6 @@ mod tests {
|
||||
100,
|
||||
10
|
||||
));
|
||||
CurrencyOf::<Test>::make_free_balance_be(&69, total_claims());
|
||||
assert_eq!(Balances::free_balance(69), total_claims());
|
||||
assert_ok!(Claims::mint_claim(
|
||||
RuntimeOrigin::root(),
|
||||
eth(&bob()),
|
||||
|
||||
@@ -419,6 +419,7 @@ pub mod pallet {
|
||||
|
||||
let deposit = T::SubmissionDeposit::get();
|
||||
|
||||
frame_system::Pallet::<T>::inc_providers(&Self::fund_account_id(fund_index));
|
||||
CurrencyOf::<T>::reserve(&depositor, deposit)?;
|
||||
|
||||
Funds::<T>::insert(
|
||||
@@ -575,6 +576,7 @@ pub mod pallet {
|
||||
// can take care of that.
|
||||
debug_assert!(Self::contribution_iterator(fund.fund_index).count().is_zero());
|
||||
|
||||
frame_system::Pallet::<T>::dec_providers(&Self::fund_account_id(fund.fund_index))?;
|
||||
CurrencyOf::<T>::unreserve(&fund.depositor, fund.deposit);
|
||||
Funds::<T>::remove(index);
|
||||
Self::deposit_event(Event::<T>::Dissolved { para_id: index });
|
||||
@@ -861,7 +863,7 @@ mod tests {
|
||||
|
||||
use frame_support::{
|
||||
assert_noop, assert_ok, parameter_types,
|
||||
traits::{OnFinalize, OnInitialize},
|
||||
traits::{ConstU32, OnFinalize, OnInitialize},
|
||||
};
|
||||
use primitives::Id as ParaId;
|
||||
use sp_core::H256;
|
||||
@@ -943,6 +945,10 @@ mod tests {
|
||||
type MaxReserves = ();
|
||||
type ReserveIdentifier = [u8; 8];
|
||||
type WeightInfo = ();
|
||||
type HoldIdentifier = ();
|
||||
type FreezeIdentifier = ();
|
||||
type MaxHolds = ConstU32<1>;
|
||||
type MaxFreezes = ConstU32<1>;
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Eq, PartialEq, Debug)]
|
||||
@@ -987,9 +993,10 @@ mod tests {
|
||||
let fund = Funds::<Test>::get(para).unwrap();
|
||||
let account_id = Crowdloan::fund_account_id(fund.fund_index);
|
||||
if winner {
|
||||
let ed = <Test as pallet_balances::Config>::ExistentialDeposit::get();
|
||||
let free_balance = Balances::free_balance(&account_id);
|
||||
Balances::reserve(&account_id, free_balance)
|
||||
.expect("should be able to reserve free balance");
|
||||
Balances::reserve(&account_id, free_balance - ed)
|
||||
.expect("should be able to reserve free balance minus ED");
|
||||
} else {
|
||||
let reserved_balance = Balances::reserved_balance(&account_id);
|
||||
Balances::unreserve(&account_id, reserved_balance);
|
||||
@@ -1613,7 +1620,7 @@ mod tests {
|
||||
let account_id = Crowdloan::fund_account_id(index);
|
||||
|
||||
// user sends the crowdloan funds trying to make an accounting error
|
||||
assert_ok!(Balances::transfer(RuntimeOrigin::signed(1), account_id, 10));
|
||||
assert_ok!(Balances::transfer_allow_death(RuntimeOrigin::signed(1), account_id, 10));
|
||||
|
||||
// overfunded now
|
||||
assert_eq!(Balances::free_balance(&account_id), 110);
|
||||
@@ -1782,6 +1789,7 @@ mod tests {
|
||||
#[test]
|
||||
fn withdraw_from_finished_works() {
|
||||
new_test_ext().execute_with(|| {
|
||||
assert_eq!(<Test as pallet_balances::Config>::ExistentialDeposit::get(), 1);
|
||||
let para = new_para();
|
||||
let index = NextFundIndex::<Test>::get();
|
||||
let account_id = Crowdloan::fund_account_id(index);
|
||||
@@ -1793,7 +1801,7 @@ mod tests {
|
||||
assert_ok!(Crowdloan::contribute(RuntimeOrigin::signed(2), para, 100, None));
|
||||
assert_ok!(Crowdloan::contribute(RuntimeOrigin::signed(3), para, 50, None));
|
||||
// simulate the reserving of para's funds. this actually happens in the Slots pallet.
|
||||
assert_ok!(Balances::reserve(&account_id, 150));
|
||||
assert_ok!(Balances::reserve(&account_id, 149));
|
||||
|
||||
run_to_block(19);
|
||||
assert_noop!(
|
||||
|
||||
@@ -102,11 +102,15 @@ pub fn era_payout(
|
||||
mod tests {
|
||||
use super::*;
|
||||
use frame_support::{
|
||||
dispatch::DispatchClass, parameter_types, traits::FindAuthor, weights::Weight, PalletId,
|
||||
dispatch::DispatchClass,
|
||||
parameter_types,
|
||||
traits::{ConstU32, FindAuthor},
|
||||
weights::Weight,
|
||||
PalletId,
|
||||
};
|
||||
use frame_system::limits;
|
||||
use primitives::AccountId;
|
||||
use sp_core::H256;
|
||||
use sp_core::{ConstU64, H256};
|
||||
use sp_runtime::{
|
||||
testing::Header,
|
||||
traits::{BlakeTwo256, IdentityLookup},
|
||||
@@ -176,12 +180,16 @@ mod tests {
|
||||
type Balance = u64;
|
||||
type RuntimeEvent = RuntimeEvent;
|
||||
type DustRemoval = ();
|
||||
type ExistentialDeposit = ();
|
||||
type ExistentialDeposit = ConstU64<1>;
|
||||
type AccountStore = System;
|
||||
type MaxLocks = ();
|
||||
type MaxReserves = ();
|
||||
type ReserveIdentifier = [u8; 8];
|
||||
type WeightInfo = ();
|
||||
type HoldIdentifier = ();
|
||||
type FreezeIdentifier = ();
|
||||
type MaxHolds = ConstU32<1>;
|
||||
type MaxFreezes = ConstU32<1>;
|
||||
}
|
||||
|
||||
parameter_types! {
|
||||
|
||||
@@ -24,7 +24,7 @@ use crate::{
|
||||
};
|
||||
use frame_support::{
|
||||
assert_noop, assert_ok, parameter_types,
|
||||
traits::{Currency, GenesisBuild, OnFinalize, OnInitialize},
|
||||
traits::{ConstU32, Currency, GenesisBuild, OnFinalize, OnInitialize},
|
||||
weights::Weight,
|
||||
PalletId,
|
||||
};
|
||||
@@ -178,6 +178,10 @@ impl pallet_balances::Config for Test {
|
||||
type WeightInfo = ();
|
||||
type MaxReserves = MaxReserves;
|
||||
type ReserveIdentifier = [u8; 8];
|
||||
type HoldIdentifier = ();
|
||||
type FreezeIdentifier = ();
|
||||
type MaxHolds = ConstU32<0>;
|
||||
type MaxFreezes = ConstU32<0>;
|
||||
}
|
||||
|
||||
impl configuration::Config for Test {
|
||||
|
||||
@@ -658,7 +658,7 @@ mod tests {
|
||||
assert_noop, assert_ok,
|
||||
error::BadOrigin,
|
||||
parameter_types,
|
||||
traits::{GenesisBuild, OnFinalize, OnInitialize},
|
||||
traits::{ConstU32, GenesisBuild, OnFinalize, OnInitialize},
|
||||
};
|
||||
use frame_system::limits;
|
||||
use pallet_balances::Error as BalancesError;
|
||||
@@ -750,6 +750,10 @@ mod tests {
|
||||
type MaxReserves = ();
|
||||
type ReserveIdentifier = [u8; 8];
|
||||
type WeightInfo = ();
|
||||
type HoldIdentifier = ();
|
||||
type FreezeIdentifier = ();
|
||||
type MaxHolds = ConstU32<1>;
|
||||
type MaxFreezes = ConstU32<1>;
|
||||
}
|
||||
|
||||
impl shared::Config for Test {}
|
||||
|
||||
@@ -485,11 +485,10 @@ mod tests {
|
||||
ord_parameter_types, parameter_types,
|
||||
traits::{Currency, WithdrawReasons},
|
||||
};
|
||||
use pallet_balances::Error as BalancesError;
|
||||
use sp_runtime::{
|
||||
testing::Header,
|
||||
traits::{BlakeTwo256, Dispatchable, IdentifyAccount, Identity, IdentityLookup, Verify},
|
||||
MultiSignature,
|
||||
ArithmeticError, MultiSignature,
|
||||
};
|
||||
|
||||
type UncheckedExtrinsic = frame_system::mocking::MockUncheckedExtrinsic<Test>;
|
||||
@@ -554,6 +553,10 @@ mod tests {
|
||||
type MaxReserves = ();
|
||||
type ReserveIdentifier = [u8; 8];
|
||||
type WeightInfo = ();
|
||||
type HoldIdentifier = ();
|
||||
type FreezeIdentifier = ();
|
||||
type MaxHolds = ConstU32<1>;
|
||||
type MaxFreezes = ConstU32<1>;
|
||||
}
|
||||
|
||||
parameter_types! {
|
||||
@@ -815,6 +818,7 @@ mod tests {
|
||||
);
|
||||
|
||||
// Account with vesting
|
||||
Balances::make_free_balance_be(&alice(), 100);
|
||||
assert_ok!(<Test as Config>::VestingSchedule::add_vesting_schedule(
|
||||
&alice(),
|
||||
100,
|
||||
@@ -1127,6 +1131,7 @@ mod tests {
|
||||
// Wrong Origin
|
||||
assert_noop!(Purchase::payout(RuntimeOrigin::signed(alice()), alice(),), BadOrigin);
|
||||
// Account with Existing Vesting Schedule
|
||||
Balances::make_free_balance_be(&bob(), 100);
|
||||
assert_ok!(
|
||||
<Test as Config>::VestingSchedule::add_vesting_schedule(&bob(), 100, 1, 50,)
|
||||
);
|
||||
@@ -1163,8 +1168,8 @@ mod tests {
|
||||
Permill::zero(),
|
||||
));
|
||||
assert_noop!(
|
||||
Purchase::payout(RuntimeOrigin::signed(payment_account()), alice(),),
|
||||
BalancesError::<Test, _>::InsufficientBalance
|
||||
Purchase::payout(RuntimeOrigin::signed(payment_account()), alice()),
|
||||
ArithmeticError::Underflow
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -568,6 +568,10 @@ mod tests {
|
||||
type MaxLocks = ();
|
||||
type MaxReserves = ();
|
||||
type ReserveIdentifier = [u8; 8];
|
||||
type HoldIdentifier = ();
|
||||
type FreezeIdentifier = ();
|
||||
type MaxHolds = ConstU32<1>;
|
||||
type MaxFreezes = ConstU32<1>;
|
||||
}
|
||||
|
||||
parameter_types! {
|
||||
@@ -844,9 +848,9 @@ mod tests {
|
||||
// max_num different people are reserved for leases to Para ID 1
|
||||
for i in 1u32..=max_num {
|
||||
let j: u64 = i.into();
|
||||
assert_ok!(Slots::lease_out(1.into(), &j, j * 10, i * i, i));
|
||||
assert_eq!(Slots::deposit_held(1.into(), &j), j * 10);
|
||||
assert_eq!(Balances::reserved_balance(j), j * 10);
|
||||
assert_ok!(Slots::lease_out(1.into(), &j, j * 10 - 1, i * i, i));
|
||||
assert_eq!(Slots::deposit_held(1.into(), &j), j * 10 - 1);
|
||||
assert_eq!(Balances::reserved_balance(j), j * 10 - 1);
|
||||
}
|
||||
|
||||
assert_ok!(Slots::clear_all_leases(RuntimeOrigin::root(), 1.into()));
|
||||
|
||||
Reference in New Issue
Block a user