neutron_sdk/interchain_queries/v047/
queries.rs1pub use crate::interchain_queries::v045::queries::*;
4
5use crate::interchain_queries::v047::types::Delegations;
9use crate::{
10 bindings::query::NeutronQuery,
11 interchain_queries::{
12 queries::{check_query_type, get_registered_query, query_kv_result},
13 types::QueryType,
14 v047::types::{Balances, StdDelegation},
15 },
16 NeutronResult,
17};
18use cosmwasm_std::{Deps, Env};
19use schemars::JsonSchema;
20use serde::{Deserialize, Serialize};
21
22#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
23#[serde(rename_all = "snake_case")]
24pub struct BalanceResponse {
25 pub balances: Balances,
26 pub last_submitted_local_height: u64,
27}
28
29pub fn query_balance(
32 deps: Deps<NeutronQuery>,
33 _env: Env,
34 registered_query_id: u64,
35) -> NeutronResult<BalanceResponse> {
36 let registered_query = get_registered_query(deps, registered_query_id)?;
37
38 check_query_type(registered_query.registered_query.query_type, QueryType::KV)?;
39
40 let balances: Balances = query_kv_result(deps, registered_query_id)?;
41
42 Ok(BalanceResponse {
43 last_submitted_local_height: registered_query
44 .registered_query
45 .last_submitted_result_local_height,
46 balances,
47 })
48}
49
50#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
51#[serde(rename_all = "snake_case")]
52pub struct DelegatorDelegationsResponse {
53 pub delegations: Vec<StdDelegation>,
54 pub last_submitted_local_height: u64,
55}
56
57pub fn query_delegations(
60 deps: Deps<NeutronQuery>,
61 _env: Env,
62 registered_query_id: u64,
63) -> NeutronResult<DelegatorDelegationsResponse> {
64 let registered_query = get_registered_query(deps, registered_query_id)?;
65
66 check_query_type(registered_query.registered_query.query_type, QueryType::KV)?;
67
68 let delegations: Delegations = query_kv_result(deps, registered_query_id)?;
69
70 Ok(DelegatorDelegationsResponse {
71 delegations: delegations.delegations,
72 last_submitted_local_height: registered_query
73 .registered_query
74 .last_submitted_result_local_height,
75 })
76}