mirror of
https://github.com/JKorf/CryptoExchange.Net.git
synced 2026-08-19 20:33:03 +00:00
Shared exchange functionality (#214)
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
namespace CryptoExchange.Net.SharedApis
|
||||
{
|
||||
/// <summary>
|
||||
/// Fee asset selection type
|
||||
/// </summary>
|
||||
public enum SharedFeeAssetType
|
||||
{
|
||||
/// <summary>
|
||||
/// Fee is always in the base asset
|
||||
/// </summary>
|
||||
BaseAsset,
|
||||
/// <summary>
|
||||
/// Fee is always in the quote asset
|
||||
/// </summary>
|
||||
QuoteAsset,
|
||||
/// <summary>
|
||||
/// Fee is always in the input asset
|
||||
/// </summary>
|
||||
InputAsset,
|
||||
/// <summary>
|
||||
/// Fee is always in the output asset
|
||||
/// </summary>
|
||||
OutputAsset,
|
||||
/// <summary>
|
||||
/// Fee is variable
|
||||
/// </summary>
|
||||
Variable
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
namespace CryptoExchange.Net.SharedApis
|
||||
{
|
||||
/// <summary>
|
||||
/// Fee deduction type
|
||||
/// </summary>
|
||||
public enum SharedFeeDeductionType
|
||||
{
|
||||
/// <summary>
|
||||
/// The fee is deducted from the output amount. For example buying 1 ETH at 1000 USDT with a 1% fee would cost 1000 USDT and output 0.99 ETH
|
||||
/// </summary>
|
||||
DeductFromOutput,
|
||||
/// <summary>
|
||||
/// The fee is added to the order cost. For example buying 1 ETH at 1000 USDT with a 1% fee would cost 1010 USDT and output 1 ETH
|
||||
/// </summary>
|
||||
AddToCost
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
namespace CryptoExchange.Net.SharedApis
|
||||
{
|
||||
/// <summary>
|
||||
/// Kline interval
|
||||
/// </summary>
|
||||
public enum SharedKlineInterval
|
||||
{
|
||||
/// <summary>
|
||||
/// 5 min
|
||||
/// </summary>
|
||||
FiveMinutes = 60 * 5,
|
||||
/// <summary>
|
||||
/// 15 min
|
||||
/// </summary>
|
||||
FifteenMinutes = 60 * 15,
|
||||
/// <summary>
|
||||
/// 1 hour
|
||||
/// </summary>
|
||||
OneHour = 60 * 60,
|
||||
/// <summary>
|
||||
/// 1 day
|
||||
/// </summary>
|
||||
OneDay = 60 * 60 * 24,
|
||||
/// <summary>
|
||||
/// 1 week
|
||||
/// </summary>
|
||||
OneWeek = 60 * 60 * 24 * 7,
|
||||
/// <summary>
|
||||
/// 1 month
|
||||
/// </summary>
|
||||
OneMonth = 60 * 60 * 24 * 30
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
namespace CryptoExchange.Net.SharedApis
|
||||
{
|
||||
/// <summary>
|
||||
/// Leverage setting mode
|
||||
/// </summary>
|
||||
public enum SharedLeverageSettingMode
|
||||
{
|
||||
/// <summary>
|
||||
/// Leverage is configured per side (in hedge mode)
|
||||
/// </summary>
|
||||
PerSide,
|
||||
/// <summary>
|
||||
/// Leverage is configured for the symbol
|
||||
/// </summary>
|
||||
PerSymbol
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
namespace CryptoExchange.Net.SharedApis
|
||||
{
|
||||
/// <summary>
|
||||
/// Margin mode
|
||||
/// </summary>
|
||||
public enum SharedMarginMode
|
||||
{
|
||||
/// <summary>
|
||||
/// Cross margin, margin is shared across symbols
|
||||
/// </summary>
|
||||
Cross,
|
||||
/// <summary>
|
||||
/// Isolated margin, margin is isolated on a symbol
|
||||
/// </summary>
|
||||
Isolated
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
namespace CryptoExchange.Net.SharedApis
|
||||
{
|
||||
/// <summary>
|
||||
/// Side of an order
|
||||
/// </summary>
|
||||
public enum SharedOrderSide
|
||||
{
|
||||
/// <summary>
|
||||
/// Buy order
|
||||
/// </summary>
|
||||
Buy,
|
||||
/// <summary>
|
||||
/// Sell order
|
||||
/// </summary>
|
||||
Sell
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
namespace CryptoExchange.Net.SharedApis
|
||||
{
|
||||
/// <summary>
|
||||
/// Status of an order
|
||||
/// </summary>
|
||||
public enum SharedOrderStatus
|
||||
{
|
||||
/// <summary>
|
||||
/// Order is open waiting to be filled
|
||||
/// </summary>
|
||||
Open,
|
||||
/// <summary>
|
||||
/// Order has been fully filled
|
||||
/// </summary>
|
||||
Filled,
|
||||
/// <summary>
|
||||
/// Order has been canceled
|
||||
/// </summary>
|
||||
Canceled
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
namespace CryptoExchange.Net.SharedApis
|
||||
{
|
||||
/// <summary>
|
||||
/// Type of an order
|
||||
/// </summary>
|
||||
public enum SharedOrderType
|
||||
{
|
||||
/// <summary>
|
||||
/// Limit order, execute at a specific price
|
||||
/// </summary>
|
||||
Limit,
|
||||
/// <summary>
|
||||
/// Limit maker order, a limit order with the condition that is will never be executed as a maker
|
||||
/// </summary>
|
||||
LimitMaker,
|
||||
/// <summary>
|
||||
/// Market order, execute at the best price currently available
|
||||
/// </summary>
|
||||
Market,
|
||||
/// <summary>
|
||||
/// Other order type, used for parsing unsupported order types
|
||||
/// </summary>
|
||||
Other
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
namespace CryptoExchange.Net.SharedApis
|
||||
{
|
||||
/// <summary>
|
||||
/// Supported pagination type
|
||||
/// </summary>
|
||||
public enum SharedPaginationSupport
|
||||
{
|
||||
/// <summary>
|
||||
/// Pagination is not supported for this exchange request
|
||||
/// </summary>
|
||||
NotSupported,
|
||||
/// <summary>
|
||||
/// Pagination is in ascending order
|
||||
/// </summary>
|
||||
Ascending,
|
||||
/// <summary>
|
||||
/// Pagination is in descending order
|
||||
/// </summary>
|
||||
Descending
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
namespace CryptoExchange.Net.SharedApis
|
||||
{
|
||||
/// <summary>
|
||||
/// Position mode
|
||||
/// </summary>
|
||||
public enum SharedPositionMode
|
||||
{
|
||||
/// <summary>
|
||||
/// Hedge mode, a symbol can have both a long and a short position at the same time
|
||||
/// </summary>
|
||||
HedgeMode,
|
||||
/// <summary>
|
||||
/// One way mode, a symbol can only have one open position side at a time
|
||||
/// </summary>
|
||||
OneWay
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
namespace CryptoExchange.Net.SharedApis
|
||||
{
|
||||
/// <summary>
|
||||
/// Position mode selection type
|
||||
/// </summary>
|
||||
public enum SharedPositionModeSelection
|
||||
{
|
||||
/// <summary>
|
||||
/// Position mode is configured per symbol
|
||||
/// </summary>
|
||||
PerSymbol,
|
||||
/// <summary>
|
||||
/// Position mode is configured for the entire account
|
||||
/// </summary>
|
||||
PerAccount
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
namespace CryptoExchange.Net.SharedApis
|
||||
{
|
||||
/// <summary>
|
||||
/// The side of a position
|
||||
/// </summary>
|
||||
public enum SharedPositionSide
|
||||
{
|
||||
/// <summary>
|
||||
/// Long position
|
||||
/// </summary>
|
||||
Long,
|
||||
/// <summary>
|
||||
/// Short position
|
||||
/// </summary>
|
||||
Short
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
namespace CryptoExchange.Net.SharedApis
|
||||
{
|
||||
/// <summary>
|
||||
/// Quote asset order quantity support
|
||||
/// </summary>
|
||||
public enum SharedQuantityType
|
||||
{
|
||||
/// <summary>
|
||||
/// Quantity should be in the base asset
|
||||
/// </summary>
|
||||
BaseAsset,
|
||||
/// <summary>
|
||||
/// Quantity should be in the quote asset
|
||||
/// </summary>
|
||||
QuoteAsset,
|
||||
/// <summary>
|
||||
/// Quantity is in the number of contracts
|
||||
/// </summary>
|
||||
Contracts,
|
||||
/// <summary>
|
||||
/// Quantity can be either base or quote quantity
|
||||
/// </summary>
|
||||
BaseAndQuoteAsset
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
namespace CryptoExchange.Net.SharedApis
|
||||
{
|
||||
/// <summary>
|
||||
/// The role of a trade
|
||||
/// </summary>
|
||||
public enum SharedRole
|
||||
{
|
||||
/// <summary>
|
||||
/// Maker role, put an order on the order book which has been filled
|
||||
/// </summary>
|
||||
Maker,
|
||||
/// <summary>
|
||||
/// Taker role, took an order of the order book to fill
|
||||
/// </summary>
|
||||
Taker
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
namespace CryptoExchange.Net.SharedApis
|
||||
{
|
||||
/// <summary>
|
||||
/// Type of a symbol
|
||||
/// </summary>
|
||||
public enum SharedSymbolType
|
||||
{
|
||||
/// <summary>
|
||||
/// Perpetual linear, contract has no delivery date and is settled in stablecoin
|
||||
/// </summary>
|
||||
PerpetualLinear,
|
||||
/// <summary>
|
||||
/// Perpetual inverse, contract has no delivery date and is settled in crypto
|
||||
/// </summary>
|
||||
PerpetualInverse,
|
||||
/// <summary>
|
||||
/// Delivery linear, contract has a specific delivery date and is settled in stablecoin
|
||||
/// </summary>
|
||||
DeliveryLinear,
|
||||
/// <summary>
|
||||
/// Delivery inverse, contract has a specific delivery date and is settled in crypto
|
||||
/// </summary>
|
||||
DeliveryInverse
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
namespace CryptoExchange.Net.SharedApis
|
||||
{
|
||||
/// <summary>
|
||||
/// Time in force for an order
|
||||
/// </summary>
|
||||
public enum SharedTimeInForce
|
||||
{
|
||||
/// <summary>
|
||||
/// Order is good until canceled
|
||||
/// </summary>
|
||||
GoodTillCanceled,
|
||||
/// <summary>
|
||||
/// Order should execute immediately, not executed part is canceled
|
||||
/// </summary>
|
||||
ImmediateOrCancel,
|
||||
/// <summary>
|
||||
/// Order should execute fully immediately or is fully canceled
|
||||
/// </summary>
|
||||
FillOrKill
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
namespace CryptoExchange.Net.SharedApis
|
||||
{
|
||||
/// <summary>
|
||||
/// Trading mode
|
||||
/// </summary>
|
||||
public enum TradingMode
|
||||
{
|
||||
/// <summary>
|
||||
/// Spot trading
|
||||
/// </summary>
|
||||
Spot,
|
||||
/// <summary>
|
||||
/// Perpetual linear futures
|
||||
/// </summary>
|
||||
PerpetualLinear,
|
||||
/// <summary>
|
||||
/// Delivery linear futures
|
||||
/// </summary>
|
||||
DeliveryLinear,
|
||||
/// <summary>
|
||||
/// Perpetual inverse futures
|
||||
/// </summary>
|
||||
PerpetualInverse,
|
||||
/// <summary>
|
||||
/// Delivery inverse futures
|
||||
/// </summary>
|
||||
DeliveryInverse
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user