* 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
* 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
* 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
* runtime: candidate receipt must pass parent head
* construct parachain candidates using correct parent_head
* validate that the parent header is correct in candidate receipt
* fix test fallout
* bump runtime versions
* Make availability-store compile for WASM
* Use --manifest-path instead
* Make validation work on wasm!
* Switch to Spawn trait
* Migrate validation to std futures
* Migrate network to std futures
* Final changes to validation
* Tidy up network
* Tidy up validation
* Switch branch
* Migrate service
* Get polkadot to compile via wasm!
* Add browser-demo
* Add initial browser file
* Add browser-demo
* Tidy
* Temp switch back to substrate/master
* tidy
* Fix wasm build
* Re-add release flag
* Switch to polkadot-master
* Revert cli tokio version to avoid libp2p panic
* Update tokio version
* Fix availability store tests
* Fix validation tests
* Remove futures01 from availability-store
* Fix network tests
* Small changes
* Fix collator
* Fix typo
* Revert removal of tokio_executor that causes tokio version mismatch panic
* Fix adder test parachain
* Revert "Revert removal of tokio_executor that causes tokio version mismatch panic"
This reverts commit cfeb50c01d8df5e209483406a711e64761b44ae9.
* Update availability-store/src/worker.rs
Co-Authored-By: Pierre Krieger <pierre.krieger1708@gmail.com>
* Update network/src/lib.rs
Co-Authored-By: Pierre Krieger <pierre.krieger1708@gmail.com>
* Update network/src/lib.rs
Co-Authored-By: Pierre Krieger <pierre.krieger1708@gmail.com>
* Box pin changes
* Asyncify network functions
* Clean up browser validation worker error
* Fix av store test
* Nits
* Fix validation test
* Switch favicon
* Fix validation test again
* Revert "Asyncify network functions"
This reverts commit f20ae6548dc482cb1e75bc80641cfe55c6131a53.
* Add async blocks back in
* Erasure encoding availability initial commit
* Modifications to availability store to keep chunks as well as
reconstructed blocks and extrinsics.
* Gossip messages containig signed erasure chunks.
* Requesting eraure chunks with polkadot-specific messages.
* Validation of erasure chunk messages.
* Apply suggestions from code review
Co-Authored-By: Luke Schoen <ltfschoen@users.noreply.github.com>
* Fix build after a merge
* Gossip erasure chunk messages under their own topic
* erasure_chunks should use the appropriate topic
* Updates Cargo.lock
* Fixes after merge
* Removes a couple of leftover pieces of code
* Fixes simple stuff from review
* Updates erasure and storage for more flexible logic
* Changes validation and candidate receipt production.
* Adds add_erasure_chunks method
* Fixes most of the nits
* Better validate_collation and validate_receipt functions
* Fixes the tests
* Apply suggestions from code review
Co-Authored-By: Robert Habermeier <rphmeier@gmail.com>
* Removes unwrap() calls
* Removes ErasureChunks primitive
* Removes redundant fields from ErasureChunk struct
* AvailabilityStore should store CandidateReceipt
* Changes the way chunk messages are imported and validated.
* Availability store now stores a validator_index and n_validators for
each relay_parent.
* Availability store now also stores candidate receipts.
* Removes importing chunks in the table and moves it into network
gossip validation.
* Validation of erasure messages id done against receipts that are
stored in the availability store.
* Correctly compute topics for erasure messages
* Removes an unused parameter
* Refactors availability db querying into a helper
* Adds the apis described in the writeup
* Adds a runtime api to extract erasure roots form raw extrinsics.
* Adds a barebone BlockImport impl for avalability store
* Adds the implementation of the availability worker
* Fix build after the merge with master.
* Make availability store API async
* Bring back the default wasmtime feature
* Lines width
* Bump runtime version
* Formatting and dead code elimination
* some style nits (#1)
* More nits and api cleanup
* Disable wasm CI for availability-store
* Another nit
* Formatting