1. Jun 06, 2018
    • Gav Wood's avatar
      Make substrate generic (#169) · 521e3a23
      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
      521e3a23
  2. Apr 05, 2018
    • Gav Wood's avatar
      Make Polkadot use the Substrate traity libraries (#105) · b3f026f1
      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.
      b3f026f1
  3. Mar 13, 2018
    • asynchronous rob's avatar
      Slash Authorities for irrefutable misbehavior (#84) · ca28497c
      asynchronous rob authored
      * 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
      ca28497c
  4. Feb 25, 2018
    • asynchronous rob's avatar
      Proposal creation and evaluation to plug into BFT (#77) · 05583c34
      asynchronous rob authored
      * 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
      05583c34
  5. Feb 19, 2018
    • Gav Wood's avatar
      Optional storage entries (#75) · 1308aab5
      Gav Wood authored and asynchronous rob's avatar asynchronous rob committed
      * 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.
      1308aab5
  6. Feb 12, 2018
    • Gav Wood's avatar
      Additional runtime tests for the test-runtime (#69) · 3d30b128
      Gav Wood authored and asynchronous rob's avatar asynchronous rob committed
      * 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.
      3d30b128
  7. Feb 09, 2018
    • Gav Wood's avatar
      Introduce toy runtime for testing inside substrate. (#66) · 0a53392c
      Gav Wood authored
      * 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
      0a53392c
  8. Feb 08, 2018
    • asynchronous rob's avatar
      Re-introduce zero copy codec and add minimal polkadot client API which uses... · 4fb77640
      asynchronous rob authored
      Re-introduce zero copy codec and add minimal polkadot client API which uses linked native runtime (#65)
      
      * 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
      4fb77640
    • Gav's avatar
      Fix warning and directory restructure. · 8d256389
      Gav authored
      8d256389