v0.9.0
Changes
🚀 Features
- [Kraken] Withdrawal, cleanup @bezysoftware (#670)
- implemented OnUserDataWebSocketAsync() on Coinbase @vslee (#665)
- FTX Exchange Implemented @Plumbly (#663)
- [UNTESTED] [Binance] sapi endpoint, cleanup @bezysoftware (#655)
- [Coinbase] withdrawal @bezysoftware (#657)
- Standardize isPostOnly @vslee (#651)
- Added ability to GetOrderDetailsAsync() by ClientOrderId @vslee (#647)
- Moving to OKEx V5 API @BZ-CO (#638)
- Gate.io: GetAmounts + GetAmountsAvailableToTrade @gajewskiArek (#637)
- added Gate.io ExchangeAPI implementation @gajewskiArek (#636)
🐛 Bug Fixes
- FTX namespace update @Plumbly (#669)
- fix BinanceGroupCommon OnGetCurrenciesAsync() @BZ-CO (#664)
- [Coinbase] fix withdraw nonce @bezysoftware (#660)
- [Binance] Allow market order without price @bezysoftware (#653)
- [Poloniex] Parse withdrawalNumber @bezysoftware (#650)
- [Bitstamp] OnGetOrderDetailsAsync set orderId @bezysoftware (#648)
- Fixed setting Order.AveragePrice to null when Quantity is zero @vslee (#646)
- [Bitstamp] Populate order status @bezysoftware (#645)
- Fix parsing Bitfinex ticker symbol @bezysoftware (#640)
🧰 Maintenance
- new NuGet 0.9.0 @vslee (#671)
- Update README.md - grammar fixes @evil-maid (#672)
- Async ExchangeAPI init @bezysoftware (#668)
- Added Expired and PendingOpen to ExchangeAPIOrderResult @vslee (#667)
- Rewrite Binance OnGetUserDataWebSocketAsync() to be multi-exchange friendly @vslee (#661)
- Change binance UserDataStream classes back to internal @vslee (#659)
- More command line options for testing @bezysoftware (#658)
- Add setters to IAPIRequestHandler properties @vslee (#635)
💔 Breaking changes
- please switch to using the async version of
GetExchangeAPIAsync()
ExchangeOrderResult.FillDate
has been changed toCompletionDate
and made nullable. This is because this can represent either the Filled date or the Cancelled, Rejected, or Expired date. And it doesn't necessarily have a value.ExchangeOrderResult.AmountFilled
andExchangeOrderResult.Fees
changed to nullable. Not all exchanges provide these values on every call.- removed
listenKey
fromGetUserDataWebSocketAsync()
OnGetUserDataWebSocketAsync()
was rewrittenExchangeOrderRequest.IsPostOnly
was introduced
For the ExchangeAPIOrderResult
enum:
PendingOpen
is an important state that many exchanges have, which is separate fromOpen
- Renamed
Pending
state toOpen
- Renamed
Error
state toRejected
, since this is how most exchanges refer to it - Added
Expired
state, which is separate fromRejected