Skip to content
  • Michal Kucharczyk's avatar
    `test-runtime`: `GenesisBuilder` runtime API impl + tests (#14310) · 53cbda1d
    Michal Kucharczyk authored
    
    
    * test-runtime: GenesisBuilder runtime API impl + tests
    
    This PR provides implementation of `GenesisBuilder` API for `substrate-test-runtime`, can be considered as reference imiplementation for other runtimes.
    The `GenesisBuilder` implementation is gated by `gensis-config` feature.
    
    Tested scenarios:
    - default `GenesisConfig` to JSON blob,
    - deserialization of `GenesisConfig` from custom JSON, and storing its keys into the Storage (genesis storage creation).
    - creation of genesis storage using partial JSON definition,
    - checking if invalid/renamed JSON files causes the runtime to panic,
    
    * missing file added
    
    * client: GenesisBuilder helper added
    
    * feature renamed: genesis-config -> genesis-builder
    
    * Update Cargo.toml
    
    * Update Cargo.toml
    
    * Update Cargo.toml
    
    * Update Cargo.toml
    
    * redundant function removed
    
    * genesis builder helper: introduced RuntimeGenesisBuild
    
    * test-runtime: get rid of unused T
    
    * redundant bound removed
    
    * helper: use GenesisBuild again
    
    * tests adjusted for on_genesis
    
    * test-runtime: support for BuildGenesisConfig
    
    * helper: BuildGenesisConfig support
    
    * Update client/genesis-builder/src/lib.rs
    
    Co-authored-by: default avatarDavide Galassi <[email protected]>
    
    * Update test-utils/runtime/src/test_json/readme.md
    
    Co-authored-by: default avatarDavide Galassi <[email protected]>
    
    * Update test-utils/runtime/src/test_json/readme.md
    
    Co-authored-by: default avatarDavide Galassi <[email protected]>
    
    * Update test-utils/runtime/src/genesismap.rs
    
    Co-authored-by: default avatarDavide Galassi <[email protected]>
    
    * jsons are now human-friendly
    
    * fix
    
    * improvements
    
    * jsons fixed
    
    * helper: no_defaults added
    
    * test-runtime: no_defaults added
    
    * test-runtime: patching fn removed
    
    * helper: patching fn removed
    
    * helper: moved to frame_support
    
    * test-runtime: fixes
    
    * Cargo.lock updated
    
    * fmt + naming
    
    * test-runtime: WasmExecutor used
    
    * helper / test-runtime: struct removed
    
    * test-runtime: merge fixes
    
    * Cargo.lock + test-utils/runtime/Cargo.toml updated
    
    * doc fixed
    
    * client/rpc: test fixed (new rt api)
    
    * client/rpc-spec-v2: test fix
    
    * doc fix
    
    * test-runtime: disable-genesis-builder feature
    
    * fix
    
    * fix
    
    * ".git/.scripts/commands/fmt/fmt.sh"
    
    * test-runtime: rerun added to build script
    
    ---------
    
    Co-authored-by: default avatarDavide Galassi <[email protected]>
    Co-authored-by: parity-processbot <>
    53cbda1d