Skip to content
  1. Jul 08, 2020
  2. Jul 07, 2020
  3. Jun 30, 2020
    • Peter Goodspeed-Niklaus's avatar
      impl ProvideInherent for InclusionInherent (#1318) · 90de5591
      Peter Goodspeed-Niklaus authored
      * impl ProvideInherent for InclusionInherent
      
      * reduce import churn; correct expect message
      
      * move inclusion inherent identifier into primitives
      
      It's not clear precisely why this is desired, but it's a pattern
      I've seen in several places, so I'm going this to be on the
      safe side. Worst case, we can revert this commit pretty easily.
      
      * bump kusama spec_version to placate CI
      
      * add license header
      
      * empty commit; maybe github will notice the one with changes
      
      * add sanity check to only include valid inherents
      90de5591
  4. Jun 20, 2020
    • Peter Goodspeed-Niklaus's avatar
      signed wrapper (#1283) · 14ce04c9
      Peter Goodspeed-Niklaus authored
      
      
      * 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: default avatarRobert Habermeier <[email protected]>
      
      Co-authored-by: default avatarRobert Habermeier <[email protected]>
      14ce04c9
  5. Jun 18, 2020
    • asynchronous rob's avatar
      Inclusion Module (#1242) · 879892d3
      asynchronous rob authored
      * 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
      879892d3
  6. Jun 16, 2020
  7. Jun 11, 2020
    • asynchronous rob's avatar
      Scheduler Module (#1162) · 04c86030
      asynchronous rob authored
      
      
      * 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: default avatarPeter Goodspeed-Niklaus <[email protected]>
      Co-authored-by: default avatarBernhard Schuster <[email protected]>
      
      * more suggestions from review
      
      * test availability predicate, add box to please compiler
      
      * add changes to guide
      
      Co-authored-by: default avatarPeter Goodspeed-Niklaus <[email protected]>
      Co-authored-by: default avatarBernhard Schuster <[email protected]>
      04c86030
  8. Jun 02, 2020
    • asynchronous rob's avatar
      New parachain runtime skeleton (#1158) · bd2304ec
      asynchronous rob authored
      * 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
      bd2304ec