Skip to content
  1. Apr 15, 2024
    • Bastian Köcher's avatar
      sp-api: Use macro to detect if `frame-metadata` is enabled (#4117) · d1b0ef76
      Bastian Köcher authored
      While `sp-api-proc-macro` isn't used directly and thus, it should have
      the same features enabled as `sp-api`. However, I have seen issues
      around `frame-metadata` not being enabled for `sp-api`, but for
      `sp-api-proc-macro`. This can be prevented by using the
      `frame_metadata_enabled` macro from `sp-api` that ensures we have the
      same feature set between both crates.
      d1b0ef76
    • Svyatoslav Nikolsky's avatar
      Bridge: slash destination may be an explicit account (#4106) · 6acf4787
      Svyatoslav Nikolsky authored
      Extracted to a separate PR as requested here:
      https://github.com/paritytech/parity-bridges-common/pull/2873#discussion_r1562459573
      6acf4787
    • Alexandru Gheorghe's avatar
      Prevent accidental change of network-key for active authorities (#3852) · 2bc4ed11
      Alexandru Gheorghe authored
      
      
      As discovered during investigation of
      https://github.com/paritytech/polkadot-sdk/issues/3314 and
      https://github.com/paritytech/polkadot-sdk/issues/3673 there are active
      validators which accidentally might change their network key during
      restart, that's not a safe operation when you are in the active set
      because of distributed nature of DHT, so the old records would still
      exist in the network until they expire 36h, so unless they have a good
      reason validators should avoid changing their key when they restart
      their nodes.
      
      There is an effort in parallel to improve this situation
      https://github.com/paritytech/polkadot-sdk/pull/3786, but those changes
      are way more intrusive and will need more rigorous testing, additionally
      they will reduce the time to less than 36h, but the propagation won't be
      instant anyway, so not changing your network during restart should be
      the safest way to run your node, unless you have a really good reason to
      change it.
      
      ## Proposal
      1. Do not auto-generate the network if the network file does not exist
      in the provided path. Nodes where the key file does not exist will get
      the following error:
      ```
      Error: 
         0: Starting an authorithy without network key in /home/alexggh/.local/share/polkadot/chains/ksmcc3/network/secret_ed25519.
            
             This is not a safe operation because the old identity still lives in the dht for 36 hours.
            
             Because of it your node might suffer from not being properly connected to other nodes for validation purposes.
            
             If it is the first time running your node you could use one of the following methods.
            
             1. Pass --unsafe-force-node-key-generation and make sure you remove it for subsequent node restarts
            
             2. Separetly generate the key with: polkadot key generate-node-key --file <YOUR_PATH_TO_NODE_KEY>
      ```
      
      2. Add an explicit parameters for nodes that do want to change their
      network despite the warnings or if they run the node for the first time.
      `--unsafe-force-node-key-generation`
      
      3. For `polkadot key generate-node-key` add two new mutually exclusive
      parameters `base_path` and `default_base_path` to help with the key
      generation in the same path the polkadot main command would expect it.
       
      4. Modify the installation scripts to auto-generate a key in default
      path if one was not present already there, this should help with making
      the executable work out of the box after an instalation.
      
      ## Notes
      
      Nodes that do not have already the key persisted will fail to start
      after this change, however I do consider that better than the current
      situation where they start but they silently hide that they might not be
      properly connected to their peers.
      
      ## TODO
      - [x] Make sure only nodes that are authorities on producation chains
      will be affected by this restrictions.
      - [x] Proper PRDOC, to make sure node operators are aware this is
      coming.
      
      ---------
      
      Signed-off-by: default avatarAlexandru Gheorghe <[email protected]>
      Co-authored-by: default avatarDmitry Markin <[email protected]>
      Co-authored-by: default avatars0me0ne-unkn0wn <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      2bc4ed11
  2. Apr 14, 2024
  3. Apr 13, 2024
  4. Apr 12, 2024
    • Vedhavyas Singareddi's avatar
      define block hash provider and default impl using frame_system (#4080) · 5b513cc0
      Vedhavyas Singareddi authored
      This PR introduces `BlockHashProvider` into `pallet_mmr::Config`
      This type is used to get `block_hash` for a given `block_number` rather
      than directly using `frame_system::Pallet::block_hash`
      
      The `DefaultBlockHashProvider` uses `frame_system::Pallet::block_hash`
      to get the `block_hash`
      
      Closes: #4062
      5b513cc0
    • Branislav Kontur's avatar
      Remove `xcm::v3` from `assets-common` nits (#4037) · 5601f286
      Branislav Kontur authored
      This PR mainly removes `xcm::v3` stuff from `assets-common` to make it
      more generic and facilitate the transition to newer XCM versions. Some
      of the implementations here used hard-coded `xcm::v3::Location`, but now
      it's up to the runtime to configure according to its needs.
      
      Additional/consequent changes:
      - `penpal` runtime uses now `xcm::latest::Location` for `pallet_assets`
      as `AssetId`, because we don't care about migrations here
      - it pretty much simplify xcm-emulator integration tests, where we don't
      need now a lots of boilerplate conversions:
            ```
            v3::Location::try_from(...).expect("conversion works")`
            ```
      - xcm-emulator tests
      - split macro `impl_assets_helpers_for_parachain` to the
      `impl_assets_helpers_for_parachain` and
      `impl_foreign_assets_helpers_for_parachain` (avoids using hard-coded
      `xcm::v3::Location`)
      5601f286
    • Squirrel's avatar
      Remove redundent logging code (#4059) · b28ba4ae
      Squirrel authored
      
      
      1. The `CustomFmtContext::ContextWithFormatFields` enum arm isn't
      actually used and thus we don't need the enum anymore.
      
      2. We don't do anything with most of the normalized metadata that's
      created by calling `event.normalized_metadata();` - the `target` we can
      get from `event.metadata.target()` and level we can get from
      `event.metadata.level()` - let's just call them direct to simplify
      things. (`event.metadata()` is just a field call under the hood)
      
      Changelog: No functional changes, might run a tad faster with lots of
      logging turned on.
      
      ---------
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      b28ba4ae
    • Przemek Rzad's avatar
      Synchronize templates (#4040) · c963dc28
      Przemek Rzad authored
      - Progresses https://github.com/paritytech/polkadot-sdk/issues/3155
      
      ### What's inside
      
      A job, that will take each of the three
      [templates](https://github.com/paritytech/polkadot-sdk/tree/master/templates),
      yank them out of the monorepo workspace, and push to individual
      repositories
      ([1](https://github.com/paritytech/polkadot-sdk-minimal-template),
      [2](https://github.com/paritytech/polkadot-sdk-parachain-template),
      [3](https://github.com/paritytech/polkadot-sdk-solochain-template)).
      
      In case the build/test does not succeed, a PR such as [this
      one](https://github.com/paritytech-stg/polkadot-sdk-solochain-template/pull/2)
      gets created instead.
      
      I'm proposing a manual dispatch trigger for now - so we can test and
      iterate faster - and change it to fully automatic triggered by releases
      later.
      
      The manual trigger looks like this:
      
      <img width="340px"
      src="https://github.com/paritytech/polkadot-sdk/assets/12039224/e87e0fda-23a3-4735-9035-af801e8417fc"/>
      
      ### How it works
      
      The job replaces dependencies [referenced by
      git](https://github.com/paritytech/polkadot-sdk/blob/d733c77e/templates/minimal/pallets/template/Cargo.toml#L25)
      with a reference to released crates using
      [psvm](https://github.com/paritytech/psvm).
      
      It creates a new workspace for the template, and adapts what's needed
      from the `polkadot-sdk` workspace.
      
      ### See the results
      
      The action has been tried out in staging, and the results can be
      observed here:
      
      - [minimal
      stg](https://github.com/paritytech-stg/polkadot-sdk-minimal-template/)
      - [parachain
      stg](https://github.com/paritytech-stg/polkadot-sdk-parachain-template/)
      - [solochain
      stg](https://github.com/paritytech-stg/polkadot-sdk-solochain-template/)
      
      These are based on the `1.9.0` release (using `release-crates-io-v1.9.0`
      branch).
      c963dc28
    • wersfeds's avatar
      chore: fix some typos (#4095) · 480d5d0f
      wersfeds authored
      480d5d0f
    • Adrian Catangiu's avatar
      pallet-xcm: add new extrinsic for asset transfers using explicit XCM transfer types (#3695) · 1e971b8d
      Adrian Catangiu authored
      
      
      # Description
      
      Add `transfer_assets_using()` for transferring assets from local chain
      to destination chain using explicit XCM transfer types such as:
      - `TransferType::LocalReserve`: transfer assets to sovereign account of
      destination chain and forward a notification XCM to `dest` to mint and
      deposit reserve-based assets to `beneficiary`.
      - `TransferType::DestinationReserve`: burn local assets and forward a
      notification to `dest` chain to withdraw the reserve assets from this
      chain's sovereign account and deposit them to `beneficiary`.
      - `TransferType::RemoteReserve(reserve)`: burn local assets, forward XCM
      to `reserve` chain to move reserves from this chain's SA to `dest`
      chain's SA, and forward another XCM to `dest` to mint and deposit
      reserve-based assets to `beneficiary`. Typically the remote `reserve` is
      Asset Hub.
      - `TransferType::Teleport`: burn local assets and forward XCM to `dest`
      chain to mint/teleport assets and deposit them to `beneficiary`.
      
      By default, an asset's reserve is its origin chain. But sometimes we may
      want to explicitly use another chain as reserve (as long as allowed by
      runtime `IsReserve` filter).
      
      This is very helpful for transferring assets with multiple configured
      reserves (such as Asset Hub ForeignAssets), when the transfer strictly
      depends on the used reserve.
      
      E.g. For transferring Foreign Assets over a bridge, Asset Hub must be
      used as the reserve location.
      
      # Example usage scenarios
      
      ## Transfer bridged ethereum ERC20-tokenX between ecosystem parachains.
      
      ERC20-tokenX is registered on AssetHub as a ForeignAsset by the
      Polkadot<>Ethereum bridge (Snowbridge). Its asset_id is something like
      `(parents:2, (GlobalConsensus(Ethereum), Address(tokenX_contract)))`.
      Its _original_ reserve is Ethereum (only we can't use Ethereum as a
      reserve in local transfers); but, since tokenX is also registered on
      AssetHub as a ForeignAsset, we can use AssetHub as a reserve.
      
      With this PR we can transfer tokenX from ParaA to ParaB while using
      AssetHub as a reserve.
      
      ## Transfer AssetHub ForeignAssets between parachains
      
      AssetA created on ParaA but also registered as foreign asset on Asset
      Hub. Can use AssetHub as a reserve.
      
      And all of the above can be done while still controlling transfer type
      for `fees` so mixing assets in same transfer is supported.
      
      # Tests
      
      Added integration tests for showcasing:
      - transferring local (not bridged) assets from parachain over bridge
      using local Asset Hub reserve,
      - transferring foreign assets from parachain to Asset Hub,
      - transferring foreign assets from Asset Hub to parachain,
      - transferring foreign assets from parachain to parachain using local
      Asset Hub reserve.
      
      ---------
      
      Co-authored-by: default avatarBranislav Kontur <[email protected]>
      Co-authored-by: command-bot <>
      1e971b8d
    • Andrei Sandu's avatar
      Runtime API: introduce `candidates_pending_availability` (#4027) · 2dfe5f74
      Andrei Sandu authored
      
      
      Fixes https://github.com/paritytech/polkadot-sdk/issues/3576
      
      Required by elastic scaling collators.
      Deprecates old API: `candidate_pending_availability`.
      
      TODO:
      - [x] PRDoc
      
      ---------
      
      Signed-off-by: default avatarAndrei Sandu <[email protected]>
      2dfe5f74
    • Svyatoslav Nikolsky's avatar
      Move bridge extensions to a separate folder (#4096) · a1cb2a51
      Svyatoslav Nikolsky authored
      As requested in
      https://github.com/paritytech/parity-bridges-common/pull/2873#discussion_r1558974215
      a1cb2a51
    • eskimor's avatar
      Improve docs of broker pallet (#3980) · a64009ae
      eskimor authored
      
      
      Small adjustments which should make understanding what is going on much
      easier for future readers.
      
      Initialization is a bit messy, the very least we should do is adding
      documentation to make it harder to use wrongly.
      
      I was thinking about calling `request_core_count` right from
      `start_sales`, but as explained in the docs, this is not necessarily
      what you want.
      
      ---------
      
      Co-authored-by: default avatareskimor <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarDónal Murray <[email protected]>
      a64009ae
    • Xiliang Chen's avatar
      establish_channel_with_system (#3721) · b1db5f3a
      Xiliang Chen authored
      
      
      Implements https://github.com/polkadot-fellows/RFCs/issues/82
      Allow any parachain to have bidirectional channel with any system
      parachains
      
      Looking for initial feedbacks before continue finish it
      
      TODOs:
      - [x] docs
      - [x] benchmarks
      - [x] tests
      
      ---------
      
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      Co-authored-by: default avatarAdrian Catangiu <[email protected]>
      b1db5f3a
    • Andrei Sandu's avatar
      Adjust zombienet test resources and logic (#4032) · 13ca339e
      Andrei Sandu authored
      
      
      One more try to make this test robust from a resource perspective.
      
      ---------
      
      Signed-off-by: default avatarAndrei Sandu <[email protected]>
      Co-authored-by: default avatarJavier Viola <[email protected]>
      13ca339e
    • PG Herveou's avatar
      033484c3
  5. Apr 11, 2024
    • Liam Aharon's avatar
      Remove deprecated `TryRuntime` subcommand (#4017) · 39b1f50f
      Liam Aharon authored
      Completes the removal of `try-runtime-cli` logic from `polkadot-sdk`.
      39b1f50f
    • Andrei Eres's avatar
      Run subsystem-benchmark without network latency (#4068) · 25f038aa
      Andrei Eres authored
      Implements the idea from
      https://github.com/paritytech/polkadot-sdk/pull/3899
      - Removed latencies
      - Number of runs reduced from 50 to 5, according to local runs it's
      quite enough
      - Network message is always sent in a spawned task, even if latency is
      zero. Without it, CPU time sometimes spikes.
      - Removed the `testnet` profile because we probably don't need that
      debug additions.
      
      After the local tests I can't say that it brings a significant
      improvement in the stability of the results. However, I belive it is
      worth trying and looking at the results over time.
      25f038aa
    • Alexander Samusev's avatar
      [ci] Divide subsystem-regression-tests into 2 jobs (#4076) · 6ebf491b
      Alexander Samusev authored
      Currently `subsystem-regression-tests` job fails if the first benchmarks
      fail and there is no result for the second benchmark. Also dividing the
      job makes the pipeline faster (currently it's a longest job)
      
      cc https://github.com/paritytech/ci_cd/issues/969
      cc @AndreiEres
      
      
      
      ---------
      
      Co-authored-by: default avatarAndrei Eres <[email protected]>
      6ebf491b
    • s0me0ne-unkn0wn's avatar
      Enable mainnet system parachains to use async backing-enabled collator (#3630) · f13408d5
      s0me0ne-unkn0wn authored
      This is phase 2 of async backing enablement for the system parachains on
      the production networks. ~~It should be merged after
      polkadot-fellows/runtimes#228 is enacted. After it is released,~~ all
      the system parachain collators should be upgraded, and then we can
      proceed with phase 3, which will enable async backing in the runtimes.
      
      UPDATE: Indeed, we don't need to wait for the runtime upgrade enactions.
      The lookahead collator handles the transition by itself, so we can
      upgrade ASAP.
      
      ## Scope of changes
      
      Here, we eliminate the dichotomy of having "generic Aura collators" for
      the production system parachains and "lookahead Aura collators" for the
      testnet system parachains. Now, all the collators are started as
      lookahead ones, preserving the logic of transferring from the shell node
      to Aura-enabled collators for the asset hubs. So, indeed, it simplifies
      the parachain service logic, which cannot but rejoice.
      f13408d5
    • Oliver Tale-Yazdi's avatar
      Fix link check (#4074) · 83257054
      Oliver Tale-Yazdi authored
      
      
      Closes #4041
      
      Changes:
      - Increase cache size and reduce retries.
      - Ignore Substrate SE links :(
      - Fix broken link.
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      83257054
    • Andrei Sandu's avatar
      collation-generation: Avoid using `para_backing_state` if runtime is ancient (#4070) · 9ede4152
      Andrei Sandu authored
      
      
      fixes https://github.com/paritytech/polkadot-sdk/issues/4067
      
      Also add an early bail out for look ahead collator such that we don't
      waste time if a CollatorFn is not set.
      
      TODO:
      - [x] add test.
      - [x] Polkadot System Parachain burn-in.
      
      ---------
      
      Signed-off-by: default avatarAndrei Sandu <[email protected]>
      9ede4152
    • Andrei Sandu's avatar
      Fix ClaimQueue case of nothing scheduled on session boundary (#4065) · 69cc7f20
      Andrei Sandu authored
      
      
      Same issue but about av-cores was fixed in
      https://github.com/paritytech/polkadot-sdk/pull/1403
      
      Signed-off-by: default avatarAndrei Sandu <[email protected]>
      69cc7f20
  6. Apr 10, 2024
    • PG Herveou's avatar
      Contracts: Remove ED from base deposit (#3536) · 643aa2be
      PG Herveou authored
      
      
      - Update internal logic so that the storage_base_deposit does not
      include ED
      - add v16 migration to update ContractInfo struct with this change
      
      Before:
      <img width="820" alt="Screenshot 2024-03-21 at 11 23 29"
      src="https://github.com/paritytech/polkadot-sdk/assets/521091/a0a8df0d-e743-42c5-9e16-cf2ec1aa949c">
      
      After:
      ![Screenshot 2024-03-21 at 11 23
      42](https://github.com/paritytech/polkadot-sdk/assets/521091/593235b0-b866-4915-b653-2071d793228b)
      
      ---------
      
      Co-authored-by: default avatarCyrill Leutwiler <[email protected]>
      Co-authored-by: command-bot <>
      643aa2be
    • Milos Kriz's avatar
      Amend chainspecs for `people-westend` and add IBP bootnodes (#4072) · d21a41f2
      Milos Kriz authored
      Dear team, dear @NachoPal @joepetrowski @bkchr @ggwpez
      
      ,
      
      This is a retry of #3957, after merging master as advised!,
      
      Many thanks!
      
      **_Milos_**
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      d21a41f2
    • PG Herveou's avatar
      Contracts: Reuse module when validating (#3789) · 1da8d12d
      PG Herveou authored
      Reuse wasmi Module when validating.
      Prepare the code for 0.32 and the addition of Module::new_unchecked
      1da8d12d
    • Alexandru Vasile's avatar
      net/strategy: Log bad peerId from on_validated_block_announce (#4051) · cd010925
      Alexandru Vasile authored
      
      
      This tiny PR extends the `on_validated_block_announce` log with the bad
      PeerID.
      Used to identify if the peerID is malicious by correlating with other
      logs (ie peer-set).
      
      While at it, have removed the `\n` from a multiline log, which did not
      play well with
      [sub-triage-logs](https://github.com/lexnv/sub-triage-logs/tree/master).
      
      cc @paritytech/networking
      
      ---------
      
      Signed-off-by: default avatarAlexandru Vasile <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      cd010925
    • PG Herveou's avatar
      Contracts: Only exec parsed code in benchmarks (#3915) · 0d71753e
      PG Herveou authored
      [Weights
      compare](https://weights.tasty.limo/compare?unit=weight&ignore_errors=true&threshold=10&method=asymptotic&repo=polkadot-sdk&old=master&new=pg%2Fbench_tweaks&path_pattern=substrate%2Fframe%2F**%2Fsrc%2Fweights.rs%2Cpolkadot%2Fruntime%2F*%2Fsrc%2Fweights%2F**%2F*.rs%2Cpolkadot%2Fbridges%2Fmodules%2F*%2Fsrc%2Fweights.rs%2Ccumulus%2F**%2Fweights%2F*.rs%2Ccumulus%2F**%2Fweights%2Fxcm%2F*.rs%2Ccumulus%2F**%2Fsrc%2Fweights.rs)
      
      Note: Raw weights change does not mean much here, as this PR reduce the
      scope of what is benchmarked, they are therefore decreased by a good
      margin. One should instead print the Schedule using
      
      cargo test --features runtime-benchmarks bench_print_schedule --
      --nocapture
      or following the instructions from the
      [README](https://github.com/paritytech/polkadot-sdk/tree/pg/bench_tweaks/substrate/frame/contracts#schedule)
      for looking at the Schedule of a specific runtime
      
      ---------
      
      Co-authored-by: command-bot <>
      0d71753e
    • Matteo Muraca's avatar
      Removed `pallet::getter` usage from Polkadot Runtime pallets (#3660) · 92e14255
      Matteo Muraca authored
      Part of #3326 
      
      @Kianenigma @ggwpez
      
       
      
      polkadot address: 12poSUQPtcF1HUPQGY3zZu2P8emuW9YnsPduA4XG3oCEfJVp
      
      ---------
      
      Signed-off-by: default avatarMatteo Muraca <[email protected]>
      Co-authored-by: default avatarordian <[email protected]>
      92e14255
    • Bulat Saifullin's avatar
      Convert chainspec to raw (#4057) · d96a9752
      Bulat Saifullin authored
      The plain `people-kusama` and `coretime-kusama` chainspecs were uploaded
      at https://github.com/paritytech/polkadot-sdk/pull/3961. Only binaries
      with compatible runtime versions can run with plain chainspec. For
      example:
      
      One of the latest master builds fails:
      
      ```
      docker run paritypr/polkadot-parachain-debug:master-216509db --chain coretime-kusama
      ...
      Error: Service(Client(Storage("wasm call error Other: Exported method GenesisBuilder_get_preset is not found"))
      ```
      
      Master build from 5 days ago:
      
      ```
      docker run paritypr/polkadot-parachain-debug:master-68cdb126 --chain coretime-kusama
      ...
      2024-04-08 16:51:02 [Parachain] 🔨 Initializing Genesis block/state (state: 0xc418…889c, header-hash: 0x638c…d050)
      2024-04-08 16:51:03 [Relaychain] 🔨 Initializing Genesis block/state (state: 0xb000…ef6b, header-hash: 0xb0a8…dafe)
      2024-04-08 16:51:03 [Relaychain] 👴 Loading GRANDPA authority set from genesis on what appears to be first startup.
      2024-04-08 16:51:03 [Relaychain] 👶 Creating empty BABE epoch changes on what appears to be first startup.
      2024-04-08 16:51:03 [Relaychain] 🏷 Local node identity is: 12D3KooWQEp2uPow3FnngGmy9dYQ3qxY1GkmumS5MqBWEQscwTyy
      2024-04-08 16:51:03 [Relaychain] 📦 Highest known block at #0
      ...
      ```
      
      ## Changes:
      
      1. Rename:
      ```
      coretime-kusama.json -> coretime-kusama-genesis.json
      people-kusama.json -> people-kusama-genesis.json
      ```
      
      2. Generate raw chainspec:
      
      ```
      docker run --rm -v $(pwd):/dir paritypr/polkadot-parachain-debug:master-68cdb126 build-spec --raw --chain /dir/people-kusama-genesis.json > people-kusama.json 
      docker run --rm -v $(pwd):/dir paritypr/polkadot-parachain-debug:master-68cdb126 build-spec --raw --chain /dir/coretime-kusama-genesis.json > coretime-kusama.json
      ```
      
      ## Tests:
      
      New chainspec can run on the latest master build:
      
      ```
      docker run -it --rm -v $(pwd):/dir paritypr/polkadot-parachain-debug:master-216509db --chain /dir/coretime-kusama.json
      ...
      2024-04-09 16:44:39 [Relaychain] ️ Syncing, target=#22665488 (8 peers), best: #2371 (0x19f8…5f3a), finalized #2048 (0xede6…f879),  388.6kiB/s  87.0kiB/s
      2024-04-09 16:44:39 [Parachain] 💤 Idle (6 peers), best: #0 (0x638c…d050), finalized #0 (0x638c…d050),  6.3kiB/s  2.8kiB/s
      ```
      
      Plain chainspec will fail:
      
      ```
      docker run -it --rm -v $(pwd):/dir paritypr/polkadot-parachain-debug:master-216509db --chain /dir/coretime-kusama-genesis.json
      ... 
      Error: Service(Client(Storage("wasm call error Other: Exported method GenesisBuilder_get_preset is not found")))
      ```
      d96a9752
    • Serban Iorga's avatar
      Reapply lost changes · b8956fe1
      Serban Iorga authored and Bastian Köcher's avatar Bastian Köcher committed
      b8956fe1
    • Serban Iorga's avatar
      Fix chain_spec_as_json_fails_with_invalid_config · fb84c461
      Serban Iorga authored and Bastian Köcher's avatar Bastian Köcher committed
      fb84c461
    • Serban Iorga's avatar
      Leftovers · a230a377
      Serban Iorga authored and Bastian Köcher's avatar Bastian Köcher committed
      a230a377
    • Serban Iorga's avatar
      diener workspacify · 4ad46c81
      Serban Iorga authored and Bastian Köcher's avatar Bastian Köcher committed
      4ad46c81