mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-12 18:11:10 +00:00
GenesisBuild<T,I> deprecated. BuildGenesisConfig added. (#14306)
* frame::support: GenesisConfig types for Runtime enabled * frame::support: macro generating GenesisBuild::build for RuntimeGenesisConfig * frame: ambiguity BuildStorage vs GenesisBuild fixed * fix * RuntimeGenesisBuild added * Revert "frame: ambiguity BuildStorage vs GenesisBuild fixed" This reverts commit 950f3d019d0e21c55a739c44cc19cdabd3ff0293. * Revert "fix" This reverts commit a2f76dd24e9a16cf9230d45825ed28787211118b. * Revert "RuntimeGenesisBuild added" This reverts commit 3c131b618138ced29c01ab8d15d8c6410c9e128b. * Revert "Revert "frame: ambiguity BuildStorage vs GenesisBuild fixed"" This reverts commit 2b1ecd467231eddec69f8d328039ba48a380da3d. * Revert "Revert "fix"" This reverts commit fd7fa629adf579d83e30e6ae9fd162637fc45e30. * Code review suggestions * frame: BuildGenesisConfig added, BuildGenesis deprecated * frame: some pallets updated with BuildGenesisConfig * constuct_runtime: support for BuildGenesisConfig * frame::support: genesis_build macro supports BuildGenesisConfig * frame: BuildGenesisConfig added, BuildGenesis deprecated * Cargo.lock update * test-runtime: fixes * Revert "fix" This reverts commit a2f76dd24e9a16cf9230d45825ed28787211118b. * Revert "frame: ambiguity BuildStorage vs GenesisBuild fixed" This reverts commit 950f3d019d0e21c55a739c44cc19cdabd3ff0293. * self review * doc fixed * ui tests fixed * fmt * tests fixed * genesis_build macrto fixed for non-generic GenesisConfig * BuildGenesisConfig constraints added * warning fixed * some duplication removed * fmt * fix * doc tests fix * doc fix * cleanup: remove BuildModuleGenesisStorage * self review comments * fix * Update frame/treasury/src/tests.rs Co-authored-by: Sebastian Kunert <skunert49@gmail.com> * Update frame/support/src/traits/hooks.rs Co-authored-by: Sebastian Kunert <skunert49@gmail.com> * doc fix: GenesisBuild exposed * ".git/.scripts/commands/fmt/fmt.sh" * frame: more serde(skip) + cleanup * Update frame/support/src/traits/hooks.rs Co-authored-by: Davide Galassi <davxy@datawok.net> * frame: phantom fields moved to the end of structs * chain-spec: Default::default cleanup * test-runtime: phantom at the end * merge master fixes * fix * fix * fix * fix * fix (facepalm) * Update frame/support/procedural/src/pallet/expand/genesis_build.rs Co-authored-by: Bastian Köcher <git@kchr.de> * fmt * fix * fix --------- Co-authored-by: parity-processbot <> Co-authored-by: Sebastian Kunert <skunert49@gmail.com> Co-authored-by: Davide Galassi <davxy@datawok.net> Co-authored-by: Bastian Köcher <git@kchr.de>
This commit is contained in:
committed by
GitHub
parent
49150ee583
commit
87d41d0a89
@@ -84,6 +84,8 @@ use sp_std::{fmt::Debug, marker::PhantomData, prelude::*};
|
||||
use sp_version::RuntimeVersion;
|
||||
|
||||
use codec::{Decode, Encode, EncodeLike, FullCodec, MaxEncodedLen};
|
||||
#[cfg(feature = "std")]
|
||||
use frame_support::traits::BuildGenesisConfig;
|
||||
use frame_support::{
|
||||
dispatch::{
|
||||
extract_actual_pays_fee, extract_actual_weight, DispatchClass, DispatchInfo,
|
||||
@@ -101,8 +103,6 @@ use scale_info::TypeInfo;
|
||||
use sp_core::storage::well_known_keys;
|
||||
use sp_weights::{RuntimeDbWeight, Weight};
|
||||
|
||||
#[cfg(feature = "std")]
|
||||
use frame_support::traits::GenesisBuild;
|
||||
#[cfg(any(feature = "std", test))]
|
||||
use sp_io::TestExternalities;
|
||||
|
||||
@@ -670,15 +670,17 @@ pub mod pallet {
|
||||
#[pallet::whitelist_storage]
|
||||
pub(super) type ExecutionPhase<T: Config> = StorageValue<_, Phase>;
|
||||
|
||||
#[derive(Default)]
|
||||
#[derive(frame_support::DefaultNoBound)]
|
||||
#[pallet::genesis_config]
|
||||
pub struct GenesisConfig {
|
||||
pub struct GenesisConfig<T: Config> {
|
||||
#[serde(with = "sp_core::bytes")]
|
||||
pub code: Vec<u8>,
|
||||
#[serde(skip)]
|
||||
pub _config: sp_std::marker::PhantomData<T>,
|
||||
}
|
||||
|
||||
#[pallet::genesis_build]
|
||||
impl<T: Config> GenesisBuild<T> for GenesisConfig {
|
||||
impl<T: Config> BuildGenesisConfig for GenesisConfig<T> {
|
||||
fn build(&self) {
|
||||
<BlockHash<T>>::insert::<_, T::Hash>(T::BlockNumber::zero(), hash69());
|
||||
<ParentHash<T>>::put::<T::Hash>(hash69());
|
||||
@@ -692,26 +694,6 @@ pub mod pallet {
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(feature = "std")]
|
||||
impl GenesisConfig {
|
||||
/// Direct implementation of `GenesisBuild::build_storage`.
|
||||
///
|
||||
/// Kept in order not to break dependency.
|
||||
pub fn build_storage<T: Config>(&self) -> Result<sp_runtime::Storage, String> {
|
||||
<Self as GenesisBuild<T>>::build_storage(self)
|
||||
}
|
||||
|
||||
/// Direct implementation of `GenesisBuild::assimilate_storage`.
|
||||
///
|
||||
/// Kept in order not to break dependency.
|
||||
pub fn assimilate_storage<T: Config>(
|
||||
&self,
|
||||
storage: &mut sp_runtime::Storage,
|
||||
) -> Result<(), String> {
|
||||
<Self as GenesisBuild<T>>::assimilate_storage(self, storage)
|
||||
}
|
||||
}
|
||||
|
||||
pub type Key = Vec<u8>;
|
||||
pub type KeyValue = (Vec<u8>, Vec<u8>);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user