Commit Graph

15107 Commits

Author SHA1 Message Date
Andronik 762d77e3ec refactor runtime cache for SessionInfo (#4723) 2022-01-15 20:10:09 +00:00
Nazar Mokrynskyi 0bca06a483 Minor tweaks suggested by clippy (#10673)
* Minor tweaks suggested by clippy

* Fix typo caused by last commit

* Apply review suggestions
2022-01-15 21:00:12 +01:00
Andronik 6ad8139c39 spellcheck fixes (#4724) 2022-01-15 14:11:31 +00:00
Bastian Köcher a534274c6f runtime-interface: Implement register_only functions (#10640)
* runtime-interface: Implement `register_only` functions

The runtime interface supports versioning of functions. Currently, if you add a new function it will
be used by the runtime automatically. This results in requiring all nodes of a network to upgrade
before the runtime is upgraded, otherwise they will fail to instantiate the new runtime because of
missing host functions. This pr introduces `register_only` functions. This can be used when a new
runtime interface function should be introduced, but the actual usage can be deferred. This means
that nodes will have the host function for this, but the runtime will still use the old version of
the function when being compiled for wasm. However, when a runtime is enacted that uses the new host
function, the "old nodes" will already have the host function and will continue to work.

* Update primitives/runtime-interface/src/lib.rs

Co-authored-by: cheme <emericchevalier.pro@gmail.com>

* Update primitives/runtime-interface/proc-macro/src/utils.rs

Co-authored-by: cheme <emericchevalier.pro@gmail.com>

* FMT

Co-authored-by: cheme <emericchevalier.pro@gmail.com>
2022-01-15 10:46:20 +00:00
Robert Klotzner fc594e5254 Report the actual missing session. (#4722) 2022-01-15 10:41:24 +00:00
Ignacio Palacios 6f763b5e71 Add set custom header to Seedling Runtime (#846)
* before adding seedling client side

* seedling runtime compiles

* create seedling spec script added

* seedling node & BaseCallFilter fixes

* update AllPalets

* formatting

* CallFilter + SignedExtra + AccountData fix

* XCM removed

* cleanup

* solo-to-para pallet added & before testing

* fix runtime upgrade method

* soloToPara pallet + set header

* clean up

* clean up 2

* signed extension check sudo added

* fmt + cleanup

* Refac code and fixes

* fmt

* Update pallets/solo-to-para/src/lib.rs

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>

* Update pallets/solo-to-para/src/lib.rs

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>

* Update pallets/solo-to-para/src/lib.rs

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>

* small fixes

* OnValidationData used

* small changes

* Update pallets/solo-to-para/src/lib.rs

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>

* Update pallets/solo-to-para/src/lib.rs

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>

* Update pallets/solo-to-para/src/lib.rs

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>

* OnValidationData replaced by OnSystemEvent

* fmt + cargo fix

* disable-default-bootnodes for seedling script

Co-authored-by: Ricardo Rius <ricardo@parity.io>
Co-authored-by: Ricardo Rius <9488369+riusricardo@users.noreply.github.com>
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2022-01-14 14:21:10 +01:00
Arkadiy Paronyan c33fb8db76 Increase default rocksdb cache (#10659) 2022-01-14 11:02:53 +00:00
Shawn Tabrizi e9860b9c1e Use free balance rather than total balance for elections phragmen (#10646)
* use free balance rather than total balance

* Docs

Co-authored-by: emostov <32168567+emostov@users.noreply.github.com>
2022-01-14 01:43:00 +00:00
Alexander Popiak 401540eefc Add fast-runtime Cargo Feature for Quick Test Runs (#4332)
* 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 <5588131+kianenigma@users.noreply.github.com>

* 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 <5588131+kianenigma@users.noreply.github.com>

* add note that env variable is evaluated at compile time

* newline

Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>

* newline

Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>

* 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 <5588131+kianenigma@users.noreply.github.com>
Co-authored-by: Giles Cope <gilescope@gmail.com>
2022-01-13 20:08:24 +00:00
Sergei Shulepov 21419a81d0 paras: Add runtime events for PVF pre-checking (#4683)
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.
2022-01-13 18:44:14 +01:00
sandreim 6e268a48f6 Add node authority status metric (#4699)
* Check authority status on active leaves update

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* cargo changes

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* Fix tests

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* Add metric for authority status

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* Revert "Fix tests"

This reverts commit 5bd56bb367ec0b01ecca04498b3974ab67bf3189.

* Revert "cargo changes"

This reverts commit ffea18fe3ca12b27e6471ad9f44592799ec90956.

* Revert "Check authority status on active leaves update"

This reverts commit 55a30ac81bf32a72e0b79ca2e7bb612344a5c43d.

* Test fixups

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* fix

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* update

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* undo damage

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* dont update status on runtime errors

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* Fix tests

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* fix inconsistency

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* Review feedback

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* Dont derive primitive Default

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* add dummy_session_info helper

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* unset parachain validator status if no longer authority

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* update

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* damn

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* 🤦

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>
2022-01-13 17:41:10 +00:00
Arkadiy Paronyan 4d477ea9b4 Fast/warp sync fixes (#10562)
* Fast sync fixes

* Fix gap blocks validation

* Updated test

* Formatting

* Networking test
2022-01-13 15:26:06 +00:00
Sergei Shulepov 99dda4014c impl guide: Describe the PVF check subsystem (#4685)
closes #4611
2022-01-13 14:33:22 +01:00
Doordashcon 60f5e0cf2d Use Polkadot Constants instead of Hardcoding (#868)
* added Polkadot constants

* remove hardcoded constants

* cargo +nightly fmt

* add const existential deposit

* update

* cargo +nightly fmt

* not pulling

* readd constants.rs modules

* update

* Cargo.lock

* update

* add balance constants

* Update polkadot-parachains/statemine/src/constants.rs

Co-authored-by: Alexander Popiak <alexander.popiak@gmail.com>

* cargo fmt

Co-authored-by: Alexander Popiak <alexander.popiak@gmail.com>
2022-01-13 11:54:59 +00:00
joe petrowski 66e536f773 Remove Sudo from Westmint (#897)
* remove sudo from westmint
2022-01-13 11:32:19 +00:00
Florian Franzen 6da2fa35d6 cargo: sync workspace members with dependencies (#4579)
* cargo: sync workspace members with dependencies

* Remove bridges stuff

* Fix

Co-authored-by: Bastian Köcher <info@kchr.de>
2022-01-13 11:11:34 +01:00
Andronik 5e308e3fee runtime-api: do not cache None SessionInfo (#4706)
* approval-voting: add more logs

* approval-voting: query finalized block on startup and increase look back

* runtime-api: do not cache None SessionInfo
2022-01-13 08:15:59 +00:00
Andronik d4ff5699f0 approval-voting: query finalized block on startup and increase look back (#4705)
* approval-voting: add more logs

* approval-voting: query finalized block on startup and increase look back
2022-01-13 08:15:39 +00:00
Robert Klotzner f2bdd99532 Add some docs to prevent a time loop. (#4702)
* Add some docs to prevent a time loop.

* Review remarks.
2022-01-13 08:15:13 +00:00
Kian Paimani 12d1600267 Fix the migrations for upcoming release (#4692) 2022-01-13 06:52:03 +00:00
Andronik fc7e6047d9 approval-voting: add more logs (#4704) 2022-01-12 19:22:47 +00:00
justinFrevert 80a25af1a3 Update test commands according to current process (#4703) 2022-01-12 17:34:17 +00:00
Xiliang Chen 167d363087 Companion for substrate#10620 (#894)
* fix tests

* update lockfile for substrate

* update lockfile for {"polkadot"}

Co-authored-by: parity-processbot <>
2022-01-12 12:42:23 +01:00
Xiliang Chen 5a4d0ebcba Companion for substrate#10620 (#4696)
* fix tests

* update lockfile for substrate

Co-authored-by: parity-processbot <>
2022-01-12 10:34:50 +00:00
Alexander Samusev 3a88215fca [ci] pipeline chores (#10624)
* [Do not merge] pipeline chores

* disable condition publish-rustdoc

* revert rules

* remove PIPELINE_SCRIPTS_TAG
2022-01-12 09:33:25 +01:00
Xiliang Chen d346028a9d reset events before apply runtime upgrade (#10620)
* reset events before apply runtime upgrade

* fix tests

* add test

* update comment

* Update frame/system/src/lib.rs

* trigger CI

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2022-01-12 08:22:29 +00:00
dependabot[bot] 79cab81364 Bump twox-hash from 1.6.1 to 1.6.2 (#10575)
Bumps [twox-hash](https://github.com/shepmaster/twox-hash) from 1.6.1 to 1.6.2.
- [Release notes](https://github.com/shepmaster/twox-hash/releases)
- [Commits](https://github.com/shepmaster/twox-hash/compare/v1.6.1...v1.6.2)

---
updated-dependencies:
- dependency-name: twox-hash
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-12 09:18:23 +01:00
Niklas Adolfsson d278b63f6d staking miner: use config for emergency solution (#4694) 2022-01-11 19:30:24 +01:00
Oliver Tale-Yazdi 1f28f72790 followup #10594: re-benchmark pallet-lottery (#10637)
* pallet-preimage: fix crate doc

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* cargo run --quiet --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_lottery --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/lottery/src/weights.rs --template=./.maintain/frame-weight-template.hbs

Co-authored-by: Parity Bot <admin@parity.io>
2022-01-11 18:13:06 +00:00
Oliver Tale-Yazdi b630f1b0e6 pallet-lottery: add generate_storage_info (#10594)
* pallet-lottery: add generate_storage_info

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* pallet-lottery: test call_to_indices with TooManyCalls

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* review: move try_push above transfer

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* pallet-lottery: test stop_repeat

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* pallet-lottery: test do_buy_ticket as white-box

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* pallet-lottery: use BoundedVec in bechmarks

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* pallet-lottery: fix zero div panic

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* review: extend buy_ticket tests

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* review: test buy_ticket AlreadyParticipating

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* fmt

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* review: use /// comments on private functions

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* review: use with_bounded_capacity

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
2022-01-11 14:22:27 +00:00
João Paulo Silva de Souza d929efff72 delete process.json (#4688)
the feature was removed in https://github.com/paritytech/parity-processbot/pull/358
2022-01-11 14:00:50 +00:00
João Paulo Silva de Souza 5e4035dcaa delete process.json (#10629)
The feature was removed in https://github.com/paritytech/parity-processbot/pull/358
2022-01-11 12:29:42 +01:00
Bastian Köcher fce5872698 Switch types to use RuntimeDebug instead of gated Debug (#4652)
* Switch types to use `RuntimeDebug` instead of gated `Debug`

This is useful for when you want to debug in wasm and enable the
`force-debug` feature of `sp-debug-derive`.

* Fixes

* 🤦
2022-01-11 12:28:48 +01:00
Vladimir Istyufeev bdd7a44bec Remove the bench-test-full-crypto-feature GHA & GitLab jobs (#10628)
* Remove the `bench-test-full-crypto-feature` job

* Remove the relevant GHA job
2022-01-11 11:29:35 +01:00
Keith Yeung 185e301fdd Move XCM runtime configurations into their own files (#4644)
* Move XCM runtime configurations into their own files

* Update copyright year

* Fix compilation errors

* Import XCM types in westend runtime unit tests
2022-01-11 09:09:34 +00:00
Oliver Tale-Yazdi 0071bd7bac frame/bench-cli: fix log formatting (#10627)
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
2022-01-11 03:18:30 +00:00
Denis Pisarev 3ce6f9212c CI: remove rococo from CI (#4666)
* CI: remove rococo from CI

* CI: typo

* CI: another typo

Co-authored-by: CI system <>
2022-01-10 18:28:06 +01:00
Seun Lanlege a4057bb9e2 Adds AuraConsensusDataProvider (#10503)
* adds support for parachains to test-runner

* adds file header

* Apply suggestions from code review

Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>

* proper docs, remove unused _client

* fixes

* Update client/consensus/manual-seal/src/consensus/timestamp.rs

Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>

* Update client/consensus/manual-seal/src/consensus/timestamp.rs

Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>

* pr fixes

Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
2022-01-10 14:39:04 +00:00
Seun Lanlege 88cfa86d72 bye bye tes-runner (#4680) 2022-01-10 15:38:24 +01:00
Joshy Orndorff 2178cb1939 Manual Seal: Calculate the block's post hash (#10498)
* calculate the post hash

* Add test

Co-authored-by: tgmichel <telmo@purestake.com>
2022-01-10 11:55:05 +00:00
sandreim 599da09a40 Companion for #4639 (Remove sleep from tests ) (#890)
* fix tests

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* update lockfile for polkadot

Co-authored-by: parity-processbot <>
2022-01-10 11:33:10 +00:00
Robert Klotzner 9514caee88 Small mostly doc improvements (#4661)
* Better docs on non initialized state.

* Document better what is happening.

* More precise errors.

* cargo fmt
2022-01-10 12:28:20 +01:00
sandreim 0da05cac26 Remove sleep from tests (#4639)
* Remove sleep and use polkadot test service

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* updates

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* Fix other tests

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* Run metrics tests separately

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* copy some substrate utilities

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* update runtime metric test

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* Remove sleep from cli tests

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* cargo

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* Polkadot companion for Substrate#10463 (#4519)

* Grandpa and Beefy protocol names include chain id

Signed-off-by: acatangiu <adrian@parity.io>

* 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 <andrei-mihail@parity.io>

* review feedback

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* cargo lock

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* use testnet profile

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* Don't run with runtime-benchmark feature

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* conditional compile up one level

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

Co-authored-by: Sergei Shulepov <sergei@parity.io>
2022-01-10 11:00:46 +00:00
Bastian Köcher c342e99261 Companion: code-substitute: Switch from block_hash to block_number (#4667)
* Companion: code-substitute: Switch from `block_hash` to `block_number`

* Update Substrate
2022-01-10 09:49:44 +01:00
Bastian Köcher 3093bed933 code-substitute: Switch from block_hash to block_number (#10600)
* code-substitute: Switch from `block_hash` to `block_number`

This will make it easier for light clients to work with the code-substitute.

For more information on this see: https://github.com/paritytech/substrate/issues/10589

Closes: https://github.com/paritytech/substrate/issues/10589

* FMT

* Update client/service/src/client/wasm_substitutes.rs

Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>

* Update client/service/src/builder.rs

Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>

Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>
2022-01-09 20:48:24 +01:00
Alex Pozhylenkov 03a7738ed8 add into function for PrefixIterator (#10614)
* add into function for PrefixIterator

* update with comments

* update with comments
2022-01-09 20:12:21 +01:00
Kian Paimani 02468b803f Add Ord implementation for BoundedVec (#10615)
* Add Ord implementation for BoundedVec

* Update frame/support/src/storage/bounded_vec.rs

* Update frame/support/src/storage/bounded_vec.rs

* Update frame/support/src/storage/bounded_vec.rs

* Update frame/support/src/storage/bounded_vec.rs

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2022-01-09 09:03:21 +00:00
Bastian Köcher e254fd59f2 frame-support: Use logging for printing corrupted state (#10612)
`runtime_print!` is printed by default using `debug`, aka not being visible. With `log::error!` it
will be printed directly to the user. Production networks like Polkadot disable logging, but for
them we run special nodes that have logging enabled.
2022-01-08 16:13:54 +00:00
Alexander Theißen 46e38e8288 Add additionally functionality to contracts storage interface (#10497)
* Add new versions for storage access host functions

* Improve docs
2022-01-08 12:19:23 +00:00
Gavin Wood 4b9818a06a Fix docs (#10606) 2022-01-07 19:33:52 +00:00