neutron_sdk/query/
token_factory.rs1use crate::{bindings::query::NeutronQuery, NeutronResult};
2use cosmwasm_std::Deps;
3use schemars::JsonSchema;
4use serde::{Deserialize, Serialize};
5
6#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
7#[serde(rename_all = "snake_case")]
8pub struct FullDenomResponse {
9 pub denom: String,
10}
11
12#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
13#[serde(rename_all = "snake_case")]
14pub struct DenomAdminResponse {
15 pub admin: String,
16}
17
18#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
19#[serde(rename_all = "snake_case")]
20pub struct BeforeSendHookResponse {
21 pub contract_addr: String,
22}
23
24pub fn query_full_denom(
25 deps: Deps<NeutronQuery>,
26 creator_addr: impl Into<String>,
27 subdenom: impl Into<String>,
28) -> NeutronResult<FullDenomResponse> {
29 let query = NeutronQuery::FullDenom {
30 creator_addr: creator_addr.into(),
31 subdenom: subdenom.into(),
32 };
33 Ok(deps.querier.query(&query.into())?)
34}
35
36pub fn query_denom_admin(
37 deps: Deps<NeutronQuery>,
38 subdenom: impl Into<String>,
39) -> NeutronResult<DenomAdminResponse> {
40 let query = NeutronQuery::DenomAdmin {
41 subdenom: subdenom.into(),
42 };
43 Ok(deps.querier.query(&query.into())?)
44}
45
46pub fn query_before_send_hook(
47 deps: Deps<NeutronQuery>,
48 denom: impl Into<String>,
49) -> NeutronResult<BeforeSendHookResponse> {
50 let query = NeutronQuery::BeforeSendHook {
51 denom: denom.into(),
52 };
53 Ok(deps.querier.query(&query.into())?)
54}