Skip to content
Snippets Groups Projects
  1. Jan 17, 2020
    • Max Inden's avatar
      client/finality-grandpa: Reintegrate periodic neighbor packet worker (#4631) · d9837d7d
      Max Inden authored
      The `NeighborPacketWorker` within `client/finality-grandpa` does two
      things:
      
      1. It receives neighbor packets from components within
      `client/finality-grandpa`, sends them down to the `GossipEngine` in
      order for neighboring nodes to receive.
      
      2. It periodically sends out the most recent neighbor packet to the
      `GossipEngine`.
      
      In order to send out packets it had a clone to a `GossipEgine` within
      an atomic reference counter and a mutex. The `NeighborPacketWorker` was
      then spawned onto its own asynchronous task.
      
      Instead of running in its own task, this patch reintegrates the
      `NeighborPacketWorker` into the main `client/finality-grandpa` task not
      requiring the `NeighborPacketWorker` to own a clone of the
      `GossipEngine`.
      
      The greater picture
      
      This is a tiny change within a greater refactoring. The overall goal is
      to **simplify** how finality-grandpa interacts with the network and to
      **reduce** the amount of **unbounded channels** within the logic.
      
      Why no unbounded channels: Bounding channels is needed for backpressure
      and proper scheduling. With unbounded channels there is no way of
      telling the producer side to slow down for the consumer side to catch
      up.  Rephrased, there is no way for the scheduler to know when to favour
      the consumer task over the producer task on a crowded channel and the
      other way round for an empty channel.
      
      Reducing the amount of shared ownership simplifies the logic and enables
      one to use async-await syntax-suggar, given that one does not need to
      hold a lock across poll invocations. Using async-await enables one to
      use bounded channels without complex logic.
      d9837d7d
  2. Jan 16, 2020
    • André Silva's avatar
      grandpa: generic voting rule for backing off from best block (#4635) · d18fbd79
      André Silva authored and asynchronous rob's avatar asynchronous rob committed
      * grandpa: generic voting rule for backing off from best block
      
      * grandpa: fix tests
      d18fbd79
    • Bastian Köcher's avatar
      Implement runtime version checks in `set_code` (#4548) · afc3318f
      Bastian Köcher authored
      * Implement runtime version checks in `set_code`
      
      Check that the new runtime code given to `set_code` fullfills some
      requirements:
      
      - `spec_name` matches
      - `spec_version` does not decreases
      - `impl_version` does not decreases
      - Either `spec_version` and `impl_version` increase
      
      * Make tests almost work
      
      * Some fixes after master merge
      
      * Fix tests
      
      * Add missed file
      
      * Make depedency check happy?
      
      * Remove leftover `sc-executor`
      
      * AHHHHH
      
      * Reset debug stuff
      
      * Remove some 'static
      
      * More 'static
      
      * Some docs
      
      * Update `Cargo.lock`
      afc3318f
  3. Jan 14, 2020
    • Ashley's avatar
      Update the service to std futures (#4447) · 3219be25
      Ashley authored
      
      * Switch service to futures03
      
      * Fix tests
      
      * Fix service test and cli
      
      * Re-add Executor trait to SpawnTaskHandle
      
      * Fix node-service
      
      * Update babe
      
      * Fix browser node
      
      * Update aura
      
      * Revert back to tokio-executor to fix runtime panic
      
      * Add todo item
      
      * Fix service tests again
      
      * Timeout test futures
      
      * Fix tests
      
      * nits
      
      * Fix service test
      
      * Remove zstd patch
      
      * Re-add futures01 to aura and babe tests as a dev-dep
      
      * Change failing test to tee
      
      * Fix node
      
      * Upgrade tokio
      
      * fix society
      
      * Start switching grandpa to stable futures
      
      * Revert "Start switching grandpa to stable futures"
      
      This reverts commit 9c1976346237637effc07c13f7d0403daf5e71cf.
      
      * Fix utils
      
      * Revert substrate service test
      
      * Revert gitlab
      
      Co-authored-by: default avatarthiolliere <gui.thiolliere@gmail.com>
      3219be25
  4. Jan 10, 2020
  5. Jan 05, 2020
  6. Jan 02, 2020
  7. Dec 18, 2019
    • asynchronous rob's avatar
      client: Do not set fork sync request via network-gossip (#4439) · 8f1b5b84
      asynchronous rob authored
      The finality-grandpa module needs two sets of functionalities from the
      network:
      
      1. Everything gossip related, e.g. event_stream, write_notification, ...
      
      2. The ability to set a fork sync request for a specific block hash.
      
      Instead of embedding (2) inside of (1) this patch extracts (2) from (1)
      having finality-grandpa depend on a `Network` that fulfills the
      `network_gossip::Network` trait and that can set block sync requests.
      
      On the one hand this improves the overall structure splitting things
      that don't logically belong together. On the other hand it does
      reintroduce a lot of trait bounds within finality-grandpa.
      8f1b5b84
  8. Dec 16, 2019
    • Tomasz Drwięga's avatar
      [big refactor] Remove crate aliasing. (#4395) · 8778ca7d
      Tomasz Drwięga authored
      * Rename: Phase 1.
      
      * Unify codec.
      
      * Fixing: Phase 2
      
      * Fixing: Phase 3.
      
      * Fixing: Phase 4.
      
      * Fixing: Phase 5.
      
      * Fixing: Phase 6.
      
      * Fixing: Phase 7.
      
      * Fixing: Phase 8. Tests
      
      * Fixing: Phase 9. Tests!!!
      
      * Fixing: Phase 10. Moar tests!
      
      * Finally done!
      
      * More fixes.
      
      * Rename primitives:: to sp_core::
      
      * Apply renames in finality-grandpa.
      
      * Fix benches.
      
      * Fix benches 2.
      
      * Revert node-template.
      
      * Fix frame-system in our modules.
      8778ca7d
  9. Dec 13, 2019
    • Pierre Krieger's avatar
      Extract consensus_gossip.rs and put it in its own crate (#4284) · c66c191b
      Pierre Krieger authored
      
      * Extract gossiping system from network
      
      * Finish porting GRANDPA tests
      
      * Try put correct engine ID
      
      * Fix messages encoding
      
      * Fix communication tests
      
      * Use a threads pool to spawn stuff
      
      * Fix compilation everywhere
      
      * Fix bad merge conflict
      
      * Remove dependency on async-std
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarRobert Habermeier <rphmeier@gmail.com>
      
      * More suggestions
      
      * Remove network startup GP future
      
      * Update to futures_timer
      
      * adjust wait_when_behind test
      
      * Pass correct Roles after handshake
      
      * Revert "adjust wait_when_behind test"
      
      This reverts commit 23cb3a0a6d25ed732c2cd648607bc44ef2ab0919.
      
      * Crate root documentation
      
      * Remove MessageRecipient
      
      * Address concerns
      
      * Fix more concerns
      
      * Forgot Cargo.lock
      c66c191b
  10. Dec 04, 2019
    • Ashley's avatar
      Update exit-future and make sc-cli compile on wasm (#4289) · a58e8a6e
      Ashley authored
      * updated exit-future (github repo)
      
      * Switch to broadcast crate
      
      * Migrate client/cli
      
      * Switch exit-future to modernize branch
      
      * Small changes
      
      * Switch to cargo version and fix fg tests
      
      * Revert "Small changes"
      
      This reverts commit a488106805d220cb4aee9e46a71481424c6d87d5.
      a58e8a6e
  11. Dec 02, 2019
    • Benjamin Kampmann's avatar
      The crate rename (#4223) · 927e13c1
      Benjamin Kampmann authored
      * Adding script for rename, could be applicable for nodes on top of it, too
      
      * add stderr and gitlab ci features
      
      * apply script
      
      * fix now minor details in expected stderr
      
      * Update the Cargo.lock
      
      * fix name: sc-transaction -> sc-tracing
      
      * fix rename in script, too
      927e13c1
  12. Nov 26, 2019
    • Benjamin Kampmann's avatar
      Remove all (non-dev) `client` references from `frame`, activate dependency enforcer (#4184) · bd652793
      Benjamin Kampmann authored
      * Move transaction pool to primitives
      
      * move backend, errors into primitives
      
      * remove unused client depencies
      
      * Move rpc-api into primitives
      
      * Move peerset back to client
      
      * Move rpc/api back to client, move palette/support/rpc into utils
      
      * move support-rpc into subfolder
      
      * move system-rpc into utils
      
      * move transaction-pool  and -graph back into client
      
      * fix broken imports
      
      * Clean up test primitives
      
      * Make support test utils independent of frame
      
      * remove unnecessary node dependencies from service
      
      * Reactivate dependency script:
       - only enforce the now achieved status quo will remain
       - allow for primitives to depend on /client for now without failing
       - more discriptive error message so people understand, what it wants
       - minor fix to differentiative between ../client and /client (which may be a subfolder)
       - don't allow this to fail anylonger.
      
      * fix doc comment
      
      * 'Should not' rather than 'must not'.
      
      * Revert unwanted dependency changes
      
      * fix faulty import
      
      * fixup derive_more version
      
      * fix wrong import path
      bd652793
  13. Nov 22, 2019
    • asynchronous rob's avatar
      Updating GRANDPA to v0.10.0 (#4174) · 5a8146d6
      asynchronous rob authored
      * update finality-grandpa to v0.10.0 rev
      
      * add concluded implementation to environment
      
      * also update state when concluding
      
      * switch to the cargo version
      
      * address comment grumbles
      5a8146d6
  14. Nov 20, 2019
    • Benjamin Kampmann's avatar
      Move inherents to primitives (#4126) · 303843f4
      Benjamin Kampmann authored
      * Split Aura and Timestamp inherents out of paint
      
      * fixup node depedencies
      
      * move babe inherents to primitives
      
      * move authorship inherents into primitives
      
      * Move finalty tracker inherents into primitives
      
      * fix aura primitives import
      303843f4
  15. Nov 14, 2019
    • Benjamin Kampmann's avatar
      Reorganising the repository - external renames and moves (#4074) · 60e5011c
      Benjamin Kampmann authored
      * Adding first rough ouline of the repository structure
      
      * Remove old CI stuff
      
      * add title
      
      * formatting fixes
      
      * move node-exits job's script to scripts dir
      
      * Move docs into subdir
      
      * move to bin
      
      * move maintainence scripts, configs and helpers into its own dir
      
      * add .local to ignore
      
      * move core->client
      
      * start up 'test' area
      
      * move test client
      
      * move test runtime
      
      * make test move compile
      
      * Add dependencies rule enforcement.
      
      * Fix indexing.
      
      * Update docs to reflect latest changes
      
      * Moving /srml->/paint
      
      * update docs
      
      * move client/sr-* -> primitives/
      
      * clean old readme
      
      * remove old broken code in rhd
      
      * update lock
      
      * Step 1.
      
      * starting to untangle client
      
      * Fix after merge.
      
      * start splitting out client interfaces
      
      * move children and blockchain interfaces
      
      * Move trie and state-machine to primitives.
      
      * Fix WASM builds.
      
      * fixing broken imports
      
      * more interface moves
      
      * move backend and light to interfaces
      
      * move CallExecutor
      
      * move cli off client
      
      * moving around more interfaces
      
      * re-add consensus crates into the mix
      
      * fix subkey path
      
      * relieve client from executor
      
      * starting to pull out client from grandpa
      
      * move is_decendent_of out of client
      
      * grandpa still depends on client directly
      
      * lemme tests pass
      
      * rename srml->paint
      
      * Make it compile.
      
      * rename interfaces->client-api
      
      * Move keyring to primitives.
      
      * fixup libp2p dep
      
      * fix broken use
      
      * allow dependency enforcement to fail
      
      * move fork-tree
      
      * Moving wasm-builder
      
      * make env
      
      * move build-script-utils
      
      * fixup broken crate depdencies and names
      
      * fix imports for authority discovery
      
      * fix typo
      
      * update cargo.lock
      
      * fixing imports
      
      * Fix paths and add missing crates
      
      * re-add missing crates
      60e5011c
  16. Nov 07, 2019
  17. Oct 31, 2019
  18. Oct 29, 2019
  19. Oct 27, 2019
  20. Oct 24, 2019
    • Max Inden's avatar
      core/finality-grandpa: Request block sync from network after import timeout (#3800) · 743a34bc
      Max Inden authored
      * core/finality-grandpa: Pass Grandpa msg sender up to UntilImported
      
      * core/finality-grandpa: Track senders to maybe later request blocks
      
      * core/finality-grandpa: Make BlockStatus pub only within crate
      
      * core/finality-grandpa: Abstract NetworkBridge with BlockSyncRequester
      
      * core/finality-grandpa: Pass BlockSyncRequester to UntilImported
      
      * core/finality-grandpa: Track block number of pending within UntilImported
      
      * core/finality-grandpa: Request block sync on long wait
      
      * core/finality-grandpa: Adjust unit tests to previous changes
      
      * core/finality-grandpa: Fix line length
      
      * core/finality-grandpa: Add comment explaining in & out vote combination
      
      * core/finality-grandpa: Log after, not before, timeout expired
      
      The UntilImported component should log whenever waiting for a specific
      block to be imported surpassed a defined constant timeout. Without this
      patch the code would log whenever the current time was below the
      timeout.
      
      * core/finality-grandpa: Collect senders as HashSet for deduplication
      
      * Revert "core/finality-grandpa: Track senders to maybe later request blocks"
      
      This reverts commit 61ac9dd715612d5fdbf7b8f00b84e450f282ade0.
      
      * Revert "core/finality-grandpa: Pass Grandpa msg sender up to UntilImported"
      
      This reverts commit afdc9646a6c314f99a9d19242f1878f85980e70d.
      
      * core/network/sync: Ask for block from all peers if none provided
      
      When requesting an explicit fork sync, try to sync from all known peers,
      when no specific peers were provided.
      
      * core/network/sync: Request specific fork sync from peers ahead or on par
      
      When making an explicit fork sync request without specifying any peers,
      make sure to only request it from the locally known peers that are
      either ahead or on a par compared to the block number we are looking
      for.
      
      * grandpa: fix tests
      
      * grandpa: fix warnings
      
      * grandpa: add test for block sync request on until_imported
      
      * grandpa: rename Environment field inner to client
      
      * grandpa: fix minor nits
      
      * grandpa: minor nits in until_imported
      
      * grandpa: copy docs for set_sync_fork_request
      
      * grandpa: remove stale TODO on UntilImported
      743a34bc
  21. Oct 19, 2019
  22. Oct 18, 2019
    • André Silva's avatar
      grandpa: pluggable voting rules (#3673) · 356015e4
      André Silva authored and asynchronous rob's avatar asynchronous rob committed
      * grandpa: support pluggable custom voting rules
      
      * grandpa: add docs to grandpa voting rule
      
      * grandpa: make voting rule mandatory
      
      * grandpa: add test for voting rule
      
      * node: add GRANDPA voting rule
      
      * grandpa: pass backend to VotingRule
      
      * core: fix docs in SelectChain::finality_target
      
      * grandpa: implement 3/4 of unfinalized chain restriction as voting rule
      
      * grandpa: rename AlwaysBehindBestBlock voting rule
      
      * grandpa: fix tests
      
      * grandpa: remove useless test
      
      * grandpa: extend environemnt voting rule test
      
      * grandpa: add proofs to unreachable statements
      
      * grandpa: fix typo
      
      * grandpa: fix docs
      356015e4
  23. Oct 01, 2019
  24. Sep 26, 2019
  25. Sep 24, 2019
  26. Sep 23, 2019
    • Michael Müller's avatar
      Send local GRANDPA authority id to telemetry (#3646) · 2d6e6173
      Michael Müller authored and asynchronous rob's avatar asynchronous rob committed
      
      * Fix indentation
      
      There is a space between the tabs.
      
      * Send local GRANDPA authority id to telemetry
      
      * Update core/finality-grandpa/src/lib.rs
      
      Co-Authored-By: default avatarBastian Köcher <bkchr@users.noreply.github.com>
      
      * Generalize authority_id()
      
      * Shorten code
      
      * Do not send unfinalized authority sets to telemetry
      
      `update_authority_set()` is called from, among others,
      import side. These updates only track a pending change
      and may or may not happen, hence it's wrong to send
      this set to telemetry (which would assume that this is
      the current, finalized authority set).
      
      * Send current authority set and local authority id on set change
      2d6e6173
  27. Aug 30, 2019
    • Benjamin Kampmann's avatar
      Remove `client.backend` (#2960) · 0cae7217
      Benjamin Kampmann authored
      
      * generalize tree_root to remove client.backend dependency
      
      * replace client.backend.blockchain.header with client.header
      
      * move used_state_cache_size into client info
      
      * Create intermediate Setup State. Fixes #1134
      
      * remove client.backend from finality proof
      
      * update node-template
      
      * move memory backend into test helper mode
      
      * move test helper into client
      
      * starting the big refactor, remove unused functions
      
      * apply_finality
      
      * apply_finality
      
      * replacing more .backend from environment with client directly
      
      * remove .backend from grandpa by using traits
      
      * remove .backend from babe
      
      * remove .backend from tests where it is not needed
      
      * remove .backend from tests
      
      * fixing tests
      
      * fixing tests
      
      * fixing more tests
      
      * fixing tests
      
      * fix all forks test
      
      * fix style
      
      * fixing unnecessary allocation
      
      * remove old test.
      
      * fix service docs
      
      * apply suggestion
      
      * minor clean ups
      
      * turns out the test-helper features actually is being used!
      
      * fixing line length.
      
      * fix line length
      
      * minor cleaning
      
      * Apply suggestions from code review
      
      thanks, @Basti
      
      Co-Authored-By: default avatarBastian Köcher <bkchr@users.noreply.github.com>
      
      * address grumbles
      
      * simplify finalize block on client
      
      * move block back into inner function
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarDemiMarie-parity <48690212+DemiMarie-parity@users.noreply.github.com>
      
      * use as.ref instead of match
      
      * Update core/client/src/backend.rs
      
      Co-Authored-By: default avatarDemiMarie-parity <48690212+DemiMarie-parity@users.noreply.github.com>
      0cae7217
  28. Aug 27, 2019
    • Pierre Krieger's avatar
      Service factory refactor (#3382) · 5b8ebf7b
      Pierre Krieger authored
      * Move Service::new to a macro
      
      * Move function calls to macros
      
      * Extract offchain_workers and start_rpc in separate function
      
      In follow-up commits, we want to be able to directly call maintain_transaction_pool, offchain_workers, and start_rpc, without having to implement the Components trait.
      This commit is a preliminary step: we extract the code to freestanding functions.
      
      * Introduce an AbstractService trait
      
      * Introduce NewService as an implementation detail of Service
      
      * Implement traits on NewService instead
      
      Instead of implementing AbstractService, Future, and Executor on Service, we implement them on NewService instead.
      
      The implementations of AbstractService, Future, and Executor on Service still exist, but they just wrap to the respective implementations for NewService.
      
      * Move components creation back to macro invocation
      
      Instead of having multiple $build_ parameters passed to the macro, let's group them all into one.
      
      This change is necessary for the follow-up commits, because we are going to call new_impl! only after all the components have already been built.
      
      * Add a $block parameter to new_impl
      
      This makes it possible to be explicit as what the generic parameter of the NewServiceis, without relying on type inference.
      
      * Introduce the ServiceBuilder struct
      
      Introduces a new builder-like ServiceBuilder struct that creates a NewService.
      
      * Macro-ify import_blocks, export_blocks and revert_chain
      
      Similar to the introduction of new_impl!, we extract the actual code into a macro, letting us get rid of the Components and Factory traits
      
      * Add export_blocks, import_blocks and revert_chain methods on ServiceBuilder
      
      Can be used as a replacement for the chain_ops::* methods
      
      * Add run_with_builder
      
      Instead of just run, adds run_with_builder to ParseAndPrepareExport/Import/Revert. This lets you run these operations with a ServiceBuilder instead of a ServiceFactory.
      
      * Transition node and node-template to ServiceBuilder
      
      * Transition transaction-factory to the new service factory
      
      This is technically a breaking change, but the transaction-factory crate is only ever used from within substrate-node, which this commit updates as well.
      
      * Remove old service factory
      
      * Adjust the AbstractService trait to be more usable
      
      We slightly change the trait bounds in order to make all the methods usable.
      
      * Make substrate-service-test compile
      
      * Fix the node-cli tests
      
      * Remove the old API
      
      * Remove the components module
      
      * Fix indentation on chain_ops
      
      * Line widths
      
      * Fix bad line widths commit
      
      * Line widths again :face_palm:
      
      
      
      * Fix the sync test
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarGavin Wood <i@gavwood.com>
      
      * Address some concerns
      
      * Remove TelemetryOnConnect
      
      * Remove informant::start
      
      * Update jsonrpc
      
      * Rename factory to builder
      
      * Line widths :weary:
      5b8ebf7b
  29. Aug 24, 2019
    • asynchronous rob's avatar
      GRANDPA links set IDs to sessions. (#3472) · b5059642
      asynchronous rob authored
      
      * introduce some type aliases for round and set-id
      
      * overhaul session "changed" flag and document better
      
      * do_initialize in BABE when getting new session
      
      * grandpa module tracks set IDs
      
      * update runtime versions
      
      * doc comment -> comment
      
      * Include docs fixes from Gav
      
      Co-Authored-By: default avatarGavin Wood <gavin@parity.io>
      
      * some more review changes
      
      * fix srml-grandpa compilation
      b5059642
  30. Aug 23, 2019
  31. Aug 20, 2019
  32. Aug 15, 2019
  33. Aug 12, 2019
  34. Aug 09, 2019
  35. Aug 08, 2019
  36. Aug 07, 2019
    • Gavin Wood's avatar
      Refactor key management (#3296) · 1a524b82
      Gavin Wood authored
      
      * Add Call type to extensible transactions.
      
      Cleanup some naming
      
      * Merge Resource and BlockExhausted into just Exhausted
      
      * Fix
      
      * Another fix
      
      * Call
      
      * Some fixes
      
      * Fix srml tests.
      
      * Fix all tests.
      
      * Refactor crypto so each application of it has its own type.
      
      * Introduce new AuthorityProvider API into Aura
      
      This will eventually allow for dynamic determination of authority
      keys and avoid having to set them directly on CLI.
      
      * Introduce authority determinator for Babe.
      
      Experiment with modular consensus API.
      
      * Work in progress to introduce KeyTypeId and avoid polluting API
      with validator IDs
      
      * Finish up drafting imonline
      
      * Rework offchain workers API.
      
      * Rework API implementation.
      
      * Make it compile for wasm, simplify app_crypto.
      
      * Fix compilation of im-online.
      
      * Fix compilation of im-online.
      
      * Fix more compilation errors.
      
      * Make it compile.
      
      * Fixing tests.
      
      * Rewrite `keystore`
      
      * Fix session tests
      
      * Bring back `TryFrom`'s'
      
      * Fix `srml-grandpa`
      
      * Fix `srml-aura`
      
      * Fix consensus babe
      
      * More fixes
      
      * Make service generate keys from dev_seed
      
      * Build fixes
      
      * Remove offchain tests
      
      * More fixes and cleanups
      
      * Fixes finality grandpa
      
      * Fix `consensus-aura`
      
      * Fix cli
      
      * Fix `node-cli`
      
      * Fix chain_spec builder
      
      * Fix doc tests
      
      * Add authority getter for grandpa.
      
      * Test fix
      
      * Fixes
      
      * Make keystore accessible from the runtime
      
      * Move app crypto to its own crate
      
      * Update `Cargo.lock`
      
      * Make the crypto stuff usable from the runtime
      
      * Adds some runtime crypto tests
      
      * Use last finalized block for grandpa authority
      
      * Fix warning
      
      * Adds `SessionKeys` runtime api
      
      * Remove `FinalityPair` and `ConsensusPair`
      
      * Minor governance tweaks to get it inline with docs.
      
      * Make the governance be up to date with the docs.
      
      * Build fixes.
      
      * Generate the inital session keys
      
      * Failing keystore is a hard error
      
      * Make babe work again
      
      * Fix grandpa
      
      * Fix tests
      
      * Disable `keystore` in consensus critical stuff
      
      * Build fix.
      
      * ImOnline supports multiple authorities at once.
      
      * Update core/application-crypto/src/ed25519.rs
      
      * Merge branch 'master' into gav-in-progress
      
      * Remove unneeded code for now.
      
      * Some `session` testing
      
      * Support querying the public keys
      
      * Cleanup offchain
      
      * Remove warnings
      
      * More cleanup
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarBenjamin Kampmann <ben.kampmann@googlemail.com>
      
      * More cleanups
      
      * JSONRPC API for setting keys.
      
      Also, rename traits::KeyStore* -> traits::BareCryptoStore*
      
      * Bad merge
      
      * Fix integration tests
      
      * Fix test build
      
      * Test fix
      
      * Fixes
      
      * Warnings
      
      * Another warning
      
      * Bump version.
      1a524b82
  37. Aug 06, 2019