dexbot 1.1.14 → 1.2.0

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.
Files changed (116) hide show
  1. package/README.md +1 -0
  2. package/dist/market_adapter/market_adapter.js +1 -1
  3. package/dist/market_adapter/market_adapter.js.map +1 -1
  4. package/dist/modules/bitshares-native/lru_cache.d.ts +20 -0
  5. package/dist/modules/bitshares-native/lru_cache.d.ts.map +1 -0
  6. package/dist/modules/bitshares-native/lru_cache.js +45 -0
  7. package/dist/modules/bitshares-native/lru_cache.js.map +1 -0
  8. package/dist/modules/bitshares-native/resolvers.d.ts +2 -18
  9. package/dist/modules/bitshares-native/resolvers.d.ts.map +1 -1
  10. package/dist/modules/bitshares-native/resolvers.js +2 -41
  11. package/dist/modules/bitshares-native/resolvers.js.map +1 -1
  12. package/dist/modules/bitshares-native/serial/chain_constants.d.ts +1 -0
  13. package/dist/modules/bitshares-native/serial/chain_constants.d.ts.map +1 -1
  14. package/dist/modules/bitshares-native/serial/chain_constants.js +3 -0
  15. package/dist/modules/bitshares-native/serial/chain_constants.js.map +1 -1
  16. package/dist/modules/bitshares-native/signing_client.d.ts.map +1 -1
  17. package/dist/modules/bitshares-native/signing_client.js +12 -1
  18. package/dist/modules/bitshares-native/signing_client.js.map +1 -1
  19. package/dist/modules/bitshares-native/subscriptions.d.ts.map +1 -1
  20. package/dist/modules/bitshares-native/subscriptions.js +42 -3
  21. package/dist/modules/bitshares-native/subscriptions.js.map +1 -1
  22. package/dist/modules/bitshares-native/transport.d.ts.map +1 -1
  23. package/dist/modules/bitshares-native/transport.js +77 -27
  24. package/dist/modules/bitshares-native/transport.js.map +1 -1
  25. package/dist/modules/bitshares-native/tx/builder.d.ts.map +1 -1
  26. package/dist/modules/bitshares-native/tx/builder.js +26 -16
  27. package/dist/modules/bitshares-native/tx/builder.js.map +1 -1
  28. package/dist/modules/bitshares-native/tx/tx_cache.d.ts +17 -0
  29. package/dist/modules/bitshares-native/tx/tx_cache.d.ts.map +1 -0
  30. package/dist/modules/bitshares-native/tx/tx_cache.js +62 -0
  31. package/dist/modules/bitshares-native/tx/tx_cache.js.map +1 -0
  32. package/dist/modules/bot_settings.d.ts.map +1 -1
  33. package/dist/modules/bot_settings.js +2 -1
  34. package/dist/modules/bot_settings.js.map +1 -1
  35. package/dist/modules/chain_orders.d.ts +4 -1
  36. package/dist/modules/chain_orders.d.ts.map +1 -1
  37. package/dist/modules/chain_orders.js +30 -1
  38. package/dist/modules/chain_orders.js.map +1 -1
  39. package/dist/modules/config.d.ts +6 -0
  40. package/dist/modules/config.d.ts.map +1 -1
  41. package/dist/modules/config.js +11 -0
  42. package/dist/modules/config.js.map +1 -1
  43. package/dist/modules/constants.d.ts +14 -1
  44. package/dist/modules/constants.d.ts.map +1 -1
  45. package/dist/modules/constants.js +64 -6
  46. package/dist/modules/constants.js.map +1 -1
  47. package/dist/modules/credit_runtime.d.ts.map +1 -1
  48. package/dist/modules/credit_runtime.js +40 -29
  49. package/dist/modules/credit_runtime.js.map +1 -1
  50. package/dist/modules/dexbot_class.d.ts +6 -12
  51. package/dist/modules/dexbot_class.d.ts.map +1 -1
  52. package/dist/modules/dexbot_class.js +117 -75
  53. package/dist/modules/dexbot_class.js.map +1 -1
  54. package/dist/modules/dexbot_maintenance_runtime.d.ts +1 -5
  55. package/dist/modules/dexbot_maintenance_runtime.d.ts.map +1 -1
  56. package/dist/modules/dexbot_maintenance_runtime.js +19 -48
  57. package/dist/modules/dexbot_maintenance_runtime.js.map +1 -1
  58. package/dist/modules/launcher/child_env.d.ts.map +1 -1
  59. package/dist/modules/launcher/child_env.js +1 -0
  60. package/dist/modules/launcher/child_env.js.map +1 -1
  61. package/dist/modules/launcher/launch_modes.d.ts +2 -0
  62. package/dist/modules/launcher/launch_modes.d.ts.map +1 -1
  63. package/dist/modules/launcher/launch_modes.js +7 -6
  64. package/dist/modules/launcher/launch_modes.js.map +1 -1
  65. package/dist/modules/order/accounting.d.ts.map +1 -1
  66. package/dist/modules/order/accounting.js +40 -12
  67. package/dist/modules/order/accounting.js.map +1 -1
  68. package/dist/modules/order/async_lock.d.ts +12 -4
  69. package/dist/modules/order/async_lock.d.ts.map +1 -1
  70. package/dist/modules/order/async_lock.js +27 -5
  71. package/dist/modules/order/async_lock.js.map +1 -1
  72. package/dist/modules/order/grid.d.ts +434 -475
  73. package/dist/modules/order/grid.d.ts.map +1 -1
  74. package/dist/modules/order/grid.js +1612 -1592
  75. package/dist/modules/order/grid.js.map +1 -1
  76. package/dist/modules/order/grid_reconcile.d.ts +3 -73
  77. package/dist/modules/order/grid_reconcile.d.ts.map +1 -1
  78. package/dist/modules/order/grid_reconcile.js +11 -843
  79. package/dist/modules/order/grid_reconcile.js.map +1 -1
  80. package/dist/modules/order/grid_reconcile_internal.d.ts +8 -0
  81. package/dist/modules/order/grid_reconcile_internal.d.ts.map +1 -0
  82. package/dist/modules/order/grid_reconcile_internal.js +771 -0
  83. package/dist/modules/order/grid_reconcile_internal.js.map +1 -0
  84. package/dist/modules/order/logger.d.ts +1 -1
  85. package/dist/modules/order/logger.d.ts.map +1 -1
  86. package/dist/modules/order/logger.js +26 -2
  87. package/dist/modules/order/logger.js.map +1 -1
  88. package/dist/modules/order/manager.d.ts +40 -3
  89. package/dist/modules/order/manager.d.ts.map +1 -1
  90. package/dist/modules/order/manager.js +91 -12
  91. package/dist/modules/order/manager.js.map +1 -1
  92. package/dist/modules/order/runner.js +2 -2
  93. package/dist/modules/order/runner.js.map +1 -1
  94. package/dist/modules/order/strategy.js +3 -3
  95. package/dist/modules/order/strategy.js.map +1 -1
  96. package/dist/modules/order/sync_engine.d.ts +1 -1
  97. package/dist/modules/order/sync_engine.d.ts.map +1 -1
  98. package/dist/modules/order/sync_engine.js +72 -29
  99. package/dist/modules/order/sync_engine.js.map +1 -1
  100. package/dist/modules/order/utils/order.d.ts +17 -0
  101. package/dist/modules/order/utils/order.d.ts.map +1 -1
  102. package/dist/modules/order/utils/order.js +39 -18
  103. package/dist/modules/order/utils/order.js.map +1 -1
  104. package/dist/modules/order/utils/system.js +4 -4
  105. package/dist/modules/order/utils/system.js.map +1 -1
  106. package/dist/modules/order/utils/validate.d.ts.map +1 -1
  107. package/dist/modules/order/utils/validate.js +6 -8
  108. package/dist/modules/order/utils/validate.js.map +1 -1
  109. package/dist/scripts/print_grid.js +3 -3
  110. package/dist/scripts/print_grid.js.map +1 -1
  111. package/dist/scripts/test-credit-renewal.js +1 -1
  112. package/dist/scripts/test-credit-renewal.js.map +1 -1
  113. package/dist/unlock.d.ts.map +1 -1
  114. package/dist/unlock.js +26 -12
  115. package/dist/unlock.js.map +1 -1
  116. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"sync_engine.d.ts","sourceRoot":"","sources":["../../../modules/order/sync_engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoFG;AAkLH,cAAM,UAAU;IACZ,OAAO,CAAC,OAAO,CAAM;IACrB;;OAEG;gBACS,OAAO,EAAE,GAAG;IAIxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6DG;IACH;;;;;OAKG;IACG,kBAAkB,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM;IA4FrF;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACG,qBAAqB,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;;;;;;IA6HnF;;;;;;;;;;;;;;;OAeG;IACG,0BAA0B,CAAC,GAAG,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EAC9J,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,EAAE,aAAa,EAAE,GAAG,EAAE,EAAE,uBAAuB,EAAE,GAAG,EAAE,EAAE,oBAAoB,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;;;;;;IA8X5M;;;;;;OAMG;IACG,mBAAmB,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM;;;;;;;;;;;;;;;;;;;IAuStE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiDG;IACG,oBAAoB,CAAC,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM;IA2K5F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiDG;IACG,gCAAgC;IA0CtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4CG;IACG,gBAAgB;CAgCzB;AAED,SAAS,UAAU,CAAC"}
1
+ {"version":3,"file":"sync_engine.d.ts","sourceRoot":"","sources":["../../../modules/order/sync_engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoFG;AAkLH,cAAM,UAAU;IACZ,OAAO,CAAC,OAAO,CAAM;IACrB;;OAEG;gBACS,OAAO,EAAE,GAAG;IAIxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6DG;IACH;;;;;OAKG;IACG,kBAAkB,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM;IAsHrF;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACG,qBAAqB,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;;;;;;IA+InF;;;;;;;;;;;;;;;OAeG;IACG,0BAA0B,CAAC,GAAG,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EAC9J,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,EAAE,aAAa,EAAE,GAAG,EAAE,EAAE,uBAAuB,EAAE,GAAG,EAAE,EAAE,oBAAoB,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;;;;;;IA0Y5M;;;;;;OAMG;IACG,mBAAmB,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM;;;;;;;;;;;;;;;;;;;IAwStE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiDG;IACG,oBAAoB,CAAC,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM;IAsK5F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiDG;IACG,gCAAgC;IA0CtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4CG;IACG,gBAAgB;CAgCzB;AAED,SAAS,UAAU,CAAC"}
@@ -322,7 +322,7 @@ class SyncEngine {
322
322
  /**
323
323
  * Synchronize grid orders with blockchain open orders snapshot.
324
324
  * @param {Array|null} chainOrders - Array of blockchain order objects
325
- * @param {Object} [options={}] - Sync options (e.g., { skipAccounting: true, protectCommittedOrders: true })
325
+ * @param {Object} [options={}] - Sync options (e.g., { skipAccounting: true })
326
326
  * @returns {Promise<Object>} Result with filledOrders, updatedOrders, ordersNeedingCorrection
327
327
  */
328
328
  async syncFromOpenOrders(chainOrders, options = {}) {
@@ -334,12 +334,13 @@ class SyncEngine {
334
334
  mgr.logger?.log?.('Error: syncLock not initialized', 'error');
335
335
  return { filledOrders: [], updatedOrders: [], ordersNeedingCorrection: [], unmatchedChainOrders: [] };
336
336
  }
337
- if (!options?.fillLockAlreadyHeld && mgr._fillProcessingLock) {
337
+ // Skip re-acquiring if we're already inside _fillProcessingLock's
338
+ // execution context (the lock is re-entrant). The old fillLockAlreadyHeld
339
+ // flag achieved the same goal by being passed through the call chain;
340
+ // now the lock knows whether the caller already holds it.
341
+ if (mgr._fillProcessingLock && !mgr._fillProcessingLock.isReentrant()) {
338
342
  return mgr._fillProcessingLock.acquire(async () => {
339
- return this.syncFromOpenOrders(chainOrders, {
340
- ...options,
341
- fillLockAlreadyHeld: true
342
- });
343
+ return this.syncFromOpenOrders(chainOrders, options);
343
344
  });
344
345
  }
345
346
  mgr.logger?.log?.(`[SYNC] Starting synchronization from ${chainOrders?.length || 0} blockchain orders...`, 'info');
@@ -349,10 +350,26 @@ class SyncEngine {
349
350
  let timeoutHandle;
350
351
  let forceReleaseHandle;
351
352
  const syncStartedAt = Date.now();
353
+ // Capture sync generation so the orphan callback can detect that it
354
+ // was force-released and abort early instead of running to completion.
355
+ const captureGeneration = mgr._syncGeneration ?? 0;
352
356
  try {
353
357
  const result = await Promise.race([
354
358
  mgr._syncLock.acquire(async () => {
359
+ // Early-abort check: if forceRelease incremented _syncGeneration
360
+ // while we were waiting in the lock queue, this callback is
361
+ // orphaned and should return immediately.
362
+ if ((mgr._syncGeneration ?? 0) !== captureGeneration) {
363
+ mgr.logger?.log?.('[SYNC] Sync abandoned: force-released before lock acquired', 'warn');
364
+ return { filledOrders: [], updatedOrders: [], ordersNeedingCorrection: [], unmatchedChainOrders: [] };
365
+ }
355
366
  const innerResult = await this._doSyncFromOpenOrders(chainOrders, options);
367
+ // Re-check generation after sync completes: if forceRelease fired
368
+ // during the sync, this result is orphaned — discard it.
369
+ if ((mgr._syncGeneration ?? 0) !== captureGeneration) {
370
+ mgr.logger?.log?.(`[SYNC] Sync abandoned: force-released during sync (${Date.now() - syncStartedAt}ms); discarding result`, 'warn');
371
+ return { filledOrders: [], updatedOrders: [], ordersNeedingCorrection: [], unmatchedChainOrders: [] };
372
+ }
356
373
  if (timedOut) {
357
374
  mgr.logger?.log?.(`[SYNC] Sync completed after timeout (${Date.now() - syncStartedAt}ms) — ` +
358
375
  `timeout won the race; next sync will reconcile chain state`, 'warn');
@@ -392,8 +409,11 @@ class SyncEngine {
392
409
  if (forceReleaseMs > 0 && mgr._syncLock && typeof mgr._syncLock.forceRelease === 'function') {
393
410
  forceReleaseHandle = setTimeout(() => {
394
411
  if (mgr._syncLock.isLocked()) {
412
+ // Increment the sync generation so the orphan callback
413
+ // can detect it was force-released and abort early.
414
+ mgr._syncGeneration = (mgr._syncGeneration || 0) + 1;
395
415
  const released = mgr._syncLock.forceRelease();
396
- mgr.logger?.log?.(`[SYNC] Force-released sync lock (${released} queued ops cleared) after ${forceReleaseMs}ms grace period`, 'warn');
416
+ mgr.logger?.log?.(`[SYNC] Force-released sync lock (generation=${mgr._syncGeneration}, ${released} queued ops cleared) after ${forceReleaseMs}ms grace period`, 'warn');
397
417
  }
398
418
  }, Math.max(1000, forceReleaseMs - (Date.now() - syncStartedAt)));
399
419
  }
@@ -490,6 +510,21 @@ class SyncEngine {
490
510
  orderIdsToLock.add(gridOrder.id);
491
511
  }
492
512
  }
513
+ // Re-verify that all collected order IDs still exist in mgr.orders before
514
+ // locking. A concurrent createOrder/cancelOrder could have removed or
515
+ // modified an order between collection above and the lock call below.
516
+ // The _gridLock serializes the main reconciliation against _applyOrderUpdate,
517
+ // but this re-verification catches the window before _gridLock acquisition.
518
+ const validOrderIds = new Set();
519
+ for (const id of orderIdsToLock) {
520
+ if (mgr.orders.has(id)) {
521
+ validOrderIds.add(id);
522
+ }
523
+ else {
524
+ mgr.logger?.log?.(`[SYNC] Order ${id} disappeared between collection and locking; skipping`, 'debug');
525
+ }
526
+ }
527
+ const orderIdsToLockFinal = [...validOrderIds];
493
528
  const chainOrderIdsOnGrid = new Set();
494
529
  const matchedGridOrderIds = new Set();
495
530
  const filledOrders = [];
@@ -497,15 +532,15 @@ class SyncEngine {
497
532
  const ordersNeedingCorrection = [];
498
533
  const unmatchedChainOrders = [];
499
534
  // Lock orders before reconciliation
500
- mgr.lockOrders([...orderIdsToLock]);
535
+ mgr.lockOrders(orderIdsToLockFinal);
501
536
  // Keep lock leases alive during long reconciliation runs.
502
537
  const refreshEveryMs = Math.max(TIMING.LOCK_REFRESH_MIN_MS, Math.floor(TIMING.LOCK_TIMEOUT_MS / 3));
503
538
  const refreshLockLeases = () => {
504
539
  const expiresAt = Date.now() + TIMING.LOCK_TIMEOUT_MS;
505
- for (const id of orderIdsToLock) {
540
+ for (const id of orderIdsToLockFinal) {
506
541
  mgr.shadowOrderIds.set(id, expiresAt);
507
542
  }
508
- mgr.logger?.log?.(`Refreshed lock leases for ${orderIdsToLock.size} orders`, 'debug');
543
+ mgr.logger?.log?.(`Refreshed lock leases for ${orderIdsToLockFinal.length} orders`, 'debug');
509
544
  };
510
545
  refreshLockLeases();
511
546
  const lockRefreshTimer = setInterval(refreshLockLeases, refreshEveryMs);
@@ -529,7 +564,7 @@ class SyncEngine {
529
564
  finally {
530
565
  clearInterval(lockRefreshTimer);
531
566
  // Unlock after reconciliation completes
532
- mgr.unlockOrders([...orderIdsToLock]);
567
+ mgr.unlockOrders(orderIdsToLockFinal);
533
568
  }
534
569
  return { filledOrders, updatedOrders, ordersNeedingCorrection, unmatchedChainOrders };
535
570
  }
@@ -647,13 +682,25 @@ class SyncEngine {
647
682
  }
648
683
  }
649
684
  else if (gridOrder.state === ORDER_STATES.ACTIVE || gridOrder.state === ORDER_STATES.PARTIAL) {
650
- // During recovery syncs (protectCommittedOrders=true), don't
651
- // virtualize orders that were placed by a successful COW commit.
685
+ // Don't virtualize orders placed by a successful COW commit.
652
686
  // The chain snapshot may lag behind confirmed transactions,
653
- // causing correctly-placed orders to appear missing. Keeping them
654
- // in the grid defers cleanup to the next normal sync cycle, which
655
- // will correctly detect fills via the fill-history pipeline.
656
- if (options.protectCommittedOrders && mgr._committedOrderIds.has(gridOrder.orderId)) {
687
+ // causing correctly-placed orders to appear missing. _committedOrderIds
688
+ // is atomically rebuilt from every successful COW commit
689
+ // (manager.ts:_commitCowPlan) and is always active for all sync
690
+ // paths — previously gated on options.protectCommittedOrders.
691
+ // Always-on is safe because committed IDs are self-cleaning:
692
+ // filled/virtualized orders are absent from the next commit's
693
+ // finalMap, so their IDs drop out on the next atomic rebuild.
694
+ //
695
+ // SAFETY: _committedOrderIds is replaced atomically (reference swap)
696
+ // by _commitCowPlan. The sync reads has(gridOrder.orderId) against the
697
+ // current reference. If a concurrent COW commit replaces the set mid-sync,
698
+ // the new set is a superset (only adds entries for newly committed orders).
699
+ // An order in the superset was just committed, so it is genuinely on-chain
700
+ // and should not be virtualized. An order removed from the old set was
701
+ // filled/virtualized, which the sync will detect independently via the
702
+ // chain snapshot. Superset behavior is safe for this guard.
703
+ if (mgr._committedOrderIds?.has(gridOrder.orderId)) {
657
704
  continue;
658
705
  }
659
706
  const currentGridOrder = mgr.orders.get(gridOrder.id) || gridOrder;
@@ -965,9 +1012,10 @@ class SyncEngine {
965
1012
  let chainConfirmsEmpty = false;
966
1013
  let chainRefetched = false;
967
1014
  // -----------------------------------------------------------------
968
- // Drift-only refetch: the cache is self-correcting across sequential
969
- // websocket fills, but if a fill was ever missed (reconnect, restart,
970
- // reorg, external activity), the cache and the grid can disagree.
1015
+ // Drift-only refetch: the cache is self-correcting across
1016
+ // sequential websocket fills, but if a fill was ever missed
1017
+ // (reconnect, restart, reorg, external activity), the cache and
1018
+ // the grid can disagree.
971
1019
  // The only signal we can detect from the in-memory state is a
972
1020
  // consistent drift: cached for_sale < grid size. Chain `for_sale`
973
1021
  // can only decrease, so a smaller cached value is an obvious
@@ -1282,10 +1330,8 @@ class SyncEngine {
1282
1330
  break;
1283
1331
  }
1284
1332
  case 'cancelOrder': {
1285
- const orderId = typeof chainData === 'object' && chainData !== null
1286
- ? chainData.orderId
1287
- : chainData;
1288
- const clearSize = !!(typeof chainData === 'object' && chainData !== null && chainData.clearSize);
1333
+ const orderId = chainData.orderId;
1334
+ const clearSize = !!chainData.clearSize;
1289
1335
  let btsFeeData;
1290
1336
  try {
1291
1337
  btsFeeData = getAssetFees('BTS');
@@ -1351,9 +1397,7 @@ class SyncEngine {
1351
1397
  // Plain open-order syncs do not imply a fresh account balance fetch,
1352
1398
  // so they still use optimistic accounting deltas.
1353
1399
  return this.syncFromOpenOrders(chainData, {
1354
- skipAccounting: false,
1355
- fillLockAlreadyHeld: options?.fillLockAlreadyHeld,
1356
- protectCommittedOrders: options?.protectCommittedOrders
1400
+ skipAccounting: false
1357
1401
  });
1358
1402
  case 'periodicBlockchainFetch': {
1359
1403
  // This source is used after fetchAccountTotals() has refreshed
@@ -1361,8 +1405,7 @@ class SyncEngine {
1361
1405
  // commitment deltas here double-deducts newly adopted or resized
1362
1406
  // open orders from already-fetched free balances.
1363
1407
  return this.syncFromOpenOrders(chainData, {
1364
- skipAccounting: true,
1365
- fillLockAlreadyHeld: options?.fillLockAlreadyHeld
1408
+ skipAccounting: true
1366
1409
  });
1367
1410
  }
1368
1411
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sync_engine.js","sourceRoot":"","sources":["../../../modules/order/sync_engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync_engine.js","sourceRoot":"","sources":["../../../modules/order/sync_engine.ts"],"names":[],"mappings":"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"}
@@ -507,6 +507,22 @@ declare function buildDelta(masterGrid: any, workingGrid: any, options?: {}): an
507
507
  * @returns {number} New boundary index
508
508
  */
509
509
  declare function deriveTargetBoundary(fills: any, currentBoundaryIdx: any, allSlots: any, config: any, gapSlots: any): number;
510
+ /**
511
+ * Shared BTS fee adjustment math used by both getSideBudget and Grid._getSizingContext.
512
+ *
513
+ * Deducts BTS creation fees from allocated budget when the holding side has BTS,
514
+ * or proportionally shares BTS fee deficits across both sides for non-BTS pairs.
515
+ *
516
+ * @param {number} allocated - Raw allocated budget for this side
517
+ * @param {boolean} isBtsSide - Whether this side holds BTS
518
+ * @param {number} formulaBudget - Pre-calculated BTS fee estimate
519
+ * @param {number} minBtsValue - Configured minimum BTS reserve (or 0)
520
+ * @param {number} btsFree - Available free BTS balance
521
+ * @param {number} sideFree - Free balance of this side's asset
522
+ * @param {number} totalFree - Total free balance across both sides
523
+ * @returns {number} Budget adjusted for BTS fee reservation
524
+ */
525
+ declare function adjustBudgetForBtsFees(allocated: any, isBtsSide: any, formulaBudget: any, minBtsValue: any, btsFree: any, sideFree: any, totalFree: any): any;
510
526
  /**
511
527
  * Calculate side budget after BTS fee deduction.
512
528
  *
@@ -564,6 +580,7 @@ declare const _default: {
564
580
  buildDelta: typeof buildDelta;
565
581
  getOrderSize: typeof getOrderSize;
566
582
  deriveTargetBoundary: typeof deriveTargetBoundary;
583
+ adjustBudgetForBtsFees: typeof adjustBudgetForBtsFees;
567
584
  getSideBudget: typeof getSideBudget;
568
585
  calculateBudgetedSizes: typeof calculateBudgetedSizes;
569
586
  buildCreateOpFingerprint: typeof buildCreateOpFingerprint;
@@ -1 +1 @@
1
- {"version":3,"file":"order.d.ts","sourceRoot":"","sources":["../../../../modules/order/utils/order.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"order.d.ts","sourceRoot":"","sources":["../../../../modules/order/utils/order.ts"],"names":[],"mappings":"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"}
@@ -1058,6 +1058,35 @@ function deriveTargetBoundary(fills, currentBoundaryIdx, allSlots, config, gapSl
1058
1058
  // Clamp boundary
1059
1059
  return Math.max(0, Math.min(allSlots.length - 1, newBoundaryIdx));
1060
1060
  }
1061
+ /**
1062
+ * Shared BTS fee adjustment math used by both getSideBudget and Grid._getSizingContext.
1063
+ *
1064
+ * Deducts BTS creation fees from allocated budget when the holding side has BTS,
1065
+ * or proportionally shares BTS fee deficits across both sides for non-BTS pairs.
1066
+ *
1067
+ * @param {number} allocated - Raw allocated budget for this side
1068
+ * @param {boolean} isBtsSide - Whether this side holds BTS
1069
+ * @param {number} formulaBudget - Pre-calculated BTS fee estimate
1070
+ * @param {number} minBtsValue - Configured minimum BTS reserve (or 0)
1071
+ * @param {number} btsFree - Available free BTS balance
1072
+ * @param {number} sideFree - Free balance of this side's asset
1073
+ * @param {number} totalFree - Total free balance across both sides
1074
+ * @returns {number} Budget adjusted for BTS fee reservation
1075
+ */
1076
+ function adjustBudgetForBtsFees(allocated, isBtsSide, formulaBudget, minBtsValue, btsFree, sideFree, totalFree) {
1077
+ if (allocated <= 0)
1078
+ return 0;
1079
+ if (isBtsSide) {
1080
+ return Math.max(0, allocated - formulaBudget);
1081
+ }
1082
+ const effectiveMin = (minBtsValue > 0) ? minBtsValue : formulaBudget;
1083
+ const btsDeficit = Math.max(0, effectiveMin - btsFree);
1084
+ if (btsDeficit > 0) {
1085
+ const share = totalFree > 0 ? sideFree / totalFree : 0.5;
1086
+ return Math.max(0, Math.min(allocated, sideFree - btsDeficit * share));
1087
+ }
1088
+ return allocated;
1089
+ }
1061
1090
  /**
1062
1091
  * Calculate side budget after BTS fee deduction.
1063
1092
  *
@@ -1070,27 +1099,18 @@ function deriveTargetBoundary(fills, currentBoundaryIdx, allSlots, config, gapSl
1070
1099
  function getSideBudget(side, funds, config, totalTarget) {
1071
1100
  const isBuy = side === 'buy';
1072
1101
  const allocated = isBuy ? (funds.allocatedBuy || 0) : (funds.allocatedSell || 0);
1073
- const btsReservationMultiplier = config?.feeParams?.BTS_RESERVATION_MULTIPLIER ?? FEE_PARAMETERS.BTS_RESERVATION_MULTIPLIER;
1102
+ if (allocated <= 0)
1103
+ return 0;
1074
1104
  const isBtsSide = (isBuy && config.assetB === 'BTS') || (!isBuy && config.assetA === 'BTS');
1075
- if (isBtsSide && allocated > 0) {
1076
- const btsFees = MathUtils.calculateOrderCreationFees(config.assetA, config.assetB, totalTarget, btsReservationMultiplier);
1105
+ if (isBtsSide) {
1106
+ const btsFees = MathUtils.calculateOrderCreationFees(config.assetA, config.assetB, totalTarget, config?.feeParams?.BTS_RESERVATION_MULTIPLIER ?? FEE_PARAMETERS.BTS_RESERVATION_MULTIPLIER);
1077
1107
  return Math.max(0, allocated - btsFees);
1078
1108
  }
1079
- // Non-BTS pair: reserve proportional share for BTS fee budget
1080
- if (!isBtsSide && allocated > 0 && funds.btsBalance) {
1081
- const formulaBudget = MathUtils.calculateOrderCreationFees(config.assetA, config.assetB, totalTarget, btsReservationMultiplier);
1082
- const configMin = config.min_BTS_value;
1083
- const effectiveMin = (configMin > 0) ? configMin : formulaBudget;
1084
- const btsFree = funds.btsBalance.free || 0;
1085
- const btsDeficit = Math.max(0, effectiveMin - btsFree);
1086
- if (btsDeficit > 0) {
1087
- const sideFree = isBuy ? (funds.chainFreeBuy || 0) : (funds.chainFreeSell || 0);
1088
- const totalFree = (funds.chainFreeBuy || 0) + (funds.chainFreeSell || 0);
1089
- const share = totalFree > 0 ? sideFree / totalFree : 0.5;
1090
- return Math.max(0, Math.min(allocated, sideFree - btsDeficit * share));
1091
- }
1092
- }
1093
- return allocated;
1109
+ if (!funds.btsBalance)
1110
+ return allocated;
1111
+ const btsReservationMultiplier = config?.feeParams?.BTS_RESERVATION_MULTIPLIER ?? FEE_PARAMETERS.BTS_RESERVATION_MULTIPLIER;
1112
+ const formulaBudget = MathUtils.calculateOrderCreationFees(config.assetA, config.assetB, totalTarget, btsReservationMultiplier);
1113
+ return adjustBudgetForBtsFees(allocated, false, formulaBudget, config.min_BTS_value || 0, funds.btsBalance?.free || 0, isBuy ? (funds.chainFreeBuy || 0) : (funds.chainFreeSell || 0), (funds.chainFreeBuy || 0) + (funds.chainFreeSell || 0));
1094
1114
  }
1095
1115
  /**
1096
1116
  * Calculate sizes for all slots on a side using weighted distribution.
@@ -1154,6 +1174,7 @@ module.exports = {
1154
1174
  buildDelta,
1155
1175
  getOrderSize,
1156
1176
  deriveTargetBoundary,
1177
+ adjustBudgetForBtsFees,
1157
1178
  getSideBudget,
1158
1179
  calculateBudgetedSizes,
1159
1180
  buildCreateOpFingerprint