neutron_sdk/bindings/oracle/
query.rs1use crate::bindings::oracle::types::{CurrencyPair, QuotePrice};
2use schemars::JsonSchema;
3use serde::{Deserialize, Serialize};
4
5#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
6#[serde(rename_all = "snake_case")]
7pub enum OracleQuery {
8 GetAllCurrencyPairs {},
9 GetPrice { currency_pair: CurrencyPair },
10 GetPrices { currency_pair_ids: Vec<String> },
11}
12
13#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
14#[serde(rename_all = "snake_case")]
15pub struct GetPriceResponse {
16 pub price: QuotePrice,
19 pub nonce: u64,
21 pub decimals: u64,
25 #[serde(default)]
27 pub id: u64,
28}
29
30#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
31#[serde(rename_all = "snake_case")]
32pub struct GetPricesResponse {
33 pub prices: Vec<GetPriceResponse>,
34}
35
36#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
37#[serde(rename_all = "snake_case")]
38pub struct GetAllCurrencyPairsResponse {
39 pub currency_pairs: Vec<CurrencyPair>,
40}