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
@@ -206,13 +206,11 @@ declare function executeMaintenanceLogic(bot: any, context: any): Promise<void>;
206
206
  * @param {Object} [options] - Dust cancellation options
207
207
  * @param {import('./types').Order[]} [options.buy=[]] - Buy-side dust orders
208
208
  * @param {import('./types').Order[]} [options.sell=[]] - Sell-side dust orders
209
- * @param {boolean} [options.fillLockAlreadyHeld=false] - Skip fill-processing lock re-entry (caller already holds it)
210
209
  * @returns {Promise<{cancelledCount: number, batchResult: {aborted: boolean}|null}>}
211
210
  */
212
- declare function cancelDustOrders(bot: any, { buy: buyDust, sell: sellDust, fillLockAlreadyHeld }?: {
211
+ declare function cancelDustOrders(bot: any, { buy: buyDust, sell: sellDust }?: {
213
212
  buy?: any[];
214
213
  sell?: any[];
215
- fillLockAlreadyHeld?: boolean;
216
214
  }): Promise<{
217
215
  cancelledCount: number;
218
216
  batchResult: {
@@ -225,12 +223,10 @@ declare function cancelDustOrders(bot: any, { buy: buyDust, sell: sellDust, fill
225
223
  * @param {import('./dexbot_class').DEXBot} bot
226
224
  * @param {string} [context='periodic'] - Context label for logging
227
225
  * @param {Object} [options] - Maintenance options
228
- * @param {boolean} [options.fillLockAlreadyHeld=false] - Skip fill lock acquisition if already held
229
226
  * @param {boolean} [options.skipIdle=false] - Skip idle delay check
230
227
  * @returns {Promise<void>}
231
228
  */
232
229
  declare function runGridMaintenance(bot: any, context?: string, options?: {
233
- fillLockAlreadyHeld?: boolean;
234
230
  skipIdle?: boolean;
235
231
  }): Promise<void>;
236
232
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"dexbot_maintenance_runtime.d.ts","sourceRoot":"","sources":["../../modules/dexbot_maintenance_runtime.ts"],"names":[],"mappings":"AAyEA;;;;GAIG;AACH,iBAAS,gBAAgB,CAAC,GAAG,KAAA,WAG5B;AAED;;;;;;GAMG;AACH,iBAAS,+BAA+B,CAAC,QAAQ,KAAA,EAAE,MAAM,KAAA,OAaxD;AAED;;;;;GAKG;AACH,iBAAS,+BAA+B,CAAC,QAAQ,KAAA,EAAE,MAAM,KAAA,WAMxD;AA8HD;;;GAGG;AACH,iBAAS,sBAAsB;;;;;;;;;;;;EAgC9B;AAuGD;;;GAGG;AACH,iBAAe,oBAAoB,kBAElC;AAED;;;;;;GAMG;AACH,iBAAe,sCAAsC,CAAC,GAAG,KAAA,EAAE,OAAO,SAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4I9E;AAED;;;;;;GAMG;AACH,iBAAS,gCAAgC,CAAC,GAAG,KAAA,EAAE,OAAO,SAAY;;;;;;;;;;EA+DjE;AAyHD;;;;;;;GAOG;AACH,iBAAS,0BAA0B,CAAC,MAAM,KAAA,EAAE,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAO,OA0BnG;AAED;;;;;;GAMG;AACH,iBAAS,iBAAiB,CAAC,GAAG,KAAA,EAAE,OAAO,GAAE;IACrC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;CACnB,oBAsGL;AAED;;;;;GAKG;AACH,iBAAe,yBAAyB,CAAC,GAAG,KAAA,oBAkB3C;AAED;;;;;GAKG;AACH,iBAAe,yBAAyB,CAAC,GAAG,KAAA,iBAkD3C;AAED;;;;;GAKG;AACH,iBAAe,yBAAyB,CAAC,GAAG,KAAA,iBAM3C;AAED;;;;GAIG;AACH,iBAAS,2BAA2B,CAAC,GAAG,KAAA,WAKvC;AAED;;;;GAIG;AACH,iBAAS,uBAAuB,CAAC,GAAG,KAAA,QA0DnC;AAED;;;;GAIG;AACH,iBAAe,sBAAsB,CAAC,GAAG,KAAA,iBAKxC;AAED;;;;GAIG;AACH,iBAAS,4BAA4B,CAAC,GAAG,KAAA,QAsHxC;AAED;;;GAGG;AACH,iBAAS,2BAA2B,CAAC,GAAG,KAAA,QAMvC;AAED;;;;;;;GAOG;AACH,iBAAe,2BAA2B,CAAC,GAAG,KAAA,EAAE,KAAK,KAAA,EAAE,OAAO,SAAa,gBAiB1E;AAID;;;;;GAKG;AACH,iBAAS,wBAAwB,CAAC,OAAO,KAAA,EAAE,OAAO,KAAA,WAYjD;AAyGD;;;;;;;GAOG;AACH,iBAAe,uBAAuB,CAAC,GAAG,KAAA,EAAE,OAAO,KAAA,iBAuMlD;AA2CD;;;;;;;;;;;GAWG;AACH,iBAAe,gBAAgB,CAAC,GAAG,KAAA,EAAE,EAAE,GAAG,EAAE,OAAY,EAAE,IAAI,EAAE,QAAa,EAAE,mBAA2B,EAAE;;;;CAAK;;;;;GAyChH;AAED;;;;;;;;;GASG;AACH,iBAAe,kBAAkB,CAC7B,GAAG,KAAA,EACH,OAAO,SAAa,EACpB,OAAO,GAAE;IAAE,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAO,iBAkDtE;AAID;;;;;;GAMG;AACH,iBAAe,yBAAyB,CAAC,GAAG,KAAA,iBAoD3C;AAED;;;;;;GAMG;AACH,iBAAe,UAAU,CAAC,GAAG,KAAA,EAAE,OAAO,KAAA,iBAmFrC;;;;;;;;;;;;;;;;;;;;;;;;;;;AAED,kBAyBE"}
1
+ {"version":3,"file":"dexbot_maintenance_runtime.d.ts","sourceRoot":"","sources":["../../modules/dexbot_maintenance_runtime.ts"],"names":[],"mappings":"AAyEA;;;;GAIG;AACH,iBAAS,gBAAgB,CAAC,GAAG,KAAA,WAG5B;AAED;;;;;;GAMG;AACH,iBAAS,+BAA+B,CAAC,QAAQ,KAAA,EAAE,MAAM,KAAA,OAaxD;AAED;;;;;GAKG;AACH,iBAAS,+BAA+B,CAAC,QAAQ,KAAA,EAAE,MAAM,KAAA,WAMxD;AA6HD;;;GAGG;AACH,iBAAS,sBAAsB;;;;;;;;;;;;EAgC9B;AAuGD;;;GAGG;AACH,iBAAe,oBAAoB,kBAElC;AAED;;;;;;GAMG;AACH,iBAAe,sCAAsC,CAAC,GAAG,KAAA,EAAE,OAAO,SAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4I9E;AAED;;;;;;GAMG;AACH,iBAAS,gCAAgC,CAAC,GAAG,KAAA,EAAE,OAAO,SAAY;;;;;;;;;;EA+DjE;AAyHD;;;;;;;GAOG;AACH,iBAAS,0BAA0B,CAAC,MAAM,KAAA,EAAE,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAO,OA0BnG;AAED;;;;;;GAMG;AACH,iBAAS,iBAAiB,CAAC,GAAG,KAAA,EAAE,OAAO,GAAE;IACrC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;CACnB,oBAqGL;AAED;;;;;GAKG;AACH,iBAAe,yBAAyB,CAAC,GAAG,KAAA,oBAkB3C;AAED;;;;;GAKG;AACH,iBAAe,yBAAyB,CAAC,GAAG,KAAA,iBAkD3C;AAED;;;;;GAKG;AACH,iBAAe,yBAAyB,CAAC,GAAG,KAAA,iBAM3C;AAED;;;;GAIG;AACH,iBAAS,2BAA2B,CAAC,GAAG,KAAA,WAKvC;AAED;;;;GAIG;AACH,iBAAS,uBAAuB,CAAC,GAAG,KAAA,QA0DnC;AAED;;;;GAIG;AACH,iBAAe,sBAAsB,CAAC,GAAG,KAAA,iBAKxC;AAED;;;;GAIG;AACH,iBAAS,4BAA4B,CAAC,GAAG,KAAA,QAsHxC;AAED;;;GAGG;AACH,iBAAS,2BAA2B,CAAC,GAAG,KAAA,QAMvC;AAED;;;;;;;GAOG;AACH,iBAAe,2BAA2B,CAAC,GAAG,KAAA,EAAE,KAAK,KAAA,EAAE,OAAO,SAAa,gBAiB1E;AAID;;;;;GAKG;AACH,iBAAS,wBAAwB,CAAC,OAAO,KAAA,EAAE,OAAO,KAAA,WAYjD;AAmGD;;;;;;;GAOG;AACH,iBAAe,uBAAuB,CAAC,GAAG,KAAA,EAAE,OAAO,KAAA,iBAoMlD;AA2CD;;;;;;;;;;GAUG;AACH,iBAAe,gBAAgB,CAAC,GAAG,KAAA,EAAE,EAAE,GAAG,EAAE,OAAY,EAAE,IAAI,EAAE,QAAa,EAAE;;;CAAK;;;;;GAyCnF;AAED;;;;;;;;GAQG;AACH,iBAAe,kBAAkB,CAC7B,GAAG,KAAA,EACH,OAAO,SAAa,EACpB,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAO,iBAmCvC;AAID;;;;;;GAMG;AACH,iBAAe,yBAAyB,CAAC,GAAG,KAAA,iBAoD3C;AAED;;;;;;GAMG;AACH,iBAAe,UAAU,CAAC,GAAG,KAAA,EAAE,OAAO,KAAA,iBAmFrC;;;;;;;;;;;;;;;;;;;;;;;;;;;AAED,kBAyBE"}
@@ -8,7 +8,7 @@ const { BitShares, getNodeManager } = require('./bitshares_client');
8
8
  const chainOrders = require('./chain_orders');
9
9
  const { BroadcastUncertainError } = require('./dexbot_credential_client');
10
10
  const { Config, hasOpenOrdersSyncLoopMsSet, getOpenOrdersSyncLoopMs } = require('./config');
11
- const Grid = require('./order/grid');
11
+ const { isGridBloated, isGridBloatGraceActive, clearGridBloatFlag, loadGrid, recalculateGrid, monitorDivergence } = require('./order/grid');
12
12
  const { ORDER_STATES, ORDER_TYPES, TIMING, BTS_PRECISION, NATIVE_CLIENT } = require('./constants');
13
13
  const { PATHS } = require('./paths');
14
14
  const { buildRuntimeScriptPath, isDistCodeRoot } = require('./launcher/runtime_entry');
@@ -205,7 +205,6 @@ async function maybeRunTargetedDriftReconciliation(bot, context) {
205
205
  privateKey: bot.privateKey,
206
206
  chainOrders,
207
207
  chainOpenOrders: openOrders,
208
- fillLockAlreadyHeld: true,
209
208
  });
210
209
  await bot._executeBatchIfNeeded(reconcileResult, `targeted ${context} reconcile`);
211
210
  }
@@ -738,7 +737,7 @@ function performGridResync(bot, options = {}) {
738
737
  refreshDynamicWeightDistribution(self, 'grid resync');
739
738
  }
740
739
  const readFn = () => chainOrders.readOpenOrders(self.accountId);
741
- await Grid.recalculateGrid(self.manager, {
740
+ await recalculateGrid(self.manager, {
742
741
  readOpenOrdersFn: readFn,
743
742
  chainOrders,
744
743
  account: self.account,
@@ -763,7 +762,6 @@ function performGridResync(bot, options = {}) {
763
762
  await cancelDustOrders(self, {
764
763
  buy: resyncHealth.buyDustOrders,
765
764
  sell: resyncHealth.sellDustOrders,
766
- fillLockAlreadyHeld: true,
767
765
  });
768
766
  }
769
767
  catch (_dustErr) {
@@ -869,10 +867,10 @@ async function setupTriggerFileDetection(bot) {
869
867
  */
870
868
  async function performPeriodicGridChecks(bot) {
871
869
  if (typeof bot._runGridMaintenance === 'function') {
872
- await bot._runGridMaintenance('periodic', { fillLockAlreadyHeld: true });
870
+ await bot._runGridMaintenance('periodic');
873
871
  }
874
872
  else {
875
- await runGridMaintenance(bot, 'periodic', { fillLockAlreadyHeld: true });
873
+ await runGridMaintenance(bot, 'periodic');
876
874
  }
877
875
  }
878
876
  /**
@@ -914,7 +912,7 @@ function startOpenOrdersSyncLoop(bot) {
914
912
  bot.manager._fillProcessingLock.getQueueLength() === 0) {
915
913
  await bot.manager._fillProcessingLock.acquire(async () => {
916
914
  const chainOpenOrders = await readOpenOrdersFn.call(chainOrders, bot.accountId);
917
- const syncResult = await bot.manager.synchronizeWithChain(chainOpenOrders, 'readOpenOrders', { fillLockAlreadyHeld: true });
915
+ const syncResult = await bot.manager.synchronizeWithChain(chainOpenOrders, 'readOpenOrders');
918
916
  if (syncResult?.filledOrders && syncResult.filledOrders.length > 0) {
919
917
  bot._log(`Open-orders sync loop: ${syncResult.filledOrders.length} grid order(s) found filled on-chain. Triggering rebalance.`, 'info');
920
918
  bot._markGridActivity?.('open-orders sync fill');
@@ -1031,7 +1029,7 @@ function setupBlockchainFetchInterval(bot) {
1031
1029
  if (!bot.config.dryRun) {
1032
1030
  try {
1033
1031
  chainOpenOrders = await chainOrders.readOpenOrders(bot.accountId);
1034
- const syncResult = await bot.manager.synchronizeWithChain(chainOpenOrders, 'periodicBlockchainFetch', { fillLockAlreadyHeld: true });
1032
+ const syncResult = await bot.manager.synchronizeWithChain(chainOpenOrders, 'periodicBlockchainFetch');
1035
1033
  if (syncResult.filledOrders && syncResult.filledOrders.length > 0) {
1036
1034
  bot._log(`Periodic sync: ${syncResult.filledOrders.length} grid order(s) found filled on-chain. Triggering rebalance.`, 'info');
1037
1035
  bot._markGridActivity?.('periodic sync fill rebalance');
@@ -1158,14 +1156,8 @@ function scheduleMaintenanceAfterIdle(ctx, context, options = {}) {
1158
1156
  const delayMs = getMaintenanceIdleDelayMs(ctx);
1159
1157
  if (!(delayMs > 0))
1160
1158
  return;
1161
- // The caller will have returned (and released _fillProcessingLock, if it
1162
- // was held) by the time this deferred callback fires, so the deferred
1163
- // run must always acquire the lock itself. Override any caller-supplied
1164
- // fillLockAlreadyHeld=true so the deferred path can't deadlock against
1165
- // a lock the caller no longer owns.
1166
1159
  const timerOptions = {
1167
1160
  ...(options || {}),
1168
- fillLockAlreadyHeld: false,
1169
1161
  };
1170
1162
  ctx._maintenanceIdleTimer = setTimeout(() => {
1171
1163
  ctx._maintenanceIdleTimer = null;
@@ -1254,26 +1246,26 @@ async function executeMaintenanceLogic(bot, context) {
1254
1246
  bot._log(`[MAINT-COOLDOWN] Skipping ${context} maintenance after hard-abort recovery sync (remaining=${bot._maintenanceCooldownCycles})`, 'warn');
1255
1247
  return;
1256
1248
  }
1257
- // Grid bloat re-check: if a previous Grid.loadGrid detected bloat and set
1249
+ // Grid bloat re-check: if a previous loadGrid detected bloat and set
1258
1250
  // _gridBloatDetectedAt, verify the grid is still oversized after a grace
1259
1251
  // period. If it hasn't resolved and no structural resync is in flight,
1260
1252
  // trigger one. This catches bloat that occurred during startup (before
1261
1253
  // requestStructuralGridResync was wired) or bloat that survived a prior
1262
1254
  // resync attempt.
1263
1255
  if (bot.manager._gridBloatDetectedAt && typeof bot.manager.requestStructuralGridResync === 'function') {
1264
- const graceMs = TIMING.GRID_BLOAT_RESYNC_GRACE_MS || 300000;
1265
- if (Date.now() - bot.manager._gridBloatDetectedAt >= graceMs) {
1266
- const bloatResult = Grid.isGridBloated(bot.manager, bot.manager.orders);
1256
+ const grace = isGridBloatGraceActive(bot.manager);
1257
+ if (!grace.active) {
1258
+ const bloatResult = isGridBloated(bot.manager, bot.manager.orders);
1267
1259
  if (bloatResult.bloated) {
1268
1260
  const d = bloatResult.details;
1269
1261
  bot._log(`[GRID-BLOAT] Grid size ${d.gridSize} still exceeds expected maximum ${d.maxAllowed} ` +
1270
- `after grace period. Triggering structural resync.`, 'warn');
1262
+ `after grace period (${grace.graceMs}ms). Triggering structural resync.`, 'warn');
1271
1263
  bot.manager.requestStructuralGridResync('grid-bloat-persistent', { reason: `Grid size ${d.gridSize} still exceeds max ${d.maxAllowed} after grace` }).catch((err) => {
1272
1264
  bot.manager?.logger?.log?.(`[GRID-BLOAT] Structural resync request failed: ${err.message}`, 'error');
1273
1265
  });
1274
1266
  }
1275
1267
  else {
1276
- delete bot.manager._gridBloatDetectedAt;
1268
+ clearGridBloatFlag(bot.manager);
1277
1269
  bot._log('[GRID-BLOAT] Grid size returned to normal. Clearing bloat flag.', 'info');
1278
1270
  }
1279
1271
  }
@@ -1297,9 +1289,7 @@ async function executeMaintenanceLogic(bot, context) {
1297
1289
  bot._log(`[LIGHTWEIGHT-SYNC] Order count mismatch: chain=${chainOrdersCount}, grid=${gridActive} ` +
1298
1290
  `(diff=${diff}). Triggering targeted sync to reconcile.`, 'warn');
1299
1291
  if (bot.manager?.synchronizeWithChain) {
1300
- await bot.manager.synchronizeWithChain(chainOpenOrdersResult, 'readOpenOrders', {
1301
- fillLockAlreadyHeld: true
1302
- });
1292
+ await bot.manager.synchronizeWithChain(chainOpenOrdersResult, 'readOpenOrders');
1303
1293
  }
1304
1294
  }
1305
1295
  else if (diff > 0) {
@@ -1341,7 +1331,6 @@ async function executeMaintenanceLogic(bot, context) {
1341
1331
  const dustCancelResult = await cancelDustOrders(bot, {
1342
1332
  buy: healthResult.buyDustOrders,
1343
1333
  sell: healthResult.sellDustOrders,
1344
- fillLockAlreadyHeld: true,
1345
1334
  });
1346
1335
  if (dustCancelResult?.batchResult?.aborted) {
1347
1336
  return;
@@ -1349,7 +1338,7 @@ async function executeMaintenanceLogic(bot, context) {
1349
1338
  try {
1350
1339
  const persistedGridData = bot.accountOrders.loadGrid(true) || [];
1351
1340
  const calculatedGrid = Array.from(bot.manager.orders.values());
1352
- const divergence = await Grid.monitorDivergence(bot.manager, calculatedGrid, persistedGridData);
1341
+ const divergence = await monitorDivergence(bot.manager, calculatedGrid, persistedGridData);
1353
1342
  if (divergence.needsUpdate) {
1354
1343
  const hasRmsDivergence = !!(divergence.buy.rms || divergence.sell.rms);
1355
1344
  if (divergence.buy.ratio || divergence.sell.ratio) {
@@ -1444,10 +1433,9 @@ async function cancelOrderWithNodeFallback(bot, order) {
1444
1433
  * @param {Object} [options] - Dust cancellation options
1445
1434
  * @param {import('./types').Order[]} [options.buy=[]] - Buy-side dust orders
1446
1435
  * @param {import('./types').Order[]} [options.sell=[]] - Sell-side dust orders
1447
- * @param {boolean} [options.fillLockAlreadyHeld=false] - Skip fill-processing lock re-entry (caller already holds it)
1448
1436
  * @returns {Promise<{cancelledCount: number, batchResult: {aborted: boolean}|null}>}
1449
1437
  */
1450
- async function cancelDustOrders(bot, { buy: buyDust = [], sell: sellDust = [], fillLockAlreadyHeld = false } = {}) {
1438
+ async function cancelDustOrders(bot, { buy: buyDust = [], sell: sellDust = [] } = {}) {
1451
1439
  const allDust = [...buyDust, ...sellDust];
1452
1440
  if (allDust.length === 0)
1453
1441
  return { cancelledCount: 0, batchResult: null };
@@ -1461,10 +1449,10 @@ async function cancelDustOrders(bot, { buy: buyDust = [], sell: sellDust = [], f
1461
1449
  if (cancelResult?.verifiedAfterFailure) {
1462
1450
  const accountRef = bot.accountId || bot.account;
1463
1451
  const chainOpenOrders = await chainOrders.readOpenOrders(accountRef);
1464
- await bot.manager.synchronizeWithChain(chainOpenOrders, 'readOpenOrders', { fillLockAlreadyHeld: true, protectCommittedOrders: true });
1452
+ await bot.manager.synchronizeWithChain(chainOpenOrders, 'readOpenOrders');
1465
1453
  }
1466
1454
  else {
1467
- await bot.manager.synchronizeWithChain({ orderId: order.orderId, clearSize: true }, 'cancelOrder', { fillLockAlreadyHeld });
1455
+ await bot.manager.synchronizeWithChain({ orderId: order.orderId, clearSize: true }, 'cancelOrder');
1468
1456
  }
1469
1457
  }
1470
1458
  catch (refetchErr) {
@@ -1498,15 +1486,10 @@ async function cancelDustOrders(bot, { buy: buyDust = [], sell: sellDust = [], f
1498
1486
  * @param {import('./dexbot_class').DEXBot} bot
1499
1487
  * @param {string} [context='periodic'] - Context label for logging
1500
1488
  * @param {Object} [options] - Maintenance options
1501
- * @param {boolean} [options.fillLockAlreadyHeld=false] - Skip fill lock acquisition if already held
1502
1489
  * @param {boolean} [options.skipIdle=false] - Skip idle delay check
1503
1490
  * @returns {Promise<void>}
1504
1491
  */
1505
1492
  async function runGridMaintenance(bot, context = 'periodic', options = {}) {
1506
- if (options === null || typeof options !== 'object' || Array.isArray(options)) {
1507
- throw new TypeError('Grid maintenance options must be an object');
1508
- }
1509
- const fillLockAlreadyHeld = options.fillLockAlreadyHeld === true;
1510
1493
  const skipIdle = options.skipIdle === true;
1511
1494
  if (!skipIdle) {
1512
1495
  const idleDelayMs = getMaintenanceIdleDelayMs(bot);
@@ -1520,13 +1503,6 @@ async function runGridMaintenance(bot, context = 'periodic', options = {}) {
1520
1503
  try {
1521
1504
  if (!bot.manager)
1522
1505
  return;
1523
- // Lock-ordering contract:
1524
- // - When fillLockAlreadyHeld=false this function acquires
1525
- // _fillProcessingLock first, then _divergenceLock (canonical order).
1526
- // - When fillLockAlreadyHeld=true the caller must already hold
1527
- // _fillProcessingLock; only _divergenceLock is acquired here.
1528
- // AsyncLock is NOT reentrant — acquiring in the reverse order anywhere
1529
- // else in the bot would deadlock against the path above.
1530
1506
  const runWithDivergenceLock = async () => {
1531
1507
  // Re-check orders size under the divergence lock to avoid a TOCTOU
1532
1508
  // race with concurrent order mutations. The previous placement
@@ -1536,14 +1512,9 @@ async function runGridMaintenance(bot, context = 'periodic', options = {}) {
1536
1512
  return;
1537
1513
  await executeMaintenanceLogic(bot, context);
1538
1514
  };
1539
- if (fillLockAlreadyHeld) {
1515
+ await bot.manager._fillProcessingLock.acquire(async () => {
1540
1516
  await bot.manager._divergenceLock.acquire(runWithDivergenceLock);
1541
- }
1542
- else {
1543
- await bot.manager._fillProcessingLock.acquire(async () => {
1544
- await bot.manager._divergenceLock.acquire(runWithDivergenceLock);
1545
- });
1546
- }
1517
+ });
1547
1518
  }
1548
1519
  catch (err) {
1549
1520
  bot._warn(`Error during ${context} grid maintenance: ${err.message}`);
@@ -1 +1 @@
1
- {"version":3,"file":"dexbot_maintenance_runtime.js","sourceRoot":"","sources":["../../modules/dexbot_maintenance_runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dexbot_maintenance_runtime.js","sourceRoot":"","sources":["../../modules/dexbot_maintenance_runtime.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"child_env.d.ts","sourceRoot":"","sources":["../../../modules/launcher/child_env.ts"],"names":[],"mappings":"AAiEA,iBAAS,mBAAmB,CAAC,EAAE,KAAU,EAAE,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAQxH;;;;;AAED,kBAGE"}
1
+ {"version":3,"file":"child_env.d.ts","sourceRoot":"","sources":["../../../modules/launcher/child_env.ts"],"names":[],"mappings":"AAkEA,iBAAS,mBAAmB,CAAC,EAAE,KAAU,EAAE,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAQxH;;;;;AAED,kBAGE"}
@@ -41,6 +41,7 @@ const SAFE_CHILD_ENV_KEYS = [
41
41
  'NVM_INC',
42
42
  'NUMBER_OF_PROCESSORS',
43
43
  'OPEN_ORDERS_SYNC_LOOP_MS',
44
+ 'TX_BUILDER_FEE_CACHE_TTL_MS',
44
45
  'PATH',
45
46
  'PATHEXT',
46
47
  'PM2_HOME',
@@ -1 +1 @@
1
- {"version":3,"file":"child_env.js","sourceRoot":"","sources":["../../../modules/launcher/child_env.ts"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,iEAAiE;AACjE,qEAAqE;AACrE,qEAAqE;AACrE,oEAAoE;AACpE,qEAAqE;AAErE,MAAM,mBAAmB,GAAG;IACxB,gCAAgC;IAChC,SAAS;IACT,mBAAmB;IACnB,UAAU;IACV,aAAa;IACb,eAAe;IACf,WAAW;IACX,SAAS;IACT,yBAAyB;IACzB,uBAAuB;IACvB,4BAA4B;IAC5B,oBAAoB;IACpB,qBAAqB;IACrB,yBAAyB;IACzB,0BAA0B;IAC1B,cAAc;IACd,aAAa;IACb,MAAM;IACN,WAAW;IACX,UAAU;IACV,MAAM;IACN,UAAU;IACV,QAAQ;IACR,UAAU;IACV,cAAc;IACd,SAAS;IACT,MAAM;IACN,UAAU;IACV,WAAW;IACX,UAAU;IACV,SAAS;IACT,SAAS;IACT,SAAS;IACT,sBAAsB;IACtB,0BAA0B;IAC1B,MAAM;IACN,SAAS;IACT,UAAU;IACV,mBAAmB;IACnB,KAAK;IACL,OAAO;IACP,YAAY;IACZ,YAAY;IACZ,MAAM;IACN,MAAM;IACN,KAAK;IACL,QAAQ;IACR,IAAI;IACJ,MAAM;IACN,UAAU;IACV,aAAa;IACb,eAAe;IACf,gBAAgB;IAChB,iBAAiB;IACjB,iBAAiB;CACpB,CAAC;AAEF,SAAS,mBAAmB,CAAC,EAAE,KAAK,GAAG,EAAE,KAAyC,EAAE;IAChF,MAAM,GAAG,GAAuC,EAAE,CAAC;IACnD,KAAK,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;QACpC,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;YACjC,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;IACL,CAAC;IACD,OAAO,EAAE,GAAG,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;AAChC,CAAC;AAED,iBAAS;IACL,mBAAmB;IACnB,mBAAmB;CACtB,CAAC"}
1
+ {"version":3,"file":"child_env.js","sourceRoot":"","sources":["../../../modules/launcher/child_env.ts"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,iEAAiE;AACjE,qEAAqE;AACrE,qEAAqE;AACrE,oEAAoE;AACpE,qEAAqE;AAErE,MAAM,mBAAmB,GAAG;IACxB,gCAAgC;IAChC,SAAS;IACT,mBAAmB;IACnB,UAAU;IACV,aAAa;IACb,eAAe;IACf,WAAW;IACX,SAAS;IACT,yBAAyB;IACzB,uBAAuB;IACvB,4BAA4B;IAC5B,oBAAoB;IACpB,qBAAqB;IACrB,yBAAyB;IACzB,0BAA0B;IAC1B,cAAc;IACd,aAAa;IACb,MAAM;IACN,WAAW;IACX,UAAU;IACV,MAAM;IACN,UAAU;IACV,QAAQ;IACR,UAAU;IACV,cAAc;IACd,SAAS;IACT,MAAM;IACN,UAAU;IACV,WAAW;IACX,UAAU;IACV,SAAS;IACT,SAAS;IACT,SAAS;IACT,sBAAsB;IACtB,0BAA0B;IAC1B,6BAA6B;IAC7B,MAAM;IACN,SAAS;IACT,UAAU;IACV,mBAAmB;IACnB,KAAK;IACL,OAAO;IACP,YAAY;IACZ,YAAY;IACZ,MAAM;IACN,MAAM;IACN,KAAK;IACL,QAAQ;IACR,IAAI;IACJ,MAAM;IACN,UAAU;IACV,aAAa;IACb,eAAe;IACf,gBAAgB;IAChB,iBAAiB;IACjB,iBAAiB;CACpB,CAAC;AAEF,SAAS,mBAAmB,CAAC,EAAE,KAAK,GAAG,EAAE,KAAyC,EAAE;IAChF,MAAM,GAAG,GAAuC,EAAE,CAAC;IACnD,KAAK,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;QACpC,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;YACjC,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;IACL,CAAC;IACD,OAAO,EAAE,GAAG,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;AAChC,CAAC;AAED,iBAAS;IACL,mBAAmB;IACnB,mBAAmB;CACtB,CAAC"}
@@ -2,6 +2,7 @@ declare function findFirstPositionalArg(args: string[]): string | null;
2
2
  declare function parseUnlockArgs(argv?: string[]): {
3
3
  botName: any;
4
4
  clawOnly: boolean;
5
+ creditOnly: boolean;
5
6
  isolated: boolean;
6
7
  dryrun: boolean;
7
8
  headless: boolean;
@@ -13,6 +14,7 @@ declare function parseUnlockArgs(argv?: string[]): {
13
14
  } | {
14
15
  botName: any;
15
16
  clawOnly: boolean;
17
+ creditOnly: boolean;
16
18
  isolated: boolean;
17
19
  dryrun: boolean;
18
20
  headless: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"launch_modes.d.ts","sourceRoot":"","sources":["../../../modules/launcher/launch_modes.ts"],"names":[],"mappings":"AAGA,iBAAS,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAE7D;AAkCD,iBAAS,eAAe,CAAC,IAAI,WAAe;;;;;;;;;;;;;;;;;;;EAyC3C;AAID,iBAAS,YAAY,CAAC,IAAI,WAAe;;;;;;EA4CxC;;;;;;;AAED,kBAKE"}
1
+ {"version":3,"file":"launch_modes.d.ts","sourceRoot":"","sources":["../../../modules/launcher/launch_modes.ts"],"names":[],"mappings":"AAGA,iBAAS,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAE7D;AAkCD,iBAAS,eAAe,CAAC,IAAI,WAAe;;;;;;;;;;;;;;;;;;;;;EA0C3C;AAID,iBAAS,YAAY,CAAC,IAAI,WAAe;;;;;;EA4CxC;;;;;;;AAED,kBAKE"}
@@ -19,7 +19,7 @@ function stripUnlockFlags(args) {
19
19
  const result = [];
20
20
  for (let i = 0; i < args.length; i++) {
21
21
  const a = args[i];
22
- if (a === '--headless' || a === '--isolated' || a === '--dryrun' || a === '--foreground' || a === 'claw-only' || a === '--claw-only') {
22
+ if (a === '--headless' || a === '--isolated' || a === '--dryrun' || a === '--foreground' || a === 'claw-only' || a === '--claw-only' || a === 'credit' || a === '--credit') {
23
23
  continue;
24
24
  }
25
25
  if (a === '--password-file') {
@@ -38,6 +38,7 @@ function stripUnlockFlags(args) {
38
38
  function parseUnlockArgs(argv = process.argv) {
39
39
  const args = argv.slice(2);
40
40
  const clawOnly = args.includes('--claw-only') || args.includes('claw-only');
41
+ const creditOnly = args.includes('--credit') || args.includes('credit');
41
42
  const isolated = args.includes('--isolated');
42
43
  const dryrun = args.includes('--dryrun');
43
44
  const headless = args.includes('--headless');
@@ -46,10 +47,7 @@ function parseUnlockArgs(argv = process.argv) {
46
47
  if (positionalArgs[0] && CONTROL_COMMANDS.has(positionalArgs[0])) {
47
48
  let cmd = positionalArgs[0];
48
49
  const target = positionalArgs[1] || null;
49
- // Normalize whole-runtime controls:
50
- // restart, restart all -> restart-all
51
- // stop, stop all -> stop-all
52
- // Keep stop/restart <botName> for isolated per-bot control.
50
+ // Normalize whole-runtime controls: restart/stop (no target or 'all') → *-all
53
51
  const consumedAll = (cmd === 'restart' || cmd === 'stop') && (!target || target === 'all');
54
52
  if (consumedAll) {
55
53
  cmd += '-all';
@@ -57,6 +55,7 @@ function parseUnlockArgs(argv = process.argv) {
57
55
  return {
58
56
  botName: null,
59
57
  clawOnly: false,
58
+ creditOnly: false,
60
59
  isolated: false,
61
60
  dryrun: false,
62
61
  headless: false,
@@ -64,9 +63,11 @@ function parseUnlockArgs(argv = process.argv) {
64
63
  control: { cmd, target: consumedAll ? null : target },
65
64
  };
66
65
  }
66
+ const resolvedBotName = findFirstPositionalArg(positionalArgs) || Config.BOT_NAME || null;
67
67
  return {
68
- botName: clawOnly ? null : findFirstPositionalArg(positionalArgs) || Config.BOT_NAME || null,
68
+ botName: resolvedBotName,
69
69
  clawOnly,
70
+ creditOnly,
70
71
  isolated,
71
72
  dryrun,
72
73
  headless,