Skip to content
  1. Jul 10, 2020
    • asynchronous rob's avatar
      Refactor primitives (#1383) · 3b13cd9a
      asynchronous rob authored
      * create a v1 primitives module
      
      * Improve guide on availability types
      
      * punctuate
      
      * new parachains runtime uses new primitives
      
      * tests of new runtime now use new primitives
      
      * add ErasureChunk to guide
      
      * export erasure chunk from v1 primitives
      
      * subsystem crate uses v1 primitives
      
      * node-primitives uses new v1 primitives
      
      * port overseer to new primitives
      
      * new-proposer uses v1 primitives (no ParachainHost anymore)
      
      * fix no-std compilation for primitives
      
      * service-new uses v1 primitives
      
      * network-bridge uses new primitives
      
      * statement distribution uses v1 primitives
      
      * PoV distribution uses v1 primitives; add PoV::hash fn
      
      * move parachain to v0
      
      * remove inclusion_inherent module and place into v1
      
      * remove everything from primitives crate root
      
      * remove some unused old types from v0 primitives
      
      * point everything else at primitives::v0
      
      * squanch some warns up
      
      * add RuntimeDebug import to no-std as well
      
      * port over statement-table and validation
      
      * fix final errors in validation and node-primitives
      
      * add dummy Ord impl to committed candidate receipt
      
      * guide: update CandidateValidationMessage
      
      * add primitive for validationoutputs
      
      * expand CandidateValidationMessage further
      
      * bikeshed
      
      * add some impls to omitted-validation-data and available-data
      
      * expand CandidateValidationMessage
      
      * make erasure-coding generic over v1/v0
      
      * update usages of erasure-coding
      
      * implement commitments.hash()
      
      * use Arc<Pov> for CandidateValidation
      
      * improve new erasure-coding method names
      
      * fix up candidate backing
      
      * update docs a bit
      
      * fix most tests and add short-circuiting to make_pov_available
      
      * fix remainder of candidate backing tests
      
      * squanching warns
      
      * squanch it up
      
      * some fallout
      
      * overseer fallout
      
      * free from polkadot-test-service hell
      3b13cd9a
  2. Jul 09, 2020
    • Fedor Sakharov's avatar
      CandidateBackingSubsystem (#1312) · c1196278
      Fedor Sakharov authored
      * Updates guide for CandidateBacking
      
      * Move assignment types to primitives
      
      * Initial implementation.
      
      * More functionality
      
      * use assert_matches
      
      * Changes to report misbehaviors
      
      * Some fixes after a review
      
      * Remove a blank line
      
      * Update guide and some types
      
      * Adds run_job function
      
      * Some comments and refactorings
      
      * Fix review
      
      * Remove warnings
      
      * Use summary in kicking off validation
      
      * Parallelize requests
      
      * Validation provides local and global validation params
      
      * Test issued validity tracking
      
      * Nits from review
      c1196278
    • asynchronous rob's avatar
      Delay session changes' effects on parachains by 1 block (#1354) · 8130d821
      asynchronous rob authored
      
      
      * note that the initializer is responsible for buffering session changes
      
      * amend initializer definition to include session change buffering
      
      * support buffered changes before `on_initialize`
      
      * implement and test session buffering
      
      * Update roadmap/implementors-guide/src/runtime/README.md
      
      Co-authored-by: default avatarBernhard Schuster <[email protected]>
      
      * expand on how this affects misbehavior reports
      
      * fix typo
      
      Co-authored-by: default avatarBernhard Schuster <[email protected]>
      8130d821
  3. Jul 08, 2020
  4. Jul 07, 2020
  5. 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
  6. 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
  7. 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
    • Arkadiy Paronyan's avatar
      Bump trie-db (Companion for substrate#6364) (#1274) · ae9ebc38
      Arkadiy Paronyan authored
      * Bump trie-db
      
      * Bump substrate
      ae9ebc38
  8. Jun 16, 2020
  9. 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
  10. 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