* 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
* Genric over hasher
* WIP start adding NodeCodec
* Add codec to TrieBackend
* Typechecks
* Fix error type
* Cleanup
* Tests build (and fail)
* Fix tests: don't use MemoryDB::default()
* Lockfile
* Address grumbles
* Teach environmental! about generics
* Add Finder artifacts
* whitespace
* Add a toy impl of Hasher and plug it in to Externalities
* Use `uint` and `fixed-hash` from `parity-common`
Remove unused U512
Add test to ensure H256 impls heapsizeof
* lock file updates
* Make hashes Encodable/Decodable
* lock file updates
* Impl FromIterator for TestExternalities so we can collect() and use map!
* Use rustc-hex from crates
Use rlp from master so dependencies do not mess up the scope
* Fix tests in runtime-io
* lockfile shenanigans
* Add a BlakeHasher impl
* Use BlakeHasher in runtime-io
* lockfile updates
* ws
* Add a Blake2/RLP-flavoured NodeCodec
* Use Blake-flavoured Hasher and NodeCodec
* lockfile
* Implement PartialEq and Default for TestExternalities
* Add note about limitations of environmental!
* Make it compile, but this is probably broken
* Derive Debug so tests in executor can work
* Make executor use BlakeHasher
* ws
* WIP make client generic
* typechecks
* cleanup
* client tests pass
* Fix client/db
* cleanup
* Fix network
* Fix rpc
* Fix service
* Make TestExternalities work better au lieu d'un HashMap
* Fix tests in council
* Fix tests in contract
* Fix tests in council
* Fix democracy
* Add comment about odd-looking reexports in tests
* Don't need to load branch
* Fix staking
* Fix session
* Some polkadot fixes and lockfile
* Fix executive
* fixup lockfile
* Fix polkadot/api
* Fix polkadot/service
* Fix polkadot/runtime tests
* Fix tests in test-runtime
* Test fixes
* Fix missing component in the `std` feature
* Use PhantomData and Result from core
* Fix paths
Use core
* load heapsize on wasm
* implement `HeapSizeOf` for wasm
* Add toy impl of `blake2_256` for no_std
* lockfile
* Use kvdb* from parity-common and fix errors
* rebuilt lockfile
* Add dummy impl of `on_advance_round` for rhododendron::Context
* Fix build after merge
* Add HeapSizeOf bound where needed
* Sort out dependencies for no_std
* Add HeapSizeOf bound where needed
* use temp branch pending PR merges
* Remove unneeded tests
* Lock file and wasm artifacts
* lockfile
* Use magic commit for libp2p
* Cleanup
* Implement blake2_256 for no_std
* Back on parity-common master
* missing type params
* Update Cargo.lock
* whitespace
* Rename concrete Rlp node codec "RlpCodec" and use everywhere
Implement a Keccak-flavoured Rlp NodeCodec and use everywhere
Add a KeccakHasher
* Switch to use KeccakHasher
* Lock file and runtimes
* fixup lockfile
* Fix outstanding issue using concrete types (thanks @gnunicorn)
* Cleanup
* More cleanup
* Comment out Blake2 Hasher
* implement ext_keccak256
* Address todo: FetchChecker is generic
* all tests passing
* 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
* 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.
* 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
* Block builder (substrate)
* Fix wasm build
* Bulid on any block
* Test for block builder.
* Block import tests for client.
* Tidy ups
* Repotted client
* Avoid pointless work
* All backend stuff now manages optional storage.
Also simplified a lot of the backend.
* Native runtime-io now supports empty storage items.
* Finish up the API transition.
* Build fix.
* Fix tests.
* Remerge in changes to client.
* Final fixes.
* Unrevert typos
* Remove accidentally committed change
* Bring back zero copy
* Fix merge.
* Remove rustc dependency from ed25519 and refactor a little.
* Runtime support provides more extensive test-key functionality.
* Additional APIs for ed25519 stuff.
* Extensive test for test-runtime.
* Fixes for the new test key API.
* Additional convenience for tests
* Take advantage of more convenient API.
* Redo formating.
* Remove old test identities.
* Remove boilerplate, add test.
* Refactor out unneeded code.
* Clean up algo for determining authorities.
* Remove unneeded API.
* Make `to_*` consume
* Only export keyring when testing
* Fix build & warning
* Extract Keyring into separate library.
* Add tests for Keyring and a trait-based API.
* Address grumbles.
* Introduce simple blockchain runtime for substrate tests.
* Remove bad files.
* Add needed wasm binaries.
* Refactoring.
- Repot files in test-runtime.
- Rename troublesome `Joiner::join` to `Joiner::and`.
- Rework `Slicable` to dedup code.
* More fixes and refactoring
* Rebuild substrate test wasm.
* Fix merge errors.
* Rename the disasterously named `to_vec` to `encode`.
Also rename `as_slice_then` to `with_encoded`.
* Tests for toy runtime.
* Fix doc nit
* client-api type and move duty roster types to primitives
* tuple implementation for slicable
* mild cleanup of deserialization code
* stubs which handle encoding and decoding themselves
* fancier impl_stubs macro
* zero-copy slicable API
* minimal polkadot-client API
* fix WASM API generation
* move native environment stuff to substrate executor
* fix warnings and grumbles