Skip to content

Commit

Permalink
Move bridge definitions
Browse files Browse the repository at this point in the history
Move bridge definitions to their specific folder.

Signed-off-by: Serban Iorga <[email protected]>
  • Loading branch information
serban300 committed Apr 9, 2024
1 parent c204a81 commit 97b47ee
Show file tree
Hide file tree
Showing 14 changed files with 167 additions and 131 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@

//! Millau-to-Rialto headers sync entrypoint.

use crate::cli::bridge::{CliBridgeBase, MessagesCliBridge, RelayToRelayHeadersCliBridge};
use substrate_relay_helper::finality::{
engine::Grandpa as GrandpaFinalityEngine, DirectSubmitGrandpaFinalityProofCallBuilder,
SubstrateFinalitySyncPipeline,
Expand All @@ -37,3 +38,21 @@ impl SubstrateFinalitySyncPipeline for MillauFinalityToRialto {
>;
type TransactionSignScheme = relay_rialto_client::Rialto;
}

//// `Millau` to `Rialto` bridge definition.
pub struct MillauToRialtoCliBridge {}

impl CliBridgeBase for MillauToRialtoCliBridge {
type Source = relay_millau_client::Millau;
type Target = relay_rialto_client::Rialto;
}

impl RelayToRelayHeadersCliBridge for MillauToRialtoCliBridge {
type Finality = MillauFinalityToRialto;
}

impl MessagesCliBridge for MillauToRialtoCliBridge {
const ESTIMATE_MESSAGE_FEE_METHOD: &'static str =
bp_rialto::TO_RIALTO_ESTIMATE_MESSAGE_FEE_METHOD;
type MessagesLane = crate::chains::millau_messages_to_rialto::MillauMessagesToRialto;
}
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@

//! Millau-to-RialtoParachain headers sync entrypoint.

use crate::cli::bridge::{CliBridgeBase, MessagesCliBridge, RelayToRelayHeadersCliBridge};
use substrate_relay_helper::finality::{
engine::Grandpa as GrandpaFinalityEngine, DirectSubmitGrandpaFinalityProofCallBuilder,
SubstrateFinalitySyncPipeline,
Expand All @@ -55,3 +56,22 @@ impl SubstrateFinalitySyncPipeline for MillauFinalityToRialtoParachain {
>;
type TransactionSignScheme = relay_rialto_parachain_client::RialtoParachain;
}

//// `Millau` to `RialtoParachain` bridge definition.
pub struct MillauToRialtoParachainCliBridge {}

impl CliBridgeBase for MillauToRialtoParachainCliBridge {
type Source = relay_millau_client::Millau;
type Target = relay_rialto_parachain_client::RialtoParachain;
}

impl RelayToRelayHeadersCliBridge for MillauToRialtoParachainCliBridge {
type Finality = MillauFinalityToRialtoParachain;
}

impl MessagesCliBridge for MillauToRialtoParachainCliBridge {
const ESTIMATE_MESSAGE_FEE_METHOD: &'static str =
bp_rialto_parachain::TO_RIALTO_PARACHAIN_ESTIMATE_MESSAGE_FEE_METHOD;
type MessagesLane =
crate::chains::millau_messages_to_rialto_parachain::MillauMessagesToRialtoParachain;
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@

//! Rialto-to-Millau headers sync entrypoint.

use crate::cli::bridge::{CliBridgeBase, MessagesCliBridge, RelayToRelayHeadersCliBridge};
use substrate_relay_helper::finality::{
engine::Grandpa as GrandpaFinalityEngine, DirectSubmitGrandpaFinalityProofCallBuilder,
SubstrateFinalitySyncPipeline,
Expand All @@ -37,3 +38,21 @@ impl SubstrateFinalitySyncPipeline for RialtoFinalityToMillau {
>;
type TransactionSignScheme = relay_millau_client::Millau;
}

//// `Rialto` to `Millau` bridge definition.
pub struct RialtoToMillauCliBridge {}

impl CliBridgeBase for RialtoToMillauCliBridge {
type Source = relay_rialto_client::Rialto;
type Target = relay_millau_client::Millau;
}

impl RelayToRelayHeadersCliBridge for RialtoToMillauCliBridge {
type Finality = RialtoFinalityToMillau;
}

impl MessagesCliBridge for RialtoToMillauCliBridge {
const ESTIMATE_MESSAGE_FEE_METHOD: &'static str =
bp_millau::TO_MILLAU_ESTIMATE_MESSAGE_FEE_METHOD;
type MessagesLane = crate::chains::rialto_messages_to_millau::RialtoMessagesToMillau;
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@

//! Rialto-to-Millau parachains sync entrypoint.

use crate::cli::bridge::{CliBridgeBase, MessagesCliBridge, ParachainToRelayHeadersCliBridge};
use parachains_relay::ParachainsPipeline;
use relay_millau_client::Millau;
use relay_rialto_client::Rialto;
Expand Down Expand Up @@ -51,3 +52,24 @@ pub type RialtoParachainsToMillauSubmitParachainHeadsCallBuilder =
millau_runtime::Runtime,
millau_runtime::WithRialtoParachainsInstance,
>;

//// `RialtoParachain` to `Millau` bridge definition.
pub struct RialtoParachainToMillauCliBridge {}

impl CliBridgeBase for RialtoParachainToMillauCliBridge {
type Source = RialtoParachain;
type Target = Millau;
}

impl ParachainToRelayHeadersCliBridge for RialtoParachainToMillauCliBridge {
type SourceRelay = Rialto;
type ParachainFinality = RialtoParachainsToMillau;
type RelayFinality = crate::chains::rialto_headers_to_millau::RialtoFinalityToMillau;
}

impl MessagesCliBridge for RialtoParachainToMillauCliBridge {
const ESTIMATE_MESSAGE_FEE_METHOD: &'static str =
bp_millau::TO_MILLAU_ESTIMATE_MESSAGE_FEE_METHOD;
type MessagesLane =
crate::chains::rialto_parachain_messages_to_millau::RialtoParachainMessagesToMillau;
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@

//! Westend-to-Millau headers sync entrypoint.

use crate::cli::bridge::{CliBridgeBase, RelayToRelayHeadersCliBridge};
use substrate_relay_helper::finality::{
engine::Grandpa as GrandpaFinalityEngine, DirectSubmitGrandpaFinalityProofCallBuilder,
SubstrateFinalitySyncPipeline,
Expand All @@ -37,3 +38,15 @@ impl SubstrateFinalitySyncPipeline for WestendFinalityToMillau {
>;
type TransactionSignScheme = relay_millau_client::Millau;
}

//// `Westend` to `Millau` bridge definition.
pub struct WestendToMillauCliBridge {}

impl CliBridgeBase for WestendToMillauCliBridge {
type Source = relay_westend_client::Westend;
type Target = relay_millau_client::Millau;
}

impl RelayToRelayHeadersCliBridge for WestendToMillauCliBridge {
type Finality = WestendFinalityToMillau;
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@

//! Westend-to-Millau parachains sync entrypoint.

use crate::cli::bridge::{CliBridgeBase, ParachainToRelayHeadersCliBridge};
use parachains_relay::ParachainsPipeline;
use relay_millau_client::Millau;
use relay_westend_client::{Westend, Westmint};
Expand Down Expand Up @@ -50,3 +51,17 @@ pub type WestendParachainsToMillauSubmitParachainHeadsCallBuilder =
millau_runtime::Runtime,
millau_runtime::WithWestendParachainsInstance,
>;

//// `WestendParachain` to `Millau` bridge definition.
pub struct WestmintToMillauCliBridge {}

impl ParachainToRelayHeadersCliBridge for WestmintToMillauCliBridge {
type SourceRelay = Westend;
type ParachainFinality = WestendParachainsToMillau;
type RelayFinality = crate::chains::westend_headers_to_millau::WestendFinalityToMillau;
}

impl CliBridgeBase for WestmintToMillauCliBridge {
type Source = Westmint;
type Target = Millau;
}
103 changes: 0 additions & 103 deletions bridges/relays/bin-substrate/src/cli/bridge.rs
Original file line number Diff line number Diff line change
Expand Up @@ -111,106 +111,3 @@ pub trait MessagesCliBridge: CliBridgeBase {
RelayStrategy = MixStrategy,
>;
}

//// `Millau` to `Rialto` bridge definition.
pub struct MillauToRialtoCliBridge {}

impl CliBridgeBase for MillauToRialtoCliBridge {
type Source = relay_millau_client::Millau;
type Target = relay_rialto_client::Rialto;
}

impl RelayToRelayHeadersCliBridge for MillauToRialtoCliBridge {
type Finality = crate::chains::millau_headers_to_rialto::MillauFinalityToRialto;
}

impl MessagesCliBridge for MillauToRialtoCliBridge {
const ESTIMATE_MESSAGE_FEE_METHOD: &'static str =
bp_rialto::TO_RIALTO_ESTIMATE_MESSAGE_FEE_METHOD;
type MessagesLane = crate::chains::millau_messages_to_rialto::MillauMessagesToRialto;
}

//// `Rialto` to `Millau` bridge definition.
pub struct RialtoToMillauCliBridge {}

impl CliBridgeBase for RialtoToMillauCliBridge {
type Source = relay_rialto_client::Rialto;
type Target = relay_millau_client::Millau;
}

impl RelayToRelayHeadersCliBridge for RialtoToMillauCliBridge {
type Finality = crate::chains::rialto_headers_to_millau::RialtoFinalityToMillau;
}

impl MessagesCliBridge for RialtoToMillauCliBridge {
const ESTIMATE_MESSAGE_FEE_METHOD: &'static str =
bp_millau::TO_MILLAU_ESTIMATE_MESSAGE_FEE_METHOD;
type MessagesLane = crate::chains::rialto_messages_to_millau::RialtoMessagesToMillau;
}

//// `Westend` to `Millau` bridge definition.
pub struct WestendToMillauCliBridge {}

impl CliBridgeBase for WestendToMillauCliBridge {
type Source = relay_westend_client::Westend;
type Target = relay_millau_client::Millau;
}

impl RelayToRelayHeadersCliBridge for WestendToMillauCliBridge {
type Finality = crate::chains::westend_headers_to_millau::WestendFinalityToMillau;
}

//// `Millau` to `RialtoParachain` bridge definition.
pub struct MillauToRialtoParachainCliBridge {}

impl CliBridgeBase for MillauToRialtoParachainCliBridge {
type Source = relay_millau_client::Millau;
type Target = relay_rialto_parachain_client::RialtoParachain;
}

impl RelayToRelayHeadersCliBridge for MillauToRialtoParachainCliBridge {
type Finality =
crate::chains::millau_headers_to_rialto_parachain::MillauFinalityToRialtoParachain;
}

impl MessagesCliBridge for MillauToRialtoParachainCliBridge {
const ESTIMATE_MESSAGE_FEE_METHOD: &'static str =
bp_rialto_parachain::TO_RIALTO_PARACHAIN_ESTIMATE_MESSAGE_FEE_METHOD;
type MessagesLane =
crate::chains::millau_messages_to_rialto_parachain::MillauMessagesToRialtoParachain;
}

//// `RialtoParachain` to `Millau` bridge definition.
pub struct RialtoParachainToMillauCliBridge {}

impl CliBridgeBase for RialtoParachainToMillauCliBridge {
type Source = relay_rialto_parachain_client::RialtoParachain;
type Target = relay_millau_client::Millau;
}

impl ParachainToRelayHeadersCliBridge for RialtoParachainToMillauCliBridge {
type SourceRelay = relay_rialto_client::Rialto;
type ParachainFinality = crate::chains::rialto_parachains_to_millau::RialtoParachainsToMillau;
type RelayFinality = crate::chains::rialto_headers_to_millau::RialtoFinalityToMillau;
}

impl MessagesCliBridge for RialtoParachainToMillauCliBridge {
const ESTIMATE_MESSAGE_FEE_METHOD: &'static str =
bp_millau::TO_MILLAU_ESTIMATE_MESSAGE_FEE_METHOD;
type MessagesLane =
crate::chains::rialto_parachain_messages_to_millau::RialtoParachainMessagesToMillau;
}

//// `WestendParachain` to `Millau` bridge definition.
pub struct WestmintToMillauCliBridge {}

impl ParachainToRelayHeadersCliBridge for WestmintToMillauCliBridge {
type SourceRelay = relay_westend_client::Westend;
type ParachainFinality = crate::chains::westend_parachains_to_millau::WestendParachainsToMillau;
type RelayFinality = crate::chains::westend_headers_to_millau::WestendFinalityToMillau;
}

impl CliBridgeBase for WestmintToMillauCliBridge {
type Source = relay_westend_client::Westmint;
type Target = relay_millau_client::Millau;
}
18 changes: 13 additions & 5 deletions bridges/relays/bin-substrate/src/cli/estimate_fee.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,19 @@
// You should have received a copy of the GNU General Public License
// along with Parity Bridges Common. If not, see <http://www.gnu.org/licenses/>.

use crate::cli::{
bridge::{FullBridge, MessagesCliBridge, *},
chain_schema::*,
relay_headers_and_messages::CONVERSION_RATE_ALLOWED_DIFFERENCE_RATIO,
Balance, HexBytes, HexLaneId,
use crate::{
chains::{
millau_headers_to_rialto::MillauToRialtoCliBridge,
millau_headers_to_rialto_parachain::MillauToRialtoParachainCliBridge,
rialto_headers_to_millau::RialtoToMillauCliBridge,
rialto_parachains_to_millau::RialtoParachainToMillauCliBridge,
},
cli::{
bridge::{FullBridge, MessagesCliBridge},
chain_schema::*,
relay_headers_and_messages::CONVERSION_RATE_ALLOWED_DIFFERENCE_RATIO,
Balance, HexBytes, HexLaneId,
},
};
use async_trait::async_trait;
use bp_runtime::BalanceOf;
Expand Down
12 changes: 7 additions & 5 deletions bridges/relays/bin-substrate/src/cli/init_bridge.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,14 @@

use async_trait::async_trait;

use crate::cli::{
bridge::{
CliBridgeBase, MillauToRialtoCliBridge, MillauToRialtoParachainCliBridge,
RialtoToMillauCliBridge, WestendToMillauCliBridge,
use crate::{
chains::{
millau_headers_to_rialto::MillauToRialtoCliBridge,
millau_headers_to_rialto_parachain::MillauToRialtoParachainCliBridge,
rialto_headers_to_millau::RialtoToMillauCliBridge,
westend_headers_to_millau::WestendToMillauCliBridge,
},
chain_schema::*,
cli::{bridge::CliBridgeBase, chain_schema::*},
};
use bp_runtime::Chain as ChainBase;
use codec::Encode;
Expand Down
6 changes: 6 additions & 0 deletions bridges/relays/bin-substrate/src/cli/relay_headers.rs
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,12 @@ use sp_core::Pair;
use structopt::StructOpt;
use strum::{EnumString, EnumVariantNames, VariantNames};

use crate::chains::{
millau_headers_to_rialto::MillauToRialtoCliBridge,
millau_headers_to_rialto_parachain::MillauToRialtoParachainCliBridge,
rialto_headers_to_millau::RialtoToMillauCliBridge,
westend_headers_to_millau::WestendToMillauCliBridge,
};
use relay_utils::metrics::{GlobalMetrics, StandaloneMetric};
use substrate_relay_helper::finality::SubstrateFinalitySyncPipeline;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,12 +38,16 @@ use relay_to_parachain::*;
use relay_to_relay::*;

use crate::{
chains::{
millau_headers_to_rialto::MillauToRialtoCliBridge,
millau_headers_to_rialto_parachain::MillauToRialtoParachainCliBridge,
rialto_headers_to_millau::RialtoToMillauCliBridge,
rialto_parachains_to_millau::RialtoParachainToMillauCliBridge,
},
cli::{
bridge::{
CliBridgeBase, MessagesCliBridge, MillauToRialtoCliBridge,
MillauToRialtoParachainCliBridge, ParachainToRelayHeadersCliBridge,
RelayToRelayHeadersCliBridge, RialtoParachainToMillauCliBridge,
RialtoToMillauCliBridge,
CliBridgeBase, MessagesCliBridge, ParachainToRelayHeadersCliBridge,
RelayToRelayHeadersCliBridge,
},
chain_schema::*,
relay_messages::RelayerMode,
Expand Down
6 changes: 6 additions & 0 deletions bridges/relays/bin-substrate/src/cli/relay_messages.rs
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,12 @@ use sp_core::Pair;
use structopt::StructOpt;
use strum::{EnumString, EnumVariantNames, VariantNames};

use crate::chains::{
millau_headers_to_rialto::MillauToRialtoCliBridge,
millau_headers_to_rialto_parachain::MillauToRialtoParachainCliBridge,
rialto_headers_to_millau::RialtoToMillauCliBridge,
rialto_parachains_to_millau::RialtoParachainToMillauCliBridge,
};
use messages_relay::relay_strategy::MixStrategy;
use relay_substrate_client::{AccountIdOf, AccountKeyPairOf, BalanceOf, TransactionSignScheme};
use substrate_relay_helper::{messages_lane::MessagesRelayParams, TransactionParams};
Expand Down
13 changes: 5 additions & 8 deletions bridges/relays/bin-substrate/src/cli/relay_parachains.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,10 @@
// You should have received a copy of the GNU General Public License
// along with Parity Bridges Common. If not, see <http://www.gnu.org/licenses/>.

use crate::chains::{
rialto_parachains_to_millau::RialtoParachainToMillauCliBridge,
westend_parachains_to_millau::WestmintToMillauCliBridge,
};
use async_trait::async_trait;
use bp_polkadot_core::parachains::ParaId;
use parachains_relay::parachains_loop::{ParachainSyncParams, SourceClient, TargetClient};
Expand All @@ -25,14 +29,7 @@ use substrate_relay_helper::{
TransactionParams,
};

use crate::cli::{
bridge::{
ParachainToRelayHeadersCliBridge, RialtoParachainToMillauCliBridge,
WestmintToMillauCliBridge,
},
chain_schema::*,
PrometheusParams,
};
use crate::cli::{bridge::ParachainToRelayHeadersCliBridge, chain_schema::*, PrometheusParams};

/// Start parachain heads relayer process.
#[derive(StructOpt)]
Expand Down
Loading

0 comments on commit 97b47ee

Please sign in to comment.