architect_api/
misc.rs

1use rust_decimal::Decimal;
2use schemars::JsonSchema;
3use serde::{Deserialize, Serialize};
4
5#[derive(Clone, Debug, Serialize, Deserialize, JsonSchema)]
6#[cfg_attr(feature = "juniper", derive(juniper::GraphQLObject))]
7pub struct CoinInfo {
8    pub name: String,
9    pub symbol: String,
10    pub max_supply: Option<Decimal>,
11    pub circulating_supply: Option<Decimal>,
12    pub total_supply: Option<Decimal>,
13    pub infinite_supply: bool,
14    pub price: Option<Decimal>,
15    pub volume_24h: Option<Decimal>,
16    pub volume_change_24h: Option<Decimal>,
17    pub percent_change_1h: Option<Decimal>,
18    pub percent_change_24h: Option<Decimal>,
19    pub percent_change_7d: Option<Decimal>,
20    pub percent_change_30d: Option<Decimal>,
21    pub percent_change_60d: Option<Decimal>,
22    pub percent_change_90d: Option<Decimal>,
23    pub market_cap: Option<Decimal>,
24    pub fully_diluted_market_cap: Option<Decimal>,
25    pub tags: Vec<String>,
26}
27
28#[derive(
29    Clone, Debug, Hash, Eq, PartialEq, PartialOrd, Ord, Serialize, Deserialize, JsonSchema,
30)]
31#[cfg_attr(feature = "juniper", derive(juniper::GraphQLEnum))]
32pub enum CmeSecurityType {
33    CASH,
34    COMBO,
35    FRA,
36    FUT,
37    FWD,
38    IDX,
39    INDEX,
40    IRS,
41    OOC,
42    OOF,
43}
44
45#[derive(Clone, Debug, Serialize, Deserialize, JsonSchema)]
46#[serde(rename_all = "camelCase")]
47#[cfg_attr(feature = "juniper", derive(juniper::GraphQLObject))]
48pub struct CmeProductGroupInfo {
49    pub product_guid: Option<String>,
50    pub product_name: Option<String>,
51    pub security_type: CmeSecurityType,
52    pub clearing_symbol: Option<String>,
53    pub master_symbol: Option<String>,
54    pub exchange_clearing: Option<String>,
55    pub exchange_globex: Option<String>,
56    pub is_derived_block_eligible: Option<String>,
57    pub asset_class: Option<String>,
58    pub asset_sub_class: Option<String>,
59    pub sector: Option<String>,
60    pub sub_sector: Option<String>,
61    pub is_tas_product: Option<String>,
62    pub is_btic_product: Option<String>,
63    pub is_tam_product: Option<String>,
64    pub rfq_cross_eligible: Option<String>,
65    pub mass_quote_eligible: Option<String>,
66    pub daily_flag: Option<String>,
67    pub settle_px_ccy: Option<String>,
68    pub efr_eligible: Option<String>,
69    pub floor_put_symbol: Option<String>,
70    pub block_trade_eligible: Option<String>,
71    pub efp_eligible: Option<String>,
72    pub flex_eligible: Option<String>,
73    pub px_unit_of_measure_qty: Option<i32>,
74    pub negative_strike_eligible: Option<String>,
75    pub min_globex_ord_qty: Option<String>,
76    pub max_globex_ord_qty: Option<String>,
77    pub negative_px_eligible: Option<String>,
78    pub px_unit_of_measure: Option<String>,
79    pub trade_px_ccy: Option<String>,
80    pub floor_call_symbol: Option<String>,
81    pub ebf_eligible: Option<String>,
82    pub fractional: Option<String>,
83    pub globex_group_code: Option<String>,
84    pub itc_code: Option<String>,
85    pub price_band: Option<String>,
86    pub otc_eligible: Option<String>,
87    pub globex_gt_eligible: Option<String>,
88    pub px_quote_method: Option<String>,
89    pub last_updated: Option<String>,
90    pub market_segment_id: Option<i32>,
91    pub globex_match_algo: Option<String>,
92    pub ilink_eligible: Option<String>,
93    pub clearport_eligible: Option<String>,
94    pub unit_of_measure: Option<String>,
95    pub globex_eligible: Option<String>,
96    pub floor_eligible: Option<String>,
97    pub variable_qty_flag: Option<String>,
98    pub strategy_type: Option<String>,
99    pub assignment_method: Option<String>,
100    pub price_multiplier: Option<Decimal>,
101    pub main_fraction: Option<i32>,
102    pub unit_of_measure_qty: Option<Decimal>,
103    pub globex_product_code: Option<String>,
104    pub default_min_tick: Option<String>,
105    pub reduced_tick_notes: Option<String>,
106    pub min_qtrly_serial_tick: Option<String>,
107    pub min_outright_tick: Option<String>,
108    pub minimum_tick_note: Option<String>,
109    pub min_clearport_tick: Option<String>,
110    pub min_cabinet_tick_rules: Option<String>,
111    pub minimum_half_tick: Option<String>,
112    pub globex_min_tick: Option<String>,
113    pub min_clearport_floor_tick: Option<String>,
114    pub midcurve_tick_rules: Option<String>,
115    pub calendar_tick_rules: Option<String>,
116    pub floor_schedule: Option<String>,
117    pub std_trading_hours: Option<String>,
118    pub globex_schedule: Option<String>,
119    pub clearport_schedule: Option<String>,
120    pub tot_ltd: Option<String>,
121    pub tot_midcurve: Option<String>,
122    pub tot_quarterly: Option<String>,
123    pub tot_serial: Option<String>,
124    pub tot_clearport: Option<String>,
125    pub tot_globex: Option<String>,
126    pub tot_default: Option<String>,
127    pub tot_floor: Option<String>,
128    pub serial_listing_rules: Option<String>,
129    pub regular_listing_rules: Option<String>,
130    pub quarterly_listing_rules: Option<String>,
131    pub floor_listing_rules: Option<String>,
132    pub midcurve_options_rules: Option<String>,
133    pub default_listing_rules: Option<String>,
134    pub globex_listing_rules: Option<String>,
135    pub last_delivery_rules: Option<String>,
136    pub commodity_standards: Option<String>,
137    pub settle_method: Option<String>,
138    pub marker_stlmt_rules: Option<String>,
139    pub limit_rules: Option<String>,
140    pub days_or_hours: Option<String>,
141    pub reportable_positions: Option<String>,
142    pub price_quotation: Option<String>,
143    pub settlement_procedure: Option<String>,
144    pub exercise_style: Option<String>,
145    pub settlement_at_expiration: Option<String>,
146    pub strike_price_interval: Option<String>,
147    pub mdp3_channel: Option<String>,
148    pub globex_display_factor: Option<String>,
149    pub var_cab_px_high: Option<String>,
150    pub var_cab_px_low: Option<String>,
151    pub clearing_cab_px: Option<String>,
152    pub globex_cab_px: Option<String>,
153    pub is_synthetic_product: Option<String>,
154    pub itm_otm: Option<String>,
155    pub contrary_instructions_allowed: Option<String>,
156    pub settle_using_fixing_px: Option<String>,
157    pub settlement_type: Option<String>,
158    pub opt_style: Option<String>,
159    pub trading_cut_off_time: Option<String>,
160    pub is_taco_product: Option<String>,
161    pub exercise_style_american_european: Option<String>,
162    pub is_tmac_product: Option<String>,
163    pub clearing_org_id: Option<String>,
164    pub gc_basket_identifier: Option<String>,
165    pub globex_group_descr: Option<String>,
166    pub min_incremental_order: Option<String>,
167    pub par_or_money: Option<String>,
168    pub repo_year_days: Option<String>,
169    pub subtype: Option<String>,
170    pub valuation_method: Option<String>,
171    pub contract_notional_amount: Option<Decimal>,
172    pub rbt_eligible_ind: Option<String>,
173    pub dirty_price_tick: Option<String>,
174    pub dirty_price_rounding: Option<String>,
175    pub min_days_to_mat: Option<String>,
176    pub spread_pricing_convention: Option<String>,
177    pub is_pm_eligible: Option<String>,
178    pub fixing_time_zone: Option<String>,
179    pub settlement_locale: Option<String>,
180    pub trade_close_off_set: Option<String>,
181    pub on_sef: Option<String>,
182    pub price_precision: Option<String>,
183    pub on_mtf: Option<String>,
184    pub good_for_session: Option<String>,
185    pub fixing_source: Option<String>,
186    pub settl_ccy: Option<String>,
187    pub is_efix_product: Option<String>,
188    pub market_data: Option<String>,
189    pub fixed_payout: Option<f64>,
190    pub size_priority_qty: Option<String>,
191    pub top_eligible: Option<String>,
192    pub alt_globex_min_tick: Option<String>,
193    pub alt_globex_tick_constraint: Option<String>,
194    pub max_bid_ask_constraint: Option<String>,
195    pub alt_min_quote_life: Option<String>,
196    pub subfraction: Option<String>,
197    pub url: Option<String>,
198    pub category: Option<String>,
199    pub sub_category: Option<String>,
200}