mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-30 11:41:02 +00:00
Update to latest Substrate master (#703)
* Update to latest Substrate master * Fix tests
This commit is contained in:
@@ -21,7 +21,7 @@
|
||||
|
||||
use rstd::prelude::*;
|
||||
use codec::{Encode, Decode};
|
||||
use frame_support::{decl_storage, decl_module, ensure, dispatch::Result, traits::Get};
|
||||
use frame_support::{decl_storage, decl_module, ensure, dispatch::DispatchResult, traits::Get};
|
||||
|
||||
use primitives::{Hash, parachain::{AttestedCandidate, CandidateReceipt, Id as ParaId}};
|
||||
use sp_runtime::RuntimeDebug;
|
||||
@@ -110,7 +110,7 @@ decl_module! {
|
||||
/// Parachain-attestations module.
|
||||
pub struct Module<T: Trait> for enum Call where origin: <T as system::Trait>::Origin {
|
||||
/// Provide candidate receipts for parachains, in ascending order by id.
|
||||
fn more_attestations(origin, _more: MoreAttestations) -> Result {
|
||||
fn more_attestations(origin, _more: MoreAttestations) -> DispatchResult {
|
||||
ensure_none(origin)?;
|
||||
ensure!(!<DidUpdate>::exists(), "More attestations can be added only once in a block.");
|
||||
<DidUpdate>::put(true);
|
||||
|
||||
@@ -305,6 +305,7 @@ mod tests {
|
||||
type AvailableBlockRatio = AvailableBlockRatio;
|
||||
type MaximumBlockLength = MaximumBlockLength;
|
||||
type Version = ();
|
||||
type ModuleToIndex = ();
|
||||
}
|
||||
|
||||
parameter_types! {
|
||||
@@ -407,7 +408,7 @@ mod tests {
|
||||
new_test_ext().execute_with(|| {
|
||||
assert_noop!(
|
||||
Claims::mint_claim(Origin::signed(42), eth(&bob()), 200, None),
|
||||
"RequireRootOrigin"
|
||||
sp_runtime::traits::BadOrigin,
|
||||
);
|
||||
assert_eq!(Balances::free_balance(&42), 0);
|
||||
assert_noop!(
|
||||
@@ -426,7 +427,7 @@ mod tests {
|
||||
new_test_ext().execute_with(|| {
|
||||
assert_noop!(
|
||||
Claims::mint_claim(Origin::signed(42), eth(&bob()), 200, Some((50, 10, 1))),
|
||||
"RequireRootOrigin"
|
||||
sp_runtime::traits::BadOrigin,
|
||||
);
|
||||
assert_eq!(Balances::free_balance(&42), 0);
|
||||
assert_noop!(
|
||||
@@ -446,7 +447,7 @@ mod tests {
|
||||
assert_eq!(Balances::free_balance(&42), 0);
|
||||
assert_err!(
|
||||
Claims::claim(Origin::signed(42), 42, sig(&alice(), &42u64.encode())),
|
||||
"RequireNoOrigin",
|
||||
sp_runtime::traits::BadOrigin,
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -506,7 +506,7 @@ mod tests {
|
||||
// The testing primitives are very useful for avoiding having to work with signatures
|
||||
// or public keys. `u64` is used as the `AccountId` and no `Signature`s are requried.
|
||||
use sp_runtime::{
|
||||
Perbill, Permill, testing::Header,
|
||||
Perbill, Permill, testing::Header, DispatchResult,
|
||||
traits::{BlakeTwo256, OnInitialize, OnFinalize, IdentityLookup},
|
||||
};
|
||||
use crate::registrar::Registrar;
|
||||
@@ -542,6 +542,7 @@ mod tests {
|
||||
type MaximumBlockLength = MaximumBlockLength;
|
||||
type AvailableBlockRatio = AvailableBlockRatio;
|
||||
type Version = ();
|
||||
type ModuleToIndex = ();
|
||||
}
|
||||
parameter_types! {
|
||||
pub const ExistentialDeposit: u64 = 0;
|
||||
@@ -594,12 +595,13 @@ mod tests {
|
||||
(*p.borrow() - 1).into()
|
||||
})
|
||||
}
|
||||
|
||||
fn register_para(
|
||||
id: ParaId,
|
||||
_info: ParaInfo,
|
||||
code: Vec<u8>,
|
||||
initial_head_data: Vec<u8>
|
||||
) -> Result<(), &'static str> {
|
||||
) -> DispatchResult {
|
||||
PARACHAINS.with(|p| {
|
||||
if p.borrow().contains_key(&id.into()) {
|
||||
panic!("ID already exists")
|
||||
@@ -608,7 +610,8 @@ mod tests {
|
||||
Ok(())
|
||||
})
|
||||
}
|
||||
fn deregister_para(id: ParaId) -> Result<(), &'static str> {
|
||||
|
||||
fn deregister_para(id: ParaId) -> DispatchResult {
|
||||
PARACHAINS.with(|p| {
|
||||
if !p.borrow().contains_key(&id.into()) {
|
||||
panic!("ID doesn't exist")
|
||||
|
||||
@@ -97,7 +97,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion {
|
||||
spec_name: create_runtime_str!("kusama"),
|
||||
impl_name: create_runtime_str!("parity-kusama"),
|
||||
authoring_version: 2,
|
||||
spec_version: 1031,
|
||||
spec_version: 1032,
|
||||
impl_version: 0,
|
||||
apis: RUNTIME_API_VERSIONS,
|
||||
};
|
||||
@@ -163,6 +163,7 @@ impl system::Trait for Runtime {
|
||||
type MaximumBlockLength = MaximumBlockLength;
|
||||
type AvailableBlockRatio = AvailableBlockRatio;
|
||||
type Version = Version;
|
||||
type ModuleToIndex = ModuleToIndex;
|
||||
}
|
||||
|
||||
parameter_types! {
|
||||
|
||||
@@ -23,7 +23,7 @@ use codec::{Encode, Decode};
|
||||
|
||||
use sp_runtime::traits::{
|
||||
Hash as HashT, BlakeTwo256, Saturating, One, Zero, Dispatchable,
|
||||
AccountIdConversion,
|
||||
AccountIdConversion, BadOrigin,
|
||||
};
|
||||
use frame_support::weights::SimpleDispatchInfo;
|
||||
use primitives::{
|
||||
@@ -34,7 +34,7 @@ use primitives::{
|
||||
},
|
||||
};
|
||||
use frame_support::{
|
||||
Parameter, dispatch::Result, decl_storage, decl_module, ensure,
|
||||
Parameter, dispatch::DispatchResult, decl_storage, decl_module, ensure,
|
||||
traits::{Currency, Get, WithdrawReason, ExistenceRequirement, Randomness},
|
||||
};
|
||||
|
||||
@@ -74,7 +74,7 @@ fn number_range<N>(low: N, high: N) -> BlockNumberRange<N> {
|
||||
// doesn't work.`
|
||||
pub trait ParachainCurrency<AccountId> {
|
||||
fn free_balance(para_id: ParaId) -> Balance;
|
||||
fn deduct(para_id: ParaId, amount: Balance) -> Result;
|
||||
fn deduct(para_id: ParaId, amount: Balance) -> DispatchResult;
|
||||
}
|
||||
|
||||
impl<AccountId, T: Currency<AccountId>> ParachainCurrency<AccountId> for T where
|
||||
@@ -86,7 +86,7 @@ impl<AccountId, T: Currency<AccountId>> ParachainCurrency<AccountId> for T where
|
||||
T::free_balance(¶_account).into()
|
||||
}
|
||||
|
||||
fn deduct(para_id: ParaId, amount: Balance) -> Result {
|
||||
fn deduct(para_id: ParaId, amount: Balance) -> DispatchResult {
|
||||
let para_account = para_id.into_account();
|
||||
|
||||
// burn the fee.
|
||||
@@ -197,7 +197,7 @@ decl_module! {
|
||||
pub struct Module<T: Trait> for enum Call where origin: <T as system::Trait>::Origin {
|
||||
/// Provide candidate receipts for parachains, in ascending order by id.
|
||||
#[weight = SimpleDispatchInfo::FixedNormal(1_000_000)]
|
||||
pub fn set_heads(origin, heads: Vec<AttestedCandidate>) -> Result {
|
||||
pub fn set_heads(origin, heads: Vec<AttestedCandidate>) -> DispatchResult {
|
||||
ensure_none(origin)?;
|
||||
ensure!(!<DidUpdate>::exists(), "Parachain heads must be updated only once in the block");
|
||||
|
||||
@@ -350,7 +350,7 @@ impl<T: Trait> Module<T> {
|
||||
upward_messages: &[UpwardMessage],
|
||||
max_queue_count: usize,
|
||||
watermark_queue_size: usize,
|
||||
) -> Result {
|
||||
) -> DispatchResult {
|
||||
// Either there are no more messages to add...
|
||||
if !upward_messages.is_empty() {
|
||||
let (count, size) = <RelayDispatchQueueSize>::get(id);
|
||||
@@ -616,32 +616,32 @@ impl<T: Trait> Module<T> {
|
||||
fn check_egress_queue_roots(
|
||||
head: &AttestedCandidate,
|
||||
active_parachains: &[(ParaId, Option<(CollatorId, Retriable)>)]
|
||||
) -> Result {
|
||||
) -> DispatchResult {
|
||||
let mut last_egress_id = None;
|
||||
let mut iter = active_parachains.iter().map(|x| x.0);
|
||||
for (egress_para_id, root) in &head.candidate.egress_queue_roots {
|
||||
// egress routes should be ascending order by parachain ID without duplicate.
|
||||
ensure!(
|
||||
last_egress_id.as_ref().map_or(true, |x| x < &egress_para_id),
|
||||
"Egress routes out of order by ID"
|
||||
"Egress routes out of order by ID",
|
||||
);
|
||||
|
||||
// a parachain can't route to self
|
||||
ensure!(
|
||||
*egress_para_id != head.candidate.parachain_index,
|
||||
"Parachain routing to self"
|
||||
"Parachain routing to self",
|
||||
);
|
||||
|
||||
// no empty trie roots
|
||||
ensure!(
|
||||
*root != EMPTY_TRIE_ROOT.into(),
|
||||
"Empty trie root included"
|
||||
"Empty trie root included",
|
||||
);
|
||||
|
||||
// can't route to a parachain which doesn't exist
|
||||
ensure!(
|
||||
iter.find(|x| x == egress_para_id).is_some(),
|
||||
"Routing to non-existent parachain"
|
||||
"Routing to non-existent parachain",
|
||||
);
|
||||
|
||||
last_egress_id = Some(egress_para_id)
|
||||
@@ -654,7 +654,7 @@ impl<T: Trait> Module<T> {
|
||||
fn check_candidates(
|
||||
attested_candidates: &[AttestedCandidate],
|
||||
active_parachains: &[(ParaId, Option<(CollatorId, Retriable)>)]
|
||||
) -> rstd::result::Result<IncludedBlocks<T>, &'static str>
|
||||
) -> rstd::result::Result<IncludedBlocks<T>, sp_runtime::DispatchError>
|
||||
{
|
||||
use primitives::parachain::ValidityAttestation;
|
||||
use sp_runtime::traits::AppVerify;
|
||||
@@ -739,12 +739,12 @@ impl<T: Trait> Module<T> {
|
||||
|
||||
ensure!(
|
||||
candidate.validity_votes.len() >= majority_of(validator_group.len()),
|
||||
"Not enough validity attestations"
|
||||
"Not enough validity attestations",
|
||||
);
|
||||
|
||||
ensure!(
|
||||
candidate.validity_votes.len() <= authorities.len(),
|
||||
"The number of attestations exceeds the number of authorities"
|
||||
"The number of attestations exceeds the number of authorities",
|
||||
);
|
||||
|
||||
let fees = candidate.candidate().fees;
|
||||
@@ -762,7 +762,7 @@ impl<T: Trait> Module<T> {
|
||||
.enumerate()
|
||||
{
|
||||
let validity_attestation = match candidate.validity_votes.get(vote_index) {
|
||||
None => return Err("Not enough validity votes"),
|
||||
None => Err("Not enough validity votes")?,
|
||||
Some(v) => {
|
||||
expected_votes_len = vote_index + 1;
|
||||
v
|
||||
@@ -770,7 +770,7 @@ impl<T: Trait> Module<T> {
|
||||
};
|
||||
|
||||
if validator_group.iter().find(|&(idx, _)| *idx == auth_index).is_none() {
|
||||
return Err("Attesting validator not on this chain's validation duty.");
|
||||
Err("Attesting validator not on this chain's validation duty.")?
|
||||
}
|
||||
|
||||
let (payload, sig) = match validity_attestation {
|
||||
@@ -796,15 +796,15 @@ impl<T: Trait> Module<T> {
|
||||
|
||||
ensure!(
|
||||
sig.verify(&payload[..], &authorities[auth_index]),
|
||||
"Candidate validity attestation signature is bad."
|
||||
"Candidate validity attestation signature is bad.",
|
||||
);
|
||||
}
|
||||
|
||||
para_block_hashes.push(candidate_hash.unwrap_or_else(|| candidate.candidate().hash()));
|
||||
|
||||
ensure!(
|
||||
ensure!(
|
||||
candidate.validity_votes.len() == expected_votes_len,
|
||||
"Extra untagged validity votes along with candidate"
|
||||
"Extra untagged validity votes along with candidate",
|
||||
);
|
||||
}
|
||||
|
||||
@@ -887,12 +887,12 @@ impl<T: Trait> ProvideInherent for Module<T> {
|
||||
|
||||
/// Ensure that the origin `o` represents a parachain.
|
||||
/// Returns `Ok` with the parachain ID that effected the extrinsic or an `Err` otherwise.
|
||||
pub fn ensure_parachain<OuterOrigin>(o: OuterOrigin) -> result::Result<ParaId, &'static str>
|
||||
pub fn ensure_parachain<OuterOrigin>(o: OuterOrigin) -> result::Result<ParaId, BadOrigin>
|
||||
where OuterOrigin: Into<result::Result<Origin, OuterOrigin>>
|
||||
{
|
||||
match o.into() {
|
||||
Ok(Origin::Parachain(id)) => Ok(id),
|
||||
_ => Err("bad origin: expected to be a parachain origin"),
|
||||
_ => Err(BadOrigin),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -961,6 +961,7 @@ mod tests {
|
||||
type MaximumBlockLength = MaximumBlockLength;
|
||||
type AvailableBlockRatio = AvailableBlockRatio;
|
||||
type Version = ();
|
||||
type ModuleToIndex = ();
|
||||
}
|
||||
|
||||
parameter_types! {
|
||||
@@ -1516,7 +1517,7 @@ mod tests {
|
||||
];
|
||||
assert_err!(
|
||||
Parachains::check_upward_messages(0.into(), &messages, 2, 3),
|
||||
"Messages added when queue full"
|
||||
"Messages added when queue full",
|
||||
);
|
||||
});
|
||||
}
|
||||
@@ -1537,7 +1538,7 @@ mod tests {
|
||||
];
|
||||
assert_err!(
|
||||
Parachains::check_upward_messages(0.into(), &messages, 2, 3),
|
||||
"Messages added when queue full"
|
||||
"Messages added when queue full",
|
||||
);
|
||||
});
|
||||
}
|
||||
@@ -1967,7 +1968,7 @@ mod tests {
|
||||
Origin::NONE,
|
||||
);
|
||||
|
||||
assert_eq!(Err("Routing to non-existent parachain"), result);
|
||||
assert_eq!(Err("Routing to non-existent parachain".into()), result);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1992,7 +1993,7 @@ mod tests {
|
||||
Origin::NONE,
|
||||
);
|
||||
|
||||
assert_eq!(Err("Parachain routing to self"), result);
|
||||
assert_eq!(Err("Parachain routing to self".into()), result);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -2017,7 +2018,7 @@ mod tests {
|
||||
Origin::NONE,
|
||||
);
|
||||
|
||||
assert_eq!(Err("Egress routes out of order by ID"), result);
|
||||
assert_eq!(Err("Egress routes out of order by ID".into()), result);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -2042,7 +2043,7 @@ mod tests {
|
||||
Origin::NONE,
|
||||
);
|
||||
|
||||
assert_eq!(Err("Empty trie root included"), result);
|
||||
assert_eq!(Err("Empty trie root included".into()), result);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ use sp_runtime::{
|
||||
|
||||
use frame_support::{
|
||||
decl_storage, decl_module, decl_event, ensure,
|
||||
dispatch::{Result, IsSubType}, traits::{Get, Currency, ReservableCurrency},
|
||||
dispatch::{DispatchResult, IsSubType}, traits::{Get, Currency, ReservableCurrency},
|
||||
weights::{SimpleDispatchInfo, DispatchInfo},
|
||||
};
|
||||
use system::{self, ensure_root, ensure_signed};
|
||||
@@ -53,10 +53,10 @@ pub trait Registrar<AccountId> {
|
||||
info: ParaInfo,
|
||||
code: Vec<u8>,
|
||||
initial_head_data: Vec<u8>,
|
||||
) -> Result;
|
||||
) -> DispatchResult;
|
||||
|
||||
/// Deregister a parachain with given `id`. If `id` is not currently registered, an error is returned.
|
||||
fn deregister_para(id: ParaId) -> Result;
|
||||
fn deregister_para(id: ParaId) -> DispatchResult;
|
||||
}
|
||||
|
||||
impl<T: Trait> Registrar<T::AccountId> for Module<T> {
|
||||
@@ -69,7 +69,7 @@ impl<T: Trait> Registrar<T::AccountId> for Module<T> {
|
||||
info: ParaInfo,
|
||||
code: Vec<u8>,
|
||||
initial_head_data: Vec<u8>,
|
||||
) -> Result {
|
||||
) -> DispatchResult {
|
||||
ensure!(!Paras::exists(id), "Parachain already exists");
|
||||
if let Scheduling::Always = info.scheduling {
|
||||
Parachains::mutate(|parachains|
|
||||
@@ -87,7 +87,7 @@ impl<T: Trait> Registrar<T::AccountId> for Module<T> {
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn deregister_para(id: ParaId) -> Result {
|
||||
fn deregister_para(id: ParaId) -> DispatchResult {
|
||||
let info = Paras::take(id).ok_or("Invalid id")?;
|
||||
if let Scheduling::Always = info.scheduling {
|
||||
Parachains::mutate(|parachains|
|
||||
@@ -227,7 +227,7 @@ decl_module! {
|
||||
info: ParaInfo,
|
||||
code: Vec<u8>,
|
||||
initial_head_data: Vec<u8>,
|
||||
) -> Result {
|
||||
) -> DispatchResult {
|
||||
ensure_root(origin)?;
|
||||
<Self as Registrar<T::AccountId>>::
|
||||
register_para(id, info, code, initial_head_data)
|
||||
@@ -235,7 +235,7 @@ decl_module! {
|
||||
|
||||
/// Deregister a parachain with given id
|
||||
#[weight = SimpleDispatchInfo::FixedOperational(10_000)]
|
||||
pub fn deregister_para(origin, #[compact] id: ParaId) -> Result {
|
||||
pub fn deregister_para(origin, #[compact] id: ParaId) -> DispatchResult {
|
||||
ensure_root(origin)?;
|
||||
<Self as Registrar<T::AccountId>>::deregister_para(id)
|
||||
}
|
||||
@@ -540,7 +540,7 @@ impl<T: Trait + Send + Sync> SignedExtension for LimitParathreadCommits<T> where
|
||||
let thread_count = ThreadCount::get() as usize;
|
||||
ensure!(
|
||||
selected_threads.len() < thread_count,
|
||||
InvalidTransaction::ExhaustsResources.into()
|
||||
InvalidTransaction::ExhaustsResources,
|
||||
);
|
||||
|
||||
// ensure that this is not selecting a duplicate parathread ID
|
||||
@@ -554,7 +554,7 @@ impl<T: Trait + Send + Sync> SignedExtension for LimitParathreadCommits<T> where
|
||||
let e = TransactionValidityError::from(InvalidTransaction::Custom(Error::InvalidId as u8));
|
||||
let head = <parachains::Module<T>>::parachain_head(id).ok_or(e)?;
|
||||
let actual = T::Hashing::hash(&head);
|
||||
ensure!(&actual == hash, InvalidTransaction::Stale.into());
|
||||
ensure!(&actual == hash, InvalidTransaction::Stale);
|
||||
|
||||
// updated the selected threads.
|
||||
selected_threads.insert(pos, (*id, collator.clone()));
|
||||
@@ -635,6 +635,7 @@ mod tests {
|
||||
type MaximumBlockLength = MaximumBlockLength;
|
||||
type AvailableBlockRatio = AvailableBlockRatio;
|
||||
type Version = ();
|
||||
type ModuleToIndex = ();
|
||||
}
|
||||
|
||||
parameter_types! {
|
||||
@@ -1335,7 +1336,7 @@ mod tests {
|
||||
assert_noop!(
|
||||
LimitParathreadCommits::<Test>(std::marker::PhantomData)
|
||||
.validate(&0, &call, info, 0),
|
||||
InvalidTransaction::ExhaustsResources.into()
|
||||
InvalidTransaction::ExhaustsResources,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@ use sp_runtime::traits::{
|
||||
use frame_support::weights::SimpleDispatchInfo;
|
||||
use codec::{Encode, Decode, Codec};
|
||||
use frame_support::{
|
||||
decl_module, decl_storage, decl_event, ensure,
|
||||
decl_module, decl_storage, decl_event, ensure, dispatch::DispatchResult,
|
||||
traits::{Currency, ReservableCurrency, WithdrawReason, ExistenceRequirement, Get, Randomness},
|
||||
};
|
||||
use primitives::parachain::{
|
||||
@@ -379,7 +379,7 @@ decl_module! {
|
||||
if let IncomingParachain::Unset(ref nb) = details {
|
||||
ensure!(nb.who == who && nb.sub == sub, "parachain not registered by origin");
|
||||
} else {
|
||||
return Err("already registered")
|
||||
Err("already registered")?
|
||||
}
|
||||
let item = (starts, IncomingParachain::Fixed{code_hash, initial_head_data});
|
||||
<Onboarding<T>>::insert(¶_id, item);
|
||||
@@ -398,7 +398,7 @@ decl_module! {
|
||||
/// - `para_id` is the parachain ID whose code will be elaborated.
|
||||
/// - `code` is the preimage of the registered `code_hash` of `para_id`.
|
||||
#[weight = SimpleDispatchInfo::FixedNormal(5_000_000)]
|
||||
pub fn elaborate_deploy_data(_origin, #[compact] para_id: ParaId, code: Vec<u8>) {
|
||||
pub fn elaborate_deploy_data(_origin, #[compact] para_id: ParaId, code: Vec<u8>) -> DispatchResult {
|
||||
let (starts, details) = <Onboarding<T>>::get(¶_id)
|
||||
.ok_or("parachain id not in onboarding")?;
|
||||
if let IncomingParachain::Fixed{code_hash, initial_head_data} = details {
|
||||
@@ -414,8 +414,10 @@ decl_module! {
|
||||
let _ = T::Parachains::
|
||||
register_para(para_id, PARACHAIN_INFO, code, initial_head_data);
|
||||
}
|
||||
|
||||
Ok(())
|
||||
} else {
|
||||
return Err("deploy data not yet fixed")
|
||||
Err("deploy data not yet fixed".into())
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -680,7 +682,7 @@ impl<T: Trait> Module<T> {
|
||||
first_slot: LeasePeriodOf<T>,
|
||||
last_slot: LeasePeriodOf<T>,
|
||||
amount: BalanceOf<T>
|
||||
) -> Result<(), &'static str> {
|
||||
) -> DispatchResult {
|
||||
// Bidding on latest auction.
|
||||
ensure!(auction_index == <AuctionCounter>::get(), "not current auction");
|
||||
// Assume it's actually an auction (this should never fail because of above).
|
||||
@@ -706,7 +708,7 @@ impl<T: Trait> Module<T> {
|
||||
.expect("array has SLOT_RANGE_COUNT items; index never reaches that value; qed")
|
||||
)
|
||||
)),
|
||||
"bidder winning non-intersecting range"
|
||||
"bidder winning non-intersecting range",
|
||||
);
|
||||
|
||||
// Ok; we are the new winner of this range - reserve the additional amount and record.
|
||||
@@ -818,7 +820,7 @@ impl<T: Trait> Module<T> {
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
use std::{result::Result, collections::HashMap, cell::RefCell};
|
||||
use std::{collections::HashMap, cell::RefCell};
|
||||
|
||||
use sp_core::H256;
|
||||
use sp_runtime::{
|
||||
@@ -860,6 +862,7 @@ mod tests {
|
||||
type MaximumBlockLength = MaximumBlockLength;
|
||||
type AvailableBlockRatio = AvailableBlockRatio;
|
||||
type Version = ();
|
||||
type ModuleToIndex = ();
|
||||
}
|
||||
|
||||
parameter_types! {
|
||||
@@ -899,7 +902,7 @@ mod tests {
|
||||
_info: ParaInfo,
|
||||
code: Vec<u8>,
|
||||
initial_head_data: Vec<u8>
|
||||
) -> Result<(), &'static str> {
|
||||
) -> DispatchResult {
|
||||
PARACHAINS.with(|p| {
|
||||
if p.borrow().contains_key(&id.into()) {
|
||||
panic!("ID already exists")
|
||||
@@ -908,7 +911,7 @@ mod tests {
|
||||
Ok(())
|
||||
})
|
||||
}
|
||||
fn deregister_para(id: ParaId) -> Result<(), &'static str> {
|
||||
fn deregister_para(id: ParaId) -> DispatchResult {
|
||||
PARACHAINS.with(|p| {
|
||||
if !p.borrow().contains_key(&id.into()) {
|
||||
panic!("ID doesn't exist")
|
||||
|
||||
Reference in New Issue
Block a user