1. Sep 27, 2018
  2. Sep 26, 2018
    • snd's avatar
      best_containing operations (issue 603) (#740) · 6c7b45e9
      snd authored and asynchronous rob's avatar asynchronous rob committed
      * add stub for Client.best_chain_containing_block_hash
      
      * add fn blockchain::Backend::leaf_hashes
      
      * fix typo
      
      * sketch out Client.best_chain_containing_block_hash
      
      * fix indent
      
      * Blockchain.leaf_hashes -> Blockchain.leaves
      
      * add unimplemented! stub impls for Blockchain.leaves
      
      * start impl of Blockchain.leaves for in-memory client db
      
      * Client.best_chain_containing...: check canonical first and make compile
      
      * first rough attempt at maintaining leaf list in in-memory db
      
      * fix tab indent
      
      * add test best_chain_containing_single_block
      
      * add failing test best_chain_containing_with_fork
      
      * pub use client::blockchain; in test-client to prevent circular dep in client tests
      
      * best_chain_containing_with_single_block: improve and test leaves
      
      * far improve in-memory Backend::leaves impl
      
      * test blockchain::Backend::leaves more thoroughly
      
      * handle more edge cases in blockchain::Backend::leaves impl for in memory
      
      * fix test best_chain_containing_with_fork (two distinct test blocks had same hash)
      
      * make best_chain_containing_block_hash pass existing tests
      
      * improve docstring for Blockchain::leaves
      
      * Client.best_chain_containing: some cleanup. support max_block_number
      
      * best_chain_containing: remove broken outcommented fast check for best = canonical
      
      * remove blank line
      
      * best_block_containing: return None if target_hash not found
      
      * best_chain_containing: add unreachable! at end of function
      
      * improve tests for best_chain_containing
      
      * renames
      
      * more elaborate test scenario for best_containing
      
      * best_containing: fix restriction of search through maybe_max_number
      
      * best_containing: tests for restriction of search
      
      * get rid of unnecessary clones
      
      * replace Client::new_in_mem by new_with_backend which is useful for testing backends
      
      * add test_client::new_with_backend for testing different backend impls
      
      * add test for in_mem::Backend::leaves
      
      * remove unused imports
      
      * in_mem test_leaves: simplify
      
      * flesh out tests for in_mem leaves impl
      
      * remove tests for leaves from client which are now covered in implementing module
      
      * improve comment
      
      * add Client.new_in_mem again
      
      * unwrap in test_client::new_with_backend
      
      * make test_client::BlockBuilderExt work not just with in-mem backend
      
      * make test client ext not just work with in mem backend
      
      * add failing Backend.leaves test for client-db
      
      * update Cargo.lock
      
      * replace KeccakHasher with Blake2Hasher
      
      * refactor
      
      address grumble https://github.com/paritytech/substrate/pull/740#discussion_r217822862
      
      * refactor using NumberFor
      
      address grumble https://github.com/paritytech/substrate/pull/740#discussion_r217823341
      
      * add test that exposes possible problem
      
      * update docstring for Client.best_containing
      
      * extract test for Backend.leaves for reuse
      
      * improve test blockchain_header_and_hash_return_blocks_from_canonical_chain_given_block_numbers
      
      * extract test_blockchain_query_by_number_gets_canonical to easily test multiple impls
      
      * remove whitespace
      
      * remove todo
      
      * Client.best_containing: pre-empt search loop when target in canonical
      
      * best_containing: prevent race condition by holding import lock
      
      * add todo
      
      * extract leaf list update code into function
      
      * add comment
      
      * client-db: use in-memory-kvdb for tests
      
      * use BTreeSet to store leaves for in-mem which is faster and simpler
      
      * add docstring
      
      * add comments and fix formatting
      
      * add initial raw version of LeafSet
      
      * remove Client::update_leaves which has been superceded by LeafSet
      
      * use LeafSet in in-mem backend
      
      * keccak -> blake2
      
      * don't reexport codec traits in primitives
      
      addresses https://github.com/paritytech/substrate/pull/740#discussion_r219538185
      
      * fix rebase mistake
      
      * improve LeafSet and use it in state-db
      
      * correct Transfer nonces to fix ApplyExtinsicFailed(Stale)
      
      * use given backend in canoncal test
      
      * kill dead tree-route code in util
      
      * fix warnings
      
      * tests for leafset
      
      * reorganizations in in_mem backend
      
      * fix reorganization canon block logic
      
      * DB commit and safe reversion on write error
      
      * fix style nits
      6c7b45e9
    • Guanqun Lu's avatar
      clear statedb panics (#797) · 6c17316a
      Guanqun Lu authored
      * state-db: remove the assertion and replace it with Result<>
      
      * state-db: unit test fixes
      
      * comment fixes
      
      * typo fix
      6c17316a
    • Guanqun Lu's avatar
      State db random fixes (#802) · e82fe118
      Guanqun Lu authored
      * state-db: typo fixes
      
      * use fmt::Result for 'fmt'
      
      * state-db: typo fixes
      
      * state-db: use the same pattern to pass the parameter
      
      * state-db: follow the same style
      e82fe118
    • Pierre Krieger's avatar
      Rewrite the libp2p networking (#742) · 7c28ab49
      Pierre Krieger authored and Arkadiy Paronyan's avatar Arkadiy Paronyan committed
      * Rewrite the libp2p networking
      
      * Fix erroneous replacement during rebase
      
      * Update libp2p
      
      * Update libp2p
      
      * Remove the logic error about useless substreams
      
      * Use the new NodeHandler system of libp2p
      
      * Commit the Cargo.lock
      
      * Upgrade yamux
      
      * Forward port latest changes
      
      * Fix compilation issues
      
      * Implement the external URL
      
      * Update to latest networking fixes
      
      * Forward port rest of v0.2
      
      * Fix reserved peers being dropped when we're full
      7c28ab49
  3. Sep 25, 2018
    • asynchronous rob's avatar
      Hard cutoff for non-finalized block state pruning (#798) · 07665566
      asynchronous rob authored and Arkadiy Paronyan's avatar Arkadiy Paronyan committed
      * state pruning after window even when nothing is finalized
      
      * rename and alter canonicalization delay
      
      * fix constant
      
      * address grumbles
      
      * add comment on canonicality vs finality
      07665566
    • Arkadiy Paronyan's avatar
      Fixed extrinsic encoding (#794) · a5077f32
      Arkadiy Paronyan authored
      * Fixed extrinsic encoding
      
      * Reserve heuristic
      
      * Fixed no-std build
      a5077f32
    • Tomasz Drwięga's avatar
      Transactions dependency graph (#787) · 22c1a281
      Tomasz Drwięga authored
      * Graph transaction pool.
      
      * Start future implementation.
      
      * Future -> Ready promotions.
      
      * Replacement logic.
      
      * Clear extern crates, add docs.
      
      * Move hash externally.
      
      * Implement remove_invalid
      
      * Implement ready transactions pruning.
      
      * Move & rename.
      
      * Add some logs.
      
      * Clean up deps.
      
      * Use Member trait.
      
      * Add missing docs, elaborate on the proof.
      
      * Expand on docs and proofs.
      22c1a281
    • Gav Wood's avatar
      Switch to shiny new fast, RLP-less trie (#795) · e4c07ba5
      Gav Wood authored and Arkadiy Paronyan's avatar Arkadiy Paronyan committed
      * Bump codec
      
      * Fix tests
      
      * Patricia trie builds
      
      * Introduce trie
      
      * Some yak shaving.
      
      * Some fixes
      
      * Remove RLP ref
      
      * Fixes
      
      * It builds!
      
      * Some tests fixed
      
      * Another test fix
      
      * Rejig more hashes
      
      * substrate-trie::iterator_works test
      
      * Update lock
      
      * Polish
      
      * Docs
      
      * Undo incorrect "fix" for tests
      
      * Fix nits
      e4c07ba5
  4. Sep 24, 2018
    • asynchronous rob's avatar
      Finality notification streams (#791) · 54f22b63
      asynchronous rob authored and Arkadiy Paronyan's avatar Arkadiy Paronyan committed
      * finalization for in_mem
      
      * fetch last finalized block
      
      * pruning: use canonical term instead of final
      
      * finalize blocks in full node
      
      * begin to port light client DB
      
      * add tree-route
      
      * keep number index consistent in full nodes
      
      * fix tests
      
      * disable cache and finish porting light client
      
      * add AsMut to system module
      
      * final leaf is always best
      
      * fix all tests
      
      * Fix comment and trace
      
      * removed unused Into call
      
      * add comment on behavior of `finalize_block`
      
      * move `tree_route` to client common
      
      * tree_route tests
      
      * return slices in TreeRoute
      
      * apply finality up to parent
      
      * add `finalize_block` call
      
      * adjust formatting
      
      * finality notifications and add last finalized block to chain info
      
      * exhaustive match and comments
      
      * fix sync tests by using non-instant finality
      54f22b63
  5. Sep 23, 2018
  6. Sep 21, 2018
  7. Sep 20, 2018
    • Gav Wood's avatar
      Address grumbles in eras PR (#782) · 2eb36233
      Gav Wood authored
      * Address grumbles
      
      * Fix hash
      2eb36233
    • Gav Wood's avatar
      Transaction eras (#758) · 0b72f33d
      Gav Wood authored
      * Initial groundwork
      
      * A mess.
      
      * Integrate
      
      * Fix tests
      
      * Unit tests
      
      * Tests for unchecked_extrisnic
      
      * fix tab
      
      * Improve binary format.
      
      * fix tests
      
      * Rename extrinsic-pool -> transaction-pool
      
      Closes #770
      
      * Implement unimplemented.
      
      * typo
      0b72f33d
    • Guanqun Lu's avatar
      remove duplicate try_into_trie_backend (#779) · e9fa40e6
      Guanqun Lu authored and asynchronous rob's avatar asynchronous rob committed
      e9fa40e6
    • Bastian Köcher's avatar
      Replace JSON metadata with custom metadata structures (#766) · 64fa981d
      Bastian Köcher authored
      * Move module metadata from json string to custom metadata
      
      * Revisit the metadata structures
      
      1. Move the structures into the metadata crate.
      2. Switch to using Cow/MaybeOwnedArray to support Encode/Decode
      
      * Adapt to new metadata structures
      
      * Convert event json metadata to new metadata structures
      
      * Convert storage json metadata to new metadata structures
      
      * Convert runtime metadata from json to new metadata structs
      
      * Implements new metadata structures in client and runtime
      
      * Fixes errors on `no_std`
      
      * Fixes errors after rebasing master
      
      * Do not use `Cow` anymore in metadata
      
      Also replace `String` with our own type definition `StringBuf`.
      This fixes compilation on `no_std`.
      
      * Wrap `RuntimeMetadata` in `RuntimeMetadataVersioned` to support versioning
      
      * Move metadata into `srml` and make core unaware of the implementation
      64fa981d
  8. Sep 19, 2018
  9. Sep 18, 2018
  10. Sep 17, 2018
    • Gav Wood's avatar
      Generalised Transaction Queue API (#741) · cadd0558
      Gav Wood authored
      * First effort
      
      * API versioning
      
      * Introduce validate_transaction
      
      * Introduce the API plus fixes.
      
      * Docs
      
      * Typo
      
      * Add longevity parameter to transaction validity info.
      cadd0558
    • Maciej Hirsz's avatar
      Telemetry refactor (#757) · 690a29e9
      Maciej Hirsz authored
      * Telemetry Refactor
      
      * Cleanup
      
      * Sleep after clearing Sender on error
      690a29e9
    • Bastian Köcher's avatar
      Implement `construct_runtime!` macro (#751) · 8b7e5526
      Bastian Köcher authored
      * Make `system` module renamable in `impl_outer_event!`
      
      * Implement `construct_runtime!` macro
      
      This macro generates code for calling all the common `impl_outer_*` macros.
      
      * Add documentation
      
      * Fixes wrong declaration of `contract`
      
      * Update dependencies to work on `no_std`
      
      * One more `Cargo.lock` update
      
      * Address comments
      8b7e5526
    • Guanghua Guo's avatar
      Not use extern (#748) · 2f99e8f0
      Guanghua Guo authored
      * Not use extern
      
      * Update Cargo.lock
      2f99e8f0
  11. Sep 13, 2018
  12. Sep 12, 2018
    • Bastian Köcher's avatar
    • Gav Wood's avatar
      Phase 1 of repo reorg (#719) · bc276f3c
      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
      bc276f3c