1. 04 Jul, 2020 1 commit
    • Bastian Köcher's avatar
      Make a collator send a collation as backup as well (#1353) · 21f31f78
      Bastian Köcher authored
      Currently a collator will only send a collation to validators it is a
      primary for. While testing this could lead to the situation that the
      same collator was registered as prime for all Parachain validators but
      failed for other reasons to generate a PoVBlock. However no other
      collator was sending a collation, which stopped the Parachain until the
      faulty collator was stopped.
      
      This pr solves this problem by making sure that every collator sends a
      collation to one of his validators he is connected to, but registered as backup.
      21f31f78
  2. 06 May, 2020 1 commit
  3. 03 Apr, 2020 2 commits
  4. 31 Mar, 2020 1 commit
    • asynchronous rob's avatar
      PoV-block gossip (#930) · 5f376dfd
      asynchronous rob authored
      * add pov-block gossip message to network
      
      * tests for pov-block gossip
      
      * integrate pov-block gossip into main protocol
      
      * message validation fetches pov blocks
      
      * remove stray dbg! invocation
      
      * test that pov-block is fetched from relay-parent topic
      5f376dfd
  5. 25 Mar, 2020 1 commit
  6. 16 Mar, 2020 1 commit
    • asynchronous rob's avatar
      Tests for new network code (#897) · 97582fb1
      asynchronous rob authored
      * move protocol.rs into subfolder
      
      * add trait for mocking network behavior
      
      * add a mock version of network ops
      
      * remove some redundant parameters from service messages
      
      * ensure fetching erasure chunks automatically cancels
      
      * introduce dummy ProvideRuntimeApi
      
      * abstract over gossip somewhat
      
      * add mock gossip handler
      
      * skeleton test
      
      * remove dependence of shared table on router
      
      * remove worker dependence on its own sender
      
      * test shutdown
      
      * add tests
      
      * test that gossip streams are cleaned up correctly
      
      * refactor worker out into its own struct and reduce bound on executor
      
      * remove reliance of tests on global thread pool
      97582fb1
  7. 13 Mar, 2020 1 commit
    • Gavin Wood's avatar
      Bump to latest Substrate (#898) · b5cc86af
      Gavin Wood authored
      
      
      * Flag to force kusama runtime
      
      * Chainspecs for kusama
      
      * Polkadot config for westend
      
      Co-Authored-By: default avatarBastian Köcher <bkchr@users.noreply.github.com>
      
      * network/src/legacy/gossip: Wrap GossipEngine in Arc Mutex & lock it on use
      
      `GossipEngine` in itself has no need to be Send and Sync, given that it
      does not rely on separately spawned background tasks anymore.
      `RegisteredMessageValidator` needs to be `Send` and `Sync` due to the
      inherited trait bounds from implementing `GossipService`. In addition
      `RegisteredMessageValidator` derives `Clone`. Thereby `GossipEngine`
      needs to be wrapped in an `Arc` and `Mutex` to keep the status quo.
      
      * Needed fixes.
      
      * Fixes
      
      * Fixed build
      
      * Fixed build w benchmarking CLI
      
      * Fixed building tests
      
      * Added --dev shortcut
      
      Co-authored-by: Arkadiy Paronyan's avatararkpar <arkady.paronyan@gmail.com>
      Co-authored-by: default avatarBastian Köcher <bkchr@users.noreply.github.com>
      Co-authored-by: default avatarMax Inden <mail@max-inden.de>
      b5cc86af
  8. 09 Mar, 2020 1 commit
  9. 05 Mar, 2020 3 commits
    • Gavin Wood's avatar
      Merged companions and update Subtrate (#882) · f5535faf
      Gavin Wood authored
      
      
      * expunge legacy code from polkadot-network
      
      * mostly rip out old legacy protocol from service
      
      * ensure validation work is spawned by incoming messages
      
      * decouple availabliity store from network logic; clean up data flow
      
      * av_store: test helpers and use futures-abort
      
      * update polkadot-validation to pass n_validators when submitting chunks
      
      * fallible erasure-chunk fetching
      
      * implement `ErasureNetworking` for new network prot
      
      * API for registering availability store in network
      
      * fully integrate new network service into service
      
      * fix validation tests
      
      * scaffolding for porting collator over to new network
      
      * track connected validators' peer IDs and distribute collators' collations
      
      * helper in network for fetching all checked statements
      
      * fix adder-collator
      
      * actually register notifications protocol
      
      * Update service/src/lib.rs
      
      * Make needed changes to service
      
      * Merge two companion PRs.
      
      - #880
      - #881
      
      * Some effort towards compilation
      
      * Fix
      
      * remove `NetworkSpecialization` references from network
      
      * fix compilation errors in service and collator
      
      * ensure protocol name is valid
      
      * Fixes
      
      * Fix
      
      Co-authored-by: asynchronous rob's avatarRobert Habermeier <rphmeier@gmail.com>
      Co-authored-by: default avatarAshley <ashley.ruglys@gmail.com>
      f5535faf
    • asynchronous rob's avatar
      Remove legacy network code (#860) · 532f0e01
      asynchronous rob authored
      * expunge legacy code from polkadot-network
      
      * mostly rip out old legacy protocol from service
      
      * ensure validation work is spawned by incoming messages
      
      * decouple availabliity store from network logic; clean up data flow
      
      * av_store: test helpers and use futures-abort
      
      * update polkadot-validation to pass n_validators when submitting chunks
      
      * fallible erasure-chunk fetching
      
      * implement `ErasureNetworking` for new network prot
      
      * API for registering availability store in network
      
      * fully integrate new network service into service
      
      * fix validation tests
      
      * scaffolding for porting collator over to new network
      
      * track connected validators' peer IDs and distribute collators' collations
      
      * helper in network for fetching all checked statements
      
      * fix adder-collator
      
      * actually register notifications protocol
      
      * Update service/src/lib.rs
      
      * merge with master
      532f0e01
    • Gavin Wood's avatar
      Update substrate (#878) · 8a8d52b6
      Gavin Wood authored
      * Switch branch
      
      * Small changes
      
      * Update substrate branch
      
      * Switch
      
      * Revert "Switch branch"
      
      This reverts commit b9d48b2c.
      
      * fix
      
      * add `wipe` and `commit`
      
      * Remove deprecated_host_interface
      
      * Switch branch
      
      * HasherFor -> HashFor
      
      * More HasherFor changes
      
      * Final touches
      
      * Revert "Switch branch"
      
      This reverts commit d0da2731
      
      .
      
      Co-authored-by: thiolliere's avatarthiolliere <gui.thiolliere@gmail.com>
      Co-authored-by: Shawn Tabrizi's avatarShawn Tabrizi <shawntabrizi@gmail.com>
      8a8d52b6
  10. 28 Feb, 2020 1 commit
  11. 25 Feb, 2020 1 commit
    • asynchronous rob's avatar
      A more comprehensive model for PoV-Blocks and Candidate receipts (#843) · b94febb1
      asynchronous rob authored
      * encode the candidate statement as only the hash
      
      * refactor CandidateReceipt and CollationInfo
      
      * introduce an abridged candidate receipt type
      
      * erasure coding stores candidate receipt
      
      * store omitted data instead and introduce AvailableData type
      
      * refactor availability-store schema
      
      * tweak schema and APIs a bit more
      
      * get availability-store tests passing
      
      * accept AbridgedCandidateReceipt in `set_heads`
      
      * change statement type in primitives to be hash-only
      
      * fix parachains runtime tests
      
      * fix bad merge
      
      * rewrite validation pipeline
      
      * remove evaluation module
      
      * use abridged candidate hash as canonical
      
      * statement table uses abridged candidate receipts
      
      * kill availability_store::Data struct
      
      * port shared table to new validation pipelines
      
      * extract full validation pipeline to helper
      
      * remove old validation pipeline from collation module
      
      * polkadot-validation compiles
      
      * polkadot-validation tests compile
      
      * make local collation available in validation service
      
      * port legacy network code
      
      * polkadot-network fully ported
      
      * network: ensure fresh statement is propagated
      
      * remove pov_block_hash from LocalValidationData
      
      * remove candidate_hash field from AttestedCandidate and update runtime
      
      * port runtimes to new ParachainHost definition
      
      * port over polkadot-collator
      
      * fix test compilation
      
      * better fix
      
      * remove unrelated validation work dispatch fix
      
      * address grumbles
      
      * fix equality check
      b94febb1
  12. 21 Feb, 2020 1 commit
  13. 19 Feb, 2020 2 commits
  14. 13 Feb, 2020 1 commit
    • Ashley's avatar
      Strip out old XCMP primitives (#823) · d9b4fc45
      Ashley authored
      * WIP
      
      * WIp
      
      * Mostly get tests to compile
      
      * Fix adder collator
      
      * Remove more stuff
      
      * Revert some changes to av store
      
      * Fix av store tests
      
      * Nitpicks
      
      * Restore some things
      
      * Small changes
      
      * Remvoe unused error variants
      d9b4fc45
  15. 11 Feb, 2020 1 commit
  16. 10 Feb, 2020 1 commit
    • asynchronous rob's avatar
      rewrite network code to use notifications_protocol APIs from Substrate (#788) · 07426539
      asynchronous rob authored
      * extract all network code to legacy submodule
      
      * update references to legacy proto
      
      * skeleton of futures-based protocol
      
      * refactor skeleton to use background task
      
      * rename communication_for to build_table_router
      
      * implement internal message types for validation network
      
      * basic ParachainNetwork and TableRouter implementations
      
      * add some module docs
      
      * remove exit-future from validation
      
      * hack: adapt legacy protocol to lack of exit-future
      
      * generalize RegisteredMessageValidator somewhat
      
      * instantiate and teardown table routers
      
      * clean up RouterInner drop logic
      
      * implement most of the statement import loop
      
      * implement statement loop in async/await
      
      * remove unneeded TODO
      
      * most of the collation skeleton
      
      * send session keys and validator roles
      
      * also send role after status
      
      * use config in startup
      
      * point TODO to issue
      
      * fix test compilation
      07426539