diff --git a/CryptoExchange.Net/ExtensionMethods.cs b/CryptoExchange.Net/ExtensionMethods.cs
index cd2b30a7..857a0f94 100644
--- a/CryptoExchange.Net/ExtensionMethods.cs
+++ b/CryptoExchange.Net/ExtensionMethods.cs
@@ -388,15 +388,14 @@ namespace CryptoExchange.Net
services.AddTransient(x => (ITradeHistoryRestClient)client(x)!);
if (typeof(IWithdrawalRestClient).IsAssignableFrom(typeof(T)))
services.AddTransient(x => (IWithdrawalRestClient)client(x)!);
- if (typeof(IWithdrawRest).IsAssignableFrom(typeof(T)))
- services.AddTransient(x => (IWithdrawRest)client(x)!);
+ if (typeof(IWithdrawRestClient).IsAssignableFrom(typeof(T)))
+ services.AddTransient(x => (IWithdrawRestClient)client(x)!);
if (typeof(IFeeRestClient).IsAssignableFrom(typeof(T)))
services.AddTransient(x => (IFeeRestClient)client(x)!);
if (typeof(IBookTickerRestClient).IsAssignableFrom(typeof(T)))
services.AddTransient(x => (IBookTickerRestClient)client(x)!);
- if (typeof(ITransferRest).IsAssignableFrom(typeof(T)))
- services.AddTransient(x => (ITransferRest)client(x)!);
-
+ if (typeof(ITransferRestClient).IsAssignableFrom(typeof(T)))
+ services.AddTransient(x => (ITransferRestClient)client(x)!);
if (typeof(ISpotOrderRestClient).IsAssignableFrom(typeof(T)))
services.AddTransient(x => (ISpotOrderRestClient)client(x)!);
if (typeof(ISpotSymbolRestClient).IsAssignableFrom(typeof(T)))
diff --git a/CryptoExchange.Net/SharedApis/Models/Options/Operations/PlaceSpotOrderSocketOptions.cs b/CryptoExchange.Net/SharedApis/Models/Options/Operations/PlaceSpotOrderSocketOptions.cs
index d0c4ef40..e0ce3e7b 100644
--- a/CryptoExchange.Net/SharedApis/Models/Options/Operations/PlaceSpotOrderSocketOptions.cs
+++ b/CryptoExchange.Net/SharedApis/Models/Options/Operations/PlaceSpotOrderSocketOptions.cs
@@ -7,7 +7,7 @@ namespace CryptoExchange.Net.SharedApis
///
/// Options for placing a new spot order
///
- public class PlaceSpotOrderSocketOptions : CapabilityOptions
+ public class PlaceSpotOrderSocketOptions : PlaceSpotOrderOptions
{
///
public override string Description => "Place a new spot order over a socket connection";
@@ -16,34 +16,8 @@ namespace CryptoExchange.Net.SharedApis
///
/// ctor
///
- public PlaceSpotOrderSocketOptions(string exchange) : base(exchange, true, nameof(IPlaceSpotOrderSocket.PlaceSpotOrderAsync))
+ public PlaceSpotOrderSocketOptions(string exchange) : base(exchange)
{
}
-
- ///
- /// Validate a request
- ///
- public override Error? ValidateRequest(
- PlaceSpotOrderRequest request,
- IPlaceSpotOrderSocket client)
- {
- if (request.Symbol!.TradingMode != TradingMode.Spot)
- return ArgumentError.Invalid("TradingMode", $"TradingMode.{request.Symbol!.TradingMode} is not supported, should be Spot");
-
- if (request.OrderType == SharedOrderType.Other)
- throw new ArgumentException("OrderType can't be `Other`", nameof(request.OrderType));
-
- if (!client.SpotSupportedOrderTypes.Contains(request.OrderType))
- return ArgumentError.Invalid(nameof(PlaceSpotOrderRequest.OrderType), "Order type not supported");
-
- if (request.TimeInForce != null && !client.SpotSupportedTimeInForce.Contains(request.TimeInForce.Value))
- return ArgumentError.Invalid(nameof(PlaceSpotOrderRequest.TimeInForce), "Order time in force not supported");
-
- var quantityError = client.SpotSupportedOrderQuantity.Validate(request.Side, request.OrderType, request.Quantity);
- if (quantityError != null)
- return quantityError;
-
- return base.ValidateRequest(request, client);
- }
}
}