* 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
* take polkadot-consensus down to the core.
* test for preemption
* fix test build
* 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
* BlockId in client interface
* Sync fixes and tests
* Updated to latest primitives
* Updated dependencies
* Updated for new (old) primitives
* Network as workspace member
* substrate-network
* Removed obsolete file
* begin_transaction on hash
* Introduce first groundwork for Wasm executor.
* Remove old Rust-runtime code.
* Avoid commiting compled files.
* Add runtime precompile.
* Rename so module makes more sense.
* Further renaming.
* Ensure tests work.
* Allow bringing in of externalities.
- Add util functions/macros.
- Add uncompacted runtime.
- Add some external crates from pwasm-std for managing allocs/memory
stuff.
* Nice macros for imports.
* Allow passing in of data through allocators.
Make memcpy and malloc work.
Basic allocator.
* Can now pass in bytes to WasmExecutor.
* Additional cleanup.
* Switch usages of `OutData` to `u64`
No need to be able to return bytes anymore.
* convert to safe but extremely verbose type conversion.
@rphmeier any more concise way of doing this?
* Remove StaticExternalities distinction.
* Remove another unused use.
* Refactor wasm utils out
* Remove extraneous copies that weren't really testing anything.
* Try to use wasm 0.15
* Make it work!
* Call-time externalities working.
* Add basic externalities.
* Fix grumbles and note unwraps to be sorted.
* Test storage externality.
Unforunately had to change signatures of externalities to avoid
immutable function returning a reference. Not sure what to do about
this...
* Fix nits.
* Compile collation logic.
* Move back to refs. Yey.
* Remove "object" id for storage access.
* Fix test.
* Fix up rest of tests.
* remove unwrap.
* Expose set/get code in externalities
Also improve tests and add nice wrappers in rust-wasm.
* Add validator set.
* Introduce validator set into externalities and test.
* Add another external function.
* Remove code and validators; use storage for everything.
* Introduce validators function.
* Tests (and a fix) for the validators getter.
* Allow calls into runtime to return data.
* Remove unneeded trace.
* Make runtime printing a bit nicer.
* Create separate runtimes for testing and polkadot.
* Remove commented code.
* Use new path.
* Refactor into shared support module.
* Fix warning.
* Remove unwraps.
* Make macro a little less unhygenic.
* Add wasm files.
* candidate statement importing
* import votes on validity
* import availability votes
* candidate receipt type
* make table mod public
* test context for table
* add harness for tests
* some tests for misbehavior
* produce proposal from table
* count candidate issuance as implicit vote
* keep track of messages known by validators
* fix primitives compilation
* simple BFT agreement
* kill unused macro_use annotation
* tests for BFT agreement
* test for not concluding on different prepares
* return summary upon statement import
* accept bft agreement on proposal not locally submitted
* check justification set for BFT
* BFT rewrite: vote accumulator with tests
* squash some warnings
* a few more tests for the accumulator
* add sender to table's signed statement
* implement honest node strategy for BFT
* inex -> index
* import and broadcast lock proofs
* poll repeatedly when state changes
* don't broadcast advance vote immediately if locked
* do not check validity of locked candidate
* basic tests for the strategy
* remove unused context trait and fix warning
* address some review grumbles
* address some more review nits
* fix lock import logic and add a test
* fix spaces
* fix a couple more style grumbles
* more type-safe justifications
* rename Communication enum variants
* improve some panic guard proofs
* add trailing comma
* Initial version of http server.
* Refactor the structure.
* add unassigned ports info.
* Rename servers to match conventions.
* Add client crate and some proper RPC implementations.
* Style & docs.