diff --git a/src/commands/smith.rs b/src/commands/smith.rs index 1a270f3e943a0f6e3652a4143936986f48e893d3..3e1134ba92af9d7083e9806680ece7528b5b08fa 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