@tradejs/connectors 2.0.8 → 2.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -565,7 +565,9 @@ var mapBybitInstrument = (item) => {
565
565
  symbolType: String(item.symbolType ?? ""),
566
566
  contractType: String(item.contractType ?? ""),
567
567
  fundingInterval: Number(item.fundingInterval ?? Number.NaN),
568
- maxLeverage: Number(item.leverageFilter?.maxLeverage ?? Number.NaN)
568
+ maxLeverage: Number(item.leverageFilter?.maxLeverage ?? Number.NaN),
569
+ qtyStep: Number(item.lotSizeFilter?.qtyStep ?? Number.NaN),
570
+ minOrderQty: Number(item.lotSizeFilter?.minOrderQty ?? Number.NaN)
569
571
  }
570
572
  };
571
573
  };
@@ -1430,26 +1432,30 @@ var ByBitConnectorCreator = async (config) => {
1430
1432
  }
1431
1433
  const meta = await getSymbolMeta(marketDataClient, symbol);
1432
1434
  const normalizedQty = normalizeQty(qty, meta);
1433
- const minNormalizedQty = normalizeQty(meta.minOrderQty, meta);
1434
1435
  const isQtyBelowMin = normalizedQty.qtyNum < meta.minOrderQty;
1435
- const orderQty = isQtyBelowMin ? Math.max(minNormalizedQty.qtyNum, meta.minOrderQty) : normalizedQty.qtyNum;
1436
- const orderQtyStr = isQtyBelowMin ? orderQty.toFixed(meta.qtyPrecision) : normalizedQty.qtyStr;
1437
1436
  if (isQtyBelowMin) {
1437
+ if (signal) {
1438
+ signal.orderQty = normalizedQty.qtyNum;
1439
+ signal.orderValue = normalizedQty.qtyNum * price;
1440
+ signal.orderFailureReason = "QTY_BELOW_MIN_ORDER";
1441
+ }
1438
1442
  import_logger3.logger.log(
1439
1443
  "warn",
1440
- "placeOrder: qty below min, using minOrderQty: %s",
1444
+ "placeOrder: rejected qty below minOrderQty: %s",
1441
1445
  (0, import_data2.toJson)(
1442
1446
  {
1443
1447
  symbol,
1444
1448
  qty,
1445
- requestedOrderQty: normalizedQty.qtyNum,
1446
- orderQty,
1449
+ normalizedOrderQty: normalizedQty.qtyNum,
1447
1450
  minOrderQty: meta.minOrderQty
1448
1451
  },
1449
1452
  true
1450
1453
  )
1451
1454
  );
1455
+ return false;
1452
1456
  }
1457
+ const orderQty = normalizedQty.qtyNum;
1458
+ const orderQtyStr = normalizedQty.qtyStr;
1453
1459
  if (signal) {
1454
1460
  signal.orderQty = orderQty;
1455
1461
  signal.orderValue = orderQty * price;
package/dist/index.mjs CHANGED
@@ -522,7 +522,9 @@ var mapBybitInstrument = (item) => {
522
522
  symbolType: String(item.symbolType ?? ""),
523
523
  contractType: String(item.contractType ?? ""),
524
524
  fundingInterval: Number(item.fundingInterval ?? Number.NaN),
525
- maxLeverage: Number(item.leverageFilter?.maxLeverage ?? Number.NaN)
525
+ maxLeverage: Number(item.leverageFilter?.maxLeverage ?? Number.NaN),
526
+ qtyStep: Number(item.lotSizeFilter?.qtyStep ?? Number.NaN),
527
+ minOrderQty: Number(item.lotSizeFilter?.minOrderQty ?? Number.NaN)
526
528
  }
527
529
  };
528
530
  };
@@ -1387,26 +1389,30 @@ var ByBitConnectorCreator = async (config) => {
1387
1389
  }
1388
1390
  const meta = await getSymbolMeta(marketDataClient, symbol);
1389
1391
  const normalizedQty = normalizeQty(qty, meta);
1390
- const minNormalizedQty = normalizeQty(meta.minOrderQty, meta);
1391
1392
  const isQtyBelowMin = normalizedQty.qtyNum < meta.minOrderQty;
1392
- const orderQty = isQtyBelowMin ? Math.max(minNormalizedQty.qtyNum, meta.minOrderQty) : normalizedQty.qtyNum;
1393
- const orderQtyStr = isQtyBelowMin ? orderQty.toFixed(meta.qtyPrecision) : normalizedQty.qtyStr;
1394
1393
  if (isQtyBelowMin) {
1394
+ if (signal) {
1395
+ signal.orderQty = normalizedQty.qtyNum;
1396
+ signal.orderValue = normalizedQty.qtyNum * price;
1397
+ signal.orderFailureReason = "QTY_BELOW_MIN_ORDER";
1398
+ }
1395
1399
  logger3.log(
1396
1400
  "warn",
1397
- "placeOrder: qty below min, using minOrderQty: %s",
1401
+ "placeOrder: rejected qty below minOrderQty: %s",
1398
1402
  toJson(
1399
1403
  {
1400
1404
  symbol,
1401
1405
  qty,
1402
- requestedOrderQty: normalizedQty.qtyNum,
1403
- orderQty,
1406
+ normalizedOrderQty: normalizedQty.qtyNum,
1404
1407
  minOrderQty: meta.minOrderQty
1405
1408
  },
1406
1409
  true
1407
1410
  )
1408
1411
  );
1412
+ return false;
1409
1413
  }
1414
+ const orderQty = normalizedQty.qtyNum;
1415
+ const orderQtyStr = normalizedQty.qtyStr;
1410
1416
  if (signal) {
1411
1417
  signal.orderQty = orderQty;
1412
1418
  signal.orderValue = orderQty * price;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tradejs/connectors",
3
- "version": "2.0.8",
3
+ "version": "2.0.10",
4
4
  "description": "MIT-licensed exchange connectors and market data providers for the TradeJS framework.",
5
5
  "keywords": [
6
6
  "tradejs",
@@ -33,10 +33,10 @@
33
33
  }
34
34
  },
35
35
  "dependencies": {
36
- "@tradejs/core": "^2.0.8",
37
- "@tradejs/infra": "^2.0.8",
38
- "@tradejs/node": "^2.0.8",
39
- "@tradejs/types": "^2.0.8",
36
+ "@tradejs/core": "^2.0.10",
37
+ "@tradejs/infra": "^2.0.10",
38
+ "@tradejs/node": "^2.0.10",
39
+ "@tradejs/types": "^2.0.10",
40
40
  "bybit-api": "^4.7.1",
41
41
  "chalk": "4.1.2",
42
42
  "lodash": "^4.18.1"