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);
}
}