#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum IdentifierTypeProto {
UnknownIdentifierType = 0,
ExchTicker = 1,
Isin = 2,
Cusip = 3,
Osi = 4,
Figi = 5,
Cash = 50,
}
impl IdentifierTypeProto {
pub fn as_str_name(&self) -> &'static str {
match self {
IdentifierTypeProto::UnknownIdentifierType => "UNKNOWN_IDENTIFIER_TYPE",
IdentifierTypeProto::ExchTicker => "EXCH_TICKER",
IdentifierTypeProto::Isin => "ISIN",
IdentifierTypeProto::Cusip => "CUSIP",
IdentifierTypeProto::Osi => "OSI",
IdentifierTypeProto::Figi => "FIGI",
IdentifierTypeProto::Cash => "CASH",
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct IdentifierProto {
#[prost(string, tag = "1")]
pub object_class: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub version: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub identifier_value: ::prost::alloc::string::String,
#[prost(enumeration = "IdentifierTypeProto", tag = "6")]
pub identifier_type: i32,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SecurityTypeProto {
UnknownSecurityType = 0,
CashSecurity = 1,
EquitySecurity = 2,
BondSecurity = 3,
Tips = 4,
Frn = 5,
}
impl SecurityTypeProto {
pub fn as_str_name(&self) -> &'static str {
match self {
SecurityTypeProto::UnknownSecurityType => "UNKNOWN_SECURITY_TYPE",
SecurityTypeProto::CashSecurity => "CASH_SECURITY",
SecurityTypeProto::EquitySecurity => "EQUITY_SECURITY",
SecurityTypeProto::BondSecurity => "BOND_SECURITY",
SecurityTypeProto::Tips => "TIPS",
SecurityTypeProto::Frn => "FRN",
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SecurityQuantityTypeProto {
UnknownQuantityType = 0,
OriginalFaceValue = 1,
Notional = 2,
Units = 3,
}
impl SecurityQuantityTypeProto {
pub fn as_str_name(&self) -> &'static str {
match self {
SecurityQuantityTypeProto::UnknownQuantityType => "UNKNOWN_QUANTITY_TYPE",
SecurityQuantityTypeProto::OriginalFaceValue => "ORIGINAL_FACE_VALUE",
SecurityQuantityTypeProto::Notional => "NOTIONAL",
SecurityQuantityTypeProto::Units => "UNITS",
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CouponFrequencyProto {
UnknownCouponFrequency = 0,
Annually = 1,
Semiannually = 2,
Quarterly = 3,
Monthly = 4,
NoCoupon = 5,
}
impl CouponFrequencyProto {
pub fn as_str_name(&self) -> &'static str {
match self {
CouponFrequencyProto::UnknownCouponFrequency => "UNKNOWN_COUPON_FREQUENCY",
CouponFrequencyProto::Annually => "ANNUALLY",
CouponFrequencyProto::Semiannually => "SEMIANNUALLY",
CouponFrequencyProto::Quarterly => "QUARTERLY",
CouponFrequencyProto::Monthly => "MONTHLY",
CouponFrequencyProto::NoCoupon => "NO_COUPON",
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CouponTypeProto {
UnknownCouponType = 0,
Fixed = 1,
Float = 2,
Zero = 3,
}
impl CouponTypeProto {
pub fn as_str_name(&self) -> &'static str {
match self {
CouponTypeProto::UnknownCouponType => "UNKNOWN_COUPON_TYPE",
CouponTypeProto::Fixed => "FIXED",
CouponTypeProto::Float => "FLOAT",
CouponTypeProto::Zero => "ZERO",
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SecurityProto {
#[prost(string, tag = "1")]
pub object_class: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub version: ::prost::alloc::string::String,
#[prost(message, optional, tag = "5")]
pub uuid: ::core::option::Option<super::util::UuidProto>,
#[prost(message, optional, tag = "6")]
pub as_of: ::core::option::Option<super::util::LocalTimestampProto>,
#[prost(bool, tag = "7")]
pub is_link: bool,
#[prost(enumeration = "SecurityTypeProto", tag = "10")]
pub security_type: i32,
#[prost(string, tag = "11")]
pub asset_class: ::prost::alloc::string::String,
#[prost(string, tag = "12")]
pub issuer_name: ::prost::alloc::string::String,
#[prost(message, optional, boxed, tag = "13")]
pub settlement_currency: ::core::option::Option<
::prost::alloc::boxed::Box<SecurityProto>,
>,
#[prost(enumeration = "SecurityQuantityTypeProto", tag = "14")]
pub quantity_type: i32,
#[prost(message, optional, tag = "40")]
pub identifier: ::core::option::Option<IdentifierProto>,
#[prost(string, tag = "41")]
pub description: ::prost::alloc::string::String,
#[prost(string, tag = "50")]
pub cash_id: ::prost::alloc::string::String,
#[prost(message, optional, tag = "60")]
pub coupon_rate: ::core::option::Option<super::util::DecimalValueProto>,
#[prost(enumeration = "CouponTypeProto", tag = "61")]
pub coupon_type: i32,
#[prost(enumeration = "CouponFrequencyProto", tag = "62")]
pub coupon_frequency: i32,
#[prost(message, optional, tag = "63")]
pub dated_date: ::core::option::Option<super::util::LocalDateProto>,
#[prost(message, optional, tag = "64")]
pub face_value: ::core::option::Option<super::util::DecimalValueProto>,
#[prost(message, optional, tag = "65")]
pub issue_date: ::core::option::Option<super::util::LocalDateProto>,
#[prost(message, optional, tag = "66")]
pub maturity_date: ::core::option::Option<super::util::LocalDateProto>,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum TenorTypeProto {
UnknownTenorType = 0,
Perpetual = 1,
Term = 2,
}
impl TenorTypeProto {
pub fn as_str_name(&self) -> &'static str {
match self {
TenorTypeProto::UnknownTenorType => "UNKNOWN_TENOR_TYPE",
TenorTypeProto::Perpetual => "PERPETUAL",
TenorTypeProto::Term => "TERM",
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TenorProto {
#[prost(string, tag = "1")]
pub object_class: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub version: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub term_value: ::prost::alloc::string::String,
#[prost(enumeration = "TenorTypeProto", tag = "6")]
pub tenor_type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SecurityRequestProto {
#[prost(string, tag = "1")]
pub object_class: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub version: ::prost::alloc::string::String,
#[prost(enumeration = "super::util::RequestOperationTypeProto", tag = "10")]
pub operation_type: i32,
#[prost(message, optional, tag = "20")]
pub create_security_input: ::core::option::Option<SecurityProto>,
#[prost(message, repeated, tag = "21")]
pub uuids: ::prost::alloc::vec::Vec<super::util::UuidProto>,
#[prost(message, optional, tag = "22")]
pub search_security_input: ::core::option::Option<
super::position::PositionFilterProto,
>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SecurityResponseProto {
#[prost(string, tag = "1")]
pub object_class: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub version: ::prost::alloc::string::String,
#[prost(message, optional, tag = "20")]
pub create_security_request: ::core::option::Option<SecurityRequestProto>,
#[prost(message, repeated, tag = "30")]
pub security_response: ::prost::alloc::vec::Vec<SecurityProto>,
}