Skip to content

Commit 611ef72

Browse files
committed
Reorganize domain model and execution messages
1 parent a3d1930 commit 611ef72

File tree

43 files changed

+3669
-3746
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+3669
-3746
lines changed

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crates/adapters/coinbase_intx/src/fix/parse.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@
1515

1616
use chrono::{DateTime, Utc};
1717
use nautilus_core::{UnixNanos, time::get_atomic_clock_realtime};
18-
use nautilus_execution::reports::{fill::FillReport, order::OrderStatusReport};
1918
use nautilus_model::{
2019
enums::{LiquiditySide, OrderSide, OrderStatus, OrderType, TimeInForce, TriggerType},
2120
identifiers::{AccountId, ClientOrderId, InstrumentId, Symbol, TradeId, VenueOrderId},
21+
reports::{FillReport, OrderStatusReport},
2222
types::{Currency, Money, Price, Quantity},
2323
};
2424
use ustr::Ustr;

crates/adapters/coinbase_intx/src/http/client.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,12 @@ use chrono::{DateTime, Utc};
3030
use nautilus_core::{
3131
UnixNanos, consts::NAUTILUS_USER_AGENT, env::get_env_var, time::get_atomic_clock_realtime,
3232
};
33-
use nautilus_execution::reports::{
34-
fill::FillReport, order::OrderStatusReport, position::PositionStatusReport,
35-
};
3633
use nautilus_model::{
3734
enums::{OrderSide, OrderType, TimeInForce},
3835
events::AccountState,
3936
identifiers::{AccountId, ClientOrderId, Symbol, VenueOrderId},
4037
instruments::{Instrument, InstrumentAny},
38+
reports::{FillReport, OrderStatusReport, PositionStatusReport},
4139
types::{Price, Quantity},
4240
};
4341
use nautilus_network::{http::HttpClient, ratelimiter::quota::Quota};

crates/adapters/coinbase_intx/src/http/parse.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,14 @@
1414
// -------------------------------------------------------------------------------------------------
1515

1616
use nautilus_core::{UUID4, nanos::UnixNanos};
17-
use nautilus_execution::reports::{
18-
fill::FillReport, order::OrderStatusReport, position::PositionStatusReport,
19-
};
2017
use nautilus_model::{
2118
enums::{
2219
AccountType, LiquiditySide, OrderSide, OrderStatus, OrderType, TimeInForce, TriggerType,
2320
},
2421
events::AccountState,
2522
identifiers::{AccountId, ClientOrderId, Symbol, TradeId, VenueOrderId},
2623
instruments::{CryptoPerpetual, CurrencyPair, any::InstrumentAny},
24+
reports::{FillReport, OrderStatusReport, PositionStatusReport},
2725
types::{AccountBalance, Currency, Money, Price, Quantity},
2826
};
2927
use rust_decimal::Decimal;

crates/backtest/src/exchange.rs

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,14 @@ use std::{
2626
rc::Rc,
2727
};
2828

29-
use nautilus_common::{cache::Cache, clock::Clock};
29+
use nautilus_common::{cache::Cache, clock::Clock, messages::execution::TradingCommand};
3030
use nautilus_core::{
3131
UnixNanos,
3232
correctness::{FAILED, check_equal},
3333
};
3434
use nautilus_execution::{
3535
client::ExecutionClient,
3636
matching_engine::{config::OrderMatchingEngineConfig, engine::OrderMatchingEngine},
37-
messages::TradingCommand,
3837
models::{fee::FeeModelAny, fill::FillModel, latency::LatencyModel},
3938
};
4039
use nautilus_model::{
@@ -779,19 +778,17 @@ mod tests {
779778
use nautilus_common::{
780779
cache::Cache,
781780
clock::TestClock,
781+
messages::execution::{SubmitOrder, TradingCommand},
782782
msgbus::{
783783
self,
784784
stubs::{get_message_saving_handler, get_saved_messages},
785785
},
786786
};
787787
use nautilus_core::{AtomicTime, UUID4, UnixNanos};
788-
use nautilus_execution::{
789-
messages::{SubmitOrder, TradingCommand},
790-
models::{
791-
fee::{FeeModelAny, MakerTakerFeeModel},
792-
fill::FillModel,
793-
latency::LatencyModel,
794-
},
788+
use nautilus_execution::models::{
789+
fee::{FeeModelAny, MakerTakerFeeModel},
790+
fill::FillModel,
791+
latency::LatencyModel,
795792
};
796793
use nautilus_model::{
797794
accounts::{AccountAny, MarginAccount},

crates/backtest/src/execution_client.rs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,16 @@
2121
2222
use std::{cell::RefCell, fmt::Debug, rc::Rc};
2323

24-
use nautilus_common::{cache::Cache, clock::Clock};
25-
use nautilus_core::UnixNanos;
26-
use nautilus_execution::{
27-
client::{ExecutionClient, base::BaseExecutionClient},
28-
messages::{
24+
use nautilus_common::{
25+
cache::Cache,
26+
clock::Clock,
27+
messages::execution::{
2928
BatchCancelOrders, CancelAllOrders, CancelOrder, ModifyOrder, QueryOrder, SubmitOrder,
3029
SubmitOrderList, TradingCommand,
3130
},
3231
};
32+
use nautilus_core::UnixNanos;
33+
use nautilus_execution::client::{ExecutionClient, base::BaseExecutionClient};
3334
use nautilus_model::{
3435
accounts::AccountAny,
3536
enums::OmsType,

crates/common/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ async-trait = { workspace = true }
5454
async-stream = { workspace = true }
5555
bytes = { workspace = true }
5656
chrono = { workspace = true }
57+
derive_builder = { workspace = true }
5758
futures = { workspace = true }
5859
indexmap = { workspace = true }
5960
log = { workspace = true }

crates/execution/src/messages/cancel.rs renamed to crates/common/src/messages/execution/cancel.rs

Lines changed: 3 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,15 @@
1313
// limitations under the License.
1414
// -------------------------------------------------------------------------------------------------
1515

16-
use std::{cell::RefCell, fmt::Display, rc::Rc};
16+
use std::fmt::Display;
1717

1818
use derive_builder::Builder;
1919
use nautilus_core::{UUID4, UnixNanos};
20-
use nautilus_model::{
21-
identifiers::{ClientId, ClientOrderId, InstrumentId, StrategyId, TraderId, VenueOrderId},
22-
orders::OrderAny,
20+
use nautilus_model::identifiers::{
21+
ClientId, ClientOrderId, InstrumentId, StrategyId, TraderId, VenueOrderId,
2322
};
2423
use serde::{Deserialize, Serialize};
2524

26-
use crate::order_emulator::emulator::OrderEmulator;
27-
2825
#[derive(Clone, PartialEq, Eq, Debug, Default, Serialize, Deserialize, Builder)]
2926
#[builder(default)]
3027
#[serde(tag = "type")]
@@ -79,25 +76,6 @@ impl Display for CancelOrder {
7976
}
8077
}
8178

82-
pub trait CancelOrderHandler {
83-
fn handle_cancel_order(&self, order: &OrderAny);
84-
}
85-
86-
#[derive(Debug)]
87-
pub enum CancelOrderHandlerAny {
88-
OrderEmulator(Rc<RefCell<OrderEmulator>>),
89-
}
90-
91-
impl CancelOrderHandler for CancelOrderHandlerAny {
92-
fn handle_cancel_order(&self, order: &OrderAny) {
93-
match self {
94-
Self::OrderEmulator(order_emulator) => {
95-
order_emulator.borrow_mut().cancel_order(order);
96-
}
97-
}
98-
}
99-
}
100-
10179
////////////////////////////////////////////////////////////////////////////////
10280
// Tests
10381
////////////////////////////////////////////////////////////////////////////////

0 commit comments

Comments
 (0)