- Jan 13, 2022
-
-
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: Kian 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: Kian Paimani <[email protected]> * add note that env variable is evaluated at compile time * newline Co-authored-by: Kian Paimani <[email protected]> * newline Co-authored-by: Kian 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: Kian Paimani <[email protected]> Co-authored-by: Giles Cope <[email protected]>
-
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.
-
Kian Paimani authored
-
- Jan 12, 2022
-
-
Xiliang Chen authored
* fix tests * update lockfile for substrate Co-authored-by: parity-processbot <>
-
- Jan 11, 2022
-
-
Keith Yeung authored
* Move XCM runtime configurations into their own files * Update copyright year * Fix compilation errors * Import XCM types in westend runtime unit tests
-
- Jan 10, 2022
-
-
sandreim authored
* Remove sleep and use polkadot test service Signed-off-by: Andrei Sandu <[email protected]> * updates Signed-off-by: Andrei Sandu <[email protected]> * Fix other tests Signed-off-by: Andrei Sandu <[email protected]> * Run metrics tests separately Signed-off-by: Andrei Sandu <[email protected]> * copy some substrate utilities Signed-off-by: Andrei Sandu <[email protected]> * update runtime metric test Signed-off-by: Andrei Sandu <[email protected]> * Remove sleep from cli tests Signed-off-by: Andrei Sandu <[email protected]> * cargo Signed-off-by: Andrei Sandu <[email protected]> * Polkadot companion for Substrate#10463 (#4519) * Grandpa and Beefy protocol names include chain id Signed-off-by: acatangiu <[email protected]> * chain_spec: include fork id * use simplified protocol name * fix after merge * avoid using hash default, even for protocol names * update lockfile for substrate Co-authored-by: parity-processbot <> * configuration: Update upgrade validation delay doc (#4662) * typo Signed-off-by: Andrei Sandu <[email protected]> * review feedback Signed-off-by: Andrei Sandu <[email protected]> * cargo lock Signed-off-by: Andrei Sandu <[email protected]> * use testnet profile Signed-off-by: Andrei Sandu <[email protected]> * Don't run with runtime-benchmark feature Signed-off-by: Andrei Sandu <[email protected]> * conditional compile up one level Signed-off-by: Andrei Sandu <[email protected]> Co-authored-by: Sergei Shulepov <[email protected]>
-
- Jan 07, 2022
-
-
Sergey Pepyakin authored
Looks like it is an artifact of prior code and now it is redundant.
-
Kian Paimani authored
* refund the lost deposit of historical nick module * Fix doc * add comments etc. * guard it better * more log * fix build
-
Kian Paimani authored
* Fix locked deposit of council voters * add account ids as comment
-
- Jan 05, 2022
-
-
Sergey Pepyakin authored
-
sandreim authored
* initial changes Signed-off-by: Andrei Sandu <[email protected]> * fmt Signed-off-by: Andrei Sandu <[email protected]> * remove file Signed-off-by: Andrei Sandu <[email protected]> * Remove pallet Signed-off-by: Andrei Sandu <[email protected]> * fix copyright year Signed-off-by: Andrei Sandu <[email protected]> * Remove metric registration op Signed-off-by: Andrei Sandu <[email protected]> * Register runtime metrics in client Signed-off-by: Andrei Sandu <[email protected]> * fmt Signed-off-by: Andrei Sandu <[email protected]> * fix build without `runtime-metrics` Signed-off-by: Andrei Sandu <[email protected]> * reduce visibility Signed-off-by: Andrei Sandu <[email protected]> * remove metric prefix logic, use hardcoded Signed-off-by: Andrei Sandu <[email protected]> * fix Signed-off-by: Andrei Sandu <[email protected]> * review feedback Signed-off-by: Andrei Sandu <[email protected]> * Split CounterVec api so it doesn't need mutability Signed-off-by: Andrei Sandu <[email protected]> * Const beautify Signed-off-by: Andrei Sandu <[email protected]> * fix Signed-off-by: Andrei Sandu <[email protected]> * Fix Signed-off-by: Andrei Sandu <[email protected]> * fix docs Signed-off-by: Andrei Sandu <[email protected]> * Merge web ui feedback. Co-authored-by: Bastian Köcher <[email protected]> Co-authored-by: Bastian Köcher <[email protected]>
-
Adrian Catangiu authored
Signed-off-by: acatangiu <[email protected]>
-
Kian Paimani authored
* Fully enable bags-list pallet in polkadot runtime * cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=polkadot-dev --steps=50 --repeat=20 --pallet=pallet_staking --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/polkadot/src/weights/ * cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=pallet_staking --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/ * cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=pallet_staking --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/ Co-authored-by: Parity Bot <[email protected]>
-
- Jan 03, 2022
-
-
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: Parity Bot <[email protected]>
-
Sergey Pepyakin authored
This is only a module structure change: the tests module was promoted to have its own file.
-
- Jan 01, 2022
-
-
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
-
- Dec 31, 2021
-
-
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
-
- Dec 30, 2021
-
-
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
-
- Dec 29, 2021
-
-
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: Parity Bot <[email protected]>
-
- Dec 28, 2021
-
-
Sergey Pepyakin authored
This is the first step to close https://github.com/paritytech/polkadot/issues/4524
-
Sergey Pepyakin authored
Closes #4248 Impose additional constraint on configuration consistency: `validation_upgrade_delay` should not be less than or equal to 1. See the original issue for more details.
-
Sergey Pepyakin authored
Setting zero as weight may be a source of problems. The problem is, a rogue validator can shove a lot of duplicated votes and thus fill a block with work that may well exceed the weight limit.
-
Sergey Pepyakin authored
As was suggested by Alexander Popiak [here][comment], this commit checks the consistency of the configuration. [comment]: https://github.com/paritytech/polkadot/pull/4420#discussion_r764796519
-
- Dec 27, 2021
-
-
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.
-
ordian authored
-
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: Javier Viola <[email protected]>
-
- Dec 25, 2021
-
-
Bastian Köcher authored
* changed Rococos epoch to 1h * Changed assigned_slots parameters to match ecosystem needs * Update rococo chain spec Co-authored-by: Santi Balaguer <[email protected]>
-
- Dec 24, 2021
-
-
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 <>
-
- Dec 23, 2021
-
-
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
-
- Dec 22, 2021
-
-
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.
-
- Dec 21, 2021
-
-
Adrian Catangiu authored
* runtimes: use updated BeefyApi * update lockfile for substrate
-
Sergey Pepyakin authored
Basically updates the docs for the paras module.
-
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: Chris Sosnin <[email protected]> Co-authored-by: Chris Sosnin <[email protected]>
-
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: Parity Bot <[email protected]>
-
- Dec 20, 2021
-
-
dependabot[bot] authored
Bumps [futures](https://github.com/rust-lang/futures-rs) from 0.3.18 to 0.3.19. - [Release notes](https://github.com/rust-lang/futures-rs/releases) - [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.18...0.3.19) --- updated-dependencies: - dependency-name: futures dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
-
Doordashcon authored
* add existential deposit * cargo +nightly fmt * add EXISTENTIAL_DEPOSIT to runtimes
-
- Dec 17, 2021
-
-
dependabot[bot] authored
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.131 to 1.0.132. - [Release notes](https://github.com/serde-rs/serde/releases) - [Commits](https://github.com/serde-rs/serde/compare/v1.0.131...v1.0.132) --- updated-dependencies: - dependency-name: serde dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
-
- Dec 16, 2021
-
-
Sergey Pepyakin authored
-
Sergey Pepyakin authored
Simply extract hardcoded log target into a const.
-
Sergey Pepyakin authored
* pvf-precheck: Integrate PVF pre-checking into paras module Closes #4009 This is the most of the runtime-side change needed for #3211. Here is how it works. The PVF pre-checking can be triggered either by an upgrade or by onboarding (i.e. calling `schedule_para_initialize`). The PVF pre-checking process is identified by the PVF code hash that is being voted on. If there is already PVF pre-checking process running, then no new PVF pre-checking process will be started. Instead, we just subscribe to the existing one. If there is no PVF pre-checking process running but the PVF code hash was already saved in the storage, that necessarily means (I invite the reviewers to double-check this invariant) that the PVF already passed pre-checking. This is equivalent to instant approving of the PVF. The pre-checking process can be concluded either by obtaining a supermajority or if it expires. Each validator checks the list of PVFs available for voting. The vote is binary, i.e. accept or reject a given PVF. As soon as the supermajority of votes are collected for one of the sides of the vote, the voting is concluded in that direction and the effects of the voting are enacted. Only validators from the active set can participate in the vote. The set of active validators can change each session. That's why we reset the votes each session. A voting that observed a certain number of sessions will be rejected. The effects of the PVF accepting depend on the operations requested it: 1. All onboardings subscribed to the approved PVF pre-checking process will get scheduled and after passing 2 session boundaries they will be onboarded. 2. All upgrades subscribed to the approved PVF pre-checking process will get scheduled very similarly to the existing process. Upgrades with pre-checking are really the same process that is just delayed by the time required for pre-checking voting. In case of instant approval the mechanism is exactly the same. This is important from parachains compatibility standpoint since following the delayed upgrade requires the parachain to implement https://github.com/paritytech/cumulus/pull/517. In case, PVF pre-checking process was concluded with rejection, then all the requesting operations get cancelled. For onboarding it means it gets without movement: the lifecycle of such parachain is terminated on the `Onboarding` state and after rejection the lifecycle is none. That in turn means that the caller can attempt registering the parachain once more. For upgrading it means that the upgrade process is aborted: that flashes go-ahead signal with `Abort` flag. Rejection leads to removing the allegedly bad validation code from the chain storage. Among other things, this implies that the operation can be re-requested. That allows for retrying an operation in case there was some bug. At the same time it does not look as a DoS vector due to the caching performed by the nodes. PVF pre-checking can be enabled and disabled. Initially, according to the changes in #4420, this mechanism is disabled. Triggering the PVF pre-checking when it is disabled just means that we insta approve the requesting operation. This should lead to the behavior being unchanged. Follow-ups: - expose runtime APIs * 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=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=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 * Review fixes Co-authored-by: Parity Bot <[email protected]>
-