This PR removes the storage building part from the GenesisBuild trait.
assimilate_storage and build_storage methods were moved to new GenesisBuildStorage trait which is implemented only for pallets GenesisConfig (and not RuntimeGenesisConfig). PalletGenesisConfig marker trait was added to facilitate this.
The rationale behind this is as follows: since paritytech/substrate#14306 GenesisBuild is implemented for RuntimeGenesisConfig. As the BuildStorage is also implemented for RuntimeGenesisConfig there was is duality now - RuntiemGenesisConfig had two bulid_storage implementations.
Trait split is implemented in 13d66fd5d0, renaming in ad3b7df4ba.
This PR removes the storage building part from the
GenesisBuild
trait.assimilate_storage
andbuild_storage
methods were moved to newGenesisBuildStorage
trait which is implemented only for palletsGenesisConfig
(and notRuntimeGenesisConfig
).PalletGenesisConfig
marker trait was added to facilitate this.The rationale behind this is as follows: since paritytech/substrate#14306
GenesisBuild
is implemented forRuntimeGenesisConfig
. As theBuildStorage
is also implemented forRuntimeGenesisConfig
there was is duality now -RuntiemGenesisConfig
had twobulid_storage
implementations.Trait split is implemented in 13d66fd5d0, renaming in ad3b7df4ba.
Step towards: https://github.com/paritytech/polkadot-sdk/issues/25
cumulus companion: paritytech/cumulus#2720