From b9a2573fe547825ce5b5a280a190ae55863e1e74 Mon Sep 17 00:00:00 2001 From: Hugo Trentesaux <hugo@trentesaux.fr> Date: Mon, 19 Jun 2023 16:58:13 +0200 Subject: [PATCH] refac calls --- src/commands/smith.rs | 57 ++++++++++++------------------------------- 1 file changed, 16 insertions(+), 41 deletions(-) diff --git a/src/commands/smith.rs b/src/commands/smith.rs index 1a270f3..3e1134b 100644 --- a/src/commands/smith.rs +++ b/src/commands/smith.rs @@ -172,63 +172,38 @@ pub async fn go_online(data: &Data) -> Result<(), GcliError> { )); } - let progress = data - .client() - .tx() - .sign_and_submit_then_watch( - &runtime::tx().authority_members().go_online(), - &PairSigner::new(data.keypair()), - BaseExtrinsicParamsBuilder::new(), - ) - .await?; - - if data.args.no_wait { - return Ok(()); - } - let events = track_progress(progress).await?; - if let Some(e) = events.find_first::<runtime::authority_members::events::MemberGoOnline>()? { - println!("{e:?}"); - } - Ok(()) + submit_call_and_look_event::< + runtime::authority_members::events::MemberGoOnline, + StaticTxPayload<runtime::authority_members::calls::GoOnline>, + >(data, &runtime::tx().authority_members().go_online()) + .await.map_err(|e| e.into()) } /// claim smith membership pub async fn claim_smith_membership(data: &Data) -> Result<(), subxt::Error> { submit_call_and_look_event::< runtime::smith_membership::events::MembershipAcquired, - StaticTxPayload< runtime::smith_membership::calls::ClaimMembership>, - >(data, &runtime::tx().smith_membership().claim_membership()).await + StaticTxPayload<runtime::smith_membership::calls::ClaimMembership>, + >(data, &runtime::tx().smith_membership().claim_membership()) + .await } /// renew smith membership pub async fn renew_smith_membership(data: &Data) -> Result<(), subxt::Error> { submit_call_and_look_event::< runtime::smith_membership::events::MembershipRenewed, - StaticTxPayload< runtime::smith_membership::calls::RenewMembership>, - >(data, &runtime::tx().smith_membership().renew_membership()).await + StaticTxPayload<runtime::smith_membership::calls::RenewMembership>, + >(data, &runtime::tx().smith_membership().renew_membership()) + .await } /// submit go_offline pub async fn go_offline(data: &Data) -> Result<(), subxt::Error> { - let progress = data - .client() - .tx() - .sign_and_submit_then_watch( - &runtime::tx().authority_members().go_offline(), - &PairSigner::new(data.keypair()), - BaseExtrinsicParamsBuilder::new(), - ) - .await?; - - if data.args.no_wait { - return Ok(()); - } - let events = track_progress(progress).await?; - if let Some(e) = events.find_first::<runtime::authority_members::events::MemberGoOffline>()? { - println!("{e:?}"); - } - - Ok(()) + submit_call_and_look_event::< + runtime::authority_members::events::MemberGoOffline, + StaticTxPayload<runtime::authority_members::calls::GoOffline>, + >(data, &runtime::tx().authority_members().go_offline()) + .await } /// get online authorities -- GitLab