Kraken: Set AssetType in GetActiveOrders, CancelOrder and GetOrderInfo wrappers (#1287)

* Kraken: Fix GetActiveOrders AssetType and CancelOrder wrappers

AssetType wasn't set when calling GetActiveOrders and no default case handling was in CancelOrder

* Kraken: Add basic CancelOrder wrapper asset coverage

* Kraken: Add AssetType to GetOrderInfo

* Kraken: Add order status for open orders
This commit is contained in:
Adrian Gallagher
2023-08-01 13:06:17 +10:00
committed by GitHub
parent e6860ad1c9
commit 74bf13fc42
2 changed files with 33 additions and 16 deletions

View File

@@ -961,6 +961,14 @@ func TestSubmitOrder(t *testing.T) {
// TestCancelExchangeOrder wrapper test
func TestCancelExchangeOrder(t *testing.T) {
t.Parallel()
if err := k.CancelOrder(context.Background(), &order.Cancel{
AssetType: asset.Options,
OrderID: "1337",
}); !errors.Is(err, asset.ErrNotSupported) {
t.Errorf("expected: %v, received: %v", asset.ErrNotSupported, err)
}
sharedtestvalues.SkipTestIfCannotManipulateOrders(t, k, canManipulateRealOrders)
var orderCancellation = &order.Cancel{

View File

@@ -915,7 +915,10 @@ func (k *Kraken) CancelOrder(ctx context.Context, o *order.Cancel) error {
if err != nil {
return err
}
default:
return fmt.Errorf("%w %v", asset.ErrNotSupported, o.AssetType)
}
return nil
}
@@ -1068,6 +1071,7 @@ func (k *Kraken) GetOrderInfo(ctx context.Context, orderID string, _ currency.Pa
Fee: orderInfo.Fee,
Trades: trades,
Cost: orderInfo.Cost,
AssetType: asset.Spot,
}
case asset.Futures:
orderInfo, err := k.FuturesGetFills(ctx, time.Time{})
@@ -1095,14 +1099,15 @@ func (k *Kraken) GetOrderInfo(ctx context.Context, orderID string, _ currency.Pa
return nil, err
}
orderDetail = order.Detail{
OrderID: orderID,
Price: orderInfo.Fills[y].Price,
Amount: orderInfo.Fills[y].Size,
Side: oSide,
Type: fillOrderType,
Date: timeVar,
Pair: pair,
Exchange: k.Name,
OrderID: orderID,
Price: orderInfo.Fills[y].Price,
Amount: orderInfo.Fills[y].Size,
Side: oSide,
Type: fillOrderType,
Date: timeVar,
Pair: pair,
Exchange: k.Name,
AssetType: asset.Futures,
}
}
default:
@@ -1263,6 +1268,8 @@ func (k *Kraken) GetActiveOrders(ctx context.Context, req *order.MultiOrderReque
Side: side,
Type: orderType,
Pair: p,
AssetType: asset.Spot,
Status: order.Open,
})
}
case asset.Futures:
@@ -1302,14 +1309,16 @@ func (k *Kraken) GetActiveOrders(ctx context.Context, req *order.MultiOrderReque
return orders, err
}
orders = append(orders, order.Detail{
OrderID: activeOrders.OpenOrders[a].OrderID,
Price: activeOrders.OpenOrders[a].LimitPrice,
Amount: activeOrders.OpenOrders[a].FilledSize,
Side: oSide,
Type: oType,
Date: timeVar,
Pair: fPair,
Exchange: k.Name,
OrderID: activeOrders.OpenOrders[a].OrderID,
Price: activeOrders.OpenOrders[a].LimitPrice,
Amount: activeOrders.OpenOrders[a].FilledSize,
Side: oSide,
Type: oType,
Date: timeVar,
Pair: fPair,
Exchange: k.Name,
AssetType: asset.Futures,
Status: order.Open,
})
}
}