Skip to content
  1. Feb 25, 2019
    • Marcio Diaz's avatar
      Client provide uncles (#1609) · 7999743a
      Marcio Diaz authored
      
      * feat: add children function to backend
      
      * feat: add test for children hashes
      
      * feat: add uncles function to client
      
      * fix: improve uncles function adds few more tests
      
      * fix: remove children when reverting
      
      * fix: typo and spec version
      7999743a
  2. Feb 15, 2019
  3. Feb 13, 2019
  4. Feb 12, 2019
    • Wei Tang's avatar
      Add standalone set head operations (#1600) · f32e3f20
      Wei Tang authored
      * Refactor head setting operation to a separate function
      
      * Fix commit issue and implement set_head standalone in db
      
      * Add standalone set head operations
      
      * Address grumbles
      
      * Change number_and_hash_to_lookup key in light mod to take reference
      
      * Fix bug in set head commit
      
      * Add a convenience fn
      
      * Fix a deadlock
      
      * Fix missing argument
      f32e3f20
  5. Feb 11, 2019
    • Marcio Diaz's avatar
      Adds new execution strategy nativeElseWasm (#1546) · 5f4ebb47
      Marcio Diaz authored
      * fix: adds new execution strategy nativeElseWasm and replace nativeWhenPossible with it
      
      * feat: adds cmd line params for execution strategies
      
      * fix: uses of cmd line execution strategies
      
      * chore: remove white spaces
      
      * chore: remove println
      
      * chore: remove whitespace
      
      * fix: generating functions with context
      
      * feat: add function to generate with_context declarations
      
      * fix: add implementation for with_context function calls
      
      * fix: add execution context to call_api_at function
      
      * fix: making use of context to select strategy for block_builder
      
      * chore: cleaning up
      
      * fix: merging issues
      
      * fix tests
      
      * add wasm files
      
      * chore: small doc for context fields
      
      * chore: delete redundant docs
      
      * fix: use full path for ExecutionContext
      
      * fix: add context functions from inside fold_item_impl
      
      * chore: remove clone
      
      * fix: moving generative function to utils, remove unused imports
      
      * fix: add missing full path for ExecutionContext
      
      * fix: merge issues
      
      * update wasm files
      
      * fix: update to keep up with changes in master
      
      * chore: remove unused functions, clean up
      
      * fix test
      
      * fix grumbles
      
      * fix: add more tests
      
      * fix: some refactorings
      
      * feat: add execution strategy to call
      
      * chore: small improvements
      
      * fix: add message to panic
      
      * fix tests
      5f4ebb47
  6. Feb 08, 2019
  7. Feb 07, 2019
  8. Feb 06, 2019
    • Bastian Köcher's avatar
      Make API backwards compatible with CC (#1697) · 95e9be2c
      Bastian Köcher authored
      * Rework how a runtime api calls into the runtime
      
      Now we generate a default implementation for each api call that calls
      a generated method `method_runtime_api_impl`. This newly generated
      method is the one that will be implemented by the `impl_runtime_apis`
      macro in the runtime for the client side.
      
      * Support `changed_in` to change runtime api function signatures
      
      * Update documentation
      
      * Fixes tests
      
      * Implement checking the api version with a predicate
      
      * Make the implementation backwards compatible with CC
      
      * Update wasm files after merge
      
      * Check for wasm runtime differences by building master and current branch
      
      * Update spec_version and wasm files
      
      * Fixes
      
      * Revert my changes
      
      * Remove `patch.crates-io` from test-runtime
      v0.10
      95e9be2c
  9. Feb 02, 2019
  10. Jan 30, 2019
    • Benjamin Kampmann's avatar
      Document more TODOs as tickets (#1418) · 4fa9fb66
      Benjamin Kampmann authored
      Went through the TODOs, removed a bunch, which are outdated or nothing more than a regular comment, documented a bunch more as actual tickets and made them FIXMEs and unified their structure (`FIXME #TICKETNO DESC` for local tickets, `FIXME: DESC LINK` for external tickets) for easier in-editor support. Further more remove unnecessary remarks and related old code that I noticed in that instance.
      4fa9fb66
  11. Jan 25, 2019
  12. Jan 24, 2019
    • Wei Tang's avatar
      Atomic operation and locking when importing a block (#1489) · ddba6a1c
      Wei Tang authored
      * Add ClientImportOperation and remove an unused enum
      
      * set_aux to insert_aux so that it can be called multiple times
      
      * [WIP] All basic designs of lock_import_and_run
      
      * [WIP] `apply_block` and `apply_aux` implementation
      
      * Update client db with the new interface
      
      * Always make sure we reset importing_block back to None
      
      * Address grumbles
      
      `apply_block` should be pub
      
      * Add comments on insert_aux
      
      * Fix compile
      ddba6a1c
  13. Jan 23, 2019
  14. Jan 22, 2019
    • Bastian Köcher's avatar
      Rewrite Inherent data (#1488) · 53bf81e5
      Bastian Köcher authored
      
      
      * Implement new inherent data
      
      * Fixes compilation on wasm
      
      * Fixes after rebase
      
      * Switch back to generate inherent stuff by macro
      
      * Update after rebase
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarbkchr <[email protected]>
      
      * Fix compilation after rebase
      
      * Address grumbles
      
      * Remove `InherentDataProviders` from `Client`
      
      * Update wasm files after rebase
      
      * Address grumbles
      
      * Fixes compilation after latest merge
      
      * Last fix
      53bf81e5
  15. Jan 21, 2019
    • Bastian Köcher's avatar
      Make runtime api calls native when possible (#1302) · bf6a781b
      Bastian Köcher authored
      * Add simple benchmark for the runtime api
      
      * Make the executor support native calls
      
      * Some documentation
      
      * Hide behind `feature = "std"`
      
      * Rework the native calls
      
      * Make all tests compile again
      
      * Make every parameter using the Block serialized/deserialized in the native call
      
      * Forward `UnwindSafe` requirement
      
      * Remove debug stuff
      
      * Add some documentation
      
      * Fixes warnings
      
      * Fixes errors after master rebase
      
      * Fixes compilation after master rebase
      
      * Fixes compilation after rebase
      bf6a781b
    • André Silva's avatar
      Sync block justifications (#1410) · db546aae
      André Silva authored
      * core: sync protocol for justifications
      
      * core: basic test for justification sync
      
      * core: pass block number with justification
      
      * grandpa: request justifications when importing change blocks
      
      * core: pass finality notifications to chain sync
      
      * core: require justifications for pending change blocks on start
      
      * core: avoid requesting justifications from previous failed peers
      
      * core: timeout block justification requests
      
      * core: add some docs
      
      * core: fix unused variables warning
      
      * core: tick pending justifications fetch periodically
      
      * grandpa: add test for syncing justifications
      
      * core: early exit dispatch of pending justifications
      
      * core: style fix
      
      * core: grandpa: change logging level
      
      * core: sync: add missing docs
      
      * core: network: report peer on bad justification
      
      * core: replace mem::replace with Option::take
      
      * core: revert authority set changes on failed block finalization
      
      * core: grandpa: add docs to import_justification
      
      * core: warn on re-finalization of last finalized block
      
      * core: only notify sync with last finality notification
      
      * core: style fix
      
      * core: add docs for PendingJustifications
      
      * core: network: use BlockRequest messages for justification requests
      
      * core: reference issues in todo comments
      
      * core: grandpa: revert authority set changes on db
      
      * core: grandpa: remove inconsistent state warning
      db546aae
  16. Jan 17, 2019
  17. 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
  18. Jan 11, 2019
  19. 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
  20. Jan 04, 2019
  21. Dec 31, 2018
  22. Dec 21, 2018
  23. 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
  24. Dec 09, 2018
  25. 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
  26. Dec 03, 2018
  27. 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
  28. Nov 23, 2018
  29. Nov 19, 2018
  30. 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
  31. Nov 15, 2018
  32. 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