mirror of
https://github.com/JKorf/CryptoExchange.Net.git
synced 2026-08-16 02:43:00 +00:00
b29cdc41f3
Updated INextPageToken parameter on Shared interfaces to PageRequest type, functionality unchanged Added SupportsAscending and SupportsDescending properties to PaginatedEndpointOptions to expose supported data directions Added MaxAge property to PaginatedEndpointOptions to expose the max age of data that can be requested Added Direction property to Shared interfaces paginated requests to configure pagination data direction Removed PaginationSupport property from PaginatedEndpointOptions, replaced by above new properties Updated Shared GetTradeHistoryRequest EndTime property to be optional Updated I(Futures/Spot)OrderRestClient.GetClosed(Futures/Spot)OrdersOptions from PaginatedEndpointOptions<GetClosedOrdersRequest> to GetClosedOrdersOptions Updated I(Futures/Spot)OrderRestClient.Get(Futures/Spot)UserTradesOptions from PaginatedEndpointOptions<GetUserTradesRequest> to GetUserTradesOptions Updated rate limiting PathStartFilter to ignore added or missing slash before the path Fixed KlineTracker throwing exception if there is no data in the initial snapshot
120 lines
4.9 KiB
C#
120 lines
4.9 KiB
C#
using System.Threading;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace CryptoExchange.Net.SharedApis
|
|
{
|
|
/// <summary>
|
|
/// Client for placing and managing spot orders
|
|
/// </summary>
|
|
public interface ISpotOrderRestClient : ISharedClient
|
|
{
|
|
/// <summary>
|
|
/// How the trading fee is deducted
|
|
/// </summary>
|
|
SharedFeeDeductionType SpotFeeDeductionType { get; }
|
|
/// <summary>
|
|
/// How the asset is determined in which the trading fee is paid
|
|
/// </summary>
|
|
SharedFeeAssetType SpotFeeAssetType { get; }
|
|
|
|
/// <summary>
|
|
/// Supported order types
|
|
/// </summary>
|
|
SharedOrderType[] SpotSupportedOrderTypes { get; }
|
|
/// <summary>
|
|
/// Supported time in force
|
|
/// </summary>
|
|
SharedTimeInForce[] SpotSupportedTimeInForce { get; }
|
|
/// <summary>
|
|
/// Quantity types support
|
|
/// </summary>
|
|
SharedQuantitySupport SpotSupportedOrderQuantity { get; }
|
|
|
|
/// <summary>
|
|
/// Generate a new random client order id
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
string GenerateClientOrderId();
|
|
|
|
/// <summary>
|
|
/// Spot place order request options
|
|
/// </summary>
|
|
PlaceSpotOrderOptions PlaceSpotOrderOptions { get; }
|
|
/// <summary>
|
|
/// Place a new spot order
|
|
/// </summary>
|
|
/// <param name="request">Request info</param>
|
|
/// <param name="ct">Cancellation token</param>
|
|
Task<ExchangeWebResult<SharedId>> PlaceSpotOrderAsync(PlaceSpotOrderRequest request, CancellationToken ct = default);
|
|
|
|
/// <summary>
|
|
/// Spot get order request options
|
|
/// </summary>
|
|
EndpointOptions<GetOrderRequest> GetSpotOrderOptions { get; }
|
|
/// <summary>
|
|
/// Get info on a specific spot order
|
|
/// </summary>
|
|
/// <param name="request">Request info</param>
|
|
/// <param name="ct">Cancellation token</param>
|
|
Task<ExchangeWebResult<SharedSpotOrder>> GetSpotOrderAsync(GetOrderRequest request, CancellationToken ct = default);
|
|
|
|
/// <summary>
|
|
/// Spot get open orders request options
|
|
/// </summary>
|
|
EndpointOptions<GetOpenOrdersRequest> GetOpenSpotOrdersOptions { get; }
|
|
/// <summary>
|
|
/// Get info on a open spot orders
|
|
/// </summary>
|
|
/// <param name="request">Request info</param>
|
|
/// <param name="ct">Cancellation token</param>
|
|
Task<ExchangeWebResult<SharedSpotOrder[]>> GetOpenSpotOrdersAsync(GetOpenOrdersRequest request, CancellationToken ct = default);
|
|
|
|
/// <summary>
|
|
/// Spot get closed orders request options
|
|
/// </summary>
|
|
GetClosedOrdersOptions GetClosedSpotOrdersOptions { get; }
|
|
/// <summary>
|
|
/// Get info on closed spot orders
|
|
/// </summary>
|
|
/// <param name="request">Request info</param>
|
|
/// <param name="nextPageToken">The pagination request from the previous request result `NextPageRequest` property to continue pagination</param>
|
|
/// <param name="ct">Cancellation token</param>
|
|
Task<ExchangeWebResult<SharedSpotOrder[]>> GetClosedSpotOrdersAsync(GetClosedOrdersRequest request, PageRequest? nextPageToken = null, CancellationToken ct = default);
|
|
|
|
/// <summary>
|
|
/// Spot get order trades request options
|
|
/// </summary>
|
|
EndpointOptions<GetOrderTradesRequest> GetSpotOrderTradesOptions { get; }
|
|
/// <summary>
|
|
/// Get trades for a specific spot order
|
|
/// </summary>
|
|
/// <param name="request">Request info</param>
|
|
/// <param name="ct">Cancellation token</param>
|
|
Task<ExchangeWebResult<SharedUserTrade[]>> GetSpotOrderTradesAsync(GetOrderTradesRequest request, CancellationToken ct = default);
|
|
|
|
/// <summary>
|
|
/// Spot user trades request options
|
|
/// </summary>
|
|
GetUserTradesOptions GetSpotUserTradesOptions { get; }
|
|
/// <summary>
|
|
/// Get spot user trade records
|
|
/// </summary>
|
|
/// <param name="request">Request info</param>
|
|
/// <param name="nextPageToken">The pagination request from the previous request result `NextPageRequest` property to continue pagination</param>
|
|
/// <param name="ct">Cancellation token</param>
|
|
Task<ExchangeWebResult<SharedUserTrade[]>> GetSpotUserTradesAsync(GetUserTradesRequest request, PageRequest? nextPageToken = null, CancellationToken ct = default);
|
|
|
|
/// <summary>
|
|
/// Spot cancel order request options
|
|
/// </summary>
|
|
EndpointOptions<CancelOrderRequest> CancelSpotOrderOptions { get; }
|
|
/// <summary>
|
|
/// Cancel a spot order
|
|
/// </summary>
|
|
/// <param name="request">Request info</param>
|
|
/// <param name="ct">Cancellation token</param>
|
|
Task<ExchangeWebResult<SharedId>> CancelSpotOrderAsync(CancelOrderRequest request, CancellationToken ct = default);
|
|
|
|
}
|
|
}
|