dexbot 1.4.8 → 1.4.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.
Files changed (107) hide show
  1. package/README.md +4 -7
  2. package/dist/dexbot.d.ts +3 -0
  3. package/dist/dexbot.d.ts.map +1 -1
  4. package/dist/dexbot.js +21 -2
  5. package/dist/dexbot.js.map +1 -1
  6. package/dist/modules/broadcast_failure.d.ts +0 -1
  7. package/dist/modules/broadcast_failure.d.ts.map +1 -1
  8. package/dist/modules/broadcast_failure.js +0 -1
  9. package/dist/modules/broadcast_failure.js.map +1 -1
  10. package/dist/modules/chain_keys.d.ts.map +1 -1
  11. package/dist/modules/chain_keys.js +19 -1
  12. package/dist/modules/chain_keys.js.map +1 -1
  13. package/dist/modules/credential_policy.d.ts.map +1 -1
  14. package/dist/modules/credential_policy.js +135 -364
  15. package/dist/modules/credential_policy.js.map +1 -1
  16. package/dist/modules/credit_runtime.d.ts.map +1 -1
  17. package/dist/modules/credit_runtime.js +26 -0
  18. package/dist/modules/credit_runtime.js.map +1 -1
  19. package/dist/modules/daemon_node_health.d.ts +0 -1
  20. package/dist/modules/daemon_node_health.d.ts.map +1 -1
  21. package/dist/modules/daemon_node_health.js +0 -1
  22. package/dist/modules/daemon_node_health.js.map +1 -1
  23. package/dist/modules/dexbot_cow_runtime.d.ts.map +1 -1
  24. package/dist/modules/dexbot_cow_runtime.js +7 -1
  25. package/dist/modules/dexbot_cow_runtime.js.map +1 -1
  26. package/dist/modules/dexbot_fill_runtime.d.ts +14 -5
  27. package/dist/modules/dexbot_fill_runtime.d.ts.map +1 -1
  28. package/dist/modules/dexbot_fill_runtime.js +27 -27
  29. package/dist/modules/dexbot_fill_runtime.js.map +1 -1
  30. package/dist/modules/dexbot_maintenance_runtime.d.ts.map +1 -1
  31. package/dist/modules/dexbot_maintenance_runtime.js +32 -14
  32. package/dist/modules/dexbot_maintenance_runtime.js.map +1 -1
  33. package/dist/modules/dexbot_startup_runtime.d.ts.map +1 -1
  34. package/dist/modules/dexbot_startup_runtime.js +4 -11
  35. package/dist/modules/dexbot_startup_runtime.js.map +1 -1
  36. package/dist/modules/dexbot_state_recovery.d.ts.map +1 -1
  37. package/dist/modules/dexbot_state_recovery.js +7 -7
  38. package/dist/modules/dexbot_state_recovery.js.map +1 -1
  39. package/dist/modules/key_store.d.ts.map +1 -1
  40. package/dist/modules/key_store.js +42 -60
  41. package/dist/modules/key_store.js.map +1 -1
  42. package/dist/modules/launcher/bot_supervisor.d.ts +2 -2
  43. package/dist/modules/launcher/bot_supervisor.d.ts.map +1 -1
  44. package/dist/modules/launcher/bot_supervisor.js +6 -26
  45. package/dist/modules/launcher/bot_supervisor.js.map +1 -1
  46. package/dist/modules/launcher/foreign_cred_daemon.d.ts +17 -0
  47. package/dist/modules/launcher/foreign_cred_daemon.d.ts.map +1 -1
  48. package/dist/modules/launcher/foreign_cred_daemon.js +5 -14
  49. package/dist/modules/launcher/foreign_cred_daemon.js.map +1 -1
  50. package/dist/modules/launcher/monolithic_runtime.d.ts.map +1 -1
  51. package/dist/modules/launcher/monolithic_runtime.js +4 -16
  52. package/dist/modules/launcher/monolithic_runtime.js.map +1 -1
  53. package/dist/modules/launcher/status_reporting.d.ts.map +1 -1
  54. package/dist/modules/launcher/status_reporting.js +1 -11
  55. package/dist/modules/launcher/status_reporting.js.map +1 -1
  56. package/dist/modules/node_failure_ledger.d.ts +0 -1
  57. package/dist/modules/node_failure_ledger.d.ts.map +1 -1
  58. package/dist/modules/node_failure_ledger.js +0 -1
  59. package/dist/modules/node_failure_ledger.js.map +1 -1
  60. package/dist/modules/order/accounting.d.ts.map +1 -1
  61. package/dist/modules/order/accounting.js +5 -1
  62. package/dist/modules/order/accounting.js.map +1 -1
  63. package/dist/modules/order/grid.d.ts.map +1 -1
  64. package/dist/modules/order/grid.js +187 -22
  65. package/dist/modules/order/grid.js.map +1 -1
  66. package/dist/modules/order/grid_reconcile_internal.d.ts.map +1 -1
  67. package/dist/modules/order/grid_reconcile_internal.js +147 -35
  68. package/dist/modules/order/grid_reconcile_internal.js.map +1 -1
  69. package/dist/modules/order/logger.js +1 -1
  70. package/dist/modules/order/logger.js.map +1 -1
  71. package/dist/modules/order/manager.d.ts +1 -1
  72. package/dist/modules/order/manager.d.ts.map +1 -1
  73. package/dist/modules/order/manager.js +3 -20
  74. package/dist/modules/order/manager.js.map +1 -1
  75. package/dist/modules/order/strategy.js +2 -2
  76. package/dist/modules/order/strategy.js.map +1 -1
  77. package/dist/modules/order/sync_engine.js +4 -4
  78. package/dist/modules/order/sync_engine.js.map +1 -1
  79. package/dist/modules/order/utils/math.d.ts +38 -1
  80. package/dist/modules/order/utils/math.d.ts.map +1 -1
  81. package/dist/modules/order/utils/math.js +60 -0
  82. package/dist/modules/order/utils/math.js.map +1 -1
  83. package/dist/modules/order/utils/order.d.ts +45 -1
  84. package/dist/modules/order/utils/order.d.ts.map +1 -1
  85. package/dist/modules/order/utils/order.js +84 -0
  86. package/dist/modules/order/utils/order.js.map +1 -1
  87. package/dist/modules/order/utils/system.d.ts.map +1 -1
  88. package/dist/modules/order/utils/system.js +5 -2
  89. package/dist/modules/order/utils/system.js.map +1 -1
  90. package/dist/modules/process_discovery.d.ts +1 -1
  91. package/dist/modules/process_discovery.d.ts.map +1 -1
  92. package/dist/modules/process_discovery.js +15 -14
  93. package/dist/modules/process_discovery.js.map +1 -1
  94. package/dist/modules/socket_json_client.d.ts +0 -1
  95. package/dist/modules/socket_json_client.d.ts.map +1 -1
  96. package/dist/modules/socket_json_client.js +0 -1
  97. package/dist/modules/socket_json_client.js.map +1 -1
  98. package/dist/modules/types.d.ts +0 -600
  99. package/dist/modules/types.d.ts.map +1 -1
  100. package/dist/modules/types.js +15 -0
  101. package/dist/modules/types.js.map +1 -1
  102. package/dist/scripts/run-tests.js +185 -18
  103. package/dist/scripts/run-tests.js.map +1 -1
  104. package/dist/unlock.d.ts +4 -4
  105. package/dist/unlock.js +8 -8
  106. package/dist/unlock.js.map +1 -1
  107. package/package.json +1 -1
@@ -9,6 +9,7 @@ exports.buildOrphanFillFallbackKey = buildOrphanFillFallbackKey;
9
9
  exports.applyReplaySafeFillAccounting = applyReplaySafeFillAccounting;
10
10
  exports.applyReplaySafeTrackedFillAccounting = applyReplaySafeTrackedFillAccounting;
11
11
  exports.applyReplaySafeOrphanFillAccounting = applyReplaySafeOrphanFillAccounting;
12
+ exports.processSweepOrphanFill = processSweepOrphanFill;
12
13
  exports.createFillCallback = createFillCallback;
13
14
  exports.maxConsecutiveFillConsumerFailures = maxConsecutiveFillConsumerFailures;
14
15
  exports.computeFillConsumerBackoffMs = computeFillConsumerBackoffMs;
@@ -23,11 +24,29 @@ function correctAllPriceMismatches(...args) { return require('./order/utils/orde
23
24
  function retryPersistenceIfNeeded(...args) { return require('./order/utils/system').retryPersistenceIfNeeded(...args); }
24
25
  const { readOpenOrdersGuarded } = require('./chain_orders');
25
26
  /**
26
- * Wire processed fill tracking into the manager and processed fill store.
27
- * Establishes the bidirectional link between the runtime's processed fill store
28
- * and the OrderManager's processed fill tracker.
29
- * @param {import('./dexbot_class').DEXBot} bot
27
+ * Handle a sweep fill whose grid order could not be resolved (orphan): derive a
28
+ * replay-safe key (with degraded fallback), skip already-processed fills, credit
29
+ * the fill's proceeds via replay-safe orphan accounting, and report whether the
30
+ * fill was missing a history key (which should trigger an open-orders sync).
31
+ * Shared by the bootstrap/post-reset/orphan-fill sweep loops.
32
+ * @returns true when the fill was missing a replay-safe history identifier.
30
33
  */
34
+ async function processSweepOrphanFill(bot, fill, fillOp, processedFillKeys, opts) {
35
+ let orphanFillKey = buildFillKey(fill);
36
+ if (!orphanFillKey) {
37
+ orphanFillKey = bot._buildOrphanFillFallbackKey(fill);
38
+ }
39
+ if (orphanFillKey && !bot._isNewFillKey(orphanFillKey, processedFillKeys, opts.label, fillOp.order_id)) {
40
+ return false;
41
+ }
42
+ (opts.logger ?? bot.manager.logger).log(`[${opts.label}] Processing funds for unknown order ${fillOp.order_id} (not in grid but crediting proceeds)`, 'warn');
43
+ const accountingResult = await bot._applyReplaySafeOrphanFillAccounting(fill, fillOp, {
44
+ context: opts.context,
45
+ logger: opts.logger,
46
+ replayMessage: opts.replayMessage,
47
+ });
48
+ return accountingResult.status === 'missing_key';
49
+ }
31
50
  function wireProcessedFillTracking(bot) {
32
51
  if (!bot.manager)
33
52
  return;
@@ -330,18 +349,7 @@ async function processFillsWithBootstrapMode(bot, chainOrders) {
330
349
  const gridOrder = bot.manager.orders.get(fillOp.order_id) ||
331
350
  Array.from(bot.manager.orders.values()).find((o) => o.orderId === fillOp.order_id);
332
351
  if (!gridOrder) {
333
- let orphanFillKey = buildFillKey(fill);
334
- if (!orphanFillKey) {
335
- orphanFillKey = bot._buildOrphanFillFallbackKey(fill);
336
- }
337
- if (orphanFillKey && !bot._isNewFillKey(orphanFillKey, processedFillKeys, '[BOOTSTRAP]', fillOp.order_id)) {
338
- continue;
339
- }
340
- bot.manager.logger.log(`[BOOTSTRAP] Processing funds for unknown order ${fillOp.order_id} (not in grid but crediting proceeds)`, 'warn');
341
- const accountingResult = await bot._applyReplaySafeOrphanFillAccounting(fill, fillOp, {
342
- context: 'BOOTSTRAP'
343
- });
344
- if (accountingResult.status === 'missing_key') {
352
+ if (await processSweepOrphanFill(bot, fill, fillOp, processedFillKeys, { context: 'BOOTSTRAP', label: 'BOOTSTRAP' })) {
345
353
  requiresOpenOrdersSync = true;
346
354
  }
347
355
  continue;
@@ -497,19 +505,11 @@ async function consumeFillQueue(bot, chainOrders) {
497
505
  }
498
506
  bot._staleCleanedOrderIds.delete(fillOp.order_id);
499
507
  }
500
- let orphanFillKey = buildFillKey(fill);
501
- if (!orphanFillKey) {
502
- orphanFillKey = bot._buildOrphanFillFallbackKey(fill);
503
- }
504
- if (orphanFillKey && !bot._isNewFillKey(orphanFillKey, processedFillKeys, '[ORPHAN-FILL]', fillOp.order_id)) {
505
- continue;
506
- }
507
- bot.manager.logger.log(`[ORPHAN-FILL] Processing funds for unknown order ${fillOp.order_id} (not in grid but crediting proceeds)`, 'warn');
508
- const accountingResult = await bot._applyReplaySafeOrphanFillAccounting(fill, fillOp, {
508
+ if (await processSweepOrphanFill(bot, fill, fillOp, processedFillKeys, {
509
509
  context: 'ORPHAN-FILL',
510
+ label: 'ORPHAN-FILL',
510
511
  replayMessage: (op) => `[ORPHAN-FILL] Replay detected for ${op.order_id}; skipping duplicate credit`
511
- });
512
- if (accountingResult.status === 'missing_key') {
512
+ })) {
513
513
  requiresOpenOrdersSync = true;
514
514
  }
515
515
  bot.manager._orphanFillsCreditedAt = Date.now();
@@ -1 +1 @@
1
- {"version":3,"file":"dexbot_fill_runtime.js","sourceRoot":"","sources":["../../modules/dexbot_fill_runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dexbot_fill_runtime.js","sourceRoot":"","sources":["../../modules/dexbot_fill_runtime.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"dexbot_maintenance_runtime.d.ts","sourceRoot":"","sources":["../../modules/dexbot_maintenance_runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dexbot_maintenance_runtime.d.ts","sourceRoot":"","sources":["../../modules/dexbot_maintenance_runtime.ts"],"names":[],"mappings":"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"}
@@ -43,6 +43,7 @@ function updateDynamicGridSnapshotSync(...args) { return require('../market_adap
43
43
  function reconcileGridOrders(...args) { return require('./order/grid_reconcile').reconcileGridOrders(...args); }
44
44
  function formatUnmatchedChainOrder(...args) { return require('./order/utils/order').formatUnmatchedChainOrder(...args); }
45
45
  function getSideBudget(...args) { return require('./order/utils/order').getSideBudget(...args); }
46
+ function getActiveOrdersTotal(config) { return require('./order/utils/order').getActiveOrdersTotal(config); }
46
47
  function correctAllPriceMismatches(...args) { return require('./order/utils/order').correctAllPriceMismatches(...args); }
47
48
  function isOrderOnChain(...args) { return require('./order/utils/order').isOrderOnChain(...args); }
48
49
  function parseChainOrder(...args) { return require('./order/utils/order').parseChainOrder(...args); }
@@ -153,9 +154,7 @@ function _hasBudgetForSide(manager, config, side) {
153
154
  const allocated = side === 'buy' ? (funds.allocatedBuy || 0) : (funds.allocatedSell || 0);
154
155
  if (allocated <= 0)
155
156
  return false;
156
- const targetBuy = Math.max(0, config?.activeOrders?.buy ?? 1);
157
- const targetSell = Math.max(0, config?.activeOrders?.sell ?? 1);
158
- const totalTarget = targetBuy + targetSell;
157
+ const totalTarget = getActiveOrdersTotal(config);
159
158
  const budget = getSideBudget(side, funds, config, totalTarget);
160
159
  return budget > 0;
161
160
  }
@@ -1460,6 +1459,11 @@ async function executeMaintenanceLogic(bot, context) {
1460
1459
  // between the top clear and here (nothing currently does).
1461
1460
  bot.manager._gridSidesUpdated?.clear();
1462
1461
  const divergence = await grid.monitorDivergence(bot.manager, calculatedGrid, persistedGridData);
1462
+ // Runtime lockout for the spread check below: when divergence
1463
+ // corrections end in a pending boundary-shift retry, spread
1464
+ // correction this tick is skipped because placing orders against a
1465
+ // stale boundary before the retry re-derives it would be a TOCTOU.
1466
+ let boundaryShiftPending = false;
1463
1467
  if (divergence.needsUpdate) {
1464
1468
  const hasRmsDivergence = !!(divergence.buy.rms || divergence.sell.rms);
1465
1469
  if (divergence.buy.ratio || divergence.sell.ratio) {
@@ -1502,19 +1506,35 @@ async function executeMaintenanceLogic(bot, context) {
1502
1506
  bot._log(`[DIVERGENCE-COW] Commit failed with boundary shift; ` +
1503
1507
  `scheduling immediate retry instead of patching master`, 'warn');
1504
1508
  setTimeout(() => runGridMaintenance(bot, 'failed-commit-retry', { skipIdle: true }), 0);
1509
+ boundaryShiftPending = true;
1505
1510
  }
1506
1511
  else if (dcResult && !dcResult.committed && dcResult.boundaryChanged) {
1507
1512
  bot._log(`[DIVERGENCE-COW] Boundary-shift commit blocked (reason=${dcResult.reason}); ` +
1508
1513
  `deferring retry to next fill/sync cycle`, 'warn');
1514
+ boundaryShiftPending = true;
1509
1515
  }
1510
- else {
1511
- const spreadResult = await bot.manager.checkSpreadCondition(BitShares, bot.updateOrdersOnChainPlan.bind(bot));
1512
- if (await bot._abortFlowIfIllegalState(`${context} spread check`))
1513
- return;
1514
- if (spreadResult && spreadResult.ordersPlaced > 0) {
1515
- bot._log(`✓ Spread correction during ${context}: ${spreadResult.ordersPlaced} order(s) placed`);
1516
- await bot._persistAndRecoverIfNeeded();
1517
- }
1516
+ }
1517
+ // Independent spread check — intentionally NOT gated behind divergence
1518
+ // detection. Divergence measures internal grid-vs-ideal structure (fund
1519
+ // ratio / RMS drift); a wide realized spread can exist even when the
1520
+ // grid looks internally consistent — e.g. after a stale-order cleanup
1521
+ // zeroed boundary-adjacent sell slots and a reconcile backfilled far-end
1522
+ // slots instead (order count restored 20/20, so divergence never flags).
1523
+ // Running the spread check here every pipeline-empty tick catches that
1524
+ // case via prepareSpreadCorrectionOrders' orphaned-virtual candidates.
1525
+ //
1526
+ // The ONLY skip is a pending boundary-shift commit: placing orders
1527
+ // against a stale boundary before the retry re-derives it would be
1528
+ // a TOCTOU. checkSpreadCondition itself holds _gridLock, uses the
1529
+ // committed boundary, and re-plans on fund change, so this tick is
1530
+ // race-safe whenever it does run.
1531
+ if (!boundaryShiftPending) {
1532
+ const spreadResult = await bot.manager.checkSpreadCondition(BitShares, bot.updateOrdersOnChainPlan.bind(bot));
1533
+ if (await bot._abortFlowIfIllegalState(`${context} spread check`))
1534
+ return;
1535
+ if (spreadResult && spreadResult.ordersPlaced > 0) {
1536
+ bot._log(`✓ Spread correction during ${context}: ${spreadResult.ordersPlaced} order(s) placed`);
1537
+ await bot._persistAndRecoverIfNeeded();
1518
1538
  }
1519
1539
  }
1520
1540
  }
@@ -1703,9 +1723,7 @@ async function checkBtsBalanceAndAcquire(bot) {
1703
1723
  return;
1704
1724
  if (!bot.manager || !bot.manager.btsBalance)
1705
1725
  return;
1706
- const targetBuy = Math.max(0, bot.config.activeOrders?.buy ?? 1);
1707
- const targetSell = Math.max(0, bot.config.activeOrders?.sell ?? 1);
1708
- const totalTarget = targetBuy + targetSell;
1726
+ const totalTarget = getActiveOrdersTotal(bot.config);
1709
1727
  const btsReservationMultiplier = bot.config?.feeParams?.BTS_RESERVATION_MULTIPLIER;
1710
1728
  const minBtsVal = calculateOrderCreationFees(bot.config.assetA, bot.config.assetB, totalTarget, btsReservationMultiplier);
1711
1729
  if (minBtsVal <= 0)