rust_types/ledger_models/
transaction.rs1#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2#[repr(i32)]
3pub enum TransactionTypeProto {
4 Unknown = 0,
5 Buy = 1,
6 Sell = 2,
7 Deposit = 3,
8 Withdrawal = 4,
9 Maturation = 5,
10 MaturationOffset = 6,
11}
12impl TransactionTypeProto {
13 pub fn as_str_name(&self) -> &'static str {
18 match self {
19 TransactionTypeProto::Unknown => "UNKNOWN",
20 TransactionTypeProto::Buy => "BUY",
21 TransactionTypeProto::Sell => "SELL",
22 TransactionTypeProto::Deposit => "DEPOSIT",
23 TransactionTypeProto::Withdrawal => "WITHDRAWAL",
24 TransactionTypeProto::Maturation => "MATURATION",
25 TransactionTypeProto::MaturationOffset => "MATURATION_OFFSET",
26 }
27 }
28}
29#[derive(Clone, PartialEq, ::prost::Message)]
30pub struct TransactionProto {
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(message, optional, tag = "5")]
37 pub uuid: ::core::option::Option<super::util::UuidProto>,
38 #[prost(message, optional, tag = "6")]
39 pub as_of: ::core::option::Option<super::util::LocalTimestampProto>,
40 #[prost(bool, tag = "7")]
41 pub is_link: bool,
42 #[prost(message, optional, tag = "10")]
44 pub portfolio: ::core::option::Option<super::portfolio::PortfolioProto>,
45 #[prost(message, optional, tag = "11")]
46 pub security: ::core::option::Option<super::security::SecurityProto>,
47 #[prost(enumeration = "TransactionTypeProto", tag = "12")]
48 pub transaction_type: i32,
49 #[prost(message, optional, tag = "13")]
50 pub quantity: ::core::option::Option<super::util::DecimalValueProto>,
51 #[prost(message, optional, tag = "14")]
52 pub price: ::core::option::Option<super::price::PriceProto>,
53 #[prost(message, optional, tag = "15")]
55 pub trade_date: ::core::option::Option<super::util::LocalDateProto>,
56 #[prost(message, optional, tag = "16")]
57 pub settlement_date: ::core::option::Option<super::util::LocalDateProto>,
58 #[prost(message, repeated, tag = "20")]
62 pub child_transactions: ::prost::alloc::vec::Vec<TransactionProto>,
63 #[prost(enumeration = "super::position::PositionStatusProto", tag = "25")]
65 pub position_status: i32,
66 #[prost(string, tag = "26")]
67 pub trade_name: ::prost::alloc::string::String,
68 #[prost(message, optional, tag = "27")]
69 pub strategy_allocation: ::core::option::Option<
70 super::strategy::StrategyAllocationProto,
71 >,
72 #[prost(bool, tag = "30")]
74 pub is_cancelled: bool,
75}
76#[derive(Clone, PartialEq, ::prost::Message)]
77pub struct TransactionRequestProto {
78 #[prost(string, tag = "1")]
79 pub object_class: ::prost::alloc::string::String,
80 #[prost(string, tag = "2")]
81 pub version: ::prost::alloc::string::String,
82 #[prost(enumeration = "super::util::RequestOperationTypeProto", tag = "10")]
83 pub operation_type: i32,
84 #[prost(message, optional, tag = "20")]
85 pub create_transaction_input: ::core::option::Option<TransactionProto>,
86 #[prost(message, repeated, tag = "21")]
87 pub uuids: ::prost::alloc::vec::Vec<super::util::UuidProto>,
88 #[prost(message, optional, tag = "22")]
89 pub search_transaction_input: ::core::option::Option<
90 super::position::PositionFilterProto,
91 >,
92}
93#[derive(Clone, PartialEq, ::prost::Message)]
94pub struct TransactionResponseProto {
95 #[prost(string, tag = "1")]
96 pub object_class: ::prost::alloc::string::String,
97 #[prost(string, tag = "2")]
98 pub version: ::prost::alloc::string::String,
99 #[prost(message, optional, tag = "20")]
100 pub create_transaction_request: ::core::option::Option<TransactionRequestProto>,
101 #[prost(message, repeated, tag = "30")]
102 pub transaction_response: ::prost::alloc::vec::Vec<TransactionProto>,
103}