* 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
* Make sure that vested claims are not transferable
We need to deposit the claimed balance to the destination account before
setting the locks through the vesting module. Otherwise we loose the
locks and the vested claim is directly transferable.
* Add comment
* Enable missing feature for webbrowser check
* Remove unneeded error variant
* Increment `spec_version`'s
* Fix tests
* Add tests for Balance module weights
* Add tests for some of the Staking functions
* Add tests for system Pallet weights
* Add weight tests for Session pallet
* Add tests for Democracy Pallet weights
* Add tests for Phragment weights
* Add tests for Treasury weights
* Use consistent naming for tests
* Split tests into separate weight and fee suites
* Move weight constant checks into one test
* Use formulas instead of hardcoded weights
* Slim down number of tests
Mainly removing ones that are either root calls that aren't "important",
or others which will likely change if another test (which we kept) also
changes.
* Update timestamp set() weight
* Update Staking Pallet weights
* Update Democracy Pallet weights
* Update copyright year
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.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>