dexbot 1.6.5 → 1.6.7

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 (228) hide show
  1. package/CHANGELOG.md +76 -4
  2. package/README.md +108 -36
  3. package/analysis/README.md +11 -16
  4. package/analysis/account_resolver.ts +1 -11
  5. package/analysis/bot_usage/kibana_bot_queries.ts +1 -1
  6. package/analysis/chain_pool.ts +1 -1
  7. package/analysis/fills_source.ts +0 -6
  8. package/analysis/grid_correction_check.ts +20 -26
  9. package/analysis/resolve_source.ts +1 -1
  10. package/analysis/trade_profitability.ts +2 -5
  11. package/analysis/trend_detection/README.md +1 -3
  12. package/analysis/trend_detection/package.json +1 -1
  13. package/claw/package.json +1 -1
  14. package/claw/runtimes/openclaw-plugin/openclaw.plugin.json +1 -1
  15. package/claw/runtimes/openclaw-plugin/package.json +1 -1
  16. package/claw/tests/test_claw_mcp_transport.ts +2 -2
  17. package/dist/analysis/account_resolver.d.ts +1 -4
  18. package/dist/analysis/account_resolver.d.ts.map +1 -1
  19. package/dist/analysis/account_resolver.js +1 -1
  20. package/dist/analysis/account_resolver.js.map +1 -1
  21. package/dist/analysis/bot_usage/kibana_bot_queries.d.ts +1 -2
  22. package/dist/analysis/bot_usage/kibana_bot_queries.d.ts.map +1 -1
  23. package/dist/analysis/bot_usage/kibana_bot_queries.js +1 -1
  24. package/dist/analysis/bot_usage/kibana_bot_queries.js.map +1 -1
  25. package/dist/analysis/chain_pool.d.ts +1 -3
  26. package/dist/analysis/chain_pool.d.ts.map +1 -1
  27. package/dist/analysis/chain_pool.js +1 -1
  28. package/dist/analysis/chain_pool.js.map +1 -1
  29. package/dist/analysis/fills_source.d.ts +1 -51
  30. package/dist/analysis/fills_source.d.ts.map +1 -1
  31. package/dist/analysis/fills_source.js +1 -1
  32. package/dist/analysis/fills_source.js.map +1 -1
  33. package/dist/analysis/grid_correction_check.d.ts +2 -3
  34. package/dist/analysis/grid_correction_check.d.ts.map +1 -1
  35. package/dist/analysis/grid_correction_check.js +18 -26
  36. package/dist/analysis/grid_correction_check.js.map +1 -1
  37. package/dist/analysis/resolve_source.d.ts +1 -1
  38. package/dist/analysis/resolve_source.d.ts.map +1 -1
  39. package/dist/analysis/trade_profitability.d.ts.map +1 -1
  40. package/dist/analysis/trade_profitability.js +2 -7
  41. package/dist/analysis/trade_profitability.js.map +1 -1
  42. package/dist/dexbot.d.ts.map +1 -1
  43. package/dist/dexbot.js +82 -83
  44. package/dist/dexbot.js.map +1 -1
  45. package/dist/market_adapter/core/kibana_candles.d.ts +1 -15
  46. package/dist/market_adapter/core/kibana_candles.d.ts.map +1 -1
  47. package/dist/market_adapter/core/kibana_candles.js +1 -1
  48. package/dist/market_adapter/core/kibana_candles.js.map +1 -1
  49. package/dist/market_adapter/inputs/fetch_lp_data.d.ts +1 -35
  50. package/dist/market_adapter/inputs/fetch_lp_data.d.ts.map +1 -1
  51. package/dist/market_adapter/inputs/fetch_lp_data.js +10 -54
  52. package/dist/market_adapter/inputs/fetch_lp_data.js.map +1 -1
  53. package/dist/market_adapter/inputs/kibana_feed_source.d.ts +1 -8
  54. package/dist/market_adapter/inputs/kibana_feed_source.d.ts.map +1 -1
  55. package/dist/market_adapter/inputs/kibana_feed_source.js +1 -1
  56. package/dist/market_adapter/inputs/kibana_feed_source.js.map +1 -1
  57. package/dist/market_adapter/inputs/window_cache.d.ts +2 -63
  58. package/dist/market_adapter/inputs/window_cache.d.ts.map +1 -1
  59. package/dist/market_adapter/inputs/window_cache.js +22 -102
  60. package/dist/market_adapter/inputs/window_cache.js.map +1 -1
  61. package/dist/modules/account_bots.d.ts +16 -2
  62. package/dist/modules/account_bots.d.ts.map +1 -1
  63. package/dist/modules/account_bots.js +108 -44
  64. package/dist/modules/account_bots.js.map +1 -1
  65. package/dist/modules/account_orders.d.ts +20 -2
  66. package/dist/modules/account_orders.d.ts.map +1 -1
  67. package/dist/modules/account_orders.js +63 -3
  68. package/dist/modules/account_orders.js.map +1 -1
  69. package/dist/modules/bitshares-native/chain_client.d.ts +10 -0
  70. package/dist/modules/bitshares-native/chain_client.d.ts.map +1 -1
  71. package/dist/modules/bitshares-native/chain_client.js +197 -28
  72. package/dist/modules/bitshares-native/chain_client.js.map +1 -1
  73. package/dist/modules/bitshares-native/crypto/ecc.browser.d.ts.map +1 -1
  74. package/dist/modules/bitshares-native/crypto/ecc.browser.js +0 -31
  75. package/dist/modules/bitshares-native/crypto/ecc.browser.js.map +1 -1
  76. package/dist/modules/bitshares-native/subscriptions.d.ts.map +1 -1
  77. package/dist/modules/bitshares-native/subscriptions.js +312 -10
  78. package/dist/modules/bitshares-native/subscriptions.js.map +1 -1
  79. package/dist/modules/bitshares-native/transport.d.ts +1 -0
  80. package/dist/modules/bitshares-native/transport.d.ts.map +1 -1
  81. package/dist/modules/bitshares-native/transport.js +97 -3
  82. package/dist/modules/bitshares-native/transport.js.map +1 -1
  83. package/dist/modules/bitshares_client.d.ts +20 -0
  84. package/dist/modules/bitshares_client.d.ts.map +1 -1
  85. package/dist/modules/bitshares_client.js +29 -0
  86. package/dist/modules/bitshares_client.js.map +1 -1
  87. package/dist/modules/chain_keys.d.ts +37 -22
  88. package/dist/modules/chain_keys.d.ts.map +1 -1
  89. package/dist/modules/chain_keys.js +145 -44
  90. package/dist/modules/chain_keys.js.map +1 -1
  91. package/dist/modules/cli_start_onboarding.d.ts +10 -0
  92. package/dist/modules/cli_start_onboarding.d.ts.map +1 -0
  93. package/dist/modules/cli_start_onboarding.js +15 -0
  94. package/dist/modules/cli_start_onboarding.js.map +1 -0
  95. package/dist/modules/cli_start_output.d.ts +6 -0
  96. package/dist/modules/cli_start_output.d.ts.map +1 -0
  97. package/dist/modules/cli_start_output.js +8 -0
  98. package/dist/modules/cli_start_output.js.map +1 -0
  99. package/dist/modules/constants.d.ts +13 -0
  100. package/dist/modules/constants.d.ts.map +1 -1
  101. package/dist/modules/constants.js +103 -1
  102. package/dist/modules/constants.js.map +1 -1
  103. package/dist/modules/credit_runtime.d.ts +0 -2
  104. package/dist/modules/credit_runtime.d.ts.map +1 -1
  105. package/dist/modules/credit_runtime.js +1 -10
  106. package/dist/modules/credit_runtime.js.map +1 -1
  107. package/dist/modules/dexbot_class.d.ts +13 -10
  108. package/dist/modules/dexbot_class.d.ts.map +1 -1
  109. package/dist/modules/dexbot_class.js +0 -9
  110. package/dist/modules/dexbot_class.js.map +1 -1
  111. package/dist/modules/dexbot_cow_runtime.d.ts +13 -0
  112. package/dist/modules/dexbot_cow_runtime.d.ts.map +1 -1
  113. package/dist/modules/dexbot_cow_runtime.js +62 -10
  114. package/dist/modules/dexbot_cow_runtime.js.map +1 -1
  115. package/dist/modules/dexbot_fill_runtime.d.ts +6 -1
  116. package/dist/modules/dexbot_fill_runtime.d.ts.map +1 -1
  117. package/dist/modules/dexbot_fill_runtime.js +22 -3
  118. package/dist/modules/dexbot_fill_runtime.js.map +1 -1
  119. package/dist/modules/dexbot_maintenance_runtime.d.ts +24 -1
  120. package/dist/modules/dexbot_maintenance_runtime.d.ts.map +1 -1
  121. package/dist/modules/dexbot_maintenance_runtime.js +45 -1
  122. package/dist/modules/dexbot_maintenance_runtime.js.map +1 -1
  123. package/dist/modules/dexbot_state_recovery.d.ts.map +1 -1
  124. package/dist/modules/dexbot_state_recovery.js +13 -1
  125. package/dist/modules/dexbot_state_recovery.js.map +1 -1
  126. package/dist/modules/order/accounting.d.ts +4 -18
  127. package/dist/modules/order/accounting.d.ts.map +1 -1
  128. package/dist/modules/order/accounting.js +4 -34
  129. package/dist/modules/order/accounting.js.map +1 -1
  130. package/dist/modules/order/export.d.ts +9 -12
  131. package/dist/modules/order/export.d.ts.map +1 -1
  132. package/dist/modules/order/export.js +9 -12
  133. package/dist/modules/order/export.js.map +1 -1
  134. package/dist/modules/order/grid.d.ts +35 -40
  135. package/dist/modules/order/grid.d.ts.map +1 -1
  136. package/dist/modules/order/grid.js +76 -44
  137. package/dist/modules/order/grid.js.map +1 -1
  138. package/dist/modules/order/grid_reconcile.d.ts.map +1 -1
  139. package/dist/modules/order/grid_reconcile.js +111 -20
  140. package/dist/modules/order/grid_reconcile.js.map +1 -1
  141. package/dist/modules/order/grid_reconcile_internal.d.ts +5 -3
  142. package/dist/modules/order/grid_reconcile_internal.d.ts.map +1 -1
  143. package/dist/modules/order/grid_reconcile_internal.js +29 -3
  144. package/dist/modules/order/grid_reconcile_internal.js.map +1 -1
  145. package/dist/modules/order/logger.d.ts +12 -2
  146. package/dist/modules/order/logger.d.ts.map +1 -1
  147. package/dist/modules/order/logger.js +29 -7
  148. package/dist/modules/order/logger.js.map +1 -1
  149. package/dist/modules/order/manager.d.ts +49 -8
  150. package/dist/modules/order/manager.d.ts.map +1 -1
  151. package/dist/modules/order/manager.js +72 -34
  152. package/dist/modules/order/manager.js.map +1 -1
  153. package/dist/modules/order/utils/order.d.ts +22 -7
  154. package/dist/modules/order/utils/order.d.ts.map +1 -1
  155. package/dist/modules/order/utils/order.js +200 -33
  156. package/dist/modules/order/utils/order.js.map +1 -1
  157. package/dist/modules/order/utils/system.d.ts +97 -0
  158. package/dist/modules/order/utils/system.d.ts.map +1 -1
  159. package/dist/modules/order/utils/system.js +274 -2
  160. package/dist/modules/order/utils/system.js.map +1 -1
  161. package/dist/modules/order/utils/withPoolRef.d.ts +12 -0
  162. package/dist/modules/order/utils/withPoolRef.d.ts.map +1 -1
  163. package/dist/modules/order/utils/withPoolRef.js +17 -0
  164. package/dist/modules/order/utils/withPoolRef.js.map +1 -1
  165. package/dist/modules/order/working_grid.d.ts +8 -13
  166. package/dist/modules/order/working_grid.d.ts.map +1 -1
  167. package/dist/modules/order/working_grid.js +8 -29
  168. package/dist/modules/order/working_grid.js.map +1 -1
  169. package/dist/modules/paths.d.ts +7 -1
  170. package/dist/modules/paths.d.ts.map +1 -1
  171. package/dist/modules/paths.js +10 -3
  172. package/dist/modules/paths.js.map +1 -1
  173. package/dist/modules/utils/text_width.d.ts +19 -0
  174. package/dist/modules/utils/text_width.d.ts.map +1 -0
  175. package/dist/modules/utils/text_width.js +97 -0
  176. package/dist/modules/utils/text_width.js.map +1 -0
  177. package/dist/pm2.d.ts.map +1 -1
  178. package/dist/pm2.js +95 -18
  179. package/dist/pm2.js.map +1 -1
  180. package/dist/scripts/sync-version.js +0 -22
  181. package/dist/scripts/sync-version.js.map +1 -1
  182. package/dist/scripts/update.js +62 -13
  183. package/dist/scripts/update.js.map +1 -1
  184. package/dist/scripts/update_dist_freshness.d.ts +12 -0
  185. package/dist/scripts/update_dist_freshness.d.ts.map +1 -1
  186. package/dist/scripts/update_dist_freshness.js +30 -1
  187. package/dist/scripts/update_dist_freshness.js.map +1 -1
  188. package/dist/unlock.d.ts +14 -2
  189. package/dist/unlock.d.ts.map +1 -1
  190. package/dist/unlock.js +73 -4
  191. package/dist/unlock.js.map +1 -1
  192. package/docs/BITSHARES_ONBOARDING.md +9 -6
  193. package/docs/COW_INVARIANTS.md +9 -0
  194. package/docs/CREDENTIAL_SECURITY.md +26 -0
  195. package/docs/DEXBOT_COMPARISON.md +11 -11
  196. package/docs/EVOLUTION.md +9 -7
  197. package/docs/FUND_MOVEMENT_AND_ACCOUNTING.md +1 -1
  198. package/docs/GRID_PRICE_INVARIANT.md +573 -0
  199. package/docs/GRID_RECALCULATION.md +1 -1
  200. package/docs/GRID_RECONCILE.md +60 -39
  201. package/docs/LOGGING.md +17 -2
  202. package/docs/ORDER_ENGINE_POST_1.0_RETROSPECTIVE.md +555 -0
  203. package/docs/README.md +3 -3
  204. package/docs/WORKFLOW.md +12 -6
  205. package/docs/architecture.md +40 -38
  206. package/docs/developer_guide.md +4 -8
  207. package/market_adapter/README.md +16 -12
  208. package/modules/README.md +1 -1
  209. package/package.json +8 -4
  210. package/scripts/README.md +0 -9
  211. package/scripts/reset-settings.sh +1 -1
  212. package/analysis/ama_fitting/package.json +0 -12
  213. package/analysis/analyze_derivatives.ts +0 -320
  214. package/analysis/derivative_chart_generator.ts +0 -874
  215. package/analysis/trend_detection/SIGNAL_DOCUMENTATION.md +0 -403
  216. package/analysis/trend_detection/derivative_analyzer.ts +0 -1059
  217. package/dist/analysis/analyze_derivatives.d.ts +0 -68
  218. package/dist/analysis/analyze_derivatives.d.ts.map +0 -1
  219. package/dist/analysis/analyze_derivatives.js +0 -287
  220. package/dist/analysis/analyze_derivatives.js.map +0 -1
  221. package/dist/analysis/derivative_chart_generator.d.ts +0 -12
  222. package/dist/analysis/derivative_chart_generator.d.ts.map +0 -1
  223. package/dist/analysis/derivative_chart_generator.js +0 -891
  224. package/dist/analysis/derivative_chart_generator.js.map +0 -1
  225. package/dist/analysis/trend_detection/derivative_analyzer.d.ts +0 -248
  226. package/dist/analysis/trend_detection/derivative_analyzer.d.ts.map +0 -1
  227. package/dist/analysis/trend_detection/derivative_analyzer.js +0 -910
  228. package/dist/analysis/trend_detection/derivative_analyzer.js.map +0 -1
@@ -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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"}
@@ -71,7 +71,7 @@
71
71
  *
72
72
  * ===============================================================================
73
73
  */
74
- import { ORDER_TYPES, ORDER_STATES, TIMING, FEE_PARAMETERS, GRID_LIMITS, NATIVE_CLIENT, COW_PERFORMANCE, COW_ACTIONS } from '../../constants.js';
74
+ import { ORDER_TYPES, ORDER_STATES, TIMING, FEE_PARAMETERS, GRID_LIMITS, NATIVE_CLIENT, COW_PERFORMANCE, COW_ACTIONS, FILL_PROCESSING } from '../../constants.js';
75
75
  import * as Format from '../format.js';
76
76
  import * as MathUtils from './math.js';
77
77
  import Logger from '../../order/logger.js';
@@ -231,9 +231,27 @@ function _stampCorrectionProvenance(entry, source) {
231
231
  return entry;
232
232
  }
233
233
  /**
234
- * Drain-time staleness validation for a price-update correction entry
235
- * (Fix 1): verify the queued intent still matches the LIVE grid geometry
236
- * before broadcasting.
234
+ * Find the live grid slot that currently owns a chain order.
235
+ * When slotId is supplied, only that exact slot is considered; otherwise all
236
+ * live slots are searched. This keeps stale-decision guards consistent without
237
+ * changing which owner is considered valid.
238
+ */
239
+ function findLiveOrderOwnerByChainId(manager, chainOrderId, slotId) {
240
+ if (!(manager?.orders instanceof Map) || !chainOrderId)
241
+ return null;
242
+ if (slotId) {
243
+ const slot = manager.orders.get(slotId);
244
+ return slot?.orderId === chainOrderId && isOrderPlaced(slot) ? slot : null;
245
+ }
246
+ for (const order of manager.orders.values()) {
247
+ if (order?.orderId === chainOrderId && isOrderPlaced(order))
248
+ return order;
249
+ }
250
+ return null;
251
+ }
252
+ /**
253
+ * Drain-time staleness validation for a correction entry: verify the queued
254
+ * intent still matches the LIVE grid geometry before broadcasting.
237
255
  *
238
256
  * A correction entry snapshots {slot id, chainOrderId, expectedPrice} at
239
257
  * queue time. Any geometry-changing resync (trigger-file resync,
@@ -251,18 +269,62 @@ function _stampCorrectionProvenance(entry, source) {
251
269
  * uses) or calculatePriceTolerance on legacy grids (same predicate
252
270
  * the detector uses there).
253
271
  *
254
- * Cancel-type entries (cancelOnly / isSurplus) are exempt — a cancel is
255
- * idempotent (gone orders resolve via the orderGone path) and never
256
- * re-prices onto a stale level.
272
+ * Cancel-only duplicate-orphan decisions need an ownership check. They are
273
+ * queued when a chain order has no matching grid slot, but startup reconcile
274
+ * can subsequently relocate that same chain id into an empty valid slot. A
275
+ * replayed cancel would then destroy the freshly updated in-place order.
276
+ *
277
+ * Type-mismatch and gap-evacuation surplus decisions have their own source-
278
+ * specific checks. A type mismatch is actionable only while the same live
279
+ * slot still owns the id and still has the mismatched type. A gap evacuation
280
+ * is actionable only while the same live slot remains in the current gap
281
+ * band. Both otherwise use the old cancellation branch, so allowing either
282
+ * decision to replay would recreate the same stale-replay regression.
257
283
  *
258
284
  * @param {Object} manager - OrderManager instance (live grid + assets)
259
285
  * @param {Object} entry - Queued correction entry
260
286
  * @returns {{valid: boolean, reason: string}} valid=false drops the entry
261
287
  */
262
288
  function _validatePriceCorrectionEntry(manager, entry) {
263
- if (!entry || entry.cancelOnly === true || entry.isSurplus === true) {
264
- return { valid: true, reason: 'cancel-type' };
289
+ if (!entry)
290
+ return { valid: false, reason: 'missing correction entry' };
291
+ if (entry.cancelOnly === true) {
292
+ const owningSlot = findLiveOrderOwnerByChainId(manager, entry.chainOrderId);
293
+ if (owningSlot) {
294
+ return {
295
+ valid: false,
296
+ reason: `chain order is now owned by ${owningSlot.id || 'a live grid slot'}; queued duplicate-orphan cancel is stale`,
297
+ };
298
+ }
299
+ return { valid: true, reason: 'cancel-only-untracked' };
300
+ }
301
+ if (entry.typeMismatch === true) {
302
+ const targetType = entry.sideUpdated || entry.type;
303
+ const slotId = entry?.gridOrder?.id;
304
+ const slot = findLiveOrderOwnerByChainId(manager, entry.chainOrderId, slotId);
305
+ if (!slot) {
306
+ return { valid: false, reason: `type-mismatch target ${slotId || '?'} no longer owns ${entry.chainOrderId}` };
307
+ }
308
+ if (!targetType || slot.type === targetType) {
309
+ return { valid: false, reason: `type-mismatch for ${entry.chainOrderId} was repaired (${slot.type} now matches ${targetType || 'chain type'})` };
310
+ }
311
+ return { valid: true, reason: 'type-mismatch-still-live' };
312
+ }
313
+ if (entry.gapEvacuation === true) {
314
+ const slotId = entry?.gridOrder?.id;
315
+ const slot = findLiveOrderOwnerByChainId(manager, entry.chainOrderId, slotId);
316
+ if (!slot) {
317
+ return { valid: false, reason: `gap-evacuation target ${slotId || '?'} no longer owns ${entry.chainOrderId}` };
318
+ }
319
+ const idx = parseSlotIndex(slot.id);
320
+ const geometry = geometryTypeForSlotIndex(idx, manager?.boundaryIdx, manager?._gapSlots);
321
+ if (geometry !== ORDER_TYPES.SPREAD) {
322
+ return { valid: false, reason: `gap-evacuation target ${slotId} is no longer in the current gap band` };
323
+ }
324
+ return { valid: true, reason: 'gap-evacuation-still-live' };
265
325
  }
326
+ if (entry.isSurplus === true)
327
+ return { valid: true, reason: 'surplus-cancel' };
266
328
  const slotId = entry?.gridOrder?.id;
267
329
  const slot = (slotId && manager?.orders instanceof Map) ? manager.orders.get(slotId) : null;
268
330
  if (!slot) {
@@ -486,11 +548,19 @@ function buildFillKey(fillOrParts) {
486
548
  return null;
487
549
  return `${orderId}:${blockNum}:${historyId}`;
488
550
  }
551
+ function _currentCorrectionGridOrder(manager, correctionInfo) {
552
+ const slotId = correctionInfo?.gridOrder?.id;
553
+ if (!slotId || !(manager?.orders instanceof Map))
554
+ return null;
555
+ const liveSlot = manager.orders.get(slotId);
556
+ return liveSlot?.orderId === correctionInfo?.chainOrderId ? liveSlot : null;
557
+ }
489
558
  /**
490
559
  * Correct a single order's price on blockchain.
491
560
  * Cancels surplus orders; updates price for others.
492
561
  * Removes from correction queue after processing.
493
562
  *
563
+ * Surplus settlement is skipped when the live slot no longer owns the chain order; the next sync's pass-1 phantom cleanup virtualizes that slot.
494
564
  * @param {Object} manager - OrderManager instance
495
565
  * @param {Object} correctionInfo - Correction details {gridOrder, chainOrderId, expectedPrice, size, type, isSurplus}
496
566
  * @param {string} accountName - Account name for blockchain transaction
@@ -538,8 +608,9 @@ async function correctOrderPriceOnChain(manager, correctionInfo, accountName, pr
538
608
  const sideLabel = type === ORDER_TYPES.SELL ? 'SELL' : 'BUY';
539
609
  manager.logger?.log?.(`[CORRECTION] Cancelling surplus/mismatched ${sideLabel} order ${chainOrderId} for slot ${gridOrder?.id || 'unknown'}`, 'info');
540
610
  await accountOrders.cancelOrder(accountName, privateKey, chainOrderId);
541
- if (gridOrder && manager._applyOrderUpdate) {
542
- const spreadOrder = convertToSpreadPlaceholder(gridOrder);
611
+ const settlementGridOrder = _currentCorrectionGridOrder(manager, correctionInfo);
612
+ if (settlementGridOrder && manager._applyOrderUpdate) {
613
+ const spreadOrder = convertToSpreadPlaceholder(settlementGridOrder);
543
614
  await manager._applyOrderUpdate(spreadOrder, 'surplus-type-mismatch-cancel', {
544
615
  skipAccounting: false,
545
616
  fee: 0
@@ -642,8 +713,11 @@ async function _resolveCancelledCorrection(manager, entry) {
642
713
  if (entry.cancelOnly) {
643
714
  clearDuplicateOrphanDetection(chainOrderId);
644
715
  }
645
- if (!entry.cancelOnly && entry.isSurplus && entry.gridOrder && manager._applyOrderUpdate) {
646
- const spreadOrder = convertToSpreadPlaceholder(entry.gridOrder);
716
+ const settlementGridOrder = !entry.cancelOnly && entry.isSurplus
717
+ ? _currentCorrectionGridOrder(manager, entry)
718
+ : null;
719
+ if (settlementGridOrder && manager._applyOrderUpdate) {
720
+ const spreadOrder = convertToSpreadPlaceholder(settlementGridOrder);
647
721
  await manager._applyOrderUpdate(spreadOrder, 'surplus-type-mismatch-cancel', {
648
722
  skipAccounting: false,
649
723
  fee: 0
@@ -769,6 +843,52 @@ async function _batchCancelCorrections(manager, entries, accountName, privateKey
769
843
  }
770
844
  return { corrected, failed, unresolved };
771
845
  }
846
+ /**
847
+ * Resolve the per-cycle sequential price-update budget for
848
+ * correctAllPriceMismatches. Cancel-class entries are never budgeted; only
849
+ * the SYNC_DELAY_MS-spaced update loop is bounded so an unbounded backlog
850
+ * cannot hold _gridLock (no acquisition timeout) for minutes. Reads the bot
851
+ * config override first, then the frozen default. Non-finite falls back to
852
+ * the default; a value of 0 intentionally drains no updates this cycle.
853
+ * @param {any} manager
854
+ * @returns {number}
855
+ */
856
+ function resolveCorrectionUpdateBudget(manager) {
857
+ const raw = manager?.config?.fillProcessing?.CORRECTION_MAX_UPDATES_PER_CYCLE
858
+ ?? FILL_PROCESSING?.CORRECTION_MAX_UPDATES_PER_CYCLE;
859
+ const n = Number(raw);
860
+ if (Number.isFinite(n) && n >= 0)
861
+ return Math.floor(n);
862
+ return 5;
863
+ }
864
+ /**
865
+ * Resolve the correction-backlog warn threshold (see
866
+ * CORRECTION_QUEUE_WARN_THRESHOLD). Non-positive disables the alarm.
867
+ * @param {any} manager
868
+ * @returns {number}
869
+ */
870
+ function resolveCorrectionWarnThreshold(manager) {
871
+ const raw = manager?.config?.fillProcessing?.CORRECTION_QUEUE_WARN_THRESHOLD
872
+ ?? FILL_PROCESSING?.CORRECTION_QUEUE_WARN_THRESHOLD;
873
+ const n = Number(raw);
874
+ if (Number.isFinite(n) && n > 0)
875
+ return Math.floor(n);
876
+ return 0;
877
+ }
878
+ /**
879
+ * Resolve the correction-backlog warn rate-limit window.
880
+ * @param {any} manager
881
+ * @returns {number}
882
+ */
883
+ function resolveCorrectionWarnRateLimitMs(manager) {
884
+ const raw = manager?.config?.fillProcessing?.CORRECTION_QUEUE_WARN_RATE_LIMIT_MS
885
+ ?? FILL_PROCESSING?.CORRECTION_QUEUE_WARN_RATE_LIMIT_MS
886
+ ?? TIMING?.STALE_TOTALS_WARN_RATE_LIMIT_MS;
887
+ const n = Number(raw);
888
+ if (Number.isFinite(n) && n > 0)
889
+ return n;
890
+ return 5 * 60 * 1000;
891
+ }
772
892
  /**
773
893
  * Correct all pending price mismatches atomically.
774
894
  * Cancel-type corrections (duplicate orphans, surplus) are batched into
@@ -783,6 +903,31 @@ async function _batchCancelCorrections(manager, entries, accountName, privateKey
783
903
  async function correctAllPriceMismatches(manager, accountName, privateKey, accountOrders) {
784
904
  if (!manager || !manager._gridLock)
785
905
  return { corrected: 0, failed: 0, results: [] };
906
+ // 6b: backlog alarm (rate-limited). Emitted even when the drain defers
907
+ // below, because deferral is exactly when the queue is growing.
908
+ const queuedBefore = Array.isArray(manager.ordersNeedingPriceCorrection)
909
+ ? manager.ordersNeedingPriceCorrection.length
910
+ : 0;
911
+ const warnThreshold = resolveCorrectionWarnThreshold(manager);
912
+ if (warnThreshold > 0 && queuedBefore >= warnThreshold) {
913
+ const now = Date.now();
914
+ const warnRateLimitMs = resolveCorrectionWarnRateLimitMs(manager);
915
+ const lastWarn = Number(manager._correctionQueueWarnAt) || 0;
916
+ if (now - lastWarn >= warnRateLimitMs) {
917
+ manager._correctionQueueWarnAt = now;
918
+ manager?.logger?.log?.(`[CORRECTION] Backlog: ${queuedBefore} pending correction(s) (threshold ${warnThreshold}); ` +
919
+ `draining budgeted price updates per cycle so _gridLock is not held across a long drain`, 'warn');
920
+ }
921
+ }
922
+ // 7a: pre-acquire deferral. _gridLock has NO acquisition timeout, so
923
+ // taking it while a broadcast/placement region is active holds it across
924
+ // the region and starves every concurrent per-op lock acquisition (the
925
+ // broadcaster's own _applySync/cancel calls). Leave corrections queued —
926
+ // the next sync / maintenance tick drains them once the region ends.
927
+ if (manager.isBroadcastingActive?.() === true) {
928
+ manager?.logger?.log?.(`[CORRECTION] Drain deferred: broadcast/placement region active; ${queuedBefore} correction(s) stay queued`, 'debug');
929
+ return { corrected: 0, failed: 0, results: [], staleDropped: 0, deferred: true, reason: 'broadcast-active' };
930
+ }
786
931
  return await manager._gridLock.acquire(async () => {
787
932
  const results = [];
788
933
  let corrected = 0;
@@ -802,13 +947,12 @@ async function correctAllPriceMismatches(manager, accountName, privateKey, accou
802
947
  seen.add(key);
803
948
  return true;
804
949
  });
805
- // Fix 1 — drain-time staleness validation for price-update entries:
806
- // a geometry-changing resync between queue and drain leaves entries
807
- // whose slot was re-slotted or re-priced. Broadcasting them would
808
- // revert the resync's placement (duplicate-price-level incident).
809
- // Validate against the LIVE slot; drop stale entries (the next sync
810
- // re-queues if the order is genuinely still off-target). Cancel-type
811
- // entries are exempt (idempotent, never re-price).
950
+ // Drain-time staleness validation: a geometry-changing resync between
951
+ // queue and drain can re-slot/re-price UPDATEs or adopt a previously
952
+ // untracked chain order. Drop stale price updates before they revert
953
+ // the resync, and stale cancel-only decisions before they cancel a
954
+ // freshly relocated in-place order. The next sync re-queues if the
955
+ // order is genuinely still off-target.
812
956
  const liveEntries = [];
813
957
  for (const entry of ordersToCorrect) {
814
958
  const check = _validatePriceCorrectionEntry(manager, entry);
@@ -817,25 +961,41 @@ async function correctAllPriceMismatches(manager, accountName, privateKey, accou
817
961
  continue;
818
962
  }
819
963
  _removeCorrectionEntry(manager, entry.chainOrderId, entry?.isSurplus);
964
+ if (entry?.cancelOnly === true)
965
+ clearDuplicateOrphanDetection(entry.chainOrderId);
966
+ if (entry?.cancelOnly === true || entry?.isSurplus === true) {
967
+ _filterUnmatchedChainOrders(manager, entry.chainOrderId);
968
+ }
969
+ if (entry?.gapEvacuation === true && manager?._gapEvacCancelQueued instanceof Set && entry?.gridOrder?.id) {
970
+ manager._gapEvacCancelQueued.delete(entry.gridOrder.id);
971
+ }
820
972
  staleDropped++;
821
973
  results.push({ ...entry, result: { success: true, skipped: true, staleDropped: true, staleReason: check.reason } });
822
- manager?.logger?.log?.(`[CORRECTION] Dropping stale price correction for ${entry.chainOrderId} ` +
974
+ const correctionKind = (entry?.cancelOnly === true || entry?.isSurplus === true) ? 'cancel' : 'price';
975
+ manager?.logger?.log?.(`[CORRECTION] Dropping stale ${correctionKind} correction for ${entry.chainOrderId} ` +
823
976
  `(queued ${entry.queuedBy || 'unknown-source'}@${entry.queuedAt ? new Date(entry.queuedAt).toISOString() : 'unknown-time'}): ` +
824
977
  `${check.reason}; re-queued by next sync if still off-target`, 'info');
825
978
  }
826
- const canBatch = liveEntries.length > 1
979
+ // 6a: cancel-class entries are always fully drained (batched, no
980
+ // inter-op delay, fund-safety-critical). Only the SYNC_DELAY_MS-spaced
981
+ // price-update loop is budgeted; the unselected remainder stays queued
982
+ // durably and re-drains next cycle.
983
+ const cancelEntries = liveEntries.filter((c) => c.cancelOnly === true || c.isSurplus === true);
984
+ const updateEntries = liveEntries.filter((c) => !(c.cancelOnly === true || c.isSurplus === true));
985
+ const updateBudget = resolveCorrectionUpdateBudget(manager);
986
+ const budgetedUpdates = updateEntries.slice(0, updateBudget);
987
+ const deferredUpdates = updateEntries.length - budgetedUpdates.length;
988
+ const canBatch = cancelEntries.length > 1
827
989
  && typeof accountOrders?.buildCancelOrderOp === 'function'
828
990
  && typeof accountOrders?.executeBatch === 'function';
829
- let serialEntries = liveEntries;
991
+ let serialEntries = [...cancelEntries, ...budgetedUpdates];
830
992
  if (canBatch) {
831
- const cancelEntries = liveEntries.filter((c) => c.cancelOnly === true || c.isSurplus === true);
832
- const updateEntries = liveEntries.filter((c) => !(c.cancelOnly === true || c.isSurplus === true));
833
- if (cancelEntries.length > 1) {
834
- const batchOutcome = await _batchCancelCorrections(manager, cancelEntries, accountName, privateKey, accountOrders);
835
- corrected += batchOutcome.corrected;
836
- failed += batchOutcome.failed;
837
- serialEntries = [...batchOutcome.unresolved, ...updateEntries];
838
- }
993
+ const batchOutcome = await _batchCancelCorrections(manager, cancelEntries, accountName, privateKey, accountOrders);
994
+ corrected += batchOutcome.corrected;
995
+ failed += batchOutcome.failed;
996
+ // Unresolved cancels still serialize (they must not be dropped);
997
+ // budgeted updates follow.
998
+ serialEntries = [...batchOutcome.unresolved, ...budgetedUpdates];
839
999
  }
840
1000
  for (const correctionInfo of serialEntries) {
841
1001
  const result = await correctOrderPriceOnChain(manager, correctionInfo, accountName, privateKey, accountOrders);
@@ -853,7 +1013,14 @@ async function correctAllPriceMismatches(manager, accountName, privateKey, accou
853
1013
  if (corrected > 0 && typeof manager.persistGrid === 'function') {
854
1014
  await manager.persistGrid();
855
1015
  }
856
- return { corrected, failed, results, staleDropped };
1016
+ if (deferredUpdates > 0) {
1017
+ const queuedAfter = Array.isArray(manager.ordersNeedingPriceCorrection)
1018
+ ? manager.ordersNeedingPriceCorrection.length
1019
+ : 0;
1020
+ manager?.logger?.log?.(`[CORRECTION] Deferred ${deferredUpdates} price update(s) to the next cycle ` +
1021
+ `(budget ${updateBudget}/cycle, ${queuedAfter} still queued)`, 'info');
1022
+ }
1023
+ return { corrected, failed, results, staleDropped, deferredUpdates };
857
1024
  });
858
1025
  }
859
1026
  // ================================================================================
@@ -2973,6 +3140,6 @@ function collectKnownOnChainOrderIds(mgr, placedResults, placedContexts, extraCr
2973
3140
  const all = new Set([...masterIds, ...createIds]);
2974
3141
  return { masterIds: [...masterIds], createIds: [...createIds], all: [...all] };
2975
3142
  }
2976
- export { parseChainOrder, findMatchingGridOrderByOpenOrder, applyChainSizeToGridOrder, buildFillKey, correctOrderPriceOnChain, correctAllPriceMismatches, _validatePriceCorrectionEntry, _stampCorrectionProvenance, buildCreateOrderArgs, getOrderTypeFromUpdatedFlags, resolveConfiguredPriceBound, virtualizeOrder, convertToSpreadPlaceholder, toRailHolePlaceholder, geometryTypeForSlotIndex, detectGapEvacuationCandidates, updateGapEvacuationStreaks, resolveSpreadOrderSide, chainOrderMatchesSlot, chainOrderMatchesSlotWithTolerance, crossingCandidateChainId, isCrossingCheckCandidate, buildCrossingCheckCandidates, parseSlotIndex, filterOrdersByType, buildOutsideInPairGroups, extractBatchOperationResults, formatUnmatchedChainOrder, isNonBlockingUnmatchedOrder, isStrandedHoldOrder, isOrderOnChain, isOrderVirtual, hasOnChainId, isOrderPlaced, isPhantomOrder, isSlotAvailable, isEmptyGridSlot, isOrderHealthy, checkSizeThreshold, checkSizesBeforeMinimum, calculateIdealBoundary, assignGridRoles, resolveOnChainRetypeType, shouldFlagOutOfSpread, buildIndexes, validateIndexes, ordersEqual, buildDelta, deriveTargetBoundary, isShiftEligibleFill, resolveReserveCount, resolveReserveOrders, selectReserveEdgeSlots, getActiveOrdersTotal, getSideBudget, calculateBudgetedSizes, buildCreateOpFingerprint, isOrderGoneErrorMessage, recordDuplicateOrphanDetection, clearDuplicateOrphanDetection, duplicateOrphanLogInfo, chainOrderUnchangedFromCache, detectCrossedBookPlan, collectKnownOnChainOrderIds, reserveEdgeIdSet, liveWindowIdSet, checkGridPriceInvariant, reportGridPriceInvariant };
3143
+ export { parseChainOrder, findMatchingGridOrderByOpenOrder, applyChainSizeToGridOrder, buildFillKey, correctOrderPriceOnChain, correctAllPriceMismatches, _validatePriceCorrectionEntry, _stampCorrectionProvenance, findLiveOrderOwnerByChainId, buildCreateOrderArgs, getOrderTypeFromUpdatedFlags, resolveConfiguredPriceBound, virtualizeOrder, convertToSpreadPlaceholder, toRailHolePlaceholder, geometryTypeForSlotIndex, detectGapEvacuationCandidates, updateGapEvacuationStreaks, resolveSpreadOrderSide, chainOrderMatchesSlot, chainOrderMatchesSlotWithTolerance, crossingCandidateChainId, isCrossingCheckCandidate, buildCrossingCheckCandidates, parseSlotIndex, filterOrdersByType, buildOutsideInPairGroups, extractBatchOperationResults, formatUnmatchedChainOrder, isNonBlockingUnmatchedOrder, isStrandedHoldOrder, isOrderOnChain, isOrderVirtual, hasOnChainId, isOrderPlaced, isPhantomOrder, isSlotAvailable, isEmptyGridSlot, isOrderHealthy, checkSizeThreshold, checkSizesBeforeMinimum, calculateIdealBoundary, assignGridRoles, resolveOnChainRetypeType, shouldFlagOutOfSpread, buildIndexes, validateIndexes, ordersEqual, buildDelta, deriveTargetBoundary, isShiftEligibleFill, resolveReserveCount, resolveReserveOrders, selectReserveEdgeSlots, getActiveOrdersTotal, getSideBudget, calculateBudgetedSizes, buildCreateOpFingerprint, isOrderGoneErrorMessage, recordDuplicateOrphanDetection, clearDuplicateOrphanDetection, duplicateOrphanLogInfo, chainOrderUnchangedFromCache, detectCrossedBookPlan, collectKnownOnChainOrderIds, reserveEdgeIdSet, liveWindowIdSet, checkGridPriceInvariant, reportGridPriceInvariant };
2977
3144
  export { resolveReserveEdgeAnchorPrice, resolveLiveReserveEdgeAnchorPrice, compareReserveEdge, collectRefillSlotIds };
2978
3145
  //# sourceMappingURL=order.js.map