1#[derive(serde::Serialize, serde::Deserialize)]
3#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4pub struct Instrument {
5 #[prost(string, tag = "1")]
7 pub id: ::prost::alloc::string::String,
8 #[prost(string, tag = "2")]
9 pub interval: ::prost::alloc::string::String,
10 #[prost(string, tag = "3")]
12 pub from: ::prost::alloc::string::String,
13 #[prost(string, tag = "4")]
14 pub to: ::prost::alloc::string::String,
15}
16#[derive(serde::Serialize, serde::Deserialize)]
17#[derive(Clone, PartialEq, ::prost::Message)]
18pub struct Instruments {
19 #[prost(message, repeated, tag = "1")]
20 pub instruments: ::prost::alloc::vec::Vec<Instrument>,
21}
22#[derive(serde::Serialize, serde::Deserialize)]
40#[derive(Clone, PartialEq, ::prost::Message)]
41pub struct QuoteTick {
42 #[prost(string, tag = "1")]
44 pub symbol: ::prost::alloc::string::String,
45 #[prost(double, tag = "2")]
46 pub price: f64,
47 #[prost(double, optional, tag = "3")]
49 pub change: ::core::option::Option<f64>,
50 #[prost(bool, tag = "4")]
52 pub regular: bool,
53}
54#[derive(serde::Serialize, serde::Deserialize)]
57#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
58pub struct InstrumentSearch {
59 #[prost(string, tag = "1")]
60 pub query: ::prost::alloc::string::String,
61 #[prost(string, optional, tag = "2")]
63 pub source: ::core::option::Option<::prost::alloc::string::String>,
64}
65#[derive(serde::Serialize, serde::Deserialize)]
66#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
67pub struct FetchRequest {
68 #[prost(string, tag = "1")]
69 pub instrument: ::prost::alloc::string::String,
70 #[prost(string, tag = "2")]
71 pub interval: ::prost::alloc::string::String,
72 #[prost(uint32, optional, tag = "3")]
73 pub days: ::core::option::Option<u32>,
74 #[prost(string, optional, tag = "4")]
75 pub source: ::core::option::Option<::prost::alloc::string::String>,
76}
77#[derive(serde::Serialize, serde::Deserialize)]
78#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
79pub struct CompareRequest {
80 #[prost(string, tag = "1")]
81 pub instrument: ::prost::alloc::string::String,
82 #[prost(string, tag = "2")]
83 pub interval: ::prost::alloc::string::String,
84 #[prost(string, optional, tag = "3")]
85 pub first: ::core::option::Option<::prost::alloc::string::String>,
86 #[prost(string, optional, tag = "4")]
87 pub second: ::core::option::Option<::prost::alloc::string::String>,
88 #[prost(uint32, optional, tag = "5")]
89 pub days: ::core::option::Option<u32>,
90}
91#[derive(serde::Serialize, serde::Deserialize)]
99#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
100pub struct DataFindingView {
101 #[prost(string, tag = "1")]
104 pub severity: ::prost::alloc::string::String,
105 #[prost(string, tag = "2")]
106 pub kind: ::prost::alloc::string::String,
107 #[prost(string, optional, tag = "3")]
108 pub at: ::core::option::Option<::prost::alloc::string::String>,
109 #[prost(string, tag = "4")]
110 pub detail: ::prost::alloc::string::String,
111}
112#[derive(serde::Serialize, serde::Deserialize)]
113#[derive(Clone, PartialEq, ::prost::Message)]
114pub struct DataLibraryView {
115 #[prost(string, tag = "1")]
117 pub directory: ::prost::alloc::string::String,
118 #[prost(message, repeated, tag = "2")]
119 pub instruments: ::prost::alloc::vec::Vec<InstrumentView>,
120}
121#[derive(serde::Serialize, serde::Deserialize)]
123#[derive(Clone, PartialEq, ::prost::Message)]
124pub struct FetchView {
125 #[prost(string, tag = "1")]
126 pub instrument: ::prost::alloc::string::String,
127 #[prost(string, tag = "2")]
130 pub source: ::prost::alloc::string::String,
131 #[prost(string, tag = "3")]
132 pub interval: ::prost::alloc::string::String,
133 #[prost(uint32, tag = "4")]
134 pub bars: u32,
135 #[prost(uint32, tag = "5")]
139 pub interpolated: u32,
140 #[prost(string, optional, tag = "6")]
141 pub from: ::core::option::Option<::prost::alloc::string::String>,
142 #[prost(string, optional, tag = "7")]
143 pub to: ::core::option::Option<::prost::alloc::string::String>,
144 #[prost(message, repeated, tag = "8")]
145 pub data_findings: ::prost::alloc::vec::Vec<DataFindingView>,
146 #[prost(string, optional, tag = "9")]
154 pub revision: ::core::option::Option<::prost::alloc::string::String>,
155 #[prost(bool, tag = "10")]
158 pub revised: bool,
159 #[prost(uint32, optional, tag = "11")]
167 pub dividends: ::core::option::Option<u32>,
168}
169#[derive(serde::Serialize, serde::Deserialize)]
170#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
171pub struct InstrumentView {
172 #[prost(string, tag = "1")]
173 pub id: ::prost::alloc::string::String,
174 #[prost(string, optional, tag = "2")]
176 pub from: ::core::option::Option<::prost::alloc::string::String>,
177 #[prost(string, optional, tag = "3")]
178 pub to: ::core::option::Option<::prost::alloc::string::String>,
179 #[prost(uint32, tag = "4")]
180 pub bars: u32,
181 #[prost(string, optional, tag = "5")]
185 pub fingerprint: ::core::option::Option<::prost::alloc::string::String>,
186}
187#[derive(serde::Serialize, serde::Deserialize)]
189#[derive(Clone, PartialEq, ::prost::Message)]
190pub struct MatchView {
191 #[prost(string, tag = "1")]
193 pub instrument: ::prost::alloc::string::String,
194 #[prost(string, tag = "2")]
195 pub symbol: ::prost::alloc::string::String,
196 #[prost(string, tag = "3")]
197 pub name: ::prost::alloc::string::String,
198 #[prost(double, optional, tag = "4")]
199 pub price: ::core::option::Option<f64>,
200 #[prost(double, optional, tag = "5")]
202 pub change: ::core::option::Option<f64>,
203 #[prost(bool, tag = "6")]
205 pub held: bool,
206}
207#[derive(serde::Serialize, serde::Deserialize)]
220#[derive(Clone, PartialEq, ::prost::Message)]
221pub struct QuoteView {
222 #[prost(string, tag = "1")]
223 pub instrument: ::prost::alloc::string::String,
224 #[prost(string, tag = "2")]
225 pub symbol: ::prost::alloc::string::String,
226 #[prost(double, optional, tag = "3")]
230 pub price: ::core::option::Option<f64>,
231 #[prost(double, optional, tag = "4")]
234 pub change: ::core::option::Option<f64>,
235 #[prost(bool, tag = "5")]
236 pub held: bool,
237}
238#[derive(serde::Serialize, serde::Deserialize)]
245#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
246pub struct SourceComparisonView {
247 #[prost(string, tag = "1")]
248 pub symbol: ::prost::alloc::string::String,
249 #[prost(string, tag = "2")]
250 pub interval: ::prost::alloc::string::String,
251 #[prost(string, tag = "3")]
252 pub first: ::prost::alloc::string::String,
253 #[prost(string, tag = "4")]
254 pub second: ::prost::alloc::string::String,
255 #[prost(uint32, tag = "5")]
256 pub first_bars: u32,
257 #[prost(uint32, tag = "6")]
258 pub second_bars: u32,
259 #[prost(uint32, tag = "7")]
261 pub shared: u32,
262 #[prost(uint32, tag = "8")]
266 pub only_first: u32,
267 #[prost(uint32, tag = "9")]
268 pub only_second: u32,
269 #[prost(string, tag = "10")]
270 pub summary: ::prost::alloc::string::String,
271 #[prost(bool, tag = "11")]
275 pub diverged: bool,
276 #[prost(string, optional, tag = "12")]
284 pub basis_mismatch: ::core::option::Option<::prost::alloc::string::String>,
285}
286#[derive(serde::Serialize, serde::Deserialize)]
288#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
289pub struct SourceView {
290 #[prost(string, tag = "1")]
291 pub id: ::prost::alloc::string::String,
292 #[prost(string, tag = "2")]
293 pub label: ::prost::alloc::string::String,
294 #[prost(string, tag = "3")]
297 pub venue: ::prost::alloc::string::String,
298 #[prost(bool, tag = "4")]
302 pub connected: bool,
303 #[prost(bool, tag = "5")]
306 pub needs_sign_in: bool,
307 #[prost(bool, tag = "6")]
316 pub needs_keys: bool,
317}
318#[derive(serde::Serialize, serde::Deserialize)]
325#[derive(Clone, PartialEq, ::prost::Message)]
326pub struct SourcesView {
327 #[prost(message, repeated, tag = "1")]
328 pub sources: ::prost::alloc::vec::Vec<SourceView>,
329}
330#[derive(serde::Serialize, serde::Deserialize)]
332#[derive(Clone, PartialEq, ::prost::Message)]
333pub struct MatchesView {
334 #[prost(message, repeated, tag = "1")]
335 pub matches: ::prost::alloc::vec::Vec<MatchView>,
336}
337#[derive(serde::Serialize, serde::Deserialize)]
339#[derive(Clone, PartialEq, ::prost::Message)]
340pub struct WatchlistView {
341 #[prost(message, repeated, tag = "1")]
342 pub rows: ::prost::alloc::vec::Vec<QuoteView>,
343}