mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-13 04:41:02 +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:
@@ -34,7 +34,7 @@ use frame_support::{
|
||||
weights::Weight,
|
||||
Blake2_128Concat, BoundedVec, StorageHasher,
|
||||
};
|
||||
use frame_system::RawOrigin;
|
||||
use frame_system::{pallet_prelude::BlockNumberFor, RawOrigin};
|
||||
use pallet_contracts_primitives::ExecReturnValue;
|
||||
use smallvec::{Array, SmallVec};
|
||||
use sp_core::{
|
||||
@@ -48,7 +48,6 @@ use sp_std::{marker::PhantomData, mem, prelude::*, vec::Vec};
|
||||
pub type AccountIdOf<T> = <T as frame_system::Config>::AccountId;
|
||||
pub type MomentOf<T> = <<T as Config>::Time as Time>::Moment;
|
||||
pub type SeedOf<T> = <T as frame_system::Config>::Hash;
|
||||
pub type BlockNumberOf<T> = <T as frame_system::Config>::BlockNumber;
|
||||
pub type ExecResult = Result<ExecReturnValue, ExecError>;
|
||||
|
||||
/// A type that represents a topic of an event. At the moment a hash is used.
|
||||
@@ -244,7 +243,7 @@ pub trait Ext: sealing::Sealed {
|
||||
fn minimum_balance(&self) -> BalanceOf<Self::T>;
|
||||
|
||||
/// Returns a random number for the current block with the given subject.
|
||||
fn random(&self, subject: &[u8]) -> (SeedOf<Self::T>, BlockNumberOf<Self::T>);
|
||||
fn random(&self, subject: &[u8]) -> (SeedOf<Self::T>, BlockNumberFor<Self::T>);
|
||||
|
||||
/// Deposit an event with the given topics.
|
||||
///
|
||||
@@ -252,7 +251,7 @@ pub trait Ext: sealing::Sealed {
|
||||
fn deposit_event(&mut self, topics: Vec<TopicOf<Self::T>>, data: Vec<u8>);
|
||||
|
||||
/// Returns the current block number.
|
||||
fn block_number(&self) -> BlockNumberOf<Self::T>;
|
||||
fn block_number(&self) -> BlockNumberFor<Self::T>;
|
||||
|
||||
/// Returns the maximum allowed size of a storage item.
|
||||
fn max_value_size(&self) -> u32;
|
||||
@@ -400,7 +399,7 @@ pub struct Stack<'a, T: Config, E> {
|
||||
/// The timestamp at the point of call stack instantiation.
|
||||
timestamp: MomentOf<T>,
|
||||
/// The block number at the time of call stack instantiation.
|
||||
block_number: T::BlockNumber,
|
||||
block_number: BlockNumberFor<T>,
|
||||
/// The nonce is cached here when accessed. It is written back when the call stack
|
||||
/// finishes executing. Please refer to [`Nonce`] to a description of
|
||||
/// the nonce itself.
|
||||
@@ -1341,7 +1340,7 @@ where
|
||||
self.top_frame().value_transferred
|
||||
}
|
||||
|
||||
fn random(&self, subject: &[u8]) -> (SeedOf<T>, BlockNumberOf<T>) {
|
||||
fn random(&self, subject: &[u8]) -> (SeedOf<T>, BlockNumberFor<T>) {
|
||||
T::Randomness::random(subject)
|
||||
}
|
||||
|
||||
@@ -1360,7 +1359,7 @@ where
|
||||
);
|
||||
}
|
||||
|
||||
fn block_number(&self) -> T::BlockNumber {
|
||||
fn block_number(&self) -> BlockNumberFor<T> {
|
||||
self.block_number
|
||||
}
|
||||
|
||||
|
||||
@@ -209,7 +209,7 @@ pub mod pallet {
|
||||
/// be instantiated from existing codes that use this deprecated functionality. It will
|
||||
/// be removed eventually. Hence for new `pallet-contracts` deployments it is okay
|
||||
/// to supply a dummy implementation for this type (because it is never used).
|
||||
type Randomness: Randomness<Self::Hash, Self::BlockNumber>;
|
||||
type Randomness: Randomness<Self::Hash, BlockNumberFor<Self>>;
|
||||
|
||||
/// The currency in which fees are paid and contract balances are held.
|
||||
type Currency: ReservableCurrency<Self::AccountId> // TODO: Move to fungible traits
|
||||
@@ -341,7 +341,7 @@ pub mod pallet {
|
||||
|
||||
#[pallet::hooks]
|
||||
impl<T: Config> Hooks<BlockNumberFor<T>> for Pallet<T> {
|
||||
fn on_idle(_block: T::BlockNumber, mut remaining_weight: Weight) -> Weight {
|
||||
fn on_idle(_block: BlockNumberFor<T>, mut remaining_weight: Weight) -> Weight {
|
||||
use migration::MigrateResult::*;
|
||||
|
||||
loop {
|
||||
|
||||
@@ -50,20 +50,16 @@ use sp_core::ByteArray;
|
||||
use sp_io::hashing::blake2_256;
|
||||
use sp_keystore::{testing::MemoryKeystore, KeystoreExt};
|
||||
use sp_runtime::{
|
||||
testing::{Header, H256},
|
||||
testing::H256,
|
||||
traits::{BlakeTwo256, Convert, Hash, IdentityLookup},
|
||||
AccountId32, BuildStorage, TokenError,
|
||||
};
|
||||
use std::ops::Deref;
|
||||
|
||||
type UncheckedExtrinsic = frame_system::mocking::MockUncheckedExtrinsic<Test>;
|
||||
type Block = frame_system::mocking::MockBlock<Test>;
|
||||
|
||||
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, Storage, Config<T>, Event<T>},
|
||||
@@ -314,13 +310,12 @@ impl frame_system::Config for Test {
|
||||
type DbWeight = ();
|
||||
type RuntimeOrigin = RuntimeOrigin;
|
||||
type Index = u64;
|
||||
type BlockNumber = u64;
|
||||
type Hash = H256;
|
||||
type RuntimeCall = RuntimeCall;
|
||||
type Hashing = BlakeTwo256;
|
||||
type AccountId = AccountId32;
|
||||
type Lookup = IdentityLookup<Self::AccountId>;
|
||||
type Header = Header;
|
||||
type Block = Block;
|
||||
type RuntimeEvent = RuntimeEvent;
|
||||
type BlockHashCount = ConstU64<250>;
|
||||
type Version = ();
|
||||
|
||||
@@ -417,7 +417,7 @@ impl<T: Config> Executable<T> for WasmBlob<T> {
|
||||
mod tests {
|
||||
use super::*;
|
||||
use crate::{
|
||||
exec::{AccountIdOf, BlockNumberOf, ErrorOrigin, ExecError, Executable, Ext, Key, SeedOf},
|
||||
exec::{AccountIdOf, ErrorOrigin, ExecError, Executable, Ext, Key, SeedOf},
|
||||
gas::GasMeter,
|
||||
storage::WriteOutcome,
|
||||
tests::{RuntimeCall, Test, ALICE, BOB},
|
||||
@@ -427,6 +427,7 @@ mod tests {
|
||||
use frame_support::{
|
||||
assert_err, assert_ok, dispatch::DispatchResultWithPostInfo, weights::Weight,
|
||||
};
|
||||
use frame_system::pallet_prelude::BlockNumberFor;
|
||||
use pallet_contracts_primitives::{ExecReturnValue, ReturnFlags};
|
||||
use pretty_assertions::assert_eq;
|
||||
use sp_core::H256;
|
||||
@@ -632,7 +633,7 @@ mod tests {
|
||||
fn minimum_balance(&self) -> u64 {
|
||||
666
|
||||
}
|
||||
fn random(&self, subject: &[u8]) -> (SeedOf<Self::T>, BlockNumberOf<Self::T>) {
|
||||
fn random(&self, subject: &[u8]) -> (SeedOf<Self::T>, BlockNumberFor<Self::T>) {
|
||||
(H256::from_slice(subject), 42)
|
||||
}
|
||||
fn deposit_event(&mut self, topics: Vec<H256>, data: Vec<u8>) {
|
||||
|
||||
@@ -2091,7 +2091,7 @@ pub mod env {
|
||||
/// `out_ptr`. This call overwrites it with the size of the value. If the available
|
||||
/// space at `out_ptr` is less than the size of the value a trap is triggered.
|
||||
///
|
||||
/// The data is encoded as (T::Hash, T::BlockNumber).
|
||||
/// The data is encoded as (T::Hash, frame_system::pallet_prelude::BlockNumberFor::<T>).
|
||||
///
|
||||
/// # Changes from v0
|
||||
///
|
||||
|
||||
Reference in New Issue
Block a user