Commit Graph

14506 Commits

Author SHA1 Message Date
André Silva 4b3ec9c97d bridges: update finality-grandpa to 0.14.1 (#3266)
* bridges: update finality-grandpa

* update Substrate

Co-authored-by: parity-processbot <>
2021-06-16 13:23:39 +00:00
André Silva ae5cd339b5 grandpa: cleanup sync bounds (#9127)
* grandpa: cleanup sync bounds

* grandpa: cleanup imports

* remove cargo patch
2021-06-16 12:51:09 +00:00
Bastian Köcher d8e3f8a4ae Rename pallet-session-benchmarking crate (#495)
This is required to support patching Substrate, as otherwise there are
two crates with the same name.
2021-06-16 12:53:42 +02:00
Bernhard Schuster 44a8aa23d5 malus - mockable overseer mvp (#3224) 2021-06-16 12:45:21 +02:00
Shawn Tabrizi b64d9885ad use safe math (#3249) 2021-06-16 10:19:41 +00:00
Guillaume Thiolliere 5fa96f2ed2 Do not run pallet_ui test with conditional-storage feature (#9122)
* do not run pallet_ui test with conditional-compilation feature

* fix
2021-06-16 09:09:24 +00:00
Bastian Köcher d6f06bf5d9 Adds support for checking the timestamp inherent while validating a block (#494)
* Adds support for checking the timestamp inherent while validating a block

This adds support for checking the timestamp inherent while validating a
block. This will use the relay chain slot number * relay chain slot
duration to calculate a timestamp. This timestamp is used to check the
timestamp in the timestamp inherent.

* Update polkadot-parachains/rococo-runtime/src/lib.rs

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>

* Update polkadot-parachains/statemine-runtime/src/lib.rs

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>

* Update primitives/timestamp/src/lib.rs

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

* Fix warnings

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>
2021-06-16 10:53:47 +02:00
Shawn Tabrizi 2fbd705ed5 Companion for #8920 (Control Staking) (#3260)
* update weight apis

* update Substrate

Co-authored-by: parity-processbot <>
2021-06-16 09:17:26 +02:00
Shawn Tabrizi 36ac9111dd Add Control to Growth of the Staking Pallet (#8920)
* start count

* track count

* add max limit

* min bonds for participating

* respect min bond when unbonding

* revert a bit of u32

* fix merge

* more merge fixes

* update to `Current*`

* add helper functions

* Update frame/staking/src/lib.rs

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

* fix

* minbond as storage

* checkpoint

* chill_other

* better bond tracking

* MinBond to MinNominatorBond

* better doc

* use helper function

* oops

* simple hard limits to validators / nominators.

* better doc

* update storage version

* fix tests

* enable migrations

* min bond tests

* chill other tests

* tests for max cap

* check `None` on cap too

* benchmarks

* Update frame/staking/src/lib.rs

* Update frame/staking/src/lib.rs

Co-authored-by: Zeke Mostov <32168567+emostov@users.noreply.github.com>

* Update frame/staking/src/lib.rs

Co-authored-by: Zeke Mostov <32168567+emostov@users.noreply.github.com>

* Update frame/staking/src/tests.rs

Co-authored-by: Zeke Mostov <32168567+emostov@users.noreply.github.com>

* fix benchmark

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

* nits

* fix reap_stash benchmark

* remove lower bound to min bond

Co-authored-by: kianenigma <kian@parity.io>
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
Co-authored-by: Parity Bot <admin@parity.io>
Co-authored-by: Zeke Mostov <32168567+emostov@users.noreply.github.com>
2021-06-16 04:57:14 +00:00
Keith Yeung 7d82d93f34 Companion for #8949 (#3216)
* Remove Call part imports of the offences and authority discovery pallets

* Remove non-existent Call enum variants

* Move ValidateUnsigned impl to be under #[pallet::validate_unsigned] in claims pallet

* Remove unused imports

* Remove Call part import for randomness collective flip pallet

* update Substrate

Co-authored-by: parity-processbot <>
2021-06-16 04:13:21 +00:00
Keith Yeung 58e837fcd3 Emit error when construct_runtime imports a non-existent pallet part (#8949)
* Emit error when construct_runtime imports a non-existent Call part

* Reword and display pallet name when emitting part not found error

* Migrate decl_outer_dispatch to a proc macro

* Rename calls.rs to call.rs

* Create new construct_runtime_v2 macro

* Add UI test for importing non-existent call part in construct_runtime

* Emit error when construct_runtime imports a non-existent Config part

* Emit error when construct_runtime imports a non-existent Event part

* Migrate decl_outer_inherent to a proc macro

* Emit error when construct_runtime imports a non-existent Inherent part

* Migrate decl_outer_validate_unsigned to a proc macro

* Emit error when construct_runtime imports a non-existent ValidateUnsigned part

* impl for old macro

* fix line width

* add doc

* hide macroes and use unique counter everywhere

* Remove construct_runtime_v2

* Encapsulate pallet part check macros in a module

* Fix macro definitions in dummy part checker

* Tag ProvideInherent impl with #[pallet::inherent] properly for authorship pallet

* Remove Call part from pallets that do not define it

* Add Call part unit tests

* Remove undefined Call part import from offences pallet

* Add tests for expand_outer_inherent

* Remove Call part from pallets that do not define them

* Remove Call part imports from pallets that do not have it defined

* Remove Call part import of the offences pallet from grandpa pallet mocks

* Update frame/support/test/tests/pallet.rs

Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com>

* Remove Call part imports for pallets that do not define them

* Move inherent tests to inherent_expand

* Add unit tests for expand_outer_validate_unsigned

* Add newline at the end of file

* fix ui test

* Small prayer to RNGsus for fixing CI

* Remove Call part from construct_runtime for randomness collective flip pallet

* Remove Call part import for randomness collective flip pallet

* Summon Laplace's demon instead of praying to RNGsus

* Update test expectations

* fix ui test and make sure it's flaky

* Revert "fix ui test and make sure it's flaky"

This reverts commit 362b6881389c911ef8d9ef85d71c9463f5694b20.

* Comment out test instead of putting it in conditional compilation

* Update UI test expectations

* Update UI test expectations

* Emit error when construct_runtime imports a non-existent Origin part

Co-authored-by: thiolliere <gui.thiolliere@gmail.com>
Co-authored-by: Denis P <denis.pisarev@parity.io>
2021-06-16 03:44:22 +00:00
Ethan Brierley 7dd38e3aec fix: CARGO_TARGET_DIR_freeze (#9114) 2021-06-15 16:23:57 +00:00
Robert Habermeier 28ecc38646 Drop guard for detecting stale approvals (#3251)
* Drop guard for detecting stale approvals

* address nits with different API
2021-06-15 16:09:03 +00:00
Shawn Tabrizi da71128daf Companion for #9106 (remove_all with size limit) (#3257)
* update apis

* fix api

* rename to `KillStorageResult`

* update Substrate

Co-authored-by: parity-processbot <>
2021-06-15 13:52:54 +00:00
cheme 693b39f43b Frame remove_all with size limit. (#9106)
* remove prefixed content with limit.

* test match

* factor comment and factor ext limit removal.

* fix benchmark

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
2021-06-15 13:23:58 +00:00
Sergei Shulepov 5f0257f3b3 Test restoring zeroed data (#9011)
* Test restoring zeroed data

* Change to u64
2021-06-15 10:58:09 +00:00
Martin Pugh 396b38b355 Bump version, spec_version & substrate in prep for release v0.9.5 (#3238)
* bump spec_version and version

* bump substrate

* remove migrations

* Revert "remove migrations"

This reverts commit ceeab924d1cd5c2d3d05f24ab28315f0566f89d8.

* remove stale migration for kusama + westend
2021-06-14 23:10:45 +02:00
Sergei Shulepov 3df32a5411 Decommit instance memory after a runtime call on Linux (#8998)
* Decommit instance memory after a runtime call on Linux

* Update documentation for the test

* Remove unfinished comment

* Use saturating_sub.

Also update the doc comment.

* Precise RSS tracking in the test

Instead of tracking RSS for the whole process we just look at the particular mapping that is associated with the linear memory of the runtime instance

* Remove unused import

* Fix unused imports

* Fix the unused imports error for good

* Rollback an accidental change to benches

* Fix the test

* Remove now unneeded code
2021-06-14 21:07:06 +00:00
André Silva d8d61bad36 implement dispute participation subsystem (#3234)
* implement dispute participation subsystem

* guide: minor fix in dispute participation

* Update node/core/dispute-participation/src/lib.rs

Co-authored-by: Andronik Ordian <write@reusable.software>

* dispute: add comments to participation logic

* dispute-coordinator: fix test compilation

* implementers-guide: update dispute participation

* dispute-participation: add error for missing validation code

* dispute-participation: add tests

* Update node/core/dispute-participation/src/lib.rs

Co-authored-by: Robert Habermeier <rphmeier@gmail.com>

* guide: update overseer protocol dispute participation message

* dispute-participation: remove duplication in tests

Co-authored-by: Andronik Ordian <write@reusable.software>
Co-authored-by: Robert Habermeier <rphmeier@gmail.com>
2021-06-14 15:41:02 -05:00
Guillaume Thiolliere 65d3d5d4ab execute system integrity_test also (#9104) 2021-06-14 21:31:04 +01:00
Guillaume Thiolliere fdc29180f6 improve variable name (#9108) 2021-06-14 21:16:58 +02:00
Shawn Tabrizi 2a792b48e7 FallbackStrategy::Nothing (#3088) 2021-06-14 19:10:41 +00:00
Guillaume Thiolliere 364a8d751d fix test (#3240) 2021-06-14 12:56:36 -05:00
Robert Habermeier faf42fc29d Better metrics for approval voting (#3247)
* add more information about what's happening during approval work

* record assignment tranches in histogram
2021-06-14 17:28:22 +00:00
Robert Habermeier 659a04cad6 use correct unbounded meter for statement distribution (#3245) 2021-06-14 15:42:04 +00:00
Guillaume Thiolliere 0ca6ee45b5 companion for staking/election: prolonged era and emergency mode for governance submission. (#3201)
* companion

* update Substrate

Co-authored-by: parity-processbot <>
2021-06-14 14:33:55 +00:00
Guillaume Thiolliere ebf5e771fc staking/election: prolonged era and emergency mode for governance submission. (#8912)
* Implementation but weird initial era in tests

* Emergency mode for elections. (#8918)

* do some testing, some logging.

* some testing apparatus

* genesis election provider (#8970)

* genesis election provider

* fix historical stuff

* Fix test

* remove dbg

* Apply suggestions from code review

Co-authored-by: Zeke Mostov <32168567+emostov@users.noreply.github.com>
Co-authored-by: Peter Goodspeed-Niklaus <coriolinus@users.noreply.github.com>

* capitalize comment and name without conflict

* fix log

* Update frame/election-provider-multi-phase/src/lib.rs

* Update frame/election-provider-multi-phase/src/lib.rs

Co-authored-by: Peter Goodspeed-Niklaus <coriolinus@users.noreply.github.com>

* apply suggestion on tests

* remove testing modifications

* Apply suggestions from code review

Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
Co-authored-by: Dmitry Kashitsyn <korvin@deeptown.org>

* apply suggestion

* fix master merge

Co-authored-by: kianenigma <kian@parity.io>
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
Co-authored-by: Zeke Mostov <32168567+emostov@users.noreply.github.com>
Co-authored-by: Peter Goodspeed-Niklaus <coriolinus@users.noreply.github.com>
Co-authored-by: Dmitry Kashitsyn <korvin@deeptown.org>
2021-06-14 14:02:45 +00:00
Qinxuan Chen e05bd988ed Companion for #9061 (#3200)
* migrate pallet-randomness-collective-flip to new pallet attr macro

Signed-off-by: koushiro <koushiro.cqx@gmail.com>

* fix some nits

Signed-off-by: koushiro <koushiro.cqx@gmail.com>

* fix

Signed-off-by: koushiro <koushiro.cqx@gmail.com>

* some nits

Signed-off-by: koushiro <koushiro.cqx@gmail.com>

* update Substrate

Co-authored-by: parity-processbot <>
2021-06-14 11:29:39 +00:00
h4x3rotab cd52b3f2bc Improve construct_runtime doc (#9096)
- Mention when the pallet definition parts are needed
- Rename "module" to "pallet"
2021-06-14 11:22:39 +00:00
Qinxuan Chen 6b33a79831 Migrate pallet-randomness-collective-flip to pallet attribute macro (#9061)
* migrate pallet-randomness-collective-flip to pallet attribute macro

Signed-off-by: koushiro <koushiro.cqx@gmail.com>

* fix some nits

Signed-off-by: koushiro <koushiro.cqx@gmail.com>

* remove some spacing things

Signed-off-by: koushiro <koushiro.cqx@gmail.com>

* remove space

Signed-off-by: koushiro <koushiro.cqx@gmail.com>

* use tabs

Signed-off-by: koushiro <koushiro.cqx@gmail.com>
2021-06-14 11:00:32 +00:00
Keith Yeung c2f13a03a8 Allow renaming storage item prefixes (#9016)
* Implement parsing for #[pallet::storage_name] on storage items

* Rename storage prefix when a #[pallet::storage_name] is supplied

* Fix test_storage_info

* Rename storage_name to storage_prefix

* Check for duplicates when renaming storage prefixes

* Allow only string literals for storage_prefix renames

* Use proper spans for attribute errors

* Check for valid identifiers when parsing storage prefix renames
2021-06-14 10:07:09 +00:00
Peter Goodspeed-Niklaus 0975a92818 fix ordering of staking weight arguments (#9063)
Closes #9054.
2021-06-14 09:16:14 +02:00
Andronik Ordian 93e42fb213 approval votes checking logs (#3233)
* approval-voting: logs for invalid votes

* proper errors for assignment checks

* proper errors for approval checks
2021-06-13 15:34:05 +00:00
Robert Habermeier 4797fb7dfb use fresh_start in rolling window error (#3229) 2021-06-13 14:26:36 +00:00
Robert Habermeier 428a4178ff add metric for timing recovery and approval (#3228) 2021-06-13 11:55:21 +00:00
Bastian Köcher 45f8b6e91f pallet-authorship: Fixing some nitpicks (#9095)
As reviewing the pallet yesterday, I have found some nitpicks that I
fixed.
2021-06-13 11:41:13 +00:00
Robert Habermeier 5bc2b2779d Dispute Coordinator Subsystem (#3150)
* skeleton for dispute-coordinator

* add coordinator and participation message types

* begin dispute-coordinator DB

* functions for loading

* implement strongly-typed DB transaction

* add some tests for DB transaction

* core logic for pruning

* guide: update candidate-votes key for coordinator

* update candidate-votes key

* use big-endian encoding for session, and implement upper bound generator

* finish implementing pruning

* add a test for note_current_session

* define state of the subsystem itself

* barebones subsystem definition

* control flow

* more control flow

* implement session-updating logic

* trace

* control flow for message handling

* Update node/core/dispute-coordinator/src/lib.rs

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

* Update node/subsystem/src/messages.rs

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

* some more control flow

* guide: remove overlay

* more control flow

* implement some DB getters

* make progress on importing statements

* add SignedDisputeStatement struct

* move ApprovalVote to shared primitives

* add a signing-payload API to explicit dispute statements

* add signing-payload to CompactStatement

* add relay-parent hash to seconded/valid dispute variatns

* correct import

* type-safe wrapper around dispute statements

* use checked dispute statement in message type

* extract rolling session window cache to subsystem-util

* extract session window tests

* approval-voting: use rolling session info cache

* reduce dispute window to match runtime in practice

* add byzantine_threshold and supermajority_threshold utilities to primitives

* integrate rolling session window

* Add PartialOrd to CandidateHash

* add Ord to CandidateHash

* implement active dispute update

* add dispute messages to AllMessages

* add dispute stubs to overseer

* inform dispute participation to participate

* implement issue_local_statement

* implement `determine_undisputed_chain`

* fix warnings

* test harness for dispute coordinator tests

* add more helpers to test harness

* add some more helpers

* some tests for dispute coordinator

* ignore wrong validator indices

* test finality voting rule constraint

* add more tests

* add variants to network bridge

* fix test compilation

* remove most dispute coordinator functionality

as of #3222 we can do most of the work within the approval voting subsystem

* Revert "remove most dispute coordinator functionality"

This reverts commit 9cd615e8eb6ca0b382cbaff525d813e753d6004e.

* Use thiserror

Co-authored-by: Bernhard Schuster <bernhard@ahoi.io>

* Update node/core/dispute-coordinator/src/lib.rs

Co-authored-by: Bernhard Schuster <bernhard@ahoi.io>

* extract tests to separate module

* address nit

* adjust run_iteration API

Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>
Co-authored-by: Bernhard Schuster <bernhard@ahoi.io>
2021-06-13 06:35:18 -05:00
chenwei df0a50f966 Make find_proxy public. (#9094)
export `pallet_proxy::find_prox` and `ProxyDefinition`.
2021-06-13 12:27:54 +02:00
Lldenaurois 2d04fa8717 Add function to test whether function is exported in wasm blob (#9093)
* Add function to test whether function is exported in wasm blob

* Address Feedback

* Update based on feedback
2021-06-13 12:24:05 +02:00
Bastian Köcher 80b739d886 Make sure system tests are checking for the correct result (#491) 2021-06-13 12:23:13 +02:00
Xiliang Chen e508536ca4 remove Default from AssetId trait bound (#9062)
* update AssetId trait

* try again
2021-06-13 06:26:42 +00:00
Andrew Jones 02930e098b Allow additional trait bounds for #[pallet::constant] (#9050)
* Allow additional trait bounds for constants

* Add ui test for constants with additional trait bounds

* Update trait constant ui test

* Import syn::Error

* Use reference instead of cloning

* Add extra invalid bound ui test

* Out or order valid bounds

* Fix ui test

* Fix ui test

* Apply review suggestion about error message
2021-06-13 02:36:36 +02:00
Alan Sapede 945bf4f2c1 Adds moonbeam, moonriver to ss58 registry (#9028)
* Adds moonream, moonriver to ss58 registry

* Fixes names
2021-06-13 02:31:53 +02:00
Bastian Köcher 2dc281b482 Bring support for calling check_inherents (#490)
* Start

* More work

* Add proc-macro for `validate_block`

* Make everything compile

* Add some test
2021-06-12 20:21:46 +02:00
Shawn Tabrizi 7f344df160 Companion for #9085 (pub calls) (#3214)
* update to use pub dispatchables

* update Substrate

* Update claims.rs

* remove warning

Co-authored-by: parity-processbot <>
2021-06-12 19:13:16 +01:00
André Silva 097cadca19 create newtype for ValidationCodeHash (#3212)
* create newtype for ValidationCodeHash

* pvf: fix tests compilation

* primitives: fix test compilation
2021-06-12 16:44:07 +00:00
Shaun Wang 693302bee0 Update claims pallet to FRAME v2 (#3032)
* Migrate claims pallet to pallet attribute macro.

* Trigger CI.

* Update runtime/common/src/claims.rs

Co-authored-by: Keith Yeung <kungfukeith11@gmail.com>

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com>
2021-06-12 16:26:52 +00:00
Guillaume Thiolliere d31e607bda Enforce pub calls in pallets (#9085)
* make all extrinsics public so they are available from outside

* Impl

* fix

* more fix

* more pub

* few more

* merge fix

* fix ui test

* fix ui test

Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
Co-authored-by: Bastian Köcher <info@kchr.de>
2021-06-12 16:15:21 +00:00
André Silva f21243e4e5 im-online: send heartbeats at a random period (#8819)
* im-online: send heartbeats at a random period

* support: use permill to represent session progress

* im-online: increase probability of heartbeating with session progress

* babe, session: fix tests

* babe: fix test
2021-06-12 15:58:36 +00:00
Andronik Ordian b79f0ae6af fix connections leak (#3219)
* fix connections leak

* fix compilation
2021-06-12 17:35:14 +02:00