Skip to main content

nautilus_model/events/
mod.rs

1// -------------------------------------------------------------------------------------------------
2//  Copyright (C) 2015-2026 Nautech Systems Pty Ltd. All rights reserved.
3//  https://nautechsystems.io
4//
5//  Licensed under the GNU Lesser General Public License Version 3.0 (the "License");
6//  You may not use this file except in compliance with the License.
7//  You may obtain a copy of the License at https://www.gnu.org/licenses/lgpl-3.0.en.html
8//
9//  Unless required by applicable law or agreed to in writing, software
10//  distributed under the License is distributed on an "AS IS" BASIS,
11//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12//  See the License for the specific language governing permissions and
13//  limitations under the License.
14// -------------------------------------------------------------------------------------------------
15
16//! Events for the trading domain model.
17
18pub mod account;
19pub mod order;
20pub mod position;
21
22use nautilus_core::UnixNanos;
23
24use crate::data::HasTsInit;
25// Re-exports
26pub use crate::events::{
27    account::state::AccountState,
28    order::{
29        OrderEvent, OrderEventType, accepted::OrderAccepted, accepted_batch::OrderAcceptedBatch,
30        any::OrderEventAny, cancel_rejected::OrderCancelRejected, canceled::OrderCanceled,
31        canceled_batch::OrderCanceledBatch, denied::OrderDenied, emulated::OrderEmulated,
32        expired::OrderExpired, filled::OrderFilled, initialized::OrderInitialized,
33        modify_rejected::OrderModifyRejected, pending_cancel::OrderPendingCancel,
34        pending_update::OrderPendingUpdate, rejected::OrderRejected, released::OrderReleased,
35        snapshot::OrderSnapshot, submitted::OrderSubmitted, submitted_batch::OrderSubmittedBatch,
36        triggered::OrderTriggered, updated::OrderUpdated,
37    },
38    position::{
39        PositionEvent, adjusted::PositionAdjusted, changed::PositionChanged,
40        closed::PositionClosed, opened::PositionOpened, snapshot::PositionSnapshot,
41    },
42};
43
44impl HasTsInit for AccountState {
45    fn ts_init(&self) -> UnixNanos {
46        self.ts_init
47    }
48}
49
50impl HasTsInit for OrderInitialized {
51    fn ts_init(&self) -> UnixNanos {
52        self.ts_init
53    }
54}
55
56impl HasTsInit for OrderDenied {
57    fn ts_init(&self) -> UnixNanos {
58        self.ts_init
59    }
60}
61
62impl HasTsInit for OrderEmulated {
63    fn ts_init(&self) -> UnixNanos {
64        self.ts_init
65    }
66}
67
68impl HasTsInit for OrderSubmitted {
69    fn ts_init(&self) -> UnixNanos {
70        self.ts_init
71    }
72}
73
74impl HasTsInit for OrderAccepted {
75    fn ts_init(&self) -> UnixNanos {
76        self.ts_init
77    }
78}
79
80impl HasTsInit for OrderRejected {
81    fn ts_init(&self) -> UnixNanos {
82        self.ts_init
83    }
84}
85
86impl HasTsInit for OrderPendingCancel {
87    fn ts_init(&self) -> UnixNanos {
88        self.ts_init
89    }
90}
91
92impl HasTsInit for OrderCanceled {
93    fn ts_init(&self) -> UnixNanos {
94        self.ts_init
95    }
96}
97
98impl HasTsInit for OrderCancelRejected {
99    fn ts_init(&self) -> UnixNanos {
100        self.ts_init
101    }
102}
103
104impl HasTsInit for OrderExpired {
105    fn ts_init(&self) -> UnixNanos {
106        self.ts_init
107    }
108}
109
110impl HasTsInit for OrderTriggered {
111    fn ts_init(&self) -> UnixNanos {
112        self.ts_init
113    }
114}
115
116impl HasTsInit for OrderPendingUpdate {
117    fn ts_init(&self) -> UnixNanos {
118        self.ts_init
119    }
120}
121
122impl HasTsInit for OrderReleased {
123    fn ts_init(&self) -> UnixNanos {
124        self.ts_init
125    }
126}
127
128impl HasTsInit for OrderModifyRejected {
129    fn ts_init(&self) -> UnixNanos {
130        self.ts_init
131    }
132}
133
134impl HasTsInit for OrderUpdated {
135    fn ts_init(&self) -> UnixNanos {
136        self.ts_init
137    }
138}
139
140impl HasTsInit for OrderFilled {
141    fn ts_init(&self) -> UnixNanos {
142        self.ts_init
143    }
144}
145
146impl HasTsInit for OrderSnapshot {
147    fn ts_init(&self) -> UnixNanos {
148        self.ts_init
149    }
150}
151
152impl HasTsInit for PositionOpened {
153    fn ts_init(&self) -> UnixNanos {
154        self.ts_init
155    }
156}
157
158impl HasTsInit for PositionChanged {
159    fn ts_init(&self) -> UnixNanos {
160        self.ts_init
161    }
162}
163
164impl HasTsInit for PositionClosed {
165    fn ts_init(&self) -> UnixNanos {
166        self.ts_init
167    }
168}
169
170impl HasTsInit for PositionAdjusted {
171    fn ts_init(&self) -> UnixNanos {
172        self.ts_init
173    }
174}
175
176impl HasTsInit for PositionSnapshot {
177    fn ts_init(&self) -> UnixNanos {
178        self.ts_init
179    }
180}
181
182crate::impl_catalog_path_prefix!(AccountState, "account_state");
183crate::impl_catalog_path_prefix!(OrderInitialized, "order_initialized");
184crate::impl_catalog_path_prefix!(OrderDenied, "order_denied");
185crate::impl_catalog_path_prefix!(OrderEmulated, "order_emulated");
186crate::impl_catalog_path_prefix!(OrderSubmitted, "order_submitted");
187crate::impl_catalog_path_prefix!(OrderAccepted, "order_accepted");
188crate::impl_catalog_path_prefix!(OrderRejected, "order_rejected");
189crate::impl_catalog_path_prefix!(OrderPendingCancel, "order_pending_cancel");
190crate::impl_catalog_path_prefix!(OrderCanceled, "order_canceled");
191crate::impl_catalog_path_prefix!(OrderCancelRejected, "order_cancel_rejected");
192crate::impl_catalog_path_prefix!(OrderExpired, "order_expired");
193crate::impl_catalog_path_prefix!(OrderTriggered, "order_triggered");
194crate::impl_catalog_path_prefix!(OrderPendingUpdate, "order_pending_update");
195crate::impl_catalog_path_prefix!(OrderReleased, "order_released");
196crate::impl_catalog_path_prefix!(OrderModifyRejected, "order_modify_rejected");
197crate::impl_catalog_path_prefix!(OrderUpdated, "order_updated");
198crate::impl_catalog_path_prefix!(OrderFilled, "order_filled");
199crate::impl_catalog_path_prefix!(PositionOpened, "position_opened");
200crate::impl_catalog_path_prefix!(PositionChanged, "position_changed");
201crate::impl_catalog_path_prefix!(PositionClosed, "position_closed");
202crate::impl_catalog_path_prefix!(PositionAdjusted, "position_adjusted");
203crate::impl_catalog_path_prefix!(OrderSnapshot, "order_snapshot");
204crate::impl_catalog_path_prefix!(PositionSnapshot, "position_snapshot");