Commit Graph

897 Commits

Author SHA1 Message Date
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
s3krit 9bbcc3d89f [CI] Fix release notification message, and add rustc version to release notes (#1191)
* Release announcements: s/kusama/polkadot/

* Additional debug info for gitlab publish script

* add rustc version check job

* fully comment out tag-checking

* s/podman/docker/g

* Switch to rust-builder image and install jq

* remove temporary TODOs
2020-06-09 11:12:34 +02:00
Gavin Wood 3e5e67855b Admin facility to move claims with council permission. (#1198) 2020-06-09 11:09:17 +02:00
s3krit bb0e37f23a Update lib.sh (#1203)
Changes behaviour of `sanitised_git_logs` to collate all changes when operating on separate branches.
2020-06-08 21:50:00 +02:00
Gavin Wood cd0258d224 Bump versions, tweak SudoBalances constraint to add batching. (#1216) 2020-06-08 20:11:34 +02:00
Gavin Wood c7f957ceec Companion for #6273 (Introduce stacked filtering) (#1212)
* Fix for new Substrate

* Fix

* Remove Utility constraint in NonTransfer

* Bump

* Fixes

* Allow limited utilities in proxy filters.

* Fix

* Add SudoBalances proxy restrictions
2020-06-08 17:23:56 +02:00
Marcio Diaz 780f4a564e Companion PR for #6214 (#1204)
* Rename Fixed128 to FixedI128.

* Bump cargo, merge #6236 fixes

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
2020-06-06 23:00:32 +02:00
Bastian Köcher 11140c4202 Companion for Substrate #6123 (#1206)
* Companion for Substrate #6123

* Update Substrate
2020-06-05 23:33:13 +02:00
Robert Habermeier 2ff55ca4b6 Add exception to overseer communication and write up local and remote disputes (#1176)
* clarify exception to communication rule for responses

* add note about outside world

* write up my understanding of local and remote disputes

* clean up secondary checker language

* amend to match Jeff's notes
2020-06-05 13:55:16 -04:00
Robert Habermeier 9d5eae6ea3 establish new node folder for overseer, messages, and subsystems (#1200)
* establish new `node` folder for overseer, messages, and subsystems

* extract message types from overseer crate

* remove doc links
2020-06-05 10:48:35 -04:00
Pierre Krieger ecb6a10751 Update to Substrate master (#1196)
* Update to Substrate master

* Re-do upgrade
2020-06-05 11:45:33 +02:00
Gavin Wood f2c6eee7f1 Generalised proxies in Polkadot (#1190)
* Introduce generalised proxies to polkadot

* Introduce proxy to westend

* Add proxy to Kusama.

* Fix
2020-06-04 20:30:38 +02:00
Peter Goodspeed-Niklaus 3d0bda8a42 Add an overview of Validity subsystems (#1161)
* migrate subsystem expansion PR from w3f/research

As the file at this new location included changes not present in
https://github.com/w3f/research/pull/87, this is effectively a
rebase, applied manually. I believe that I have successfully retained
all of, and only, the intended changes.

* add section on collators

* note why the overseer is the terminal message point for the validation subsystem

* add detail about how the validitiy system gets PoV blocks

* rename to Validity Subsystems Overview

* get rid of changes to the implementor's guide

I think it makes most sense to track and review the subsystems
overview in a different PR than the one which adds content to
the implementor's guide.

* punt misbehavior arbitration details to the future

* empty commit to rerun CI
2020-06-04 12:35:37 -04:00
Fedor Sakharov f25fd672af Add block event forwarding into the Overseer (#1192)
* Add block event forwarding into the Overseer

* Add a doc comment

* Fix a doc comment
2020-06-03 12:49:04 -04:00
Fedor Sakharov fc45a8e673 Adds start and stop work heartbeats. (#1188)
* Adds start and stop work heartbeats.

* Apply suggestions from code review

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

* Fix code after suggested changes

* Finalizing stops work on earlier lower blocks.

* Fix func parameter and flaky test

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2020-06-03 09:30:21 +03:00
Robert Habermeier 593fa2b0c1 note pruning of orphan blocks in the overseer description (#1189)
* note pruning of orphan blocks in the overseer description

* remove note about finalization events being maybe not needed
2020-06-02 16:19:53 -04:00
Kian Paimani 491f3bcb88 Comanion for substrate/pull/6173 (#1184)
* Make it work

* Upsub
2020-06-02 19:52:19 +02:00
Robert Habermeier bd2304ec98 New parachain runtime skeleton (#1158)
* file structure and initializer skeleton

* ensure session changes happen before initialization

* add a couple tests for initializer flow

* integrate with session handling

* configuration update logic

* configuration methods

* move test mock to its own module

* integrate configuration into initializer

* add note about initialization order

* integrate configuration module into mock

* add some tests for config module

* paras module storage

* implement paras session change operation

* amend past code pruning to fully cover acceptance period

* update guide again

* do pruning of historical validation code

* add weight to initialization

* integrate into mock & leave notes for next session

* clean up un-ended sentence

* alter test to account for double index in past code meta

* port over code-at logic test

* clarify checking for conflicting code upgrades

* add genesis for paras, include in mock, ensure incoming paras are processed

* note on return value of `validation_code_at`

* implement paras routines from implementor's guide

* bring over some existing tests and begin porting

* port over code upgrade tests

* test parachain registration

* test code_at with intermediate block

* fix warnings

* clean up docs and extract to separate struct

* adjust implementor's guide to include replacementtimes

* kill stray println

* rename expected_at to applied_after

* rewrite ParaPastCodeMeta to avoid reversal

* clarify and test interface of validation_code_at

* make FutureCode optional

* rename do_old_code_pruning

* add comment on Option<()> to answer FAQ

* address some more grumbles
2020-06-02 12:34:07 -04:00
Gavin Wood 86c66a7741 Updtae constraint (#1187) 2020-06-02 18:03:28 +02:00
Fedor Sakharov fa46a92353 Overseer (#1152)
* Initial commit

* Licenses, spaces, docs

* Add a spawner

* Watch spawned subsystems with a FuturesUnordered

* Move the types around a bit

* Suggested fixes by Max

* Add a handler to talk to the Overseer

* FromOverseer and ToOverseer msgs and stopping

* Docs and return errors

* Dont broadcast, have add a from field to messages

* Allow communication between subsystems and outside world

* A message with a oneshot to send result example

* Remove leftover can_recv_msg

* Remove from field from messages

* Dont be generic over stuff

* Gather messages with StreamUnordered

* Fix comments and formatting

* More docs fixes and an example

* Apply suggestions from code review

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

* Fixes from review

Move function from impl block.
Do not panic but resolve with errors if spawner fails or subsystem
resolves.

* Dropping a handler results in a flaky test

Co-authored-by: Robert Habermeier <rphmeier@gmail.com>
2020-06-02 15:36:20 +03:00
Robert Habermeier 03576b3707 Remove old runtime requirements section, reorganize, and improve ToC (#1180)
* remove old runtime requirements section

* reorganize guide and improve ToC
2020-06-01 17:52:42 -04:00
Pierre Krieger 433c09833c Depend on async-std 1.5.0 only (#1179) 2020-06-01 20:03:50 +02:00
Gavin Wood 3c98185e1c Identity pallet (#1178)
* Identity

* Bump spec

* Update runtime/polkadot/src/lib.rs

Co-authored-by: kaichao <kaichaosuna@gmail.com>

* Fix runtime

* Bump runtimes

Co-authored-by: kaichao <kaichaosuna@gmail.com>
2020-06-01 20:03:28 +02:00
Bastian Köcher c04c88d71e Keep the table router for the lifetime of the validation instance alive (#1175)
This pr ensures that the table router stays alive for the lifetime of
the validation instance. This is required to ensure that the node
responds onto gossip messages for the particular relay chain round.
Before, the table router was only kept alive for relay chain nodes that
were assigned to a Parachain, however the lifetime was also relative
short. This lead to bugs where a relay chain node did not include
PoVBlock's, because it did not receive them (rejected them on receive,
because it was not listening on the particular round).
2020-06-01 09:07:29 -04:00
Pierre Krieger 329e177a5a Fix the Prometheus endpoint not working (#1172)
* Revert async-std to 1.5.0

* Funny, some part of the Cargo.lock didn't get commited
2020-05-30 11:31:48 +02:00