1. Feb 19, 2021
    • Shawn Tabrizi's avatar
      Session Delayed Para Changes / Actions Queue (#2406) · a5defa7c
      Shawn Tabrizi authored
      
      
      * initial implementation of lifecycles and upgrades
      
      * clean up a bit
      
      * fix doc comment
      
      * more rigid lifecycle checks
      
      * include paras which are transitioning, and lifecycle query
      
      * format guide
      
      * update api
      
      * update guide
      
      * explicit outgoing state, fix genesis
      
      * handle outgoing with transitioning paras
      
      * do not include transitioning paras in identifier
      
      * Update roadmap/implementers-guide/src/runtime/paras.md
      
      * Update roadmap/implementers-guide/src/runtime/paras.md
      
      * Update roadmap/implementers-guide/src/runtime/paras.md
      
      * Apply suggestions from code review
      
      * Use matches macro
      
      * Correct terms
      
      * Apply suggestions from code review
      
      * actions queue
      
      * Revert "actions queue"
      
      This reverts commit b2e9011ec8937d6c73e99292416c9692aeb30f73.
      
      * collapse onboarding state
      
      * starting actions queue
      
      * consolidate actions queue
      
      * schedule para initialize result
      
      * more actions queue for upgrade/downgrade
      
      * clean up with fully implemented actions queue
      
      * fix tests
      
      * fix scheduler tests
      
      * fix hrmp tests
      
      * fix test
      
      * doc fixes
      
      * fix hrmp test w/ valid para
      
      * Update paras.md
      
      * fix paras registrar
      
      * Update propose_parachain.rs
      
      * fix merge
      
      * Introduce "shared" module
      
      * fix rococo build
      
      * fix up and use shared
      
      * guide updates
      
      * add shared config to common tests
      
      * add shared to test-runtime
      
      * remove println
      
      * fix note
      
      Co-authored-by: default avatarGavin Wood <[email protected]>
      a5defa7c
  2. Feb 18, 2021
  3. Feb 17, 2021
  4. Feb 16, 2021
    • Bastian Köcher's avatar
      Make sure the adder collator fails when something is wrong (#2450) · 27c7347b
      Bastian Köcher authored
      As futures most of the time are catching panics and we don't check this,
      it could happen that we have some statement that isn't correct but the
      test succeeds successfully.
      27c7347b
    • asynchronous rob's avatar
      Disputes High-level rewrite & Disputes runtime (#2424) · a8d3aca1
      asynchronous rob authored
      * REVERT: comment out graphviz
      
      * rewrite most of protocol-disputes
      
      * write about conclusion and  chain selection
      
      * tie back in overview
      
      * basic disputes module
      
      * guide: InclusionInherent -> ParaInherent
      
      * language
      
      * add ParaInherentData type
      
      * plug parainherentdata into provisioner
      
      * provide_multi_dispute
      
      * tweak
      
      * inclusion pipeline logic for disputes
      
      * be clearer about signature checking
      
      * reject backing of disputed blocks
      
      * some type rejigging
      
      * known-disputes runtime API
      
      * wire up inclusion
      
      * Revert "REVERT: comment out graphviz"
      
      This reverts commit 66203e362f7872cb413d258f74634a0aad70302b.
      
      * timeouts
      
      * include in initialization order
      
      * address grumbles
      a8d3aca1
    • thiolliere's avatar
      companion: Babe remove inherent (#2438) · 8734cf62
      thiolliere authored
      8734cf62
    • ordian's avatar
      fix approval import tests and some bugs (#2452) · b28e1b4e
      ordian authored
      * tests: use future::join
      
      * fix panic in cache_session_info_for_head
      
      * fix test assertion
      
      * fix infinite loop in determine_new_blocks
      
      * fix ordering in determine_new_blocks
      
      * fix expected ancestry in tests
      b28e1b4e
    • Sergey Pepyakin's avatar
      Clean up sizes for a workspace (#2445) · 30cba253
      Sergey Pepyakin authored
      30cba253
    • asynchronous rob's avatar
      Integrate Approval Voting into Overseer / Service / GRANDPA (#2412) · 4f21cc7e
      asynchronous rob authored
      * integrate approval voting into overseer
      
      * expose public API and make keystore arc
      
      * integrate overseer in service
      
      * guide: `ApprovedAncestor` returns block number
      
      * return block number along with hash from ApprovedAncestor
      
      * introduce a voting rule for reporting on approval checking
      
      * integrate the delay voting rule
      
      * Rococo configuration
      
      * fix compilation and add slack
      
      * fix web-wasm build
      
      * tweak parameterization
      
      * migrate voting rules to asycn
      
      * remove hack comment
      4f21cc7e
  5. Feb 15, 2021
    • Sergey Pepyakin's avatar
      Mitigation of SIGBUS (#2440) · 5c68e6f9
      Sergey Pepyakin authored
      * Update shared-memory to new version & refactor
      
      This two are combined in a single commit because the new version of
      shared-memory doesn't provide the used functionality anymore.
      
      Therefore in order to update the version of this crate we implement the
      functionality that we need by ourselves, providing a cleaner API along
      the way.
      
      * Significantly decrease the required memory for a workspace
      
      For some reason it was allocating an entire GiB of memory. I suspect
      this has something to do with the current memory size limit of a PVF
      execution environment (the prior name suggests that). However, we don't
      need so much memory anywhere near that amount.
      
      In fact, we could reduce the allocated size even more, but that maybe
      for the next time.
      
      * Unlink shmem just after opening
      
      That will make sure that we don't leak the shmem accidentally.
      
      * Do not compile workspace mod for androind and wasm
      
      * Address some review comments
      
      * Fix the test runner
      
      * Fix missed +1 for the attached flag
      
      * Use .expect rather than .unwrap
      
      * Add a rustdoc for the workspace module
      
      * fixup! Use .expect rather than .unwrap
      
      * Add some doc comments to pub members
      
      * Warn on error removing shm_unlink
      
      * Change the alignment implementation
      
      * Fix the comment nit
      5c68e6f9
    • André Silva's avatar
      node: migrate grandpa voting rule to async api (#2422) · 4503346c
      André Silva authored
      
      
      * node: migrate grandpa voting rule to async api
      
      * node: fix grandpa voting rule tests
      
      * "Update Substrate"
      
      * update Substrate
      
      Co-authored-by: parity-processbot <>
      Co-authored-by: default avatarRobert Habermeier <[email protected]>
      4503346c
    • Shawn Tabrizi's avatar
      Initializer + Paras Clean Up Messages When Offboarding (#2413) · eb0159f2
      Shawn Tabrizi authored
      * initial hack in
      
      * finish up
      
      * use notification to pass outgoing paras
      
      * move outgoing paras from notifications
      
      * missing comma
      
      * update guides
      
      * clean up
      eb0159f2
    • Bastian Köcher's avatar
      Polkadot companion for 8114 (#2437) · 22f85c80
      Bastian Köcher authored
      * Polkadot companion for 8114
      
      https://github.com/paritytech/substrate/pull/8114
      
      * "Update Substrate"
      
      Co-authored-by: parity-processbot <>
      22f85c80
    • Pierre Krieger's avatar
      Companion for substrate#8079 (#2408) · dc45c2d2
      Pierre Krieger authored
      * Companion for substrate#8079
      
      * More changes
      
      * "Update Substrate"
      
      Co-authored-by: parity-processbot <>
      dc45c2d2
    • Bastian Köcher's avatar
      4beb4a4a
  6. Feb 14, 2021
    • Bastian Köcher's avatar
      Notify collators about seconded collation (#2430) · 4975521d
      Bastian Köcher authored
      * Notify collators about seconded collation
      
      This pr adds functionality to inform a collator that its collation was
      seconded by a parachain validator. Before this signed statement was only
      gossiped over the validation substream. Now, we explicitly send the
      seconded statement to the collator after it was validated successfully.
      
      Besides that it changes the `CollatorFn` to return an optional result
      sender that is informed when the build collation was seconded by a
      parachain validator.
      
      * Add test
      
      * Make sure we only send `Seconded` statements
      
      * Make sure we only receive valid statements
      
      * Review feedback
      4975521d
  7. Feb 13, 2021
  8. Feb 12, 2021
  9. Feb 11, 2021
    • asynchronous rob's avatar
      Implement Approval Voting Subsystem (#2112) · e48c6875
      asynchronous rob authored
      
      
      * skeleton
      
      * skeleton aux-schema module
      
      * start approval types
      
      * start aux schema with aux store
      
      * doc
      
      * finish basic types
      
      * start approval types
      
      * doc
      
      * finish basic types
      
      * write out schema types
      
      * add debug and codec impls to approval types
      
      * add debug and codec impls to approval types
      
      also add some key computation
      
      * add debug and codec impls to approval types
      
      * getters for block and candidate entries
      
      * grumbles
      
      * remove unused AssignmentId
      
      * load_decode utility
      
      * implement DB clearing
      
      * function for adding new block entry to aux store
      
      * start `canonicalize` implementation
      
      * more skeleton
      
      * finish implementing canonicalize
      
      * tag TODO
      
      * implement a test AuxStore
      
      * add allow(unused)
      
      * basic loading and deleting test
      
      * block_entry test function
      
      * add a test for `add_block_entry`
      
      * ensure range is exclusive at end
      
      * test clear()
      
      * test that add_block sets children
      
      * add a test for canonicalize
      
      * extract Pre-digest from header
      
      * utilities for extracting RelayVRFStory from the header-chain
      
      * add approval voting message types
      
      * approval distribution message type
      
      * subsystem skeleton
      
      * state struct
      
      * add futures-timer
      
      * prepare service for babe slot duration
      
      * more skeleton
      
      * better integrate AuxStore
      
      * RelayVRF -> RelayVRFStory
      
      * canonicalize
      
      * implement some tick functionality
      
      * guide: tweaks
      
      * check_approval
      
      * more tweaks and helpers
      
      * guide: add core index to candidate event
      
      * primitives: add core index to candidate event
      
      * runtime: add core index to candidate events
      
      * head handling (session window)
      
      * implement `determine_new_blocks`
      
      * add TODO
      
      * change error type on functions
      
      * compute RelayVRFModulo assignments
      
      * compute RelayVRFDelay assignments
      
      * fix delay tranche calc
      
      * assignment checking
      
      * pluralize
      
      * some dummy code for fetching assignments
      
      * guide: add babe epoch runtime API
      
      * implement a current_epoch() runtime API
      
      * compute assignments
      
      * candidate events get backing group
      
      * import blocks and assignments into DB
      
      * push block approval meta
      
      * add message types, no overseer integration yet
      
      * notify approval distribution of new blocks
      
      * refactor import into separate functions
      
      * impl tranches_to_approve
      
      * guide: improve function signatures
      
      * guide: remove Tick from ApprovalEntry
      
      * trigger and broadcast assignment
      
      * most of approval launching
      
      * remove byteorder crate
      
      * load blocks back to finality, except on startup
      
      * check unchecked assignments
      
      * add claimed core to approval voting message
      
      * fix checks
      
      * assign only to backing group
      
      * remove import_checked_assignment from guide
      
      * newline
      
      * import assignments
      
      * abstract out a bit
      
      * check and import approvals
      
      * check full approvals from assignment import too
      
      * comment
      
      * create a Transaction utility
      
      * must_use
      
      * use transaction in `check_full_approvals`
      
      * wire up wakeups
      
      * add Ord to CandidateHash
      
      * wakeup refactoring
      
      * return candidate info from add_block_entry
      
      * schedule wakeups
      
      * background task: do candidate validation
      
      * forward candidate validation requests
      
      * issue approval votes when requested
      
      * clean up a couple TODOs
      
      * fix up session caching
      
      * clean up last unimplemented!() items
      
      * fix remaining warnings
      
      * remove TODO
      
      * implement handle_approved_ancestor
      
      * update Cargo.lock
      
      * fix runtime API tests
      
      * guide: cleanup assignment checking
      
      * use claimed candidate index instead of core
      
      * extract time to a trait
      
      * tests module
      
      * write a mock clock for testing
      
      * allow swapping out the clock
      
      * make abstract over assignment criteria
      
      * add some skeleton tests and simplify params
      
      * fix backing group check
      
      * do backing group check inside check_assignment_cert
      
      * write some empty test functions to implement
      
      * add a test for non-backing
      
      * test that produced checks pass
      
      * some empty test ideas
      
      * runtime/inclusion: remove outdated TODO
      
      * fix compilation
      
      * av-store: fix tests
      
      * dummy cert
      
      * criteria tests
      
      * move `TestStore` to main tests file
      
      * fix unused warning
      
      * test harness beginnings
      
      * resolve slots renaming fallout
      
      * more compilation fixes
      
      * wip: extract pure data into a separate module
      
      * wip: extract pure data into a separate module
      
      * move types completely to v1
      
      * add persisted_entries
      
      * add conversion trait impls
      
      * clean up some warnings
      
      * extract import logic to own module
      
      * schedule wakeups
      
      * experiment with Actions
      
      * uncomment approval-checking
      
      * separate module for approval checking utilities
      
      * port more code to use actions
      
      * get approval pipeline using actions
      
      * all logic is uncommented
      
      * main loop processes actions
      
      * all loop logic uncommented
      
      * separate function for handling actions
      
      * remove last unimplemented item
      
      * clean up warnings
      
      * State gives read-only access to underlying DB
      
      * tests for approval checking
      
      * tests for approval criteria
      
      * skeleton test module for import
      
      * list of import tests to do
      
      * some test glue code
      
      * test reject bad assignment
      
      * test slot too far in future
      
      * test reject assignment with unknown candidate
      
      * remove loads_blocks tests
      
      * determine_new_blocks back to finalized & harness
      
      * more coverage for determining new blocks
      
      * make `imported_block_info` have less reliance on State
      
      * candidate_info tests
      
      * tests for session caching
      
      * remove println
      
      * extricate DB and main TestStores
      
      * rewrite approval checking logic to counteract early delays
      
      * move state out of function
      
      * update approval-checking tests
      
      * tweak wakeups & scheduling logic
      
      * rename check_full_approvals
      
      * test that assignment import updates candidate
      
      * some approval import tests
      
      * some tests for check_and_apply_approval
      
      * add 'full' qualifier to avoid confusion
      
      * extract should-trigger logic to separate function
      
      * some tests for all triggering
      
      * tests for when we trigger assignments
      
      * test wakeups
      
      * add block utilities for testing
      
      * some more tests for approval updates
      
      * approved_ancestor tests
      
      * new action type for launch approval
      
      * process-wakeup tests
      
      * clean up some warnings
      
      * fix in_future test
      
      * approval checking tests
      
      * tighten up too-far-in-future
      
      * special-case genesis when caching sessions
      
      * fix bitfield len
      
      Co-authored-by: default avatarAndronik Ordian <[email protected]>
      e48c6875
    • Sergey Pepyakin's avatar
      Introduce PerPeerSet utility that allows to segrate based on PeerSet (#2420) · 09eadfc9
      Sergey Pepyakin authored
      * Introduce PerPeerSet utility that allows to segrate based on PeerSet
      
      * Remove `repr(usize)` from PeerSet
      09eadfc9
  10. Feb 10, 2021
  11. Feb 09, 2021
  12. Feb 08, 2021
    • ordian's avatar
      validator_discovery: pass PeerSet to the request (#2372) · 6981a1c3
      ordian authored
      
      
      * validator_discovery: pass PeerSet to the request
      
      * validator_discovery: track PeerSet of connected peers
      
      * validator_discovery: fix tests
      
      * validator_discovery: fix long line
      
      * some fixes
      
      * some validator_discovery logs
      
      * log validator discovery request
      
      * Also connect to validators on `DistributePoV`.
      
      * validator_discovery: store the whole state per peer_set
      
      * bump spec versions in kusama, polkadot and westend
      
      * Correcting doc.
      
      * validator_discovery: bump channel capacity
      
      * pov-distribution: some cleanup
      
      * this should fix the test, but it does not
      
      * I just got some brain damage while fixing this
      
      Why are you even reading this???
      
      * wrap long line
      
      * address some review nits
      
      Co-authored-by: default avatarRobert Klotzner <[email protected]>
      6981a1c3
  13. Feb 07, 2021