Commit Graph

921 Commits

Author SHA1 Message Date
s3krit ebf7de90c2 [CI] Refactor publish_draft_release.sh (#1289)
* Refactor publish_draft_release.sh

* Switch to using arrays for storing labelled changes
* Combine changes for Polkadot and Substrate
* Change sanitised_git_logs in `lib.sh` to drop `*`s at the start
* Only look for priorities of medium or above (presence of one or more
  C1 label is enforeced by check-labels anyway, saves us some API calls)

* Ensure priorities >C1-low aren't labelled B0-silent
2020-06-22 19:24:12 +02:00
Pierre Krieger 2338b80af1 Use /dns/ rather than /dns4/ (#1275)
* Use /dns4/ rather than /dns/

* Update polkadot.json
2020-06-22 19:19:50 +02:00
Peter Goodspeed-Niklaus 14ce04c9cd signed wrapper (#1283)
* add signed wrapper, typedef SignedStatement

* typedef SignedAvailabilityBitfield

* implement Signed wrapper

This is strictly an addition as of this commit; nothing is yet
changed in existing behavior.

* inline getters, remove review comment

* move EncodeAs, Signed from node::primitives to primitives::parachain

* Refactor SignedAvailabilityBitfield to use Signed

* don't double-encode real payload

This isn't an ideal solution, because it depends on the
implementation details of how SCALE encodes tuples, but OTOH
that behavior seems unlikely to change anytime soon.

* fix build errors

* cause the runtime to build properly with the new changes

Not sure why cargo check didn't catch this earlier; oh well.

* fix runtime tests and separate SignedStatement from SignedFullStatement

* better explain why CompactStatement exists

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

Co-authored-by: Robert Habermeier <rphmeier@gmail.com>
2020-06-20 14:56:33 -04:00
Sergei Shulepov 90a1ba1e90 Fix glossary link (snowballed) (#1297)
* Add mdbook-linkcheck

* Convert todo to not a link

* Fix external glossary link

* Fix various broken links

* Mass replace: s/.html/.md/

* My sloppy attempt to add a gitlab CI check
2020-06-20 14:23:28 -04:00
s3krit d4e6013d38 [CI] Don't autolabel insubstantial PRs 'pleasereview' (#1293)
* Don't label insubstantial PRs 'pleasereview'

* Update auto-label-prs.yml

* Update auto-label-prs.yml
2020-06-20 10:40:48 +02:00
Denis Pisarev 7fd36394b6 change (ci): remove CARGO_HOME caching as it's still broken (#1291) 2020-06-19 18:51:31 +02:00
Gavin Wood d52751d9e6 Bump Substrate (#1286) 2020-06-19 11:57:03 +02:00
Toralf Wittner 00ac43c26c Update libp2p-ping. (#1285)
Bugfix release, see [CHANGELOG].

[CHANGELOG]: https://github.com/libp2p/rust-libp2p/blob/master/protocols/ping/CHANGELOG.md
2020-06-19 08:36:37 +02:00
Robert Habermeier 879892d3f9 Inclusion Module (#1242)
* add availability bitfield types to primitives

* begin inclusion module

* use GitHub issue link for limitation

* fix some compiler errors

* integrate validators into initializer

* add generic signing context

* make signing-context more generic

* fix issues with inclusion module

* add TODO

* guide: add validators and session index to inclusion

* guide: add session index to change notification

* implement session change logic

* add BackedCandidate type

* guide: refine inclusion pipeline

* guide: rename group_on to group_validators

* guide: add check about collator for parathread

* guide: add last_code_upgrade to paras and use in inclusion

* implement Paras::last_code_upgrade

* implement most checks in process_candidates

* make candidate receipt structs more generic

* make BackedCandidate struct more generic

* use hash param, not block number

* check that candidate is in context of the parent block

* include inclusion module in initializer

* implement enact-candidate

* check that only occupied cores have bits set

* finish implementing bitfield processing

* restructure consistency checks on candidates

* make some more primitives generic

* signature checking logic for backed candidates

* finish implementing process_candidates

* implement collect_pending

* add some trait implementations to primitives

* implement InclusionInherent and squash warnings

* test bitfield signing checks

* rename parachain head to para_head

* fix note_new_head bug in paras

* test bitfield enactment in inclusion

* helpers for candidate checks

* add test for most candidate checks

* add test for backing setting storage

* test session change logic

* remove extraneous type parameter

* remove some allow(unused)s

* extract threshold computation to const fn

* remove some more allow(unused)s

* improve doc

* add debug assertion

* fix primitive test compilation

* tag unanimous variant as unused
2020-06-18 19:38:07 -04:00
Fedor Sakharov 7accc6e499 Guide: router module (#1279)
* Router module initial commit

* Add the router.md itself

* Enqueue only on enact_candidate

* Initialization concerns

* Ignore the snippet

* Update roadmap/implementors-guide/src/runtime/router.md

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

* Dispatch messages on finalization

* More fixes from review

* Update roadmap/implementors-guide/src/SUMMARY.md

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

* Adds router to initializer order

* Adds messages.md

Co-authored-by: Robert Habermeier <rphmeier@gmail.com>
2020-06-18 15:13:28 -04:00
Pierre Krieger 3d7c3479b2 Revert yamux to 0.4.5 (#1281) 2020-06-18 11:43:51 +02:00
Arkadiy Paronyan ae9ebc38bb Bump trie-db (Companion for substrate#6364) (#1274)
* Bump trie-db

* Bump substrate
2020-06-18 11:13:15 +02:00
Kian Paimani 3c9d72fb57 Companion for substrate/pull/6334 (#1263)
* fix all runtimes and add test'

* Fix build

* Undo changes to lock file?

* Fix runtime test

* Remove unused imports

* cargo update -p sp-io

* Update Cargo.lock

* bump spec version

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
2020-06-18 09:41:39 +02:00
Robert Habermeier c226c4403d Add some message types from subsystem definitions (#1265)
* introduce polkadot-node-primitives

* guide: change statement distribution message types

* guide: remove variant from `CandidateSelectionMessage`

* add a few more message types

* add TODOs

* Almost all messages

* NewBackedCandidate notification

* Formatting

* Use AttestedCandidate as BackedCandidate

* Update node/primitives/src/lib.rs

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

* Fix the tests

* Bring in types from #1242

* Adds network bridge messages

* More message types from doc

* use fn pointer type

* Fixes from the review

* Add missing Runtime subsystem message

* rename to CandidateValidationMessage and fix tests

Co-authored-by: Fedor Sakharov <fedor.sakharov@gmail.com>
Co-authored-by: Peter Goodspeed-Niklaus <coriolinus@users.noreply.github.com>
2020-06-17 19:49:17 -04:00
Robert Habermeier 87ae6e42f5 Various Guide Improvements (#1270)
* types chapter & candidate types

* Factor out some message types

* backing and availability types.

* spacing

* finish thought

* info on signed payloads

* update links

* explicit wrapper types

* add remaining message types

* add runtime API subsystem

* adjust language

* tweak candidate validation message

* find homes for some misfit types

* embed abridged within full candidate receipt

* Update roadmap/implementors-guide/src/SUMMARY.md

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

* Update roadmap/implementors-guide/src/SUMMARY.md

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

* adjust text on candidate selection message to match

Co-authored-by: Peter Goodspeed-Niklaus <coriolinus@users.noreply.github.com>
2020-06-17 15:09:43 -04:00
Bastian Köcher c712bbb0d9 Add some logging to the validation pipeline. (#1278) 2020-06-17 15:08:54 -04:00
Peter Goodspeed-Niklaus 04097c881d Update guide candidate validation module (#1264)
* first pass updating candidate validation module in the guide

* expand candidate validation functionality section

* add candidate fetch; validation requires PoV to be provided

* remove candidate fetch
2020-06-17 14:37:03 -04:00
s3krit c3ed40fbe6 [CI] Add criticality of release to release notes (#1259)
* Enforces presence of C-labels to designate the importance of a release
* Iterates over them on a release, takes the highest present and includes it in the release notes
* Lists the change(s) that caused the release to be that priority
2020-06-17 14:10:13 +02:00
Gav Wood 43e7a3be33 Another CI fix 2020-06-17 13:15:09 +02:00
Gav Wood e21a6bf763 Fix CI 2020-06-17 13:13:05 +02:00
Gavin Wood fdda80295f v0.8.10 (Polkadot 10) (#1277)
* Rename old labels.

* Bump runtimes

* Bump versions

* Bump lock
2020-06-17 13:03:23 +02:00
Xiliang Chen 43d99bf24b fix build (#1260) 2020-06-17 12:23:15 +02:00
Gav Wood 825b4b4b34 Bump 2020-06-16 18:52:10 +02:00
Gavin Wood 3adb08d916 Bump (#1273) 2020-06-16 18:20:59 +02:00
Peter Goodspeed-Niklaus 0dffa4e4d8 small tweaks to candidate selection (#1253)
* small tweaks to candidate selection

* clarify the nature of inputs
2020-06-16 11:52:37 -04:00
Fabio Lama 333649ae20 Change absolute links in Implementers's Guide to relative links (#1272)
* adjust to relative links

* additional adjustment to relative link

* link directly to file

* link directly to file
2020-06-16 10:04:49 -04:00
Martin Pugh b5aecb8a3d update label names for check_labels job 2020-06-16 15:38:43 +02:00
s3krit e3a258ffcb [CI] Fix autolabel (#1271)
Missed the necessary remove-labels from the Label New PRs job
2020-06-16 13:05:17 +02:00
s3krit b0b43f8eed [CI] Auto-label new PRs depending on status (#1267)
* Add auto-labelling github action

* Update auto-label-prs.yml

* Update auto-label-prs.yml

* Update auto-label-prs.yml
2020-06-16 10:32:41 +02:00
Guillaume Thiolliere 8492e622ae Companion: remove IsCallable make use of introduced in-origin filtering (#1226)
* remove IsCallable make use of in-origin filter

* update lock

* bump version for runtimes as spec as changed

* trigger CI

* Revert "trigger CI"

This reverts commit 5ac58fd42ac50dfb2fcd41ca866c7f6a605c5112.
2020-06-16 10:32:19 +02:00
Peter Goodspeed-Niklaus c1b329491f update provisioner subsystem (#1257)
* update provisioner subsystem

Closes #1143

* update with answers to the questions posed by previous todos

* add misbehavior reports, disputes to provisioner messages

* expand on the protocol

* updates per code review
2020-06-15 15:53:48 +02:00
Gav Wood ef2aa428d7 Version and lock 2020-06-12 16:10:10 +02:00
Gavin Wood 4317d1b980 Bump versions, tweak deposit costs. (#1252)
* Bump versions, tweak deposit costs.

* Version

* Lock

* Make test work ok when numbers are not round.

* Bump Substrate

* Lock
2020-06-12 16:08:31 +02:00
Fedor Sakharov d7e17fc612 New service initial commit (#1234)
* New service initial commit

* More separation of the new and old services

* Fix review comments

* Adds polkadot.json

* Fix browser build

* Remove unused import

* Update node/service/src/lib.rs

Co-authored-by: Fedor Sakharov <fedor.sakharov@gmail.com>

* Remove duplicate json files

Co-authored-by: Robert Habermeier <rphmeier@gmail.com>
2020-06-11 15:26:15 -04:00
Robert Habermeier 04c8603042 Scheduler Module (#1162)
* scheduler module skeleton

* update scheduler skeleton to match latest version of guide

* better session change notification

* add mock randomness and fix test compilation

* shuffle validators into groups

* finish implementing session change logic for scheduler

* tweak core assignment type to track retries of parathread

* reframe queued parathread core as offset

* implement initialzation and finalization routines

* implement parathread claim queuing

* implement core_para

* implement the group_validators routine and fix errors

* add a reason for freeing cores

* implement `schedule` function

* add some docs to the scheduled function

* implement `occupied` helper

* implement availability predicate

* fix some warnings

* integrate scheduler into initializer

* integrate scheduler into mock module

* avoid conflict with Substrate's scheduler storage

* add parathreads index to paras module

* implement parathreads map in paras module

* add is_parathread to paras

* test adding parathread claim

* test that you cannot add claims when no parathread cores exist

* check session change parathread queue pruning

* test validator shuffling

* add allow_unused to scheduler items

* add test for scheduling

* add some more tests for scheduling logic

* test core rotation

* check parathread claim pruning after retries

* add bound notes

* Apply suggestions from code review

Co-authored-by: Peter Goodspeed-Niklaus <coriolinus@users.noreply.github.com>
Co-authored-by: Bernhard Schuster <bernhard@ahoi.io>

* more suggestions from review

* test availability predicate, add box to please compiler

* add changes to guide

Co-authored-by: Peter Goodspeed-Niklaus <coriolinus@users.noreply.github.com>
Co-authored-by: Bernhard Schuster <bernhard@ahoi.io>
2020-06-11 15:15:30 -04:00
Peter Goodspeed-Niklaus 053bfc2d0c Convert guide from single markdown file to mdbook (#1247)
* move old implementers' guide, add skeleton of new

* Split the old implementers' guide into the new one's sections

This is mostly a straightforward copying operation, moving the
appropriate sections from the old guide to the new. However, there
are certain differences between the old text and the new:

- removed horizontal rules between the sections
- promoted headers appropriately within each section
- deleted certain sections which were in the old guide's ToC but
  which were not actually present in the old guide.
- added Peer Set Manager to the new ToC

* remove description headers

It is redundant and unnecessary. Descriptions fall directly under the
top-level header for any given section.

* add stub description of the backing module

* add stub description for the availability module

* add stub description for collators

* add stub description for validity

* add stub description for utility

* highlight TODO and REVIEW comments

* add guide readme describing how to use mdbook

* fix markdownlint lints

* re-title parachains overview

* internal linking for types

* module and subsystem internal links

* .gitignore should have a trailing newline

* node does not have modules, just subsystems
2020-06-11 17:04:23 +02:00
Cecile Tonglet 41ef46e60b Allow starting westend chain from start_collator (#1246)
* Initial commit

Forked at: b925981971
Parent branch: origin/master

* Allow starting westend chain from start_collator
2020-06-11 14:01:46 +02:00
André Silva 9bb2e0dadc service: update to latest ServiceBuilder changes (#1245)
* service: update to latest ServiceBuilder changes

* Update Cargo.lock

Co-authored-by: Bastian Köcher <git@kchr.de>
2020-06-11 13:43:20 +02:00
Robert Habermeier b925981971 Utility subsystem for actually connecting to network (#1205)
* define subsystems skeleton

* Create a blank section for each subsystem in the initial batch

* write out basics for most subsystems

* define network bridge subsystem

* integrate network bridge into network systems

* Apply suggestions from code review

some nits

Co-authored-by: Max Inden <mail@max-inden.de>

* clean up wording

Co-authored-by: Max Inden <mail@max-inden.de>
2020-06-10 13:31:29 -04:00
Robert Habermeier 88161da402 Write out stubs for most backing and availability subsystems (#1199)
* define subsystems skeleton

* Create a blank section for each subsystem in the initial batch

* write out basics for most subsystems

* Update roadmap/implementors-guide/guide.md

clean up language

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

* ToC indentation

* clean up wording

* renaming block authorship (provisioning) to Provisioner

Co-authored-by: Peter Goodspeed-Niklaus <coriolinus@users.noreply.github.com>
2020-06-10 11:24:37 -04:00
Cecile Tonglet 61e82c3495 Add the ability to change the informant's prefix (#1221)
* Initial commit

Forked at: 261d701c5b
Parent branch: origin/master

* Add the ability to change the informant's prefix

* Update Cargo.lock

* Update Cargo.lock

* fixed tests

* Rename prefix to informant prefix
2020-06-10 16:50:47 +02:00
Peter Goodspeed-Niklaus 67e7fba60d expand validity subsystems descriptions independent of subsystems overview (#1185)
* expand subsystems descriptions independent of subsystems overview

The subsystems overview in https://github.com/paritytech/polkadot/pull/1161
is a very useful reference for what subsystems need to talk to each other,
when, and why; it helps us design the actual messages.

However, administratively, it belongs in a different PR. This commit
brings in all the changes made there so far as a base for an independent
PR.

* Reorder subsystem descriptions, add some messages

Update ordering of subsystem descriptions to rough order of use,
mirroring the order in the overview document.

Added some message types. Added OverseerSignal variants to several
types, such that each subsystem only needs to listen for a single
type.

* add some more message types, Statement Distribution overview

* add more detail on Statement Distribution, Misbehavior Arbitration

* intentionally punt MA details for a future PR

* reduce duplication from overseer signal handling

* reword for clarity

* clarify: other modules and subsystems also get to talk to the network

* finish current work on candidate selection

* update candidate backing subsystem description according to current thought

* update mechanism for candidate backing to report collator misbehavior to candidate selection

* sketch out the peer receipt state machine

* Fix typo in roadmap/implementors-guide/guide.md

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

* Don't specify 'peer validators', as messages from non-validator peers are ignored regardless

* clarify instancing of peer receipt state machine

* add section on peer knowledge tracking

* fix typo in roadmap/implementors-guide/guide.md

Co-authored-by: Max Inden <mail@max-inden.de>

Co-authored-by: Robert Habermeier <rphmeier@gmail.com>
Co-authored-by: Max Inden <mail@max-inden.de>
2020-06-10 09:13:32 -04:00
Cecile Tonglet 8662ff7686 Companion PR for https://github.com/paritytech/substrate/pull/6221 (#1213)
* Initial commit

Forked at: fc45a8e673
Parent branch: origin/master

* Remove unnecessary Clone derives

* Update Cargo.lock

* Update Cargo.lock again
2020-06-10 14:59:49 +02:00
Shawn Tabrizi 569b30e813 quick typo fix (#1225) 2020-06-10 13:27:33 +02:00
Gavin Wood 2978c1b9f4 v0.8.7 (#1222)
* Bump Substrate again.

* update kusama runtmie for ensure origin

* update polkadot runtime for ensure origin

* fix imports

* root only available for runtime benchmarks

* Fix lock file

* Bump Substrate

* Update lock

* Remove questionable feature-gating.

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
2020-06-10 13:06:33 +02:00
Denis Pisarev a364c4880d CI images were moved (#1194)
* change (ci): ci images were moved

* change (ci): rename substrate-ci-linux
2020-06-10 09:29:56 +02:00
Seun Lanlege 752f560a0a companion pr for #6235 (#1215)
* companion pr for paritytech/substrate#6235

* ???

* nah doesn't work for my branch

* bump Cargo.lock

* bump kusama spec versin

* bump kusama spec version

* revert to master

* bump Cargo.lock

Co-authored-by: Bastian Köcher <git@kchr.de>
2020-06-09 23:13:01 +02:00
Gavin Wood f4ead58695 Bump Substrate version (#1220) 2020-06-09 18:29:20 +02:00
Rakan Alhneiti 261d701c5b Companion PR to substrate/6178 (#1167)
* Cast keystore pointer

* Update cargo.lock
2020-06-09 14:05:43 +02:00
Gavin Wood 425f4bb060 Bump versions. (#1219)
* Bump versions.

* Update lock
2020-06-09 12:26:50 +02:00