* 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
* 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.
* 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>