1. Jul 13, 2020
  2. Jul 10, 2020
    • Tomasz Drwięga's avatar
      Remove less maintenance friendly deny. (#174) · b0c6034b
      Tomasz Drwięga authored
      * Remove less maintenance friendly deny.
      
      * Run always on PRs.
      
      * Create if does not exist.
      b0c6034b
    • Svyatoslav Nikolsky's avatar
      e5d939f0
    • Denis S. Soldatov aka General-Beck's avatar
      Add CI cargo build (#167) · 4c5b7974
      Denis S. Soldatov aka General-Beck authored
      
      
      * Add cargo deny
      
      * deny - master
      
      * Copy deny.toml to .
      
      * cargo deny check
      
      * upload artifacts
      
      * install cargo deny
      
      * typo
      
      * up install cargo deny
      
      * update archive
      
      * typo
      
      * path's
      
      * allow failure cargo deny
      
      * allew failure log
      
      * cargo deny init
      
      * Build stage
      
      * rm deny from build PR
      
      * lint
      
      * Use correct name for Ethereum bridge node crate
      
      * add clippy to test
      
      * clippy -nightly
      
      * add release
      
      * Style stage
      
      * add doc-book
      
      * disable doc
      
      * add cache to clippy
      
      * test macos & windows build
      
      * cargo clean
      
      * move build stage after test, add nightly
      remove windows and macos targets
      
      * remove install steps
      
      * move check style to rust.yml
      
      * cache fixes
      
      * Test needs check
      
      * clippy -> nightly toolchain
      
      * build needs test
      
      * clippy -- -D warnings
      
      * disable needs test for build
      
      * latest build before rest
      fix runs-on in build section
      
      * whitespace
      
      * atrtifacts list
      
      * enable self-hosted
      
      * remove target/sccache
      
      * global env
      
      * check self-hosted
      
      * test cache on selfhosted
      
      * all-in one stage
      
      * lint
      
      * new cache
      
      * check new cache
      
      * disable cache
      
      * add docker volume
      
      * lint
      
      * fix yml
      
      * fix volumes
      
      * change target dir
      
      * switch volumes path
      
      * echo refs
      
      * change mount point
      
      * head ref to cargo home
      
      * add CARGO_TARGET_DIR
      
      * fix artifact path
      
      * path
      
      * $CARGO_TARGET_DIR/
      
      * test 2
      
      * test 3
      
      * test 4
      
      * update deny
      
      * test 5
      
      * deny
      
      * remove deny actions
      
      * move clippy to new workflow, only nightly check
      
      * rename lint workflow
      
      * Update .github/workflows/rust.yml
      
      Co-authored-by: default avatarHernando Castano <[email protected]>
      
      * Update .github/workflows/lint.yml
      
      Co-authored-by: default avatarHernando Castano <[email protected]>
      
      * Update .github/workflows/rust.yml
      
      Co-authored-by: default avatarHernando Castano <[email protected]>
      
      * Update .github/workflows/rust.yml
      
      Co-authored-by: default avatarHernando Castano <[email protected]>
      
      * rustfmt in every job
      nightly build -> weekly
      
      * check nightly Rus and clean cache
      
      * check nightly Rus and clean cache 2
      
      * check nightly Rus and clean cache 3
      
      * check nightly Rus and clean cache 4
      
      * check nightly Rus and clean cache 5
      
      * Split clippy and fmt
      
      * Run build only on master.
      
      * Don't fail if nightly file does not exist.
      
      Co-authored-by: default avatarHernando Castano <[email protected]>
      Co-authored-by: default avatarHernando Castano <[email protected]>
      Co-authored-by: default avatarTomasz Drwięga <[email protected]>
      4c5b7974
    • Hernando Castano's avatar
      Update Substrate to rc4 (#175) · dbf6ac71
      Hernando Castano authored
      
      
      * Bump Substrate to rc4
      
      * Add BaseCallFilter type
      
      * Add DenyUnsafe to SystemApi extension
      
      * Use new ServiceBuilder build functions
      
      * Add BaseCallFilter to test runtimes
      
      * Remove old comments
      
      * Add `rev` and `git` fields back
      
      Turns out that if you don't have these future release candidates will
      be used if available. For instance, once `rc5` is released a fresh pull
      would use that instead of `rc4` which is what we want.
      
      * Use tag release instead of specific commit
      
      Will make scripted updates easier in the future
      
      * Add short script to update between `rc` versions
      
      * Update scripts/update_rc.sh
      
      Co-authored-by: default avatarTomasz Drwięga <[email protected]>
      dbf6ac71
    • Hernando Castano's avatar
      Benchmark Ethereum Pallet (#149) · d0e3d1c1
      Hernando Castano authored
      * Add skeleton for worst case import_unsigned_header
      
      * Fix a typo
      
      * Add benchmark test for best case unsigned header import
      
      * Add finality verification to worst case bench
      
      * Move `insert_header()` from mock to test_utils
      
      Allows the benchmarking code to use this without having to pull it in from the mock.
      
      * Add a rough bench to test a finalizing a "long" chain
      
      * Try to use complexity parameter for finality bench
      
      * Improve long finality bench
      
      * Remove stray dot file
      
      * Remove old "worst" case bench
      
      * Scribble some ideas down for pruning bench
      
      * Prune headers during benchmarking
      
      * Clean up some comments
      
      * Make finality bench work for entire range of complexity parameter
      
      * Place initialization code into a function
      
      * Add bench for block finalization with caching
      
      * First attempt at bench with receipts
      
      * Try and trigger validator set change
      
      * Perform a validator set change during benchmarking
      
      * Move `validators_change_receipt()` to shared location
      
      Allows unit tests and benchmarks to access the same helper function
      and const
      
      * Extract a test receipt root into a constant
      
      * Clean up description of pruning bench
      
      * Fix cache and pruning tests
      
      * Remove unecessary `build_custom_header` usage
      
      * Get rid of warnings
      
      * Remove code duplication comment
      
      I don't think its entirely worth it to split out so few lines of code.
      The benches aren't particularly hard to read anyways.
      
      * Increase the range of the complexity parameter
      
      * Use dynamic number of receipts while benchmarking
      
      As part of this change we have removed the hardcoded TEST_RECEIPT_ROOT
      and instead chose to calculate the receipt root on the fly. This will
      make tests and benches less fragile.
      
      * Prune a dynamic number of headers
      d0e3d1c1
  3. Jul 08, 2020
  4. Jul 06, 2020
  5. Jul 02, 2020
  6. Jul 01, 2020
  7. Jun 29, 2020
  8. Jun 26, 2020
  9. Jun 24, 2020
    • Svyatoslav Nikolsky's avatar
      Runtime benchmarks: start (#136) · 9cd9bc1e
      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]>
      9cd9bc1e
  10. 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
    • Tomasz Drwięga's avatar
      Update web3 dependency. (#140) · 55f8d744
      Tomasz Drwięga authored
      * Update web3 dependency.
      
      * Switch to crates.io.
      55f8d744
  11. Jun 22, 2020
  12. Jun 18, 2020
  13. Jun 16, 2020
  14. Jun 15, 2020
  15. Jun 11, 2020
    • Hernando Castano's avatar
      Add async_trait to SourceClient and TargetClient (#123) · 044e0334
      Hernando Castano authored
      * Use async_trait for SourceClient
      
      * Use aync_trait for TargetClient
      
      * Revert async_trait usage for Source/Target client
      
      This reverts commit f636ffaf.
      This reverts commit 2c15755e
      
      .
      
      I'm having a very hard time finding out what is causing compilation
      issues, and I think it's best to start over again.
      
      * Use async_trait for TargetClient
      
      * Use async_trait for SourceClient
      
      * Move where non-async methods are
      
      * RustFmt
      
      * QueuedHeader holds Arc to actual data
      
      * Clean up async return type
      
      Co-authored-by: default avatarSvyatoslav Nikolsky <[email protected]>
      
      * Clean up async return type
      
      Co-authored-by: default avatarSvyatoslav Nikolsky <[email protected]>
      
      * Clean up async return type
      
      Co-authored-by: default avatarSvyatoslav Nikolsky <[email protected]>
      
      * Remove unused import
      
      Co-authored-by: default avatarSvyatoslav Nikolsky <[email protected]>
      044e0334
    • Svyatoslav Nikolsky's avatar
      Update Substrate to latest master (rc3) (#129) · 688abd31
      Svyatoslav Nikolsky authored
      * Substrate 606c56d2e2f69f68f3947551224be6a3515dff60
      
      * update jsonrpsee
      688abd31
    • Hernando Castano's avatar
      Add diagrams from draw.io (#122) · 36353d11
      Hernando Castano authored
      * Add diagrams from draw.io
      
      I'm trying to figure out how best to share these in such a way that we
      can all contribute to them easily. While integration between draw.io
      and GitHub exists, it requires read/write permissions to all ParityTech
      repos, which doesn't comfort me. I think having the .drawio file and
      the corresponding pictures available in a folder is a good start.
      
      I imagine the workflow would be something like this: Someone wants to
      update a diagram, so they go to draw.io and upload the .drawio file
      from the repo. They make their changes, download the new .drawio file
      and corresponding SVG, and commit their changes to the repo.
      
      * Make diagrams consistent with background/filling
      
      The background for each diagram has been removed (now it's transparent)
      and the boxes that make up the diagrams have gotten a filled in white
      colour. This will make it possible to have these diagrams show up on
      non-white backgrounds.
      
      * Add file for describing diagrams
      
      * Add missing extension
      36353d11
  16. Jun 10, 2020
  17. Jun 08, 2020