Commit Graph
100 Commits
Author SHA1 Message Date
Bastian Köcher 32687126c6 Fix master build (#5005) 2022-02-28 18:52:45 +00:00
Bastian Köcher 4028ca105b Try to fix disputes test (#4988)
* Try to fix disputes test

* Enable all native runtimes
2022-02-25 16:01:23 +01:00
Bastian Köcher d9d53c17a1 Switch to edition 2021 (#4976)
* Switch to edition 2021

* Reset bridges

* Fix compilation

* Fix test-runtime

* Fix malus
2022-02-24 10:20:58 +00:00
Bastian Köcher c40c4bcbe9 Companion CI: Make sure to pass the update crates properly (#4928) 2022-02-16 12:02:04 +01:00
Bastian Köcherandparity-processbot 217d5275c4 Companion for Remove u32_trait (#4920)
* Companion for `Remove u32_trait`

* update lockfile for {"substrate"}

* FMT

Co-authored-by: parity-processbot <>
2022-02-14 22:56:35 +01:00
Bastian Köcher f3f18ace7d Remove node-primitives (#4877)
This is some Substrate crate that shouldn't be used outside of Substrate.
2022-02-08 23:48:12 +01:00
Bastian Köcher bb69c82cc5 collation-generation: Support compressed PoVs directly (#4825)
This adds support for returning a compressed PoV directly to the
collation generation. This is mainly to not requiring to compress a PoV
twice.
2022-02-07 20:14:08 +01:00
Bastian Köcher 59cddb9f23 Forward enable_overseer_always (#4858)
Cumulus actually uses the `build_full` function. I missed that.
2022-02-07 16:05:53 +00:00
Bastian Köcher 109f73092f Fix tests (#4787) 2022-01-26 12:35:09 +00:00
Bastian Köcher ef13a0ab8d Companion for Substrate#10655 (#4765)
* Companion for Substrate#10655

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

This removes the last usages of `Default` in conjunction with `AccountId`

* More fixes

* More of them!

* FMT

* Update Substrate
2022-01-21 20:14:09 +00:00
Bastian Köcher 8756678a83 polkadot-test-service: Enable wasmtime feature (#4762)
We use the `Compiled` wasm execution and for that the `wasmtime` needs
to be enabled.
2022-01-21 15:18:21 +00:00
Bastian Köcher 550e81b63f Check that try-runtime compiles in CI (#4736)
It also moves some simple scripts directly into the .gitlab.yaml file.
2022-01-18 16:17:07 +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
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öcherandSanti Balaguer 1d80a05ff0 Relaunch Rococo (#4577)
* changed Rococos epoch to 1h

* Changed assigned_slots parameters to match ecosystem needs

* Update rococo chain spec

Co-authored-by: Santi Balaguer <santiago.balaguer@gmail.com>
2021-12-25 08:46:51 +01:00
Bastian Köcher b409837b70 Fix checking for the ParachainHost runtime api (#4594)
The function `has_api` checks that the api + version matches, which
isn't true anymore after bumping the version. The fix is to just compare
the runtime api version being at least `1`.
2021-12-23 20:27:03 +01:00
Bastian Köcher 97506a15c9 runtime-api: Fix runtime version checking (#4595)
The runtime version check `runtime_version <= version` was wrong, it
needs to be `>=`. Besides that the `WIDELY_DEPLOYED_API_VERSION` is
removed. The runtime version is already cached, aka we don't always call
into the runtime when requesting the runtime version. So, there is no
need to "optimize" this.
2021-12-23 20:26:40 +01:00
Bastian Köcherandparity-processbot a805a1a045 Substrate companion for change slot duration fetching (#4556)
* Substrate companion for change slot duration fetching

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

* Fix bridges

* update lockfile for substrate

Co-authored-by: parity-processbot <>
2021-12-20 20:22:29 +00:00
Bastian Köcherandthiolliere 9a94aa5a09 Substrate companion for #10470 (#4515)
* Substrate companion for #10470

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

* cargo update -p sp-io

Co-authored-by: thiolliere <gui.thiolliere@gmail.com>
2021-12-13 08:06:48 +00:00
Bastian Köcher 3f861f4f45 Upgrade Substrate and downgrade libc (#4514)
Libc 0.2.110 was yanked, so we move one version.
2021-12-11 10:02:20 +01:00
Bastian KöcherandDenis Pisarev cb8cb7a12c Fix cumulus companion CI job (#4451)
* Fix cumulus companion CI job

* Pass by env variable

* Switch to the latest release

* Update .gitlab-ci.yml

Co-authored-by: Denis Pisarev <17856421+TriplEight@users.noreply.github.com>

Co-authored-by: Denis Pisarev <17856421+TriplEight@users.noreply.github.com>
2021-12-03 14:14:50 +01:00
Bastian Köcher 49d78d99f7 rococo-runtime: Switch to latest construct_runtime! syntax (#4389)
* rococo-runtime: Switch to latest `construct_runtime!` syntax

Besides that it fixes pallet macro errors in other crates that popped up
because of this switch.

* FMT
2021-11-29 21:36:19 +01:00
Bastian Köcher be7dedd20c Companion for Taskmanager: Remove clean_shutdown (#4336)
* Companion for Taskmanager: Remove `clean_shutdown`

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

* Update Substrate

* Remove warning
2021-11-19 22:23:35 +01:00
Bastian Köcher ef3addb6a2 Dependabot: Ignore sub-tokens (#4328) 2021-11-19 13:42:24 +00:00
Bastian Köcher 620a4e45de Substrate companion: Authority discovery multiple peer ids (#4295)
* Substrate companion: Authority discovery multiple peer ids

Authority discovery before had a fixed mapping from `PeerId` to
`AuthorityId`. This wasn't correct, as a `PeerId` can actually map to
multiple `AuthorityId`s. The linked Substrate pr fixes this.

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

* Update node/network/availability-distribution/src/requester/mod.rs

* Update node/network/collator-protocol/src/validator_side/mod.rs

* Update node/network/statement-distribution/src/tests.rs

* Update guide

* Adapt to Substrate pr

* Update Substrate
2021-11-17 11:35:02 +01:00
Bastian Köcher ffcab0e78a Offchain: Disable http requests (#4188)
We don't use any http requests in the polkadot offchain workers.
2021-11-03 12:03:00 +01:00
Bastian Köcherandparity-processbot e0d6b95a90 Introduce OriginPrivilegeCmp (#4166)
* Introduce `OriginPrivilegeCmp`

Make use of the new `OriginPrivilegeCmp` feature of pallet scheduler.
The idea is to make sure that a council origin with more yes votes has
higher privileges than a council origin with less yes votes. This solves
a problem that happened recently on Kusama where the council tried to
cancel a scheduled task, but that required that the same council origin
was used while the cancel motion had more yes votes than the origin
motion that scheduled this task. With this origin privilege compare it
should now be solved by checking the yes votes directly.

* Feedback

* update lockfile for substrate

Co-authored-by: parity-processbot <>
2021-10-29 16:53:32 +00:00
Bastian Köcher af18e90d70 Bump spec versions (#4142) 2021-10-25 14:24:45 +02:00
Bastian Köcher 53bc313f9d Substrate companion for #9966 (#4037)
* Substrate companion for #9966

* Bump spec_versions

* Update Substrate
2021-10-08 17:29:16 +02:00
Bastian Köcher da67fd9312 Bump spec_versions (#4041) 2021-10-08 16:31:25 +02:00
Bastian Köcher dc13782f9d Fix unoccupied bitfields (#4004)
* Fix unoccupied bitfields

If there is an unoccupied bitfield set, we should just ignore it and not
keep it for the rest of the logic in `process_bitfields`.

* Bring back test, but this time corrected

* Remove incorrect code
2021-10-04 11:14:03 +00:00
Bastian Köcher e5cd5db383 Remove incorrect proof about Jemalloc (#3982)
* Remove incorrect proof about Jemalloc

The truth is that Jemalloc is not always the default allocator. This is
only true for the polkadot binary.

* Fmt

* Rephrase
2021-10-01 11:55:22 +02:00
Bastian Köcher c3a8d35d1b Fix master compilation (#3977) 2021-09-30 12:16:42 +00:00
Bastian Köcherandparity-processbot c752b5d61b Substrate Companion for #9552 (#3834)
* Prepare for wasmtime 0.29

* update Substrate

* Use Pallet

Co-authored-by: parity-processbot <>
2021-09-29 13:29:33 +00:00
Bastian Köcher 5514e637ac Do not compile wasm_api module when not needed. (#3934)
This otherwise generates some warnings which leads to errors in CI:
https://gitlab.parity.io/parity/cumulus/-/jobs/1141589
2021-09-26 11:21:22 +02:00
Bastian Köcher 4f9ec3149c Ignore generate-bags by dependabot (#3930) 2021-09-25 20:16:15 +00:00
48b19bb319 Substrate Companion for rust 1.54 (#3807)
* Substrate Companion for rust 1.54

* CI: run with a staging CI image

* Revert "CI: run with a staging CI image"

This reverts commit f3b51da0a4c0ffa43b576af5482a2be256948870.

* CI: debug, again

* compilation fixes

* tabify

* update Substrate

* Update .gitlab-ci.yml

* CI: add ubuntu-based image with npm

Co-authored-by: Denis P <denis.pisarev@parity.io>
Co-authored-by: Andronik Ordian <write@reusable.software>
Co-authored-by: thiolliere <gui.thiolliere@gmail.com>
Co-authored-by: parity-processbot <>
2021-09-24 15:46:45 +02:00
Bastian Köcherparity-processbotkianenigma
a2cea3a314 Substrate Companion #9737 (#3830)
Co-authored-by: parity-processbot <>
Co-authored-by: kianenigma <kian@parity.io>
2021-09-12 14:25:58 +01:00
Bastian Köcher c318bebb4a Ensure that para_head hash matches the actual head (#3808)
* Ensure that `para_head` hash matches the actual head

This ensures that the `para_head` hash in the `CandidateDescriptor`
matches the actual `head` in the candidate commitments.

* Enable the code for `no_std`

* Formatting
2021-09-07 15:07:37 +02:00
Bastian Köcher 30f3e11877 Convert rococo chainspec to raw chainspec (#3785) 2021-09-04 21:07:27 +02:00
Bastian Köcherandparity-processbot ec86d1d119 Substrate Companion #9575 (#3695)
* Upgrade to tokio 1.10

* update Substrate

* Fmt

Co-authored-by: parity-processbot <>
2021-08-24 15:25:32 +00:00
Bastian Köcherandparity-processbot dd60af513e Companion for Substrate#9547 (#3633)
* Tmp companion for Polkadot

* Moare

* update Substrate

* Update Beefy

Co-authored-by: parity-processbot <>
2021-08-13 08:07:33 +00:00
Bastian Köcher fe5c303893 Return relay_parent as result of collation seconded signal as well (#3577)
* Return `relay_parent` as result of collation seconded signal as well

Before we only returned the seconded statement. However, to verify the
statement in a future proof way, we also need the relay parent that was
used as a context to sign the statement.

* FMT
2021-08-05 14:26:02 +00:00
Bastian Köcherandparity-processbot 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
Bastian Köcher 6f418f6dcd Enable std feature to fix compilation in Cumulus (#3556) 2021-08-02 19:58:24 +00:00
Bastian Köcher 2cfda98aca Change pallet naming in test-runtime (#3551)
* Change pallet naming in test-runtime

This is required to make the `well_know_keys::ACTIVE_CONFIG` match the
`ActiveConfig` key.

* Use correct name

* 🤦
2021-08-02 10:54:54 +00:00
Bastian Köcherandparity-processbot f5a7affb94 Companion for Substrate#9165 (#3526)
* Companion for Substrate#9165

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

* update Substrate

Co-authored-by: parity-processbot <>
2021-07-27 21:58:59 +00:00
Bastian Köcher b94f294f4d Update secp256k1 and remove unrequired usage (#3502)
* Update secp256k1 and remove unrequired usage

* Rename missed old crate names

* Enable required feature
2021-07-20 12:21:27 -05:00
Bastian Köcher c4d45c97dd Enable logging in the puppet worker (#3411)
This is useful for tests where something is failing :D
2021-07-05 14:18:20 +02:00
Bastian Köcherandparity-processbot ad46aadb1a Companion for Substrate#8953 (#3140)
* Companion

* Update branch

* Update to correspond to substrate fixes

* Update cargo.lock

* Remove patches

* update Substrate

Co-authored-by: parity-processbot <>
2021-07-01 16:21:51 +00:00
Bastian Köcher e8d7e9f0dc Ensure that we fetch another collation if the first collation was invalid (#3362)
* Ensure that we fetch another collation if the first collation was invalid

* Feedback
2021-06-28 14:28:58 +02:00
Bastian Köcher 2ea1587e8d Only send one collation per relay parent at a time to validators (#3360)
* Only send one collation per relay parent at a time to validators

This changes the way we are sending collations to validators. Before we
answered every collation request immediatley. Now we only answer one
pov request at a time per relay parent. This should bring down the
bandwidth requirements and should help parachains to include bigger
blocks more easily.

* Guide updates

* Review feedback.
2021-06-28 11:07:44 +00:00
ab6c79ecb6 Use wasm-builder from git (#3354)
* Use wasm-builder from git

This brings new features like compressed runtimes out of the box.

* chore: update wasm builder dep. from 3.0.0 to master

* Fix tests

* Update node/core/pvf/tests/it/main.rs

Co-authored-by: Sergei Shulepov <sergei@parity.io>

Co-authored-by: chevdor <chevdor@gmail.com>
Co-authored-by: Sergei Shulepov <sergei@parity.io>
2021-06-28 10:34:47 +02:00
Bastian Köcher 9fa5d28e0b Only fetch one collation at a time per relay parent (#3333)
* Only fetch one collation at a time per relay parent

Before a validator would fetch all collations that were advertised to
him. This pr changes the behavior to always just fetch one collation at
a time. If fetching fails, the validator will start fetching one of the
other collations.

* Use enum to be more explicit

* Review comments
2021-06-21 19:51:31 +00:00
Bastian Köcher 3d2931ace5 Remove the streamunordered crate (#3339)
The functionality is now provided by the `futures` crate.
2021-06-21 19:48:33 +00:00
Bastian Köcher 4c6dc182b2 CLI: Add missing feature checking and check if someone passes a file (#3283) 2021-06-17 16:52:36 +02:00
Bastian Köcherandparity-processbot c8cf749aab Substrate companion #9074 (#3204)
* Substrate companion #9074

* update Substrate

Co-authored-by: parity-processbot <>
2021-06-11 17:52:31 +00:00
Bastian Köcherandparity-processbot 9a66a597af Companion for Substrate#9082 (#3208)
* Companion for Substrate#9082

* update Substrate

Co-authored-by: parity-processbot <>
2021-06-11 15:39:02 +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
Bastian Köcher 6e403ec1a4 Be more smart when loading the chain spec (#3135)
Instead of relying on the name of the chain spec file, we now use the
`is_*` methods for this.
2021-05-29 20:53:24 +02: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
Bastian Köcher 418086bc42 Dependabot: Fix labels and ignore try-runtime-* (#3119) 2021-05-26 21:04:01 +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
332cfad83a Introduce polkadot code substitute (#3093)
* Introduce polkadot code substitute

This introduces a code substitute for the on-chain wasm of Polkadot from
block
`0x86aa36a140dfc449c30dbce16ce0fea33d5c3786766baa764e33f336841b9e29`
on wards. The underlying problem was that there exists some
miscompilation by the rust compiler in the wasm runtime that results in
state mismatches between the native/wasm runtime of the
the 0.8.30 release. This resulted in blocks being authored by the native
runtime not being importable by nodes using the wasm runtime. The
on-chain wasm is replaced by a wasm build from the 0.8.30 using the
rustc nightly from 1.03.2021.

* update the wasm substitute blob

* update Substrate

Co-authored-by: André Silva <andrerfosilva@gmail.com>
Co-authored-by: parity-processbot <>
2021-05-25 14:39:57 +00:00
Bastian Köcher 6a0b7b4164 Add AuxStore as super trait of AbstractClient (#3066) 2021-05-20 15:28:41 +02:00
Bastian Köcher 14f5d314f4 New Rococo genesis (#3065) 2021-05-20 11:44:13 +00:00
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
Bastian Köcherandparity-processbot 2cddcfe1fb Companion for Substrate#8588 (#2883)
* Companion for Substrate#8588

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

* update Substrate

Co-authored-by: parity-processbot <>
2021-04-14 20:23:49 +02:00
Bastian Köcherandparity-processbot c047a2bde2 Companion for Substrate#8472 (#2759)
* Companion for Substrate#8472

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

* update Substrate

Co-authored-by: parity-processbot <>
2021-03-30 12:15:50 +02:00
Bastian Köcher edb36153b1 Improve logging (#2669)
* Improve logging

* Review feedback

* Fix some warning and some further logging changes
2021-03-23 11:57:59 +01:00
Bastian Köcher 15ae5dd410 Improve the logging (#2645) 2021-03-18 23:28:43 +00:00
Bastian Köcherandparity-processbot f33f6badac Companion for Substrate#8386 (#2634)
* Companion for Substrate#8386

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

* "Update Substrate"

Co-authored-by: parity-processbot <>
2021-03-17 23:58:15 +00:00
Bastian Köcher 04f04ea6db Reduce number of active leaves at startup (#2631)
Currently we will take all leaves and give that to the overseer on
startup, but this is a bad idea when the finality is lagging for
example. There can be many of unfinalized leaves, we don't even need to
look at anymore. To solve this, the pr adds a maximum of 4 leaves we
forward to the overseer and the pr also checks that we only pass uncles
of the best block.
2021-03-17 15:53:25 -04:00
Bastian Köcher 1778c3ed5f Adds deregister_validators call for propose-parachain (#2615) 2021-03-12 11:35:03 +00:00
Bastian Köcherandparity-processbot b3dec9017b Substrate companion #8280 (#2578)
* Substrate companion #8280

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

* "Update Substrate"

Co-authored-by: parity-processbot <>
2021-03-09 19:43:31 +00:00
Bastian Köcherandparity-processbot 1251a7187c Substrate companion #8275 (#2575)
* Substrate companion #8275

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

* "Update Substrate"

Co-authored-by: parity-processbot <>
2021-03-06 14:08:22 +00:00
Bastian Köcherandparity-processbot ae3ee5ed7f Companion for ExecuteBlock changes in Substrate (#2548)
* Companion for `ExecuteBlock` changes in Substrate

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

* "Update Substrate"

Co-authored-by: parity-processbot <>
2021-03-03 09:13:56 +00:00
Bastian Köcher b55e63272d Initialize telemetry earlier (#2549)
This fixes a bug in block import not reporting to the telemetry.
2021-03-02 18:51:16 +00:00
Bastian Köcher 7a2c7aa3fe Companion for init the RuntimeLogger automatically (#2522)
* Lol

* Add the features

* Remove some more runtime logger init calls

* Make companion check work

* Revert "Make companion check work"

This reverts commit a255c798076466c0fa20a4db713fc712772c2b4d.

* Update Substrate
2021-03-01 16:15:34 +01:00
Bastian Köcherandparity-processbot 327a203dc7 Companion for Substrate #8185 (#2507)
* Companion for Substrate #8185

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

* "Update Substrate"

Co-authored-by: parity-processbot <>
2021-02-24 22:31:54 +01:00
Bastian Köcher c3ef81ab30 Make sure we generate a valid slot in tests (#2520)
Currently the first last timestamp is `0` and that leads to the first
slot being `0` which is reserved for genesis. There is some debug assert
in BABE that complains about this in Cumulus :D
2021-02-24 20:07:03 +00:00
Bastian Köcherandparity-processbot 2584c121fb Substrate companion for #8163 (#2492)
* Substrate companion for #8163

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

* "Update Substrate"

Co-authored-by: parity-processbot <>
2021-02-22 14:52:43 +00:00
Bastian Köcher 44519d1d2c Companion for Substrate#8155 (#2478)
* Companion for Substrate#8155

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

* :D

* Update the Substrate reference
2021-02-19 20:59:13 +01:00
Bastian KöcherandRobert Habermeier 64691eefba Track the collation status in the collator protocol (#2465)
* Track the collation status in the collator protocol

This pr changes the collator protocol to track the status of a
collation. This is mainly used to log the status of a collation when it
is removed to inform the user if a collation maybe never reached a validator.

* Update node/network/collator-protocol/src/collator_side.rs

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

* Moare logging

Co-authored-by: Robert Habermeier <rphmeier@gmail.com>
2021-02-17 18:26:30 +00:00
Bastian Köcher 27c7347b9b Make sure the adder collator fails when something is wrong (#2450)
As futures most of the time are catching panics and we don't check this,
it could happen that we have some statement that isn't correct but the
test succeeds successfully.
2021-02-16 19:27:50 +00:00
Bastian Köcherandparity-processbot 22f85c809b Polkadot companion for 8114 (#2437)
* Polkadot companion for 8114

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

* "Update Substrate"

Co-authored-by: parity-processbot <>
2021-02-15 16:05:46 +01:00
Bastian Köcher 4beb4a4a83 Bump if-watch to 0.1.8 to fix panic (#2436) 2021-02-15 09:54:45 +01:00
Bastian Köcher 4975521d48 Notify collators about seconded collation (#2430)
* Notify collators about seconded collation

This pr adds functionality to inform a collator that its collation was
seconded by a parachain validator. Before this signed statement was only
gossiped over the validation substream. Now, we explicitly send the
seconded statement to the collator after it was validated successfully.

Besides that it changes the `CollatorFn` to return an optional result
sender that is informed when the build collation was seconded by a
parachain validator.

* Add test

* Make sure we only send `Seconded` statements

* Make sure we only receive valid statements

* Review feedback
2021-02-14 17:36:04 +01:00
Bastian Köcher dcff6f00de Rococo genesis 1337 (#2425) 2021-02-12 12:33:34 +01:00
Bastian Köcher 41eeb5716f Fix bug in statement table (#2369)
We only checked all validity votes, ignoring invalid votes. So, the
condidition could not hold. Besides fixing the panic, I removed some old
cruft that isn't required anymore.
2021-02-03 10:23:34 -06:00
Bastian Köcher 16b250d7ea Remove from known_collators on disconnect (#2364) 2021-02-02 16:05:23 +00:00
7f019517ca Companion for #7997 (#2345)
* Companion for #7997

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

* rename slot_number to slot

* rename SlotNumber type in overseer docs

* "Update Substrate"

Co-authored-by: André Silva <andrerfosilva@gmail.com>
Co-authored-by: parity-processbot <>
2021-01-28 20:04:43 +00:00
Bastian Köcher ca2fedc395 Rococo v1-1 (#2333)
* Rococo V2

* Do it again!

* Rename
2021-01-26 22:56:48 +00:00
Bastian Köcher fa6e4b4488 Add a convert_payload function to Signed (#2320)
* Add a `convert_payload` function to `Signed`

* Review feedback
2021-01-25 20:50:45 +00:00
Bastian Köcher 9563652bf2 Put parachain head hash into CandidateDescriptor (#2310)
* Put parachain head hash into `CandidateDescriptor`

* Update guide

* Add some checks
2021-01-25 13:56:17 +01:00
1439558f14 Compress the PoV block before sending it over the network (#2288)
* Compress the PoV block before sending it over the network

This pr changes the way we send PoV blocks over the network. We now
compress the PoV block before it is send over the network. This should
reduce the size significant for PoVs which contain the runtime WASM for
example.

* Preallocate 1KB

* Try something..

* Switch to zstd and some renamings

* Make compression/decompression fail in browsers

* Use some sane maximum value

* Update roadmap/implementers-guide/src/types/network.md

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

* Fix and add test

* add

Co-authored-by: Andronik Ordian <write@reusable.software>
Co-authored-by: Robert Habermeier <rphmeier@gmail.com>
2021-01-21 18:04:14 +00:00
Bastian Köcher 68103437b6 Improve logging to make debugging parachains easier (#2279)
* Improve logging to make debugging parachains easier

This pr should make debugging parachains easier, by printing more
information about the validation process.

* 🤦

* moare

* Convert to debug
2021-01-17 12:21:36 +01:00
Bastian Köcher b4ff601500 Bump rococo version (#2255)
* Add bad block to rococo

* Bump rococo spec_version

* Revert "Add bad block to rococo"

This reverts commit 56664ce36f4fd9ea570b63e7b6978a6d2ff2aace.
2021-01-12 19:52:26 +01:00
Bastian KöcherandShawn Tabrizi 844a574d40 Adds propose parachain pallet (#2243)
* Adds propose parachain pallet

* Update runtime/rococo/src/propose_parachain.rs

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

* Fix runtime benchmarks

* Get rid of staking

* Fix benchmarking feature..

* Remove accidentally added crate

* Bump Rococo spec_version

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
2021-01-12 11:25:31 +01:00
Bastian KöcherandPeter Goodspeed-Niklaus 475915ff10 Do not send empty view updates to peers (#2233)
* Do not send empty view updates to peers

It happened that we send empty view updates to our peers, because we
only updated our finalized block. This could lead to situations where we
overwhelmed sub systems with too many messages. On Rococo this lead to
constant restarts of our nodes, because some node apparently was
finalizing a lot of blocks.

To prevent this, the pr is doing the following:

1. If a peer sends us an empty view, we report this peer and decrease it
reputation.

2. We ensure that we only send a view update when the `heads` changed
and not only the `finalized_number`.

3. We do not send empty `ActiveLeavesUpdates` from the overseer, as this
makes no sense to send these empty updates. If some subsystem is relying
on the finalized block, it needs to listen for the overseer signal.

* Update node/network/bridge/src/lib.rs

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

* Don't work if they're are no added heads

* Fix test

* Ahhh

* More fixes

Co-authored-by: Peter Goodspeed-Niklaus <coriolinus@users.noreply.github.com>
2021-01-08 13:05:19 -05:00