injective_cosmwasm/oracle/
volatility.rs1use injective_math::FPDecimal;
2use schemars::JsonSchema;
3use serde::{Deserialize, Serialize};
4
5#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
6pub struct MetadataStatistics {
7 pub group_count: u32,
8 pub records_sample_size: u32,
9 pub mean: FPDecimal,
10 pub twap: FPDecimal,
11 pub first_timestamp: i64,
12 pub last_timestamp: i64,
13 pub min_price: FPDecimal,
14 pub max_price: FPDecimal,
15 pub median_price: FPDecimal,
16}
17
18#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
19pub struct TradeHistoryOptions {
20 pub trade_grouping_sec: u64,
21 pub max_age: u64,
22 pub include_raw_history: bool,
23 pub include_metadata: bool,
24}
25
26#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
27pub struct PriceRecord {
28 timestamp: i64,
29 price: FPDecimal,
30}
31
32#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
33pub struct TradeRecord {
34 timestamp: i64,
35 price: FPDecimal,
36 quantity: FPDecimal,
37}