1. 19 Feb, 2021 1 commit
    • Shawn Tabrizi's avatar
      Session Delayed Para Changes / Actions Queue (#2406) · afb6daa7
      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 b2e9011e
      
      .
      
      * 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 <gavin@parity.io>
      afb6daa7
  2. 17 Feb, 2021 3 commits
  3. 16 Feb, 2021 2 commits
    • asynchronous rob's avatar
      Disputes High-level rewrite & Disputes runtime (#2424) · f877b041
      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 66203e36.
      
      * timeouts
      
      * include in initialization order
      
      * address grumbles
      f877b041
    • asynchronous rob's avatar
      Integrate Approval Voting into Overseer / Service / GRANDPA (#2412) · 7a1e581c
      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
      7a1e581c
  4. 15 Feb, 2021 1 commit
  5. 14 Feb, 2021 1 commit
    • Bastian Köcher's avatar
      Notify collators about seconded collation (#2430) · ac5ef00e
      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
      ac5ef00e
  6. 11 Feb, 2021 1 commit
    • asynchronous rob's avatar
      Implement Approval Voting Subsystem (#2112) · 35ea1c4b
      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: Andronik Ordian's avatarAndronik Ordian <write@reusable.software>
      35ea1c4b
  7. 08 Feb, 2021 1 commit
    • Andronik Ordian's avatar
      validator_discovery: pass PeerSet to the request (#2372) · 57eb9d10
      Andronik 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 <robert.klotzner@gmx.at>
      57eb9d10
  8. 07 Feb, 2021 1 commit
  9. 06 Feb, 2021 1 commit
  10. 04 Feb, 2021 1 commit
    • Shawn Tabrizi's avatar
      Explicit Para Lifecycle w/ Upgrades and Downgrades (#2354) · 485ccc8d
      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 b2e9011e
      
      .
      
      * collapse onboarding state
      
      Co-authored-by: default avatarGavin Wood <gavin@parity.io>
      485ccc8d
  11. 02 Feb, 2021 1 commit
    • Sergey Pepyakin's avatar
      Clean up PersistedValidationData (#2353) · aba42e4a
      Sergey Pepyakin authored
      * PVD: `block_number`->`relay_parent_number`
      
      * ValidationParams: `relay_chain_height`->`relay_parent_number`
      
      * Expose DMQ MQC hash as a well-known-key
      
      This way the relay storage merkle proofs will be able to obtain the DMQ
      MQC hash and we will be able to remove the it from the
      PersistedValidationData struct.
      
      * PersistedValidationData: Remove HRMP MQC heads
      
      * PersistedValidationData: Remove `dmq_mqc_head`
      
      * Expose the HRMP ingress channel index as a well-known-key
      
      This way a parachain (PVF and collator) can find all the parachains that
      have an outbound channel to the given one. That allows in turn to find
      all the inbound channels for the given para.
      
      Having access to that allows the parachain to get the same information
      as the hrmp_mqc_heads now provide.
      
      * Rename `relay_storage_root` to `relay_parent_storage_root`
      aba42e4a
  12. 29 Jan, 2021 1 commit
  13. 28 Jan, 2021 3 commits
    • Bastian Köcher's avatar
      Companion for #7997 (#2345) · 4fdbf977
      Bastian Köcher authored
      * Companion for #7997
      
      https://github.com/paritytech/substrate/pull/7997
      
      
      
      * rename slot_number to slot
      
      * rename SlotNumber type in overseer docs
      
      * "Update Substrate"
      
      Co-authored-by: default avatarAndré Silva <andrerfosilva@gmail.com>
      Co-authored-by: parity-processbot <>
      4fdbf977
    • Peter Goodspeed-Niklaus's avatar
      misbehavior: report multiple offenses per validator as necessary (#2222) · 25694f6f
      Peter Goodspeed-Niklaus authored
      * use proper descriptive generic type names
      
      * cleanup
      
      * Table stores a list of detected misbehavior per authority
      
      * add Table::drain_misbehaviors_for
      
      * WIP: unify misbehavior types; report multiple misbehaviors per validator
      
      Code checks, but tests don't yet pass.
      
      * update drain_misbehaviors: return authority id as well as specific misbehavior
      
      * enable unchecked construction of Signed structs in tests
      
      * remove test-features feature & unnecessary generic
      
      * fix backing tests
      
      This took a while to figure out, because where we'd previously been
      passing around `SignedFullStatement`s, we now needed to construct
      those on the fly within the test, to take advantage of the signature-
      checking in the constructor. That, in turn, necessitated changing the
      iterable type of `drain_misbehaviors` to return the validator index,
      and passing that validator index along within the misbehavior report.
      
      Once that was sorted, however, it became relatively straightforward:
      just needed to add appropriate methods to deconstruct the misbehavior
      reports, and then we could construct the signed statements directly.
      
      * fix bad merge
      25694f6f
    • Bernhard Schuster's avatar
      3396396e
  14. 26 Jan, 2021 1 commit
    • Peter Goodspeed-Niklaus's avatar
      Message and Data Type Flow Visualizations (#2286) · 2dbfac31
      Peter Goodspeed-Niklaus authored
      * start graphing message flow between subsystems
      
      This commit includes messages originating from the first three subsystems
      (alphabetically).
      
      * use standard arrowhead names
      
      * add messages from bitfield distribution && use circo layout
      
      * finish adding all subsystem message traffic to graph
      
      * reduce line spam
      
      * start work on graphing v1 types
      
      * finish graphing candidate-related structs
      
      * show hash relations, format
      
      * show provenance of ValidityAttestation
      
      * add the rest of the v1 polkadot primitives
      
      * add type diagram from polkadot::parachain::primitives
      
      * start work digramming the path to backing
      
      * diagram message flow from collation generation -> candidate selection
      
      * document flow through CandidateBacking, CandidateValidation
      
      * graph data flow through StatementDistribution
      
      * trace data flow through PoVDistribution to Backing
      
      * finish documenting node side subsystem data flow
      2dbfac31
  15. 25 Jan, 2021 2 commits
    • Andronik Ordian's avatar
      impl approval distribution (#2160) · ab606e14
      Andronik Ordian authored
      * initial impl approval distribution
      
      * initial tests and fixes
      
      * batching seems difficult: different peers have different needs
      
      * bridge: fix test after merge
      
      * some guide updates
      
      * only send assignments to peers who know about the block
      
      * fix a test, add approvals test
      
      * simplify
      
      * do not send assignment to peers for finalized blocks
      
      * guide: protocol input and output
      
      * one more test
      
      * more comments, logs, initial metrics
      
      * fix a typo
      
      * one more thing: early return when reimporting a thing locally
      ab606e14
    • Bastian Köcher's avatar
      Put parachain head hash into `CandidateDescriptor` (#2310) · d1998a75
      Bastian Köcher authored
      * Put parachain head hash into `CandidateDescriptor`
      
      * Update guide
      
      * Add some checks
      d1998a75
  16. 21 Jan, 2021 1 commit
  17. 19 Jan, 2021 1 commit
    • Sergey Pepyakin's avatar
      Glossary updates (#2291) · 85cf489e
      Sergey Pepyakin authored
      * glossary: define DMQ
      
      We are using DMQ quite often including in rustdoc, however, it may be
      hard to know what is that. Adding it to the glossary.
      
      * Clarify that DMP and HRMP are also module names
      
      * Define PDK
      
      * Define preimage
      85cf489e
  18. 18 Jan, 2021 2 commits
    • Sergey Pepyakin's avatar
      Remove TransientValidationData (#2272) · 44f01a39
      Sergey Pepyakin authored
      * collation-generation: use persisted validation data
      
      * node: remote FullValidationData API
      
      * runtime: remove FullValidationData API
      
      * backing tests: use persisted validation data
      
      * FullCandidateReceipt: use persisted validation data
      
      This is not a big change since this type is not used anywhere
      
      * Remove ValidationData and TransientValidationData
      
      Also update the guide
      44f01a39
    • asynchronous rob's avatar
      Approval Voting Database (#2162) · a4c418a5
      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
      
      * Update node/core/approval-voting/src/aux_schema/mod.rs
      
      Co-authored-by: default avatarPeter Goodspeed-Niklaus <coriolinus@users.noreply.github.com>
      
      * Update node/core/approval-voting/src/aux_schema/tests.rs
      
      Co-authored-by: default avatarPeter Goodspeed-Niklaus <coriolinus@users.noreply.github.com>
      
      * Update node/core/approval-voting/src/aux_schema/mod.rs
      
      Co-authored-by: default avatarPeter Goodspeed-Niklaus <coriolinus@users.noreply.github.com>
      
      Co-authored-by: default avatarPeter Goodspeed-Niklaus <coriolinus@users.noreply.github.com>
      a4c418a5
  19. 14 Jan, 2021 1 commit
    • Robert Klotzner's avatar
      Some refactoring in network-bridge in the course of dealing with #2177 (#2263) · 490cbd72
      Robert Klotzner authored
      * More doc fixes.
      
      * Minor refactorings in the process of #2177
      
      By having everything peer set related depend directly on the enum the
      code becomes more clear and it is also straight forward to add more
      peersets/protocols as the compiler will complain if you forget to
      implement parts of it.
      
      * Add peer set infos on startup properly
      
      For feature real_overseer.
      
      + Fixes from review. Thanks @coriolinus and @ordian
      
      !
      
      * More structure in network-bridge
      
      Some changes, which would have helped me in groking the code faster.
      
      Entry points/public types more to the top. Factored out implementation
      in their own files, to clear up the top-level view.
      
      * Get rid of local ProtocolName type definition.
      
      Does not add much at this level.
      
      * Fix tests + import cleanup.
      
      * Make spaces tabs.
      
      * Clarify what correct parameters to send_message are
      
      * Be more less vague in docs of send_message.
      
      * Apply suggestions from code review
      
      Extend copyright on new files to 2021 as well.
      
      Co-authored-by: Andronik Ordian's avatarAndronik Ordian <write@reusable.software>
      
      Co-authored-by: Andronik Ordian's avatarAndronik Ordian <write@reusable.software>
      490cbd72
  20. 13 Jan, 2021 1 commit
    • asynchronous rob's avatar
      scheduler: handle re-scheduling around finalization correctly (#2257) · 9115d427
      asynchronous rob authored
      
      
      * scheduler: handle re-scheduling around finalization correctly
      
      * also make sure parathreads get cleaned
      
      * run scheduling in finalization
      
      * Remove stray println!
      
      * Update the schedule call site in inclusion inherent
      
      * Clarify subtlety around SessionStartBlock
      
      * Remove double semi-colon
      
      * reschedule prior to `availability_cores` and in on-initialize
      
      * improve docs
      
      * fix line
      
      * more doc reformat
      
      * remove unneeded call
      
      * avoid unnecessary scheduling on initialize
      
      * split `clear` and `schedule
      
      * Update runtime/parachains/src/scheduler.rs
      
      Co-authored-by: Sergey Pepyakin's avatarSergei Shulepov <sergei@parity.io>
      
      Co-authored-by: Sergey Pepyakin's avatarSergei Shulepov <sergei@parity.io>
      9115d427
  21. 11 Jan, 2021 1 commit
  22. 07 Jan, 2021 2 commits
  23. 04 Jan, 2021 1 commit
    • Sergey Pepyakin's avatar
      Add relay storage root to persisted validation data (#2161) · 50538aa5
      Sergey Pepyakin authored
      * Cont.: Implement the state root obtaining during inclusion
      
      During inclusion now we obtain the storage root by passing it through
      the inclusion_inherent.
      
      * Fix tests
      
      * Bump rococo spec version
      
      * Reorder the parent header into the end
      
      of the inclusion inherent.
      
      When the parent header is in the beginning, it shifts the other two
      fields, so that a previous version won't be able to decode that. If
      we put the parent header in the end, the other two fields will stay
      at their positions, thus make it possible to decode with the previous
      version.
      
      That allows us to perform upgrade of rococo runtime without needing of
      simultanuous upgrade of nodes and runtime, or restart of the network.
      
      * Squash a stray tab
      50538aa5
  24. 24 Dec, 2020 1 commit
  25. 21 Dec, 2020 1 commit
    • Sergey Pepyakin's avatar
      Do not use rely on the block initialization when calling runtime APIs (#2123) · e21f5cec
      Sergey Pepyakin authored
      
      
      * Don't initialize block when calling runtime APIs
      
      * Adapt check_validation_outputs
      
      We split the code path for the inclusion and for the commitments checking.
      
      * Slap #[skip_initialize_block] on safe runtime APIs
      
      That is, those that should not be affected by this attribute
      
      * Make `Scheduled` not ephemeral
      
      So that it is persisted in the storage and ready to be inspected
      by the runtime APIs. This is in contrast to what was before, where we
      would remove the storage entry and then rely on the scheduling performed
      by `on_initialize` again.
      
      * Add a big fat comment
      
      * Typos
      
      Co-authored-by: asynchronous rob's avatarRobert Habermeier <rphmeier@gmail.com>
      
      * Move session change to the end of the current block
      
      Previously, it was the beginning of the next block. This allows us to
      put #[skip_initialize_block]
      
      * Update tests
      
      * Fix a test in paras registrar
      
      Also refactor it a bit so the next time there are more chances this kind
      of issue is diagnosed quicker.
      
      * Add for_runtime_api to inclusion's check_validation_outputs
      
      Co-authored-by: asynchronous rob's avatarRobert Habermeier <rphmeier@gmail.com>
      e21f5cec
  26. 20 Dec, 2020 1 commit
  27. 18 Dec, 2020 2 commits
    • Robert Klotzner's avatar
      Some typos and misspellings in docs I found, during my studies. (#2144) · adc364f7
      Robert Klotzner authored
      * Fix stale link to overseer docs
      
      * Some typos and mispellings in docs/comments
      
      I found during studying how Polkadot works.
      adc364f7
    • asynchronous rob's avatar
      Add candidate info to OccupiedCore (#2134) · af0aff96
      asynchronous rob authored
      * guide: add candidate information to OccupiedCore
      
      * add descriptor and hash to occupied core type
      
      * guide: add candidate hash to inclusion
      
      * runtime: return candidate info in core state
      
      * bitfield signing: stop querying runtime as much
      
      * minimize going to runtime in availability distribution
      
      * fix availability distribution tests
      
      * guide: remove para ID from Occupied core
      
      * get all crates compiling
      af0aff96
  28. 17 Dec, 2020 3 commits
    • Bastian Köcher's avatar
      Fix bug and further optimizations in availability distribution (#2104) · affa668a
      Bastian Köcher authored
      
      
      * Fix bug and further optimizations in availability distribution
      
      - There was a bug that resulted in only getting one candidate per block
      as the candidates were put into the hashmap with the relay block hash as
      key. The solution for this is to use the candidate hash and the relay
      block hash as key.
      - We stored received/sent messages with the candidate hash and chunk
      index as key. The candidate hash wasn't required in this case, as the
      messages are already stored per candidate.
      
      * Update node/core/bitfield-signing/src/lib.rs
      
      Co-authored-by: asynchronous rob's avatarRobert Habermeier <rphmeier@gmail.com>
      
      * Remove the reverse map
      
      * major refactor of receipts & query_live
      
      * finish refactoring
      
      remove ancestory mapping,
      
      improve relay-parent cleanup & receipts-cache cleanup,
      add descriptor to `PerCandidate`
      
      * rename and rewrite query_pending_availability
      
      * add a bunch of consistency tests
      
      * Add some last changes
      
      * xy
      
      * fz
      
      * Make it compile again
      
      * Fix one test
      
      * Fix logging
      
      * Remove some buggy code
      
      * Make tests work again
      
      * Move stuff around
      
      * Remove dbg
      
      * Remove state from test_harness
      
      * More refactor and new test
      
      * New test and fixes
      
      * Move metric
      
      * Remove "duplicated code"
      
      * Fix tests
      
      * New test
      
      * Change break to continue
      
      * Update node/core/av-store/src/lib.rs
      
      * Update node/core/av-store/src/lib.rs
      
      * Update node/core/bitfield-signing/src/lib.rs
      
      Co-authored-by: Fedor Sakharov's avatarFedor Sakharov <fedor.sakharov@gmail.com>
      
      * update guide to match live_candidates changes
      
      * add comment
      
      * fix bitfield signing
      
      Co-authored-by: asynchronous rob's avatarRobert Habermeier <rphmeier@gmail.com>
      Co-authored-by: default avatarBernhard Schuster <bernhard@ahoi.io>
      Co-authored-by: Fedor Sakharov's avatarFedor Sakharov <fedor.sakharov@gmail.com>
      affa668a
    • Andronik Ordian's avatar
      refactor View to include finalized_number (#2128) · c429e15c
      Andronik Ordian authored
      * refactor View to include finalized_number
      
      * guide: update the NetworkBridge on BlockFinalized
      
      * av-store: fix the tests
      
      * actually fix tests
      
      * grumbles
      
      * ignore macro doctest
      
      * use Hash::repeat_bytes more consistently
      
      * broadcast empty leaves updates as well
      
      * fix issuing view updates on empty leaves updates
      c429e15c
    • Andronik Ordian's avatar
      guide: minor fixes approval distribution (#2129) · d3a0c571
      Andronik Ordian authored
      * guide: add missing ApprovalDistributionMessage variant
      
      * guide: deduplicate sensence
      d3a0c571
  29. 16 Dec, 2020 1 commit
    • asynchronous rob's avatar
      Reward validators for participating in parachains (#2089) · dd9ad157
      asynchronous rob authored
      * plumbing for rewarding backers
      
      * give validators reward points for participating
      
      * fix tests
      
      * add bitfield rewarding
      
      * add mocks for backing rewards
      
      * add testing for backing & availability rewards
      
      * implement RewardValidators on top of staking
      
      * add to test-runtime and rococo
      
      * add to test-runtime & rococo
      
      * point to source on rewards values
      
      * fix common tests
      
      * do not reward availability anymore
      dd9ad157