Skip to content
  1. Oct 12, 2018
    • Tomasz Drwięga's avatar
      Tagged transaction queue integration (#893) · ce598db0
      Tomasz Drwięga authored
      * Make the graph generic.
      
      * Adapting pool API for the graph.
      
      * Merge pool & graph.
      
      * Restructure.
      
      * Fix test of transaction pool.
      
      * Get rid of node/transaction-pool.
      
      * Compilation fixes.
      
      * Test7
      
      * Fix compilation of tests.
      
      * Revert runtime changes.
      
      * Add validate_transaction to test-runtime.
      
      * Fix RPC tests.
      
      * Add clearing of the old transactions.
      
      * Trigger pool events.
      
      * Use new queue API.
      
      * Fix wasm build, re-export Hasher.
      
      * No warning if validate transaction fails.
      
      * Get rid of Into<u64> and use As
      ce598db0
  2. Oct 10, 2018
  3. Oct 09, 2018
    • Bastian Köcher's avatar
      Runtime API clean up (#892) · 4fc8c98b
      Bastian Köcher authored
      * Rename `NewTxQueue` to `TaggedTransactionQueue`
      
      * Remove `BlockBuilder` API and support adding documentation to the API functions
      
      * Adds new `BlockBuilder` API
      
      * Fixes compilation with new `BlockBuilder` API
      
      * Some more cleanup
      
      * Cargo.lock update
      
      * Try to fix on stable
      4fc8c98b
    • Bastian Köcher's avatar
      Refactor the runtime API to use traits. (#878) · 3f467478
      Bastian Köcher authored
      * Add missing `As` imports.
      
      * Adds new API traits that will be used by the client and runtime
      
      * Switch consensus to new API's
      
      * Switches transaction-pool to new API's
      
      * Move runtime api stuff into its own crate
      
      * Adds `impl_apis!` macro for implementing the new API traits
      
      * Make `metadata` return directly a blob
      
      * Runtime replace `impl_stubs!` with `impl_apis!`
      
      * Switches to none feature based approach for declaring the different API traits
      
      * Fixes compilation error
      
      * Fixes errors
      
      * Make the `decl_apis!` trait usable from the outside
      
      * Make the `test-client` use the new API traits
      
      * Remove last `impl_stubs!` bits and move some of them into wasm executor for tests
      
      * A little bit more documentation
      3f467478
  4. Oct 05, 2018
  5. Sep 29, 2018
    • Arkadiy Paronyan's avatar
      Fixed consensus message garbage collection & DB initialization (#841) · 73d72278
      Arkadiy Paronyan authored
      * Consensus cleanup
      
      * Fixed DB initialization issue
      
      * Spacing
      73d72278
    • Svyatoslav Nikolsky's avatar
      Fetching changes proof from remote nodes (#769) · 9d4fcedc
      Svyatoslav Nikolsky authored
      * changes_trie
      
      * changs_trie: continue
      
      * changes_trie: adding tests
      
      * fixed TODO
      
      * removed obsolete ExtrinsicChanges
      
      * encodable ChangesTrieConfiguration
      
      * removed polkadot fle
      
      * fixed grumbles
      
      * ext_storage_changes_root returns u32
      
      * moved changes trie root to digest
      
      * removed commented code
      
      * read storage values from native code
      
      * fixed grumbles
      
      * fixed grumbles
      
      * missing comma
      
      * key changes proof generation + query
      
      * fix grumbles
      
      * check that changes trie config is not changed by block.finalize()
      
      * fixed changes trie config check
      9d4fcedc
  6. Sep 28, 2018
    • Arkadiy Paronyan's avatar
      Integration tests (#805) · e722f09b
      Arkadiy Paronyan authored
      * Started substrate tests
      
      * Sync test
      
      * Test updates
      
      * Improved tests
      
      * Use on-chain block delay
      
      * Parallel test execution
      
      * Otimized tests
      
      * Logging
      
      * Fixed racing test
      
      * Fixed compilation
      
      * Fixed timestamp test
      
      * Removed rlp dependency
      
      * Minor fixes
      
      * Fixed tests
      
      * Removed best_block_id and resolved fdlimit issue
      
      * Whitespace
      
      * Use keyring
      
      * Style
      
      * Added API execution setting
      
      * Removed stale import
      e722f09b
  7. Sep 27, 2018
  8. 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
  9. Sep 25, 2018
    • 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
  10. 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
  11. Sep 21, 2018
    • asynchronous rob's avatar
      Introduce notion of finality to substrate (#760) · 3cb5d889
      asynchronous rob authored
      * 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`
      3cb5d889
  12. 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
    • 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
  13. Sep 19, 2018
  14. Sep 18, 2018
  15. Sep 12, 2018
    • 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
  16. Sep 11, 2018
    • Gav Wood's avatar
      Remove cruft (#714) · 98c36b92
      Gav Wood authored and Arkadiy Paronyan's avatar Arkadiy Paronyan committed
      98c36b92
    • Gav Wood's avatar
      Remove PoC-1 back-compat hacks (#709) · 82e9c834
      Gav Wood authored
      * Remove PoC-1 back-compat hacks
      
      * Fix lingering Keccak references
      
      * More keccak exorcism
      
      * Fix test
      
      * Final fixes
      82e9c834
    • Bastian Köcher's avatar
      Improve event json metadata (#710) · 1ea42fce
      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
      1ea42fce
  17. Sep 10, 2018
    • Bastian Köcher's avatar
      Implements `json_metadata` RPC call (#692) · 11ee362e
      Bastian Köcher authored
      * Adds `impl_json_metadata!` for generating all metadata of a runtime
      
      * Adds `json_metadata` RPC call
      
      * Adds simple test for the `json_metadata` RPC call
      
      * Implements json metadata in the demo runtime
      
      * Fix indent
      
      * Adds missing copyright headers
      
      * Dispatch json metadata renamings and improvements
      
      * Replaces `format!` & `String` with `Vec<JSONMetadata`
      
      * Implements `Encode` and `Decode` for JSONMetadata
      
      * Make `impl_json_metadata!` compileable on `no_std`
      
      * Adapt the client to decode the correct type for `json_metadata`
      
      * Fixes compile error and warning
      
      * Whitespace
      11ee362e
    • Arkadiy Paronyan's avatar
      Bring substrate-demo up to date (#658) · 68137aea
      Arkadiy Paronyan authored
      * Updating substrate-demo
      
      * Consenus fixes
      
      * Reverted toolchain change
      
      * Adjusted timeout formula
      
      * Simplfied proposal creation
      
      * Fixed tests
      
      * Fixed a few small issues
      
      * 2017->2018
      
      * Style
      
      * More style
      
      * Renamed demo executable to substrate
      
      * Style
      
      * Fixed compilation after merge
      
      * Style
      68137aea
  18. Sep 04, 2018
  19. Aug 28, 2018
  20. Aug 15, 2018
    • Gav Wood's avatar
      Refactor/substrate state machine generic (#553) · 690f52f5
      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
      690f52f5
  21. Aug 12, 2018
  22. Aug 08, 2018
  23. Aug 06, 2018
  24. Aug 03, 2018
  25. Aug 01, 2018
    • Tomasz Drwięga's avatar
      Storage changes subscription (#464) · 757a721b
      Tomasz Drwięga authored and Svyatoslav Nikolsky's avatar Svyatoslav Nikolsky committed
      * Initial implementation of storage events.
      
      * Attaching storage events.
      
      * Expose storage modification stream over RPC.
      
      * Use FNV for hashing small keys.
      
      * Fix and add tests.
      
      * Swap alias and RPC name.
      
      * Fix demo.
      
      * Addressing review grumbles.
      
      * Fix comment.
      757a721b
  26. Jul 29, 2018
  27. Jul 27, 2018
    • Arkadiy Paronyan's avatar
      Prevent building invalid blocks (#430) · 9feedaa9
      Arkadiy Paronyan authored
      * Commit extrinsics changes
      
      * Removed panic=abort
      
      * Commit when needed
      
      * Resotre default hook for the native call
      
      * Revert test
      
      * Proper test
      
      * Sorted errors and fixed wasm build
      9feedaa9
  28. Jul 24, 2018
  29. Jul 15, 2018
  30. Jul 14, 2018
    • Gav Wood's avatar
      Fix and cleanups (#314) · d1b68466
      Gav Wood authored and Arkadiy Paronyan's avatar Arkadiy Paronyan committed
      * Cleanups (remove genesis.wasm & nicer errors)
      
      - Pretty errors for version mismatch
      - Remove the need for genesis wasm
      
      * Remove unneeded wasm files
      
      * Improve code of conduct
      
      * Leaner code
      
      * Test fixes
      
      * fix tests
      
      * Fix consensus checking
      d1b68466
    • Arkadiy Paronyan's avatar
      Split polkadot-service (#310) · 62b28322
      Arkadiy Paronyan authored
      * Substrate service
      
      * Splitting polkadot service
      
      * Specialised components
      
      * Specialised components
      
      * Docs and style
      
      * Docs and style
      
      * Final touches
      
      * Added db key assertion
      62b28322
    • Gav Wood's avatar
      Dual execution (#311) · 04da0e77
      Gav Wood authored
      * Initial logic
      
      * Remove accidental file
      
      * Config
      
      * Remove accidental
      
      * Apply CLI config
      
      * Additional work. Sadly pointless.
      
      * Rearrange everything
      
      * Loop into CLI param
      
      * Implement dual execution
      
      * typo
      
      * fix tests.
      
      * Better docs
      
      * Fix bug
      
      * Add some tests
      
      * Report block information on consensus failure, tests
      
      * Fix test
      04da0e77