From 7b4074276d185c8cf128d4a4720a6dd682984e58 Mon Sep 17 00:00:00 2001 From: David Craven Date: Tue, 11 Feb 2025 15:17:50 +0100 Subject: [PATCH] Show tx hash. (#1542) --- tc-cli/src/lib.rs | 6 ++++-- tc-cli/src/table.rs | 2 ++ tc-subxt/src/api/tasks.rs | 9 +++++++-- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/tc-cli/src/lib.rs b/tc-cli/src/lib.rs index 462f09774..97ea5d787 100644 --- a/tc-cli/src/lib.rs +++ b/tc-cli/src/lib.rs @@ -16,8 +16,8 @@ use tc_subxt::SubxtClient; use time_primitives::{ balance::BalanceFormatter, traits::IdentifyAccount, AccountId, Address, BatchId, BlockHash, BlockNumber, ChainName, ChainNetwork, ConnectorParams, Gateway, GatewayMessage, GmpEvent, - GmpEvents, GmpMessage, IConnectorAdmin, MemberStatus, MessageId, NetworkConfig, NetworkId, - PeerId, PublicKey, Route, ShardId, ShardStatus, TaskId, TssPublicKey, + GmpEvents, GmpMessage, Hash, IConnectorAdmin, MemberStatus, MessageId, NetworkConfig, + NetworkId, PeerId, PublicKey, Route, ShardId, ShardStatus, TaskId, TssPublicKey, }; use tokio::time::sleep; @@ -359,6 +359,7 @@ pub struct Batch { pub batch: BatchId, pub msg: GatewayMessage, pub task: TaskId, + pub tx: Option, } #[derive(Clone, Debug)] @@ -611,6 +612,7 @@ impl Tc { batch, msg: self.runtime.batch_message(batch).await?.context("invalid batch id")?, task: self.runtime.batch_task(batch).await?.context("invalid batch id")?, + tx: self.runtime.batch_tx_hash(batch).await?, }) } diff --git a/tc-cli/src/table.rs b/tc-cli/src/table.rs index 50f6fd6bf..5e8a6a5bb 100644 --- a/tc-cli/src/table.rs +++ b/tc-cli/src/table.rs @@ -239,6 +239,7 @@ impl IntoRow for Task { pub struct BatchEntry { batch: BatchId, task: TaskId, + tx: String, } impl IntoRow for Batch { @@ -248,6 +249,7 @@ impl IntoRow for Batch { Ok(BatchEntry { batch: self.batch, task: self.task, + tx: self.tx.map(hex::encode).unwrap_or_else(|| "pending".into()), }) } } diff --git a/tc-subxt/src/api/tasks.rs b/tc-subxt/src/api/tasks.rs index 0c7a07667..474f6fdd8 100644 --- a/tc-subxt/src/api/tasks.rs +++ b/tc-subxt/src/api/tasks.rs @@ -3,8 +3,8 @@ use crate::{metadata, SubxtClient}; use anyhow::Result; use futures::channel::oneshot; use time_primitives::{ - BatchId, ErrorMsg, GatewayMessage, GmpEvents, MessageId, NetworkId, PublicKey, ShardId, Task, - TaskId, TaskResult, + BatchId, ErrorMsg, GatewayMessage, GmpEvents, Hash, MessageId, NetworkId, PublicKey, ShardId, + Task, TaskId, TaskResult, }; impl SubxtClient { @@ -96,6 +96,11 @@ impl SubxtClient { Ok(self.client.storage().at_latest().await?.fetch(&storage_query).await?) } + pub async fn batch_tx_hash(&self, batch: BatchId) -> Result> { + let storage_query = metadata::storage().tasks().batch_tx_hash(batch); + Ok(self.client.storage().at_latest().await?.fetch(&storage_query).await?) + } + pub async fn message_received_task(&self, message: MessageId) -> Result> { let storage_query = metadata::storage().tasks().message_received_task_id(message); Ok(self.client.storage().at_latest().await?.fetch(&storage_query).await?)