Commit Graph

1542 Commits

Author SHA1 Message Date
dependabot[bot] 3e77ee0696 Bump serde from 1.0.120 to 1.0.121 (#2323)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.120 to 1.0.121.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.120...v1.0.121)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-27 12:27:14 +01:00
Shawn Tabrizi 884167a5e7 Use Extensible Multiaddress in all Polkadot Runtimes (#2126)
* Use extensible multiaddress

* copy pasta
2021-01-27 08:00:33 +00:00
Bastian Köcher ca2fedc395 Rococo v1-1 (#2333)
* Rococo V2

* Do it again!

* Rename
2021-01-26 22:56:48 +00:00
Martin Pugh 1358bf9345 bump transaction_version for polkadot + kusama (#2330) 2021-01-26 18:00:13 +01:00
Jon Häggblad 48bdfddbbc Companion for #7953: remove runtime checks in prove_finality (#2328)
* Companion for #7953: remove runtime checks in prove_finality

* "Update Substrate"

Co-authored-by: parity-processbot <>
Co-authored-by: André Silva <andrerfosilva@gmail.com>
2021-01-26 16:23:48 +00:00
Fedor Sakharov 5634d289ee runtime-api subsystem lru cache (#2309)
* Add memory-lru cache to runtime-api

* Add cache.rs

* Adds MallocSizeOf

* Review nits

* Add a cached requests metric

* More review nits

* Some more review nits
2021-01-26 15:51:10 +00:00
Martin Pugh f3adf8b864 Bump version to 0.8.28 & bump substrate (#2327)
* bump version in prep for release

* bump substrate

* bump substrate
2021-01-26 16:27:17 +01:00
Ricardo Rius 52d351c256 Refact proposal pallet (#2322)
* Refact proposal pallet

* Update runtime/rococo/src/propose_parachain.rs

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

* Fix

* Apply suggestions from code review

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

* AHH

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
Co-authored-by: Andronik Ordian <write@reusable.software>
Co-authored-by: Bastian Köcher <info@kchr.de>
2021-01-26 15:16:44 +01:00
Martin Pugh 3fcf51ee6f [CI] Matrix release-notifications redux (#2308)
* update release-bot.yml github action

* fix release-bot.yml

* configure channels
2021-01-26 13:33:43 +01:00
Peter Goodspeed-Niklaus a0239785b9 Message and Data Type Flow Visualizations (#2286)
* start graphing message flow between subsystems

This commit includes messages originating from the first three subsystems
(alphabetically).

* use standard arrowhead names

* add messages from bitfield distribution && use circo layout

* finish adding all subsystem message traffic to graph

* reduce line spam

* start work on graphing v1 types

* finish graphing candidate-related structs

* show hash relations, format

* show provenance of ValidityAttestation

* add the rest of the v1 polkadot primitives

* add type diagram from polkadot::parachain::primitives

* start work digramming the path to backing

* diagram message flow from collation generation -> candidate selection

* document flow through CandidateBacking, CandidateValidation

* graph data flow through StatementDistribution

* trace data flow through PoVDistribution to Backing

* finish documenting node side subsystem data flow
2021-01-26 11:34:45 +01:00
Andronik Ordian 3f1e1a6ff7 impl approval distribution (#2160)
* initial impl approval distribution

* initial tests and fixes

* batching seems difficult: different peers have different needs

* bridge: fix test after merge

* some guide updates

* only send assignments to peers who know about the block

* fix a test, add approvals test

* simplify

* do not send assignment to peers for finalized blocks

* guide: protocol input and output

* one more test

* more comments, logs, initial metrics

* fix a typo

* one more thing: early return when reimporting a thing locally
2021-01-25 18:14:32 -05: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
Will Pankiewicz b210850d5c Remove Old Bootnodes (#2319)
* removes old bootnodes from kusama chainspec

* removes old bootnodes from polkadot chainspec
2021-01-25 20:59:30 +01: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
dependabot[bot] dba39c7515 Bump zstd from 0.5.3+zstd.1.4.5 to 0.5.4+zstd.1.4.7 (#2304)
Bumps [zstd](https://github.com/gyscos/zstd-rs) from 0.5.3+zstd.1.4.5 to 0.5.4+zstd.1.4.7.
- [Release notes](https://github.com/gyscos/zstd-rs/releases)
- [Commits](https://github.com/gyscos/zstd-rs/commits)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-22 10:09:10 +01:00
Jon Häggblad 3b69385d85 Companion for #7339: cleaner GRANDPA RPC API (#2100)
* service: update for substrate PR #7339

* "Update Substrate"

Co-authored-by: parity-processbot <>
2021-01-21 22:31:16 +00:00
Pierre Krieger cfb474cacb Add support for Grandpa warp sync (#2301)
* Add support for Grandpa warp sync

* Don't pull the warp sync crate if not full-node
2021-01-21 20:27:14 +00:00
Shawn Tabrizi 8aee25cae2 Update Weight for Pallet Staking including Kick (#2297)
* Update pallet_staking.rs

* cargo run --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 --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 --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 Benchmarking Bot <admin@parity.io>
2021-01-21 18:23:28 +00:00
Bastian Köcher 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
Kian Paimani 2c0982d75e Companion for sub/7040 (#1719)
* Companion for sub/7040

* Fix duplicate type.

* Fix syntax

* Sync with latest changes.

* Add weight info.

* Fix build

* Fix some tests

* Fix build again.

* fix migration amounts.

* new migration

* Builds fine with dummy weights.

* fix build

* Add correct weight files.

* Fix to latest version

* remove unneeded upgrade.

* Update to latest again.

* "Update Substrate"

Co-authored-by: parity-processbot <>
2021-01-20 14:43:34 +00:00
Cecile Tonglet 73af2d5816 Companion PR for https://github.com/paritytech/substrate/pull/7463 (#1948)
* Adapt service creation to new substrate API

* Fix test

* WIP

* Revert "WIP"

This reverts commit 816a3633e91abc943b12b2bfa77ce98b959e78b2.

* WIP

* Adapt to current code

* Fix tests

* Yet another fix

* CLEANUP

* WIP

* WIP

* WIP

* Adapt code to changes on substrate

* Adapt code

* Introduce kick.

* Fixes

* WIP

* WIP

* WIP

* WIP

* Bump

* Update sp-io

* WIP

Co-authored-by: Gav Wood <gavin@parity.io>
Co-authored-by: Parity Benchmarking Bot <admin@parity.io>
2021-01-20 12:45:25 +00:00
dependabot[bot] 0521abfdc2 Bump serde from 1.0.119 to 1.0.120 (#2292)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.119 to 1.0.120.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.119...v1.0.120)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-20 12:49:06 +01:00
Sergei Shulepov b1c02eb384 Glossary updates (#2291)
* glossary: define DMQ

We are using DMQ quite often including in rustdoc, however, it may be
hard to know what is that. Adding it to the glossary.

* Clarify that DMP and HRMP are also module names

* Define PDK

* Define preimage
2021-01-19 16:53:29 +00:00
Pierre Krieger 3d75cc2001 Companion PR for adding max notification sizes (#2287)
* Companion PR for adding max notification sizes

* Add TODO

* Missing ;

* =>

* Common limit

* "Update Substrate"

Co-authored-by: parity-processbot <>
2021-01-19 11:27:42 +00:00
Sergei Shulepov 226af6a877 Remove TransientValidationData (#2272)
* collation-generation: use persisted validation data

* node: remote FullValidationData API

* runtime: remove FullValidationData API

* backing tests: use persisted validation data

* FullCandidateReceipt: use persisted validation data

This is not a big change since this type is not used anywhere

* Remove ValidationData and TransientValidationData

Also update the guide
2021-01-18 18:57:09 -05:00
Robert Habermeier b009cbe801 Approval Voting Database (#2162)
* skeleton

* skeleton aux-schema module

* start approval types

* start aux schema with aux store

* doc

* finish basic types

* start approval types

* doc

* finish basic types

* write out schema types

* add debug and codec impls to approval types

* add debug and codec impls to approval types

also add some key computation

* add debug and codec impls to approval types

* getters for block and candidate entries

* grumbles

* remove unused AssignmentId

* load_decode utility

* implement DB clearing

* function for adding new block entry to aux store

* start `canonicalize` implementation

* more skeleton

* finish implementing canonicalize

* tag TODO

* implement a test AuxStore

* add allow(unused)

* basic loading and deleting test

* block_entry test function

* add a test for `add_block_entry`

* ensure range is exclusive at end

* test clear()

* test that add_block sets children

* add a test for canonicalize

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

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

* Update node/core/approval-voting/src/aux_schema/tests.rs

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

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

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

Co-authored-by: Peter Goodspeed-Niklaus <coriolinus@users.noreply.github.com>
2021-01-18 11:07:04 -05:00
Pierre Krieger 1c548d9d0b Make large collations downloads work (#2284)
* Make large collations downloads work

* Actually, bump it more to be sure

* Grmlblbl Rust feature unstable nianiania
2021-01-18 14:00:03 +01:00
dependabot[bot] 669ccab83f Bump futures from 0.3.11 to 0.3.12 (#2281)
Bumps [futures](https://github.com/rust-lang/futures-rs) from 0.3.11 to 0.3.12.
- [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.11...0.3.12)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-18 13:11:31 +01: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
dependabot[bot] 4efa226b69 Bump serde from 1.0.118 to 1.0.119 (#2250)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.118 to 1.0.119.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.118...v1.0.119)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-17 09:13:23 +01:00
Gavin Wood 8ec9040b00 Companion for #7363 (Account-providers ref-counting) (#2152)
* Fix

* Fix

* Bump Substrate

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
2021-01-16 20:18:13 +01:00
Bernhard Schuster 366c229f6f use fill_level gauges instead of histograms (#2276) 2021-01-15 18:46:31 +01:00
Robert Habermeier 8192248c52 Switch to Wasmtime for parachain execution (#2265)
* Switch to Wasmtime for parachain execution

* Fix the signature for halt's validate_block

* wasmtime feature enabled from cli

* Adds missing feature

Co-authored-by: Sergei Shulepov <sergei@parity.io>
Co-authored-by: Bastian Köcher <git@kchr.de>
2021-01-15 18:03:22 +01:00
Peter Goodspeed-Niklaus 089ba85c32 Add warning when dropping inclusion inherent (#2261)
* Add warning when dropping inclusion inherent

* improve warning when dropping inclusion inherent

- use the actual runtime `warn!` macro
- do not speculate about why the error occurred
- show the actual error returned

* BROKEN: add note if the current block matches the session start block

This doesn't compile for a variety of reasons; this commit demonstrates
what the issues are. I don't think this is an essential feature, so I'm
stopping work on it here instead of pushing through it.

* Revert "BROKEN: add note if the current block matches the session start block"

This reverts commit eeb79ab7708ec94224fa60c9e1a46e12c18d52fd.

* ensure a runtime logger exists before attempting to log a warning to it
2021-01-15 18:02:38 +01:00
dependabot[bot] 8b8185869e Bump futures from 0.3.10 to 0.3.11 (#2273)
Bumps [futures](https://github.com/rust-lang/futures-rs) from 0.3.10 to 0.3.11.
- [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.10...0.3.11)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-15 17:57:07 +01:00
Fedor Sakharov 90a686266f Availability recovery subsystem (#2122)
* Adds message types

* Add code skeleton

* Adds subsystem code.

* Adds a first test

* Adds interaction result to availability_lru

* Use LruCache instead of a HashMap

* Whitespaces to tabs

* Do not ignore errors

* Change error type

* Add a timeout to chunk requests

* Add custom errors and log them

* Adds replace_availability_recovery method

* recovery_threshold computed by erasure crate

* change core to std

* adds docs to error type

* Adds a test for invalid reconstruction

* refactors interaction run into multiple methods

* Cleanup AwaitedChunks

* Even more fixes

* Test that recovery with wrong root is an error

* Break to launch another requests

* Styling fixes

* Add SessionIndex to API

* Proper relay parents for MakeRequest

* Remove validator_discovery and use message

* Remove a stream on exhaustion

* On cleanup free the request streams

* Fix merge and refactor
2021-01-15 02:06:25 +00:00
Sergei Shulepov 00d2b4bf3e Remove polkadot-validation crate (#2271) 2021-01-14 20:58:44 +01:00
Arkadiy Paronyan 0299710f33 Companion for substrate #7868 (#2253)
* Update for new service config

* Naming

* "Update Substrate"

Co-authored-by: parity-processbot <>
2021-01-14 20:25:19 +01:00
Liu-Cheng Xu 313d03709b Companion for Substrate#7692 (#2190)
* Companion for Substrate#7692

* "Update Substrate"

Co-authored-by: parity-processbot <>
2021-01-14 12:07:58 +00:00
Andronik Ordian deff43fd30 small cleanup (#2267)
* session_info: fix authorities docstring

* overseer: more consistent metrics naming

* session_info: mention ordering

* use correct bucket sizes

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

Co-authored-by: Peter Goodspeed-Niklaus <coriolinus@users.noreply.github.com>
2021-01-14 10:41:19 +00:00
Robert Klotzner 32d4670b0d Some refactoring in network-bridge in the course of dealing with #2177 (#2263)
* More doc fixes.

* Minor refactorings in the process of #2177

By having everything peer set related depend directly on the enum the
code becomes more clear and it is also straight forward to add more
peersets/protocols as the compiler will complain if you forget to
implement parts of it.

* Add peer set infos on startup properly

For feature real_overseer.

+ Fixes from review. Thanks @coriolinus and @ordian!

* More structure in network-bridge

Some changes, which would have helped me in groking the code faster.

Entry points/public types more to the top. Factored out implementation
in their own files, to clear up the top-level view.

* Get rid of local ProtocolName type definition.

Does not add much at this level.

* Fix tests + import cleanup.

* Make spaces tabs.

* Clarify what correct parameters to send_message are

* Be more less vague in docs of send_message.

* Apply suggestions from code review

Extend copyright on new files to 2021 as well.

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

Co-authored-by: Andronik Ordian <write@reusable.software>
2021-01-14 10:29:02 +00:00
dependabot[bot] 96f80ac3e3 Bump rand from 0.8.1 to 0.8.2 (#2266)
Bumps [rand](https://github.com/rust-random/rand) from 0.8.1 to 0.8.2.
- [Release notes](https://github.com/rust-random/rand/releases)
- [Changelog](https://github.com/rust-random/rand/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-random/rand/compare/0.8.1...0.8.2)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-14 09:16:32 +01:00
Robert Habermeier 3465c18b71 scheduler: handle re-scheduling around finalization correctly (#2257)
* scheduler: handle re-scheduling around finalization correctly

* also make sure parathreads get cleaned

* run scheduling in finalization

* Remove stray println!

* Update the schedule call site in inclusion inherent

* Clarify subtlety around SessionStartBlock

* Remove double semi-colon

* reschedule prior to `availability_cores` and in on-initialize

* improve docs

* fix line

* more doc reformat

* remove unneeded call

* avoid unnecessary scheduling on initialize

* split `clear` and `schedule

* Update runtime/parachains/src/scheduler.rs

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

Co-authored-by: Sergei Shulepov <sergei@parity.io>
2021-01-13 22:07:09 +00:00
Bernhard Schuster 1d28f59e19 display errors with their sources (#2264)
* update futures to 0.3.9

* companion changes for generic error types

* improve errors, keep error sources

* command compile fix

* use the correct Error type, add annotation

* avoid async { fut.await.map_err(E::Variant) } with TryFuture

* fix cargo lock, bump futures to 0.3.10

futures 0.3.9 got yanked

* chore cargo update -p sp-io

* minor quirk

* make rustc 1.48 happy by bouning the error more tightly

* be more explicit

* cargo lock futures
2021-01-13 21:14:26 +00:00
Sergei Shulepov ff341a7bdb Copy para host config for rococo-staging (#2260) 2021-01-13 20:38:58 +01:00
Andronik Ordian e1773be63d Companion for substrate#7892 (#2262)
* session_info: use correct authorities set

* bump rococo spec_version to 19

* "Update Substrate"

Co-authored-by: parity-processbot <>
2021-01-13 19:02:03 +00:00
Bernhard Schuster d7adf8f201 metered mpsc channels (#2235) 2021-01-13 17:40:27 +01:00
Sergei Shulepov c644c39f3d HRMP channel deposits (#2225)
* Drive by fixes

The visibility modifiers are remnants of the previous structure where
HRMP wasn't a standalone module, by rather a submodule of the router
module.

* Add Currency assoc type to Config

This would allow us to reserve balance for deposits. This commit also
integrates the HRMP module in rococo, test-runtime and mocks to use the
balances pallet.

* Fix a bug that doesn't increment the age

In case the request is not confirmed, the age would be incremented but
not persisted.

* Fix cleaning the indexes

Before that change, the cleaning of the channel indexes was wrong, because it
naively removed entire rows that was pertaining to the para we delete.
This approach is flawed because it doesn't account for the rows that are
pertaining to other paras that contain the outgoing one.

This clearly violates the invariant imposed on the indexes, that all
the index rows must contain alive paras, but apart from that it also
lead to the situation where ingress index would contain the a different
set of channels that an egress have.

* Reserve currency for opening the channels

Note the ugly `unique_saturated_into` calls. The reason for them is the
currency trait accepts and defines the `Balance` associated type and the
deposit values are coming from the `HostConfiguration` where they are
defined using the `Balance`.

I figured that parameterising `HostConfiguration` would be annoying. On
the other hand, I don't expect these `unique_saturated_into` calls to
give us problems since it seems to be a reasonable assumption that this
module will be instantiated within a runtime where the Currency provided
will have a Balance that matches the one used in the configuration.

* Tests: Adapt `run_to_block` so that it submits a proper config

* Tests: exercise the deposit logic
2021-01-13 16:35:32 +00:00
Sergei Shulepov eae961ee99 Avoid inlining update_config_member (#2246)
Closes #2241
2021-01-13 10:12:29 +01:00
Sergei Shulepov d99dbc496c Fix run_to_block functions (#2258) 2021-01-12 16:45:11 -05:00