• Fedor Sakharov's avatar
    Erasure encoding availability (#345) · e5138efc
    Fedor Sakharov authored and asynchronous rob's avatar asynchronous rob committed
    * 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: default avatarLuke 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: asynchronous rob's avatarRobert 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