diff --git a/contracts/provider/vault/src/contract.rs b/contracts/provider/vault/src/contract.rs index d576247a..1f98f1e5 100644 --- a/contracts/provider/vault/src/contract.rs +++ b/contracts/provider/vault/src/contract.rs @@ -18,7 +18,7 @@ use sylvia::{contract, schemars}; use crate::error::ContractError; use crate::msg::{ AccountClaimsResponse, AccountResponse, AllAccountsResponse, AllAccountsResponseItem, - AllTxsResponse, AllTxsResponseItem, ConfigResponse, LienInfo, StakingInitInfo, + AllTxsResponse, AllTxsResponseItem, ConfigResponse, LienInfo, StakingInitInfo, TxResponse, }; use crate::state::{Config, Lien, LocalStaking, UserInfo}; use crate::txs::{Tx, TxType, Txs}; @@ -393,6 +393,13 @@ impl VaultContract<'_> { Ok(resp) } + /// Queries a pending tx. + #[msg(query)] + fn pending_tx(&self, ctx: QueryCtx, tx_id: u64) -> Result { + let resp = self.pending.txs.load(ctx.deps.storage, tx_id)?; + Ok(resp) + } + /// Queries for all pending txs. /// Reports txs in descending order (newest first). /// `start_after` is the last tx id included in previous page diff --git a/contracts/provider/vault/src/msg.rs b/contracts/provider/vault/src/msg.rs index 6f8804cd..02c225b8 100644 --- a/contracts/provider/vault/src/msg.rs +++ b/contracts/provider/vault/src/msg.rs @@ -53,7 +53,8 @@ pub struct ConfigResponse { pub local_staking: String, } -pub type AllTxsResponseItem = crate::txs::Tx; +pub type TxResponse = crate::txs::Tx; +pub type AllTxsResponseItem = TxResponse; #[cw_serde] pub struct AllTxsResponse {