Commit Graph

16882 Commits

Author SHA1 Message Date
Bastian Köcher 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
Denis Pisarev 403d9aab10 CI: temp. allow cargo deny to fail (#8122) 2021-02-15 13:15:58 +01:00
Bastian Köcher 33f9becf41 Simplify runtime api error handling (#8114)
* Ahh

* Work work work

* Fix all the compilation errors

* Fix test

* More fixes...
2021-02-15 11:55:40 +00:00
Shawn Tabrizi b5e692104c Add code blocks to doc diagrams (#8118) 2021-02-15 12:10:30 +01:00
Bastian Köcher 5f5df0485a New genesis (#327)
* Update Substrate & Polkadot

* Update chainspecs

* Update again to fix test
2021-02-15 11:20:36 +01:00
Pierre Krieger dc45c2d2f0 Companion for substrate#8079 (#2408)
* Companion for substrate#8079

* More changes

* "Update Substrate"

Co-authored-by: parity-processbot <>
2021-02-15 10:10:58 +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
Pierre Krieger f6273f7914 Remove all code related to sentry nodes (#8079)
* Remove all code related to sentry nodes

* More fixing
2021-02-15 08:45:03 +00: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
Robert Habermeier 1b3d00d9d3 CancelProxy uses reject_announcement instead of remove_announcement (#2429)
* CancelProxy uses `reject_announcement` instead of `remove_announcement`

* add back remove_announcement

* Revert "add back remove_announcement"

This reverts commit 467b608a9d77c4303cb8daa33e8f14d391d6f417.
2021-02-13 15:29:28 -06:00
Ashley 019f04e99f Update sc-finality-grandp-warp-sync to 0.9.0 and remove 'publish = false' (#8109) 2021-02-12 18:08:55 +01:00
Bastian Köcher dcff6f00de Rococo genesis 1337 (#2425) 2021-02-12 12:33:34 +01:00
Robert Habermeier e48c687504 Implement Approval Voting Subsystem (#2112)
* 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

* extract Pre-digest from header

* utilities for extracting RelayVRFStory from the header-chain

* add approval voting message types

* approval distribution message type

* subsystem skeleton

* state struct

* add futures-timer

* prepare service for babe slot duration

* more skeleton

* better integrate AuxStore

* RelayVRF -> RelayVRFStory

* canonicalize

* implement some tick functionality

* guide: tweaks

* check_approval

* more tweaks and helpers

* guide: add core index to candidate event

* primitives: add core index to candidate event

* runtime: add core index to candidate events

* head handling (session window)

* implement `determine_new_blocks`

* add TODO

* change error type on functions

* compute RelayVRFModulo assignments

* compute RelayVRFDelay assignments

* fix delay tranche calc

* assignment checking

* pluralize

* some dummy code for fetching assignments

* guide: add babe epoch runtime API

* implement a current_epoch() runtime API

* compute assignments

* candidate events get backing group

* import blocks and assignments into DB

* push block approval meta

* add message types, no overseer integration yet

* notify approval distribution of new blocks

* refactor import into separate functions

* impl tranches_to_approve

* guide: improve function signatures

* guide: remove Tick from ApprovalEntry

* trigger and broadcast assignment

* most of approval launching

* remove byteorder crate

* load blocks back to finality, except on startup

* check unchecked assignments

* add claimed core to approval voting message

* fix checks

* assign only to backing group

* remove import_checked_assignment from guide

* newline

* import assignments

* abstract out a bit

* check and import approvals

* check full approvals from assignment import too

* comment

* create a Transaction utility

* must_use

* use transaction in `check_full_approvals`

* wire up wakeups

* add Ord to CandidateHash

* wakeup refactoring

* return candidate info from add_block_entry

* schedule wakeups

* background task: do candidate validation

* forward candidate validation requests

* issue approval votes when requested

* clean up a couple TODOs

* fix up session caching

* clean up last unimplemented!() items

* fix remaining warnings

* remove TODO

* implement handle_approved_ancestor

* update Cargo.lock

* fix runtime API tests

* guide: cleanup assignment checking

* use claimed candidate index instead of core

* extract time to a trait

* tests module

* write a mock clock for testing

* allow swapping out the clock

* make abstract over assignment criteria

* add some skeleton tests and simplify params

* fix backing group check

* do backing group check inside check_assignment_cert

* write some empty test functions to implement

* add a test for non-backing

* test that produced checks pass

* some empty test ideas

* runtime/inclusion: remove outdated TODO

* fix compilation

* av-store: fix tests

* dummy cert

* criteria tests

* move `TestStore` to main tests file

* fix unused warning

* test harness beginnings

* resolve slots renaming fallout

* more compilation fixes

* wip: extract pure data into a separate module

* wip: extract pure data into a separate module

* move types completely to v1

* add persisted_entries

* add conversion trait impls

* clean up some warnings

* extract import logic to own module

* schedule wakeups

* experiment with Actions

* uncomment approval-checking

* separate module for approval checking utilities

* port more code to use actions

* get approval pipeline using actions

* all logic is uncommented

* main loop processes actions

* all loop logic uncommented

* separate function for handling actions

* remove last unimplemented item

* clean up warnings

* State gives read-only access to underlying DB

* tests for approval checking

* tests for approval criteria

* skeleton test module for import

* list of import tests to do

* some test glue code

* test reject bad assignment

* test slot too far in future

* test reject assignment with unknown candidate

* remove loads_blocks tests

* determine_new_blocks back to finalized & harness

* more coverage for determining new blocks

* make `imported_block_info` have less reliance on State

* candidate_info tests

* tests for session caching

* remove println

* extricate DB and main TestStores

* rewrite approval checking logic to counteract early delays

* move state out of function

* update approval-checking tests

* tweak wakeups & scheduling logic

* rename check_full_approvals

* test that assignment import updates candidate

* some approval import tests

* some tests for check_and_apply_approval

* add 'full' qualifier to avoid confusion

* extract should-trigger logic to separate function

* some tests for all triggering

* tests for when we trigger assignments

* test wakeups

* add block utilities for testing

* some more tests for approval updates

* approved_ancestor tests

* new action type for launch approval

* process-wakeup tests

* clean up some warnings

* fix in_future test

* approval checking tests

* tighten up too-far-in-future

* special-case genesis when caching sessions

* fix bitfield len

Co-authored-by: Andronik Ordian <write@reusable.software>
2021-02-11 10:21:47 -06:00
Sergei Shulepov 09eadfc979 Introduce PerPeerSet utility that allows to segrate based on PeerSet (#2420)
* Introduce PerPeerSet utility that allows to segrate based on PeerSet

* Remove `repr(usize)` from PeerSet
2021-02-11 14:40:46 +00:00
Martin Pugh 07e4b9c997 [CI] Move check_labels to github actions (#8099)
* move lib.sh to common dir

* make check-labels a github action workflow
2021-02-11 13:34:43 +01:00
Bastian Köcher ba0bdc84a5 Move parachain inherent data into its own crate (#326)
This renames and moves the `SystemInherentData` into its own crate.
The struct is now called `ParachainInherentData`. Besides moving the
struct, this also moves the code for creating this struct into this crate.
2021-02-11 13:05:17 +01:00
Benjamin Kampmann 6a964c5df0 Releasing 3.0 (#8098)
* bumping version for next release
* add changelog
* add guide
2021-02-10 19:23:18 +01:00
Martin Pugh 013b271359 [CI] Move check_labels to github actions (#2415)
* move lib.sh to common dir

* make check-labels a github action

* check out the repo

* fix secrets

* add labelled PR type

* remove check-labels job from gitlab

* trigger on unlabelling also
2021-02-10 17:50:49 +00:00
Cecile Tonglet 772224c132 Use log level error to report telemetry (#8097)
This fix the issue when running the node with -lwarn, the telemetry cannot be initialized properly.
2021-02-10 15:30:22 +00:00
André Silva 800126d4e1 runtime: set equivocation report longevity (#2404)
* runtime: set equivocation report longevity

* "Update Substrate"

* update substrate

Co-authored-by: parity-processbot <>
Co-authored-by: thiolliere <gui.thiolliere@gmail.com>
2021-02-10 15:43:54 +01:00
Shaun Wang 3fbe22f552 Migrate pallet-timestamp to pallet attribute macro. (#8078)
* Migrate pallet-timestamp to pallet attribute macro.

* Migrate inherent.

* Unify private visbility.

* Update benchmarking.

* Update storage usages.
2021-02-10 14:00:41 +00:00
André Silva c763df4bb1 babe, grandpa: set longevity for equivocation report transactions (#8076)
* babe: set longevity for equivocation report transactions

* grandpa: set longevity for equivocation report transaction

* babe, grandpa: fix tests

* node: add ReportLongevity to babe and grandpa modules

* node: bump spec_version
2021-02-10 13:51:36 +00:00
Andrew Jones 50d1522a49 Companion for #7936: Migrate pallet-balances to pallet attribute macro (#2331)
* Fix up balances Events

* "Update Substrate"

* Update substrate

Co-authored-by: parity-processbot <>
2021-02-10 13:50:51 +00:00
Andrew Jones 8481e9a33a Migrate pallet-balances to pallet attribute macro (#7936)
* Initial migration of balances pallet

* Fix some errors

* Remove unused imports

* Formatting and removing some todos

* Delete Subtrait

* Add genesis builder impls for tests

* Fix GenesisConfig impl

* Make set_balance visible to tests, rename RawEvent to Event

* Fix tests with Event rename etc.

* More test RawEvent renames

* Even more RawEvent renames

* Rename module to pallet in comments

* Add PalletInfo impl to avid storage collision, fixes tests

* Apply review suggestion: remove trailing a

Co-authored-by: David <dvdplm@gmail.com>

* BalancesEvent alias

* Remove BalancesEvent alias

* Review suggestion: remove redundant comment

* Apply review suggestion: make vis super

* Fis doc links

* Add RawEvent alias

* Add missing Instance parameter to deprecated RawEvent alias

* Fix RawEvent deprecation warnings

Co-authored-by: David <dvdplm@gmail.com>
2021-02-10 12:33:25 +00:00
Bastian Köcher 119e0859b9 The great refactor (#325)
* Move pallets to pallets folder and rename them

* Move genesis file to service

* Rename primitives to primitives-core

* Delete cumulus-runtime

* Move stuff to client folder and rename
2021-02-10 13:07:21 +01:00
Bastian Köcher fd5fbd6252 Switch to use diener patch for companion build (#8073)
This switch to the new `diener patch` command to patch all Substrate
crates in Polkadot. This should remove the requirement to manually merge
Substrate master to make the companion build, as we now would use the
already with master merged code from this build job local checkout.
2021-02-10 12:38:29 +01:00
Shaun Wang 445cf86762 Pallet attribute macro migrate guidelines minor fixes (#8094)
* Fix pallet attribute macro guidelines.

* Typo fixes.
2021-02-10 12:22:39 +01:00
Guillaume Thiolliere e78d139676 pallet macro: easier syntax for #[pallet::pallet] with struct Pallet<T>(_) (#8091) 2021-02-10 10:27:05 +01:00
saki-osive d20c2ae369 Corrected Physical (#2414) 2021-02-10 10:08:52 +01:00
Benjamin Kampmann 2d31af3eb6 sc-network: switch on default features for libp2p on non-wasm-builds (#8088) 2021-02-10 08:42:37 +00:00
Andronik Ordian 89e8e81336 validator_discovery: cache by (Hash, ParaId) (#2402) 2021-02-09 14:42:46 -06:00
nahuseyoum 1baffde51f Add Aventus ss58 address (#8050)
* Update crypto.rs

* Update ss58-registry.json

* quote fields

* Update ss58-registry.json

* Update crypto.rs

* Update ss58-registry.json

* Update ss58-registry.json

* Update ss58-registry.json

* Update crypto.rs

* Update ss58-registry.json
2021-02-09 20:30:16 +00:00
Sergei Shulepov fab68efac5 Enable wasmtime caching for PVF (companion for #8057) (#2387)
* Wasm caching

* Fix compilation errors

* Rename `cache_path` to `cache_base_path`

* "Update Substrate"

* Fix check-web-wasm build

Co-authored-by: parity-processbot <>
2021-02-09 19:18:54 +01:00
Sergei Shulepov eb7226bb4a WasmExecutor takes a cache directory (#8057)
That is useful for executors like wasmtime which produces compiled code
and can actually benefit from caching under some circumstances
2021-02-09 16:48:29 +00:00
Andrew Jones ef6615ba65 Remove PalletInfo impl for () (#8090) 2021-02-09 16:45:59 +00:00
Andrew Jones 7343c974a2 Use construct_runtime in tests, remove default PalletInfo impl (#2409)
* Claims

* Crowdloan

* Runtime common

* Parachains registrar

* Impls

* Purchase

* Slots

* parachains runtime mock

* Use MockGenesisConfig in tests

* Update runtime/common/src/claims.rs

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

Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com>
2021-02-09 16:36:15 +00:00
Guillaume Thiolliere 9fbbecc195 Replace last usages of <() as PalletInfo> in substrate (#8080)
* replace last occurences

* Update frame/support/src/traits.rs

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

* Update frame/support/test/src/lib.rs

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

* fix dispatch test

* move PanicPalletInfo to tests module

Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
2021-02-09 15:28:34 +00:00
frank 1ee71e54e5 Add Ares SS58 address type (#8061) 2021-02-09 14:57:41 +01:00
Kun 929c1c732a Add Crust Network SS58 Address (#8064)
* Add Crust Address Format

* Add Crust Address Format

* Delete extra ss58 json info
2021-02-09 14:53:01 +01:00
Bastian Köcher f174e14793 Switch to latest impl-trait-for-tuples (#8082)
Switches to the latest version everywhere now, as I fixed the problems
in the crate ;)
2021-02-09 13:31:44 +01:00
Sergei Shulepov a4998998a9 Migrate from MQCs in persisted validation data to merkle proofs (#317)
* Update polkadot

* Migrate all uses of MQC heads to merkle proofs

* Mass rename `relay_parent_storage_root`

* Restore parachain-system tests

* Update polkadot and libp2p swarm for testing

* Collapse match into an if let

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

* Fix compilation error in test-service

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2021-02-08 19:48:30 +01:00
Pierre Krieger 1eeafdd2b3 Remove backwards-compatibility networking hack (#8068)
* Remove backwards-compatibility networking hack

* Fix compilation

* Try fix
2021-02-08 13:44:34 +00:00
Shawn Tabrizi 9c125817f0 Fix HRMP Sibling Location (#318)
* Fix HRMP Location

* Add call to xcm handler
2021-02-08 14:09:50 +01:00
dependabot[bot] 884d916559 Bump wasmtime from 0.19.0 to 0.22.0 (#7865)
* Bump wasmtime from 0.19.0 to 0.22.0

Bumps [wasmtime](https://github.com/bytecodealliance/wasmtime) from 0.19.0 to 0.22.0.
- [Release notes](https://github.com/bytecodealliance/wasmtime/releases)
- [Changelog](https://github.com/bytecodealliance/wasmtime/blob/main/docs/WASI-some-possible-changes.md)
- [Commits](https://github.com/bytecodealliance/wasmtime/compare/v0.19.0...v0.22.0)

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

* Account for ImportType::name() being an Optional

* Account for parameters being a impl Iterator now

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alexander Theißen <alex.theissen@me.com>
Co-authored-by: Bastian Köcher <info@kchr.de>
2021-02-08 13:03:05 +00:00
Andronik Ordian 6981a1c366 validator_discovery: pass PeerSet to the request (#2372)
* validator_discovery: pass PeerSet to the request

* validator_discovery: track PeerSet of connected peers

* validator_discovery: fix tests

* validator_discovery: fix long line

* some fixes

* some validator_discovery logs

* log validator discovery request

* Also connect to validators on `DistributePoV`.

* validator_discovery: store the whole state per peer_set

* bump spec versions in kusama, polkadot and westend

* Correcting doc.

* validator_discovery: bump channel capacity

* pov-distribution: some cleanup

* this should fix the test, but it does not

* I just got some brain damage while fixing this

Why are you even reading this???

* wrap long line

* address some review nits

Co-authored-by: Robert Klotzner <robert.klotzner@gmx.at>
2021-02-08 08:57:59 +01:00
Robert Habermeier 28cab8e190 guide: more robust approval counting procedure (#2378)
* guide: more robust approval counting procedure

* elaborate

* redefine non-empty

* improve writing

* remove redundant
2021-02-07 16:21:55 -06:00
Denis Pisarev 87922b254a Publish rococo on every push to rococo-v1 branch (#2388)
* CI: change manual triggering to auto based on rules [skip ci]

* CI: remove debug comments [skip ci]

* CI: chore

* CI: chore

* CI: cargo update -p sp_io
2021-02-07 09:12:15 -06:00
Guillaume Thiolliere 0ed683ca13 Use construct_runtime in tests (#8059)
* impl some more

* add serde

* remove unused

* fix staking fuzz

* fix system bench

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
2021-02-06 20:12:46 +00:00
Gavin Wood 4b1460f61f Extend SS58 network identifiers (#8039)
* Initial draft

* Fixes

* Fixes

* Fixes

* Fixes

* Fixes

* Improve readability, add format filter.

* Link

* Fixes

* Update primitives/core/src/crypto.rs

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

* Suggestions from review

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2021-02-06 15:00:10 +00:00
dependabot[bot] f32922ec82 Bump trie-db from 0.22.2 to 0.22.3 (#2344)
Bumps [trie-db](https://github.com/paritytech/trie) from 0.22.2 to 0.22.3.
- [Release notes](https://github.com/paritytech/trie/releases)
- [Commits](https://github.com/paritytech/trie/compare/trie-db-v0.22.2...trie-db-v0.22.3)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-02-06 15:13:34 +01:00