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,
|
ExecuteMsg,
|
||||||
ExternalIdResponse,
|
ExternalIdResponse,
|
||||||
InstantiateMsg,
|
InstantiateMsg,
|
||||||
|
IsVaaRedeemedResponse,
|
||||||
MigrateMsg,
|
MigrateMsg,
|
||||||
QueryMsg,
|
QueryMsg,
|
||||||
TransferInfoResponse,
|
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::TransferInfo { vaa } => to_binary(&query_transfer_info(deps, env, &vaa)?),
|
||||||
QueryMsg::ExternalId { external_id } => to_binary(&query_external_id(deps, external_id)?),
|
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 {
|
fn is_governance_emitter(cfg: &ConfigInfo, emitter_chain: u16, emitter_address: &[u8]) -> bool {
|
||||||
cfg.gov_chain == emitter_chain && cfg.gov_address == emitter_address
|
cfg.gov_chain == emitter_chain && cfg.gov_address == emitter_address
|
||||||
}
|
}
|
||||||
|
|
|
@ -87,6 +87,7 @@ pub enum QueryMsg {
|
||||||
WrappedRegistry { chain: u16, address: Binary },
|
WrappedRegistry { chain: u16, address: Binary },
|
||||||
TransferInfo { vaa: Binary },
|
TransferInfo { vaa: Binary },
|
||||||
ExternalId { external_id: Binary },
|
ExternalId { external_id: Binary },
|
||||||
|
IsVaaRedeemed { vaa: Binary },
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
|
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
|
||||||
|
@ -112,3 +113,9 @@ pub struct TransferInfoResponse {
|
||||||
pub struct ExternalIdResponse {
|
pub struct ExternalIdResponse {
|
||||||
pub token_id: TokenId,
|
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