Skip to content
  1. May 24, 2022
    • Niklas Adolfsson's avatar
      fix: `--feature fast-runtime` on westend (#5585) · 69aa11f6
      Niklas Adolfsson authored
      The westend runtime was missing the fast runtime for `EpochDuration`
      which caused the epoch be 1 hour which isn't fast.
      
      This PR changes the `EpochDuration` to 2 minutes when `--fast-runtime`
      is enabled, the same as polkadot and kusama.
      69aa11f6
  2. May 20, 2022
  3. May 19, 2022
  4. May 17, 2022
  5. May 16, 2022
  6. May 12, 2022
  7. May 11, 2022
    • Kian Paimani's avatar
      companion for 11350 (#5489) · eb2448e1
      Kian Paimani authored
      * fix all runtimes
      
      * fix staking miner
      
      * update lockfile for {"substrate"}
      
      Co-authored-by: parity-processbot <>
      eb2448e1
    • Kian Paimani's avatar
      Add Nomination Pools to Kusama (#5447) · 9f21ec97
      Kian Paimani authored
      
      
      * add nomination pools to kusama
      
      * Update runtime/kusama/src/lib.rs
      
      Co-authored-by: default avatarMara Robin B. <[email protected]>
      
      * Update runtime/kusama/src/lib.rs
      
      * probably fix build
      
      * really fix build
      
      * fix benches
      
      * cargo run --quiet --profile=production  --features=runtime-benchmarks -- benchmark pallet --chain=kusama-dev --steps=50 --repeat=20 --pallet=pallet_nomination_pools --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/
      
      * cargo run --quiet --profile=production  --features=runtime-benchmarks -- benchmark pallet --chain=westend-dev --steps=50 --repeat=20 --pallet=pallet_nomination_pools --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/
      
      * whitelist transactional storage limit
      
      * make defensive
      
      * fix
      
      * cargo run --quiet --profile=production  --features=runtime-benchmarks -- benchmark pallet --chain=westend-dev --steps=50 --repeat=20 --pallet=pallet_nomination_pools --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/
      
      * update
      
      * fix benches
      
      * cargo run --quiet --profile=production  --features=runtime-benchmarks -- benchmark pallet --chain=kusama-dev --steps=50 --repeat=20 --pallet=pallet_nomination_pools --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/
      
      * change head
      
      * fmt
      
      Co-authored-by: default avatarMara Robin B. <[email protected]>
      Co-authored-by: default avatarParity Bot <[email protected]>
      9f21ec97
  8. May 10, 2022
  9. May 08, 2022
  10. May 05, 2022
  11. May 04, 2022
  12. May 03, 2022
  13. Apr 28, 2022
  14. Apr 27, 2022
  15. Apr 26, 2022
  16. Apr 25, 2022
    • Mara Broda's avatar
      Remove SlotsCrowdloanIndexMigration & InjectValidatorsIntoVoterList (#5374) (#5379) · 9f79fcae
      Mara Broda authored
      * Remove SlotsCrowdloanIndexMigration
      
      * Remove slots index migration code
      
      * Remove crowdloan index migration code
      
      * remove reference to migration
      
      * rustfmt
      
      * westend: remove unused import OnRuntimeUpgrade
      
      * kusama: remove unused import OnRuntimeUpgrade
      
      * polkadot: remove unused import OnRuntimeUpgrade
      
      * Revert "Remove crowdloan index migration code"
      
      This reverts commit fe84b59e3133e950740d911fb019e6002f60d5a3.
      
      * Revert "Remove slots index migration code"
      
      This reverts commit 62c5a28e21d2949189bdb52835cc3a44f6e9c561.
      
      * Revert "remove reference to migration"
      
      This reverts commit 1f8806c010210b638cc59979ab873619910596c0.
      
      * Remove InjectValidatorsIntoVoterList migration
      9f79fcae
  17. Apr 22, 2022
  18. Apr 20, 2022
  19. Apr 15, 2022
  20. Apr 13, 2022
  21. Apr 12, 2022
    • Tsvetomir Dimitrov's avatar
      Add staging runtime api (#5048) · fd020c07
      Tsvetomir Dimitrov authored
      * Move `trait ParachainHost` to a separate version independent module
      
      `trait ParachainHost` is no longer part of a specific primitives
      version. Instead there is a single trait for stable and staging api
      versions. The trait contains stable AND staging methods. The latter are
      explicitly marked as unstable.
      
      * Fix `use` primitives
      
      `polkadot_primitives::v2` becomes `polkadot_primitives::runtime_api`
      
      * Staging API declaration and stubs
      
      Introduces the concept for 'staging functions' in runtime API. These
      functions are still in testing and they are meant to be used only
      within test networks (Westend).
      They coexist with the stable calls for technical reasons - maintaining
      different runtime APIs for different networks is hard to implement.
      
      Check the doc comments in source files for more details how the staging
      API should be used.
      
      * Add new staging method - get_session_disputes()
      
      Add `staging_get_session_disputes` to `ParachainHost` as the first
      method of the staging API.
      
      * Hide vstaging runtime api implementations  behind feature flag
      
      * Fix test runtime
      
      * fn staging_get_session_disputes() is renamed to fn staging_get_disputes()
      fd020c07
  22. Apr 08, 2022
  23. Apr 07, 2022
  24. Apr 01, 2022
  25. Mar 30, 2022
  26. Mar 29, 2022
  27. Mar 26, 2022
    • Georges's avatar
      Adding `Fallback` on election failure (#5093) · 7793796b
      Georges authored
      
      
      * Adding `Fallback` on election failure
      Use the newly introduced `BoundedOnChainSequentialPhragmen`
      and `UnboundedOnChainSequentialPhragmen`
      
      * Adding `BoundedOnchainExecution`
      after changes in substrate
      
      * Introducing `ExecutionConfig`
      from `frame_election_provider_support::onchain`
      
      * `OnChainSequentialPhragmen` > `OnChainSeqPhragmen`
      Renaming to have a shorter name
      
      * `BoundedOnchainExecution` -> `BoundedExecution`
      And `UnboundedOnchainExecution` -> `UnboundedExecution`
      
      * `Fallback` back to `NoFallback`
      `UnboundedExecution` for `GovernanceFallback`
      
      * Update runtime/test-runtime/src/lib.rs
      
      * update lockfile for {"substrate"}
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      Co-authored-by: parity-processbot <>
      7793796b
  28. Mar 24, 2022
    • Sergei Shulepov's avatar
      paras: `include_pvf_check_statement` rt bench (#4938) · c8fda4f1
      Sergei Shulepov authored
      
      
      * paras: `include_pvf_check_statement` rt bench
      
      Resolves #4933
      
      This PR adds a benchmark for the `include_pvf_check_statement`
      dispatchable. This is a necessary step to make it work without
      modifications. That enables us to proceed with testing on Versi.
      
      This introduces 5 new benchmarks. Those measure performance of the
      `include_pvf_check_statement` under 2 different conditions:
      
      1. regular vote submission. That's the common case.
      2. submission of the last vote. That happens only once and leads to a
         heavy finalization stage.
      
      There are 2 different types of finalization (one for onboarding, one for
      upgrading) and there are two outcomes: accepted and rejected. Those 4
      are similar but I decided to cover them all and assign the maximum of
      all 4. This is to avoid a situation when one of those paths becomes more
      heavier than others and opens up an attack venue.
      
      The regular vote submission weight is drastically different from the
      submission last vote weight. That's why in case during runtime
      finalization was not executed the weight consumed value will be lowered
      down to the regular vote submission.
      
      The finalization weight is proportional to the number of "causes", i.e.
      the events that caused the PVF pre-checking vote in the first place, and
      here we assume that the maximum number of causes is 100.
      
      Theoretically, there is nothing that prevents an adversary to
      register/upgrade to more than 100 parachains. In that case, the consumed
      weight will be lower than the actual time consumed by the finalization
      process. That can enable a DoS vector.
      
      However, practically, it is not very possible. Right now it is very
      expensive to call `schedule_para_initialize` because it requires a very
      large lock up of funds. Moreover, finalizing a vote with 100 causes
      leads to around 31ms time spent. Finalizing more will require more time.
      However, finalizing with 200 causes will cause ≈62ms delay. This is not
      that bad since even though we had a full block and the adversary tried
      to finalize 200 causes it won't be able to even exceed the operational
      extrinsic boundary of 250ms and even if so it won't make big difference.
      
      That said, this should be addressed later on, esp. when we enable
      parathreads, which will make creating causes easier. One of potential
      solutions will be shifting the logic of finalization into
      `on_initialize`/`on_finalize`. Another is to create a maximum number of
      causes and then reject upgrades or onboardings if that was reached.
      
      * cargo run --quiet --profile=production  --features=runtime-benchmarks -- benchmark --chain=polkadot-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/polkadot/src/weights/runtime_parachains_paras.rs
      
      * cargo run --quiet --profile=production  --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/runtime_parachains_paras.rs
      
      * cargo run --quiet --profile=production  --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/runtime_parachains_paras.rs
      
      * cargo run --quiet --profile=production --features runtime-benchmarks -- benchmark --chain=rococo-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/rococo/src/weights/runtime_parachains_paras.rs
      
      * Fix import error
      
      Co-authored-by: default avatarParity Bot <[email protected]>
      Co-authored-by: default avatarRobert Klotzner <[email protected]>
      Co-authored-by: default avatarLldenaurois <[email protected]>
      c8fda4f1
  29. Mar 23, 2022