1. 08 Jun, 2021 1 commit
    • Lldenaurois's avatar
      Remove candidate selection (#3148) · a4dfdf16
      Lldenaurois authored
      * Create validator_side module
      
      * Subsume Candidate Selection
      
      * Add test to ensure candidate backing logic is correct
      
      * Ensure secondings are adequately cleaned up and address test flakyness
      
      * Address Feedback
      a4dfdf16
  2. 04 Jun, 2021 1 commit
  3. 03 Jun, 2021 1 commit
  4. 31 May, 2021 1 commit
    • asynchronous rob's avatar
      Reversion Safety tools for overseer and subsystems (#3104) · d8d8e926
      asynchronous rob authored
      * guide: reversion safety
      
      * guide: manage reversion safety in subsystems
      
      * add leaf status to ActivatedLeaf
      
      * add an LRU-cache to overseer for staleness detection
      
      * update ActivatedLeaf usages in tests to contain status field
      
      * add variant where missed accidentally
      
      * add some helpers to LeafStatus
      
      * address grumbles
      d8d8e926
  5. 20 May, 2021 1 commit
  6. 06 May, 2021 1 commit
  7. 03 May, 2021 2 commits
    • Robert Klotzner's avatar
      More secure `Signed` implementation (#2963) · e9a29ecc
      Robert Klotzner authored
      * Remove signature verification in backing.
      
      `SignedFullStatement` now signals that the signature has already been
      checked.
      
      * Remove unused check_payload function.
      
      * Introduced unchecked signed variants.
      
      * Fix inclusion to use unchecked variant.
      
      * More unchecked variants.
      
      * Use unchecked variants in protocols.
      
      * Start fixing statement-distribution.
      
      * Fixup statement distribution.
      
      * Fix inclusion.
      
      * Fix warning.
      
      * Fix backing properly.
      
      * Fix bitfield distribution.
      
      * Make crypto store optional for `RuntimeInfo`.
      
      * Factor out utility functions.
      
      * get_group_rotation_info
      
      * WIP: Collator cleanup + check signatures.
      
      * Convenience signature checking functions.
      
      * Check signature on collator-side.
      
      * Fix warnings.
      
      * Fix collator side tests.
      
      * Get rid of warnings.
      
      * Better Signed/UncheckedSigned implementation.
      
      Also get rid of Encode/Decode for Signed! *party*
      
      * Get rid of dead code.
      
      * Move Signed in its own module.
      
      * into_checked -> try_into_checked
      
      * Fix merge.
      e9a29ecc
    • Bastian Köcher's avatar
      Companion for Substrate#8526 (#2845) · 75cebe9b
      Bastian Köcher authored
      * Update branch
      
      * Make it compile
      
      * Compile
      
      * gate approval-checking logic (#2470)
      
      * Fix build
      
      * Updates
      
      * Fix merge
      
      * Adds missing crate
      
      * Companion for Substrate#8386
      
      https://github.com/paritytech/substrate/pull/8386
      
      
      
      * Fix fix fix
      
      * Fix
      
      * Fix compilation
      
      * Rewrite to `ParachainsInherentDataProvider`
      
      * Make it compile
      
      * Renamings
      
      * Revert stuff
      
      * Remove stale file
      
      * Guide updates
      
      * Update node/core/parachains-inherent/src/lib.rs
      
      Co-authored-by: Andronik Ordian's avatarAndronik Ordian <write@reusable.software>
      
      * Update node/core/parachains-inherent/src/lib.rs
      
      Co-authored-by: Andronik Ordian's avatarAndronik Ordian <write@reusable.software>
      
      * Apply suggestions from code review
      
      * Reset accidental changes
      
      * More
      
      * Remove stale file
      
      * update Substrate
      
      Co-authored-by: asynchronous rob's avatarRobert Habermeier <rphmeier@gmail.com>
      Co-authored-by: Andronik Ordian's avatarAndronik Ordian <write@reusable.software>
      Co-authored-by: parity-processbot <>
      75cebe9b
  8. 27 Apr, 2021 1 commit
  9. 14 Apr, 2021 1 commit
    • Denis_P's avatar
      Simnet triggers and images (#2714) · 2daf65c7
      Denis_P authored
      * CI: new image for simnet
      
      * CI: chore
      
      * CI: separate image for collator
      
      * dockerfile: it's bad upgrading in the images
      
      * CI: correct links to Dockerfiles
      
      * CI: right dotenv usage
      
      * CI: workaround GitLab's bug that failed trigger status is not reported and 'job runs forever'
      
      * CI: debug: need instead of rules to avoid the bug
      
      * dockerfile: fix storage
      
      * CI: workaround sending the status when the trigger is failed
      
      * CI: fix needed job
      
      * CI: edit comments
      
      * CI: trigger simnet with API
      
      * CI: triggering script
      
      * CI: remove real-overseer
      
      * CI: trigger real simnet
      2daf65c7
  10. 09 Apr, 2021 1 commit
  11. 08 Apr, 2021 1 commit
    • asynchronous rob's avatar
      Code, PoV compression and remove `CompressedPoV` struct (#2852) · e5bab572
      asynchronous rob authored
      * use compressed blob in candidate-validation
      
      * add some tests for compressed code blobs
      
      * remove CompressedPoV and apply compression in collation-generation
      
      * decompress BlockData before executing
      
      * don't produce oversized collations
      
      * add test for PoV decompression failure
      
      * fix tests and clean up
      
      * fix test
      
      * address review and fix CI
      
      * take this )
      e5bab572
  12. 03 Apr, 2021 2 commits
    • asynchronous rob's avatar
      Collation protocol: stricter validators (#2810) · 54e18e65
      asynchronous rob authored
      
      
      * guide: declare one para as a collator
      
      * add ParaId to Declare messages and clean up
      
      * fix build
      
      * fix the testerinos
      
      * begin adding keystore to collator-protocol
      
      * remove request_x_ctx
      
      * add core_for_group
      
      * add bump_rotation
      
      * add some more helpers to subsystem-util
      
      * change signing_key API to take ref
      
      * determine current and next para assignments
      
      * disconnect collators who are not on current or next para
      
      * add collator peer count metric
      
      * notes for later
      
      * some fixes
      
      * add data & keystore to test state
      
      * add a test utility for answering runtime API requests
      
      * fix existing collator tests
      
      * add new tests
      
      * remove sc_keystore
      
      * update cargo lock
      
      Co-authored-by: Andronik Ordian's avatarAndronik Ordian <write@reusable.software>
      54e18e65
    • Andronik Ordian's avatar
      approval-distribution: split peer knowledge into sent and received (#2809) · 8c7a6d9f
      Andronik Ordian authored
      * approval-distribution: split peer knowledge into sent and received
      
      * guide updates
      
      * fixes
      
      * revert doc changes
      8c7a6d9f
  13. 02 Apr, 2021 1 commit
  14. 01 Apr, 2021 5 commits
    • thiolliere's avatar
      Ease parachain candidate code fetching (#2593) · 96dc1f7a
      thiolliere authored
      
      
      * code stored in para + modify CandidateDescriptor.
      
      * WIP: digest + some more impl
      
      * validation_code_hash in payload + check in inclusion
      
      * check in client + refator
      
      * tests
      
      * fix encoding indices
      
      * remove old todos
      
      * fix test
      
      * fix test
      
      * add test
      
      * fetch validation code inside collation-generation from the relay-chain
      
      * HashMismatch -> PoVHashMismatch + miscompilation
      
      * refactor, store hash when needed
      
      * storage rename: more specific but slightly too verbose
      
      * do not hash on candidate validation, fetch hash instead
      
      * better test
      
      * fix test
      
      * guide updates
      
      * don't panic in runtime
      
      Co-authored-by: asynchronous rob's avatarRobert Habermeier <rphmeier@gmail.com>
      96dc1f7a
    • asynchronous rob's avatar
      Approval Voting improvements (#2781) · 9b700da0
      asynchronous rob authored
      
      
      * extract database from av-store itself
      
      * generalize approval-voting over database type
      
      * modes (without handling) and pruning old wakeups
      
      * rework approval importing
      
      * add our_approval_sig to ApprovalEntry
      
      * import assignment
      
      * guide updates for check-full-approval changes
      
      * some aux functions
      
      * send messages when becoming active.
      
      * guide: network bridge sends view updates only when done syncing
      
      * network bridge: send view updates only when done syncing
      
      * tests for new network-bridge behavior
      
      * add a test for updating approval entry with sig
      
      * fix some warnings
      
      * test load-all-blocks
      
      * instantiate new parachains DB
      
      * fix network-bridge empty view updates
      
      * tweak
      
      * fix wasm build, i think
      
      * Update node/core/approval-voting/src/lib.rs
      
      Co-authored-by: Andronik Ordian's avatarAndronik Ordian <write@reusable.software>
      
      * add some versioning to parachains_db
      
      * warnings
      
      * fix merge changes
      
      * remove versioning again
      
      Co-authored-by: Andronik Ordian's avatarAndronik Ordian <write@reusable.software>
      9b700da0
    • Andronik Ordian's avatar
      gossip: do not try to connect if we are not validators (#2786) · 05cd0d24
      Andronik Ordian authored
      * gossip: do not issue a connection request if we are not a validator
      
      * guide updates
      
      * use all relevant authorities when issuing a request
      
      * use AuthorityDiscoveryApi instead
      
      * update comments to the status quo
      05cd0d24
    • asynchronous rob's avatar
      Avoid querying the local validator in availability recovery (#2792) · 5b5bf207
      asynchronous rob authored
      * guide: don't request availability data from ourselves
      
      * add QueryAllChunks message
      
      * implement QueryAllChunks
      
      * remove unused relay_parent from StoreChunk
      
      * test QueryAllChunks
      
      * fast paths make short roads
      
      * test early exit behavior
      5b5bf207
    • asynchronous rob's avatar
      Node-side subsystems for Disputes (#2566) · 55c9e96d
      asynchronous rob authored
      * dispute subsystem files
      
      * rename
      
      * fix linkcheck
      
      * flesh out section README
      
      * coordinator schema
      
      * DisputeCoordinatorMessage
      
      * stub & coordinator protocol
      
      * dispute coordinator
      
      * add some more message fields
      
      * move links to bottom
      
      * dispute participation
      
      * Cleen It Up !
      
      * runtime: store candidate receipts in dispute state
      
      yeah, this is a little heavier. why are you reading this?
      
      * Revert "runtime: store candidate receipts in dispute state"
      
      This reverts commit 51c10bfd.
      
      * add dispute availability statement type and prepare for availability
      
      * add 'spam slots' to disputes runtmie
      
      * return Spam Slots info from runtime
      
      * rework `ImportStatement` to `ImportStatements`
      
      * some more methods for dispute coordinator
      
      * candidates-included runtime API
      
      * algo for providing disputes to runtime.
      
      * handle signing with coordinator
      
      * dispute coordinator chain ops
      
      * remove dead file
      
      * remove keystore from dispute participation
      
      * adjust ApprovedAncestor to return the necssary data
      
      * discuss how approved ancestor and determine undisputed chain are used together
      
      * add TODO
      
      * initiate disputes from approval voting
      
      * route statements from candidate backing and approval voting
      
      * fix guide build
      55c9e96d
  15. 31 Mar, 2021 1 commit
  16. 30 Mar, 2021 1 commit
  17. 28 Mar, 2021 2 commits
    • Andronik Ordian's avatar
      approval-distribution: limit the amount of assignments on unify (#2737) · 65a5d185
      Andronik Ordian authored
      
      
      * approval-distribution: limit the amount of packets on unify
      
      * guide: fix a typo
      
      * compilation fix
      
      * grammar
      
      * Update roadmap/implementers-guide/src/node/approval/approval-distribution.md
      
      Co-authored-by: David's avatarDavid <dvdplm@gmail.com>
      
      * more grammar
      
      * propagate only local assignments/approvals after a certain depth
      
      * increase the threshold
      
      * guides update
      
      Co-authored-by: David's avatarDavid <dvdplm@gmail.com>
      65a5d185
    • Robert Klotzner's avatar
      Request based PoV distribution (#2640) · 39124b0a
      Robert Klotzner authored
      * Indentation fix.
      
      * Prepare request-response for PoV fetching.
      
      * Drop old PoV distribution.
      
      * WIP: Fetch PoV directly from backing.
      
      * Backing compiles.
      
      * Runtime access and connection management for PoV distribution.
      
      * Get rid of seemingly dead code.
      
      * Implement PoV fetching.
      
      Backing does not yet use it.
      
      * Don't send `ConnectToValidators` for empty list.
      
      * Even better - no need to check over and over again.
      
      * PoV fetching implemented.
      
      + Typechecks
      + Should work
      
      Missing:
      
      - Guide
      - Tests
      - Do fallback fetching in case fetching from seconding validator fails.
      
      * Check PoV hash upon reception.
      
      * Implement retry of PoV fetching in backing.
      
      * Avoid pointless validation spawning.
      
      * Add jaeger span to pov requesting.
      
      * Add back tracing.
      
      * Review remarks.
      
      * Whitespace.
      
      * Whitespace again.
      
      * Cleanup + fix tests.
      
      * Log to log target in overseer.
      
      * Fix more tests.
      
      * Don't fail if group cannot be found.
      
      * Simple test for PoV fetcher.
      
      * Handle missing group membership better.
      
      * Add test for retry functionality.
      
      * Fix flaky test.
      
      * Spaces again.
      
      * Guide updates.
      
      * Spaces.
      39124b0a
  18. 26 Mar, 2021 1 commit
  19. 25 Mar, 2021 2 commits
  20. 24 Mar, 2021 2 commits
    • André Silva's avatar
      collator-protocol: add message authentication (#2635) · c836fb85
      André Silva authored
      * collator: authenticate collator protocol messages
      
      * fix tests compilation
      
      * node: verify collator protocol signatures in tests
      
      * collator: fix tests
      
      * implementers-guide: update CollatorProtocol messages
      
      * collator: add test for verification of collator protocol signatures
      
      * node: remove fixmes
      
      * node: remove signature from advertisecollation message
      
      * node: add magic constant to Declare message signature payload
      c836fb85
    • asynchronous rob's avatar
      Evict inactive peers from the collator protocol peer-set (#2680) · c61383a7
      asynchronous rob authored
      * malicious reputation cost is fatal
      
      * make ReportBad a malicious cost
      
      * futures control-flow for cleaning up inactive collator peers
      
      * guide: network bridge updates
      
      * add `PeerDisconnected` message
      
      * guide: update
      
      * reverse order
      
      * remember to match
      
      * implement disconnect peer in network bridge
      
      * implement disconnect_inactive_peers
      
      * test
      
      * remove println
      
      * don't hardcore policy
      
      * add fuse outside of loop
      
      * use default eviction policy
      c61383a7
  21. 18 Mar, 2021 1 commit
    • Robert Klotzner's avatar
      Request based collation fetching (#2621) · 134090c2
      Robert Klotzner authored
      * Introduce collation fetching protocol
      
      also move to mod.rs
      
      * Allow `PeerId`s in requests to network bridge.
      
      * Fix availability distribution tests.
      
      * Move CompressedPoV to primitives.
      
      * Request based collator protocol: validator side
      
      - Missing: tests
      - Collator side
      - don't connect, if not connected
      
      * Fixes.
      
      * Basic request based collator side.
      
      * Minor fix on collator side.
      
      * Don't connect in requests in collation protocol.
      
      Also some cleanup.
      
      * Fix PoV distribution
      
      * Bump substrate
      
      * Add back metrics + whitespace fixes.
      
      * Add back missing spans.
      
      * More cleanup.
      
      * Guide update.
      
      * Fix tests
      
      * Handle results in tests.
      
      * Fix weird compilation issue.
      
      * Add missing )
      
      * Get rid of dead code.
      
      * Get rid of redundant import.
      
      * Fix runtime build.
      
      * Cleanup.
      
      * Fix wasm build.
      
      * Format fixes.
      
      Thanks @andronik !
      134090c2
  22. 09 Mar, 2021 2 commits
  23. 04 Mar, 2021 1 commit
  24. 03 Mar, 2021 1 commit
  25. 23 Feb, 2021 1 commit
    • asynchronous rob's avatar
      Approval Checking Improvements Omnibus (#2480) · 1e2b8ae5
      asynchronous rob authored
      * add tracing to approval voting
      
      * notify if session info is not working
      
      * add dispute period to chain specs
      
      * propagate genesis session to parachains runtime
      
      * use `on_genesis_session`
      
      * protect against zero cores in computation
      
      * tweak voting rule to be based off of best and add logs
      
      * genesis configuration should use VRF slots only
      
      * swallow more keystore errors
      
      * add some docs
      
      * make validation-worker args non-optional and update clap
      
      * better tracing for bitfield signing and provisioner
      
      * pass amount of bits in bitfields to inclusion instead of recomputing
      
      * debug -> warn for some logs
      
      * better tracing for availability recovery
      
      * a little av-store tracing
      
      * bridge: forward availability recovery messages
      
      * add missing try_from impl
      
      * some more tracing
      
      * improve approval distribution tracing
      
      * guide: hold onto pending approval messages until NewBlocks
      
      * Hold onto pending approval messages until NewBlocks
      
      * guide: adjust comment
      
      * process all actions for one wakeup at a time
      
      * vec
      
      * fix network bridge test
      
      * replace randomness-collective-flip with Babe
      
      * remove PairNotFound
      1e2b8ae5
  26. 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
  27. 17 Feb, 2021 3 commits
  28. 16 Feb, 2021 1 commit
    • 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