Skip to content
  1. Sep 28, 2019
    • Tomasz Drwięga's avatar
      ChainSpec extensions (#3692) · d1401df7
      Tomasz Drwięga authored
      * Add some chainspec tests and make sure we validate it.
      
      * Manual implementation of Extension + Forks definitions.
      
      * Move chain spec to separate crate.
      
      * Allow using ChainSpec with extensions.
      
      * Renames.
      
      * Implement Extension derive.
      
      * Implement Extension for Forks.
      
      * Support specifying fork blocks.
      
      * make for_blocks work
      
      * Support forks correctly.
      
      * Add a bunch of docs.
      
      * Make fork blocks optional.
      
      * Add missing docs.
      
      * Fix build.
      
      * Use struct for check_block params.
      
      * Fix tests?
      
      * Clean up.
      d1401df7
  2. Sep 27, 2019
  3. Sep 24, 2019
  4. Sep 23, 2019
    • Ashley's avatar
      use pdqselect for median_algorithm selection (#3636) · 1f158003
      Ashley authored and asynchronous rob's avatar asynchronous rob committed
      
      
      * use pdqselect for median_algorithm selection instead of sorting the whole vec
      
      * Make use of pqdselect clearer
      
      Co-Authored-By: default avatarAndré Silva <[email protected]>
      
      * Make use of pqdselect clearer
      
      Co-Authored-By: default avatarAndré Silva <[email protected]>
      1f158003
    • asynchronous rob's avatar
      Fixing BABE epochs to change between blocks (#3583) · 426c26b8
      asynchronous rob authored
      
      
      * always fetch epoch from runtime
      
      * node integration tests don't test light nodes
      
      * give stand-in full node a FULL role
      
      * rejig babe APIs
      
      * introduce next-epoch-descriptor type
      
      * overhaul srml-BABE epoch logic
      
      * ensure VRF outputs end up in the right epoch-randomness
      
      * rewrite `do_initialize` to remove unnecessary loop
      
      * begin accounting for next epoch in epoch function
      
      * slots passes header to epoch_data
      
      * pass slot_number to SlotWorker::epoch_data
      
      * begin extracting epoch-change logic into its own module
      
      * aux methods for block weight
      
      * aux methods for genesis configuration
      
      * comment-out most, refactor header-check pipeline
      
      * mostly flesh out verifier again
      
      * reinstantiate babe BlockImport implementation
      
      * reinstate import-queue instantiation
      
      * reintroduce slot-worker implementation
      
      * reinstate pretty much all the rest
      
      * move fork-choice logic to BlockImport
      
      * fix some, but not all errors
      
      * patch test-runtime
      
      * make is_descendent of slightly more generic
      
      * get skeleton compiling when passing is_descendent_of
      
      * make descendent-of-builder more succinct
      
      * restore ordering of authority_index / slot_number
      
      * start fiddling with tests
      
      * fix warnings
      
      * improve initialization architecture and handle genesis
      
      * tests use correct block-import
      
      * fix BABE tests
      
      * fix some compiler errors
      
      * fix node-cli compilation
      
      * all crates compile
      
      * bump runtime versions and fix some warnings
      
      * tweak fork-tree search implementation
      
      * do backtracking search in fork-tree
      
      * node-cli integration tests now work
      
      * fix broken assumption in test_connectivity
      
      * babe tests fail for the right reasons.
      
      * test genesis epoch logic for epoch_changes
      
      * test that epochs can change between blocks
      
      * First BABE SRML test
      
      * Testing infrastructure for BABE
      
      Also includes a trivial additional test.
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * A little more test progress
      
      * More work on BABE testing
      
      * Try to get the tests working
      
      * Implement `UintAuthorityId`-based test mocks
      
      * Fix compilation errors
      
      * Adjust to upstream changes
      
      * Block numbers are ignored in BABE epoch calculation
      
      * authority_index() should ignore invalid authorities
      
      * Fix compile error
      
      * Add tests that session transitions happen
      
      * Check if BABE produces logs
      
      It currently does not.
      
      * Fix test suite
      
      This was really nasty, due to a type confusion that showed up as an
      off-by-1 buffer error.
      
      * Add additional tests
      
      Most of these were derived from the current output, so they are only
      useful to guard against regressions.
      
      * Make the tests more readable
      
      Also bump impl_version.
      
      * Fix excessive line width
      
      * Remove unused imports
      
      * Update srml/babe/src/lib.rs
      
      Co-Authored-By: default avatarAndré Silva <[email protected]>
      
      * try to fix imports
      
      * Fix build errors in test suite
      
      * tests did not pass
      
      * Try to get at least one digest to be output
      
      Currently, the code emits either no digests (if I don’t call
      `Session::rotate_session()` or two digests (if I do), which is wrong.
      
      * More tests
      
      They still don’t work, but this should help debugging.
      
      * fix silly error
      
      * Don’t even try to compile a broken test
      
      * remove broken check_epoch test and add one for genesis epoch
      
      * Check that the length of the pre-digests is correct
      
      * Bump `impl_version`
      
      * use epoch_for_descendent_of even for genesis
      
      * account for competing block 1s
      
      * finish srml-babe docs
      
      Co-Authored-By: default avatarAndré Silva <[email protected]>
      
      * address grumbles
      426c26b8
  5. Sep 21, 2019
  6. Sep 20, 2019
  7. Sep 19, 2019
    • Kian Paimani's avatar
      srml-module: Phragmen election (#3364) · e8334c27
      Kian Paimani authored
      
      
      * phragmen election module.
      
      * Add new files.
      
      * Some doc update
      
      * Update weights.
      
      * bump and a few nits.
      
      * Performance improvement.
      
      * Master.into()
      
      * Update srml/elections-phragmen/src/lib.rs
      
      Co-Authored-By: default avatarGavin Wood <[email protected]>
      
      * Fix build
      
      * Some fixes.
      
      * Fix build.
      
      * Proper outgoing and runner-up managment.
      
      * Bit more sensical weight values.
      
      * Update srml/elections-phragmen/src/lib.rs
      
      * Update srml/elections-phragmen/src/lib.rs
      
      Co-Authored-By: default avatarGavin Wood <[email protected]>
      
      * Update srml/elections-phragmen/src/lib.rs
      
      Co-Authored-By: default avatarGavin Wood <[email protected]>
      
      * Update srml/elections-phragmen/src/lib.rs
      
      Co-Authored-By: default avatarGavin Wood <[email protected]>
      
      * fix lock file
      
      * Fix build.
      
      * Remove runner-ups
      
      * Some refactors.
      
      * Add support for reporting voters.
      
      * Fix member check.
      
      * Remove equlize.rs
      
      * Update srml/elections-phragmen/src/lib.rs
      
      * Update srml/elections-phragmen/src/lib.rs
      
      * Update srml/elections-phragmen/src/lib.rs
      
      Co-Authored-By: default avatarGavin Wood <[email protected]>
      
      * Update srml/elections-phragmen/src/lib.rs
      
      Co-Authored-By: default avatarGavin Wood <[email protected]>
      
      * Bring back runner ups.
      
      * use decode_len
      
      * Better weight values.
      
      * Update bogus doc
      
      * Bump.
      
      * Update srml/elections-phragmen/src/lib.rs
      
      Co-Authored-By: default avatarGavin Wood <[email protected]>
      
      * Review comments.
      
      * One more test
      
      * Fix tests
      
      * Fix build
      
      * .. and fix benchmarks.
      
      * Update srml/elections-phragmen/src/lib.rs
      
      * Version bump
      e8334c27
  8. Sep 18, 2019
  9. Sep 17, 2019
  10. Sep 13, 2019
    • Tomasz Drwięga's avatar
      RPC call to get all RPC methods (#3613) · 6d48cce2
      Tomasz Drwięga authored
      * Add meta rpc_methods call.
      
      * Sort methods.
      
      * Bump runtime.
      
      * Change format a bit to support versioning.
      6d48cce2
    • Bastian Köcher's avatar
      Clean up sr-io (#3609) · ea2644a2
      Bastian Köcher authored
      * Move trait `Printable` into `sr-primitives`
      
      * Cleanup runtime io trie_root interfaces
      
      * Remove last generic bits from sr-io interface
      
      * Fix srml-sudo after master merge
      
      * Fix benchmarks
      
      * Runtime bump
      ea2644a2
    • Tomasz Drwięga's avatar
      Fix tracking validator set in ImOnline (#3596) · 1a59e8ce
      Tomasz Drwięga authored
      
      
      * Use session::validators instead of staking::current_elected
      
      * Basic test framework.
      
      * Initialize validators, attempt to heartbeat.
      
      * Use dummy crypto for im-online testing.
      
      * Remove printlns.
      
      * Finish test, make it invalid.
      
      * Add reporting test.
      
      * Finalize the test.
      
      * Remove dumbness.
      
      * Updates.
      
      * Update AuRa
      
      * Update srml/im-online/src/tests.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Derive Ord
      
      * Add some more tests.
      
      * Remove stray todo.
      
      * Bump runtime version.
      
      * Bump impl-trait-for-tuples.
      
      * Enforce new version of trait-for-tuples.
      1a59e8ce
    • Kian Paimani's avatar
      Move phragmen benchmarks out of Staking (#3588) · f47734dc
      Kian Paimani authored
      * Move phragmen benches to.. phragmen.
      
      * Move some basic phragmen tests to.. phragmen.
      
      * Line-width
      
      * Add phragmen equ implementation as flot
      
      * Add phragmen equ implementation as flot
      
      * Add mock and test file.
      f47734dc
  11. Sep 12, 2019
  12. Sep 11, 2019
  13. Sep 10, 2019
    • Bastian Köcher's avatar
      First step for generating host externals out of the function definition in `sr-io` (#3567) · 58ddde4d
      Bastian Köcher authored
      
      
      * Adds new wrapper traits for wasm executor
      
      * Add new crate `substrate-wasm-interface`
      
      Thew new crate holds types and traits for the communicating between the
      wasm runtime and the host.
      
      * Rewrite externals with new macro etc
      
      * Fix vec initialization
      
      * Make executor tests working
      
      * Remove unused code + warnings
      
      * Introduce `Pointer` and `WordSize` for working with wasm
      
      * Fix tests and compilation
      
      * Fix compilation
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarSergei Pepyakin <[email protected]>
      
      * Review feedback
      
      * Remove unused conversions
      
      * Make each host function its own struct
      
      `HostFunctions` now just returns these function structs. Each function
      can be executed by using one of the function structs. The inherent host
      functions are now moved to the "normal" host functions.
      
      * Remove byteorder
      
      * Add floating point types
      
      * Make pointer interface more safe
      
      * Add type alias for wasm-interface Result
      
      * More review comments
      58ddde4d
  14. Sep 06, 2019
    • Max Inden's avatar
      core/authority-discovery: Enable authorities to discover each other (#3452) · 7fc21cea
      Max Inden authored
      With the *authority-discovery* module an authoritative node makes itself
      discoverable and is able to discover other authorities. Once discovered, a node
      can directly connect to other authorities instead of multi-hop gossiping
      information.
      
      1. **Making itself discoverable**
      
          1. Retrieve its external addresses
      
          2. Adds its network peer id to the addresses
      
          3. Sign the above
      
          4. Put the signature and the addresses on the libp2p Kademlia DHT
      
      2. **Discovering other authorities**
      
          1. Retrieve the current set of authorities
      
          2. Start DHT queries for the ids of the authorities
      
          3. Validate the signatures of the retrieved key value pairs
      
          4. Add the retrieved external addresses as ~reserved~ priority nodes to the
             peerset
      
      
      * node/runtime: Add authority-discovery as session handler
      
      The srml/authority-discovery module implements the OneSessionHandler in
      order to keep its authority set in sync. This commit adds the module to
      the set of session handlers.
      
      * core/network: Make network worker return Dht events on poll
      
      Instead of network worker implement the Future trait, have it implement
      the Stream interface returning Dht events.
      
      For now these events are ignored in build_network_future but will be
      used by the core/authority-discovery module in subsequent commits.
      
      * *: Add scaffolding and integration for core/authority-discovery module
      
      * core/authority-discovery: Implement module logic itself
      7fc21cea
    • Wei Tang's avatar
      Consensus: Proof of Work (#3473) · b9e17824
      Wei Tang authored
      
      
      * consensus-pow: init primtives and verifier
      
      * consensus-pow: add total difficulty auxiliary
      
      * consensus-pow: implement total difficulty chain selection
      
      * consensus-pow: implement pow import queue
      
      * consensus-pow-primitives: add mine into PowApi
      
      * consensus-pow: implement mining
      
      * Update lock file
      
      * Style fixes
      
      No run-on expressions allowed.
      
      * consensus-pow: refactor register_pow_inherent_data_provider
      
      * consensus-pow: make PowApi::mine yieldable
      
      * consensus-pow: better mining loop
      
      * Add missing license header
      
      * consensus-pow-primitives: clarify the meaning of None for PowApi::verify
      
      * consensus-pow: changing total difficulty addition to use saturating add
      
      * consensus-pow: change mine-loop error to log on error! level
      
      * consensus-pow: allow inserting arbitrary preruntime digest for pow
      
      The preruntime digest can be intepreted by the runtime as the block author/coinbase.
      
      * Fix line width
      
      * More line width fixes
      
      * consensus-pow: separate difficulty, verify API
      
      This makes it more apparent that currently in PoW engine, `difficulty` should
      be input, not output.
      
      * srml-pow: implementation of average_span difficulty adjustment
      
      * srml-pow: basic blake2 algo example
      
      * srml-pow-average-span: make it not require genesis config
      
      * srml-pow: add support for authorship
      
      * Missing license headers
      
      * consensus-pow: PowAlgorithm trait generalization
      
      * Missing docs for consensus-pow
      
      * More docs
      
      * node-runtime: bump impl_version
      
      * Add rationale for difficulty type
      
      * consensus-pow: refactor aux_key
      
      * Update lock file
      
      * Update core/consensus/pow/src/lib.rs
      
      Co-Authored-By: default avatarSergei Pepyakin <[email protected]>
      
      * Update core/consensus/pow/src/lib.rs
      
      Co-Authored-By: default avatarSergei Pepyakin <[email protected]>
      
      * Update core/consensus/pow/src/lib.rs
      
      Co-Authored-By: default avatarSergei Pepyakin <[email protected]>
      
      * Update core/consensus/pow/src/lib.rs
      
      Co-Authored-By: default avatarSergei Pepyakin <[email protected]>
      
      * Update core/consensus/pow/src/lib.rs
      
      Co-Authored-By: default avatarSergei Pepyakin <[email protected]>
      
      * Update core/consensus/pow/src/lib.rs
      
      Co-Authored-By: default avatarSergei Pepyakin <[email protected]>
      
      * Update core/consensus/pow/src/lib.rs
      
      Co-Authored-By: default avatarSergei Pepyakin <[email protected]>
      
      * Update core/consensus/pow/primitives/src/lib.rs
      
      Co-Authored-By: default avatarSergei Pepyakin <[email protected]>
      
      * Update core/consensus/pow/primitives/src/lib.rs
      
      Co-Authored-By: default avatarSergei Pepyakin <[email protected]>
      
      * Remove PowRuntimeAlgorithm
      
      * block_id -> parent_block_id
      
      * Auxiliary data -> auxiliary storage data
      
      * Fix error message
      
      * Fix compile
      
      * Update core/consensus/pow/primitives/src/lib.rs
      
      Co-Authored-By: default avatarDemiMarie-parity <[email protected]>
      
      * Update core/consensus/pow/src/lib.rs
      
      Co-Authored-By: default avatarDemiMarie-parity <[email protected]>
      
      * Update core/consensus/pow/primitives/src/lib.rs
      
      Co-Authored-By: default avatarDemiMarie-parity <[email protected]>
      
      * Update core/consensus/pow/src/lib.rs
      
      Co-Authored-By: default avatarDemiMarie-parity <[email protected]>
      
      * Fix crate description
      
      * More docs
      
      * Address grumbles
      
      1. Make preruntime Optional.
      2. Add more docs on what is `preruntie` and `round`.
      3. Replace `Default::default` with the approriate type.
      b9e17824
  15. Sep 04, 2019
    • Shawn Tabrizi's avatar
      Normalize Crate Names in SRML/Node Template (#3543) · 3278d648
      Shawn Tabrizi authored
      * Fix some instances of `runtime-io`
      
      * Patch a bunch
      
      * More patches for consistancy
      
      * more patch
      
      * Fix various build issues
      
      * Fix tests
      
      * Patch `srml-support-*` crates
      
      * Fix doc tests
      
      * Revert "Fix doc tests"
      
      This reverts commit ba2ec61d.
      
      * Revert "Patch `srml-support-*` crates"
      
      This reverts commit 9a607045.
      
      * Missed one
      
      * Fix doc tests
      3278d648
  16. Sep 02, 2019
  17. Sep 01, 2019
  18. Aug 29, 2019
  19. Aug 28, 2019
    • André Silva's avatar
      im-online: use generic crypto (#3500) · ae9f8d04
      André Silva authored
      * im-online: support using ed25519 and sr25519 crypto
      
      * app-crypto: add trait bounds to RuntimePublic::Signature
      
      * im-online: add missing type annotations
      
      * authority-discovery: depend on im-online module and use its crypto
      
      * node: set i'm online crypto to sr25519
      
      * node: bump spec_version
      
      * rpc: don't generate i'm online pubkey in insert_key method
      
      * im-online: fix docs
      
      * im-online: move app crypto packages
      
      * aura: move app crypto packages
      ae9f8d04
  20. Aug 27, 2019
    • Sergey Pepyakin's avatar
      Eradicate native_equivalent (#3494) · 3e257e01
      Sergey Pepyakin authored
      
      
      * Add ability to supply extra storage in test-client
      
      * Don't use native_equivalent in tests.
      
      * Get rid of native_equivalent
      
      * Try to make fields private
      
      * Apply Basti's suggestions
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      3e257e01
    • Kian Paimani's avatar
      Use optimized append and len storage methods in SRML. (#3071) · 7aa47cee
      Kian Paimani authored
      
      
      * expose len from codec to storage.
      
      * refactor runtime with len and append.
      
      * Undo example.
      
      * Remove imports.
      
      * Bump codec.
      
      * Optionify.
      
      * Make decode_len counscious.
      
      * Refactor.
      
      * Update srml/support/src/storage/hashed/generator.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update srml/support/src/storage/hashed/generator.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update srml/support/src/storage/hashed/generator.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update srml/support/src/storage/hashed/generator.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Fix merge.
      
      * fix some docs.
      
      * Add NoDefault trait.
      
      * Bump.
      
      * Final nits.
      
      * Update srml/support/src/traits.rs
      
      * new approach toward len.
      
      * re-create lock file.
      
      * Fix build errors and Option handling.
      
      * More test fix
      
      * Use default for append as well.
      
      * Fix runtime.
      
      * Add support for linked_map
      
      * More tweaks from review.
      
      * Fix style
      
      * Change api for none-values
      
      * Bump.
      7aa47cee
    • Bastian Köcher's avatar
    • Pierre Krieger's avatar
      Service factory refactor (#3382) · d14e727b
      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 🤦
      
      
      
      * Fix the sync test
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarGavin Wood <[email protected]>
      
      * Address some concerns
      
      * Remove TelemetryOnConnect
      
      * Remove informant::start
      
      * Update jsonrpc
      
      * Rename factory to builder
      
      * Line widths 😩
      d14e727b
    • Tomasz Drwięga's avatar
      Introduce capabilities filtering for off-chain runtime calls. (#3454) · 3f6cbc85
      Tomasz Drwięga authored
      * Introduce capabilities filtering for calls.
      
      * Bump impl version.
      
      * Allow RichOffchainCall to only read offchain db.
      
      * Fix code.
      
      * Panic on invalid calls.
      
      * Merge execution contexts and expose capabilities.
      
      * Fix repr
      
      * Re-enable keystore for offchain calls.
      3f6cbc85
  21. Aug 24, 2019
  22. Aug 23, 2019
  23. Aug 21, 2019
    • Toralf Wittner's avatar
      Update soketto to version 0.2.3 (#3448) · 84f6e55d
      Toralf Wittner authored
      This version fixes an issue with lifetime elision which causes
      compilation to fail on recent rustc versions (e.g. 1.39.0-nightly
      (bea0372a1 2019-08-20)).
      
      See https://github.com/paritytech/soketto/pull/1 for more information.
      84f6e55d
  24. Aug 20, 2019
    • Max Inden's avatar
      srml/authority-discovery: Introduce srml module to sign and verify (#3385) · 495ccb60
      Max Inden authored
      In order to have authorities (validators) discover each other, they need
      to publish their public addresses by their ip address on the Kademlia
      Dht indexed by their public key. This payload needs to be signed by a
      key identifying them as a valid authority.
      
      Code inside `/core` does not know the current set of authorities nor
      can it assume what kind of cryptography primitives are currently in use.
      Instead it can retrieve its public key and the current set of
      authorities from the runtime and have it sign and verify Dht payloads.
      
      This commit enables code in `/core` to do so by introducing a srml
      module and runtime api to:
      
      1. Retrieve own public key.
      
      2. Retrieve public keys of current authority set.
      
      3. Sign a Dht payload.
      
      4. Verify a Dht payload.
      
      This commit makes the logic from the previous commit
      (`core/consensus/common/primitives.ConsensusApi`)
      444bf719 obsolete and thus removes it.
      495ccb60
    • Tomasz Drwięga's avatar
      Custom RPC implementation for `node`. (#3109) · db5f4948
      Tomasz Drwięga authored
      * Allow RPCs to be customized.
      
      * Implement node-rpc extensions.
      
      * Working on a test.
      
      * Add node-testing crate.
      
      * Fix genesis test config
      
      * Fix nonce lookups.
      
      * Clean up.
      
      * Fix expected block type.
      
      * Make the RPC extension function optional.
      
      * Fix service doc test.
      
      * Bump jsonrpc.
      
      * Bump client version.
      
      * Update Cargo.lock
      
      * Update jsonrpc.
      
      * Fix build.
      
      * Remove unused imports.
      
      * Fix signed extra.
      
      * Post merge clean up.
      
      * Fix tests.
      
      * Patch hashmap-core.
      
      * Fix build.
      
      * Fix build.
      
      * Remove hashmap_core patches.
      db5f4948