Skip to content
  • Michal Kucharczyk's avatar
    `chain-spec`: getting ready for native-runtime-free world (#1256) · 8ba7a6ab
    Michal Kucharczyk authored
    
    
    This PR prepares chains specs for _native-runtime-free_  world.
    
    This PR has following changes:
    - `substrate`:
      - adds support for:
    - JSON based `GenesisConfig` to `ChainSpec` allowing interaction with
    runtime `GenesisBuilder` API.
    - interacting with arbitrary runtime wasm blob to[
    `chain-spec-builder`](https://github.com/paritytech/substrate/blob/3ef576eaeb3f42610e85daecc464961cf1295570/bin/utils/chain-spec-builder/src/lib.rs#L46)
    command line util,
    - removes
    [`code`](https://github.com/paritytech/substrate/blob/3ef576eaeb3f42610e85daecc464961cf1295570/frame/system/src/lib.rs#L660)
    from `system_pallet`
      - adds `code` to the `ChainSpec`
    - deprecates
    [`ChainSpec::from_genesis`](https://github.com/paritytech/substrate/blob/3ef576eaeb3f42610e85daecc464961cf1295570/client/chain-spec/src/chain_spec.rs#L263),
    but also changes the signature of this method extending it with `code`
    argument.
    [`ChainSpec::builder()`](https://github.com/paritytech/substrate/blob/20bee680ed098be7239cf7a6b804cd4de267983e/client/chain-spec/src/chain_spec.rs#L507)
    should be used instead.
    - `polkadot`:
    - all references to `RuntimeGenesisConfig` in `node/service` are
    removed,
    - all
    `(kusama|polkadot|versi|rococo|wococo)_(staging|dev)_genesis_config`
    functions now return the JSON patch for default runtime `GenesisConfig`,
      - `ChainSpecBuilder` is used, `ChainSpec::from_genesis` is removed,
    
    - `cumulus`:
      - `ChainSpecBuilder` is used, `ChainSpec::from_genesis` is removed,
    - _JSON_ patch configuration used instead of `RuntimeGenesisConfig
    struct` in all chain specs.
      
    ---------
    
    Co-authored-by: command-bot <>
    Co-authored-by: default avatarJavier Viola <[email protected]>
    Co-authored-by: default avatarDavide Galassi <[email protected]>
    Co-authored-by: default avatarFrancisco Aguirre <[email protected]>
    Co-authored-by: default avatarKevin Krone <[email protected]>
    Co-authored-by: default avatarBastian Köcher <[email protected]>
    8ba7a6ab