Skip to content

Commit 0dcdec8

Browse files
committed
impl BatchCallBuilder for ()
1 parent 418d6e4 commit 0dcdec8

File tree

8 files changed

+40
-10
lines changed

8 files changed

+40
-10
lines changed

relays/bin-substrate/src/chains/bridge_hub_rococo_messages_to_bridge_hub_wococo.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,4 +59,7 @@ impl SubstrateMessageLane for BridgeHubRococoMessagesToBridgeHubWococoMessageLan
5959
BridgeHubRococoMessagesToBridgeHubWococoMessageLaneReceiveMessagesProofCallBuilder;
6060
type ReceiveMessagesDeliveryProofCallBuilder =
6161
BridgeHubRococoMessagesToBridgeHubWococoMessageLaneReceiveMessagesDeliveryProofCallBuilder;
62+
63+
type SourceBatchCallBuilder = ();
64+
type TargetBatchCallBuilder = ();
6265
}

relays/bin-substrate/src/chains/bridge_hub_wococo_messages_to_bridge_hub_rococo.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,4 +59,7 @@ impl SubstrateMessageLane for BridgeHubWococoMessagesToBridgeHubRococoMessageLan
5959
BridgeHubWococoMessagesToBridgeHubRococoMessageLaneReceiveMessagesProofCallBuilder;
6060
type ReceiveMessagesDeliveryProofCallBuilder =
6161
BridgeHubWococoMessagesToBridgeHubRococoMessageLaneReceiveMessagesDeliveryProofCallBuilder;
62+
63+
type SourceBatchCallBuilder = ();
64+
type TargetBatchCallBuilder = ();
6265
}

relays/bin-substrate/src/chains/millau_messages_to_rialto.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,4 +41,7 @@ impl SubstrateMessageLane for MillauMessagesToRialto {
4141
millau_runtime::Runtime,
4242
millau_runtime::WithRialtoMessagesInstance,
4343
>;
44+
45+
type SourceBatchCallBuilder = ();
46+
type TargetBatchCallBuilder = ();
4447
}

relays/bin-substrate/src/chains/millau_messages_to_rialto_parachain.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,4 +41,7 @@ impl SubstrateMessageLane for MillauMessagesToRialtoParachain {
4141
millau_runtime::Runtime,
4242
millau_runtime::WithRialtoParachainMessagesInstance,
4343
>;
44+
45+
type SourceBatchCallBuilder = ();
46+
type TargetBatchCallBuilder = ();
4447
}

relays/bin-substrate/src/chains/rialto_messages_to_millau.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,4 +41,7 @@ impl SubstrateMessageLane for RialtoMessagesToMillau {
4141
rialto_runtime::Runtime,
4242
rialto_runtime::WithMillauMessagesInstance,
4343
>;
44+
45+
type SourceBatchCallBuilder = ();
46+
type TargetBatchCallBuilder = ();
4447
}

relays/bin-substrate/src/chains/rialto_parachain_messages_to_millau.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,4 +41,7 @@ impl SubstrateMessageLane for RialtoParachainMessagesToMillau {
4141
rialto_parachain_runtime::Runtime,
4242
rialto_parachain_runtime::WithMillauMessagesInstance,
4343
>;
44+
45+
type SourceBatchCallBuilder = ();
46+
type TargetBatchCallBuilder = ();
4447
}

relays/bin-substrate/src/cli/relay_headers_and_messages/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ use crate::{
5959
declare_chain_cli_schema,
6060
};
6161
use bp_messages::LaneId;
62-
use bp_runtime::{BalanceOf, BlockNumberOf};
62+
use bp_runtime::BalanceOf;
6363
use relay_substrate_client::{
6464
AccountIdOf, AccountKeyPairOf, Chain, ChainWithBalances, ChainWithTransactions, Client,
6565
};

relays/lib-substrate-relay/src/messages_lane.rs

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -62,15 +62,6 @@ pub trait SubstrateMessageLane: 'static + Clone + Debug + Send + Sync {
6262
type TargetBatchCallBuilder: BatchCallBuilder<Self::TargetChain>;
6363
}
6464

65-
/// Batch call builder.
66-
pub trait BatchCallBuilder<C: Chain> {
67-
/// If `true`, then batch calls are supported at the chain.
68-
const BATCH_CALL_SUPPORTED: bool;
69-
70-
/// Create batch call from given calls vector.
71-
fn build_batch_call(calls: Vec<CallOf<C>>) -> CallOf<C>;
72-
}
73-
7465
/// Adapter that allows all `SubstrateMessageLane` to act as `MessageLane`.
7566
#[derive(Clone, Debug)]
7667
pub struct MessageLaneAdapter<P: SubstrateMessageLane> {
@@ -210,6 +201,27 @@ where
210201
.map_err(Into::into)
211202
}
212203

204+
/// Batch call builder.
205+
pub trait BatchCallBuilder<C: Chain> {
206+
/// If `true`, then batch calls are supported at the chain.
207+
const BATCH_CALL_SUPPORTED: bool;
208+
209+
/// Create batch call from given calls vector.
210+
fn build_batch_call(_calls: Vec<CallOf<C>>) -> CallOf<C>;
211+
}
212+
213+
impl<C: Chain> BatchCallBuilder<C> for () {
214+
const BATCH_CALL_SUPPORTED: bool = false;
215+
216+
fn build_batch_call(calls: Vec<CallOf<C>>) -> CallOf<C> {
217+
unreachable!(
218+
"only called if `BATCH_CALL_SUPPORTED` is true;\
219+
`BATCH_CALL_SUPPORTED` is false;\
220+
qed"
221+
)
222+
}
223+
}
224+
213225
/// Different ways of building `receive_messages_proof` calls.
214226
pub trait ReceiveMessagesProofCallBuilder<P: SubstrateMessageLane> {
215227
/// Given messages proof, build call of `receive_messages_proof` function of bridge

0 commit comments

Comments
 (0)