mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-13 23:21:06 +00:00
Moves Block to frame_system instead of construct_runtime and removes Header and BlockNumber (#14437)
* Initial setup * Adds node block * Uses UncheckedExtrinsic and removes Where section * Updates frame_system to use Block * Adds deprecation warning * Fixes pallet-timestamp * Removes Header and BlockNumber * Addresses review comments * Addresses review comments * Adds comment about compiler bug * Removes where clause * Refactors code * Fixes errors in cargo check * Fixes errors in cargo check * Fixes warnings in cargo check * Formatting * Fixes construct_runtime tests * Uses import instead of full path for BlockNumber * Uses import instead of full path for Header * Formatting * Fixes construct_runtime tests * Fixes imports in benchmarks * Formatting * Fixes construct_runtime tests * Formatting * Minor updates * Fixes construct_runtime ui tests * Fixes construct_runtime ui tests with 1.70 * Fixes docs * Fixes docs * Adds u128 mock block type * Fixes split example * fixes for cumulus * ".git/.scripts/commands/fmt/fmt.sh" * Updates new tests * Fixes fully-qualified path in few places * Formatting * Update frame/examples/default-config/src/lib.rs Co-authored-by: Juan <juangirini@gmail.com> * Update frame/support/procedural/src/construct_runtime/mod.rs Co-authored-by: Juan <juangirini@gmail.com> * ".git/.scripts/commands/fmt/fmt.sh" * Addresses some review comments * Fixes build * ".git/.scripts/commands/fmt/fmt.sh" * Update frame/democracy/src/lib.rs Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> * Update frame/democracy/src/lib.rs Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> * Update frame/support/procedural/src/construct_runtime/mod.rs Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> * Update frame/support/procedural/src/construct_runtime/mod.rs Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> * Addresses review comments * Updates trait bounds * Minor fix * ".git/.scripts/commands/fmt/fmt.sh" * Removes unnecessary bound * ".git/.scripts/commands/fmt/fmt.sh" * Updates test * Fixes build * Adds a bound for header * ".git/.scripts/commands/fmt/fmt.sh" * Removes where block * Minor fix * Minor fix * Fixes tests * ".git/.scripts/commands/update-ui/update-ui.sh" 1.70 * Updates test * Update primitives/runtime/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * Update primitives/runtime/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * Updates doc * Updates doc --------- Co-authored-by: command-bot <> Co-authored-by: Juan <juangirini@gmail.com> Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> Co-authored-by: Bastian Köcher <git@kchr.de>
This commit is contained in:
@@ -22,7 +22,7 @@
|
||||
use super::*;
|
||||
use frame_benchmarking::v1::{benchmarks, whitelisted_caller};
|
||||
use frame_support::traits::{Currency, Get, OnFinalize, OnInitialize};
|
||||
use frame_system::{EventRecord, Pallet as System, RawOrigin};
|
||||
use frame_system::{pallet_prelude::BlockNumberFor, EventRecord, Pallet as System, RawOrigin};
|
||||
use sp_runtime::traits::{Bounded, One, Zero};
|
||||
use sp_std::*;
|
||||
use sp_transaction_storage_proof::TransactionStorageProof;
|
||||
@@ -113,7 +113,7 @@ fn assert_last_event<T: Config>(generic_event: <T as Config>::RuntimeEvent) {
|
||||
assert_eq!(event, &system_event);
|
||||
}
|
||||
|
||||
pub fn run_to_block<T: Config>(n: T::BlockNumber) {
|
||||
pub fn run_to_block<T: Config>(n: frame_system::pallet_prelude::BlockNumberFor<T>) {
|
||||
while frame_system::Pallet::<T>::block_number() < n {
|
||||
crate::Pallet::<T>::on_finalize(frame_system::Pallet::<T>::block_number());
|
||||
frame_system::Pallet::<T>::on_finalize(frame_system::Pallet::<T>::block_number());
|
||||
@@ -144,7 +144,7 @@ benchmarks! {
|
||||
vec![0u8; T::MaxTransactionSize::get() as usize],
|
||||
)?;
|
||||
run_to_block::<T>(1u32.into());
|
||||
}: _(RawOrigin::Signed(caller.clone()), T::BlockNumber::zero(), 0)
|
||||
}: _(RawOrigin::Signed(caller.clone()), BlockNumberFor::<T>::zero(), 0)
|
||||
verify {
|
||||
assert_last_event::<T>(Event::Renewed { index: 0 }.into());
|
||||
}
|
||||
@@ -159,7 +159,7 @@ benchmarks! {
|
||||
vec![0u8; T::MaxTransactionSize::get() as usize],
|
||||
)?;
|
||||
}
|
||||
run_to_block::<T>(StoragePeriod::<T>::get() + T::BlockNumber::one());
|
||||
run_to_block::<T>(StoragePeriod::<T>::get() + BlockNumberFor::<T>::one());
|
||||
let encoded_proof = proof();
|
||||
let proof = TransactionStorageProof::decode(&mut &*encoded_proof).unwrap();
|
||||
}: check_proof(RawOrigin::None, proof)
|
||||
|
||||
@@ -145,7 +145,7 @@ pub mod pallet {
|
||||
|
||||
#[pallet::hooks]
|
||||
impl<T: Config> Hooks<BlockNumberFor<T>> for Pallet<T> {
|
||||
fn on_initialize(n: T::BlockNumber) -> Weight {
|
||||
fn on_initialize(n: BlockNumberFor<T>) -> Weight {
|
||||
// Drop obsolete roots. The proof for `obsolete` will be checked later
|
||||
// in this block, so we drop `obsolete` - 1.
|
||||
let period = <StoragePeriod<T>>::get();
|
||||
@@ -158,7 +158,7 @@ pub mod pallet {
|
||||
T::DbWeight::get().reads_writes(2, 4)
|
||||
}
|
||||
|
||||
fn on_finalize(n: T::BlockNumber) {
|
||||
fn on_finalize(n: BlockNumberFor<T>) {
|
||||
assert!(
|
||||
<ProofChecked<T>>::take() || {
|
||||
// Proof is not required for early or empty blocks.
|
||||
@@ -238,7 +238,7 @@ pub mod pallet {
|
||||
#[pallet::weight(T::WeightInfo::renew())]
|
||||
pub fn renew(
|
||||
origin: OriginFor<T>,
|
||||
block: T::BlockNumber,
|
||||
block: BlockNumberFor<T>,
|
||||
index: u32,
|
||||
) -> DispatchResultWithPostInfo {
|
||||
let sender = ensure_signed(origin)?;
|
||||
@@ -342,7 +342,7 @@ pub mod pallet {
|
||||
pub(super) type Transactions<T: Config> = StorageMap<
|
||||
_,
|
||||
Blake2_128Concat,
|
||||
T::BlockNumber,
|
||||
BlockNumberFor<T>,
|
||||
BoundedVec<TransactionInfo, T::MaxBlockTransactions>,
|
||||
OptionQuery,
|
||||
>;
|
||||
@@ -350,7 +350,7 @@ pub mod pallet {
|
||||
/// Count indexed chunks for each block.
|
||||
#[pallet::storage]
|
||||
pub(super) type ChunkCount<T: Config> =
|
||||
StorageMap<_, Blake2_128Concat, T::BlockNumber, u32, ValueQuery>;
|
||||
StorageMap<_, Blake2_128Concat, BlockNumberFor<T>, u32, ValueQuery>;
|
||||
|
||||
#[pallet::storage]
|
||||
#[pallet::getter(fn byte_fee)]
|
||||
@@ -365,7 +365,7 @@ pub mod pallet {
|
||||
/// Storage period for data in blocks. Should match `sp_storage_proof::DEFAULT_STORAGE_PERIOD`
|
||||
/// for block authoring.
|
||||
#[pallet::storage]
|
||||
pub(super) type StoragePeriod<T: Config> = StorageValue<_, T::BlockNumber, ValueQuery>;
|
||||
pub(super) type StoragePeriod<T: Config> = StorageValue<_, BlockNumberFor<T>, ValueQuery>;
|
||||
|
||||
// Intermediates
|
||||
#[pallet::storage]
|
||||
@@ -380,7 +380,7 @@ pub mod pallet {
|
||||
pub struct GenesisConfig<T: Config> {
|
||||
pub byte_fee: BalanceOf<T>,
|
||||
pub entry_fee: BalanceOf<T>,
|
||||
pub storage_period: T::BlockNumber,
|
||||
pub storage_period: BlockNumberFor<T>,
|
||||
}
|
||||
|
||||
impl<T: Config> Default for GenesisConfig<T> {
|
||||
|
||||
@@ -24,20 +24,15 @@ use crate::{
|
||||
use frame_support::traits::{ConstU16, ConstU32, ConstU64, OnFinalize, OnInitialize};
|
||||
use sp_core::H256;
|
||||
use sp_runtime::{
|
||||
testing::Header,
|
||||
traits::{BlakeTwo256, IdentityLookup},
|
||||
BuildStorage,
|
||||
};
|
||||
|
||||
type UncheckedExtrinsic = frame_system::mocking::MockUncheckedExtrinsic<Test>;
|
||||
pub type Block = frame_system::mocking::MockBlock<Test>;
|
||||
|
||||
// Configure a mock runtime to test the pallet.
|
||||
frame_support::construct_runtime!(
|
||||
pub enum Test where
|
||||
Block = Block,
|
||||
NodeBlock = Block,
|
||||
UncheckedExtrinsic = UncheckedExtrinsic,
|
||||
pub enum Test
|
||||
{
|
||||
System: frame_system::{Pallet, Call, Config<T>, Storage, Event<T>},
|
||||
Balances: pallet_balances::{Pallet, Call, Config<T>, Storage, Event<T>},
|
||||
@@ -54,12 +49,11 @@ impl frame_system::Config for Test {
|
||||
type RuntimeOrigin = RuntimeOrigin;
|
||||
type RuntimeCall = RuntimeCall;
|
||||
type Index = u64;
|
||||
type BlockNumber = u64;
|
||||
type Hash = H256;
|
||||
type Hashing = BlakeTwo256;
|
||||
type AccountId = u64;
|
||||
type Lookup = IdentityLookup<Self::AccountId>;
|
||||
type Header = Header;
|
||||
type Block = Block;
|
||||
type RuntimeEvent = RuntimeEvent;
|
||||
type BlockHashCount = ConstU64<250>;
|
||||
type DbWeight = ();
|
||||
|
||||
Reference in New Issue
Block a user