Skip to content
  1. Aug 10, 2020
  2. Aug 07, 2020
  3. Aug 05, 2020
    • Svyatoslav Nikolsky's avatar
      Prepare for sub to eth relay - part2 (#253) · 6e507640
      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]>
      6e507640
  4. Aug 04, 2020
    • Hernando Castano's avatar
      Support Pallet Instances in Relay (#238) · 605ff7e6
      Hernando Castano authored
      * Sketch out how to support different bridge pallet instances
      
      * Create a common interface for using pallet instances
      
      * Start introducing generic instance parameter
      
      Attemps to make the compiler happy, but I'm having second thoughts about
      this approach. Commiting now as a way to have a checkpoint, but I think
      I'm going to need to re-consider my approach here.
      
      Ideally I want a change which introduces minimal changes, but this seems
      to be propagating around the codebase in ways I don't want.
      
      * Use trait objects instead of generics
      
      * Implement traits for Boxed trait objects
      
      This is done in order to statisfy trait bounds by types
      which use these new trait objects
      
      * Remove Clone usage for sync parameters
      
      * Remove implementation of Default for sync params
      
      * Require that BridgeInstance implements Debug
      
      * Ensure that BridgeInstance trait implements Send/Sync
      
      * Add documentation related to instances
      
      * Rust Fmt
      
      * Remove needless format
      
      * Make instance CLI option case insensitive
      
      * Replace `with_*` constructors with `new`
      
      * Clean up usage of instance structs
      
      * Enforce a default instance in the CLI params
      
      * Build sync params as we process input from CLI
      
      * Remove case insensitivity from sub-tx-mode
      
      I think this should happen, but maybe as part of a different PR
      
      * Process default Eth contract deployment config in CLI
      
      * Build EthereumExchangeParams in CLI
      
      * Process EthereumExchangeSubmitParams params in CLI
      605ff7e6
  5. Aug 03, 2020
    • Hernando Castano's avatar
      Bump Substrate to RC5 (#243) · d492e558
      Hernando Castano authored
      * Bump Substrate to rc5
      
      * Bump async-std to v1.6.2
      
      There was a bug in v.1.6.0 which kept us locked to v1.5 releases.
      I think that's fixed now so I'm bumping this.
      
      * Update bridge node runtime
      
      * Update node service
      
      * Update CLI
      
      * Add SystemWeightInfo type to test runtimes
      
      * Add RPC extension builder to service
      
      * Directly return rpc_extensions_builder
      
      * Allow complex types in service
      
      This comes from Substrate, so I'd rather just keep the code as is
      
      * Update benchmarking code for new CLI
      d492e558
  6. Jul 31, 2020
  7. Jul 30, 2020
  8. Jul 29, 2020
    • Svyatoslav Nikolsky's avatar
      Submit exchange transactions to PoA node (#229) · 686ab29f
      Svyatoslav Nikolsky authored
      
      
      * submit Eth exchange transactions
      
      * submit ethereum in docker-compose
      
      * submit Eth exchange transactions
      
      * fix duplicate message
      
      * fix relay script
      
      * lost file
      
      * cargo fmt --all
      
      * cargo +nightly clippy
      
      * Show sccache
      
      * remove test-helpers remains
      
      * what's going on with jsonrpsee + Cargo.lock?
      
      * relay-eth-submit-exchange-tx -> poa-exchange-tx-generator
      
      * Update relays/ethereum/src/main.rs
      
      Co-authored-by: default avatarTomasz Drwięga <[email protected]>
      
      * configuring exchange-gen loop using env variables
      
      * fixed signer account from dev chain to Arthur
      
      * improve debug prints
      
      * parse nonce from relay output
      
      * --eth-nonce=
      
      * fix compilation
      
      * cargo fmt --all
      
      * fix typo
      
      * duplicate relay output to tty
      
      * allow using from bash scripts tests
      
      * fix: U256::parse() expects hex string :/
      
      * cargo fmt --all
      
      * BRIDGE_HASH: ${BRIDGE_HASH:-master}
      
      * script comment
      
      * generate exchange PoA transactions by Bertha
      
      * Bertha address
      
      Co-authored-by: default avatarDenis S. Soldatov aka General-Beck <[email protected]>
      Co-authored-by: default avatarTomasz Drwięga <[email protected]>
      686ab29f
    • Tomasz Drwięga's avatar
      Remove substrate relay. (#244) · 7299e92b
      Tomasz Drwięga authored
      7299e92b
  9. Jul 28, 2020
  10. Jul 27, 2020
    • Hernando Castano's avatar
      Allow Multiple Bridge Pallet Instances (#226) · 6d7a4eb7
      Hernando Castano authored
      
      
      * Add Instance type parameter to pallet
      
      * Sketch out what the runtime could look like
      
      * Allow runtime to compile with multiple bridge pallets
      
      * Cargo Fmt
      
      * Allow an instance of a PoA chain to be used with currency-exchange
      
      I specify that it's only _an instance_ instead of _instances_ since the currency-exchange
      pallet does not support multiple instances itself. What this commit does is make it so
      that the different instances of the PoA chains we currently have are compatible with the
      currency-exchange pallet through the implementation of the PeerBlockchain trait.
      
      * Add Instance type parameter to Currency Exchange pallet
      
      * Wire up currency exchange intances in runtime
      
      * Rust Fmt
      
      * Show sccache
      
      * Allow Eth pallet to use a default instance
      
      * Use a default instance in Eth pallet tests
      
      * Remove Rialto and Kovan feature flags
      
      Through some discussions it has been decided that the `bridge-node` should, like
      Substrate's `node-template`, be a showcase of the different pallets available in
      a project. Because of this I've removed the feature flags for the Rialto and Kovan
      networks in favour of having both of them included in the runtime.
      
      * Update the chain_spec to use both Rialto and Kovan configs
      
      * Update pallet level calls used by Substrate client
      
      Allows the project to compile. However, it should be noted that in reality
      we shouldn't be hardcoding the pallet we're calling.
      
      * Allow currency-exchange pallet to use a default instance
      
      * Support benchmarking an instance of the Eth pallet
      
      * Update currency exchange benchmarks to work with instances
      
      * Fix test helpers which now need a PoA instance
      
      * Remove Actions for checking Rialto and Kovan features
      
      * Add missing comments
      
      * Update Runtime API string constants
      
      * Add issue number for generic chain support in relay
      
      * Add Runtime APIs for instances of the currency-exchange pallet
      
      * Rust Fmt
      
      Co-authored-by: default avatarDenis S. Soldatov aka General-Beck <[email protected]>
      6d7a4eb7
    • Svyatoslav Nikolsky's avatar
      Auto relay exchange transactions (#227) · 91f681cd
      Svyatoslav Nikolsky authored
      
      
      * auto relay exchange transactions
      
      * docker + auto-relay-tx
      
      * clippy
      
      * jsonrpsee in Cargo.lock ???
      
      * fix tests compilation
      
      * Show sccache
      
      * mute clippy
      
      * move
      
      * Update relays/ethereum/src/exchange.rs
      
      Co-authored-by: default avatarHernando Castano <[email protected]>
      
      * finish comment
      
      * (bool, String) -> StringifiedMaybeConnectionError
      
      * Update deployments/rialto/docker-compose.yml
      
      Co-authored-by: default avatarHernando Castano <[email protected]>
      
      Co-authored-by: default avatarDenis S. Soldatov aka General-Beck <[email protected]>
      Co-authored-by: default avatarHernando Castano <[email protected]>
      91f681cd
    • dependabot-preview[bot]'s avatar
    • dependabot-preview[bot]'s avatar
      8a535616
  11. Jul 21, 2020
    • Hernando Castano's avatar
      Add Prometheus and Grafana to Docker Compose (#221) · 03af74aa
      Hernando Castano authored
      * Add Prometheus and Grafana to Docker Compose
      
      * Expose relay's Prometheus metrics port
      
      * Use Docker network references intead of localhost
      
      When you have containers on the same network they don't communicate
      over localhost, they instead refer to their container names
      
      * Move dashboard components into deployment folder
      
      * Update folder structure for Grafana and Prometheus config files
      
      The new folder structure more closely matches the expected defaults
      by Grafana and Prometheus, which allows us to clean up the paths
      in our docker-compose file a bit.
      
      * Add documentation about Prometheus and Grafana
      
      * Refer to Prometheus server instead of node
      03af74aa
  12. Jul 20, 2020
  13. Jul 17, 2020
    • Svyatoslav Nikolsky's avatar
      Relay dashboard (#191) · 0772b833
      Svyatoslav Nikolsky authored
      * expose metrics for Prometheus
      
      * added preconfigured configs for Prometheus and Grafana
      
      * metrics-related cli args
      
      * fix compilation
      0772b833
    • Tomasz Drwięga's avatar
      Rialto test network setup (#163) · cb9c0608
      Tomasz Drwięga authored
      
      
      * Dockerfile for OpenEth.
      
      * Add relayer dockerfile.
      
      * Add docker-compose.
      
      * Working on the relay.
      
      * Bump a bunch of deps.
      
      * Change relay branch.
      
      * Running a 3-validators poa network.
      
      * Add bridge nodes.
      
      * Conditional compilation of bridge configs.
      
      * Fix genesis hash.
      
      * Disable features build.
      
      * Disable empty steps.
      
      * Work on sub2eth
      
      * Add some logs.
      
      * More logs.
      
      * Fix compilation.
      
      * Add chain-id parameter to relay.
      
      * Unify bridge-hash.
      
      * Update the hash.
      
      * Ditch sub2eth for now.
      
      * Add some docs & proxy configuration.
      
      * Fixes.
      
      * Fix remaining issues.
      
      * Increase health timeout.
      
      * Make sure to install curl for health monitoring.
      
      * Fix kovan.
      
      * Fix build.
      
      * Create if does not exist.
      
      * Fix benches.
      
      * Revert CLI params requirements.
      
      * cargo fmt --all
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarHernando Castano <[email protected]>
      
      * Add some docs.
      
      * Update BRIDGE_HASH to master
      
      * Duplicate compose file.
      
      * Rename testpoa to Rialto.
      
      * Fix borked merge.
      
      * Fix entrypoints to take arguments.
      
      Co-authored-by: default avatarHernando Castano <[email protected]>
      cb9c0608
  14. Jul 16, 2020
  15. Jul 14, 2020
  16. Jul 13, 2020
  17. Jul 10, 2020
    • Svyatoslav Nikolsky's avatar
      85ef49fa
    • Hernando Castano's avatar
      Update Substrate to rc4 (#175) · a57ffd94
      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]>
      a57ffd94
    • Hernando Castano's avatar
      Benchmark Ethereum Pallet (#149) · df9e1ec7
      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
      df9e1ec7
  18. Jul 08, 2020