Skip to content

Commit c925c71

Browse files
committed
Revert "Make client code generic over Client type (#2135)"
This reverts commit 1a95216.
1 parent decfe88 commit c925c71

32 files changed

+269
-418
lines changed

relays/bin-substrate/src/bridges/kusama_polkadot/kusama_headers_to_bridge_hub_polkadot.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
use crate::cli::bridge::{CliBridgeBase, RelayToRelayHeadersCliBridge};
2020

2121
use async_trait::async_trait;
22-
use relay_substrate_client::{AccountKeyPairOf, Client};
22+
use relay_substrate_client::{AccountKeyPairOf, Client, ClientT};
2323
use substrate_relay_helper::{
2424
finality::{engine::Grandpa as GrandpaFinalityEngine, SubstrateFinalitySyncPipeline},
2525
TransactionParams,
@@ -45,7 +45,7 @@ impl SubstrateFinalitySyncPipeline for KusamaFinalityToBridgeHubPolkadot {
4545
type SubmitFinalityProofCallBuilder = KusamaFinalityToBridgeHubPolkadotCallBuilder;
4646

4747
async fn start_relay_guards(
48-
target_client: &impl Client<Self::TargetChain>,
48+
target_client: &Client<Self::TargetChain>,
4949
_transaction_params: &TransactionParams<AccountKeyPairOf<Self::TargetChain>>,
5050
enable_version_guard: bool,
5151
) -> relay_substrate_client::Result<()> {

relays/bin-substrate/src/bridges/kusama_polkadot/polkadot_headers_to_bridge_hub_kusama.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
use crate::cli::bridge::{CliBridgeBase, RelayToRelayHeadersCliBridge};
2020

2121
use async_trait::async_trait;
22-
use relay_substrate_client::{AccountKeyPairOf, Client};
22+
use relay_substrate_client::{AccountKeyPairOf, Client, ClientT};
2323
use substrate_relay_helper::{
2424
finality::{engine::Grandpa as GrandpaFinalityEngine, SubstrateFinalitySyncPipeline},
2525
TransactionParams,
@@ -45,7 +45,7 @@ impl SubstrateFinalitySyncPipeline for PolkadotFinalityToBridgeHubKusama {
4545
type SubmitFinalityProofCallBuilder = PolkadotFinalityToBridgeHubKusamaCallBuilder;
4646

4747
async fn start_relay_guards(
48-
target_client: &impl Client<Self::TargetChain>,
48+
target_client: &Client<Self::TargetChain>,
4949
_transaction_params: &TransactionParams<AccountKeyPairOf<Self::TargetChain>>,
5050
enable_version_guard: bool,
5151
) -> relay_substrate_client::Result<()> {

relays/bin-substrate/src/bridges/rococo_wococo/rococo_headers_to_bridge_hub_wococo.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
use crate::cli::bridge::{CliBridgeBase, RelayToRelayHeadersCliBridge};
2020

2121
use async_trait::async_trait;
22-
use relay_substrate_client::{AccountKeyPairOf, Client};
22+
use relay_substrate_client::{AccountKeyPairOf, Client, ClientT};
2323
use substrate_relay_helper::{
2424
finality::{engine::Grandpa as GrandpaFinalityEngine, SubstrateFinalitySyncPipeline},
2525
TransactionParams,
@@ -45,7 +45,7 @@ impl SubstrateFinalitySyncPipeline for RococoFinalityToBridgeHubWococo {
4545
type SubmitFinalityProofCallBuilder = RococoFinalityToBridgeHubWococoCallBuilder;
4646

4747
async fn start_relay_guards(
48-
target_client: &impl Client<Self::TargetChain>,
48+
target_client: &Client<Self::TargetChain>,
4949
_transaction_params: &TransactionParams<AccountKeyPairOf<Self::TargetChain>>,
5050
enable_version_guard: bool,
5151
) -> relay_substrate_client::Result<()> {

relays/bin-substrate/src/bridges/rococo_wococo/wococo_headers_to_bridge_hub_rococo.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
use crate::cli::bridge::{CliBridgeBase, RelayToRelayHeadersCliBridge};
2020

2121
use async_trait::async_trait;
22-
use relay_substrate_client::{AccountKeyPairOf, Client};
22+
use relay_substrate_client::{AccountKeyPairOf, Client, ClientT};
2323
use substrate_relay_helper::{
2424
finality::{engine::Grandpa as GrandpaFinalityEngine, SubstrateFinalitySyncPipeline},
2525
TransactionParams,
@@ -45,7 +45,7 @@ impl SubstrateFinalitySyncPipeline for WococoFinalityToBridgeHubRococo {
4545
type SubmitFinalityProofCallBuilder = WococoFinalityToBridgeHubRococoCallBuilder;
4646

4747
async fn start_relay_guards(
48-
target_client: &impl Client<Self::TargetChain>,
48+
target_client: &Client<Self::TargetChain>,
4949
_transaction_params: &TransactionParams<AccountKeyPairOf<Self::TargetChain>>,
5050
enable_version_guard: bool,
5151
) -> relay_substrate_client::Result<()> {

relays/bin-substrate/src/cli/chain_schema.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ macro_rules! declare_chain_connection_params_cli_schema {
111111
#[allow(dead_code)]
112112
pub async fn into_client<Chain: CliChain>(
113113
self,
114-
) -> anyhow::Result<$crate::cli::DefaultClient<Chain>> {
114+
) -> anyhow::Result<relay_substrate_client::Client<Chain>> {
115115
let chain_runtime_version = self
116116
.[<$chain_prefix _runtime_version>]
117117
.into_runtime_version(Chain::RUNTIME_VERSION)?;

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

-5
Original file line numberDiff line numberDiff line change
@@ -46,11 +46,6 @@ mod resubmit_transactions;
4646
/// The target that will be used when publishing logs related to this pallet.
4747
pub const LOG_TARGET: &str = "bridge";
4848

49-
/// Default Substrate client type that we are using. We'll use it all over the glue CLI code
50-
/// to avoid multiple level generic arguments and constraints. We still allow usage of other
51-
/// clients in the **core logic code**.
52-
pub type DefaultClient<C> = relay_substrate_client::RpcWithCachingClient<C>;
53-
5449
/// Parse relay CLI args.
5550
pub fn parse_args() -> Command {
5651
Command::from_args()

relays/bin-substrate/src/cli/register_parachain.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ use polkadot_runtime_common::{
2626
paras_registrar::Call as ParaRegistrarCall, slots::Call as ParaSlotsCall,
2727
};
2828
use polkadot_runtime_parachains::paras::ParaLifecycle;
29-
use relay_substrate_client::{AccountIdOf, CallOf, Chain, Client, UnsignedTransaction};
29+
use relay_substrate_client::{AccountIdOf, CallOf, Chain, Client, ClientT, UnsignedTransaction};
3030
use relay_utils::{TrackedTransactionStatus, TransactionTracker};
3131
use rialto_runtime::SudoCall;
3232
use sp_core::{
@@ -230,7 +230,7 @@ impl RegisterParachain {
230230

231231
/// Wait until parachain state is changed.
232232
async fn wait_para_state<Relaychain: Chain>(
233-
relay_client: &impl Client<Relaychain>,
233+
relay_client: &Client<Relaychain>,
234234
para_state_key: &[u8],
235235
from_states: &[ParaLifecycle],
236236
to_state: ParaLifecycle,

relays/bin-substrate/src/cli/relay_headers.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ use crate::bridges::{
3636
},
3737
westend_millau::westend_headers_to_millau::WestendToMillauCliBridge,
3838
};
39-
use relay_substrate_client::Client;
39+
use relay_substrate_client::ClientT;
4040
use relay_utils::metrics::{GlobalMetrics, StandaloneMetric};
4141
use substrate_relay_helper::finality::SubstrateFinalitySyncPipeline;
4242

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

+4-8
Original file line numberDiff line numberDiff line change
@@ -64,15 +64,15 @@ use crate::{
6464
},
6565
chain_schema::*,
6666
relay_headers_and_messages::parachain_to_parachain::ParachainToParachainBridge,
67-
CliChain, DefaultClient, HexLaneId, PrometheusParams,
67+
CliChain, HexLaneId, PrometheusParams,
6868
},
6969
declare_chain_cli_schema,
7070
};
7171
use bp_messages::LaneId;
7272
use bp_runtime::BalanceOf;
7373
use relay_substrate_client::{
7474
AccountIdOf, AccountKeyPairOf, Chain, ChainWithBalances, ChainWithMessages,
75-
ChainWithTransactions, Parachain,
75+
ChainWithTransactions, Client, Parachain,
7676
};
7777
use relay_utils::metrics::MetricsParams;
7878
use sp_core::Pair;
@@ -130,7 +130,7 @@ impl<Left: ChainWithTransactions + CliChain, Right: ChainWithTransactions + CliC
130130
/// Parameters that are associated with one side of the bridge.
131131
pub struct BridgeEndCommonParams<Chain: ChainWithTransactions + CliChain> {
132132
/// Chain client.
133-
pub client: DefaultClient<Chain>,
133+
pub client: Client<Chain>,
134134
/// Transactions signer.
135135
pub sign: AccountKeyPairOf<Chain>,
136136
/// Transactions mortality.
@@ -178,7 +178,7 @@ where
178178
source_to_target_headers_relay: Arc<dyn OnDemandRelay<Source, Target>>,
179179
target_to_source_headers_relay: Arc<dyn OnDemandRelay<Target, Source>>,
180180
lane_id: LaneId,
181-
) -> MessagesRelayParams<Bridge::MessagesLane, DefaultClient<Source>, DefaultClient<Target>> {
181+
) -> MessagesRelayParams<Bridge::MessagesLane> {
182182
MessagesRelayParams {
183183
source_client: self.source.client.clone(),
184184
source_transaction_params: TransactionParams {
@@ -374,8 +374,6 @@ where
374374
for lane in lanes {
375375
let left_to_right_messages = substrate_relay_helper::messages_lane::run::<
376376
<Self::L2R as MessagesCliBridge>::MessagesLane,
377-
_,
378-
_,
379377
>(self.left_to_right().messages_relay_params(
380378
left_to_right_on_demand_headers.clone(),
381379
right_to_left_on_demand_headers.clone(),
@@ -387,8 +385,6 @@ where
387385

388386
let right_to_left_messages = substrate_relay_helper::messages_lane::run::<
389387
<Self::R2L as MessagesCliBridge>::MessagesLane,
390-
_,
391-
_,
392388
>(self.right_to_left().messages_relay_params(
393389
right_to_left_on_demand_headers.clone(),
394390
left_to_right_on_demand_headers.clone(),

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

+20-30
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,12 @@ use std::sync::Arc;
2020
use crate::cli::{
2121
bridge::{CliBridgeBase, MessagesCliBridge, ParachainToRelayHeadersCliBridge},
2222
relay_headers_and_messages::{Full2WayBridgeBase, Full2WayBridgeCommonParams},
23-
CliChain, DefaultClient,
23+
CliChain,
2424
};
2525
use bp_polkadot_core::parachains::ParaHash;
2626
use pallet_bridge_parachains::{RelayBlockHash, RelayBlockHasher, RelayBlockNumber};
2727
use relay_substrate_client::{
28-
AccountIdOf, AccountKeyPairOf, Chain, ChainWithTransactions, Client, Parachain,
28+
AccountIdOf, AccountKeyPairOf, Chain, ChainWithTransactions, Client, ClientT, Parachain,
2929
};
3030
use sp_core::Pair;
3131
use substrate_relay_helper::{
@@ -51,9 +51,9 @@ pub struct ParachainToParachainBridge<
5151
pub common:
5252
Full2WayBridgeCommonParams<<R2L as CliBridgeBase>::Target, <L2R as CliBridgeBase>::Target>,
5353
/// Client of the left relay chain.
54-
pub left_relay: DefaultClient<<L2R as ParachainToRelayHeadersCliBridge>::SourceRelay>,
54+
pub left_relay: Client<<L2R as ParachainToRelayHeadersCliBridge>::SourceRelay>,
5555
/// Client of the right relay chain.
56-
pub right_relay: DefaultClient<<R2L as ParachainToRelayHeadersCliBridge>::SourceRelay>,
56+
pub right_relay: Client<<R2L as ParachainToRelayHeadersCliBridge>::SourceRelay>,
5757

5858
/// Override for right_relay->left headers signer.
5959
pub right_headers_to_left_transaction_params:
@@ -233,33 +233,25 @@ where
233233
)
234234
.await?;
235235

236-
let left_relay_to_right_on_demand_headers = OnDemandHeadersRelay::<
237-
<L2R as ParachainToRelayHeadersCliBridge>::RelayFinality,
238-
_,
239-
_,
240-
>::new(
241-
self.left_relay.clone(),
242-
self.common.right.client.clone(),
243-
self.left_headers_to_right_transaction_params.clone(),
244-
self.common.shared.only_mandatory_headers,
245-
Some(self.common.metrics_params.clone()),
246-
);
247-
let right_relay_to_left_on_demand_headers = OnDemandHeadersRelay::<
248-
<R2L as ParachainToRelayHeadersCliBridge>::RelayFinality,
249-
_,
250-
_,
251-
>::new(
252-
self.right_relay.clone(),
253-
self.common.left.client.clone(),
254-
self.right_headers_to_left_transaction_params.clone(),
255-
self.common.shared.only_mandatory_headers,
256-
Some(self.common.metrics_params.clone()),
257-
);
236+
let left_relay_to_right_on_demand_headers =
237+
OnDemandHeadersRelay::<<L2R as ParachainToRelayHeadersCliBridge>::RelayFinality>::new(
238+
self.left_relay.clone(),
239+
self.common.right.client.clone(),
240+
self.left_headers_to_right_transaction_params.clone(),
241+
self.common.shared.only_mandatory_headers,
242+
Some(self.common.metrics_params.clone()),
243+
);
244+
let right_relay_to_left_on_demand_headers =
245+
OnDemandHeadersRelay::<<R2L as ParachainToRelayHeadersCliBridge>::RelayFinality>::new(
246+
self.right_relay.clone(),
247+
self.common.left.client.clone(),
248+
self.right_headers_to_left_transaction_params.clone(),
249+
self.common.shared.only_mandatory_headers,
250+
Some(self.common.metrics_params.clone()),
251+
);
258252

259253
let left_to_right_on_demand_parachains = OnDemandParachainsRelay::<
260254
<L2R as ParachainToRelayHeadersCliBridge>::ParachainFinality,
261-
_,
262-
_,
263255
>::new(
264256
self.left_relay.clone(),
265257
self.common.right.client.clone(),
@@ -268,8 +260,6 @@ where
268260
);
269261
let right_to_left_on_demand_parachains = OnDemandParachainsRelay::<
270262
<R2L as ParachainToRelayHeadersCliBridge>::ParachainFinality,
271-
_,
272-
_,
273263
>::new(
274264
self.right_relay.clone(),
275265
self.common.left.client.clone(),

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

+12-17
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,12 @@ use crate::cli::{
2323
RelayToRelayHeadersCliBridge,
2424
},
2525
relay_headers_and_messages::{Full2WayBridgeBase, Full2WayBridgeCommonParams},
26-
CliChain, DefaultClient,
26+
CliChain,
2727
};
2828
use bp_polkadot_core::parachains::ParaHash;
2929
use pallet_bridge_parachains::{RelayBlockHash, RelayBlockHasher, RelayBlockNumber};
3030
use relay_substrate_client::{
31-
AccountIdOf, AccountKeyPairOf, Chain, ChainWithTransactions, Client, Parachain,
31+
AccountIdOf, AccountKeyPairOf, Chain, ChainWithTransactions, Client, ClientT, Parachain,
3232
};
3333
use sp_core::Pair;
3434
use substrate_relay_helper::{
@@ -53,7 +53,7 @@ pub struct RelayToParachainBridge<
5353
pub common:
5454
Full2WayBridgeCommonParams<<R2L as CliBridgeBase>::Target, <L2R as CliBridgeBase>::Target>,
5555
/// Client of the right relay chain.
56-
pub right_relay: DefaultClient<<R2L as ParachainToRelayHeadersCliBridge>::SourceRelay>,
56+
pub right_relay: Client<<R2L as ParachainToRelayHeadersCliBridge>::SourceRelay>,
5757

5858
/// Override for right_relay->left headers signer.
5959
pub right_headers_to_left_transaction_params:
@@ -216,28 +216,23 @@ where
216216
.await?;
217217

218218
let left_to_right_on_demand_headers =
219-
OnDemandHeadersRelay::<<L2R as RelayToRelayHeadersCliBridge>::Finality, _, _>::new(
219+
OnDemandHeadersRelay::<<L2R as RelayToRelayHeadersCliBridge>::Finality>::new(
220220
self.common.left.client.clone(),
221221
self.common.right.client.clone(),
222222
self.left_headers_to_right_transaction_params.clone(),
223223
self.common.shared.only_mandatory_headers,
224224
None,
225225
);
226-
let right_relay_to_left_on_demand_headers = OnDemandHeadersRelay::<
227-
<R2L as ParachainToRelayHeadersCliBridge>::RelayFinality,
228-
_,
229-
_,
230-
>::new(
231-
self.right_relay.clone(),
232-
self.common.left.client.clone(),
233-
self.right_headers_to_left_transaction_params.clone(),
234-
self.common.shared.only_mandatory_headers,
235-
Some(self.common.metrics_params.clone()),
236-
);
226+
let right_relay_to_left_on_demand_headers =
227+
OnDemandHeadersRelay::<<R2L as ParachainToRelayHeadersCliBridge>::RelayFinality>::new(
228+
self.right_relay.clone(),
229+
self.common.left.client.clone(),
230+
self.right_headers_to_left_transaction_params.clone(),
231+
self.common.shared.only_mandatory_headers,
232+
Some(self.common.metrics_params.clone()),
233+
);
237234
let right_to_left_on_demand_parachains = OnDemandParachainsRelay::<
238235
<R2L as ParachainToRelayHeadersCliBridge>::ParachainFinality,
239-
_,
240-
_,
241236
>::new(
242237
self.right_relay.clone(),
243238
self.common.left.client.clone(),

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

+3-3
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ use crate::cli::{
2222
relay_headers_and_messages::{Full2WayBridgeBase, Full2WayBridgeCommonParams},
2323
CliChain,
2424
};
25-
use relay_substrate_client::{AccountIdOf, AccountKeyPairOf, ChainWithTransactions, Client};
25+
use relay_substrate_client::{AccountIdOf, AccountKeyPairOf, ChainWithTransactions, ClientT};
2626
use sp_core::Pair;
2727
use substrate_relay_helper::{
2828
finality::SubstrateFinalitySyncPipeline,
@@ -168,15 +168,15 @@ where
168168
.await?;
169169

170170
let left_to_right_on_demand_headers =
171-
OnDemandHeadersRelay::<<L2R as RelayToRelayHeadersCliBridge>::Finality, _, _>::new(
171+
OnDemandHeadersRelay::<<L2R as RelayToRelayHeadersCliBridge>::Finality>::new(
172172
self.common.left.client.clone(),
173173
self.common.right.client.clone(),
174174
self.left_to_right_transaction_params.clone(),
175175
self.common.shared.only_mandatory_headers,
176176
None,
177177
);
178178
let right_to_left_on_demand_headers =
179-
OnDemandHeadersRelay::<<R2L as RelayToRelayHeadersCliBridge>::Finality, _, _>::new(
179+
OnDemandHeadersRelay::<<R2L as RelayToRelayHeadersCliBridge>::Finality>::new(
180180
self.common.right.client.clone(),
181181
self.common.left.client.clone(),
182182
self.right_to_left_transaction_params.clone(),

relays/bin-substrate/src/cli/relay_messages.rs

+15-17
Original file line numberDiff line numberDiff line change
@@ -79,24 +79,22 @@ where
7979
let target_sign = data.target_sign.to_keypair::<Self::Target>()?;
8080
let target_transactions_mortality = data.target_sign.transactions_mortality()?;
8181

82-
substrate_relay_helper::messages_lane::run::<Self::MessagesLane, _, _>(
83-
MessagesRelayParams {
84-
source_client,
85-
source_transaction_params: TransactionParams {
86-
signer: source_sign,
87-
mortality: source_transactions_mortality,
88-
},
89-
target_client,
90-
target_transaction_params: TransactionParams {
91-
signer: target_sign,
92-
mortality: target_transactions_mortality,
93-
},
94-
source_to_target_headers_relay: None,
95-
target_to_source_headers_relay: None,
96-
lane_id: data.lane.into(),
97-
metrics_params: data.prometheus_params.into_metrics_params()?,
82+
substrate_relay_helper::messages_lane::run::<Self::MessagesLane>(MessagesRelayParams {
83+
source_client,
84+
source_transaction_params: TransactionParams {
85+
signer: source_sign,
86+
mortality: source_transactions_mortality,
9887
},
99-
)
88+
target_client,
89+
target_transaction_params: TransactionParams {
90+
signer: target_sign,
91+
mortality: target_transactions_mortality,
92+
},
93+
source_to_target_headers_relay: None,
94+
target_to_source_headers_relay: None,
95+
lane_id: data.lane.into(),
96+
metrics_params: data.prometheus_params.into_metrics_params()?,
97+
})
10098
.await
10199
.map_err(|e| anyhow::format_err!("{}", e))
102100
}

0 commit comments

Comments
 (0)