juno_querier/
oracle_querier.rs1use schemars::JsonSchema;
2use serde::{Deserialize, Serialize};
3
4use cosmwasm_std::{CustomQuery, Decimal};
5
6#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
7pub struct InstantiateMsg {}
8
9#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
10#[serde(rename_all = "snake_case")]
11pub enum ExecuteMsg {
12 SetExchangeRate { denom: String },
13}
14
15#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
16#[serde(rename_all = "snake_case")]
17pub enum QueryMsg {
18 ExchangeRate { denom: String },
19 ExchangeRateStarGate { address: String, denom: String },
20}
21
22#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
23#[serde(rename_all = "snake_case")]
24pub enum UltraQuery {
25 Oracle(OracleQuery),
26}
27
28impl CustomQuery for UltraQuery {}
29
30#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
31#[serde(rename_all = "snake_case")]
32pub enum OracleQuery {
33 ExchangeRate { denom: String },
35 }
37
38#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
39pub struct ExchangeRateResponse {
40 pub rate: Decimal,
41}
42
43#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
44pub struct QueryBalanceRequest {
45 pub address: String,
46 pub denom: String,
47}
48
49#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
50pub struct MigrateMsg {}