Skip to content
  1. Jul 06, 2020
  2. Jul 02, 2020
  3. Jul 01, 2020
  4. Jun 29, 2020
  5. Jun 24, 2020
    • Svyatoslav Nikolsky's avatar
      Runtime benchmarks: start (#136) · e32cdb60
      Svyatoslav Nikolsky authored
      
      
      * runtime benchmarks: start
      
      * merge tests + benchmarks infrastructure
      
      * fix compilation
      
      * Fix compilation issues with runtime-benchmark feature flag
      
      Mainly involved pulling in correct dependencies and adding some functions
      which were called but didn't yet exist.
      
      * Fix broken compilation for tests
      
      * Move header signing methods into trait
      
      * Move signing related test helpers to own module
      
      * Remove comment about feature flag
      
      * Add constants to tests
      
      * Add top level comment for testing utilities
      
      Co-authored-by: default avatarHernando Castano <[email protected]>
      e32cdb60
  6. Jun 23, 2020
    • Hernando Castano's avatar
      Switch to new RPC interface (#131) · 9a842beb
      Hernando Castano authored
      
      
      * Move EthereumRpc implementation to Eth client
      
      * Move SubstrateRpc implementation to SubstrateClient
      
      * Update deploy_contract to use new RPC interface
      
      * Fix some types in the Substrate client
      
      * Swap out method bodies in Eth sync loop
      
      * Swap out method bodies in Substrate sync loop
      
      * Remove Client from SourceClient trait return types
      
      * Remove Client from TargetClient trait return types
      
      * Remove client from Source select! arms
      
      * Remove client from Target select! arms
      
      * Add missing mutable refs in Substrate client
      
      * Use mutable references in Source/Target Client traits
      
      * Try and use mutable references in Source/Client trait implementations
      
      * Handle errors more gracefully
      
      * Remove unused imports
      
      * Remove dead_code and unused_variables lints
      
      * Remove usage of `jsonrpsee::RawClient`
      
      By using a `jsonrpsee::Client` we are able to remove all the shared
      mutable references required when interacting with the RPC server. This
      is convenient as trying to sharing mutable references in code that uses
      async/await is a bit of a pain.
      
      However, using a `Client` instead of a `RawClient` is not yet supported
      by the `jsonrpsee::rpc_api` macro, so a fork must be used for the moment.
      
      * Clean up dead code and warnings
      
      * Clean up higher level RPCs
      
      Some of the RPCs that were "high level" didn't necessarily belong
      as part of the trait, so they were removed.
      
      * Use positional parameters for RPCs
      
      Both Substrate and Ethereum's RPCs use positional (array) parameters,
      so in order to be compatible with both we need to make sure that
      our API is defined with positional paramters in mind.
      
      * Rename argument for eth_getBlockByNumber
      
      * Remove some unecessary Ok-wraps
      
      * Process client requests synchonously
      
      Before the refactoring the sync loop would wait until a client finished
      handling a request before issuing another one. This behaviour was
      inadvertently changed during the refactoring leading to race conditions.
      This commit makes sure that the previous behaviour is respected.
      
      * Reduce the errors that are considered a connection error
      
      * Only decode bridge contract once
      
      * Set genesis_config at RPC client startup
      
      * Fetch genesis hash in SubstrateRpcClient::new()
      
      * Move Decode error into SubstrateNodeError
      
      * Suppress warnings caused by `rpc_api!`
      
      * Implement From RpcError for String
      
      * Handle Substrate client initalization errors more gracefully
      
      * Remove match in favour of ?
      
      Co-authored-by: default avatarSvyatoslav Nikolsky <[email protected]>
      9a842beb
    • Tomasz Drwięga's avatar
      Update web3 dependency. (#140) · 77ff3714
      Tomasz Drwięga authored
      * Update web3 dependency.
      
      * Switch to crates.io.
      77ff3714
  7. Jun 22, 2020
  8. Jun 18, 2020
  9. Jun 16, 2020
  10. Jun 15, 2020
  11. Jun 11, 2020
  12. Jun 10, 2020
  13. Jun 08, 2020
  14. Jun 05, 2020
  15. Jun 03, 2020
  16. Jun 02, 2020
  17. Jun 01, 2020
  18. May 27, 2020
  19. May 22, 2020
    • Hernando Castano's avatar
      RPC Module for Relays (#80) · 0992bd43
      Hernando Castano authored
      * Test defining an RPC API
      
      * Add wrapper clients for the RPC API
      
      * Implement most Ethereum RPCs
      
      Does not include RPCs that require the bridge contract.
      
      * Implement a few of the Substrate RPCs
      
      Still missing proper error handling, as well as decoding responses from the
      Substrate node.
      
      * Make error handling more ergonomic
      
      * Implement Substrate RPCs that use `state_call`
      
      * Implement rest of Substrate RPCs
      
      * Implement `eth_call` RPC
      
      This can be used to implement higher level requests like fetching Substrate headers
      from an Ethereum node.
      
      * Build some of the higher level Ethereum RPCs
      
      Uses the new Ethereum RPC interface to do so
      
      * Build some of the higher level Substrate RPCs
      
      * Remove old Ethereum RPC methods
      
      * Remove old Substrate RPC methods
      
      * Add some documentation to Substrate RPCs
      
      * Fix typo in enum construction
      
      * Revert commits `0f0435d` to `ca75502`
      
      This range of commits was mainly trying to integrate the new RPC interface into the existing
      codebase, however this turned out to be a little out of scope for the current PR. Instead this work
      will be incorporated into a PR which aims to close #72.
      
      * Add documentation to RPCs
      
      * Rename functions in RPC API to conform to snake_case
      
      * Check that header contains a number and hash
      
      * Put doc comments on trait instead of impl methods
      
      * Remove expect() calls
      
      * Replace runtime API enums with consts
      
      * Accept Bytes when submitting extrinsic
      
      Let's us avoid using a runtime specific Extrinsic.
      
      * Add strictly typed arguments to RPC API
      
      Missing two methods right now, which require a `serde::Deserialize`
      implemenation before they can be changed.
      
      * Add `chain_getBlock` Substrate RPC
      
      * Use typed arguments for `eth_estimateGas` and `eth_call`
      
      * Silence dead code warnings
      
      * Add check for logs bloom
      
      * Remove unused variables
      
      * Add documentation to RPC error enums
      0992bd43
  20. May 20, 2020
  21. May 19, 2020
    • Hernando Castano's avatar
      Bump rust-web3 to latest v0.11 (#100) · a33e950c
      Hernando Castano authored
      * Bump rust-web3 to latest master
      
      * Use tagged release from crates.io
      
      * Add check for `logs_bloom`
      
      Since this is required by the runtime we want to enforce that an
      incoming header has this.
      a33e950c
  22. May 18, 2020