* 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>
* 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>
* 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
* 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>
* Add new trait to offences
* companion for substrate#6069
* update to latest changes
* Update Cargo.lock
Co-authored-by: André Silva <andre.beat@gmail.com>
Co-authored-by: Gav Wood <gavin@parity.io>
* Introduce mandatory statement signing into claims
* Introduce SignedExtension
* Tests passing
* Bump runtime version
* Bump version, fix test
* Test for validate
* Another couple of tests
* Enable PrevalidateAttests on Polkadot
* Enable PrevalidateAttests on Polkadot
* Fix build
* Fixes
* More fixes
* Fix bench tests
* Fix & test Preclaim clobbering.
* Fix for errant claim logic
* Add test
* Update tests, always use Vec as input
* mint_claim can add signature, some_benchmarks
* Add claim with statement test
* finish benchmarks
* put the correct number of claims with benchmarks
* fix compiler warning
* Update weights
* Weight comments for validation
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>