Skip to content

Commit a0d2795

Browse files
committed
Move DataClient and ExecutionClient traits to common crate
- Add clients module to nautilus-common as single source of truth - Consolidate log_command_error helper in clients module - Update all adapters to import traits from nautilus_common::clients - Add missing request_book_snapshot method to DataClientAdapter - Remove trait re-exports from data/execution crates This architecture establishes `nautilus-common` as the canonical location for core client traits, eliminating the previous pattern of re-exporting through `nautilus-live`. Placing shared abstractions in common provides cleaner import paths for adapter authors, prevents circular dependency issues, and properly separates trait definitions from their implementations in specialized crates.
1 parent f7152dc commit a0d2795

File tree

42 files changed

+1012
-898
lines changed

Some content is hidden

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

42 files changed

+1012
-898
lines changed

crates/adapters/architect_ax/src/data/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ use async_trait::async_trait;
2525
use dashmap::DashMap;
2626
use futures_util::StreamExt;
2727
use nautilus_common::{
28+
clients::DataClient,
2829
live::{runner::get_data_event_sender, runtime::get_runtime},
2930
messages::{
3031
DataEvent, DataResponse,
@@ -40,7 +41,6 @@ use nautilus_core::{
4041
datetime::datetime_to_unix_nanos,
4142
time::{AtomicTime, get_atomic_clock_realtime},
4243
};
43-
use nautilus_live::DataClient;
4444
use nautilus_model::{
4545
data::{BarType, Data, OrderBookDeltas_API},
4646
identifiers::{ClientId, InstrumentId, Venue},

crates/adapters/binance/src/data/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ use ahash::AHashMap;
2424
use anyhow::Context;
2525
use futures_util::{StreamExt, pin_mut};
2626
use nautilus_common::{
27+
clients::DataClient,
2728
live::{runner::get_data_event_sender, runtime::get_runtime},
2829
messages::{
2930
DataEvent,
@@ -41,7 +42,6 @@ use nautilus_core::{
4142
datetime::datetime_to_unix_nanos,
4243
time::{AtomicTime, get_atomic_clock_realtime},
4344
};
44-
use nautilus_live::DataClient;
4545
use nautilus_model::{
4646
data::{Data, OrderBookDeltas_API},
4747
enums::BookType,

crates/adapters/binance/src/factories.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,7 @@
1717
1818
use std::{cell::RefCell, rc::Rc};
1919

20-
use nautilus_common::{cache::Cache, clock::Clock};
21-
use nautilus_live::DataClient;
20+
use nautilus_common::{cache::Cache, clients::DataClient, clock::Clock};
2221
use nautilus_model::identifiers::ClientId;
2322
use nautilus_system::factories::{ClientConfig, DataClientFactory};
2423

crates/adapters/bitmex/src/data/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ use ahash::AHashMap;
2727
use anyhow::Context;
2828
use futures_util::StreamExt;
2929
use nautilus_common::{
30+
clients::DataClient,
3031
live::{runner::get_data_event_sender, runtime::get_runtime},
3132
messages::{
3233
DataEvent,
@@ -44,7 +45,6 @@ use nautilus_core::{
4445
datetime::datetime_to_unix_nanos,
4546
time::{AtomicTime, get_atomic_clock_realtime},
4647
};
47-
use nautilus_live::DataClient;
4848
use nautilus_model::{
4949
data::Data,
5050
enums::BookType,

crates/adapters/bitmex/src/execution/mod.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ use anyhow::Context;
2424
use async_trait::async_trait;
2525
use futures_util::{StreamExt, pin_mut};
2626
use nautilus_common::{
27+
clients::ExecutionClient,
2728
live::{runner::get_exec_event_sender, runtime::get_runtime},
2829
messages::{
2930
ExecutionEvent, ExecutionReport,
@@ -36,7 +37,7 @@ use nautilus_common::{
3637
msgbus,
3738
};
3839
use nautilus_core::{UUID4, UnixNanos, time::get_atomic_clock_realtime};
39-
use nautilus_live::{ExecutionClient, ExecutionClientCore};
40+
use nautilus_live::ExecutionClientCore;
4041
use nautilus_model::{
4142
accounts::AccountAny,
4243
enums::OmsType,

crates/adapters/blockchain/bin/node_wallet.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,12 @@ use nautilus_blockchain::{
2121
};
2222
use nautilus_common::{
2323
cache::Cache,
24+
clients::ExecutionClient,
2425
live::{clock::LiveClock, runtime::get_runtime},
2526
logging::{init_logging, logger::LoggerConfig, writer::FileWriterConfig},
2627
};
2728
use nautilus_core::UUID4;
28-
use nautilus_live::{ExecutionClient, ExecutionClientCore};
29+
use nautilus_live::ExecutionClientCore;
2930
use nautilus_model::{
3031
defi::chain::chains,
3132
enums::{AccountType, OmsType},

crates/adapters/blockchain/src/data/client.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
// -------------------------------------------------------------------------------------------------
1515

1616
use nautilus_common::{
17+
clients::DataClient,
1718
defi::RequestPoolSnapshot,
1819
live::get_runtime,
1920
messages::{
@@ -27,7 +28,6 @@ use nautilus_common::{
2728
},
2829
},
2930
};
30-
use nautilus_live::DataClient;
3131
use nautilus_model::{
3232
defi::{DefiData, PoolIdentifier, SharedChain, validation::validate_address},
3333
identifiers::{ClientId, Venue},

crates/adapters/blockchain/src/execution/client.rs

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,16 @@ use std::{collections::HashSet, sync::Arc};
1717

1818
use alloy::primitives::Address;
1919
use async_trait::async_trait;
20-
use nautilus_common::messages::execution::{
21-
BatchCancelOrders, CancelAllOrders, CancelOrder, GenerateFillReports,
22-
GenerateOrderStatusReport, GenerateOrderStatusReports, GeneratePositionStatusReports,
23-
ModifyOrder, QueryAccount, QueryOrder, SubmitOrder, SubmitOrderList,
20+
use nautilus_common::{
21+
clients::ExecutionClient,
22+
messages::execution::{
23+
BatchCancelOrders, CancelAllOrders, CancelOrder, GenerateFillReports,
24+
GenerateOrderStatusReport, GenerateOrderStatusReports, GeneratePositionStatusReports,
25+
ModifyOrder, QueryAccount, QueryOrder, SubmitOrder, SubmitOrderList,
26+
},
2427
};
2528
use nautilus_core::UnixNanos;
26-
use nautilus_live::{ExecutionClient, ExecutionClientCore};
29+
use nautilus_live::ExecutionClientCore;
2730
use nautilus_model::{
2831
accounts::AccountAny,
2932
defi::{

crates/adapters/blockchain/src/factories.rs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,12 @@
1717
1818
use std::{any::Any, cell::RefCell, rc::Rc};
1919

20-
use nautilus_common::{cache::Cache, clock::Clock};
21-
use nautilus_live::{DataClient, ExecutionClient, ExecutionClientCore};
20+
use nautilus_common::{
21+
cache::Cache,
22+
clients::{DataClient, ExecutionClient},
23+
clock::Clock,
24+
};
25+
use nautilus_live::ExecutionClientCore;
2226
use nautilus_model::{
2327
enums::{AccountType, OmsType},
2428
identifiers::ClientId,

crates/adapters/databento/src/data.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ use ahash::AHashMap;
3131
use databento::live::Subscription;
3232
use indexmap::IndexMap;
3333
use nautilus_common::{
34+
clients::DataClient,
3435
live::{runner::get_data_event_sender, runtime::get_runtime},
3536
messages::{
3637
DataEvent,
@@ -42,7 +43,6 @@ use nautilus_common::{
4243
},
4344
};
4445
use nautilus_core::{MUTEX_POISONED, time::AtomicTime};
45-
use nautilus_live::DataClient;
4646
use nautilus_model::{
4747
enums::BarAggregation,
4848
identifiers::{ClientId, Symbol, Venue},

0 commit comments

Comments
 (0)