* Implement transaction queue RPC.
* whitespace
* Support without_std env in environmental! (#110)
* Make environmental crate support without_std env.
* Small doc fixes.
* Remove dead code.
* CLI options and keystore integration
* Replace multiqueue with future::mpsc
* BFT gossip
* Revert to app_dirs
* generate_from_seed commented
* Refactor event loop
* Start consensus by timer
* Message buffering
* Minor fixes
* Work around duty-roster issue.
* some more minor fixes
* fix compilation
* more consistent formatting
* make bft input stream never conclude
* Minor fixes
* add timestamp module to executive
* more cleanups and logging
* Fixed message propagation
* 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
* Reserve pages for heap at initialization time
Since it is freshly allocated memory it won't collide with stack, data or whatever else.
* Compile all wasm files with LTO.
Modules compiled without LTO contain undesired imports and outright invalid (e.g. type mismatches inside the wasm).
* Completely rework dispatch mechanism into something modular.
Not yet complete but 75% there.
* Council vote tests.
* Fix tests.
* whitespace.
* Fix demo runtime tests.
* Fix up tests.
* Remove dead code.
* Initial util code for random beacon
* Timestamp uses new storage API.
* Move over system module to new API.
* Much nicer storage API, moved over staking module.
* More refactoring.
* Democracy uses new storage API.
* Council uses new RPC.
* Fix more tests.
* Use match for Id
* Generic mix.
* Integrate random beacon
* Update binaries.
* Fixes relating to with_ext removal.
* Remove dead code.
* Rework mixer into an iterator adaptor.
* Link to paper.
* Algorithm cleanups
* Merge and fix test.
* Docs.
* Fix typo.
* rename
* Fix tests.
* Completely rework dispatch mechanism into something modular.
Not yet complete but 75% there.
* Council vote tests.
* Fix tests.
* whitespace.
* Fix demo runtime tests.
* Fix up tests.
* Remove dead code.
* Timestamp uses new storage API.
* Move over system module to new API.
* Much nicer storage API, moved over staking module.
* More refactoring.
* Democracy uses new storage API.
* Council uses new RPC.
* Fix more tests.
* Use match for Id
* Use match for Id
* Make PrivPass better protected.
* Address other grumbles.
* Give PrivPass a private member.
* Testing PrivPass.
* Add docs.
* Recompile binaries after merge.
* Remove duplicated code.
* New binaries.
* Docs
* Docs
* avoid use of (arguably) confusing terminology.
* Completely rework dispatch mechanism into something modular.
Not yet complete but 75% there.
* Council vote tests.
* Fix tests.
* whitespace.
* Fix demo runtime tests.
* Fix up tests.
* Remove dead code.
* Use match for Id
* Make PrivPass better protected.
* Address other grumbles.
* Give PrivPass a private member.
* Testing PrivPass.
* Add docs.
* 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
* 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.
* 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
* Fixed rpc tests
* 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