mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-14 04:01:10 +00:00
genesis-builder: implemented for all runtimes (#1492)
This PR implements [`GenesisBuilder` API](https://github.com/paritytech/polkadot-sdk/blob/a414ea7515c9cdc81f1d12410e646afc148250e8/substrate/primitives/genesis-builder/src/lib.rs#L38) for all the runtimes in polkadot repo. Step towards: paritytech/polkadot-sdk#25 --------- Co-authored-by: ordian <write@reusable.software>
This commit is contained in:
committed by
GitHub
parent
ab3a3bc278
commit
5a2833cceb
@@ -39,6 +39,7 @@ sp-std = { path = "../../../primitives/std", default-features = false}
|
||||
sp-storage = { path = "../../../primitives/storage", default-features = false}
|
||||
sp-transaction-pool = { path = "../../../primitives/transaction-pool", default-features = false}
|
||||
sp-version = { path = "../../../primitives/version", default-features = false}
|
||||
sp-genesis-builder = { version = "0.1.0-dev", default-features = false, path = "../../../primitives/genesis-builder" }
|
||||
|
||||
# Used for the node template's RPCs
|
||||
frame-system-rpc-runtime-api = { path = "../../../frame/system/rpc/runtime-api", default-features = false}
|
||||
@@ -79,6 +80,7 @@ std = [
|
||||
"sp-consensus-aura/std",
|
||||
"sp-consensus-grandpa/std",
|
||||
"sp-core/std",
|
||||
"sp-genesis-builder/std",
|
||||
"sp-inherents/std",
|
||||
"sp-offchain/std",
|
||||
"sp-runtime/std",
|
||||
|
||||
@@ -23,6 +23,7 @@ use sp_std::prelude::*;
|
||||
use sp_version::NativeVersion;
|
||||
use sp_version::RuntimeVersion;
|
||||
|
||||
use frame_support::genesis_builder_helper::{build_config, create_default_config};
|
||||
// A few exports that help ease life for downstream crates.
|
||||
pub use frame_support::{
|
||||
construct_runtime, parameter_types,
|
||||
@@ -571,4 +572,14 @@ impl_runtime_apis! {
|
||||
Executive::try_execute_block(block, state_root_check, signature_check, select).expect("execute-block failed")
|
||||
}
|
||||
}
|
||||
|
||||
impl sp_genesis_builder::GenesisBuilder<Block> for Runtime {
|
||||
fn create_default_config() -> Vec<u8> {
|
||||
create_default_config::<RuntimeGenesisConfig>()
|
||||
}
|
||||
|
||||
fn build_config(config: Vec<u8>) -> sp_genesis_builder::Result {
|
||||
build_config::<RuntimeGenesisConfig>(config)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,6 +32,7 @@ sp-authority-discovery = { path = "../../../primitives/authority-discovery", def
|
||||
sp-consensus-babe = { path = "../../../primitives/consensus/babe", default-features = false}
|
||||
sp-consensus-grandpa = { path = "../../../primitives/consensus/grandpa", default-features = false}
|
||||
sp-block-builder = { path = "../../../primitives/block-builder", default-features = false}
|
||||
sp-genesis-builder = { version = "0.1.0-dev", default-features = false, path = "../../../primitives/genesis-builder" }
|
||||
sp-inherents = { path = "../../../primitives/inherents", default-features = false}
|
||||
node-primitives = { path = "../primitives", default-features = false}
|
||||
sp-offchain = { path = "../../../primitives/offchain", default-features = false}
|
||||
@@ -231,6 +232,7 @@ std = [
|
||||
"sp-consensus-babe/std",
|
||||
"sp-consensus-grandpa/std",
|
||||
"sp-core/std",
|
||||
"sp-genesis-builder/std",
|
||||
"sp-inherents/std",
|
||||
"sp-io/std",
|
||||
"sp-offchain/std",
|
||||
|
||||
@@ -30,6 +30,7 @@ use frame_election_provider_support::{
|
||||
use frame_support::{
|
||||
construct_runtime,
|
||||
dispatch::DispatchClass,
|
||||
genesis_builder_helper::{build_config, create_default_config},
|
||||
instances::{Instance1, Instance2},
|
||||
ord_parameter_types,
|
||||
pallet_prelude::Get,
|
||||
@@ -2750,6 +2751,16 @@ impl_runtime_apis! {
|
||||
Ok(batches)
|
||||
}
|
||||
}
|
||||
|
||||
impl sp_genesis_builder::GenesisBuilder<Block> for Runtime {
|
||||
fn create_default_config() -> Vec<u8> {
|
||||
create_default_config::<RuntimeGenesisConfig>()
|
||||
}
|
||||
|
||||
fn build_config(config: Vec<u8>) -> sp_genesis_builder::Result {
|
||||
build_config::<RuntimeGenesisConfig>(config)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
|
||||
@@ -107,6 +107,3 @@ std = [
|
||||
]
|
||||
# Special feature to disable logging
|
||||
disable-logging = [ "sp-api/disable-logging" ]
|
||||
|
||||
#Enabling this flag will disable GenesisBuilder API implementation in runtime.
|
||||
disable-genesis-builder = []
|
||||
|
||||
@@ -15,8 +15,6 @@
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
const BUILD_NO_GENESIS_BUILDER_SUPPORT_ENV: &str = "BUILD_NO_GENESIS_BUILDER_SUPPORT";
|
||||
|
||||
fn main() {
|
||||
#[cfg(feature = "std")]
|
||||
{
|
||||
@@ -31,19 +29,6 @@ fn main() {
|
||||
.build();
|
||||
}
|
||||
|
||||
#[cfg(feature = "std")]
|
||||
if std::env::var(BUILD_NO_GENESIS_BUILDER_SUPPORT_ENV).is_ok() {
|
||||
substrate_wasm_builder::WasmBuilder::new()
|
||||
.with_current_project()
|
||||
.export_heap_base()
|
||||
.append_to_rust_flags("-Clink-arg=-zstack-size=1048576")
|
||||
.set_file_name("wasm_binary_no_genesis_builder")
|
||||
.import_memory()
|
||||
.enable_feature("disable-genesis-builder")
|
||||
.build();
|
||||
}
|
||||
println!("cargo:rerun-if-env-changed={}", BUILD_NO_GENESIS_BUILDER_SUPPORT_ENV);
|
||||
|
||||
#[cfg(feature = "std")]
|
||||
{
|
||||
substrate_wasm_builder::WasmBuilder::new()
|
||||
|
||||
@@ -26,11 +26,10 @@ pub mod genesismap;
|
||||
pub mod substrate_test_pallet;
|
||||
|
||||
use codec::{Decode, Encode};
|
||||
#[cfg(not(feature = "disable-genesis-builder"))]
|
||||
use frame_support::genesis_builder_helper::{build_config, create_default_config};
|
||||
use frame_support::{
|
||||
construct_runtime,
|
||||
dispatch::DispatchClass,
|
||||
genesis_builder_helper::{build_config, create_default_config},
|
||||
parameter_types,
|
||||
traits::{ConstU32, ConstU64},
|
||||
weights::{
|
||||
@@ -722,7 +721,6 @@ impl_runtime_apis! {
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(not(feature = "disable-genesis-builder"))]
|
||||
impl sp_genesis_builder::GenesisBuilder<Block> for Runtime {
|
||||
fn create_default_config() -> Vec<u8> {
|
||||
create_default_config::<RuntimeGenesisConfig>()
|
||||
@@ -1203,7 +1201,6 @@ mod tests {
|
||||
})
|
||||
}
|
||||
|
||||
#[cfg(not(feature = "disable-genesis-builder"))]
|
||||
mod genesis_builder_tests {
|
||||
use super::*;
|
||||
use crate::genesismap::GenesisStorageBuilder;
|
||||
|
||||
Reference in New Issue
Block a user