Commit Graph

219 Commits

Author SHA1 Message Date
Robert Klotzner 55154a8d37 Remove request multiplexer (#3624)
* WIP: Get rid of request multiplexer.

* WIP

* Receiver for handling of incoming requests.

* Get rid of useless `Fault` abstraction.

The things the type system let us do are not worth getting abstracted in
its own type. Instead error handling is going to be merely a pattern.

* Make most things compile again.

* Port availability distribution away from request multiplexer.

* Formatting.

* Port dispute distribution over.

* Fixup statement distribution.

* Handle request directly in collator protocol.

+ Only allow fatal errors at top level.

* Use direct request channel for availability recovery.

* Finally get rid of request multiplexer

Fixes #2842 and paves the way for more back pressure possibilities.

* Fix overseer and statement distribution tests.

* Fix collator protocol and network bridge tests.

* Fix tests in availability recovery.

* Fix availability distribution tests.

* Fix dispute distribution tests.

* Add missing dependency

* Typos.

* Review remarks.

* More remarks.
2021-08-12 13:11:36 +02:00
Marek Kotewicz 276dc1981e companion pr for substrate:auto_db (#3590)
* companion pr for substrate:auto_db

* update Substrate

Co-authored-by: parity-processbot <>
2021-08-09 13:59:48 +00:00
Bastian Köcher 7dc036d6d2 Substrate companion #9491 (#3568)
* Substrate companion #9491

https://github.com/paritytech/substrate/pull/9491

* update Substrate

* Fix build

Co-authored-by: parity-processbot <>
2021-08-04 17:56:16 +00:00
Shawn Tabrizi ff5d56fb76 cargo +nightly fmt (#3540)
* cargo +nightly fmt

* add cargo-fmt check to ci

* update ci

* fmt

* fmt

* skip macro

* ignore bridges
2021-08-02 10:47:33 +00:00
Arkadiy Paronyan 30e3012270 Companion PR for warp sync support. (#3382)
* Update for the new GrandpaAPI

* Update substrate

* Update substrate
2021-08-02 09:59:50 +00:00
Squirrel 4c5b73097c Companion for substrate #9319 (#3456)
* move client consensus code out of primitives

* merging crates

* import tweak

* Fixing build: ServiceFactory is a word...

* updating lock file

* Fixed typo in error message

(to bump build)

* update Substrate

Co-authored-by: parity-processbot <>
2021-07-30 14:02:43 +00:00
ferrell-code 84ca3b2b3b Parachains configuration.rs FrameV2 (#3516)
* migration

* genesis build correctly

* migrate runtimes

* add genesis builds

* expose GenesisBuild

* chainspec migration

* fmt

* check before insert

* Reduce visibility of storage items to crate

Co-authored-by: Keith Yeung <kungfukeith11@gmail.com>
2021-07-28 04:56:35 +00:00
Bernhard Schuster 6519ba987c integrate dispute finality (#3484)
* finality_target adjustments

* fn finality_target

* partially address review comments

* fixins

* more rustic if condition

* fix tests

* fixins

* Update node/core/approval-voting/src/lib.rs

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

* Update node/core/approval-voting/src/lib.rs

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

* review comments part one

* rename candidates -> block_descriptions

* testing outline (incomplete, WIP)

* test foo

* split RelayChainSelection into RelayChainSelection{,WithFallback}, introduce HeaderProvider{,Provider}

* make some stuff public (revert this soon™)

* some test improvements

* slips of pens

* test fixins

* add another trait abstraction

* pending edge case tests + warnings fixes

* more test cases

* fin

* chore fmt

* fix cargo.lock

* Undo obsolete changes

* // comments

* make mod pub(crate)

* fix

* minimize static bounds

* resolve number() as before

* fmt

* post merge fix

* address some nits

Co-authored-by: Andronik Ordian <write@reusable.software>
Co-authored-by: Robert Habermeier <rphmeier@gmail.com>
2021-07-26 17:54:50 +02:00
Andronik Ordian bd9b743872 enable disputes (#3478)
* initial integration and migration code

* fix tests

* fix counting test

* assume the current version on missing file

* use SelectRelayChain

* remove duplicate metric

* Update node/service/src/lib.rs

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

* remove ApprovalCheckingVotingRule

* address my concern

* never mode for StagnantCheckInterval

* REVERTME: some logs

* w00t

* it's ugly but it works

* Revert "REVERTME: some logs"

This reverts commit e210505a2e83e31c381394924500b69277bb042e.

* it's handle, not handler

* fix a few typos

Co-authored-by: Robert Habermeier <rphmeier@gmail.com>
2021-07-26 14:46:31 +02:00
Andreas Doerr 310aa6f321 Add wococo-local chain spec (#3509) 2021-07-21 22:19:26 +02:00
Denis Pisarev fc253e6e4d WIP: CI: add spellcheck (#3421)
* CI: add spellcheck

* revert me

* CI: explicit command for spellchecker

* spellcheck: edit misspells

* CI: run spellcheck on diff

* spellcheck: edits

* spellcheck: edit misspells

* spellcheck: add rules

* spellcheck: mv configs

* spellcheck: more edits

* spellcheck: chore

* spellcheck: one more thing

* spellcheck: and another one

* spellcheck: seems like it doesn't get to an end

* spellcheck: new words after rebase

* spellcheck: new words appearing out of nowhere

* chore

* review edits

* more review edits

* more edits

* wonky behavior

* wonky behavior 2

* wonky behavior 3

* change git behavior

* spellcheck: another bunch of new edits

* spellcheck: new words are koming out of nowhere

* CI: finding the master

* CI: fetching master implicitly

* CI: undebug

* new errors

* a bunch of new edits

* and some more

* Update node/core/approval-voting/src/approval_db/v1/mod.rs

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

* Update xcm/xcm-executor/src/assets.rs

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

* Apply suggestions from code review

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

* Suggestions from the code review

* CI: scan only changed files

Co-authored-by: Andronik Ordian <write@reusable.software>
2021-07-14 19:22:58 +02:00
Robert Klotzner b5257b2407 Dispute distribution implementation (#3282)
* Dispute protocol.

* Dispute distribution protocol.

* Get network requests routed.

* WIP: Basic dispute sender logic.

* Basic validator determination logic.

* WIP: Getting things to typecheck.

* Slightly larger timeout.

* More typechecking stuff.

* Cleanup.

* Finished most of the sending logic.

* Handle active leaves updates

- Cleanup dead disputes
- Update sends for new sessions
- Retry on errors

* Pass sessions in already.

* Startup dispute sending.

* Provide incoming decoding facilities

and use them in statement-distribution.

* Relaxed runtime util requirements.

We only need a `SubsystemSender` not a full `SubsystemContext`.

* Better usability of incoming requests.

Make it possible to consume stuff without clones.

* Add basic receiver functionality.

* Cleanup + fixes for sender.

* One more sender fix.

* Start receiver.

* Make sure to send responses back.

* WIP: Exposed authority discovery

* Make tests pass.

* Fully featured receiver.

* Decrease cost of `NotAValidator`.

* Make `RuntimeInfo` LRU cache size configurable.

* Cache more sessions.

* Fix collator protocol.

* Disable metrics for now.

* Make dispute-distribution a proper subsystem.

* Fix naming.

* Code style fixes.

* Factored out 4x copied mock function.

* WIP: Tests.

* Whitespace cleanup.

* Accessor functions.

* More testing.

* More Debug instances.

* Fix busy loop.

* Working tests.

* More tests.

* Cleanup.

* Fix build.

* Basic receiving test.

* Non validator message gets dropped.

* More receiving tests.

* Test nested and subsequent imports.

* Fix spaces.

* Better formatted imports.

* Import cleanup.

* Metrics.

* Message -> MuxedMessage

* Message -> MuxedMessage

* More review remarks.

* Add missing metrics.rs.

* Fix flaky test.

* Dispute coordinator - deliver confirmations.

* Send out `DisputeMessage` on issue local statement.

* Unwire dispute distribution.

* Review remarks.

* Review remarks.

* Better docs.
2021-07-09 04:29:53 +02:00
Bernhard Schuster 3c9104daff refactor overseer into proc-macro based pattern (#2962) 2021-07-08 21:09:26 +02:00
Svyatoslav Nikolsky 04ac35e127 Enable over-bridge-messaging in Rococo/Wococo runtime (#3377)
* bridges in W<>R

* fix node compilation

* Update runtime/rococo/src/bridge_messages.rs

Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com>

* Update runtime/rococo/src/bridge_messages.rs

Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com>

* Update runtime/rococo/src/bridge_messages.rs

Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com>

* Update runtime/rococo/src/bridge_messages.rs

Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com>

* long line fix

* comment/remove -> comment/#[ignore]

* explicit instances

Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com>
2021-07-06 10:03:12 +00:00
ferrell-code 39969ca536 paras.rs to FRAME V2 (#3403)
* to v2 macro

* line width

* fix mock

* actually compile moxk

* compile tests

* add hooks

* origin back in mocks

* assimilate_storage

* add generic

* maybe mock compiles now

* origin between parachain and system causing problem

* change origin

* type alias as origin

* keep origin

* add aliases to tests

* remove unnecessary imports

* Parachain -> Paras

* paras test

* nvm

* use genesis build in mock
2021-07-06 00:24:27 +00:00
Andronik Ordian 373a545118 make it easier to dbg stalls (#3351)
* make it easier to dbg

* revert channel sizes

* BAnon
2021-07-02 21:09:18 +02:00
Kian Paimani 505145efd3 Staking Miner (#3141)
Co-authored-by: Peter Goodspeed-Niklaus <coriolinus@users.noreply.github.com>
Co-authored-by: Peter Goodspeed-Niklaus <peter.r.goodspeedniklaus@gmail.com>
2021-07-01 20:22:35 +01:00
Andronik Ordian 30ebd26558 disable approval-checking-grandpa on dev chain (#3364) 2021-06-28 11:57:14 +02:00
Robert Habermeier b57b9cf7dc SelectChain implementation for relay chains (#3341)
* stubbed SelectRelayChain

* disconnected overseer handlers

* add is_disconnected

* add fallback in case overseer is disconnected

* fall back on fallback

* fetch leaves by calling into chain-selection subsystem

* implement best_chain

* mostly implement finality_target

* chain constrain

* metrics and maximum safeguard

* remove review comment after review
2021-06-22 18:41:54 -05:00
Shawn Tabrizi 6b1baba490 Use max_code_size and max_wasm_data_size from Parachains Configuration (#3329)
* use `configuration::config()` for max bytes

* Update integration_tests.rs

* Update paras_registrar.rs

* remove consts

* add asserts for non-zero

* more const clean up

* cargo run --release --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=runtime_common::paras_registrar --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/runtime_common_paras_registrar.rs

* cargo run --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=runtime_common::paras_registrar --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/runtime_common_paras_registrar.rs

* add checks to `MAX_CODE_SIZE`

* re-pot MAX_POV_SIZE

* check pov limit in runtime

* POV_BOMB_LIMIT multiplier

* fix compile

* Update configuration.rs

* Update node/primitives/src/lib.rs

* fix test

Co-authored-by: Parity Bot <admin@parity.io>
2021-06-21 17:24:49 +00:00
Andronik Ordian e74181b16f disable approval-checking voting rule (#3321) 2021-06-20 20:46:04 +00:00
André Silva fc7f6dbfd9 Companion for substrate#9128 (#3268)
* support async selectchain

* update Substrate

Co-authored-by: parity-processbot <>
2021-06-20 11:39:20 +00:00
André Silva 85936d2862 Companion for substrate#9138 (#3294)
* fix babe params

* update Substrate

Co-authored-by: parity-processbot <>
2021-06-19 21:08:00 +00:00
Andreas Doerr be2d1ce01b Bump BEEFY (#3302) 2021-06-19 17:46:06 +02:00
Bernhard Schuster 44a8aa23d5 malus - mockable overseer mvp (#3224) 2021-06-16 12:45:21 +02:00
Bastian Köcher c8cf749aab Substrate companion #9074 (#3204)
* Substrate companion #9074

* update Substrate

Co-authored-by: parity-processbot <>
2021-06-11 17:52:31 +00:00
Keith Yeung 99d49ad7c9 Companion for #8990 (#3194)
* Use new naming scheme for all Event enums generated by construct_runtime

* Use new naming scheme for all GenesisConfig fields generated by construct_runtime

* Fix overlooked GenesisConfig field renaming

* update Substrate

Co-authored-by: parity-processbot <>
2021-06-09 10:07:04 +00:00
Bastian Köcher f6cbe8e8d8 polkadot-service: Make native runtime configurable (#3189)
* polkadot-service: Make native runtime configurable

This pull requests adds support for configuring the native runtimes used
by polkadot-service. While this whole pr doesn't change that much for
polkadot, besides not having the light-node enabled for the default
polkadot binary. However, downstream projects (parachains) will have a
much better compile time. In cumulus for example the `cargo test --all
--release` is about 4m faster to compile.

* Fixes

* Fix

* Enable rococo-native

* Fix light client

* 🤦

* Fixes
2021-06-08 22:05:20 +02:00
Lldenaurois 2abaca3a8c Remove candidate selection (#3148)
* Create validator_side module

* Subsume Candidate Selection

* Add test to ensure candidate backing logic is correct

* Ensure secondings are adequately cleaned up and address test flakyness

* Address Feedback
2021-06-08 14:07:19 -04:00
André Silva 6f29754cce node: fix grandpa voting rule (#3190)
* node: fix grandpa voting rule

* node: cleanup find_target
2021-06-07 14:45:27 -05:00
André Silva 9c014f7c8b node: fix babe worker params (#2956)
* node: fix babe worker params

* update Substrate

Co-authored-by: parity-processbot <>
2021-06-04 22:01:09 +00:00
Robert Habermeier 3bc3856544 impose minimum limitation on explicit votes too (#3181) 2021-06-04 18:05:23 +00:00
Robert Habermeier b5e49c03ec put a cap on finality lag (#3175)
* put a cap on finality lag

* Update node/service/src/grandpa_support.rs

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

* apply lag to best, not to current vote

Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>
2021-06-04 15:49:27 +00:00
Arkadiy Paronyan 8223d3ae71 Update for the new substrate client API (#2890)
* Update for the new substrate client API

* update Substrate

Co-authored-by: parity-processbot <>
2021-06-04 07:21:46 +00:00
Gavin Wood 53de6871e0 Fix teleport accounting and add some events (#3167)
* Stuff to help inspect the DMP activity

* Fix teleport accounting

* Fixes

* Fixes

* Fixes

* Fixes
2021-06-03 15:39:08 +02:00
Robert Habermeier 6b166a7a1f fix approval-checking GRANDPA voting rule (#3133)
* fix approval-checking GRANDPA voting rule

a `None` return value implies to vote on the best, not to vote on the base.

this explicitly changes the logic to vote on the base

* refactor logic out and test
2021-05-31 10:45:16 -05:00
Bastian Köcher cc0457423c Use proper host configuration everywhere (#3130)
* Use proper host configuration everywhere

* Fix dumb errors
2021-05-28 21:41:24 +02:00
Xiliang Chen cc0466c84c enable Config for Paras on Kusama & Westend (#3129)
* enable Config for Paras

* fix
2021-05-28 10:52:32 +02:00
Roman Proskuryakov 3d04a0cce0 Companion PR for #8748 (#2990)
* Replace NetworkStatusSinks with Arc<NetworkService>

* update Substrate

Co-authored-by: parity-processbot <>
2021-05-27 14:27:52 +00:00
André Silva e3edb71ed7 grandpa: enable observer for light client (#3019)
* grandpa: enable observer for light client

* update Substrate

* service: fix missing import

* runtime: bump spec versions

Co-authored-by: parity-processbot <>
2021-05-26 17:22:15 +00:00
Bastian Köcher 7f34d76fd4 Add UsageProvider trait to AbstractClient (#3106)
* Add `UsageProvider` trait to `AbstractClient`

* Fix
2021-05-26 13:15:45 +02:00
Bernhard Schuster e8652e73db cargo spellcheck (#3067) 2021-05-22 00:15:47 +00:00
Bastian Köcher 6a0b7b4164 Add AuxStore as super trait of AbstractClient (#3066) 2021-05-20 15:28:41 +02:00
Hernando Castano 9507266960 Add Bridge Header Sync to Rococo Runtime (#2983)
* Add bridges code to workspace

* Add Rococo and Wococo bridge instances to Rococo runtime

* Add Rococo and Wococo runtime APIs

* Add GenesisConfig parameters for bridge pallet

* Update Rococo spec_version used by bridge relayer

* Add scripts for running Rococo and Wococo dev nodes

* Add scripts for running Rococo<>Wococo header sync

* Apply patch for build artifact location

* Remove bridges crates from workspace

* Downgrade async related dependencies

* Change bridge pallet owner to be `root_key`

* Bump number of `MaxRequests` allowed

* Revert changes in `bridges` subtree folder

* Use correct account for Sudo

* Add comment explaining duplicate bridge pallets

* Remove WeightInfo comment.

Co-authored-by: Tomasz Drwięga <tomasz@parity.io>
2021-05-13 15:09:17 +00:00
Sergei Shulepov 0e6c96a8b6 Support opening HRMP channels in genesis (#3003) 2021-05-13 10:54:30 +02:00
Andreas Doerr ea42f734dc Use BeefyParams (#3013) 2021-05-12 14:03:48 +00:00
Gavin Wood bc6efb0480 Initial integration of Gilts pallet (Kusama) (#2587)
* Initial integration of Gilts pallet (Kusama)

* Fixes

* Fixes

* Fixes

* Fixes

* Fixes

* Fixes

* cargo run --release --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=pallet_gilt --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/

* Use real weights

* Update lock

* Merge

* Fixes

* Add working.

* Add proper curve arithmetic

* Fixes

* Fixes

* Make build

* Fixes

* Fixes

* Fix build

* remove dep.

* undo dep.

* upadte substrate

* Fix

* Bump Substrate

* Fixes

* Fixes

* Fix test

* Remove cap and some tests

* Fixes

* Fixes

* Update runtime/kusama/src/lib.rs

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

* bump the lock file

* Fixes

* Fixes

* Fixes

* Fixes

* Fixes

* Fixes

* Fixes

* Fixes

* Fixes

Co-authored-by: Parity Benchmarking Bot <admin@parity.io>
Co-authored-by: kianenigma <kian@parity.io>
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
2021-05-11 15:40:24 +02:00
Andreas Doerr aa51cddf47 Add --no-beefy CLI flag (#2981)
* Add --disable-beefy CLI flag

* Update cli/src/command.rs

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

* Update node/test/service/src/lib.rs

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

* Update parachain/test-parachains/adder/collator/src/main.rs

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

* Update cli/src/command.rs

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

* Update cli/src/cli.rs

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

* Update cli/src/cli.rs

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

* Update cli/src/cli.rs

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

Co-authored-by: Andronik Ordian <write@reusable.software>
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>
2021-05-10 17:13:21 +00:00
André Silva bbf0812994 runtime: remove beefy and mmr from westend (again) (#2972)
* runtime: remove beefy and mmr from westend (again)

* node: add borked westend runtime upgrade as bad block
2021-05-04 10:16:20 +00:00
Bastian Köcher 7830bae524 Companion for Substrate#8526 (#2845)
* Update branch

* Make it compile

* Compile

* gate approval-checking logic (#2470)

* Fix build

* Updates

* Fix merge

* Adds missing crate

* Companion for Substrate#8386

https://github.com/paritytech/substrate/pull/8386

* Fix fix fix

* Fix

* Fix compilation

* Rewrite to `ParachainsInherentDataProvider`

* Make it compile

* Renamings

* Revert stuff

* Remove stale file

* Guide updates

* Update node/core/parachains-inherent/src/lib.rs

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

* Update node/core/parachains-inherent/src/lib.rs

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

* Apply suggestions from code review

* Reset accidental changes

* More

* Remove stale file

* update Substrate

Co-authored-by: Robert Habermeier <rphmeier@gmail.com>
Co-authored-by: Andronik Ordian <write@reusable.software>
Co-authored-by: parity-processbot <>
2021-05-03 15:21:13 +00:00