diff --git a/CryptoExchange.Net/Interfaces/IOrderBookFactory.cs b/CryptoExchange.Net/Interfaces/IOrderBookFactory.cs index 2ffc9e3..5ca48d1 100644 --- a/CryptoExchange.Net/Interfaces/IOrderBookFactory.cs +++ b/CryptoExchange.Net/Interfaces/IOrderBookFactory.cs @@ -1,4 +1,5 @@ using CryptoExchange.Net.Objects.Options; +using CryptoExchange.Net.SharedApis; using System; namespace CryptoExchange.Net.Interfaces @@ -23,5 +24,12 @@ namespace CryptoExchange.Net.Interfaces /// Options for the order book /// public ISymbolOrderBook Create(string baseAsset, string quoteAsset, Action? options = null); + /// + /// Create a new order book by base and quote asset names + /// + /// Symbol + /// Options for the order book + /// + public ISymbolOrderBook Create(SharedSymbol symbol, Action? options = null); } } diff --git a/CryptoExchange.Net/OrderBook/OrderBookFactory.cs b/CryptoExchange.Net/OrderBook/OrderBookFactory.cs index 279dddb..0aafaef 100644 --- a/CryptoExchange.Net/OrderBook/OrderBookFactory.cs +++ b/CryptoExchange.Net/OrderBook/OrderBookFactory.cs @@ -1,5 +1,6 @@ using CryptoExchange.Net.Interfaces; using CryptoExchange.Net.Objects.Options; +using CryptoExchange.Net.SharedApis; using System; namespace CryptoExchange.Net.OrderBook @@ -8,14 +9,14 @@ namespace CryptoExchange.Net.OrderBook public class OrderBookFactory : IOrderBookFactory where TOptions: OrderBookOptions { private readonly Func?, ISymbolOrderBook> _symbolCtor; - private readonly Func?, ISymbolOrderBook> _assetsCtor; + private readonly Func?, ISymbolOrderBook> _assetsCtor; /// /// ctor /// /// /// - public OrderBookFactory(Func?, ISymbolOrderBook> symbolCtor, Func?, ISymbolOrderBook> assetsCtor) + public OrderBookFactory(Func?, ISymbolOrderBook> symbolCtor, Func?, ISymbolOrderBook> assetsCtor) { _symbolCtor = symbolCtor; _assetsCtor = assetsCtor; @@ -25,6 +26,9 @@ namespace CryptoExchange.Net.OrderBook public ISymbolOrderBook Create(string symbol, Action? options = null) => _symbolCtor(symbol, options); /// - public ISymbolOrderBook Create(string baseAsset, string quoteAsset, Action? options = null) => _assetsCtor(baseAsset, quoteAsset, options); + public ISymbolOrderBook Create(string baseAsset, string quoteAsset, Action? options = null) => _assetsCtor(new SharedSymbol(TradingMode.Spot, baseAsset, quoteAsset), options); + + /// + public ISymbolOrderBook Create(SharedSymbol symbol, Action? options = null) => _assetsCtor(symbol, options); } }