Skip to content
  1. Apr 01, 2021
    • Tomasz Drwięga's avatar
      Make relay CLI generic (#849) · 2a07bd5f
      Tomasz Drwięga authored
      
      
      * Start generalizing rialto-millau commands.
      
      * cargo fmt --all
      
      * Introduce generic balance.
      
      * Unify message payloads.
      
      * cargo fmt --all
      
      * init - generic
      
      * Attempt to unify send message.
      
      * Start moving things around.
      
      * cargo fmt --all
      
      * Move init-bridge.
      
      * cargo fmt --all
      
      * Improve UX of bridge argument.
      
      * Fix clippy.
      
      * Fix docs and scripts.
      
      * Add docs.
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarHernando Castano <[email protected]>
      
      * Fix copyright.
      
      * Add issue numbers.
      
      * More todos.
      
      * Update comments.
      
      Co-authored-by: default avatarHernando Castano <[email protected]>
      2a07bd5f
  2. Mar 23, 2021
  3. Mar 12, 2021
  4. Mar 04, 2021
    • Svyatoslav Nikolsky's avatar
      Migrate to jsonrpsee v2 (#787) · 727848da
      Svyatoslav Nikolsky authored
      
      
      * POC jsonrpsee v2
      
      * POC update ws client
      
      * connect to eth nodes using ws
      
      * fix for subscriptions
      
      * reverted unncecessary changes
      
      * reference jsonrpsee from crates.io
      
      * fixed eth port in deployments
      
      * fmt
      
      * order deps
      
      * remove unnecessary comment
      
      * clone is no longer required for subscriptions
      
      * treat RpcError::Internal as connection error
      
      * resubscribe on terminate
      
      * Update deployments/bridges/poa-rialto/entrypoints/poa-exchange-tx-generator-entrypoint.sh
      
      Co-authored-by: default avatarNiklas Adolfsson <[email protected]>
      Co-authored-by: default avatarHernando Castano <[email protected]>
      727848da
  5. Feb 17, 2021
  6. Feb 16, 2021
  7. Feb 02, 2021
  8. Nov 19, 2020
    • Hernando Castano's avatar
      Avoid Panic When Fetching Info Before Bridge is Initialized (#504) · 19373c6b
      Hernando Castano authored
      * Allow bridge pallet to return no finalized headers
      
      * Update Runtime APIs to optionally return best finalized header
      
      * Update relay to handle optional best finalized headers
      
      * Fix Clippy lints
      
      * Return a dummy header instead of an Option
      
      * Remove Option from runtime Apis
      
      * Remove support for handling optional finalized headers in relay
      19373c6b
  9. Nov 17, 2020
  10. Nov 02, 2020
  11. Oct 26, 2020
  12. Oct 14, 2020
  13. Sep 30, 2020
  14. Sep 28, 2020
  15. Sep 22, 2020
    • Svyatoslav Nikolsky's avatar
      Extract minimal ethereum client (#359) · 69f958fb
      Svyatoslav Nikolsky authored
      * relay-ethereum-client
      
      * use relay-ethereum-client from ethereum-poa-relay
      
      * cargo fmt --all
      
      * #![warn(missing_docs)]
      
      * EthereumRpcClient -> EthereumClient
      
      * make EthereumHeadersSyncPipeline private
      
      * return concrete type from crate::new
      
      * cleanup dependencies
      
      * *self -> self
      
      * remove trait Client
      
      * sort deps
      69f958fb
  16. Sep 18, 2020
  17. Aug 05, 2020
    • Svyatoslav Nikolsky's avatar
      Prepare for sub to eth relay - part2 (#253) · 065339cf
      Svyatoslav Nikolsky authored
      
      
      * fixed PoA contract deploy (granda_authorities call)
      
      * pause if all submitted headers were rejected
      
      * give funds to Bertha and Carlos
      
      * max 1 active PoA transaction in headers sync :(
      
      * display initial header id when deploying PoA contract
      
      * cargo fmt + clipy
      
      * update PoA contract to accept <= 4 Substrate headers at once
      
      * pause submitting headers when contract rejects all new headers + we have active transactions
      
      * fix compilation
      
      * cargo fmt --all
      
      * does_not_select_new_headers_to_submit_when_submit_is_paused
      
      * updated bridge contract
      
      * Update relays/ethereum/src/sync.rs
      
      Co-authored-by: default avatarHernando Castano <[email protected]>
      
      * WiP.
      
      * Submit first incomplete header.
      
      * Finish up test.
      
      * cargo fmt --all
      
      * Remove redundant clone.
      
      * Address review comments.
      
      * cargo fmt --all
      
      * Fix clippy.
      
      Co-authored-by: default avatarHernando Castano <[email protected]>
      Co-authored-by: default avatarTomasz Drwięga <[email protected]>
      065339cf
  18. Jul 31, 2020
  19. Jul 30, 2020
  20. Jul 27, 2020
  21. Jul 20, 2020
    • Tomasz Drwięga's avatar
      Fix clippy suggestions. (#179) · f10e344c
      Tomasz Drwięga authored
      
      
      * Fix clippy errors.
      
      * Cargo fmt.
      
      * Enable clippy checks.
      
      * Create if does not exist.
      
      * Fix warnings and enable sccache for clippy.
      
      * chmod +x
      
      * Revert and ignore errors.
      
      * Update cancel-workflow-action.
      
      * Fixes.
      
      * Clippy fixes.
      
      * Fix compilation.
      
      * Fix new clippy warnings.
      
      * fmt --all
      
      * Fix the rest.
      
      * fmt --all
      
      * Conditional.
      
      * Bump smallvec.
      
      * Use separate cache dir for clippy to prevent races.
      
      * Remove unused imports in tests
      
      * Remove "useless conversion"
      
      * Move clippy to main worfklow to avoid clashes.
      
      * Fix clippy error.
      
      * Fix remaning clippy errors.
      
      * cargo fmt --all
      
      Co-authored-by: default avatarHernando Castano <[email protected]>
      f10e344c
  22. Jul 14, 2020
  23. Jun 23, 2020
    • Hernando Castano's avatar
      Switch to new RPC interface (#131) · 5bf635e6
      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]>
      5bf635e6
  24. May 22, 2020
    • Hernando Castano's avatar
      RPC Module for Relays (#80) · 55aa5780
      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 `0f0435d2` to `ca755029`
      
      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
      55aa5780