Skip to content
This repository was archived by the owner on Nov 15, 2023. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
692de3a
frame::support: GenesisConfig types for Runtime enabled
michalkucharczyk May 30, 2023
98398b4
frame::support: macro generating GenesisBuild::build for RuntimeGenes…
michalkucharczyk May 17, 2023
6017dad
frame: ambiguity BuildStorage vs GenesisBuild fixed
michalkucharczyk May 24, 2023
477d7ad
fix
michalkucharczyk Jun 6, 2023
5fc8e30
Merge remote-tracking branch 'origin/master' into mku-genesis-build-f…
Jun 9, 2023
3c131b6
RuntimeGenesisBuild added
michalkucharczyk Jun 12, 2023
2b1ecd4
Revert "frame: ambiguity BuildStorage vs GenesisBuild fixed"
michalkucharczyk Jun 12, 2023
fd7fa62
Revert "fix"
michalkucharczyk Jun 12, 2023
e72ab34
Merge remote-tracking branch 'origin/master' into mku-genesis-build-f…
Jun 12, 2023
ef35f75
Revert "RuntimeGenesisBuild added"
michalkucharczyk Jun 13, 2023
ccfcc50
Revert "Revert "frame: ambiguity BuildStorage vs GenesisBuild fixed""
michalkucharczyk Jun 13, 2023
59071b8
Revert "Revert "fix""
michalkucharczyk Jun 13, 2023
87d969a
Code review suggestions
michalkucharczyk Jun 13, 2023
8b01b12
frame: BuildGenesisConfig added, BuildGenesis deprecated
michalkucharczyk Jun 14, 2023
6e2923a
frame: some pallets updated with BuildGenesisConfig
michalkucharczyk Jun 14, 2023
e30bd48
constuct_runtime: support for BuildGenesisConfig
michalkucharczyk Jun 14, 2023
6d7c910
frame::support: genesis_build macro supports BuildGenesisConfig
michalkucharczyk Jun 14, 2023
cbf963a
frame: BuildGenesisConfig added, BuildGenesis deprecated
michalkucharczyk Jun 15, 2023
37c4132
Merge remote-tracking branch 'origin/master' into mku-genesis-build-f…
michalkucharczyk Jun 15, 2023
6ab7787
Cargo.lock update
michalkucharczyk Jun 15, 2023
a634ee0
test-runtime: fixes
michalkucharczyk Jun 15, 2023
8054181
Revert "fix"
michalkucharczyk Jun 16, 2023
b265703
Revert "frame: ambiguity BuildStorage vs GenesisBuild fixed"
michalkucharczyk Jun 16, 2023
908e60c
self review
michalkucharczyk Jun 16, 2023
d48c130
doc fixed
michalkucharczyk Jun 16, 2023
14af66b
ui tests fixed
michalkucharczyk Jun 16, 2023
d8c0602
Merge remote-tracking branch 'origin/master' into mku-genesis-build-f…
michalkucharczyk Jun 16, 2023
79424ae
fmt
michalkucharczyk Jun 16, 2023
fa5fe32
tests fixed
michalkucharczyk Jun 16, 2023
fd71ead
genesis_build macrto fixed for non-generic GenesisConfig
michalkucharczyk Jun 16, 2023
1ef1976
BuildGenesisConfig constraints added
michalkucharczyk Jun 16, 2023
06ea765
warning fixed
michalkucharczyk Jun 16, 2023
e178f0c
some duplication removed
michalkucharczyk Jun 16, 2023
f8afcb0
fmt
michalkucharczyk Jun 16, 2023
beafa9a
fix
michalkucharczyk Jun 16, 2023
9f9c214
doc tests fix
michalkucharczyk Jun 16, 2023
96a8400
doc fix
michalkucharczyk Jun 16, 2023
7ee89a2
cleanup: remove BuildModuleGenesisStorage
michalkucharczyk Jun 16, 2023
cff8186
Merge remote-tracking branch 'origin/master' into mku-genesis-build-f…
michalkucharczyk Jun 19, 2023
11d8f89
self review comments
michalkucharczyk Jun 19, 2023
436cdda
fix
michalkucharczyk Jun 19, 2023
702e444
Update frame/treasury/src/tests.rs
michalkucharczyk Jun 20, 2023
c6b10bd
Update frame/support/src/traits/hooks.rs
michalkucharczyk Jun 20, 2023
27c8b52
doc fix: GenesisBuild exposed
michalkucharczyk Jun 20, 2023
473b826
".git/.scripts/commands/fmt/fmt.sh"
Jun 20, 2023
28e448b
Merge remote-tracking branch 'origin/master' into mku-genesis-build-f…
michalkucharczyk Jun 20, 2023
1f5ec07
frame: more serde(skip) + cleanup
michalkucharczyk Jun 20, 2023
b21c50a
Merge remote-tracking branch 'origin/master' into mku-genesis-build-f…
Jun 22, 2023
48fe1da
Update frame/support/src/traits/hooks.rs
michalkucharczyk Jun 26, 2023
17ace4e
frame: phantom fields moved to the end of structs
michalkucharczyk Jun 26, 2023
fcff039
chain-spec: Default::default cleanup
michalkucharczyk Jun 26, 2023
a46eb4b
test-runtime: phantom at the end
michalkucharczyk Jun 26, 2023
cce714f
Merge remote-tracking branch 'origin/master' into mku-genesis-build-f…
michalkucharczyk Jun 26, 2023
1db4121
merge master fixes
michalkucharczyk Jun 26, 2023
9b7c6c0
fix
michalkucharczyk Jun 27, 2023
8735bb8
fix
michalkucharczyk Jun 27, 2023
478069d
Merge branch 'master' into mku-genesis-build-for-runtime-genesis-config
michalkucharczyk Jun 30, 2023
01d6f42
fix
michalkucharczyk Jun 30, 2023
d4fa972
fix
michalkucharczyk Jun 30, 2023
4c46d96
fix (facepalm)
michalkucharczyk Jun 30, 2023
afbff0a
Merge remote-tracking branch 'origin/master' into mku-genesis-build-f…
Jul 4, 2023
0fbda66
Update frame/support/procedural/src/pallet/expand/genesis_build.rs
michalkucharczyk Jul 5, 2023
54ffd12
fmt
michalkucharczyk Jul 5, 2023
0625f87
fix
michalkucharczyk Jul 5, 2023
879e358
Merge remote-tracking branch 'origin/master' into mku-genesis-build-f…
michalkucharczyk Jul 5, 2023
8b766f4
fix
michalkucharczyk Jul 5, 2023
73f1d20
Merge remote-tracking branch 'origin/master' into mku-genesis-build-f…
michalkucharczyk Jul 12, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion frame/alliance/src/mock.rs
Original file line number Diff line number Diff line change
Expand Up @@ -372,7 +372,7 @@ pub fn new_test_ext() -> sp_io::TestExternalities {

#[cfg(feature = "runtime-benchmarks")]
pub fn new_bench_ext() -> sp_io::TestExternalities {
RuntimeGenesisConfig::default().build_storage().unwrap().into()
BuildStorage::build_storage(&RuntimeGenesisConfig::default()).unwrap().into()
Comment thread
michalkucharczyk marked this conversation as resolved.
Outdated
}

pub fn test_cid() -> Cid {
Expand Down
5 changes: 2 additions & 3 deletions frame/bounties/src/tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -194,13 +194,12 @@ type TreasuryError = pallet_treasury::Error<Test>;
type TreasuryError1 = pallet_treasury::Error<Test, Instance1>;

pub fn new_test_ext() -> sp_io::TestExternalities {
let mut ext: sp_io::TestExternalities = RuntimeGenesisConfig {
let mut ext: sp_io::TestExternalities = BuildStorage::build_storage(&RuntimeGenesisConfig {
system: frame_system::GenesisConfig::default(),
balances: pallet_balances::GenesisConfig { balances: vec![(0, 100), (1, 98), (2, 1)] },
treasury: Default::default(),
treasury_1: Default::default(),
}
.build_storage()
})
.unwrap()
.into();
ext.execute_with(|| System::set_block_number(1));
Expand Down
28 changes: 14 additions & 14 deletions frame/collective/src/tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -177,20 +177,20 @@ impl ExtBuilder {
}

pub fn build(self) -> sp_io::TestExternalities {
let mut ext: sp_io::TestExternalities = RuntimeGenesisConfig {
collective: pallet_collective::GenesisConfig {
members: self.collective_members,
phantom: Default::default(),
},
collective_majority: pallet_collective::GenesisConfig {
members: vec![1, 2, 3, 4, 5],
phantom: Default::default(),
},
default_collective: Default::default(),
}
.build_storage()
.unwrap()
.into();
let mut ext: sp_io::TestExternalities =
BuildStorage::build_storage(&RuntimeGenesisConfig {
collective: pallet_collective::GenesisConfig {
members: self.collective_members,
phantom: Default::default(),
},
collective_majority: pallet_collective::GenesisConfig {
members: vec![1, 2, 3, 4, 5],
phantom: Default::default(),
},
default_collective: Default::default(),
})
.unwrap()
.into();
Comment thread
michalkucharczyk marked this conversation as resolved.
Outdated
ext.execute_with(|| System::set_block_number(1));
ext
}
Expand Down
36 changes: 31 additions & 5 deletions frame/support/procedural/src/construct_runtime/expand/config.rs
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ pub fn expand_outer_config(
let mut types = TokenStream::new();
let mut fields = TokenStream::new();
let mut build_storage_calls = TokenStream::new();
let mut genesis_build_calls = TokenStream::new();
let mut query_genesis_config_part_macros = Vec::new();

for decl in pallet_decls {
Expand All @@ -54,6 +55,9 @@ pub fn expand_outer_config(
fields.extend(quote!(#attr pub #field_name: #config,));
build_storage_calls
.extend(expand_config_build_storage_call(scrate, attr, runtime, decl, field_name));
genesis_build_calls.extend(expand_config_genesis_build_call(
scrate, &config, attr, runtime, decl, field_name,
));
query_genesis_config_part_macros.push(quote! {
#path::__substrate_genesis_config_check::is_genesis_config_defined!(#pallet_name);
#[cfg(feature = "std")]
Expand All @@ -67,9 +71,7 @@ pub fn expand_outer_config(

#types

#[cfg(any(feature = "std", test))]
use #scrate::serde as __genesis_config_serde_import__;
#[cfg(any(feature = "std", test))]
#[derive(#scrate::serde::Serialize, #scrate::serde::Deserialize, Default)]
#[serde(rename_all = "camelCase")]
#[serde(deny_unknown_fields)]
Expand Down Expand Up @@ -97,6 +99,12 @@ pub fn expand_outer_config(
Ok(())
}
Comment thread
michalkucharczyk marked this conversation as resolved.
}

impl<T> #scrate::traits::GenesisBuild<T> for RuntimeGenesisConfig {
Comment thread
michalkucharczyk marked this conversation as resolved.
Outdated
fn build(&self) {
#genesis_build_calls
Comment thread
michalkucharczyk marked this conversation as resolved.
}
}
}
}

Expand All @@ -112,17 +120,14 @@ fn expand_config_types(
match (decl.instance.as_ref(), part_is_generic) {
(Some(inst), true) => quote! {
#attr
#[cfg(any(feature = "std", test))]
pub type #config = #path::GenesisConfig<#runtime, #path::#inst>;
},
(None, true) => quote! {
#attr
#[cfg(any(feature = "std", test))]
pub type #config = #path::GenesisConfig<#runtime>;
},
(_, false) => quote! {
#attr
#[cfg(any(feature = "std", test))]
pub type #config = #path::GenesisConfig;
},
}
Expand All @@ -148,3 +153,24 @@ fn expand_config_build_storage_call(
<#runtime, #instance>::build_module_genesis_storage(&self.#field_name, storage)?;
}
}

fn expand_config_genesis_build_call(
scrate: &TokenStream,
pallet_genesis_config: &Ident,
attr: &TokenStream,
runtime: &Ident,
decl: &Pallet,
field_name: &Ident,
) -> TokenStream {
let path = &decl.path;
let instance = if let Some(inst) = decl.instance.as_ref() {
quote!(#path::#inst)
} else {
quote!(#path::__InherentHiddenInstance)
};

quote! {
#attr
<#pallet_genesis_config as #scrate::traits::GenesisBuild::<#runtime, #instance>>::build(&self.#field_name);
}
}
2 changes: 1 addition & 1 deletion frame/system/src/mock.rs
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ pub const CALL: &<Test as Config>::RuntimeCall =
/// Create new externalities for `System` module tests.
pub fn new_test_ext() -> sp_io::TestExternalities {
let mut ext: sp_io::TestExternalities =
RuntimeGenesisConfig::default().build_storage().unwrap().into();
BuildStorage::build_storage(&RuntimeGenesisConfig::default()).unwrap().into();
Comment thread
michalkucharczyk marked this conversation as resolved.
Outdated
// Add to each test the initial weight of a block
ext.execute_with(|| {
System::register_extra_weight_unchecked(
Expand Down
5 changes: 2 additions & 3 deletions frame/tips/src/tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -196,13 +196,12 @@ impl Config<Instance1> for Test {
}

pub fn new_test_ext() -> sp_io::TestExternalities {
let mut ext: sp_io::TestExternalities = RuntimeGenesisConfig {
let mut ext: sp_io::TestExternalities = BuildStorage::build_storage(&RuntimeGenesisConfig {
system: frame_system::GenesisConfig::default(),
balances: pallet_balances::GenesisConfig { balances: vec![(0, 100), (1, 98), (2, 1)] },
treasury: Default::default(),
treasury_1: Default::default(),
}
.build_storage()
Comment thread
michalkucharczyk marked this conversation as resolved.
})
.unwrap()
.into();
ext.execute_with(|| System::set_block_number(1));
Expand Down