1. Sep 12, 2018
    • Gav Wood's avatar
      Phase 1 of repo reorg (#719) · 1e011625
      Gav Wood authored and Arkadiy Paronyan's avatar Arkadiy Paronyan committed
      * Remove unneeded script
      
      * Rename Substrate Demo -> Substrate
      
      * Rename demo -> node
      
      * Build wasm from last rename.
      
      * Merge ed25519 into substrate-primitives
      
      * Minor tweak
      
      * Rename substrate -> core
      
      * Move substrate-runtime-support to core/runtime/support
      
      * Rename/move substrate-runtime-version
      
      * Move codec up a level
      
      * Rename substrate-codec -> parity-codec
      
      * Move environmental up a level
      
      * Move pwasm-* up to top, ready for removal
      
      * Remove requirement of s-r-support from s-r-primitives
      
      * Move core/runtime/primitives into core/runtime-primitives
      
      * Remove s-r-support dep from s-r-version
      
      * Remove dep of s-r-support from bft
      
      * Remove dep of s-r-support from node/consensus
      
      * Sever all other core deps from s-r-support
      
      * Forgot the no_std directive
      
      * Rename non-SRML modules to sr-* to avoid match clashes
      
      * Move runtime/* to srml/*
      
      * Rename substrate-runtime-* -> srml-*
      
      * Move srml to top-level
      1e011625
  2. Sep 11, 2018
    • Gav Wood's avatar
      Remove PoC-1 back-compat hacks (#709) · 418a9bf2
      Gav Wood authored
      * Remove PoC-1 back-compat hacks
      
      * Fix lingering Keccak references
      
      * More keccak exorcism
      
      * Fix test
      
      * Final fixes
      418a9bf2
    • Bastian Köcher's avatar
      Improve event json metadata (#710) · fd2ec13e
      Bastian Köcher authored
      * Introduce `impl_event!` for declaring the Event/RawEvent for a module
      
      * Implements a function for generating the event json metadata
      
      * Update runtime `json_metadata` to include the new event json metadata
      
      * Switch to `impl_event!` for new modules
      
      * Remove unused module declaration in `impl_event!`
      
      * Rename `impl_event!` to `decl_event!`
      
      * Fixes some style nits
      fd2ec13e
  3. Sep 10, 2018
  4. Sep 07, 2018
    • Gav Wood's avatar
      New extrinsic dispatch model (#678) · 761bc9f7
      Gav Wood authored
      * System and Balances switched to new call model
      
      * Fixed up executive for new pardigm
      
      * Consensus works with Origin
      
      * Timestamp ported over
      
      * Session now compatible
      
      * Ported staking
      
      * Treasury compatible
      
      * Expunge MaybeEmpty
      
      * Make democracy work
      
      * Council compatible
      
      * Remove some aux-dispatch stuff and fix balances
      
      * Rename aux -> origin, fix contracts
      
      * Fix test
      
      * Fix example
      
      * Update macro to remove superfluous cruft
      
      * Make work with new macro
      
      * Tests
      
      * Fix some tests
      
      * Tests
      
      * Fix grumbles
      
      * Final grumble
      761bc9f7
  5. Sep 05, 2018
    • Bastian Köcher's avatar
      Implement storage json metadata (#670) · b538733a
      Bastian Köcher authored
      * `decl_storage!` exposes json metadata about the storage
      
      The metadata can be accessed by calling `store_json_metadata()`.
      
      * Hide internal macros in the documentation
      
      * Include the function documentation in the store json metadata
      
      * Adapt the storage declarations to use doc comments
      b538733a
    • Svyatoslav Nikolsky's avatar
      DigestItem trait (v2) (#650) · be7cb74b
      Svyatoslav Nikolsky authored
      * DigestItem trait
      
      * removed autoimpl in impl_outer_log
      
      * StubDigestItem -> ()
      be7cb74b
  6. Aug 31, 2018
  7. Aug 30, 2018
    • Gav Wood's avatar
      Separate out staking module into balances and payment (#629) · 8281618e
      Gav Wood authored
      * Initial commit.
      
      * Split out balances module
      
      * Minimise Balances trait requirements
      
      * Fix up balances, remove balances stuff from staking
      
      * Split off and fix up staking module
      
      * Fix executive tests
      
      * Fix up democracy module
      
      * make council work again
      
      * Remove unneeded cruft from democracy
      
      * Fix up contract module
      
      * Fix up rest of tests
      
      * Fix minor TODOs
      
      * Fix tests
      
      * Remove superfluous code
      
      * Move offline inherents to consensus module.
      
      Fixes #630
      
      * Version needs Decode.
      
      * Move Decode back
      
      * Fix nits
      
      * Refactor to allow custom message
      8281618e
  8. Aug 29, 2018
  9. Aug 28, 2018
    • Gav Wood's avatar
      Introduce Runtime Events (#607) · 278a054b
      Gav Wood authored
      * Squashed commit.
      
      New slashing mechanism (#554)  …
      * Slashing improvements
      
      - unstake when balance too low
      - unstake after N slashes according to val prefs
      - don't early-terminate session/era unless unstaked
      - offline grace period before punishment
      * Fix warning
      * Cleanups and ensure slash_count decays
      * Bump authoring version and introduce needed authoring stub
      * Rename
      * Fix offline tracker
      * Fix offline tracker
      * Renames
      * Add test
      * Tests
      * Tests.
      Remove accidental merge files.
      Merge remote-tracking branch 'origin/master' into gav-new-pos
      Version bump, fixes (#572)  …
      * Bump version, don't propose invalid blocks
      * Fix build.
      * Fixes.
      * More fixes.
      * Fix tests.
      * Fix more tests
      * More tests fixed
      Fix merge
      Fix accidental merge bug
      Fixes.
      Staking failsafes  …
      - Don't slash/unstake/change session when too few staking participants
      - Introduce set_balance PrivCall
      Make minimum validator count dynamic.
      test fixes
      Fix tests.
      Fix tests
      Fix tests, update readme.
      Merge remote-tracking branch 'origin/master' into gav-new-pos
      Test with release.
      Use safe math when dealing with total stake
      Fix test again.
      Introduce events into runtime.
      Fix tests
      Add events for account new/reap
      Integration-style tests for events.
      
      * Remove old code
      278a054b
  10. Aug 15, 2018
    • Gav Wood's avatar
      Refactor/substrate state machine generic (#553) · 3d6aaab2
      Gav Wood authored and asynchronous rob's avatar asynchronous rob committed
      * 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
      3d6aaab2
  11. Jul 15, 2018
  12. Jul 11, 2018
  13. Jul 10, 2018
  14. Jul 03, 2018
    • Arkadiy Paronyan's avatar
      Serialisable genesis config (#229) · 9b885ba0
      Arkadiy Paronyan authored
      * Genesis serialization
      
      * Custom type for AuthorityId
      
      * Merge w master
      
      * Fixed a few minor issues
      
      * Fixed unmerged file
      
      * Renamed tag
      
      * Deferred genesis loading
      
      * Upated wasm runtime
      
      * Minor issues
      9b885ba0
  15. Jun 21, 2018
    • Gav Wood's avatar
      Dump genesis to JSON file (#218) · 60f7b897
      Gav Wood authored
      * 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.
      
      * Initial draft (working).
      
      * Address grumbles.
      
      * Revert bad `map_or`
      
      * Rebuild binaries, workaround.
      
      * Avoid checking in vscode
      
      * reconnecting, shared, slog
      
      * CLI options for name and telemetry url
      
      * ensure telemetry url imples enabled
      
      * Avoid casting to usize early.
      
      * Provide on-connect event for session message
      
      * Better port
      
      * heartbeat and some renaming
      
      * transaction pool stuff
      
      * minor renaming.
      
      * report telemetry
      
      * cleanups.
      
      * Fix for previous cleanup
      
      * dump genesis, dev mode, renaming
      
      * Rework chain spec/config &c. to allow for genesis file loading.
      
      * Avoid producing genesis storage when unneeded
      
      * Allow reading JSON genesis state dumps
      
      * tests work again
      
      * better logging.
      
      * Fix wasm build.
      
      * Introduce PoC-1 spec
      
      * Made block message compatible with poc-1
      
      * Squashed changes for dumping genesis block.
      
      * Binaries.
      
      * Made block message compatible with poc-1
      
      * Remove dead code.
      
      * Fix bad merge.
      
      * Argument passing and returning values when invoking sandboxed funcs (#189)
      
      * Fixed block download sequence (#223)
      
      * Trie-based execution proof (#177)
      
      * TrieBasedBackend
      
      * trie tests
      
      * redunant return_value removed
      
      * use Trie::get_with to record trie proofs
      
      * Relaying tx/blocks by light clients (#190)
      
      * do not import external transactions into light tx pool
      
      * do not announce blocks on light clients
      
      * blocks_are_not_announced_by_light_nodes
      60f7b897
  16. Jun 18, 2018
    • Gav Wood's avatar
      Enumeratable accounts (#195) · e53c17d6
      Gav Wood authored
      * 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
      e53c17d6
  17. Jun 06, 2018
    • Gav Wood's avatar
      Make substrate generic (#169) · b94cf078
      Gav Wood authored and asynchronous rob's avatar asynchronous rob committed
      * 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
      b94cf078
  18. May 25, 2018
    • asynchronous rob's avatar
      Minimal parachain framework part 1 (#113) · 27aafb0a
      asynchronous rob authored
      * 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
      27aafb0a
  19. Apr 12, 2018
  20. Apr 06, 2018
    • Arkadiy Paronyan's avatar
      Consensus message buffering and more (#114) · b3dd4e74
      Arkadiy Paronyan authored
      * 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
      b3dd4e74
  21. Apr 05, 2018
    • Gav Wood's avatar
      Make Polkadot use the Substrate traity libraries (#105) · 1d8a9a6d
      Gav Wood authored and asynchronous rob's avatar asynchronous rob committed
      * 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.
      1d8a9a6d
  22. Apr 04, 2018
    • Gav Wood's avatar
      Traitify Runtime (#104) · bd066e27
      Gav Wood authored
      * 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
      bd066e27