* Integrates new gossip system into Polkadot (#166)
* new gossip validation in network
* integrate new gossip into service
* Fix build
* Fix claims module
* fix warning
* update to latest master again
* update runtime
* Add fn to validate egress routes
* Add blank tests
* Reject routing to non existent parachains
* Reject if routing to self
* Reject if egress route parachain ids out of order
* Extract method for checking egress routes
* Reject empty egress routes
* Extract test method
* Generate empty trie root constant in build script
* Remove unwraps
* Hardcode EMPTY_TRIE_ROOT and add test to verify
* Const not pu
* compute ingress and routing in polkadot runtime
* extract parent candidates from block when beginning consensus
* fetch incoming messages when validating
* fix consensus tests
* parachain wasm execution uses messages
* update parachain tests to check if messages are executed
* abstract out network service to make room for network tests
* skeleton for incoming data fetch
* collate ingress from consensus-gossip
* keep track of validated candidates in the shared-table
* add some shared_table tests for new behavior
* broadcast egress messages on gossip
* test compute_ingress
* move network tests to module folder
* dummy network for consensus-network tests
* make consensus network generic over executor
* test egress broadcast and ingress fetch
* fix test compilation
* address some grumbles
* address grumbles and fix parachain shuffle
* remove broadcast parameter from consensus network trait
* Add claims.
* Failing build
* Updatee to latest substrate, fix tests
* Remove unneeded
* Introduce tests with real work sig
* Use right 64 bytes of pubkey to get eth addr
* Fix for eth sig
* Fix build
* Fix wasm
* Use new externs for eth crypto.
* Bump spec version
* New runtime
* Updates substrate to latest master
* Use slot_duration and not slot
* Update to latest substrate master again to have latest CLI
* Rename iherent indentifier
* Update after master merge
* Add claims.
* Failing build
* Updatee to latest substrate, fix tests
* Remove unneeded
* Introduce tests with real work sig
* Use right 64 bytes of pubkey to get eth addr
* Fix for eth sig
* Fix build
* Fix wasm
* erasure-coding block data
* adjust error handling
* merkleize chunks and yield branches for each
* construction and proving of merkle branches
* port over to new GF(2^16) impl
* some tests for wrapped_shard
* handle extra byte from GF(2^16) better
* point to github dependency
* add issue link
* point to master for reed-solomon-erasure
* add missing license header
* read head-data directly out of WASM memory
* implement ext_post_message for parachain WASM
* further refactoring of the parachain module
* add externalities error type
* accumulate posted messages when validating parachain candidate
* define Extrinsic type in primitives
* availability-store: store extrinsic data
* compute extrinsic and check against candidate
* add some egress queue tests
* grumbles & substrate update
* ensure everything builds
* update to latest substrate
* update WASM and runtime
* Rename Id to ParaId in decl_{module,storage} (exported metadata type) (#58)
* Rename Id to ParaId in decla_module (exported type)
* AccountParaId -> AccountId
* provide through inherent-data when authoring
* remove unneeded codec round-trip in proposer
* refactor polkadot-consensus service architecture
* integrate block authorship into polkadot service
* remove unused extern substrate-network crate in service
* write wrapper for unifying errors in consensus proposer
* extend wrapper further
* switch temporarily to macro-changing branch
* runtime compiles
* implement `inherent_extrinsics` for runtime
* block authorship works
* add GRANDPA to polkadot runtime
* get everything compiling
* use substrate master branch again
* remove some unneeded params
* update WASM
* parse only extrinsics when pruning availability store
* update recent deps
* runtime almost compiles
* need to expose trait type in build : I had to put phantomdata manually.
* finish updating authorship to latest GRANDPA and Aura
* fix tests
* update wasm
* multiple consensus sessions in network
* tests compile, add a test for RecentSessionKeys
* track recently received session keys from validators
* add a test for desired key-sending behavior
* statement table yields fully-attested candidates
* attestation types in polkadot-primitives
* propose block with fully-attested candidates in consensus
* some signature-checking logic in the runtime
* fix runtime compilation
* ensure attestations are full and without duplicate when checking
* fix consensus-service compilation
* add some tests
* use bitvec from crates.io now that it's published
* sign statements based on primitive statement's encoding
* remove some serialize bounds
* Fix error message with duplicate availability attestations
Co-Authored-By: rphmeier <rphmeier@gmail.com>
* Fix up wasm runtime build
* Fixes for runtime
* Fix.
* More fixes
* Runtime builds on native.
* Native and wasm both build without warnings.
* Fix runtime tests.
* Merge #20
* Final fix for native runtime.
* Compile polkadot wo consensus
* Reverted changes to polkadot-consensus
* reintroduce minimal subset of consensus
* reintroduce checked_block to runtime for std
* polkadot_consensus compiles without most of the code
* remove checked_block again and do more checks in parachains for runtime
* uncomment proposer
* remove offline tracker
* extract out parachain-attestation logic from proposal directly
* reintroduce transaction_pool
* write some custom aura verification logic for the block verifier
* use transaction pool in more generic way
* service compiles again
* polkadot-network and tests pass
* remove unused session_key function from router
* everything but CLI compiles due to service hell
* Fixes compilation of `polkadot_cli`
* everything compiles
* update adder wasm