From 30fc1880b467b50350099713912dab4c09bf584a Mon Sep 17 00:00:00 2001
From: Hugo Trentesaux <hugo@trentesaux.fr>
Date: Mon, 19 Jun 2023 16:54:27 +0200
Subject: [PATCH] refac claim membership

---
 src/commands/smith.rs | 23 ++++-------------------
 1 file changed, 4 insertions(+), 19 deletions(-)

diff --git a/src/commands/smith.rs b/src/commands/smith.rs
index 0e64606..1a270f3 100644
--- a/src/commands/smith.rs
+++ b/src/commands/smith.rs
@@ -194,25 +194,10 @@ pub async fn go_online(data: &Data) -> Result<(), GcliError> {
 
 /// claim smith membership
 pub async fn claim_smith_membership(data: &Data) -> Result<(), subxt::Error> {
-	let progress = data
-		.client()
-		.tx()
-		.sign_and_submit_then_watch(
-			&runtime::tx().smith_membership().claim_membership(),
-			&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::smith_membership::events::MembershipAcquired>()? {
-		println!("{e:?}");
-	}
-
-	Ok(())
+	submit_call_and_look_event::<
+		runtime::smith_membership::events::MembershipAcquired,
+		StaticTxPayload< runtime::smith_membership::calls::ClaimMembership>,
+	>(data, &runtime::tx().smith_membership().claim_membership()).await
 }
 
 /// renew smith membership
-- 
GitLab