1#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2#[repr(i32)]
3pub enum IdentifierTypeProto {
4 UnknownIdentifierType = 0,
5 ExchTicker = 1,
6 Isin = 2,
7 Cusip = 3,
8 Osi = 4,
9 Figi = 5,
10 Cash = 50,
11}
12impl IdentifierTypeProto {
13 pub fn as_str_name(&self) -> &'static str {
18 match self {
19 IdentifierTypeProto::UnknownIdentifierType => "UNKNOWN_IDENTIFIER_TYPE",
20 IdentifierTypeProto::ExchTicker => "EXCH_TICKER",
21 IdentifierTypeProto::Isin => "ISIN",
22 IdentifierTypeProto::Cusip => "CUSIP",
23 IdentifierTypeProto::Osi => "OSI",
24 IdentifierTypeProto::Figi => "FIGI",
25 IdentifierTypeProto::Cash => "CASH",
26 }
27 }
28}
29#[derive(Clone, PartialEq, ::prost::Message)]
30pub struct IdentifierProto {
31 #[prost(string, tag = "1")]
32 pub object_class: ::prost::alloc::string::String,
33 #[prost(string, tag = "2")]
34 pub version: ::prost::alloc::string::String,
35 #[prost(string, tag = "5")]
37 pub identifier_value: ::prost::alloc::string::String,
38 #[prost(enumeration = "IdentifierTypeProto", tag = "6")]
39 pub identifier_type: i32,
40}
41#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
42#[repr(i32)]
43pub enum SecurityTypeProto {
44 UnknownSecurityType = 0,
46 CashSecurity = 1,
47 EquitySecurity = 2,
48 BondSecurity = 3,
49 Tips = 4,
50 Frn = 5,
51}
52impl SecurityTypeProto {
53 pub fn as_str_name(&self) -> &'static str {
58 match self {
59 SecurityTypeProto::UnknownSecurityType => "UNKNOWN_SECURITY_TYPE",
60 SecurityTypeProto::CashSecurity => "CASH_SECURITY",
61 SecurityTypeProto::EquitySecurity => "EQUITY_SECURITY",
62 SecurityTypeProto::BondSecurity => "BOND_SECURITY",
63 SecurityTypeProto::Tips => "TIPS",
64 SecurityTypeProto::Frn => "FRN",
65 }
66 }
67}
68#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
69#[repr(i32)]
70pub enum SecurityQuantityTypeProto {
71 UnknownQuantityType = 0,
73 OriginalFaceValue = 1,
74 Notional = 2,
75 Units = 3,
76}
77impl SecurityQuantityTypeProto {
78 pub fn as_str_name(&self) -> &'static str {
83 match self {
84 SecurityQuantityTypeProto::UnknownQuantityType => "UNKNOWN_QUANTITY_TYPE",
85 SecurityQuantityTypeProto::OriginalFaceValue => "ORIGINAL_FACE_VALUE",
86 SecurityQuantityTypeProto::Notional => "NOTIONAL",
87 SecurityQuantityTypeProto::Units => "UNITS",
88 }
89 }
90}
91#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
92#[repr(i32)]
93pub enum CouponFrequencyProto {
94 UnknownCouponFrequency = 0,
96 Annually = 1,
97 Semiannually = 2,
98 Quarterly = 3,
99 Monthly = 4,
100 NoCoupon = 5,
101}
102impl CouponFrequencyProto {
103 pub fn as_str_name(&self) -> &'static str {
108 match self {
109 CouponFrequencyProto::UnknownCouponFrequency => "UNKNOWN_COUPON_FREQUENCY",
110 CouponFrequencyProto::Annually => "ANNUALLY",
111 CouponFrequencyProto::Semiannually => "SEMIANNUALLY",
112 CouponFrequencyProto::Quarterly => "QUARTERLY",
113 CouponFrequencyProto::Monthly => "MONTHLY",
114 CouponFrequencyProto::NoCoupon => "NO_COUPON",
115 }
116 }
117}
118#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
119#[repr(i32)]
120pub enum CouponTypeProto {
121 UnknownCouponType = 0,
123 Fixed = 1,
124 Float = 2,
125 Zero = 3,
126}
127impl CouponTypeProto {
128 pub fn as_str_name(&self) -> &'static str {
133 match self {
134 CouponTypeProto::UnknownCouponType => "UNKNOWN_COUPON_TYPE",
135 CouponTypeProto::Fixed => "FIXED",
136 CouponTypeProto::Float => "FLOAT",
137 CouponTypeProto::Zero => "ZERO",
138 }
139 }
140}
141#[derive(Clone, PartialEq, ::prost::Message)]
142pub struct SecurityProto {
143 #[prost(string, tag = "1")]
144 pub object_class: ::prost::alloc::string::String,
145 #[prost(string, tag = "2")]
146 pub version: ::prost::alloc::string::String,
147 #[prost(message, optional, tag = "5")]
149 pub uuid: ::core::option::Option<super::util::UuidProto>,
150 #[prost(message, optional, tag = "6")]
151 pub as_of: ::core::option::Option<super::util::LocalTimestampProto>,
152 #[prost(bool, tag = "7")]
153 pub is_link: bool,
154 #[prost(enumeration = "SecurityTypeProto", tag = "10")]
155 pub security_type: i32,
156 #[prost(string, tag = "11")]
158 pub asset_class: ::prost::alloc::string::String,
159 #[prost(string, tag = "12")]
160 pub issuer_name: ::prost::alloc::string::String,
161 #[prost(message, optional, boxed, tag = "13")]
162 pub settlement_currency: ::core::option::Option<
163 ::prost::alloc::boxed::Box<SecurityProto>,
164 >,
165 #[prost(enumeration = "SecurityQuantityTypeProto", tag = "14")]
166 pub quantity_type: i32,
167 #[prost(message, optional, tag = "40")]
168 pub identifier: ::core::option::Option<IdentifierProto>,
169 #[prost(string, tag = "41")]
170 pub description: ::prost::alloc::string::String,
171 #[prost(string, tag = "50")]
173 pub cash_id: ::prost::alloc::string::String,
174 #[prost(message, optional, tag = "60")]
176 pub coupon_rate: ::core::option::Option<super::util::DecimalValueProto>,
177 #[prost(enumeration = "CouponTypeProto", tag = "61")]
178 pub coupon_type: i32,
179 #[prost(enumeration = "CouponFrequencyProto", tag = "62")]
180 pub coupon_frequency: i32,
181 #[prost(message, optional, tag = "63")]
182 pub dated_date: ::core::option::Option<super::util::LocalDateProto>,
183 #[prost(message, optional, tag = "64")]
184 pub face_value: ::core::option::Option<super::util::DecimalValueProto>,
185 #[prost(message, optional, tag = "65")]
186 pub issue_date: ::core::option::Option<super::util::LocalDateProto>,
187 #[prost(message, optional, tag = "66")]
188 pub maturity_date: ::core::option::Option<super::util::LocalDateProto>,
189}
190#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
191#[repr(i32)]
192pub enum TenorTypeProto {
193 UnknownTenorType = 0,
194 Perpetual = 1,
195 Term = 2,
196}
197impl TenorTypeProto {
198 pub fn as_str_name(&self) -> &'static str {
203 match self {
204 TenorTypeProto::UnknownTenorType => "UNKNOWN_TENOR_TYPE",
205 TenorTypeProto::Perpetual => "PERPETUAL",
206 TenorTypeProto::Term => "TERM",
207 }
208 }
209}
210#[derive(Clone, PartialEq, ::prost::Message)]
211pub struct TenorProto {
212 #[prost(string, tag = "1")]
213 pub object_class: ::prost::alloc::string::String,
214 #[prost(string, tag = "2")]
215 pub version: ::prost::alloc::string::String,
216 #[prost(string, tag = "5")]
217 pub term_value: ::prost::alloc::string::String,
218 #[prost(enumeration = "TenorTypeProto", tag = "6")]
219 pub tenor_type: i32,
220}
221#[derive(Clone, PartialEq, ::prost::Message)]
222pub struct SecurityRequestProto {
223 #[prost(string, tag = "1")]
224 pub object_class: ::prost::alloc::string::String,
225 #[prost(string, tag = "2")]
226 pub version: ::prost::alloc::string::String,
227 #[prost(enumeration = "super::util::RequestOperationTypeProto", tag = "10")]
228 pub operation_type: i32,
229 #[prost(message, optional, tag = "20")]
230 pub create_security_input: ::core::option::Option<SecurityProto>,
231 #[prost(message, repeated, tag = "21")]
232 pub uuids: ::prost::alloc::vec::Vec<super::util::UuidProto>,
233 #[prost(message, optional, tag = "22")]
234 pub search_security_input: ::core::option::Option<
235 super::position::PositionFilterProto,
236 >,
237}
238#[derive(Clone, PartialEq, ::prost::Message)]
239pub struct SecurityResponseProto {
240 #[prost(string, tag = "1")]
241 pub object_class: ::prost::alloc::string::String,
242 #[prost(string, tag = "2")]
243 pub version: ::prost::alloc::string::String,
244 #[prost(message, optional, tag = "20")]
245 pub create_security_request: ::core::option::Option<SecurityRequestProto>,
246 #[prost(message, repeated, tag = "30")]
247 pub security_response: ::prost::alloc::vec::Vec<SecurityProto>,
248}