From 10ced110f91664e0d08a44df29f09db2513621c9 Mon Sep 17 00:00:00 2001 From: Hugo Trentesaux <hugo@trentesaux.fr> Date: Mon, 19 Jun 2023 16:28:02 +0200 Subject: [PATCH] add smith membership claim --- res/metadata.scale | Bin 131872 -> 131104 bytes src/commands/smith.rs | 30 +++++++++++++++++++++++++++++- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/res/metadata.scale b/res/metadata.scale index 3af1b14cabe3e2c9b3561e0ef21320d47923125d..5ca3e2273e371e7e0f42789281bf44892e42e55b 100644 GIT binary patch delta 1902 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 G=a~UO6>FFP delta 2496 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 N<Jawhe;Cg*0|4_rFXsRN diff --git a/src/commands/smith.rs b/src/commands/smith.rs index bc60a5d..da1a75b 100644 --- a/src/commands/smith.rs +++ b/src/commands/smith.rs @@ -14,6 +14,8 @@ pub enum Subcommand { Request { endpoint: String }, /// Emit a smith certification Cert { to: u32 }, + /// Claim smith membership + Claim, /// go online GoOnline, /// go offline @@ -41,7 +43,10 @@ pub async fn handle_command(data: Data, command: Subcommand) -> anyhow::Result<( let mut data = data.build_client().await?; match command { Subcommand::Request { endpoint } => { - dbg!(request_smith_membership(&data, endpoint).await)?; + request_smith_membership(&data, endpoint).await?; + } + Subcommand::Claim => { + claim_smith_membership(&data).await?; } Subcommand::GoOnline => { go_online(&data).await?; @@ -182,6 +187,29 @@ pub async fn go_online(data: &Data) -> Result<(), GcliError> { Ok(()) } +/// submit go_offline +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 go_offline pub async fn go_offline(data: &Data) -> Result<(), subxt::Error> { let progress = data -- GitLab