* 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
* 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
* rename crates as appropriate
* Rename to use master - easy to revert, but shows it's working
* Bump runtime version
* Bump version
* Bump Substrate again
* Update to latest Substrate master (#615)
* Update to latest Substrate master
* Remove unneeded patch + warning
* Update `Cargo.lock`
* Fix tests
* Update again
* Bump Substrate (#616)
* Update lock
* Fix
* Few fixes
* Bump to latest Substrate
* Fixes
* fix pre-tx-pool compilation
* more compilation fixes
* Updates for the injection period
- Liberal slash-refunding
- Instant unbonding
* *: Enable refactored authority discovery (#624)
* *: Enable authority discovery module
* *: List authority discovery id after parachain validator id
Make sure existing key types don't change their order by appending the
authority discovery id instead of injecting it between im online id and
parachain validator id.
* *: Gate authority discovery module behind feature flag
* cli/src/lib.rs: Fix warnings
* cli/src/lib.rs: Shorten line length
* Bump Substrate
* Bump Substrate
* Line widths
* Line widths again
* Revert bump.
* Update Substrate after repository reorganisation
* Switch back to polkadot-master
* Bump `bitvec` and `parity-scale-codec` (#591)
Also bump other dependencies, but respect semver on them.
* Substrate.from()
* Fix some transaction validation code
* must be more specific for matching now.
* Update `wasm-builder` and add `build-only-wasm` script
* Update to latest service builder interfaces
* ANother substrate update
* Another update
* core logic for ICMP gossip
* refactor gossip to make more extension friendly
* move files aroun
* extract attestation-gossip logic to its own module
* message validation and broadcast logic
* fix upstream crates' compilation
* add a test
* another test for overlapping
* Some grammar and phrasing tweaks
Co-Authored-By: Luke Schoen <ltfschoen@users.noreply.github.com>
* add since parameter to ingress runtime API
* broadcast out known unrouted message queues
* fix compilation of service and collator
* remove useless index_mapping
* some tests for icmp propagation
* fix decoding bug and test icmp queue validation
* simplify engine-id definition
Co-Authored-By: Sergei Pepyakin <sergei@parity.io>
* address some grumbles
* some cleanup of old circulation code
* give network a handle to extrinsic store on startup
* an honest collator ensures data available as well
* address some grumbles
* add docs; rename the attestation session to "leaf work"
* module docs
* move gossip back to gossip.rs
* clean up and document attestation-gossip a bit
* some more docs on the availability store
* store all outgoing message queues in the availability store
* filter `Extrinsic` out of validation crate
* expunge Extrinsic from network
* expunge Extrinsic from erasure-coding
* expunge Extrinsic from collator
* expunge from adder-collator
* rename ExtrinsicStore to AvailabilityStore everywhere
* annotate and clean up message-routing tests
* Integrate srml/im-online
* Fix all build errors with old aura.
* Fix most of the build errors.
* Builds and tests seem to pass (I will not trust this commit yet)
* Apply suggestions from code review
Co-Authored-By: Robert Habermeier <rphmeier@gmail.com>
* Kill some warnings.
* fix panics on 0 validators
* Fix dev chain.
* Fix author stuff
* fix im online integration.
* Some tweaks
* Introduce app-crypto
* Initial build work
* codec update / tweaks
* patch polkadot-erasure-coding input
* More fixes for new crypto
* More fixes
* Update parachains module
* evamp parachain crypto
* More crypto work.
* Chain spec and service.
* ChainSpec stuff
* Last bits for a clean build
* Tweak coment
* adapt polkadot-validation to the new keystore
* polkadot-network compiles, but tests don't
* Integrate the new parachain validation stuff
* delete message_routing file
* make polkadot-network tests compile and pass
* runtime tests compile and pass
* update substrate ref
* service compiles
* all tests pass
* Add TODO, change branch back to polkadot-master
* Lock file
* TODOs done
* Issue number
* Remove old tODO
* Remove commented code
* Best effort to bring up to date.
* Fix the executor stuff
* Update verisons.
* Finish fixing
* Final fixes and warnings.
* add some docs and bump Wasm versions
* Fix tests
* Fix final test