Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions bridges/modules/xcm-bridge-router/src/impls.rs
Original file line number Diff line number Diff line change
Expand Up @@ -74,9 +74,9 @@ impl<T: Config<I>, I: 'static> bp_xcm_bridge::LocalXcmChannelManager<BridgeIdOf<
/// `E` exporter supports bridging. This adapter acts as an [`ExporterFor`], for example, for the
/// [`xcm_builder::SovereignPaidRemoteExporter`], enabling it to compute message and/or dynamic fees
/// using a fee factor.
pub struct ViaRemoteBridgeHubExporter<T, I, E, BNF, BHLF>(PhantomData<(T, I, E, BNF, BHLF)>);
pub struct ViaRemoteBridgeExporter<T, I, E, BNF, BHLF>(PhantomData<(T, I, E, BNF, BHLF)>);
impl<T: Config<I>, I: 'static, E, BridgedNetworkIdFilter, BridgeHubLocationFilter> ExporterFor
for ViaRemoteBridgeHubExporter<T, I, E, BridgedNetworkIdFilter, BridgeHubLocationFilter>
for ViaRemoteBridgeExporter<T, I, E, BridgedNetworkIdFilter, BridgeHubLocationFilter>
where
E: ExporterFor,
BridgedNetworkIdFilter: Get<Option<NetworkId>>,
Expand Down Expand Up @@ -193,8 +193,8 @@ where
/// supports routing. This adapter can be used, for example, as a wrapper over
/// [`xcm_builder::LocalExporter`], enabling it to compute message and/or dynamic fees using a
/// fee factor.
pub struct ViaLocalBridgeHubExporter<T, I, E>(PhantomData<(T, I, E)>);
impl<T: Config<I>, I: 'static, E: SendXcm> SendXcm for ViaLocalBridgeHubExporter<T, I, E> {
pub struct ViaLocalBridgeExporter<T, I, E>(PhantomData<(T, I, E)>);
impl<T: Config<I>, I: 'static, E: SendXcm> SendXcm for ViaLocalBridgeExporter<T, I, E> {
type Ticket = E::Ticket;

fn validate(
Expand Down
8 changes: 4 additions & 4 deletions bridges/modules/xcm-bridge-router/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -39,21 +39,21 @@
//!
//! ## Usage
//!
//! This pallet provides several implementations, such as `ViaLocalBridgeHubExporter` and
//! `ViaRemoteBridgeHubExporter`, which can expose or access these features.
//! This pallet provides several implementations, such as `ViaLocalBridgeExporter` and
//! `ViaRemoteBridgeExporter`, which can expose or access these features.
//!
//! This router can be used in two main scenarios, depending on where the router and message
//! exporter (e.g., `pallet_xcm_bridge_hub` or another pallet with an `ExportXcm` implementation)
//! are deployed:
//!
//! ### On the Same Chain as the Message Exporter
//! In this setup, the router directly calls an `ExportXcm` implementation. In this case,
//! `ViaLocalBridgeHubExporter` can be used as a wrapper with `T::MessageExporter`.
//! `ViaLocalBridgeExporter` can be used as a wrapper with `T::MessageExporter`.
//!
//! ### On a Different Chain than the Message Exporter
//! In this setup, we need to provide a `SendXcm` implementation for `T::MessageExporter`, which
//! sends `ExportMessage`. For example, `SovereignPaidRemoteExporter` can be used with
//! `ViaRemoteBridgeHubExporter`.
//! `ViaRemoteBridgeExporter`.
//!
//! **Note on Terminology**: When we refer to the bridge hub, we mean the chain that has the
//! `pallet-bridge-messages` with an `ExportXcm` implementation deployed, such as
Expand Down
2 changes: 1 addition & 1 deletion bridges/modules/xcm-bridge-router/src/mock.rs
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ impl pallet_xcm_bridge_router::Config<()> for TestRuntime {
LatestOrNoneForLocationVersionChecker<Equals<UnknownXcmVersionForRoutableLocation>>;

type MessageExporter = SovereignPaidRemoteExporter<
pallet_xcm_bridge_router::impls::ViaRemoteBridgeHubExporter<
pallet_xcm_bridge_router::impls::ViaRemoteBridgeExporter<
TestRuntime,
(),
NetworkExportTable<BridgeTable>,
Expand Down
6 changes: 3 additions & 3 deletions bridges/modules/xcm-bridge/src/mock.rs
Original file line number Diff line number Diff line change
Expand Up @@ -256,7 +256,7 @@ impl pallet_xcm_bridge_router::Config<XcmOverBridgeWrappedWithExportMessageRoute
// produced by `pallet_xcm_bridge_hub_router` is compatible with the `ExportXcm` implementation
// of `pallet_xcm_bridge_hub`.
type MessageExporter = SovereignPaidRemoteExporter<
pallet_xcm_bridge_router::impls::ViaRemoteBridgeHubExporter<
pallet_xcm_bridge_router::impls::ViaRemoteBridgeExporter<
TestRuntime,
// () - means `pallet_xcm_bridge_router::Config<()>`
(),
Expand All @@ -283,9 +283,9 @@ impl pallet_xcm_bridge_router::Config<XcmOverBridgeWrappedWithExportMessageRoute
pub type XcmOverBridgeByExportXcmRouterInstance = pallet_xcm_bridge_router::Instance2;
#[derive_impl(pallet_xcm_bridge_router::config_preludes::TestDefaultConfig)]
impl pallet_xcm_bridge_router::Config<XcmOverBridgeByExportXcmRouterInstance> for TestRuntime {
// We use `LocalExporter` with `ViaLocalBridgeHubExporter` here to test and ensure that
// We use `LocalExporter` with `ViaLocalBridgeExporter` here to test and ensure that
// `pallet_xcm_bridge_hub_router` can trigger directly `pallet_xcm_bridge_hub` as exporter.
type MessageExporter = pallet_xcm_bridge_router::impls::ViaLocalBridgeHubExporter<
type MessageExporter = pallet_xcm_bridge_router::impls::ViaLocalBridgeExporter<
TestRuntime,
XcmOverBridgeByExportXcmRouterInstance,
LocalExporter<XcmOverBridge, UniversalLocation>,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1000,7 +1000,7 @@ impl pallet_xcm_bridge_router::Config<ToWestendXcmRouterInstance> for Runtime {
// BridgeHub.
type MessageExporter = SovereignPaidRemoteExporter<
// `ExporterFor` wrapper handling dynamic fees for congestion.
pallet_xcm_bridge_router::impls::ViaRemoteBridgeHubExporter<
pallet_xcm_bridge_router::impls::ViaRemoteBridgeExporter<
Runtime,
ToWestendXcmRouterInstance,
NetworkExportTable<xcm_config::bridging::to_westend::BridgeTable>,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1047,7 +1047,7 @@ impl pallet_xcm_bridge_router::Config<ToRococoXcmRouterInstance> for Runtime {
// BridgeHub.
type MessageExporter = SovereignPaidRemoteExporter<
// `ExporterFor` wrapper handling dynamic fees for congestion.
pallet_xcm_bridge_router::impls::ViaRemoteBridgeHubExporter<
pallet_xcm_bridge_router::impls::ViaRemoteBridgeExporter<
Runtime,
ToRococoXcmRouterInstance,
NetworkExportTable<xcm_config::bridging::to_rococo::BridgeTable>,
Expand Down
Loading