Skip to content

Commit

Permalink
binance: refactor and update QueryOrderTrades implementation
Browse files Browse the repository at this point in the history
  • Loading branch information
c9s committed May 24, 2024
1 parent bc71c95 commit 901272f
Showing 1 changed file with 16 additions and 23 deletions.
39 changes: 16 additions & 23 deletions pkg/exchange/binance/exchange.go
Original file line number Diff line number Diff line change
Expand Up @@ -745,6 +745,7 @@ func (e *Exchange) QueryOrderTrades(ctx context.Context, q types.OrderQuery) ([]
return nil, errors.New("binance: symbol parameter is a mandatory parameter for querying order trades")
}

var remoteTrades []binance.TradeV3
var trades []types.Trade

if e.IsMargin {
Expand All @@ -755,40 +756,32 @@ func (e *Exchange) QueryOrderTrades(ctx context.Context, q types.OrderQuery) ([]
req.IsIsolated(true)
}

remoteTrades, err := req.Do(ctx)
remoteTrades, err = req.Do(ctx)
if err != nil {
return nil, err
}

for _, t := range remoteTrades {
localTrade, err := toGlobalTrade(t, e.IsMargin)
if err != nil {
log.WithError(err).Errorf("binance: unable to convert margin trade: %+v", t)
continue
}

trades = append(trades, *localTrade)
}

} else {
remoteTrades, err := e.client.NewListTradesService().Symbol(q.Symbol).OrderId(orderID).Do(ctx)
req := e.client2.NewGetMyTradesRequest()
req.Symbol(q.Symbol).
OrderID(uint64(orderID))

remoteTrades, err = req.Do(ctx)
if err != nil {
return nil, err
}
}

for _, t := range remoteTrades {
localTrade, err := toGlobalTrade(*t, e.IsMargin)
if err != nil {
log.WithError(err).Errorf("binance: unable to convert trade: %+v", t)
continue
}

trades = append(trades, *localTrade)
for _, t := range remoteTrades {
localTrade, err := toGlobalTrade(t, e.IsMargin)
if err != nil {
log.WithError(err).Errorf("binance: unable to convert margin trade: %+v", t)
continue
}

trades = append(trades, *localTrade)
}

trades = types.SortTradesAscending(trades)
return trades, nil
return types.SortTradesAscending(trades), nil
}

func (e *Exchange) QueryOrder(ctx context.Context, q types.OrderQuery) (*types.Order, error) {
Expand Down

0 comments on commit 901272f

Please sign in to comment.