1. Apr 25, 2024
  2. Apr 10, 2024
    • Serban Iorga's avatar
      Move generic CLI logic to different crate (#2885) · 3643f721
      Serban Iorga authored and Bastian Köcher's avatar Bastian Köcher committed
      * Move generic CLI logic to separate crate
      
      * Move and rename `CliChain` trait definition
      
      Move it to `relay-substrate-client`
      
      * Move generic cli logic to substrate-relay-helper
      
      * Fix docs warnings
      3643f721
    • Svyatoslav Nikolsky's avatar
      Drop Rialto <> Millau bridges (#2663) (#2694) · 7a8c87a4
      Svyatoslav Nikolsky authored and Bastian Köcher's avatar Bastian Köcher committed
      * drop Rialto <> Millau bridges
      
      * clippy
      7a8c87a4
    • Serban Iorga's avatar
      Add basic equivocation detection pipeline schema (#2338) (#2341) · 9bfad806
      Serban Iorga authored and Bastian Köcher's avatar Bastian Köcher committed
      * Move finality Engine to finality_base folder
      
      * Define SubstrateFinalityPipeline
      
      Extract basic parts of SubstrateFinalitySyncPipeline into
      SubstrateFinalityPipeline
      
      * Add equivocation detection pipeline
      
      * Fix comment
      9bfad806
    • Svyatoslav Nikolsky's avatar
      submit lane unblock transactions from relay (#2030) · 8b262ea6
      Svyatoslav Nikolsky authored and Bastian Köcher's avatar Bastian Köcher committed
      * submit lane unblock transactions from relay
      
      * moved body of select_nonces_to_deliver to the separate select_race_action
      
      * extracted latest_confirmed_nonce_at_source method
      
      * return Option<RaceAction> from select_race_action
      
      * make required_source_header_at_target async
      
      * remove extra argument from required_source_header_at_target
      
      * small fixes in tests
      
      * Revert "return Option<RaceAction> from select_race_action"
      
      This reverts commit 9f13dbfae39a5a45564550e8c89b10a524a68729.
      
      * implement required_source_header_at_target using what-if approach
      
      * fix compilation
      
      * fmt
      
      * clippy
      
      * moved some code to the can_submit_transaction_with
      8b262ea6
    • Svyatoslav Nikolsky's avatar
      Fix invalid batch transaction (#1957) · 2a848fd8
      Svyatoslav Nikolsky authored and Bastian Köcher's avatar Bastian Köcher committed
      * fix invalid batch transaction
      
      * RaceState is now trait
      
      * clippy
      2a848fd8
    • Serban Iorga's avatar
      Replace `BATCH_CALL_SUPPORTED` (#1733) · e47f1e42
      Serban Iorga authored and Bastian Köcher's avatar Bastian Köcher committed
      * Simplify submit_and_watch_signed_extrinsic
      
      The way submit_and_watch_signed_extrinsic is used now, we can always
      derive the SignParam from other params. If in the future we need more
      customization possibilities, we can define a new method.
      
      * Simplify submit_signed_extrinsic
      
      * Send maybe_batch_tx as a parameter
      
      Send `maybe_batch_tx` as a parameter to `submit_proof()`. This way we
      can deduplicate the logic that submits the extrinsic for
      `messages_source and `messages_target` and we can simplify the logic in
      the race loop a bit.
      
      * Define BatchProofTransaction
      
      Deduplicate BatchConfirmationTransaction and BatchDeliveryTransaction by
      replacing both of them with BatchProofTransaction
      
      * Define ChainWithUtilityPallet and BatchCallBuilderConstructor
      
      - Define `ChainWithUtilityPallet` in order to be able to associate the
        batching functionality with chains
      - Defining `BatchCallBuilderConstructor` in order to have a more reliable
        way of checking whether an end of a messages pipeline supports batching
        or no. `BatchCallBuilderConstructor::new_builder()` returns an
        `Option<BatchCallBuilder>`.This is a bit safer because each time a caller
        tries to start creating a batch call, it will call `new_builder()` and
        will be required to handle the returned `Option`. Before we only had a
        bool `BATCH_CALL_SUPPORTED` the caller could have forgetten to check.
      e47f1e42
    • Svyatoslav Nikolsky's avatar
      remove messages pallet owner relay argument (#1728) · b51da645
      Svyatoslav Nikolsky authored and Bastian Köcher's avatar Bastian Köcher committed
      b51da645
    • Svyatoslav Nikolsky's avatar
      Batch transactions in complex relays (#1669) · be27bd5e
      Svyatoslav Nikolsky authored and Bastian Köcher's avatar Bastian Köcher committed
      * batch transactions in message relay: API prototype
      
      * get rid of Box<dyn BatchTransaction> and actually submit it
      
      * test batch transactions
      
      * message_lane_loop_works_with_batch_transactions
      
      * removed logger
      
      * BatchConfirmationTransaction + BatchDeliveryTransaction
      
      * more prototyping
      
      * fmt
      
      * continue with batch calls
      
      * impl BatchCallBuilder for ()
      
      * BatchDeliveryTransaction impl
      
      * BundledBatchCallBuilder
      
      * proper impl of BundledBatchCallBuilder + use it in RialtoParachain -> Millau
      
      * impl prove_header in OnDemandHeadersRelay
      
      * impl OnDemandParachainsRelay::prove_header (needs extensive tests)
      
      * added a couple of TODOs
      
      * return Result<Option<BatchTx>> when asking for more headers
      
      * prove headers when reauire_* is called && return proper headers from required_header_id
      
      * split parachains::prove_header and test select_headers_to_prove
      
      * more traces and leave TODOs
      
      * use finality stream in SubstrateFinalitySource::prove_block_finality
      
      * prove parachain head at block, selected by headers relay
      
      * const ANCIENT_BLOCK_THRESHOLD
      
      * TODO -> proof
      
      * clippy and spelling
      
      * BatchCallBuilder::build_batch_call() returns Result
      
      * read first proof from two streams
      
      * FailedToFindFinalityProof -> FinalityProofNotFound
      
      * changed select_headers_to_prove to version from PR review
      be27bd5e
    • Svyatoslav Nikolsky's avatar
      Remove message fee + message send calls (#1642) · 8c845602
      Svyatoslav Nikolsky authored and Bastian Köcher's avatar Bastian Köcher committed
      * remove message fee
      
      * it is compiling!
      
      * fixes + fmt
      
      * more cleanup
      
      * more cleanup
      
      * restore MessageDeliveryAndDispatchPayment since we'll need relayer rewards
      
      * started rational relayer removal
      
      * more removal
      
      * removed estimate fee subcommand
      
      * remove DispatchFeePayment
      
      * more removals
      
      * removed conversion rates && some metrics
      
      * - unneeded associated type
      
      * - OutboundMessageFee
      
      * fix benchmarks compilation
      
      * fmt
      
      * test + fix benchmarks
      
      * fix send message
      
      * clippy
      8c845602
    • Svyatoslav Nikolsky's avatar
      fixes for nightly clippy (#1618) · f58e076c
      Svyatoslav Nikolsky authored and Bastian Köcher's avatar Bastian Köcher committed
      f58e076c
    • Svyatoslav Nikolsky's avatar
      Extract unsigned tx from the SignParam structure (#1561) · f35b4f48
      Svyatoslav Nikolsky authored and Bastian Köcher's avatar Bastian Köcher committed
      * change sign_transaction method
      
      * clippy
      
      * rustup update && clippy
      
      * remove redudnant clone
      f35b4f48
    • Serban Iorga's avatar
      Avoid duplicate function definitions · ff342faf
      Serban Iorga authored and Bastian Köcher's avatar Bastian Köcher committed
      
      
      Avoid duplicate function definitions for:
      - ensure_owner_or_root()
      - ensure_not_halted()
      - set_owner()
      - set_operating_mode() / set_operational()
      
      Signed-off-by: default avatarSerban Iorga <[email protected]>
      ff342faf
    • Svyatoslav Nikolsky's avatar
      Separate signers for different complex relay layers (#1465) · 41894282
      Svyatoslav Nikolsky authored and Bastian Köcher's avatar Bastian Köcher committed
      * separate accounts for different complex relay layers
      
      * fix clippy issue
      
      * cleanup + expose relay accounts balance metrics
      
      * expose messages pallet owner balance metric
      
      * use new metrics in maintenance dashboard
      
      * tests + use separate accounts to sign RialtoHeaders -> Millau transactions in RialtoParachain<>Millau bridge
      
      * clippy + fmt + spellcheck
      41894282
    • Svyatoslav Nikolsky's avatar
      Complex RialtoParachain <> Millau relay (#1405) · 542ebb56
      Svyatoslav Nikolsky authored and Bastian Köcher's avatar Bastian Köcher committed
      * complex parachain relay
      
      * fix spelling
      542ebb56
    • Svyatoslav Nikolsky's avatar
      Parachains finality relay (#1199) · 03c2f06a
      Svyatoslav Nikolsky authored and Bastian Köcher's avatar Bastian Köcher committed
      03c2f06a
    • Svyatoslav Nikolsky's avatar
      FinalityEngine in substrate relay (#1374) · b3c8852b
      Svyatoslav Nikolsky authored and Bastian Köcher's avatar Bastian Köcher committed
      
      
      * introduce FinalityEngine in relay code
      
      * add FinalityEngine to relay
      
      * spelling
      
      * fix test compilation
      
      * Update relays/lib-substrate-relay/src/finality/source.rs
      
      Co-authored-by: default avatarAdrian Catangiu <[email protected]>
      
      Co-authored-by: default avatarAdrian Catangiu <[email protected]>
      b3c8852b
    • Svyatoslav Nikolsky's avatar
      c4837d23
    • Svyatoslav Nikolsky's avatar
      Refactor message relay helpers (#1234) · 4cdd9590
      Svyatoslav Nikolsky authored and Bastian Köcher's avatar Bastian Köcher committed
      * refactor message relay helpers
      
      * single standalone_metrics function
      
      * fixed tests
      
      * clippy + fmt
      
      * removed commented code
      
      * add calls tracing
      
      * fix spelling
      
      * cargo fmt
      
      * -commented code
      
      * fix build again
      
      * post-merge build fix
      
      * clippy + fmt
      4cdd9590
    • Svyatoslav Nikolsky's avatar
      Refactor finality relay helpers (#1220) · e675b130
      Svyatoslav Nikolsky authored and Bastian Köcher's avatar Bastian Köcher committed
      * refactor finality relay helper definitions
      
      * add missing doc
      
      * removed commented code
      
      * fmt
      
      * disable rustfmt for macro
      
      * move best_finalized method const to relay chain def
      e675b130
    • Svyatoslav Nikolsky's avatar
      Message transactions mortality (#1191) · 1ef41a59
      Svyatoslav Nikolsky authored and Bastian Köcher's avatar Bastian Köcher committed
      * transactions mortality in message and complex relays
      
      * logging + enable in test deployments
      
      * spellcheck
      
      * fmt
      1ef41a59
    • Vladislav's avatar
      Unify error enums in substrate and ethereum clients with `thiserror` (#1094) · 58429682
      Vladislav authored and Bastian Köcher's avatar Bastian Köcher committed
      * Unify error enums in substrate and ethereum clients with `thiserror`
      
      Related to https://github.com/paritytech/parity-bridges-common/issues/857
      
      * Add license pre-amble
      
      * rustfmt
      
      * Fix spelling
      58429682
    • Svyatoslav Nikolsky's avatar
      Stored conversion rate updater (#1005) · 3ef45745
      Svyatoslav Nikolsky authored and Bastian Köcher's avatar Bastian Köcher committed
      * update conversion rate: initial commit
      
      * Rialto=Polkadot && Millau=Kusama + actually update conversion rates
      
      * update deployment scripts and readme
      
      * allow non-zero difference between stored and real rates
      
      * dummy commit
      
      * Revert "dummy commit"
      
      This reverts commit a438198180a8385feeaaca60c9d2da0950465215.
      
      * clippy
      
      * #[allow(clippy::float_cmp)] in conversion rate update
      
      * dummy
      
      * Revert "dummy"
      
      This reverts commit 90cd6e47cda56f655e94dbef76138e6cc58d664a.
      
      * spell
      
      * shared_value_ref() -> get()
      
      * Revert "shared_value_ref() -> get()"
      
      This reverts commit 20aa30de6a59b2099cfba3e9676e71200b7bb468.
      3ef45745
    • fewensa's avatar
      Common crate for substrate-relay (#1082) · 8cb26334
      fewensa authored and Bastian Köcher's avatar Bastian Köcher committed
      * lib-substrate-relay
      
      * pass to build
      
      * remove unused file
      
      * clippy && tests
      
      * Changed follow suggestions
      
      * License
      
      * Make changes follow suggested
      
      * docs
      
      * fix fmt
      8cb26334
    • Hernando Castano's avatar
      Update Copyright Date to 2021 (#864) · 21baffc8
      Hernando Castano authored and Bastian Köcher's avatar Bastian Köcher committed
      * Update copyright date to 2021
      
      * Bump date in license header template
      21baffc8
    • Hernando Castano's avatar
      Split Rialto and Millau Nodes (#372) · 8b8248f8
      Hernando Castano authored and Bastian Köcher's avatar Bastian Köcher committed
      * Split the Rialto Node into a standalone crate
      
      * Split the Millau Node into a standalone crate
      
      * Remove `bridge-node` crate
      
      * Add benchmarking feature to nodes
      
      * Check that benchmarks compile in CI
      
      * Remove nodes from CI matrix
      
      * Update Rialto node to Substrate 2.0
      
      * Get Millau node compiling with Substrate 2.0
      
      * Remove extra license text
      
      * Remove comments in TOML files
      
      * Move nodes and runtimes into Rialto and Millau folders
      
      * Fix dependency paths
      
      * Remove unused script
      
      * Add issue to benchmarking TODO
      
      * Fix benchmark manifest paths
      8b8248f8
    • Svyatoslav Nikolsky's avatar
      Prepare separate runtime for testing sub2sub bridge (#341) · d8ae7867
      Svyatoslav Nikolsky authored and Bastian Köcher's avatar Bastian Köcher committed
      * renamed bin/node/runtime to bin/node/rialto-runtime
      
      * replaced bridge-node-runtime references with rialto-runtime references
      
      * separate folders for millau/rialto nodes+runtimes
      
      * extracted pallet-shift-session-manager
      
      * bridge-node -> bridge-node-runtime
      
      * uninstall previous rust (temp solution???)
      
      * fix dockerfile
      
      * cargo fmt
      
      * fix benchmarks check
      
      * fix benchmarks again
      
      * update LAST_RUST_UPDATE to clear the cache
      
      * changed runtime comments
      
      * move bin/node/* to bin/
      
      * REVERT ME
      
      * Revert "REVERT ME"
      
      This reverts commit 7c335f946308ed11d9ed6ffec7c1c13dbe2743ed.
      
      * specify container name
      
      * REVERT ME
      
      * container_name -> hostname
      
      * fix typo
      
      * aliases
      
      * Revert "REVERT ME"
      
      This reverts commit 0e74af5f8430f1975a3fc924d8b52079f266bda1.
      
      * removed prefixes
      d8ae7867
    • Svyatoslav Nikolsky's avatar
      Migrate to new substrate (#79) · 50d6ed18
      Svyatoslav Nikolsky authored and Bastian Köcher's avatar Bastian Köcher committed
      * new substrate version + actually verify justification
      
      * cargo update + fix remaining stuff
      
      * add weight=0 comments
      
      * cargo fmt --all
      
      * fix hash types
      50d6ed18
    • Tomasz Drwięga's avatar
      Add license headers (#27) · 91b6248f
      Tomasz Drwięga authored and Bastian Köcher's avatar Bastian Köcher committed
      * Add the scripts.
      
      * Add license preamble.
      
      * Change existing license headers.
      91b6248f
    • Hernando Castano's avatar
      Add a Node (#22) · 40b4f78b
      Hernando Castano authored and Bastian Köcher's avatar Bastian Köcher committed
      * Copy node-template over from Substrate repo
      
      Got the template at rev=6e6d06c33911
      
      * Use dependencies from crates.io + stop renaming on import
      
      * Remove template pallet
      
      * Stop using crates.io dependencies
      
      Instead they're going to be pinned at v2.0.0-alpha.2
      at commit `2afecf81ee19b8a6edb364b419190ea47c4a4a31`
      until something stable comes along.
      
      * Remove LICENSE
      
      * Change references of `node-template` to `bridge-node`
      
      * Remove README
      
      * Fix some missed node-template references
      
      * Add WASM toolchain to CI
      
      * Be more specific about nightly version to use
      
      * Maybe don't tie to a specific nightly
      
      * Use composite accounts
      
      * Update to use lazy reaping
      
      * Only use Development chain config
      40b4f78b