Skip to content
  1. Jan 17, 2022
    • zqhxuyuan's avatar
      make xcm_config public (#4731) · c0ed54f1
      zqhxuyuan authored
      c0ed54f1
    • Sergey Pepyakin's avatar
      paras: do not allow PVF vote submission if disabled (#4684) · 815021ab
      Sergey Pepyakin authored
      if the PVF pre-checking is disabled the runtime dispatchable will reject
      any attempts of submission. This is also concern the unsigned tx
      validation.
      
      Right now, the `include_pvf_check_statement` dispatchable is effectively
      uncallable because of the weight set to the maximum value. If we were to
      benchmark it, it would become includable in a block, but since there
      will be no active votes, the dispatchable won't do anything.
      
      However, it will execute some code, like signature validation and
      querying some storage entries. To be completely safe, we can bail out
      early if the `pvf_checking_enabled` config is disabled. That's what this
      PR does.
      815021ab
    • Zeke Mostov's avatar
      Change EraIndex import path: companion #10671 (#4728) · 7ef476c2
      Zeke Mostov authored
      * Change EraIndex import path: companion #10671
      
      * update lockfile for {"substrate"}
      
      Co-authored-by: parity-processbot <>
      7ef476c2
  2. Jan 15, 2022
  3. Jan 13, 2022
    • Alexander Popiak's avatar
      Add `fast-runtime` Cargo Feature for Quick Test Runs (#4332) · 401540ee
      Alexander Popiak authored
      
      
      * add fast-runtime feature for reduced session times
      
      * make democracy periods fast on fast-runtime
      
      * propagate fast-runtime feature through cargo.toml files
      
      * add fast motion and term durations to Kusama
      
      * Update runtime/westend/Cargo.toml
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * set session time to 2 minutes to avoid block production issues
      
      * formatting
      
      * update Substrate
      
      * set democracy fast periods back to 1min
      
      * set launch period and enactment period to 1 block in fast-runtime
      
      * remove unnecessary westend period configs
      
      * add prod_or_test macro to allow specifying prod, test and env values for parameter types
      
      * move prod_or_test macro into common module and use it consistently
      
      * rename macro to prod_or_fast
      
      * cargo +nightly fmt
      
      * bump impl_versions
      
      * newline
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * add note that env variable is evaluated at compile time
      
      * newline
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * newline
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * cargo fmt
      
      * impl_version: 0
      
      * impl_version: 0
      
      * use prod_or_fast macro for LeasePeriod and LeaseOffset
      
      * use prod_or_fast macro in WND and ROC constants
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      Co-authored-by: default avatarGiles Cope <[email protected]>
      401540ee
    • Sergey Pepyakin's avatar
      paras: Add runtime events for PVF pre-checking (#4683) · 21419a81
      Sergey Pepyakin authored
      In this PR, paras module emit runtime events on certain PVF pre-checking
      related conditions.
      
      Specifically, there are 3 new events in the paras module:
      
      1. PvfCheckStarted
      2. PvfCheckAccepted
      3. PvfCheckRejected
      
      All of those have identifiers for the parachain that triggered the PVF
      pre-checking and the validation code that goes through the pre-checking.
      
      The mechanics of those are as follows. Each time a new PVF is added, be
      it due to onboarding or upgrading, the `PvfCheckStarted` will be
      triggered. If another parachain triggers a pre-checking process for the
      validation code which is already being pre-checked, another
      `PvfCheckStarted` event will be triggered with the corresponding para
      id.
      
      When the PVF pre-checking voting for a PVF was finished, several
      `PvfCheckAccepted/Rejected` events will be triggered: one for each para id that
      was subscribed to this check (i.e. was a "cause" for it).
      
      If the PVF pre-checking is disabled, then one can still expect these
      events to be fired. Since insta PVF approval is syncronous, the
      `PvfCheckStarted` will be followed by the `PvfCheckAccepted` with the
      same validation code and para id.
      
      If somebody is interested in following validation code changes for a PVF
      of a parachain, they would need to subscribe to those events. I did not
      supply the topics for the events, since I am not sure if that's needed
      or will be used, but they can be added later if needed.
      21419a81
    • Kian Paimani's avatar
      12d16002
  4. Jan 12, 2022
  5. Jan 11, 2022
  6. Jan 10, 2022
  7. Jan 07, 2022
  8. Jan 05, 2022
  9. Jan 03, 2022
    • Keith Yeung's avatar
      Set CurrentCodeHash before running some dispatchable benchmarks (#4645) · 5047ef8e
      Keith Yeung authored
      
      
      * Set CurrentCodeHash before running some dispatchable benchmarks
      
      * Use insert instead of put
      
      * Actually hash the ValidationCode
      
      * cargo run --quiet --release --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
      
      Co-authored-by: default avatarParity Bot <[email protected]>
      5047ef8e
    • Sergey Pepyakin's avatar
      paras: split tests (#4636) · 575775a1
      Sergey Pepyakin authored
      This is only a module structure change: the tests module was promoted to
      have its own file.
      575775a1
  10. Jan 01, 2022
    • Sergey Pepyakin's avatar
      chore: fix copy&paste and tidy comments (#4646) · 78b3dc21
      Sergey Pepyakin authored
      As was brought up in [here][og], we have some copy&paste comments. I
      fixed them and also took liberty of fixing some other places.
      Specifically, those that say "module" instead of contemporary "pallet".
      
      [og]:
      https://github.com/paritytech/polkadot/pull/4603#discussion_r776971291
      78b3dc21
  11. Dec 31, 2021
    • Sergey Pepyakin's avatar
      paras: fix upgrade restriction signal (#4603) · 5f6a0392
      Sergey Pepyakin authored
      Closes #3971
      
      Read the linked issue.
      
      Apart from that, this addresses the concern raised in this [comment] by
      just adding a test. I couldn't find a clean way to reconcile a block
      number delay with a PVF voting TTL, so I just resorted to rely on the
      test. Should be fine for now.
      
      [comment]: https://github.com/paritytech/polkadot/pull/4457#discussion_r770517562
      5f6a0392
  12. Dec 30, 2021
    • Sergey Pepyakin's avatar
      configuration: Rename validation_upgrade_{frequency -> cooldown} (#4635) · 72a92eaf
      Sergey Pepyakin authored
      This just renames a member of `HostConfiguration` from
      validation_upgrade_frequency to -//-_cooldown.
      
      As was already pointed out in #4460 the existing name is a misnomer, the
      member actually represents a minimum time period between upgrades, which
      is neatly expressed by a word cooldown.
      
      I've been planning this rename already for some time and the term is
      already used in paras module:
      
      https://github.com/paritytech/polkadot/blob/1394b70d/runtime/parachains/src/paras.rs#L1568-L1574
      72a92eaf
  13. Dec 29, 2021
    • Sergey Pepyakin's avatar
      paras: add governance control dispatchables (#4575) · 4bf62d85
      Sergey Pepyakin authored
      
      
      * paras: add governance control dispatchables
      
      Adds a couple of functions for governance control for the paras module
      in the anticipation of PVF pre-checking enabling.
      
      Specifically, this commit adds a function for pre-registering a PVF that
      governance trusts enough. This function will come in handy in case there
      is a parachain that does not follow the GoAhead signal. That is, does
      not include https://github.com/paritytech/cumulus/pull/517.
      
      This may be not an exhaustive list of the functions that may come in
      handy. Any suggestions to add more are welcome.
      
      * cargo run --quiet --release --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 --release --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 --release --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 --release --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
      
      Co-authored-by: default avatarParity Bot <[email protected]>
      4bf62d85
  14. Dec 28, 2021
  15. Dec 27, 2021
    • Sergey Pepyakin's avatar
      configuration: Unified consistency checks (#4581) · 4d768787
      Sergey Pepyakin authored
      This commit refactors the consistency checks. Instead of each individual
      setter performs its checks locally, we delegate those checks to the
      already existing function `check_consistency`. This removes duplication
      and simplifies the logic.
      
      A motivating example of this one is the next PR in the stack that will
      introduce a check for a field, which validity depends on the validity of
      other two fields. Without this refactoring we will have to place a check
      not only to the field in question, but also to the other two fields so
      that if they are changed they do not violate consistency criteria. It's
      easy to imagine how this can go unwieldy with the number of checks.
      
      This also adds a test that verifies that the default chain spec host
      configuration is consistent.
      4d768787
    • ordian's avatar
      9efb223a
    • ordian's avatar
      session-info: add new fields + migration (#4545) · b342ae11
      ordian authored
      
      
      * session_info: v2 + migration
      
      * use primitives::v2
      
      * use polkadot_primitives::v2
      
      * impl primitives::v2
      
      * fix approval-voting tests
      
      * fix other tests
      
      * hook storage migration up
      
      * backwards compat (1)
      
      * backwards compat (2)
      
      * fmt
      
      * fix tests
      
      * FMT
      
      * do not reexport v1 in v2
      
      * fmt
      
      * set storage version to 1
      
      Co-authored-by: default avatarJavier Viola <[email protected]>
      b342ae11
  16. Dec 25, 2021
  17. Dec 24, 2021
    • cheme's avatar
      Companion for substrate#9732 (#4104) · 48dc6750
      cheme authored
      * merge master (do not compile)
      
      * fix
      
      * lock
      
      * update lock
      
      * Update to refactoring.
      
      * runtime version
      
      * fmt
      
      * remove trie patch
      
      * remove patch
      
      * No layout alias for bridge proof.
      
      * update depupdate depss
      
      * No switch until migration.
      
      * master lock
      
      * test
      
      * test
      
      * Revert "test"
      
      This reverts commit 57325ef73332bf4b054aa4a667bb716fcf8a0d89.
      
      * Revert "test"
      
      This reverts commit ce74d0e2062806f72c0e9e9ca07b14165f43521e.
      
      * rename feature
      
      * state version as parameter, use the feature only on runtimes.
      
      * update
      
      * update to state version in runtime
      
      * state version from storage
      
      * update lockfile for substrate
      
      Co-authored-by: parity-processbot <>
      48dc6750
  18. Dec 23, 2021
    • Robert Klotzner's avatar
      First step in implementing #4386 (#4437) · 846828f6
      Robert Klotzner authored
      * First step in implementing https://github.com/paritytech/polkadot/issues/4386
      
      This PR:
      
      - Reduces MAX_UNSHARED_UPLOAD_TIME to 150ms
      - Increases timeout on collation fetching to 1200ms
      - Reduces limit on needed backing votes in the runtime
      
      This PR does not yet reduce the number of needed backing votes on the
      node as this can only be meaningfully enacted once the changed limit in
      the runtime is live.
      
      * Fix tests.
      
      * Guide updates.
      
      * Review remarks.
      
      * Bump minimum required backing votes to 2 in runtime.
      
      * Make sure node side code won't make runtime vomit.
      
      * cargo +nightly fmt
      846828f6
  19. Dec 22, 2021
    • Sergey Pepyakin's avatar
      configuration: refactor configuration initialization (#4569) · 4689ccff
      Sergey Pepyakin authored
      Refactor the configuration module's initializer_on_new_session in such a
      way that it returns the configuration. This would make it inline with
      other special initialization routines like `shared`'s or `paras`.
      
      This will be useful in a following PR that will check consistency of the
      configuration before setting it.
      4689ccff
  20. Dec 21, 2021
    • Adrian Catangiu's avatar
      Companion for Substrate#10445 (#4506) · 30423f79
      Adrian Catangiu authored
      * runtimes: use updated BeefyApi
      
      * update lockfile for substrate
      30423f79
    • Sergey Pepyakin's avatar
      pvf-precheck: update rustdoc for paras module (#4459) · 0e046a00
      Sergey Pepyakin authored
      Basically updates the docs for the paras module.
      0e046a00
    • Sergey Pepyakin's avatar
      pvf-precheck: hook up runtime API (#4542) · 3cb138d2
      Sergey Pepyakin authored
      
      
      This commit hooks up the API provided by #4457 to the runtime API
      subsystem. In a following PR this API will be consumed by the PVF
      pre-checking subsystem.
      
      Co-authored-by: default avatarChris Sosnin <[email protected]>
      
      Co-authored-by: default avatarChris Sosnin <[email protected]>
      3cb138d2
    • Sergey Pepyakin's avatar
      parachains: Fix configuration module (#4540) · 5a3ee43c
      Sergey Pepyakin authored
      
      
      * parachains: Fix configuration module
      
      Closes #4529
      Closes #4533
      
      I figured that trying to avoid updates does not really worth it to keep.
      This is because we seem to not update the configuration often and when
      we do we approach this carefully. Thus possibility of a redundant update
      is really negligable. At the same time, if such a redundant update does
      happen then the effects of that are really small: just some wasted
      storage interactions.
      
      On the other hand, making it work was a little bit annoying. With the
      proper fix for the pending updates this would be even more annoying
      since now we would have to add combinatorically more cases to test this.
      
      So I figured that I will just scrap that and simplify the code.
      
      * cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=runtime_parachains::configuration --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/runtime_parachains_configuration.rs
      
      * cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=polkadot-dev --steps=50 --repeat=20 --pallet=runtime_parachains::configuration --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/polkadot/src/weights/runtime_parachains_configuration.rs
      
      * cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=runtime_parachains::configuration --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/runtime_parachains_configuration.rs
      
      * review fixes
      
      Co-authored-by: default avatarParity Bot <[email protected]>
      5a3ee43c
  21. Dec 20, 2021