cosmwasm: Add is_vaa_redeemed query to token bridge
This commit is contained in:
parent
1d05da49e6
commit
d10072a33e
|
@ -77,6 +77,7 @@ use crate::{
|
|||
ExecuteMsg,
|
||||
ExternalIdResponse,
|
||||
InstantiateMsg,
|
||||
IsVaaRedeemedResponse,
|
||||
MigrateMsg,
|
||||
QueryMsg,
|
||||
TransferInfoResponse,
|
||||
|
@ -1456,6 +1457,7 @@ pub fn query(deps: Deps, env: Env, msg: QueryMsg) -> StdResult<Binary> {
|
|||
}
|
||||
QueryMsg::TransferInfo { vaa } => to_binary(&query_transfer_info(deps, env, &vaa)?),
|
||||
QueryMsg::ExternalId { external_id } => to_binary(&query_external_id(deps, external_id)?),
|
||||
QueryMsg::IsVaaRedeemed { vaa } => to_binary(&query_is_vaa_redeemed(deps, env, &vaa)?),
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1526,6 +1528,13 @@ fn query_transfer_info(deps: Deps, env: Env, vaa: &Binary) -> StdResult<Transfer
|
|||
}
|
||||
}
|
||||
|
||||
fn query_is_vaa_redeemed(deps: Deps, _env: Env, vaa: &Binary) -> StdResult<IsVaaRedeemedResponse> {
|
||||
let vaa = ParsedVAA::deserialize(vaa)?;
|
||||
Ok(IsVaaRedeemedResponse {
|
||||
is_redeemed: vaa_archive_check(deps.storage, vaa.hash.as_slice()),
|
||||
})
|
||||
}
|
||||
|
||||
fn is_governance_emitter(cfg: &ConfigInfo, emitter_chain: u16, emitter_address: &[u8]) -> bool {
|
||||
cfg.gov_chain == emitter_chain && cfg.gov_address == emitter_address
|
||||
}
|
||||
|
|
|
@ -87,6 +87,7 @@ pub enum QueryMsg {
|
|||
WrappedRegistry { chain: u16, address: Binary },
|
||||
TransferInfo { vaa: Binary },
|
||||
ExternalId { external_id: Binary },
|
||||
IsVaaRedeemed { vaa: Binary },
|
||||
}
|
||||
|
||||
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
|
||||
|
@ -112,3 +113,9 @@ pub struct TransferInfoResponse {
|
|||
pub struct ExternalIdResponse {
|
||||
pub token_id: TokenId,
|
||||
}
|
||||
|
||||
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
|
||||
#[serde(rename_all = "snake_case")]
|
||||
pub struct IsVaaRedeemedResponse {
|
||||
pub is_redeemed: bool,
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue