* 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
* record attestations in storage ringbuffer
* remove some reliance on Aura
* fix up test configuration
* extract attestations stuff out to its own module
* add dummy inherent
* use double_map
* fix a couple more compilation errors
* Pass indices in serialized form
* Fix indentation and remove panic
* Fix tests and other code
* Remove unique voters tracking
* Restore validator group check
* Fix lock file
* Add test
* Add attestation sorting
* Add validation to the check_candidate function
* Update codec version one more time
* Remove patch versions
* Make `collator::Network` require `Send + Sync` to make it work
* Update packages
* Update to latest Substrate
* Make it compile and make tests work
* Use `polkadot-master`
* Fix CI
* Remove `build.sh` from readmes
* Delete old stuff
* Bring one back
* Slots module
* Integrate slots
* More drafting
* Minor updates
* Update parachains to use trati
* More build fixes
* Full code now compiles
* Add renew bid function
* Implement calculate_winner
* Warning remove
* Update gitignore
* Test framework
* Tests
* Further testing
* More tests, new parameterisation.
* Fix and new test
* Thread-safe tests
* Test off-boarding and a fix.
* Test onboarding
* Allow late onboarding.
* Another test and fix
* Avoid println in nostd
* Compact representation of paraids
* Introduce documentation.
* Introduce events.
* Additional test and fix
* Additional test
* Tidy up line lengths.
* Remove printlns
* Use later substrate utils.
* Allow parachains to send messages.
* Fix build/test
* Make slots work with latest substrate
* Update runtime/src/slot_range.rs
Co-Authored-By: Robert Habermeier <rphmeier@gmail.com>
* Update runtime/src/slots.rs
Co-Authored-By: Shawn Tabrizi <shawntabrizi@gmail.com>
* Update runtime/src/slots.rs
Co-Authored-By: Shawn Tabrizi <shawntabrizi@gmail.com>
* Polish logic
* Rewind to earlier substrate master
* Remove dead code.
* Fix build
* Update substrate ref to master
* Update to new inherent digests API
* address grumbles
* fix
* Fix a warning.
* Reworded a comment.
* Check that receipt matches expectations
* Add test for final checks
* Split out queuing logic.
* Test final piece of queuing logic
* Fix up docs.
* More docs fixes
* Slots module
* Integrate slots
* More drafting
* Minor updates
* Update parachains to use trati
* More build fixes
* Full code now compiles
* Add renew bid function
* Implement calculate_winner
* Warning remove
* Update gitignore
* Test framework
* Tests
* Further testing
* More tests, new parameterisation.
* Fix and new test
* Thread-safe tests
* Test off-boarding and a fix.
* Test onboarding
* Allow late onboarding.
* Another test and fix
* Avoid println in nostd
* Compact representation of paraids
* Introduce documentation.
* Introduce events.
* Additional test and fix
* Additional test
* Tidy up line lengths.
* Remove printlns
* Use later substrate utils.
* Fix build/test
* Make slots work with latest substrate
* Update runtime/src/slot_range.rs
Co-Authored-By: Robert Habermeier <rphmeier@gmail.com>
* Update runtime/src/slots.rs
Co-Authored-By: Shawn Tabrizi <shawntabrizi@gmail.com>
* Update runtime/src/slots.rs
Co-Authored-By: Shawn Tabrizi <shawntabrizi@gmail.com>
* Polish logic
* Rewind to earlier substrate master
* Remove dead code.
* Don't pass validators' public keys with attestations
* Update statement-table's Misbehaviour typedef
* Update network/router
* Expand MessageValidationData
* Try to fix tests
* Extend ApiContext
* Remove 'index_mapping' from the SessionParams
* Construct index_mapping from authorities
* Move index_mapping to TableContext
* Add test for index_mapping order
* Rebuild runtime
* Remove invalid value from chainspec (#68)
* service: use grandpa block import for locally sealed aura blocks (#85)
* bump version to v0.3.1
* Update lock file.
* limit number of transactions when building blocks (#91)
* Update to latest Substrate
* Bump to 0.3.2
* Actually bump.
* v0.3.2 (#98)
* bump substrate version
* fix polkadot-collator
* point to alexander-backports of substrate
* bump version
* cli: fix node shutdown (#100)
* update to latest substrate, change to v0.3.4
* update to latest substrate, bump version to 0.3.5
* v0.3.6
* try to build on every v0.3 commit and update alexander-backports
* bump to v0.3.7
* bump to 0.3.8
* Bump to 0.3.9: network and pruning improvements
* Bump to 0.3.10: reduce network bandwidth usage
* Use libp2p-kad 0.3.2 (#122)
* Bump libp2p-identify to 0.3.1 (#123)
* Bump to 0.3.12 (#127)
* Update Substrate again (#128)
* update substrate and bump version to v0.3.13
* bump version to v0.3.14: fix --reserved-nodes
* add a manually curated grandpa module (#136)
* updating v0.3 to use substrate v0.10 (#146)
* updating to latest substrate v0.10
* better handling of outer poll
* nit
* fix tests
* remove comment
* reduce indentation
* use self.poll
* bring oneshot into scope
* spaces
* wrap
* remove match
* wrap
* Update primitives/Cargo.toml
Co-Authored-By: gterzian <2792687+gterzian@users.noreply.github.com>
* Update runtime/wasm/Cargo.toml
Co-Authored-By: gterzian <2792687+gterzian@users.noreply.github.com>
* Update runtime/wasm/Cargo.toml
Co-Authored-By: gterzian <2792687+gterzian@users.noreply.github.com>
* Update test-parachains/adder/collator/src/main.rs
Co-Authored-By: gterzian <2792687+gterzian@users.noreply.github.com>
* indent
* add paranthese
* config: fix wrong ip for alexander bootnode (#161)
* fix curated-grandpa and rebuild wasm (#162)
* [v0.3] Integrates new gossip system into Polkadot (#166)
* new gossip validation in network
* integrate new gossip into service
* network: guard validation network future under exit signal (#168)
* bump version to v0.3.15: substrate v0.10
* [v0.3] update to substrate master (#175)
* update to substrate master
* fix test
* service: fix telemetry endpoints on alexander chainspec (#169) (#178)
* Update v0.3 to latest Substrate master (#177)
* update substrate v0.3 to latest master
* bump spec version
* update to latest master: remove fees module
* update runtime blobs
* bump version to 0.3.16
* replace sr25519 accountid with anysigner
* bump version to v0.3.17
* Some PoC-3 GRANDPA tweaks (#181)
* call on_finalise after triggering curated_grandpa change
* make grandpa rounds shorter for faster finalization
* use authorities when calculating duty roster (#185)
* [v0.3] Update to substrate master (#183)
* update to latest substrate master
* bump version to 0.3.18
* update to latest substrate master
* bump spec version
* update runtime wasm blobs
* remove current_offline_slash from chain spec
* update to substrate master: bump version to v0.3.19 (#188)
* update to substrate master: bump version to v0.3.19
libp2p network improvements
* network: replace NodeIndex with PeerId
* network: fix tests
* polkadot v0.3.20 (#190)
* update to substrate master: bump version to 0.3.20
* runtime: add offchain worker trait
* runtime: rebuild wasm blobs
* bump spec version (#191)
* Fix compilation
* Update version to 0.4.0
* Switch to use `polkadot-master` branch from substrate
* Remove unused struct
* Remove `grandpa::SyncedAuthorities` from `OnSessionChange`
* Update to master
This introduces a new type `CollatorId`, currently just `SessionKey`
but which would forseeably change to its own thing. It seems to work
like this (despite there being a lot of the new-incompatible
`AccountId` replaced). No idea if it does anything sensible, though.
* Cleanups
* Fix tests
* Remove commented code
* Specify commit hash
* Remove commented code
* Correct version
* Update runtime/Cargo.toml
Co-Authored-By: gavofyork <github@gavwood.com>
* PairT instead of _Pair
* Update lock file
* Remove rev causing upset
* 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
* 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
* 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
* 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
* 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
* notify when an authority appears to have missed their block
* Runtime API
* offline tracker
* Move to consensus
* generating reports of offline indices
* stubbed-out evaluation logic
* Slashing data pathwat
* usize -> u32
* Slash bad validators.
* update to rhododendron 0.3
* fix compilation of polkadot-consensus
* Support offline noting in checked_block
* include offline reports in block authorship voting
* do not vote validators offline after some time
* add test for offline-tracker
* fix test build
* bump spec version
* update wasm
* Only allow validators that are possible to slash
* Fix grumble
* More idiomatic
* New Wasm.
* update rhododendron
* improve logging and reduce round time exponent
* format offline validators in ss58
* skeleton of collators object
* awaiting and handling collations. rename `collators` to CollationPool
* add some tests
* add tests
* implement Collators trait for ConsensusNetwork
* plug collators into main polkadot-network
* ignore collator role message
* add a couple more tests
* garbage collection for collations
* ensure disconnected backup collator is removed from pool
* address other grumbles
* arbitrary application logic in CLI
* collation work
* split up exit and work futures in application
* collation node workflow
* typo
* indentation fix
* doc grumbles
* rename Application to Worker
* refactor Worker::exit to exit_only
* dynamic inclusion threshold calculator
* collators interface
* collation helpers
* initial proposal-creation future
* create proposer when asked to propose
* remove local_availability duty
* statement table tracks includable parachain count
* beginnings of timing future
* finish proposal logic
* remove stray println
* extract shared table to separate module
* change ordering
* includability tracking
* fix doc
* initial changes to parachains module
* initialise dummy block before API calls
* give polkadot control over round proposer based on random seed
* propose only after enough candidates
* flesh out parachains module a bit more
* set_heads
* actually introduce set_heads to runtime
* update block_builder to accept parachains
* split block validity errors from real errors in evaluation
* update WASM runtimes
* polkadot-api methods for parachains additions
* delay evaluation until candidates are ready
* comments
* fix dynamic inclusion with zero initial
* test for includability tracker
* wasm validation of parachain candidates
* move primitives to primitives crate
* remove runtime-std dependency from codec
* adjust doc
* polkadot-parachain-primitives
* kill legacy polkadot-validator crate
* basic-add test chain
* test for basic_add parachain
* move to test-chains dir
* use wasm-build
* new wasm directory layout
* reorganize a bit more
* Fix for rh-minimal-parachain (#141)
* Remove extern "C"
We already encountered such behavior (bug?) in pwasm-std, I believe.
* Fix `panic_fmt` signature by adding `_col`
Wrong `panic_fmt` signature can inhibit some optimizations in LTO mode.
* Add linker flags and use wasm-gc in build script
Pass --import-memory to LLD to emit wasm binary with imported memory.
Also use wasm-gc instead of wasm-build.
* Fix effective_max.
I'm not sure why it was the way it was actually.
* Recompile wasm.
* Fix indent
* more basic_add tests
* validate parachain WASM
* produce statements on receiving statements
* tests for reactive statement production
* fix build
* add OOM lang item to runtime-io
* use dynamic_inclusion when evaluating as well
* fix update_includable_count
* remove dead code
* grumbles
* actually defer round_proposer logic
* update wasm
* address a few more grumbles
* schedule collation work as soon as BFT is started
* impl future in collator
* fix comment
* governance proposals for adding and removing parachains
* bump protocol version
* tear out polkadot-specific pieces of substrate-network
* extract out polkadot-specific stuff from substrate-network
* begin polkadot network subsystem
* grumbles
* update WASM checkins
* parse status from polkadot peer
* allow invoke of network specialization
* begin statement router implementation
* remove dependency on tokio-timer
* fix sanity check and have proposer factory create communication streams
* pull out statement routing from consensus library
* fix comments
* adjust typedefs
* extract consensus_gossip out of main network protocol handler
* port substrate-bft to new tokio
* port polkadot-consensus to new tokio
* fix typo
* start message processing task
* initial consensus network implementation
* remove known tracking from statement-table crate
* extract router into separate module
* defer statements until later
* double signature is invalid
* propagating statements
* grumbles
* request block data
* fix compilation
* embed new consensus network into service
* port demo CLI to tokio
* all test crates compile
* some tests for fetching block data
* whitespace
* adjusting some tokio stuff
* update exit-future
* remove overly noisy warning
* clean up collation work a bit
* address review grumbles
* fix lock order in protocol handler
* rebuild wasm artifacts
* tag AuthorityId::from_slice for std only
* address formatting grumbles
* rename event_loop to executor
* some more docs for polkadot-network crate
* Merge remote-tracking branch 'origin/master' into gav-xts-dont-panic
* Update wasm.
* consensus, session and staking all panic-safe.
* Democracy doesn't panic in apply.
* Fix tests.
* Extra helper macro, council depanicked.
* Fix one test.
* Fix up all council tests. No panics!
* Council voting depanicked.
* Dispatch returns result.
* session & staking tests updated
* Fix democracy tests.
* Fix council tests.
* Fix up polkadot parachains in runtime
* Fix borked merge
* More Slicable support
Support general `Option` and array types.
* Basic storage types.
* Existential deposit for contract creation
* Basic implemnetation along with removals
* Fix tests.
* externalities builder fix.
* Tests.
* Fix up the runtime.
* Fix tests.
* Add generic `Address` type.
* Initial function integration of Address into Extrinsic.
* Fix build
* All tests compile.
* Fix (some) tests.
* Fix signing.
* Push error.
* transfer can accept Address
* Make Address generic over AccountIndex
* Fix test
* Make Council use Address for dispatch.
* Fix build
* Bend over backwards to support braindead derive.
* Repot some files.
* Fix tests.
* Fix grumbles
* Remove Default bound
* Fix build for new nightly.
* Make `apply_extrinsic` never panic, return useful Result.
* More merge hell
* Doesn't build, but might do soon
* Serde woes
* get substrate-runtime-staking compiling
* Polkadot builds again!
* Fix all build.
* Fix tests & binaries.
* Reserve some extra initial byte values of address for future format changes
* Make semantic of `ReservedBalance` clear.
* Fix panic handler.
* Integrate other balance transformations into the new model
Fix up staking tests.
* Fix runtime tests.
* Fix panic build.
* Tests for demonstrating interaction between balance types.
* Repot some runtime code
* Fix checkedblock in non-std builds
* Get rid of `DoLookup` phantom.
* Attempt to make transaction_pool work with lookups.
* Remove vscode settings
* New attempt at making transaction pool work.
* It builds again!
* --all builds
* Fix tests.
* New build.
* Test account nonce reset.
* polkadot transaction pool tests/framework.
* Address grumbles.
* Revert bad `map_or`
* Rebuild binaries, workaround.
* Avoid casting to usize early.
* reenable sync tests
* Some initial work on RPC and client
* Rephrase as params
* More work on traitifying substrate.
* Traitify in_mem.rs
* traitify client.rs
* Make new primitives (mainly traits) build again.
* Many (superficial) build fixes throughout.
* Fix remaining build issues up to bft interface.
* Make bft primitives be generic.
* Switch out MisBehaviorReport for generic version.
* Merge Hashing into Header.
* Update runtime for new generics (with Hashing).
* Update demo runtime.
* Make runtime compile.
* Build fixes for runtime
* Remove old modules.
* port substrate-bft to use generic substrate types
* port client
* port substrate-test-runtime
* mostly port test-runtime to get compiling for std
* Ensure `AccountId` has a `Default`.
* Fix type deps.
* finish porting
* initialize test_runtime from genesis correctly
* remove commented code
* maybe unsigned signatures
* runtimes compile
* port over most of network
* serialization for generic types
* fix comment
* remove some unnecessary trait bounds
* network compiles
* tests compile for sync
* fix deserialization
* temporarily remove deserialize derives
* workarounds for serde issues for deriving deserialization
* get demo-runtime compiling on std
* port extrinsic-pool
* primitives reshuffling
* get network compiling again
* remove debugging file
* runtime tests now passing
* port client-db
* start to port over substrate-rpc
* mostly port over PolkadotApi
* test_runtime follows normal conventions
* substrate runtime tests pass
* deal with inherent extrinsics correctly in polkadot-api
* port transaction-pool
* port polkadot-consensus
* port substrate-rpc
* everything compiles
* tests compile
* fix grumbles
* test-runtime uses its own transfer type
* switch to master branch of jsonrpc
* fix network tests and some warnings
* all tests pass locally
* [ci-skip] add another comment about issue
* remove some curlies
* dynamic inclusion threshold calculator
* collators interface
* collation helpers
* initial proposal-creation future
* create proposer when asked to propose
* remove local_availability duty
* statement table tracks includable parachain count
* beginnings of timing future
* finish proposal logic
* remove stray println
* extract shared table to separate module
* change ordering
* includability tracking
* fix doc
* initial changes to parachains module
* initialise dummy block before API calls
* give polkadot control over round proposer based on random seed
* propose only after enough candidates
* flesh out parachains module a bit more
* set_heads
* actually introduce set_heads to runtime
* update block_builder to accept parachains
* split block validity errors from real errors in evaluation
* update WASM runtimes
* polkadot-api methods for parachains additions
* delay evaluation until candidates are ready
* comments
* fix dynamic inclusion with zero initial
* test for includability tracker
* wasm validation of parachain candidates
* move primitives to primitives crate
* remove runtime-std dependency from codec
* adjust doc
* polkadot-parachain-primitives
* kill legacy polkadot-validator crate
* basic-add test chain
* test for basic_add parachain
* move to test-chains dir
* use wasm-build
* new wasm directory layout
* reorganize a bit more
* Fix for rh-minimal-parachain (#141)
* Remove extern "C"
We already encountered such behavior (bug?) in pwasm-std, I believe.
* Fix `panic_fmt` signature by adding `_col`
Wrong `panic_fmt` signature can inhibit some optimizations in LTO mode.
* Add linker flags and use wasm-gc in build script
Pass --import-memory to LLD to emit wasm binary with imported memory.
Also use wasm-gc instead of wasm-build.
* Fix effective_max.
I'm not sure why it was the way it was actually.
* Recompile wasm.
* Fix indent
* more basic_add tests
* validate parachain WASM
* produce statements on receiving statements
* tests for reactive statement production
* fix build
* add OOM lang item to runtime-io
* use dynamic_inclusion when evaluating as well
* fix update_includable_count
* remove dead code
* grumbles
* actually defer round_proposer logic
* update wasm
* address a few more grumbles
* grumbles
* update WASM checkins
* remove dependency on tokio-timer
* Initial stuff.
* Various fixes.
* Fix tests.
* Fix another test
* Fix another test.
* Docs in polkadot runtime.
* Fix up ser/de tests.
* Update god keys
* Syntax
* Fix
* Merge remote-tracking branch 'origin/master' into gav-merge-runtime
* Permissions on init.sh
* Port-over the whitespace from @rphmeier
* Rename
* Merge branch 'master' into gav-merge-runtime
* Fix typo.
* Fix grumbles.
* Make more idiomatic.
* Move `Ed25519Signature` out of traits.
* Factor out safe-mix and dispatch
* Refactor dispatch into something more modular.
* Fix wasm build.
* Fix up timestamp
* fix warnings.
* Borked timestamp example
* Fix build
* Timestamp as skeleton for traity runtime.
* New storage macro.
* Dispatch module has traity API.
* Move consensus module to new API
* Refactoring and outer dispatch
* Avoid unnecessary derives.
* Abstract the low-level half of system.
* nicer outer dispatch syntax.
* Make runtime compile again (albeit in a heavily simplified state)
* Reworking runtime and the upper levels of system.
* Initial reworking of runtime:
- Introduced executive module;
- Introduced trait primitives module;
- Provided an API endpoint.
* Expose an additional function in system
* Another couple of functions traitified in executive.
* another function in executive traitified.
* One more function traitified.
* Finish traitifying executive!
* Traitify session module.
* Cleanups and ensure session gets run.
* First part of traitification of staking module.
* Bit more of staking traitified.
* Additional stuff in staking. Fix up session.
* Penultimate part of staking module.
* Final part of staking (code)
* Update demo runtime to include staking.
* Final tweaks for staking integration.
* Remove old runtime files.
* Schedule staking.
* Minor fixes
* First bits of democracy.
* Democracy module integrated.
* Fix warning.
* Traitify and integrate council module
* Council voting.
* Runtime binary and tweaks.
* Binary update.
* Fix `*Type` grumble.
* Fix up genesis_map
* Remove NonTrivialSlicable
* Staking "test externalities" stuff along with refactor.
* Add session test externalities constructor
* Fixed executor tests.
* Make one test in executive module work.
* Remove test framework stuff into common module.
* Enable other tests in executive
* Session tests reinstated, minor refactoring of keyring.
* Fix staking tests.
* Fix up democracy tests.
* First few tests in council.
* Council tests reinstated :)
* Avoid hardcoding blake2 into Header.
* Fix last few tests.
* Make all primitives generic.
* Fix tests.
* Refactor runtime to remove genesismap.
* Streamline runtime more with macrofied config.
* Clean paths
* Fix warning.
* Consolidate demo runtime crate.
* Remove stale code.
* Refactor away dodgy trait.
* Add corresponding Aux type.
* Fixes
* Rename Digesty -> Digest
* Rename Headery -> Header
* Blocky -> Block
* Fix wasm build.
* kill warnings
* more docs
* minor cleanups
* double-commit and prepare misbehavior
* get misbehavior on completion
* collect misbehavior on drop, not only on success
* kill unused transaction_index field
* add primitive misbehavior report type
* add misbehavior report transaction
* store prior session
* fix set_items
* basic checks for misbehavior reports
* crate for substrate bft misbehavior checking
* integrate misbehavior check crate
* fix comment
* new wasm binaries
* fix hash in test
* import misbehavior transactions into queue
* fix test build
* sign on digest and full proposal when proposing
* detect proposal misbehavior
* fix fallout
* restore balance/bondage types
* reshuffle consensus libraries
* polkadot-useful type definitions for statement table
* begin BftService
* primary selection logic
* bft service implementation without I/O
* extract out `BlockImport` trait
* allow bft primitives to compile on wasm
* Block builder (substrate)
* take polkadot-consensus down to the core.
* test for preemption
* fix test build
* Fix wasm build
* Bulid on any block
* Test for block builder.
* Block import tests for client.
* Tidy ups
* clean up block builder instantiation
* justification verification logic
* JustifiedHeader and import
* Propert block generation for tests
* network and tablerouter trait
* use statement import to drive creation of further statements
* Fixed rpc tests
* custom error type for consensus
* create proposer
* asynchronous proposal evaluation
* inherent transactions in polkadot runtime
* fix tests to match real polkadot block constraints
* implicitly generate inherent functions
* add inherent transaction functionality to block body
* block builder logic for polkadot
* some tests for the polkadot API
* avoid redundancy in native code compatibility check
* helper for extracting nonce
* transaction pool implementation
* transaction pool
* integrate transaction pool with proposer
* indentation
* kill storage keys module
* accept new transactions to replace old
* reshuffle consensus libraries
* polkadot-useful type definitions for statement table
* begin BftService
* primary selection logic
* bft service implementation without I/O
* extract out `BlockImport` trait
* allow bft primitives to compile on wasm
* Block builder (substrate)
* take polkadot-consensus down to the core.
* test for preemption
* fix test build
* Fix wasm build
* Bulid on any block
* Test for block builder.
* Block import tests for client.
* Tidy ups
* clean up block builder instantiation
* justification verification logic
* JustifiedHeader and import
* Propert block generation for tests
* network and tablerouter trait
* use statement import to drive creation of further statements
* Fixed rpc tests
* custom error type for consensus
* create proposer
* asynchronous proposal evaluation
* inherent transactions in polkadot runtime
* fix tests to match real polkadot block constraints
* implicitly generate inherent functions
* add inherent transaction functionality to block body
* block builder logic for polkadot
* some tests for the polkadot API