buildTradeOrderParams method

  1. @visibleForTesting
Map<String, dynamic> buildTradeOrderParams(
  1. String symbol,
  2. Side side,
  3. OrderType type,
  4. double quantity,
  5. int recvWindow,
  6. TimeInForce timeInForce,
  7. double? quoteOrderQty,
  8. double? price,
  9. String? newClientOrderId,
  10. double? stopPrice,
  11. double? icebergQty,
  12. OrderResponseType? newOrderRespType,
)

Implementation

@visibleForTesting
Map<String, dynamic> buildTradeOrderParams(
  String symbol,
  Side side,
  OrderType type,
  double quantity,
  int recvWindow,
  TimeInForce timeInForce,
  double? quoteOrderQty,
  double? price,
  String? newClientOrderId,
  double? stopPrice,
  double? icebergQty,
  OrderResponseType? newOrderRespType,
) {
  final queryParameters = <String, dynamic>{
    'symbol': symbol,
    'side': side.value,
    'type': type.value,
    'quantity': '$quantity',
    'recvWindow': '$recvWindow',
    'timeInForce': timeInForce.value,
  };
  if (null != quoteOrderQty) {
    queryParameters['quoteOrderQty'] = '$quoteOrderQty';
  }
  if (null != price) {
    queryParameters['price'] = '$price';
  }
  if (null != newClientOrderId) {
    queryParameters['newClientOrderId'] = newClientOrderId;
  }
  if (null != stopPrice) {
    queryParameters['stopPrice'] = '$stopPrice';
  }
  if (null != icebergQty) {
    queryParameters['iceberQty'] = '$icebergQty';
    queryParameters['timeInForce'] = TimeInForce.gtc.value;
  }
  if (null != newOrderRespType) {
    queryParameters['newOrderRespType'] = newOrderRespType.value;
  }
  return queryParameters;
}