mirror of
https://github.com/d0zingcat/gocryptotrader.git
synced 2026-05-30 15:10:40 +00:00
exchanges: Update GateIO exchange to V4 (#1058)
* Adding Public Endpoints and test functions * Adding public endpoints and test functions * Adding private spot endpoints * Adding private endpoints and corresponding tests for margin * Adding Margin Private endpoints * Adding cross margin and flash swap endpoints * Adding futures private endpoints * Adding futures private endpoints and corresponding tests * Adding Options and SubAccount endpoints and their unit tests * Adding Wrapper functions * Complete wrapper functions and corresponding unit test functions * Fixing wrapper issues and adding websocket functions * Update of Spot websocket and adding futures websocket handlers * completed futures WS push data endpoints * Completed Options websocket endpoints * Adding websocket support for delivery futures and slight update on endpoint funcs * Added Delivery websocket support and fix linter issues * Update on Unit tests * fix slight currency format error * Fix slight endpoint tempos * Update on conditional statements and unit tests issues * fixing slight tempos * Slight model and websocket data push method change * Fix unit test tempos and updating models * Fix on code structures and update on unit tests * Slight code fix * Remove print statements * Update on tradable pairs fetch eps * Fix websocket tempos * Adding types to websocket routine manager * Fix slight issues * Slight fixes * Updating wrapper funcs and models * Slight update * Update on test * Update on tradable pairs * update conditional statements * Fixing slight issues * Updating unit tests * Minor fixes depending review comments * Remove redundant method declaration * Adding missing intervals * Updating fetch tradable pairs * update tradable pairs issues * Addressing small tempos * Slight fix on ticker * Minor Fixes * Minor review comment fixes * Unit test and minor code updates * Slight code updates * Minor updates depending review comments * Fixes * Updating incoming message matcher * Fix missing merge issue * Fix minor wrapper issues * Updating ratelimit and other issues * Updating endpoint models and adding missing eps * Update on code structure and models * Minor codespell fixes * Minor update on models * fix unit test panic * Minor race fix * Fix issues in generating signature and unit tests * Minor update on wrapper and unit tests * Minor fix on wrapper * Mini linter issues fix * Minor fix * endpoint fixes and slight update * Minor fixes * Updating exchange functions and unit tests * Unit test and wrapper updates * Remove options candlestick support * Minor unit test and wrapper fix * Unit test update * minor fix on unit test and wrapper * endpoints constants name change * Add minor wrapper issues * endpoint constants update * endpoint url updates * Updating subscriptions * fixing dual mode endpoint methods * minor fix * rm small tempo * Update on websocket orderbook handling * Orderbook and currency pair update * fix linter and test issues * minor helper function update * Fix wrapper coverage and wrapper issues * delete unused variables * Minor fix on ReadData() call * separating websocket handlers * separating websocket handlers * Minor fix on enabled pair * minor fix * check instrument availability in spot * create a separate subscriber for sake of multiple websocket connection * linter fix * minor websocket and gateio endpoints fix * fix nil pointer exception * minor fixes * spelling fix decerializes -> deserializes * fix Bitfinex unit test issues * minor unknown currency pair labling fix * minor currency pair handling fix * slight update on GetDepositAddress wrapper unit test * setting max request job to 200 * fixing numerical and timestamp type convert * fix value overflow error * change method of parsing orderbook price * unifying timestamp conversion types to gateioTime --------- Co-authored-by: Samuael Adnew <samuaelad@Samuaels-MacBook-Air.local>
This commit is contained in:
@@ -234,6 +234,24 @@ func (m *WebsocketRoutineManager) websocketDataHandler(exchName string, data int
|
||||
return err
|
||||
}
|
||||
m.syncer.PrintTickerSummary(d, "websocket", err)
|
||||
case []ticker.Price:
|
||||
for x := range d {
|
||||
if m.syncer.IsRunning() {
|
||||
err := m.syncer.Update(exchName,
|
||||
d[x].Pair,
|
||||
d[x].AssetType,
|
||||
SyncItemTicker,
|
||||
nil)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
err := ticker.ProcessTicker(&d[x])
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
m.syncer.PrintTickerSummary(&d[x], "websocket", err)
|
||||
}
|
||||
case stream.KlineData:
|
||||
if m.verbose {
|
||||
log.Infof(log.WebsocketMgr, "%s websocket %s %s kline updated %+v",
|
||||
@@ -242,6 +260,16 @@ func (m *WebsocketRoutineManager) websocketDataHandler(exchName string, data int
|
||||
d.AssetType,
|
||||
d)
|
||||
}
|
||||
case []stream.KlineData:
|
||||
for x := range d {
|
||||
if m.verbose {
|
||||
log.Infof(log.WebsocketMgr, "%s websocket %s %s kline updated %+v",
|
||||
exchName,
|
||||
m.FormatCurrency(d[x].Pair),
|
||||
d[x].AssetType,
|
||||
d)
|
||||
}
|
||||
}
|
||||
case *orderbook.Depth:
|
||||
base, err := d.Retrieve()
|
||||
if err != nil {
|
||||
@@ -281,6 +309,30 @@ func (m *WebsocketRoutineManager) websocketDataHandler(exchName string, data int
|
||||
}
|
||||
m.printOrderSummary(d, true)
|
||||
}
|
||||
case []order.Detail:
|
||||
for x := range d {
|
||||
if !m.orderManager.Exists(&d[x]) {
|
||||
err := m.orderManager.Add(&d[x])
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
m.printOrderSummary(&d[x], false)
|
||||
} else {
|
||||
od, err := m.orderManager.GetByExchangeAndID(d[x].Exchange, d[x].OrderID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
err = od.UpdateOrderFromDetail(&d[x])
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
err = m.orderManager.UpdateExistingOrder(od)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
m.printOrderSummary(&d[x], true)
|
||||
}
|
||||
}
|
||||
case order.ClassificationError:
|
||||
return fmt.Errorf("%w %s", d.Err, d.Error())
|
||||
case stream.UnhandledMessageWarning:
|
||||
@@ -289,6 +341,12 @@ func (m *WebsocketRoutineManager) websocketDataHandler(exchName string, data int
|
||||
if m.verbose {
|
||||
m.printAccountHoldingsChangeSummary(d)
|
||||
}
|
||||
case []account.Change:
|
||||
if m.verbose {
|
||||
for x := range d {
|
||||
m.printAccountHoldingsChangeSummary(d[x])
|
||||
}
|
||||
}
|
||||
case []trade.Data:
|
||||
if m.verbose {
|
||||
log.Infof(log.Trade, "%+v", d)
|
||||
|
||||
Reference in New Issue
Block a user