Skip to content
  1. Jan 17, 2019
  2. Jan 16, 2019
    • Marcio Diaz's avatar
      Make use of NLL in client crate (#1436) · 5d454b71
      Marcio Diaz authored
      * fix: set edition to 2018 in Cargo.toml.
      
      * fix: refactor function to make use of NLL.
      
      * fix: result of applying 'cargo fix --edition' command.
      
      * fix: removes extern crate
      
      * fix: remove module uses from lib.rs
      
      * fix: tests imports
      5d454b71
  3. Jan 11, 2019
  4. Jan 08, 2019
    • Arkadiy Paronyan's avatar
      State cache and other performance optimizations (#1345) · 5dd23c2c
      Arkadiy Paronyan authored
      * State caching
      
      * Better code caching
      
      * Execution optimizaton
      
      * More optimizations
      
      * Updated wasmi
      
      * Caching test
      
      * Style
      
      * Style
      
      * Reverted some minor changes
      
      * Style and typos
      
      * Style and typos
      
      * Removed panics on missing memory
      5dd23c2c
    • Wei Tang's avatar
      Make AuthorityId generic (#1296) · bc25da55
      Wei Tang authored and Benjamin Kampmann's avatar Benjamin Kampmann committed
      * BlockAuthorityId convenience type
      
      * Rename AuthorityId -> Ed25519AuthorityId to make it more precise
      
      * Generalize AuthorityId up to substrate-client
      
      * Fix in client-db
      
      * rename: BlockAuthorityId -> AuthorityIdFor
      
      * typo: should be digest item
      
      * Fix test-runtime authorityId mismatch
      
      One states that AuthorityId is u64 while the other states that it's Ed25519AuthorityId.
      
      * Fix more u64 - Ed25519AuthorityId mismatch
      
      * Fix compile of most of the srml modules
      
      * Continue to pin aura and grandpa with ed25519 and fix compile
      
      * Add MaybeHash trait
      
      * Fix node-runtime compile
      
      * Fix network tests
      bc25da55
  5. Jan 04, 2019
  6. Dec 31, 2018
  7. Dec 21, 2018
  8. Dec 10, 2018
    • asynchronous rob's avatar
      Punish offline validators, aura-style (#1216) · 691e6e8f
      asynchronous rob authored
      * make offline-reporting infrastructure more generic
      
      * add a listener-trait for watching when the timestamp has been set
      
      * prevent inclusion of empty offline reports
      
      * add test for exclusion
      
      * generate aura-offline reports
      
      * ability to slash many times for being offline "multiple" times
      
      * Logic for punishing validators for missing aura steps
      
      * stub tests
      
      * pave way for verification of timestamp vs slot
      
      * alter aura import queue to wait for timestamp
      
      * check timestamp matches seal
      
      * do inherent check properly
      
      * service compiles
      
      * all tests compile
      
      * test srml-aura logic
      
      * aura tests pass
      
      * everything builds
      
      * some more final tweaks to block authorship for aura
      
      * switch to manual delays before step
      
      * restore substrate-consensus-aura to always std and address grumbles
      
      * update some state roots in executor tests
      
      * node-executor tests pass
      
      * get most tests passing
      
      * address grumbles
      691e6e8f
    • Tomasz Drwięga's avatar
      Move pool maintainance to a background task. (#1236) · 4a2d52ba
      Tomasz Drwięga authored
      * Move pool maintainance to a background task.
      
      * Remove commented code.
      
      * Add issue number to TODOs
      
      * Fix warnings and tests.
      4a2d52ba
    • Svyatoslav Nikolsky's avatar
      Make CallApiAt::call_api_at work at light client (#1213) · bb07c76e
      Svyatoslav Nikolsky authored
      * light client contextual method call
      
      * fixed off-by-one in test
      
      * newlines + commas
      bb07c76e
    • Bastian Köcher's avatar
      Make runtime api generate version and identifier information (#1226) · df338c24
      Bastian Köcher authored
      * Make `decl_runtime_apis!` implement `RuntimeApiInfo` for all runtime
      apis
      
      * Make the runtime side generate the info constants as well
      
      * Make `RuntimeApiInfo` implementation use the correct generics
      
      * Adds a test for the runtime api info stuff
      
      * Remove duplicated code by using block from `test-client`
      
      * Adds `compile_fail` tests for `api_version`
      
      * Adds documentation for `api_version`
      
      * Make `impl_runtime_apis!` generate `RUNTIME_API_VERSIONS`
      
      * Update documentation and tests for `RUNTIME_API_VERSIONS`
      
      * Implement `has_api` by using the `RuntimeApiInfo`
      
      * Make `impl_runtime_apis` check that trait identifiers are unique
      
      * Prefix all runtime api function with the corresponding trait
      
      So `execute_block` will be called `Core_execute_block`.
      This makes it possible to have traits implement a function with the
      same name.
      
      * Rebase master
      
      * Update after master rebase
      df338c24
  9. Dec 09, 2018
  10. Dec 08, 2018
    • André Silva's avatar
      core: fix max depth handling of best_containing (#1234) · 8b4ff729
      André Silva authored and asynchronous rob's avatar asynchronous rob committed
      8b4ff729
    • André Silva's avatar
      Grandpa validator set handoff justification (#1190) · 8a19aa54
      André Silva authored
      * core: make block justification optional
      
      * runtime: update wasm binaries
      
      * core: optionally pass justification on finalize_block
      
      * finality-grandpa: add channel to trigger authority set changes
      
      this will allow the `BlockImport` to trigger an authority set change when
      importing a change block that provides a justification (when syncing)
      
      * finality-grandpa: move finalize_block to free function
      
      * finality-grandpa: add GrandpaOracle for auth set liveness checking
      
      this will be used by `BlockImport` to check whether the authority set for a
      given block is still live, if the authority set isn't live then importing a
      change block requires a justification.
      
      * finality-grandpa: store justification on finalized transition blocks
      
      * finality-grandpa: check justification on authority set change blocks
      
      * finality-grandpa: poll grandpa liveness oracle every 10 seconds
      
      * finality-grandpa: spawn grandpa oracle in service setup
      
      * core: support multiple subscriptions per consensus gossip topic
      
      * finality-grandpa: create and verify justifications
      
      * finality-grandpa: update to local branch of grandpa
      
      * finality-grandpa: update to finality-grandpa v0.5.0
      
      * finality-grandpa: move grandpa oracle code
      
      * finality-grandpa: fix canonality check
      
      * finality-grandpa: clean up error handling
      
      * finality-grandpa: fix canonical_at_height
      
      * finality-grandpa: fix tests
      
      * runtime: update wasm binaries
      
      * core: add tests for finalizing block with justification
      
      * finality-grandpa: improve validation of justifications
      
      * core: remove unused IncompleteJustification block import error
      
      * core: test multiple subscribers for same consensus gossip topic
      
      * Revert "finality-grandpa: improve validation of justifications"
      
      This reverts commit 51eb2c58.
      
      * finality-grandpa: fix commit validation
      
      * finality-grandpa: fix commit ancestry validation
      
      * finality-grandpa: use grandpa v0.5.1
      
      * finality-grandpa: add docs
      
      * finality-grandpa: fix failing test
      
      * finality-grandpa: only allow a pending authority set change per fork
      
      * finality-grandpa: fix validator set transition test
      8a19aa54
  11. Dec 03, 2018
  12. Nov 30, 2018
    • Bastian Köcher's avatar
      Rewrite `impl_runtime_apis!` and `decl_runtime_apis!` as proc-macro (#1174) · 5651ac71
      Bastian Köcher authored
      
      
      * Rewrites `impl_runtime_apis!` macro as `proc-macro`
      
      * Adds some documentation
      
      * Require the `impl_runtime_apis` to use a path for accessing the trait
      
      * Make the runtime implement `GetNodeBlockType`
      
      * Moves first chunk of runtime api code into the `impl_runtime_apis` macro
      
      This also renames `ClientWithApi` into `RuntimeApi`.
      
      * Make `impl_runtime_apis` use `runtime` api version automatically
      
      * `decl_runtime_apis` automatically adds `Block: BlockT` as generic parameter
      
      * Remove function generic arguments in block builder api
      
      * Remove some unnused stuff from the `decl_runtime_apis` macro
      
      * Make `InherentData` working again
      
      * Make `impl_runtime_apis!` implement the `RuntimeApi` side as well
      
      * Make it compile again after rebasing with master
      
      * Split `sr-api-macros` into multiple files
      
      * Reimplement `decl_runtime_apis!` as proc_macro
      
      * Use `decl_runtime_apis!` for `Core` as well and improve error reporting
      
      * Adds documentation for `decl_runtime_apis!` and `impl_runtime_apis!`
      
      * Move some code
      
      * Adds compile fail tests
      
      * Adds a test and fixes some bugs
      
      * Make `impl_runtime_apis!` support `_` as parameter name
      
      * Fixes build errors with wasm
      
      * Wasm rebuild after master rebase
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarbkchr <[email protected]>
      
      * Addresses some grumbles
      
      * Adds test to ensure that method signatures need to match
      
      * New wasm files
      5651ac71
  13. Nov 23, 2018
  14. Nov 19, 2018
  15. Nov 16, 2018
    • Bastian Köcher's avatar
      Try to get grandpa tests compiling again (#1121) · baf7cf63
      Bastian Köcher authored
      * Revert "start to refactor block import wrapper a bit"
      
      This reverts commit b919de49e1a82422a0870b66100832d531174771.
      
      * Refactor grandpa stuff to get tests almost compiling
      
      * Fixes after rebase
      
      * Fixes merge compile errors
      baf7cf63
  16. Nov 15, 2018
  17. Nov 14, 2018
    • Svyatoslav Nikolsky's avatar
      Fetch changes trie roots + CHT-based proof for these roots (#896) · 79d461ad
      Svyatoslav Nikolsky authored
      * build CHT for changes tries roots
      
      * collect chnages tries roots proof in key_changes_proof
      
      * flush check_changes_proof
      
      * fixed compilation
      
      * LightDataChecker now has a ref to the blockchain
      
      * continue passing proofs
      
      * new light db tests
      
      * more CHT tests
      
      * more tests for key changes proof when headers are missing
      
      * lost files
      79d461ad
    • Shawn Tabrizi's avatar
      Clean up justification (#1111) · c10123e4
      Shawn Tabrizi authored and asynchronous rob's avatar asynchronous rob committed
      * adding mac libraries and how to start testnet
      
      * Clean up Justification struct, Issue #1033
      
      * adding mac libraries and how to start testnet
      c10123e4
  18. Nov 13, 2018
    • Bastian Köcher's avatar
      Implement runtime api client side directly in the runtime (#1094) · 0cc0a793
      Bastian Köcher authored
      * Move `initialise_block` into `Core` trait as it is crucial calling the API functions
      
      * Switch to first version of new runtime API implementation
      
      * Fixes bug in tests
      
      * Reenable asserts
      
      * Directly use the `TestAPI` in the tests
      
      * Start improving the api traits
      
      :100644 100644 898aadc7 49217199 M	Cargo.lock
      :100644 100644 61570436 465ed664 M	core/client/src/backend.rs
      :100644 100644 5d0c886b 64d710fd M	core/client/src/block_builder.rs
      :100644 100644 c447855e 5ecbe474 M	core/client/src/client.rs
      :100644 100644 139cef13 f90dbf3d M	core/client/src/error.rs
      :100644 100644 2800c503 3298e66a M	core/client/src/runtime_api.rs
      :100644 100644 affa1c5c 809b08bc M	core/primitives/src/lib.rs
      :100644 100644 2877dfa9 d5547413 M	core/sr-api/Cargo.toml
      :100644 100644 9a49784d 6a625a03 M	core/sr-api/src/lib.rs
      :100644 100644 7c28e1c7 a1a444a9 M	core/sr-primitives/src/traits.rs
      :100644 100644 2e113ab6 dcc01a6d M	srml/metadata/Cargo.toml
      :100644 100644 ea722a70 0809531a M	srml/metadata/src/lib.rs
      
      * Refactoring
      
      * Move `sr-api` into client and more refactoring
      
      * Fixes tests
      
      * Some documentation and cleanup
      
      * Fixes compilation after rebase
      
      * More refactoring and more documentation
      
      * Makes `substrate-client` compilable on `wasm`
      
      On `wasm` it basically just exports the runtime api stuff.
      
      * Fixes grumbles
      
      * Updates wasm files after rebasing the master
      
      * Remove TODO comment
      
      * Remove whitespaces
      
      * Fixes after rebasing master
      
      * Another rebase, another fix commit
      0cc0a793
    • Svyatoslav Nikolsky's avatar
      Changes tries: support forks (#950) · e5439021
      Svyatoslav Nikolsky authored
      * forks support in changes trie storage
      
      * moved convert_hash to primitives
      
      * optimize ChangesTrieRootsStorage::root when anchor is canonicalized
      e5439021
  19. Nov 12, 2018
    • Gav Wood's avatar
      Remove unneeded Serde requirements (#1076) · d45de4b3
      Gav Wood authored
      * Remove superfluous serde requirements.
      
      * Try to ensure hash is serde
      
      * Fixups
      
      * Building again
      
      * Attempt to reenable Block (doesn't build)
      
      * Fixes compilation for node cli
      
      * Fixes test compilation
      
      * Fix wasm
      
      * Fix tests
      
      * Remove unneeded changes
      
      * Fix up comments
      
      * Reenable some code
      
      * Compile error when origin misused.
      
      * Remove unnecessary includes of `serde_derive`
      
      * Cleanups
      d45de4b3
  20. Nov 01, 2018
  21. Oct 31, 2018
  22. Oct 27, 2018
    • Benjamin Kampmann's avatar
      Consensus Engines Implementation: Aura (#911) · 101d673c
      Benjamin Kampmann authored
      * Generalize BlockImport
      
       - move ImportBlock, BlockOrigin, ImportResult into shared sr-primitives
       - let Consensus provide  and  traits again
       - update consensus traits to latest development
       - implement traits on client::Client, test_client::TestClient
       - update RHD to use the new import_block API
      
      * Move ImportBlock into consensus-common
      * Send import notification in aura tests
      * Integrating aura into service
      * Make Signatures more generic
      * Aura Block Production with the given key
      * run aura on the thread pool
      * start at exact step start in aura
      * Add needed wasm blob, in leiu of better solutions.
      * Make API ids consistent with traits and bring upstream for sharing.
      * Add decrease_free_balance to Balances module
      * Encode `Metadata` once instead of two times
      * Bitops include xor
      * Upgrade key module.
      * Default pages to somewhat bigger.
      * Introduce upgrade key into node
      * Add `Created` event
      101d673c
  23. Oct 25, 2018
  24. Oct 18, 2018
  25. Oct 16, 2018
    • Bastian Köcher's avatar
      Adds `check_inherents` function to the `BlockerBuilder` API (#912) · e1c03f78
      Bastian Köcher authored
      * Adds new `check_inherents` function to the `BlockBuilder` API
      
      * Switch to `check_inherents` in `node-consensus`
      
      * Remove `CheckedBlock`, because it is not required anymore
      
      * Fixes after rebase
      
      * Fixes compilation on stable
      e1c03f78
    • Benjamin Kampmann's avatar
      Generalize the Consensus Infrastructure (#883) · 14ff8f9e
      Benjamin Kampmann authored
      * Split out Consensus
      * Supply ImportQueue through network-service
        - simplify ImportQueue.import_blocks
        - remove Deadlock on import_block
        - Adding Verifier-Trait
        - Implement import_queue provisioning in service; allow cli to import
      * Allow to actually customize import queue
      * Consensus Gossip: Cache Message hash per Topic
      14ff8f9e
  26. 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
  27. Oct 10, 2018
  28. 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