Skip to content
Snippets Groups Projects
  1. Feb 26, 2025
    • Branislav Kontur's avatar
      Authorize upgrade tests for testnet runtimes + `execute_as_governance` refactor (#7656) · e9be92d6
      Branislav Kontur authored
      
      Relates to: https://github.com/paritytech/polkadot-sdk/issues/7541 
      Relates to: https://github.com/paritytech/polkadot-sdk/issues/7566
      
      This PR contains improved test cases that rely on the governance
      location as preparation for AHM to capture the state as it is.
      It introduces `execute_as_governance_call`, which can be configured with
      various governance location setups instead of the hard-coded
      `Location::parent()`.
      
      Additionally, it adds a test for `authorize_upgrade` to all SP testnets.
      
      
      ## TODO
      - [x] rewrite all tests using
      `RuntimeHelper::<Runtime>::execute_as_governance` (because it is using
      hard-coded `Location::parent()`) to use
      `RuntimeHelper::<Runtime>::execute_as_governance_call`
      
      ## Follow-up
      - [ ] add similar test for westend-runtime
      - [ ] add test that ensure xcm-executor adds `ClearOrigin` before all
      side-effect sent to different chain
      
      ---------
      
      Co-authored-by: default avatarcmd[bot] <41898282+github-actions[bot]@users.noreply.github.com>
    • clangenb's avatar
      remove leftovers of the contracts-rococo parachain (#7638) · 51170495
      clangenb authored
      There were already previous efforts to remove the contracts-rococo
      chain, see #5471, which was done as a response to this comment
      https://github.com/paritytech/polkadot-sdk/pull/5288#discussion_r1711157476.
      
      This PR intends to fix the parts that were overlooked back then, and
      remove all traces of contracts-rococo as it is intended to be replaced
      by a new testnet including pallet-revive.
  2. Feb 25, 2025
  3. Feb 24, 2025
    • CrabGopher's avatar
      optional rocksdb for frame-benchmarking-cli (#7649) · 2edabef4
      CrabGopher authored
      `sc-cli` brings rocksdb dependency into frame-benchmarking-cli when used
      with `default-features = false`.
      This PR makes rocksdb deps optional that sc-cli brings in some of the
      crates. I think I covered all the crates that depend on sc-cli but
      please let me know if I missed any.
      
      Fixes: https://github.com/paritytech/polkadot-sdk/issues/3793
    • Daniel Shiposha's avatar
      Fix DryRunApi client-facing XCM versions (#7438) · 963f0d73
      Daniel Shiposha authored
      
      # Description
      
      Fixes #7413
      
      ## Integration
      
      This PR updates the `DryRunApi`. The signature of the `dry_run_call` is
      changed, and the XCM version of the return values of `dry_run_xcm` now
      follows the version of the input XCM program.
      
      ## Review Notes
      
      * **The `DryRunApi` is modified**
      * **Added the `Router::clear_messages` to `dry_run_xcm` common
      implementation**
      * **Fixed the xcmp-queue's Router's clear_messages: channels details'
      first_index and last_index are reset when clearing**
      * **The MIN_XCM_VERSION is added**
      * The common implementation in the `pallet-xcm` is modified accordingly
      * The `DryRunApi` tests are modified to account for testing old XCM
      versions
      * The implementation from the `pallet-xcm` is used where it was not used
      (including the `DryRunApi` tests)
      * All the runtime implementations are modified according to the Runtime
      API change
      
      ---------
      
      Co-authored-by: default avatarAdrian Catangiu <adrian@parity.io>
    • seemantaggarwal's avatar
      effort towards getting chainspecbuilder into omni-node fix 5567 (#7619) · cf52a0d9
      seemantaggarwal authored
      Adding chain-spec-builder as a subcommand into Polkadot omni node
    • paritytech-cmd-bot-polkadot-sdk[bot]'s avatar
      Auto-update of all weights for 2025-02-21-1740149841 (#7668) · 16ed0296
      
      Auto-update of all weights for 2025-02-21-1740149841.
      
      Subweight results:
      - [now vs
      master](https://weights.tasty.limo/compare?repo=polkadot-sdk&threshold=5&path_pattern=.%2F**%2Fweights%2F**%2F*.rs%2C.%2F**%2Fweights.rs&method=asymptotic&ignore_errors=true&unit=time&old=master&new=update-weights-weekly-2025-02-21-1740149841)
      - [now vs polkadot-v1.15.6
      (2025-01-16)](https://weights.tasty.limo/compare?repo=polkadot-sdk&threshold=5&path_pattern=.%2F**%2Fweights%2F**%2F*.rs%2C.%2F**%2Fweights.rs&method=asymptotic&ignore_errors=true&unit=time&old=polkadot-v1.15.6&new=update-weights-weekly-2025-02-21-1740149841)
      - [now vs polkadot-v1.16.2
      (2024-11-14)](https://weights.tasty.limo/compare?repo=polkadot-sdk&threshold=5&path_pattern=.%2F**%2Fweights%2F**%2F*.rs%2C.%2F**%2Fweights.rs&method=asymptotic&ignore_errors=true&unit=time&old=polkadot-v1.16.2&new=update-weights-weekly-2025-02-21-1740149841)
      
      Co-authored-by: default avatargithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
  4. Feb 22, 2025
    • Al's avatar
      Changed Rotko Networks bootnodes addresses (#7432) · f385a3ed
      Al authored
      # Description
      
      Creating this PR to changed Rotko Networks bootnode addresses to the new
      structure.
      
      Rotko bootnode addresses tested with this results:
      
      ```
      {
          "asset-hub-kusama": {
            "bootnode": "/dns/asset-hub-kusama.boot.rotko.net/tcp/30435/wss/p2p/12D3KooWJUFnjR2PNbsJhudwPVaWCoZy1acPGKjM2cSuGj345BBu",
            "discovered_peers": 3,
            "error_details": null,
            "id": "rotko",
            "network": "asset-hub-kusama",
            "status": "success",
            "test_duration_ms": 19394,
            "valid": true
          },
          "asset-hub-polkadot": {
            "bootnode": "/dns/asset-hub-polkadot.boot.rotko.net/tcp/30435/wss/p2p/12D3KooWKkzLjYF6M5eEs7nYiqEtRqY8SGVouoCwo3nCWsRnThDW",
            "discovered_peers": 5,
            "error_details": null,
            "id": "rotko",
            "network": "asset-hub-polkadot",
            "status": "success",
            "test_duration_ms": 5024,
            "valid": true
          },
          "asset-hub-westend": {
            "bootnode": "/dns/asset-hub-westend.boot.rotko.net/tcp/30435/wss/p2p/12D3KooWE4UDXqgtTcMCyUQ8S4uvaT8VMzzTBA6NWmKuYwTacWuN",
            "discovered_peers": 3,
            "error_details": null,
            "id": "rotko",
            "network": "asset-hub-westend",
            "status": "success",
            "test_duration_ms": 5023,
            "valid": true
          },
          "bridge-hub-kusama": {
            "bootnode": "/dns/bridge-hub-kusama.boot.rotko.net/tcp/30435/wss/p2p/12D3KooWAmBp54mUEYtvsk2kxNEsDbAvdUMcaghxKXgUQxmPEQ66",
            "discovered_peers": 4,
            "error_details": null,
            "id": "rotko",
            "network": "bridge-hub-kusama",
            "status": "success",
            "test_duration_ms": 6049,
            "valid": true
          },
          "bridge-hub-polkadot": {
            "bootnode": "/dns/bridge-hub-polkadot.boot.rotko.net/tcp/30435/wss/p2p/12D3KooWMxZY7tDc2Rh454VaJJ7RexKAXVS6xSBEvTnXSGCnuGDw",
            "discovered_peers": 2,
            "error_details": null,
            "id": "rotko",
            "network": "bridge-hub-polkadot",
            "status": "success",
            "test_duration_ms": 9112,
            "valid": true
          },
          "bridge-hub-westend": {
            "bootnode": "/dns/bridge-hub-westend.boot.rotko.net/tcp/30435/wss/p2p/12D3KooWJyeRHpxZZbfBCNEgeUFzmRC5AMSAs2tJhjJS1k5hULkD",
            "discovered_peers": 2,
            "error_details": null,
            "id": "rotko",
            "network": "bridge-hub-westend",
            "status": "success",
            "test_duration_ms": 9106,
            "valid": true
          },
          "collectives-polkadot": {
            "bootnode": "/dns/collectives-polkadot.boot.rotko.net/tcp/30435/wss/p2p/12D3KooWKrm3XmuGzJH17Wcn4HRDGsEjLZGDgN77q3ZhwnnQP7y1",
            "discovered_peers": 4,
            "error_details": null,
            "id": "rotko",
            "network": "collectives-polkadot",
            "status": "success",
            "test_duration_ms": 6044,
            "valid": true
          },
          "collectives-westend": {
            "bootnode": "/dns/collectives-westend.boot.rotko.net/tcp/30435/wss/p2p/12D3KooWPG85zhuSRoyptjLkFD4iJFistjiBmc15JgQ96B4fdXYr",
            "discovered_peers": 2,
            "error_details": null,
            "id": "rotko",
            "network": "collectives-westend",
            "status": "success",
            "test_duration_ms": 6044,
            "valid": true
          },
          "coretime-kusama": {
            "bootnode": "/dns/coretime-kusama.boot.rotko.net/tcp/30435/wss/p2p/12D3KooWCyPSkk5cq2eEdw1qHizfa6UT4QggSarCEtcvNXpnod8B",
            "discovered_peers": 3,
            "error_details": null,
            "id": "rotko",
            "network": "coretime-kusama",
            "status": "success",
            "test_duration_ms": 6036,
            "valid": true
          },
          "coretime-polkadot": {
            "bootnode": "/dns/coretime-polkadot.boot.rotko.net/tcp/30435/wss/p2p/12D3KooWPk5pR5QxWGVJ1YVWnXd4rkVTZ194iay58rAfcSHDpky3",
            "discovered_peers": 4,
            "error_details": null,
            "id": "rotko",
            "network": "coretime-polkadot",
            "status": "success",
            "test_duration_ms": 6045,
            "valid": true
          },
          "coretime-westend": {
            "bootnode": "/dns/coretime-westend.boot.rotko.net/tcp/30435/wss/p2p/12D3KooWFmGg7EGzxGDawuJ9EfyEznCrZfMJgGa4eHpMWjcJmg85",
            "discovered_peers": 2,
            "error_details": null,
            "id": "rotko",
            "network": "coretime-westend",
            "status": "success",
            "test_duration_ms": 6050,
            "valid": true
          },
          "kusama": {
            "bootnode": "/dns/kusama.boot.rotko.net/tcp/30335/wss/p2p/12D3KooWAa5THTw8HPfnhEei23HdL8P9McBXdozG2oTtMMksjZkK",
            "discovered_peers": 9,
            "error_details": null,
            "id": "rotko",
            "network": "kusama",
            "status": "success",
            "test_duration_ms": 5024,
            "valid": true
          },
          "paseo": {
            "bootnode": "/dns/paseo.boot.rotko.net/tcp/30335/wss/p2p/12D3KooWRH8eBMhw8c7bucy6pJfy94q4dKpLkF3pmeGohHmemdRu",
            "discovered_peers": 2,
            "error_details": null,
            "id": "rotko",
            "network": "paseo",
            "status": "success",
            "test_duration_ms": 12939,
            "valid": true
          },
          "people-kusama": {
            "bootnode": "/dns/people-kusama.boot.rotko.net/tcp/30435/wss/p2p/12D3KooWSKQwgoydfbN6mNN2aNwdqfkR2ExAnTRs8mmdrPQTtDLo",
            "discovered_peers": 5,
            "error_details": null,
            "id": "rotko",
            "network": "people-kusama",
            "status": "success",
            "test_duration_ms": 6053,
            "valid": true
          },
          "people-polkadot": {
            "bootnode": "/dns/people-polkadot.boot.rotko.net/tcp/30435/wss/p2p/12D3KooWLg9NPeDFoL54A7WfuHSM3YNxPBGVRAd9ZY6rmVfdT6GJ",
            "discovered_peers": 3,
            "error_details": null,
            "id": "rotko",
            "network": "people-polkadot",
            "status": "success",
            "test_duration_ms": 12195,
            "valid": true
          },
          "people-westend": {
            "bootnode": "/dns/people-westend.boot.rotko.net/tcp/30435/wss/p2p/12D3KooWHwUXBUo2WRMUBwPLC2ttVbnEk1KvDyESYAeKcNoCn7WS",
            "discovered_peers": 2,
            "error_details": null,
            "id": "rotko",
            "network": "people-westend",
            "status": "success",
            "test_duration_ms": 7059,
            "valid": true
          },
          "polkadot": {
            "bootnode": "/dns/polkadot.boot.rotko.net/tcp/30335/wss/p2p/12D3KooWPyEvPEXghnMC67Gff6PuZiSvfx3fmziKiPZcGStZ5xff",
            "discovered_peers": 6,
            "error_details": null,
            "id": "rotko",
            "network": "polkadot",
            "status": "success",
            "test_duration_ms": 11147,
            "valid": true
          },
          "westend": {
            "bootnode": "/dns/westend.boot.rotko.net/tcp/30335/wss/p2p/12D3KooWLK8Zj1uZ46phU3vQwiDVda8tB76S8J26rXZQLHpwWkDJ",
            "discovered_peers": 2,
            "error_details": null,
            "id": "rotko",
            "network": "westend",
            "status": "success",
            "test_duration_ms": 5021,
            "valid": true
          }
      }
      ```
  5. Feb 21, 2025
  6. Feb 20, 2025
    • PG Herveou's avatar
      [pallet-revive] tracing improvements (#7614) · 9e75647c
      PG Herveou authored
      
      Various pallet-revive improvements
      
      - add check for precompiles addresses,
      So we can easily identify which one are being called and not supported
      yet
      
      - fixes debug_call for revert call
      If a call revert we still want to get the traces for that call, that
      matches geth behaviors, diff tests will be added to the test suite for
      this
      
      - fixes traces for staticcall
      The call type was not always being reported properly.
      
      ---------
      
      Co-authored-by: default avatarcmd[bot] <41898282+github-actions[bot]@users.noreply.github.com>
      Co-authored-by: default avatarAlexander Theißen <alex.theissen@me.com>
    • Alexander Theißen's avatar
      Update to Rust stable 1.84.1 (#7625) · e2d3da61
      Alexander Theißen authored
      
      Ref https://github.com/paritytech/ci_cd/issues/1107
      
      We mainly need that so that we can finally compile the `pallet_revive`
      fixtures on stable. I did my best to keep the commits focused on one
      thing to make review easier.
      
      All the changes are needed because rustc introduced more warnings or is
      more strict about existing ones. Most of the stuff could just be fixed
      and the commits should be pretty self explanatory. However, there are a
      few this that are notable:
      
      ## `non_local_definitions `
      
      A lot of runtimes to write `impl` blocks inside functions. This makes
      sense to reduce the amount of conditional compilation. I guess I could
      have moved them into a module instead. But I think allowing it here
      makes sense to avoid the code churn.
      
      ## `unexpected_cfgs`
      
      The FRAME macros emit code that references various features like `std`,
      `runtime-benchmarks` or `try-runtime`. If a create that uses those
      macros does not have those features we get this warning. Those were
      mostly when defining a `mock` runtime. I opted for silencing the warning
      in this case rather than adding not needed features.
      
      For the benchmarking ui tests I opted for adding the `runtime-benchmark`
      feature to the `Cargo.toml`.
      
      ## Failing UI test
      
      I am bumping the `trybuild` version and regenerating the ui tests. The
      old version seems to be incompatible. This requires us to pass
      `deny_warnings` in `CARGO_ENCODED_RUSTFLAGS` as `RUSTFLAGS` is ignored
      in the new version.
      
      ## Removing toolchain file from the pallet revive fixtures
      
      This is no longer needed since the latest stable will compile them fine
      using the `RUSTC_BOOTSTRAP=1`.
      
      ---------
      
      Co-authored-by: default avatarcmd[bot] <41898282+github-actions[bot]@users.noreply.github.com>
    • Serban Iorga's avatar
      derive `DecodeWithMemTracking` for `RuntimeCall` (#7634) · e8d17cbe
      Serban Iorga authored
      Related to https://github.com/paritytech/polkadot-sdk/issues/7360
  7. Feb 19, 2025
  8. Feb 18, 2025
  9. Feb 17, 2025
  10. Feb 14, 2025
    • Kian Paimani's avatar
      [AHM] Multi-block staking election pallet (#7282) · a025562b
      Kian Paimani authored
      ## Multi Block Election Pallet
      
      This PR adds the first iteration of the multi-block staking pallet. 
      
      From this point onwards, the staking and its election provider pallets
      are being customized to work in AssetHub. While usage in solo-chains is
      still possible, it is not longer the main focus of this pallet. For a
      safer usage, please fork and user an older version of this pallet.
      
      ---
      
      ## Replaces
      
      - [x] https://github.com/paritytech/polkadot-sdk/pull/6034 
      - [x] https://github.com/paritytech/polkadot-sdk/pull/5272
      
      ## Related PRs: 
      
      - [x] https://github.com/paritytech/polkadot-sdk/pull/7483
      - [ ] https://github.com/paritytech/polkadot-sdk/pull/7357
      - [ ] https://github.com/paritytech/polkadot-sdk/pull/7424
      - [ ] https://github.com/paritytech/polkadot-staking-miner/pull/955
      
      This branch can be periodically merged into
      https://github.com/paritytech/polkadot-sdk/pull/7358 ->
      https://github.com/paritytech/polkadot-sdk/pull/6996
      
      ## TODOs: 
      
      - [x] rebase to master 
      - Benchmarking for staking critical path
        - [x] snapshot
        - [x] election result
      - Benchmarking for EPMB critical path
        - [x] snapshot
        - [x] verification
        - [x] submission
        - [x] unsigned submission
        - [ ] election results fetching
      - [ ] Fix deletion weights. Either of
        - [ ] Garbage collector + lazy removal of all paged storage items
        - [ ] Confirm that deletion is small PoV footprint.
      - [ ] Move election prediction to be push based. @tdimitrov 
      - [ ] integrity checks for bounds 
      - [ ] Properly benchmark this as a part of CI -- for now I will remove
      them as they are too slow
      - [x] add try-state to all pallets
      - [x] Staking to allow genesis dev accounts to be created internally
      - [x] Decouple miner config so @niklasad1 can work on the miner
      72841b73
      - [x] duplicate snapshot page reported by @niklasad1
      
       
      - [ ] https://github.com/paritytech/polkadot-sdk/pull/6520 or equivalent
      -- during snapshot, `VoterList` must be locked
      - [ ] Move target snapshot to a separate block
      
      ---------
      
      Co-authored-by: default avatarGonçalo Pestana <g6pestana@gmail.com>
      Co-authored-by: default avatarAnkan <10196091+Ank4n@users.noreply.github.com>
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarGuillaume Thiolliere <gui.thiolliere@gmail.com>
      Co-authored-by: default avatarGiuseppe Re <giuseppe.re@parity.io>
      Co-authored-by: default avatarcmd[bot] <41898282+github-actions[bot]@users.noreply.github.com>
    • Florian Franzen's avatar
      cumulus-client: use only valid syntax in Cargo.toml (#7455) · 9117f70f
      Florian Franzen authored
      # Description
      
      This PR ensure that only valid syntax is uses inside the `Cargo.toml`. 
      
      ## Integration
      
      Not sure if worth backporting. Came across this when trying to package
      `try-runtime-cli`.
      
      ## Review Notes
      
      It should be obvious that this is not valid syntax. I am not able to add
      labels and doubt this requires a prdoc.
    • Bastian Köcher's avatar
    • Oliver Tale-Yazdi's avatar
      [mq pallet] Custom next queue selectors (#6059) · 7aac8861
      Oliver Tale-Yazdi authored
      
      Changes:
      - Expose a `force_set_head` function from the `MessageQueue` pallet via
      a new trait: `ForceSetHead`. This can be used to force the MQ pallet to
      process this queue next.
      - The change only exposes an internal function through a trait, no audit
      is required.
      
      ## Context
      
      For the Asset Hub Migration (AHM) we need a mechanism to prioritize the
      inbound upward messages and the inbound downward messages on the AH. To
      achieve this, a minimal (and no breaking) change is done to the MQ
      pallet in the form of adding the `force_set_head` function.
      
      An example use of how to achieve prioritization is then demonstrated in
      `integration_test.rs::AhmPrioritizer`. Normally, all queues are
      scheduled round-robin like this:
      
      `| Relay | Para(1) | Para(2) | ... | Relay | ... `
      
      The prioritizer listens to changes to its queue and triggers if either:
      - The queue processed in the last block (to keep the general round-robin
      scheduling)
      - The queue did not process since `n` blocks (to prevent starvation if
      there are too many other queues)
      
      In either situation, it schedules the queue for a streak of three
      consecutive blocks, such that it would become:
      
      `| Relay | Relay | Relay | Para(1) | Para(2) | ... | Relay | Relay |
      Relay | ... `
      
      It basically transforms the round-robin into an elongated round robin.
      Although different strategies can be injected into the pallet at
      runtime, this one seems to strike a good balance between general service
      level and prioritization.
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      Co-authored-by: default avatarcmd[bot] <41898282+github-actions[bot]@users.noreply.github.com>
      Co-authored-by: default avatarmuharem <ismailov.m.h@gmail.com>
  11. Feb 13, 2025
  12. Feb 12, 2025
  13. Feb 07, 2025
    • Przemek Rzad's avatar
      Ensure license headers match the Cargo manifest licenses (#5776) · 3726493d
      Przemek Rzad authored
      
      - Closes https://github.com/paritytech/license-scanner/issues/44
      - Silent because only comments are changed in the crates.
      
      ## What's inside
      
      First, we change the file traversal mechanism from shell globbing to
      walking through files which happens inside the `license-scanner` - so it
      has knowledge about directory structure and can correlate files with
      corresponding Cargo manifest.
      
      Next, added `MIT-0` and `Unlicense` to the allowed list of licenses.
      `Unlicense` appears only once across {Substrate,Cumulus,Polkadot} - in
      `penpal-runtime`.
      
      Finally, updated headers in files that do not match the corresponding
      manifest license.
      
      ---------
      
      Co-authored-by: Yuri Volkov's avatarcornholio <0@mcornholio.ru>
    • dharjeezy's avatar
      Update Pallet Referenda to support Block Number Provider (#6338) · f08bf1a1
      dharjeezy authored
      
      This PR introduces BlockNumberProvider config for the referenda pallet.
      closes part of https://github.com/paritytech/polkadot-sdk/issues/6297
      
      Polkadot address: 12GyGD3QhT4i2JJpNzvMf96sxxBLWymz4RdGCxRH5Rj5agKW
      
      ---------
      
      Co-authored-by: default avatarmuharem <ismailov.m.h@gmail.com>
  14. Feb 06, 2025
    • PG Herveou's avatar
      [pallet-revive] tx fee fixes (#7463) · 917052e5
      PG Herveou authored
      
      Apply some fixes to properly estimate ethereum tx fees:
      
      - Set the `extension_weight` on the dispatch_info to properly calculate
      the fee with pallet_transaction_payment
      - Expose the gas_price through Runtime API, just in case we decide to
      tweak the value in future updates, it should be read from the chain
      rather than be a shared constant exposed by the crate
      - add a `evm_gas_to_fee` utility function to properly convert gas to
      substrate fee
      - Fix some minor gas encoding for edge cases
      
      ---------
      
      Co-authored-by: default avatarcmd[bot] <41898282+github-actions[bot]@users.noreply.github.com>
  15. Feb 05, 2025
    • Iulian Barbu's avatar
      omni-node: add offchain worker (#7479) · 87f4f3f0
      Iulian Barbu authored
      
      # Description
      
      Copy pasted the `parachain-template-node` offchain worker setup to
      omni-node-lib for both aura and manual seal nodes.
      
      Closes #7447 
      
      ## Integration
      
      Enabled offchain workers for both `polkadot-omni-node` and
      `polkadot-parachain` nodes. This would allow executing offchain logic in
      the runtime and considering it on the node side.
      
      ---------
      
      Signed-off-by: default avatarIulian Barbu <iulian.barbu@parity.io>
      Co-authored-by: default avatarcmd[bot] <41898282+github-actions[bot]@users.noreply.github.com>
    • Sebastian Kunert's avatar
      omni-node: Adjust manual seal parameters (#7451) · 9c474d54
      Sebastian Kunert authored
      
      This PR will make omni-node dev-mode once again compatible with older
      runtimes.
      
      The changes introduced in
      https://github.com/paritytech/polkadot-sdk/pull/6825 changed constraints
      that are enforced in the runtime. For normal chains this should work
      fine, since we have real parameters there, like relay chain slots and
      parachain slots.
      
      For these manual seal parameters we need to respect the constraints,
      while faking all the parameters. This PR should fix manual seal in
      omni-node to work with runtime build before and after
      https://github.com/paritytech/polkadot-sdk/pull/6825 (I tested that).
      
      In the future, we should look into improving the parameterization here,
      possibly by introducing proper aura pre-digests so that the parachain
      slot moves forward. This will require quite a bit of refactoring on the
      manual seal node side however. Issue:
      https://github.com/paritytech/polkadot-sdk/issues/7453
      
      Also, the dev chain spec in parachain template is updated. This makes it
      work with stable2412-1 and master omni-node. Once the changes here are
      backported and in a release, all combinations will work again.
      
      fixes https://github.com/paritytech/polkadot-sdk/issues/7341
      
      ---------
      
      Co-authored-by: default avatarcmd[bot] <41898282+github-actions[bot]@users.noreply.github.com>