From b2027c2c7b9da8ba9b61e9917b9df65a7b59f421 Mon Sep 17 00:00:00 2001 From: Hugo Trentesaux <hugo@trentesaux.fr> Date: Wed, 17 Jan 2024 11:58:07 +0100 Subject: [PATCH] listen promoted to smith event --- README.md | 8 ++++++++ src/commands/smith.rs | 25 ++++++++++++++++++++----- src/display.rs | 5 +++++ 3 files changed, 33 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 38eb3a8..742ffb1 100644 --- a/README.md +++ b/README.md @@ -73,4 +73,12 @@ Secret key format can be changed using `--secret-format` with the following valu - [x] add link/unlink account commands - [ ] migrate all xt to submit_call_and_look_event - [ ] add transfer with unit (ÄžD, UD...) +- [ ] add more runtime-info like cert count, sudo key... +- [ ] add more info on identity view like status, number certs emitted, received +- [ ] implement squid indexer to get cert list + tx history... +- [ ] +- [ ] +- [ ] +- [ ] +- [ ] - [ ] \ No newline at end of file diff --git a/src/commands/smith.rs b/src/commands/smith.rs index 6077cbd..682474c 100644 --- a/src/commands/smith.rs +++ b/src/commands/smith.rs @@ -289,9 +289,24 @@ pub async fn accept_invitation(data: &Data) -> Result<(), subxt::Error> { /// invite identity to join smith pub async fn certify_smith(data: &Data, target: IdtyId) -> Result<(), subxt::Error> { - submit_call_and_look_event::< - runtime::smith_members::events::CertificationReceived, - Payload<runtime::smith_members::calls::types::CertifySmith>, - >(data, &runtime::tx().smith_members().certify_smith(target)) - .await + // submit_call_and_look_event::< + // runtime::smith_members::events::CertificationReceived, + // Payload<runtime::smith_members::calls::types::CertifySmith>, + // >(data, &runtime::tx().smith_members().certify_smith(target)) + // .await + let progress = submit_call( + data, + &runtime::tx() + .smith_members() + .certify_smith(target), + ) + .await?; + if data.args.no_wait { + return Ok(()); + } + let events = track_progress(progress).await?; + // look for the expected event + look_event::<runtime::smith_members::events::CertificationReceived>(data, &events)?; + look_event::<runtime::smith_members::events::PromotedToSmith>(data, &events)?; + Ok(()) } diff --git a/src/display.rs b/src/display.rs index d00036a..cad12ec 100644 --- a/src/display.rs +++ b/src/display.rs @@ -75,6 +75,11 @@ impl DisplayEvent for runtime::smith_members::events::CertificationReceived { format!("new smith certification {:?}", self) } } +impl DisplayEvent for runtime::smith_members::events::PromotedToSmith { + fn display(&self, _data: &Data) -> String { + format!("new smith promoted {:?}", self) + } +} impl DisplayEvent for runtime::identity::events::IdtyRemoved { fn display(&self, _data: &Data) -> String { format!("identity removed {:?}", self) -- GitLab