dry-run mode for init bridge command (#1690)

* `dry-run` mode for init bridge command

* fix clippy
This commit is contained in:
Branislav Kontur
2022-12-01 22:27:18 +01:00
committed by Bastian Köcher
parent 02ef3a1a25
commit 9cea69349f
3 changed files with 28 additions and 7 deletions
@@ -40,6 +40,7 @@ pub async fn initialize<
target_transactions_signer: TargetChain::AccountId,
target_signing_data: SignParam<TargetChain>,
prepare_initialize_transaction: F,
dry_run: bool,
) where
F: FnOnce(
TargetChain::Index,
@@ -54,6 +55,7 @@ pub async fn initialize<
target_transactions_signer,
target_signing_data,
prepare_initialize_transaction,
dry_run,
)
.await;
@@ -88,6 +90,7 @@ async fn do_initialize<
target_transactions_signer: TargetChain::AccountId,
target_signing_data: SignParam<TargetChain>,
prepare_initialize_transaction: F,
dry_run: bool,
) -> Result<
Option<TargetChain::Hash>,
Error<SourceChain::Hash, <SourceChain::Header as HeaderT>::Number>,
@@ -110,7 +113,9 @@ where
SourceChain::NAME,
TargetChain::NAME,
);
return Ok(None)
if !dry_run {
return Ok(None)
}
}
let initialization_data = E::prepare_initialization_data(source_client).await?;
@@ -127,7 +132,14 @@ where
target_transactions_signer,
target_signing_data,
move |_, transaction_nonce| {
prepare_initialize_transaction(transaction_nonce, initialization_data)
let tx = prepare_initialize_transaction(transaction_nonce, initialization_data);
if dry_run {
Err(SubstrateError::Custom(
"Not submitting extrinsic in `dry-run` mode!".to_string(),
))
} else {
tx
}
},
)
.await