From 6de0606d559eb0b29cac95ffb5608d7585dc8149 Mon Sep 17 00:00:00 2001 From: Adrian Gallagher Date: Tue, 25 Jun 2019 17:44:46 +1000 Subject: [PATCH] Add order validation test code and use GetPairFormat where necessary --- exchanges/bitstamp/bitstamp_wrapper.go | 2 +- exchanges/bittrex/bittrex_wrapper.go | 4 +- exchanges/btcmarkets/btcmarkets_wrapper.go | 2 +- exchanges/btse/btse_wrapper.go | 4 +- exchanges/coinbasepro/coinbasepro_wrapper.go | 4 +- exchanges/gateio/gateio_wrapper.go | 6 +- exchanges/gemini/gemini_wrapper.go | 2 +- exchanges/hitbtc/hitbtc_wrapper.go | 4 +- exchanges/huobihadax/huobihadax_wrapper.go | 4 +- exchanges/itbit/itbit_wrapper.go | 4 +- exchanges/kraken/kraken.go | 6 +- exchanges/kraken/kraken_wrapper.go | 14 ++-- exchanges/lakebtc/lakebtc_wrapper.go | 5 +- exchanges/okgroup/okgroup_wrapper.go | 2 +- exchanges/order_test.go | 81 ++++++++++++++++++++ exchanges/order_types.go | 21 +++-- exchanges/poloniex/poloniex_wrapper.go | 4 +- exchanges/yobit/yobit_wrapper.go | 4 +- exchanges/zb/zb_wrapper.go | 4 +- 19 files changed, 134 insertions(+), 43 deletions(-) create mode 100644 exchanges/order_test.go diff --git a/exchanges/bitstamp/bitstamp_wrapper.go b/exchanges/bitstamp/bitstamp_wrapper.go index 9e1d4b22..686e778e 100644 --- a/exchanges/bitstamp/bitstamp_wrapper.go +++ b/exchanges/bitstamp/bitstamp_wrapper.go @@ -505,7 +505,7 @@ func (b *Bitstamp) GetOrderHistory(getOrdersRequest *exchange.GetOrdersRequest) if quoteCurrency.String() != "" && baseCurrency.String() != "" { currPair = currency.NewPairWithDelimiter(baseCurrency.String(), quoteCurrency.String(), - b.CurrencyPairs.Get(asset.Spot).ConfigFormat.Delimiter) + b.GetPairFormat(asset.Spot, false).Delimiter) } orderDate := time.Unix(order.Date, 0) orders = append(orders, exchange.OrderDetail{ diff --git a/exchanges/bittrex/bittrex_wrapper.go b/exchanges/bittrex/bittrex_wrapper.go index ba6ef544..579fa626 100644 --- a/exchanges/bittrex/bittrex_wrapper.go +++ b/exchanges/bittrex/bittrex_wrapper.go @@ -429,7 +429,7 @@ func (b *Bittrex) GetActiveOrders(getOrdersRequest *exchange.GetOrdersRequest) ( } pair := currency.NewPairDelimiter(resp.Result[i].Exchange, - b.CurrencyPairs.Get(asset.Spot).ConfigFormat.Delimiter) + b.GetPairFormat(asset.Spot, false).Delimiter) orderType := exchange.OrderType(strings.ToUpper(resp.Result[i].Type)) orders = append(orders, exchange.OrderDetail{ @@ -473,7 +473,7 @@ func (b *Bittrex) GetOrderHistory(getOrdersRequest *exchange.GetOrdersRequest) ( } pair := currency.NewPairDelimiter(resp.Result[i].Exchange, - b.CurrencyPairs.Get(asset.Spot).ConfigFormat.Delimiter) + b.GetPairFormat(asset.Spot, false).Delimiter) orderType := exchange.OrderType(strings.ToUpper(resp.Result[i].Type)) orders = append(orders, exchange.OrderDetail{ diff --git a/exchanges/btcmarkets/btcmarkets_wrapper.go b/exchanges/btcmarkets/btcmarkets_wrapper.go index 75231916..ab76f7ba 100644 --- a/exchanges/btcmarkets/btcmarkets_wrapper.go +++ b/exchanges/btcmarkets/btcmarkets_wrapper.go @@ -399,7 +399,7 @@ func (b *BTCMarkets) GetOrderInfo(orderID string) (exchange.OrderDetail, error) OrderDetail.Status = orders[i].Status OrderDetail.CurrencyPair = currency.NewPairWithDelimiter(orders[i].Instrument, orders[i].Currency, - b.CurrencyPairs.Get(asset.Spot).ConfigFormat.Delimiter) + b.GetPairFormat(asset.Spot, false).Delimiter) } return OrderDetail, nil diff --git a/exchanges/btse/btse_wrapper.go b/exchanges/btse/btse_wrapper.go index 4f591a10..081740b5 100644 --- a/exchanges/btse/btse_wrapper.go +++ b/exchanges/btse/btse_wrapper.go @@ -355,7 +355,7 @@ func (b *BTSE) GetOrderInfo(orderID string) (exchange.OrderDetail, error) { } od.CurrencyPair = currency.NewPairDelimiter(o.ProductID, - b.CurrencyPairs.Get(asset.Spot).ConfigFormat.Delimiter) + b.GetPairFormat(asset.Spot, false).Delimiter) od.Exchange = b.Name od.Amount = o.Amount od.ID = o.ID @@ -432,7 +432,7 @@ func (b *BTSE) GetActiveOrders(getOrdersRequest *exchange.GetOrdersRequest) ([]e openOrder := exchange.OrderDetail{ CurrencyPair: currency.NewPairDelimiter(order.ProductID, - b.CurrencyPairs.Get(asset.Spot).ConfigFormat.Delimiter), + b.GetPairFormat(asset.Spot, false).Delimiter), Exchange: b.Name, Amount: order.Amount, ID: order.ID, diff --git a/exchanges/coinbasepro/coinbasepro_wrapper.go b/exchanges/coinbasepro/coinbasepro_wrapper.go index 9a71c5e1..79b16add 100644 --- a/exchanges/coinbasepro/coinbasepro_wrapper.go +++ b/exchanges/coinbasepro/coinbasepro_wrapper.go @@ -428,7 +428,7 @@ func (c *CoinbasePro) GetActiveOrders(getOrdersRequest *exchange.GetOrdersReques var orders []exchange.OrderDetail for i := range respOrders { currency := currency.NewPairDelimiter(respOrders[i].ProductID, - c.CurrencyPairs.Get(asset.Spot).ConfigFormat.Delimiter) + c.GetPairFormat(asset.Spot, false).Delimiter) orderSide := exchange.OrderSide(strings.ToUpper(respOrders[i].Side)) orderType := exchange.OrderType(strings.ToUpper(respOrders[i].Type)) orderDate, err := time.Parse(time.RFC3339, respOrders[i].CreatedAt) @@ -471,7 +471,7 @@ func (c *CoinbasePro) GetOrderHistory(getOrdersRequest *exchange.GetOrdersReques var orders []exchange.OrderDetail for i := range respOrders { currency := currency.NewPairDelimiter(respOrders[i].ProductID, - c.CurrencyPairs.Get(asset.Spot).ConfigFormat.Delimiter) + c.GetPairFormat(asset.Spot, false).Delimiter) orderSide := exchange.OrderSide(strings.ToUpper(respOrders[i].Side)) orderType := exchange.OrderType(strings.ToUpper(respOrders[i].Type)) orderDate, err := time.Parse(time.RFC3339, respOrders[i].CreatedAt) diff --git a/exchanges/gateio/gateio_wrapper.go b/exchanges/gateio/gateio_wrapper.go index 9de26b67..ae9940f7 100644 --- a/exchanges/gateio/gateio_wrapper.go +++ b/exchanges/gateio/gateio_wrapper.go @@ -419,7 +419,7 @@ func (g *Gateio) GetOrderInfo(orderID string) (exchange.OrderDetail, error) { orderDetail.Status = orders.Orders[x].Status orderDetail.Price = orders.Orders[x].Rate orderDetail.CurrencyPair = currency.NewPairDelimiter(orders.Orders[x].CurrencyPair, - g.CurrencyPairs.Get(asset.Spot).ConfigFormat.Delimiter) + g.GetPairFormat(asset.Spot, false).Delimiter) if strings.EqualFold(orders.Orders[x].Type, exchange.AskOrderSide.ToString()) { orderDetail.OrderSide = exchange.AskOrderSide } else if strings.EqualFold(orders.Orders[x].Type, exchange.BidOrderSide.ToString()) { @@ -505,7 +505,7 @@ func (g *Gateio) GetActiveOrders(getOrdersRequest *exchange.GetOrdersRequest) ([ } symbol := currency.NewPairDelimiter(resp.Orders[i].CurrencyPair, - g.CurrencyPairs.Get(asset.Spot).ConfigFormat.Delimiter) + g.GetPairFormat(asset.Spot, false).Delimiter) side := exchange.OrderSide(strings.ToUpper(resp.Orders[i].Type)) orderDate := time.Unix(resp.Orders[i].Timestamp, 0) @@ -542,7 +542,7 @@ func (g *Gateio) GetOrderHistory(getOrdersRequest *exchange.GetOrdersRequest) ([ var orders []exchange.OrderDetail for _, trade := range trades { symbol := currency.NewPairDelimiter(trade.Pair, - g.CurrencyPairs.Get(asset.Spot).ConfigFormat.Delimiter) + g.GetPairFormat(asset.Spot, false).Delimiter) side := exchange.OrderSide(strings.ToUpper(trade.Type)) orderDate := time.Unix(trade.TimeUnix, 0) orders = append(orders, exchange.OrderDetail{ diff --git a/exchanges/gemini/gemini_wrapper.go b/exchanges/gemini/gemini_wrapper.go index 11bb0c2c..05ff5f9c 100644 --- a/exchanges/gemini/gemini_wrapper.go +++ b/exchanges/gemini/gemini_wrapper.go @@ -389,7 +389,7 @@ func (g *Gemini) GetActiveOrders(getOrdersRequest *exchange.GetOrdersRequest) ([ var orders []exchange.OrderDetail for i := range resp { symbol := currency.NewPairDelimiter(resp[i].Symbol, - g.CurrencyPairs.Get(asset.Spot).ConfigFormat.Delimiter) + g.GetPairFormat(asset.Spot, false).Delimiter) var orderType exchange.OrderType if resp[i].Type == "exchange limit" { orderType = exchange.LimitOrderType diff --git a/exchanges/hitbtc/hitbtc_wrapper.go b/exchanges/hitbtc/hitbtc_wrapper.go index 99734a78..e7c7aab8 100644 --- a/exchanges/hitbtc/hitbtc_wrapper.go +++ b/exchanges/hitbtc/hitbtc_wrapper.go @@ -425,7 +425,7 @@ func (h *HitBTC) GetActiveOrders(getOrdersRequest *exchange.GetOrdersRequest) ([ var orders []exchange.OrderDetail for i := range allOrders { symbol := currency.NewPairDelimiter(allOrders[i].Symbol, - h.CurrencyPairs.Get(asset.Spot).ConfigFormat.Delimiter) + h.GetPairFormat(asset.Spot, false).Delimiter) side := exchange.OrderSide(strings.ToUpper(allOrders[i].Side)) orders = append(orders, exchange.OrderDetail{ ID: allOrders[i].ID, @@ -463,7 +463,7 @@ func (h *HitBTC) GetOrderHistory(getOrdersRequest *exchange.GetOrdersRequest) ([ var orders []exchange.OrderDetail for i := range allOrders { symbol := currency.NewPairDelimiter(allOrders[i].Symbol, - h.CurrencyPairs.Get(asset.Spot).ConfigFormat.Delimiter) + h.GetPairFormat(asset.Spot, false).Delimiter) side := exchange.OrderSide(strings.ToUpper(allOrders[i].Side)) orders = append(orders, exchange.OrderDetail{ ID: allOrders[i].ID, diff --git a/exchanges/huobihadax/huobihadax_wrapper.go b/exchanges/huobihadax/huobihadax_wrapper.go index fc50405a..d39637c3 100644 --- a/exchanges/huobihadax/huobihadax_wrapper.go +++ b/exchanges/huobihadax/huobihadax_wrapper.go @@ -500,7 +500,7 @@ func (h *HUOBIHADAX) GetActiveOrders(getOrdersRequest *exchange.GetOrdersRequest var orders []exchange.OrderDetail for i := range allOrders { symbol := currency.NewPairDelimiter(allOrders[i].Symbol, - h.CurrencyPairs.Get(asset.Spot).ConfigFormat.Delimiter) + h.GetPairFormat(asset.Spot, false).Delimiter) orderDate := time.Unix(0, allOrders[i].CreatedAt*int64(time.Millisecond)) orders = append(orders, exchange.OrderDetail{ @@ -546,7 +546,7 @@ func (h *HUOBIHADAX) GetOrderHistory(getOrdersRequest *exchange.GetOrdersRequest var orders []exchange.OrderDetail for i := range allOrders { symbol := currency.NewPairDelimiter(allOrders[i].Symbol, - h.CurrencyPairs.Get(asset.Spot).ConfigFormat.Delimiter) + h.GetPairFormat(asset.Spot, false).Delimiter) orderDate := time.Unix(0, allOrders[i].CreatedAt*int64(time.Millisecond)) orders = append(orders, exchange.OrderDetail{ diff --git a/exchanges/itbit/itbit_wrapper.go b/exchanges/itbit/itbit_wrapper.go index 07963c36..d59f5dac 100644 --- a/exchanges/itbit/itbit_wrapper.go +++ b/exchanges/itbit/itbit_wrapper.go @@ -420,7 +420,7 @@ func (i *ItBit) GetActiveOrders(getOrdersRequest *exchange.GetOrdersRequest) ([] var orders []exchange.OrderDetail for j := range allOrders { symbol := currency.NewPairDelimiter(allOrders[j].Instrument, - i.CurrencyPairs.Get(asset.Spot).ConfigFormat.Delimiter) + i.GetPairFormat(asset.Spot, false).Delimiter) side := exchange.OrderSide(strings.ToUpper(allOrders[j].Side)) orderDate, err := time.Parse(time.RFC3339, allOrders[j].CreatedTime) if err != nil { @@ -471,7 +471,7 @@ func (i *ItBit) GetOrderHistory(getOrdersRequest *exchange.GetOrdersRequest) ([] } symbol := currency.NewPairDelimiter(allOrders[j].Instrument, - i.CurrencyPairs.Get(asset.Spot).ConfigFormat.Delimiter) + i.GetPairFormat(asset.Spot, false).Delimiter) side := exchange.OrderSide(strings.ToUpper(allOrders[j].Side)) orderDate, err := time.Parse(time.RFC3339, allOrders[j].CreatedTime) if err != nil { diff --git a/exchanges/kraken/kraken.go b/exchanges/kraken/kraken.go index be73a5ac..153ec417 100644 --- a/exchanges/kraken/kraken.go +++ b/exchanges/kraken/kraken.go @@ -767,15 +767,15 @@ func (k *Kraken) AddOrder(symbol, side, orderType string, volume, price, price2, params.Set("leverage", strconv.FormatFloat(leverage, 'f', -1, 64)) } - if args.Oflags == "" { + if args.Oflags != "" { params.Set("oflags", args.Oflags) } - if args.StartTm == "" { + if args.StartTm != "" { params.Set("starttm", args.StartTm) } - if args.ExpireTm == "" { + if args.ExpireTm != "" { params.Set("expiretm", args.ExpireTm) } diff --git a/exchanges/kraken/kraken_wrapper.go b/exchanges/kraken/kraken_wrapper.go index 8ee63788..3fa3f282 100644 --- a/exchanges/kraken/kraken_wrapper.go +++ b/exchanges/kraken/kraken_wrapper.go @@ -446,10 +446,10 @@ func (k *Kraken) GetActiveOrders(getOrdersRequest *exchange.GetOrdersRequest) ([ var orders []exchange.OrderDetail for i := range resp.Open { - symbol := currency.NewPairDelimiter(resp.Open[i].Descr.Pair, - k.CurrencyPairs.Get(asset.Spot).ConfigFormat.Delimiter) + symbol := currency.NewPairFromString(resp.Open[i].Descr.Pair) orderDate := time.Unix(int64(resp.Open[i].StartTm), 0) side := exchange.OrderSide(strings.ToUpper(resp.Open[i].Descr.Type)) + orderType := exchange.OrderType(strings.ToUpper(resp.Open[i].Descr.OrderType)) orders = append(orders, exchange.OrderDetail{ ID: i, @@ -458,8 +458,9 @@ func (k *Kraken) GetActiveOrders(getOrdersRequest *exchange.GetOrdersRequest) ([ ExecutedAmount: resp.Open[i].VolExec, Exchange: k.Name, OrderDate: orderDate, - Price: resp.Open[i].Price, + Price: resp.Open[i].Descr.Price, OrderSide: side, + OrderType: orderType, CurrencyPair: symbol, }) } @@ -489,10 +490,10 @@ func (k *Kraken) GetOrderHistory(getOrdersRequest *exchange.GetOrdersRequest) ([ var orders []exchange.OrderDetail for i := range resp.Closed { - symbol := currency.NewPairDelimiter(resp.Closed[i].Descr.Pair, - k.CurrencyPairs.Get(asset.Spot).ConfigFormat.Delimiter) + symbol := currency.NewPairFromString(resp.Closed[i].Descr.Pair) orderDate := time.Unix(int64(resp.Closed[i].StartTm), 0) side := exchange.OrderSide(strings.ToUpper(resp.Closed[i].Descr.Type)) + orderType := exchange.OrderType(strings.ToUpper(resp.Closed[i].Descr.OrderType)) orders = append(orders, exchange.OrderDetail{ ID: i, @@ -501,8 +502,9 @@ func (k *Kraken) GetOrderHistory(getOrdersRequest *exchange.GetOrdersRequest) ([ ExecutedAmount: resp.Closed[i].VolExec, Exchange: k.Name, OrderDate: orderDate, - Price: resp.Closed[i].Price, + Price: resp.Closed[i].Descr.Price, OrderSide: side, + OrderType: orderType, CurrencyPair: symbol, }) } diff --git a/exchanges/lakebtc/lakebtc_wrapper.go b/exchanges/lakebtc/lakebtc_wrapper.go index 87ff7b58..0101c816 100644 --- a/exchanges/lakebtc/lakebtc_wrapper.go +++ b/exchanges/lakebtc/lakebtc_wrapper.go @@ -394,7 +394,8 @@ func (l *LakeBTC) GetActiveOrders(getOrdersRequest *exchange.GetOrdersRequest) ( var orders []exchange.OrderDetail for _, order := range resp { - symbol := currency.NewPairDelimiter(order.Symbol, l.CurrencyPairs.Get(asset.Spot).ConfigFormat.Delimiter) + symbol := currency.NewPairDelimiter(order.Symbol, + l.GetPairFormat(asset.Spot, false).Delimiter) orderDate := time.Unix(order.At, 0) side := exchange.OrderSide(strings.ToUpper(order.Type)) @@ -431,7 +432,7 @@ func (l *LakeBTC) GetOrderHistory(getOrdersRequest *exchange.GetOrdersRequest) ( } symbol := currency.NewPairDelimiter(order.Symbol, - l.CurrencyPairs.Get(asset.Spot).ConfigFormat.Delimiter) + l.GetPairFormat(asset.Spot, false).Delimiter) orderDate := time.Unix(order.At, 0) side := exchange.OrderSide(strings.ToUpper(order.Type)) diff --git a/exchanges/okgroup/okgroup_wrapper.go b/exchanges/okgroup/okgroup_wrapper.go index 572ae026..616b62fe 100644 --- a/exchanges/okgroup/okgroup_wrapper.go +++ b/exchanges/okgroup/okgroup_wrapper.go @@ -302,7 +302,7 @@ func (o *OKGroup) GetOrderInfo(orderID string) (resp exchange.OrderDetail, err e resp = exchange.OrderDetail{ Amount: order.Size, CurrencyPair: currency.NewPairDelimiter(order.InstrumentID, - o.CurrencyPairs.Get(asset.Spot).ConfigFormat.Delimiter), + o.GetPairFormat(asset.Spot, false).Delimiter), Exchange: o.Name, OrderDate: order.Timestamp, ExecutedAmount: order.FilledSize, diff --git a/exchanges/order_test.go b/exchanges/order_test.go new file mode 100644 index 00000000..94f2bc02 --- /dev/null +++ b/exchanges/order_test.go @@ -0,0 +1,81 @@ +package exchange + +import ( + "testing" + + "github.com/thrasher-/gocryptotrader/currency" +) + +func TestValidate(t *testing.T) { + testPair := currency.NewPair(currency.BTC, currency.LTC) + tester := []struct { + Pair currency.Pair + Side OrderSide + Type OrderType + Amount float64 + Price float64 + ExpectedErr error + }{ + { + ExpectedErr: ErrOrderPairIsEmpty, + }, // empty pair + { + Pair: testPair, + ExpectedErr: ErrOrderSideIsInvalid, + }, // valid pair but invalid order side + { + Pair: testPair, + Side: BuyOrderSide, + ExpectedErr: ErrOrderTypeIsInvalid, + }, // valid pair and order side but invalid order type + { + Pair: testPair, + Side: SellOrderSide, + ExpectedErr: ErrOrderTypeIsInvalid, + }, // valid pair and order side but invalid order type + { + Pair: testPair, + Side: BidOrderSide, + ExpectedErr: ErrOrderTypeIsInvalid, + }, // valid pair and order side but invalid order type + { + Pair: testPair, + Side: AskOrderSide, + ExpectedErr: ErrOrderTypeIsInvalid, + }, // valid pair and order side but invalid order type + { + Pair: testPair, + Side: AskOrderSide, + Type: MarketOrderType, + ExpectedErr: ErrOrderAmountIsInvalid, + }, // valid pair, order side, type but invalid amount + { + Pair: testPair, + Side: AskOrderSide, + Type: LimitOrderType, + Amount: 1, + ExpectedErr: ErrOrderPriceMustBeSetIfLimitOrder, + }, // valid pair, order side, type, amount but invalid price + { + Pair: testPair, + Side: AskOrderSide, + Type: LimitOrderType, + Amount: 1, + Price: 1000, + ExpectedErr: nil, + }, // valid order! + } + + for x := range tester { + s := OrderSubmission{ + Pair: tester[x].Pair, + OrderSide: tester[x].Side, + OrderType: tester[x].Type, + Amount: tester[x].Amount, + Price: tester[x].Price, + } + if err := s.Validate(); err != tester[x].ExpectedErr { + t.Errorf("Unexpected result. Got: %s, want: %s", err, tester[x].ExpectedErr) + } + } +} diff --git a/exchanges/order_types.go b/exchanges/order_types.go index ae5375c1..7f2b9523 100644 --- a/exchanges/order_types.go +++ b/exchanges/order_types.go @@ -13,7 +13,12 @@ import ( // vars related to orders var ( - ErrOrderSubmissionIsNil = errors.New("order submission is nil") + ErrOrderSubmissionIsNil = errors.New("order submission is nil") + ErrOrderPairIsEmpty = errors.New("order pair is empty") + ErrOrderSideIsInvalid = errors.New("order side is invalid") + ErrOrderTypeIsInvalid = errors.New("order type is invalid") + ErrOrderAmountIsInvalid = errors.New("order amount is invalid") + ErrOrderPriceMustBeSetIfLimitOrder = errors.New("order price must be set if limit order type is desired") ) // OrderSubmission contains the order submission data @@ -29,24 +34,26 @@ type OrderSubmission struct { // Validate checks the supplied data and returns whether or not its valid func (o *OrderSubmission) Validate() error { if o.Pair.IsEmpty() { - return errors.New("order pair is empty") + return ErrOrderPairIsEmpty } - if o.OrderSide != BuyOrderSide && o.OrderSide != SellOrderSide || + o.OrderSide = OrderSide(strings.ToUpper(o.OrderSide.ToString())) + if o.OrderSide != BuyOrderSide && o.OrderSide != SellOrderSide && o.OrderSide != BidOrderSide && o.OrderSide != AskOrderSide { - return errors.New("order side is invalid") + return ErrOrderSideIsInvalid } + o.OrderType = OrderType(strings.ToUpper(o.OrderType.ToString())) if o.OrderType != MarketOrderType && o.OrderType != LimitOrderType { - return errors.New("order type is invalid") + return ErrOrderTypeIsInvalid } if o.Amount <= 0 { - return errors.New("order amount is invalid") + return ErrOrderAmountIsInvalid } if o.OrderType == LimitOrderType && o.Price <= 0 { - return errors.New("order price must be set if limit order type is desired") + return ErrOrderPriceMustBeSetIfLimitOrder } return nil diff --git a/exchanges/poloniex/poloniex_wrapper.go b/exchanges/poloniex/poloniex_wrapper.go index f0ab0cc3..f1f945de 100644 --- a/exchanges/poloniex/poloniex_wrapper.go +++ b/exchanges/poloniex/poloniex_wrapper.go @@ -446,7 +446,7 @@ func (p *Poloniex) GetActiveOrders(getOrdersRequest *exchange.GetOrdersRequest) var orders []exchange.OrderDetail for currencyPair, openOrders := range resp.Data { symbol := currency.NewPairDelimiter(currencyPair, - p.CurrencyPairs.Get(asset.Spot).ConfigFormat.Delimiter) + p.GetPairFormat(asset.Spot, false).Delimiter) for _, order := range openOrders { orderSide := exchange.OrderSide(strings.ToUpper(order.Type)) @@ -488,7 +488,7 @@ func (p *Poloniex) GetOrderHistory(getOrdersRequest *exchange.GetOrdersRequest) var orders []exchange.OrderDetail for currencyPair, historicOrders := range resp.Data { symbol := currency.NewPairDelimiter(currencyPair, - p.CurrencyPairs.Get(asset.Spot).ConfigFormat.Delimiter) + p.GetPairFormat(asset.Spot, false).Delimiter) for _, order := range historicOrders { orderSide := exchange.OrderSide(strings.ToUpper(order.Type)) diff --git a/exchanges/yobit/yobit_wrapper.go b/exchanges/yobit/yobit_wrapper.go index 2d5ac159..65b0898d 100644 --- a/exchanges/yobit/yobit_wrapper.go +++ b/exchanges/yobit/yobit_wrapper.go @@ -425,7 +425,7 @@ func (y *Yobit) GetActiveOrders(getOrdersRequest *exchange.GetOrdersRequest) ([] for ID, order := range resp { symbol := currency.NewPairDelimiter(order.Pair, - y.CurrencyPairs.Get(asset.Spot).ConfigFormat.Delimiter) + y.GetPairFormat(asset.Spot, false).Delimiter) orderDate := time.Unix(int64(order.TimestampCreated), 0) side := exchange.OrderSide(strings.ToUpper(order.Type)) orders = append(orders, exchange.OrderDetail{ @@ -470,7 +470,7 @@ func (y *Yobit) GetOrderHistory(getOrdersRequest *exchange.GetOrdersRequest) ([] var orders []exchange.OrderDetail for _, order := range allOrders { symbol := currency.NewPairDelimiter(order.Pair, - y.CurrencyPairs.Get(asset.Spot).ConfigFormat.Delimiter) + y.GetPairFormat(asset.Spot, false).Delimiter) orderDate := time.Unix(int64(order.Timestamp), 0) side := exchange.OrderSide(strings.ToUpper(order.Type)) orders = append(orders, exchange.OrderDetail{ diff --git a/exchanges/zb/zb_wrapper.go b/exchanges/zb/zb_wrapper.go index 9996c924..c4b48c2a 100644 --- a/exchanges/zb/zb_wrapper.go +++ b/exchanges/zb/zb_wrapper.go @@ -455,7 +455,7 @@ func (z *ZB) GetActiveOrders(getOrdersRequest *exchange.GetOrdersRequest) ([]exc var orders []exchange.OrderDetail for _, order := range allOrders { symbol := currency.NewPairDelimiter(order.Currency, - z.CurrencyPairs.Get(asset.Spot).ConfigFormat.Delimiter) + z.GetPairFormat(asset.Spot, false).Delimiter) orderDate := time.Unix(int64(order.TradeDate), 0) orderSide := orderSideMap[order.Type] orders = append(orders, exchange.OrderDetail{ @@ -511,7 +511,7 @@ func (z *ZB) GetOrderHistory(getOrdersRequest *exchange.GetOrdersRequest) ([]exc var orders []exchange.OrderDetail for _, order := range allOrders { symbol := currency.NewPairDelimiter(order.Currency, - z.CurrencyPairs.Get(asset.Spot).ConfigFormat.Delimiter) + z.GetPairFormat(asset.Spot, false).Delimiter) orderDate := time.Unix(int64(order.TradeDate), 0) orderSide := orderSideMap[order.Type] orders = append(orders, exchange.OrderDetail{