dexbot 1.4.10 → 1.4.12

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 (502) hide show
  1. package/README.md +6 -5
  2. package/dist/analysis/chart_utils.d.ts.map +1 -1
  3. package/dist/analysis/chart_utils.js +9 -18
  4. package/dist/analysis/chart_utils.js.map +1 -1
  5. package/dist/analysis/math_utils.d.ts.map +1 -1
  6. package/dist/analysis/math_utils.js +6 -16
  7. package/dist/analysis/math_utils.js.map +1 -1
  8. package/dist/analysis/tradingview/tradingview_uplot_chart_generator.d.ts +1 -1
  9. package/dist/analysis/tradingview/tradingview_uplot_chart_generator.d.ts.map +1 -1
  10. package/dist/analysis/tradingview/tradingview_uplot_chart_generator.js +31 -38
  11. package/dist/analysis/tradingview/tradingview_uplot_chart_generator.js.map +1 -1
  12. package/dist/analysis/trend_detection/hurst_analyzer.js +7 -10
  13. package/dist/analysis/trend_detection/hurst_analyzer.js.map +1 -1
  14. package/dist/analysis/trend_detection/kalman_trend_analyzer.js +10 -14
  15. package/dist/analysis/trend_detection/kalman_trend_analyzer.js.map +1 -1
  16. package/dist/analysis/trend_detection/kalman_velocity_smoothing.js +10 -15
  17. package/dist/analysis/trend_detection/kalman_velocity_smoothing.js.map +1 -1
  18. package/dist/analysis/trend_detection/permutation_entropy_analyzer.js +7 -10
  19. package/dist/analysis/trend_detection/permutation_entropy_analyzer.js.map +1 -1
  20. package/dist/bot.d.ts.map +1 -1
  21. package/dist/bot.js +4 -12
  22. package/dist/bot.js.map +1 -1
  23. package/dist/credential-daemon.d.ts +0 -1
  24. package/dist/credential-daemon.d.ts.map +1 -1
  25. package/dist/credential-daemon.js +3 -123
  26. package/dist/credential-daemon.js.map +1 -1
  27. package/dist/dexbot.d.ts +0 -87
  28. package/dist/dexbot.d.ts.map +1 -1
  29. package/dist/dexbot.js +54 -23
  30. package/dist/dexbot.js.map +1 -1
  31. package/dist/market_adapter/ama_signal_runner.js +8 -9
  32. package/dist/market_adapter/ama_signal_runner.js.map +1 -1
  33. package/dist/market_adapter/candle_utils.js +1 -7
  34. package/dist/market_adapter/candle_utils.js.map +1 -1
  35. package/dist/market_adapter/core/asymmetric_bounds.js +1 -4
  36. package/dist/market_adapter/core/asymmetric_bounds.js.map +1 -1
  37. package/dist/market_adapter/core/config_normalizers.js +5 -9
  38. package/dist/market_adapter/core/config_normalizers.js.map +1 -1
  39. package/dist/market_adapter/core/kibana_candles.js +8 -15
  40. package/dist/market_adapter/core/kibana_candles.js.map +1 -1
  41. package/dist/market_adapter/core/kibana_client.js +7 -13
  42. package/dist/market_adapter/core/kibana_client.js.map +1 -1
  43. package/dist/market_adapter/core/kibana_market_candles.js +6 -12
  44. package/dist/market_adapter/core/kibana_market_candles.js.map +1 -1
  45. package/dist/market_adapter/core/market_adapter_service.d.ts +2 -0
  46. package/dist/market_adapter/core/market_adapter_service.d.ts.map +1 -1
  47. package/dist/market_adapter/core/market_adapter_service.js +100 -101
  48. package/dist/market_adapter/core/market_adapter_service.js.map +1 -1
  49. package/dist/market_adapter/core/strategies/ama.js +5 -10
  50. package/dist/market_adapter/core/strategies/ama.js.map +1 -1
  51. package/dist/market_adapter/core/strategies/ama_slope_model.js +21 -24
  52. package/dist/market_adapter/core/strategies/ama_slope_model.js.map +1 -1
  53. package/dist/market_adapter/core/strategies/atr/calculator.js +3 -5
  54. package/dist/market_adapter/core/strategies/atr/calculator.js.map +1 -1
  55. package/dist/market_adapter/core/strategies/collateral_manager.js +4 -6
  56. package/dist/market_adapter/core/strategies/collateral_manager.js.map +1 -1
  57. package/dist/market_adapter/core/strategies/regime_gate.js +15 -22
  58. package/dist/market_adapter/core/strategies/regime_gate.js.map +1 -1
  59. package/dist/market_adapter/index.d.ts +23 -23
  60. package/dist/market_adapter/index.d.ts.map +1 -1
  61. package/dist/market_adapter/index.js +24 -82
  62. package/dist/market_adapter/index.js.map +1 -1
  63. package/dist/market_adapter/inputs/fetch_cex_synthetic_data.js +2 -1
  64. package/dist/market_adapter/inputs/fetch_cex_synthetic_data.js.map +1 -1
  65. package/dist/market_adapter/inputs/fetch_lp_data.d.ts.map +1 -1
  66. package/dist/market_adapter/inputs/fetch_lp_data.js +59 -98
  67. package/dist/market_adapter/inputs/fetch_lp_data.js.map +1 -1
  68. package/dist/market_adapter/inputs/kibana_source.js +11 -17
  69. package/dist/market_adapter/inputs/kibana_source.js.map +1 -1
  70. package/dist/market_adapter/interval_utils.js +1 -2
  71. package/dist/market_adapter/interval_utils.js.map +1 -1
  72. package/dist/market_adapter/log_format.js +1 -7
  73. package/dist/market_adapter/log_format.js.map +1 -1
  74. package/dist/market_adapter/lp_chart_core.js +20 -22
  75. package/dist/market_adapter/lp_chart_core.js.map +1 -1
  76. package/dist/market_adapter/lp_chart_runner.d.ts +1 -1
  77. package/dist/market_adapter/lp_chart_runner.d.ts.map +1 -1
  78. package/dist/market_adapter/lp_chart_runner.js +41 -57
  79. package/dist/market_adapter/lp_chart_runner.js.map +1 -1
  80. package/dist/market_adapter/lp_chart_strategy_loader.js +30 -34
  81. package/dist/market_adapter/lp_chart_strategy_loader.js.map +1 -1
  82. package/dist/market_adapter/market_adapter.d.ts +2 -2
  83. package/dist/market_adapter/market_adapter.d.ts.map +1 -1
  84. package/dist/market_adapter/market_adapter.js +163 -222
  85. package/dist/market_adapter/market_adapter.js.map +1 -1
  86. package/dist/market_adapter/merge_lp_data.js +17 -18
  87. package/dist/market_adapter/merge_lp_data.js.map +1 -1
  88. package/dist/market_adapter/test_helpers.js +3 -14
  89. package/dist/market_adapter/test_helpers.js.map +1 -1
  90. package/dist/market_adapter/utils/adapter_client.js +7 -16
  91. package/dist/market_adapter/utils/adapter_client.js.map +1 -1
  92. package/dist/market_adapter/utils/atomic_write.js +3 -5
  93. package/dist/market_adapter/utils/atomic_write.js.map +1 -1
  94. package/dist/market_adapter/utils/chain.d.ts.map +1 -1
  95. package/dist/market_adapter/utils/chain.js +9 -17
  96. package/dist/market_adapter/utils/chain.js.map +1 -1
  97. package/dist/market_adapter/utils/data_discovery.js +8 -10
  98. package/dist/market_adapter/utils/data_discovery.js.map +1 -1
  99. package/dist/market_adapter/utils/dynamic_grid_snapshot.d.ts.map +1 -1
  100. package/dist/market_adapter/utils/dynamic_grid_snapshot.js +11 -14
  101. package/dist/market_adapter/utils/dynamic_grid_snapshot.js.map +1 -1
  102. package/dist/market_adapter/utils/file_lock.js +14 -19
  103. package/dist/market_adapter/utils/file_lock.js.map +1 -1
  104. package/dist/market_adapter/utils/native_history.js +8 -14
  105. package/dist/market_adapter/utils/native_history.js.map +1 -1
  106. package/dist/market_adapter/utils/paths.js +3 -6
  107. package/dist/market_adapter/utils/paths.js.map +1 -1
  108. package/dist/modules/account_bots.d.ts +1 -1
  109. package/dist/modules/account_bots.d.ts.map +1 -1
  110. package/dist/modules/account_bots.js +90 -97
  111. package/dist/modules/account_bots.js.map +1 -1
  112. package/dist/modules/account_orders.d.ts +0 -9
  113. package/dist/modules/account_orders.d.ts.map +1 -1
  114. package/dist/modules/account_orders.js +26 -121
  115. package/dist/modules/account_orders.js.map +1 -1
  116. package/dist/modules/authority_resolver.js +12 -18
  117. package/dist/modules/authority_resolver.js.map +1 -1
  118. package/dist/modules/bitshares-native/chain_client.js +16 -21
  119. package/dist/modules/bitshares-native/chain_client.js.map +1 -1
  120. package/dist/modules/bitshares-native/crypto/ecc.browser.js +12 -72
  121. package/dist/modules/bitshares-native/crypto/ecc.browser.js.map +1 -1
  122. package/dist/modules/bitshares-native/crypto/ecc.js +13 -40
  123. package/dist/modules/bitshares-native/crypto/ecc.js.map +1 -1
  124. package/dist/modules/bitshares-native/crypto/ecc_selector.d.ts.map +1 -1
  125. package/dist/modules/bitshares-native/crypto/ecc_selector.js +5 -6
  126. package/dist/modules/bitshares-native/crypto/ecc_selector.js.map +1 -1
  127. package/dist/modules/bitshares-native/index.d.ts +8 -8
  128. package/dist/modules/bitshares-native/index.d.ts.map +1 -1
  129. package/dist/modules/bitshares-native/index.js +11 -68
  130. package/dist/modules/bitshares-native/index.js.map +1 -1
  131. package/dist/modules/bitshares-native/lru_cache.js +3 -6
  132. package/dist/modules/bitshares-native/lru_cache.js.map +1 -1
  133. package/dist/modules/bitshares-native/resolvers.js +9 -11
  134. package/dist/modules/bitshares-native/resolvers.js.map +1 -1
  135. package/dist/modules/bitshares-native/serial/chain_constants.js +3 -28
  136. package/dist/modules/bitshares-native/serial/chain_constants.js.map +1 -1
  137. package/dist/modules/bitshares-native/serial/index.d.ts +4 -4
  138. package/dist/modules/bitshares-native/serial/index.d.ts.map +1 -1
  139. package/dist/modules/bitshares-native/serial/index.js +5 -46
  140. package/dist/modules/bitshares-native/serial/index.js.map +1 -1
  141. package/dist/modules/bitshares-native/serial/operations.d.ts +98 -98
  142. package/dist/modules/bitshares-native/serial/operations.d.ts.map +1 -1
  143. package/dist/modules/bitshares-native/serial/operations.js +372 -473
  144. package/dist/modules/bitshares-native/serial/operations.js.map +1 -1
  145. package/dist/modules/bitshares-native/serial/serializer.js +3 -8
  146. package/dist/modules/bitshares-native/serial/serializer.js.map +1 -1
  147. package/dist/modules/bitshares-native/serial/types.js +9 -74
  148. package/dist/modules/bitshares-native/serial/types.js.map +1 -1
  149. package/dist/modules/bitshares-native/signing_client.d.ts.map +1 -1
  150. package/dist/modules/bitshares-native/signing_client.js +11 -48
  151. package/dist/modules/bitshares-native/signing_client.js.map +1 -1
  152. package/dist/modules/bitshares-native/subscriptions.d.ts.map +1 -1
  153. package/dist/modules/bitshares-native/subscriptions.js +24 -27
  154. package/dist/modules/bitshares-native/subscriptions.js.map +1 -1
  155. package/dist/modules/bitshares-native/transport.d.ts.map +1 -1
  156. package/dist/modules/bitshares-native/transport.js +14 -26
  157. package/dist/modules/bitshares-native/transport.js.map +1 -1
  158. package/dist/modules/bitshares-native/tx/builder.js +29 -72
  159. package/dist/modules/bitshares-native/tx/builder.js.map +1 -1
  160. package/dist/modules/bitshares-native/tx/tx_cache.js +12 -21
  161. package/dist/modules/bitshares-native/tx/tx_cache.js.map +1 -1
  162. package/dist/modules/bitshares_client.d.ts +21 -0
  163. package/dist/modules/bitshares_client.d.ts.map +1 -1
  164. package/dist/modules/bitshares_client.js +32 -86
  165. package/dist/modules/bitshares_client.js.map +1 -1
  166. package/dist/modules/bot_settings.d.ts.map +1 -1
  167. package/dist/modules/bot_settings.js +30 -49
  168. package/dist/modules/bot_settings.js.map +1 -1
  169. package/dist/modules/bots_file_lock.d.ts.map +1 -1
  170. package/dist/modules/bots_file_lock.js +5 -13
  171. package/dist/modules/bots_file_lock.js.map +1 -1
  172. package/dist/modules/broadcast_failure.js +1 -3
  173. package/dist/modules/broadcast_failure.js.map +1 -1
  174. package/dist/modules/chain_keys.d.ts +4 -9
  175. package/dist/modules/chain_keys.d.ts.map +1 -1
  176. package/dist/modules/chain_keys.js +77 -182
  177. package/dist/modules/chain_keys.js.map +1 -1
  178. package/dist/modules/chain_orders.d.ts +2 -2
  179. package/dist/modules/chain_orders.d.ts.map +1 -1
  180. package/dist/modules/chain_orders.js +81 -144
  181. package/dist/modules/chain_orders.js.map +1 -1
  182. package/dist/modules/config.d.ts.map +1 -1
  183. package/dist/modules/config.js +23 -28
  184. package/dist/modules/config.js.map +1 -1
  185. package/dist/modules/constants.d.ts +4 -14
  186. package/dist/modules/constants.d.ts.map +1 -1
  187. package/dist/modules/constants.js +46 -78
  188. package/dist/modules/constants.js.map +1 -1
  189. package/dist/modules/cr_planner.js +15 -26
  190. package/dist/modules/cr_planner.js.map +1 -1
  191. package/dist/modules/credential_policy.d.ts +3 -6
  192. package/dist/modules/credential_policy.d.ts.map +1 -1
  193. package/dist/modules/credential_policy.js +62 -153
  194. package/dist/modules/credential_policy.js.map +1 -1
  195. package/dist/modules/credential_runtime.d.ts +1 -1
  196. package/dist/modules/credential_runtime.d.ts.map +1 -1
  197. package/dist/modules/credential_runtime.js +34 -41
  198. package/dist/modules/credential_runtime.js.map +1 -1
  199. package/dist/modules/credential_session_cache.d.ts +1 -1
  200. package/dist/modules/credential_session_cache.d.ts.map +1 -1
  201. package/dist/modules/credential_session_cache.js +5 -42
  202. package/dist/modules/credential_session_cache.js.map +1 -1
  203. package/dist/modules/credit_runtime.d.ts.map +1 -1
  204. package/dist/modules/credit_runtime.js +126 -162
  205. package/dist/modules/credit_runtime.js.map +1 -1
  206. package/dist/modules/crypto/browser_provider.d.ts +1 -1
  207. package/dist/modules/crypto/browser_provider.d.ts.map +1 -1
  208. package/dist/modules/crypto/browser_provider.js +7 -11
  209. package/dist/modules/crypto/browser_provider.js.map +1 -1
  210. package/dist/modules/crypto/index.d.ts +6 -6
  211. package/dist/modules/crypto/index.d.ts.map +1 -1
  212. package/dist/modules/crypto/index.js +12 -30
  213. package/dist/modules/crypto/index.js.map +1 -1
  214. package/dist/modules/crypto/node_provider.d.ts +1 -1
  215. package/dist/modules/crypto/node_provider.d.ts.map +1 -1
  216. package/dist/modules/crypto/node_provider.js +3 -5
  217. package/dist/modules/crypto/node_provider.js.map +1 -1
  218. package/dist/modules/crypto/provider.js +1 -2
  219. package/dist/modules/crypto/pure_ripemd160.js +1 -3
  220. package/dist/modules/crypto/pure_ripemd160.js.map +1 -1
  221. package/dist/modules/crypto/pure_scrypt.js +1 -4
  222. package/dist/modules/crypto/pure_scrypt.js.map +1 -1
  223. package/dist/modules/crypto/pure_secp256k1.d.ts +1 -1
  224. package/dist/modules/crypto/pure_secp256k1.d.ts.map +1 -1
  225. package/dist/modules/crypto/pure_secp256k1.js +1 -16
  226. package/dist/modules/crypto/pure_secp256k1.js.map +1 -1
  227. package/dist/modules/crypto/sync.d.ts.map +1 -1
  228. package/dist/modules/crypto/sync.js +16 -17
  229. package/dist/modules/crypto/sync.js.map +1 -1
  230. package/dist/modules/daemon_node_health.js +14 -16
  231. package/dist/modules/daemon_node_health.js.map +1 -1
  232. package/dist/modules/dexbot_class.d.ts +19 -14
  233. package/dist/modules/dexbot_class.d.ts.map +1 -1
  234. package/dist/modules/dexbot_class.js +127 -164
  235. package/dist/modules/dexbot_class.js.map +1 -1
  236. package/dist/modules/dexbot_cow_runtime.d.ts +28 -27
  237. package/dist/modules/dexbot_cow_runtime.d.ts.map +1 -1
  238. package/dist/modules/dexbot_cow_runtime.js +55 -45
  239. package/dist/modules/dexbot_cow_runtime.js.map +1 -1
  240. package/dist/modules/dexbot_credential_client.d.ts +6 -2
  241. package/dist/modules/dexbot_credential_client.d.ts.map +1 -1
  242. package/dist/modules/dexbot_credential_client.js +21 -31
  243. package/dist/modules/dexbot_credential_client.js.map +1 -1
  244. package/dist/modules/dexbot_fill_runtime.d.ts +23 -23
  245. package/dist/modules/dexbot_fill_runtime.d.ts.map +1 -1
  246. package/dist/modules/dexbot_fill_runtime.js +119 -77
  247. package/dist/modules/dexbot_fill_runtime.js.map +1 -1
  248. package/dist/modules/dexbot_maintenance_runtime.d.ts +46 -38
  249. package/dist/modules/dexbot_maintenance_runtime.d.ts.map +1 -1
  250. package/dist/modules/dexbot_maintenance_runtime.js +81 -81
  251. package/dist/modules/dexbot_maintenance_runtime.js.map +1 -1
  252. package/dist/modules/dexbot_startup_runtime.d.ts +3 -3
  253. package/dist/modules/dexbot_startup_runtime.d.ts.map +1 -1
  254. package/dist/modules/dexbot_startup_runtime.js +43 -81
  255. package/dist/modules/dexbot_startup_runtime.js.map +1 -1
  256. package/dist/modules/dexbot_state_recovery.d.ts +11 -11
  257. package/dist/modules/dexbot_state_recovery.js +32 -78
  258. package/dist/modules/dexbot_state_recovery.js.map +1 -1
  259. package/dist/modules/env.js +3 -7
  260. package/dist/modules/env.js.map +1 -1
  261. package/dist/modules/fund_registry.d.ts.map +1 -1
  262. package/dist/modules/fund_registry.js +12 -24
  263. package/dist/modules/fund_registry.js.map +1 -1
  264. package/dist/modules/general_settings.js +10 -16
  265. package/dist/modules/general_settings.js.map +1 -1
  266. package/dist/modules/graceful_shutdown.d.ts.map +1 -1
  267. package/dist/modules/graceful_shutdown.js +12 -19
  268. package/dist/modules/graceful_shutdown.js.map +1 -1
  269. package/dist/modules/key_store.d.ts.map +1 -1
  270. package/dist/modules/key_store.js +27 -65
  271. package/dist/modules/key_store.js.map +1 -1
  272. package/dist/modules/launcher/bot_supervisor.d.ts +1 -1
  273. package/dist/modules/launcher/bot_supervisor.d.ts.map +1 -1
  274. package/dist/modules/launcher/bot_supervisor.js +89 -118
  275. package/dist/modules/launcher/bot_supervisor.js.map +1 -1
  276. package/dist/modules/launcher/child_env.js +1 -5
  277. package/dist/modules/launcher/child_env.js.map +1 -1
  278. package/dist/modules/launcher/credential_bootstrap.js +22 -31
  279. package/dist/modules/launcher/credential_bootstrap.js.map +1 -1
  280. package/dist/modules/launcher/credential_daemon.js +37 -75
  281. package/dist/modules/launcher/credential_daemon.js.map +1 -1
  282. package/dist/modules/launcher/credential_secret.js +2 -37
  283. package/dist/modules/launcher/credential_secret.js.map +1 -1
  284. package/dist/modules/launcher/foreign_cred_daemon.js +25 -31
  285. package/dist/modules/launcher/foreign_cred_daemon.js.map +1 -1
  286. package/dist/modules/launcher/headless_password.js +10 -12
  287. package/dist/modules/launcher/headless_password.js.map +1 -1
  288. package/dist/modules/launcher/launch_modes.js +3 -9
  289. package/dist/modules/launcher/launch_modes.js.map +1 -1
  290. package/dist/modules/launcher/market_adapter_runtime.d.ts +1 -1
  291. package/dist/modules/launcher/market_adapter_runtime.d.ts.map +1 -1
  292. package/dist/modules/launcher/market_adapter_runtime.js +25 -35
  293. package/dist/modules/launcher/market_adapter_runtime.js.map +1 -1
  294. package/dist/modules/launcher/market_adapter_watchdog.d.ts.map +1 -1
  295. package/dist/modules/launcher/market_adapter_watchdog.js +42 -45
  296. package/dist/modules/launcher/market_adapter_watchdog.js.map +1 -1
  297. package/dist/modules/launcher/monolithic_runtime.d.ts +3 -2
  298. package/dist/modules/launcher/monolithic_runtime.d.ts.map +1 -1
  299. package/dist/modules/launcher/monolithic_runtime.js +97 -138
  300. package/dist/modules/launcher/monolithic_runtime.js.map +1 -1
  301. package/dist/modules/launcher/runtime_entry.d.ts +1 -11
  302. package/dist/modules/launcher/runtime_entry.d.ts.map +1 -1
  303. package/dist/modules/launcher/runtime_entry.js +12 -15
  304. package/dist/modules/launcher/runtime_entry.js.map +1 -1
  305. package/dist/modules/launcher/status_reporting.d.ts +1 -1
  306. package/dist/modules/launcher/status_reporting.d.ts.map +1 -1
  307. package/dist/modules/launcher/status_reporting.js +15 -36
  308. package/dist/modules/launcher/status_reporting.js.map +1 -1
  309. package/dist/modules/launcher/supervisor_control.js +4 -9
  310. package/dist/modules/launcher/supervisor_control.js.map +1 -1
  311. package/dist/modules/logger.d.ts +1 -1
  312. package/dist/modules/logger.d.ts.map +1 -1
  313. package/dist/modules/logger.js +3 -38
  314. package/dist/modules/logger.js.map +1 -1
  315. package/dist/modules/market_adapter_whitelist.js +9 -18
  316. package/dist/modules/market_adapter_whitelist.js.map +1 -1
  317. package/dist/modules/node_failure_ledger.js +1 -3
  318. package/dist/modules/node_failure_ledger.js.map +1 -1
  319. package/dist/modules/node_health_cache.d.ts.map +1 -1
  320. package/dist/modules/node_health_cache.js +15 -25
  321. package/dist/modules/node_health_cache.js.map +1 -1
  322. package/dist/modules/node_manager.d.ts +1 -1
  323. package/dist/modules/node_manager.d.ts.map +1 -1
  324. package/dist/modules/node_manager.js +44 -43
  325. package/dist/modules/node_manager.js.map +1 -1
  326. package/dist/modules/order/accounting.d.ts.map +1 -1
  327. package/dist/modules/order/accounting.js +102 -118
  328. package/dist/modules/order/accounting.js.map +1 -1
  329. package/dist/modules/order/async_lock.d.ts +3 -15
  330. package/dist/modules/order/async_lock.d.ts.map +1 -1
  331. package/dist/modules/order/async_lock.js +6 -26
  332. package/dist/modules/order/async_lock.js.map +1 -1
  333. package/dist/modules/order/export.js +34 -75
  334. package/dist/modules/order/export.js.map +1 -1
  335. package/dist/modules/order/format.d.ts +1 -3
  336. package/dist/modules/order/format.d.ts.map +1 -1
  337. package/dist/modules/order/format.js +4 -24
  338. package/dist/modules/order/format.js.map +1 -1
  339. package/dist/modules/order/grid.d.ts +8 -8
  340. package/dist/modules/order/grid.d.ts.map +1 -1
  341. package/dist/modules/order/grid.js +254 -266
  342. package/dist/modules/order/grid.js.map +1 -1
  343. package/dist/modules/order/grid_reconcile.d.ts.map +1 -1
  344. package/dist/modules/order/grid_reconcile.js +77 -94
  345. package/dist/modules/order/grid_reconcile.js.map +1 -1
  346. package/dist/modules/order/grid_reconcile_internal.d.ts.map +1 -1
  347. package/dist/modules/order/grid_reconcile_internal.js +117 -149
  348. package/dist/modules/order/grid_reconcile_internal.js.map +1 -1
  349. package/dist/modules/order/index.d.ts.map +1 -1
  350. package/dist/modules/order/index.js +11 -45
  351. package/dist/modules/order/index.js.map +1 -1
  352. package/dist/modules/order/logger.d.ts +0 -8
  353. package/dist/modules/order/logger.d.ts.map +1 -1
  354. package/dist/modules/order/logger.js +28 -141
  355. package/dist/modules/order/logger.js.map +1 -1
  356. package/dist/modules/order/logger_state.d.ts.map +1 -1
  357. package/dist/modules/order/logger_state.js +3 -4
  358. package/dist/modules/order/logger_state.js.map +1 -1
  359. package/dist/modules/order/manager.d.ts +10 -79
  360. package/dist/modules/order/manager.d.ts.map +1 -1
  361. package/dist/modules/order/manager.js +131 -247
  362. package/dist/modules/order/manager.js.map +1 -1
  363. package/dist/modules/order/processed_fill_store.js +2 -7
  364. package/dist/modules/order/processed_fill_store.js.map +1 -1
  365. package/dist/modules/order/strategy.js +23 -25
  366. package/dist/modules/order/strategy.js.map +1 -1
  367. package/dist/modules/order/sync_engine.d.ts +27 -0
  368. package/dist/modules/order/sync_engine.d.ts.map +1 -1
  369. package/dist/modules/order/sync_engine.js +232 -181
  370. package/dist/modules/order/sync_engine.js.map +1 -1
  371. package/dist/modules/order/utils/math.d.ts +1 -25
  372. package/dist/modules/order/utils/math.d.ts.map +1 -1
  373. package/dist/modules/order/utils/math.js +49 -172
  374. package/dist/modules/order/utils/math.js.map +1 -1
  375. package/dist/modules/order/utils/order.d.ts +46 -2
  376. package/dist/modules/order/utils/order.d.ts.map +1 -1
  377. package/dist/modules/order/utils/order.js +165 -143
  378. package/dist/modules/order/utils/order.js.map +1 -1
  379. package/dist/modules/order/utils/system.d.ts +3 -1
  380. package/dist/modules/order/utils/system.d.ts.map +1 -1
  381. package/dist/modules/order/utils/system.js +152 -211
  382. package/dist/modules/order/utils/system.js.map +1 -1
  383. package/dist/modules/order/utils/timeout.js +1 -4
  384. package/dist/modules/order/utils/timeout.js.map +1 -1
  385. package/dist/modules/order/utils/validate.js +91 -142
  386. package/dist/modules/order/utils/validate.js.map +1 -1
  387. package/dist/modules/order/utils/withPoolRef.js +21 -61
  388. package/dist/modules/order/utils/withPoolRef.js.map +1 -1
  389. package/dist/modules/order/working_grid.js +6 -9
  390. package/dist/modules/order/working_grid.js.map +1 -1
  391. package/dist/modules/path_api.d.ts.map +1 -1
  392. package/dist/modules/path_api.js +8 -11
  393. package/dist/modules/path_api.js.map +1 -1
  394. package/dist/modules/paths.d.ts.map +1 -1
  395. package/dist/modules/paths.js +61 -67
  396. package/dist/modules/paths.js.map +1 -1
  397. package/dist/modules/process_discovery.d.ts.map +1 -1
  398. package/dist/modules/process_discovery.js +14 -23
  399. package/dist/modules/process_discovery.js.map +1 -1
  400. package/dist/modules/runtime.js +7 -11
  401. package/dist/modules/runtime.js.map +1 -1
  402. package/dist/modules/runtime_settings.d.ts.map +1 -1
  403. package/dist/modules/runtime_settings.js +14 -16
  404. package/dist/modules/runtime_settings.js.map +1 -1
  405. package/dist/modules/settings_merge.js +1 -3
  406. package/dist/modules/settings_merge.js.map +1 -1
  407. package/dist/modules/socket_json_client.js +3 -5
  408. package/dist/modules/socket_json_client.js.map +1 -1
  409. package/dist/modules/storage/browser_adapter.js +1 -4
  410. package/dist/modules/storage/browser_adapter.js.map +1 -1
  411. package/dist/modules/storage/index.d.ts +3 -2
  412. package/dist/modules/storage/index.d.ts.map +1 -1
  413. package/dist/modules/storage/index.js +5 -8
  414. package/dist/modules/storage/index.js.map +1 -1
  415. package/dist/modules/storage/node_adapter.d.ts +3 -4
  416. package/dist/modules/storage/node_adapter.d.ts.map +1 -1
  417. package/dist/modules/storage/node_adapter.js +12 -16
  418. package/dist/modules/storage/node_adapter.js.map +1 -1
  419. package/dist/modules/storage/types.js +1 -2
  420. package/dist/modules/types.d.ts +0 -6
  421. package/dist/modules/types.d.ts.map +1 -1
  422. package/dist/modules/types.js +1 -2
  423. package/dist/modules/types.js.map +1 -1
  424. package/dist/modules/utils/base58check.js +8 -15
  425. package/dist/modules/utils/base58check.js.map +1 -1
  426. package/dist/modules/utils/build_dir.js +3 -7
  427. package/dist/modules/utils/build_dir.js.map +1 -1
  428. package/dist/modules/utils/errors.js +1 -5
  429. package/dist/modules/utils/errors.js.map +1 -1
  430. package/dist/modules/utils/math_utils.d.ts +1 -1
  431. package/dist/modules/utils/math_utils.d.ts.map +1 -1
  432. package/dist/modules/utils/math_utils.js +2 -7
  433. package/dist/modules/utils/math_utils.js.map +1 -1
  434. package/dist/modules/validate_profiles.d.ts.map +1 -1
  435. package/dist/modules/validate_profiles.js +18 -25
  436. package/dist/modules/validate_profiles.js.map +1 -1
  437. package/dist/pm2.d.ts +4 -70
  438. package/dist/pm2.d.ts.map +1 -1
  439. package/dist/pm2.js +106 -132
  440. package/dist/pm2.js.map +1 -1
  441. package/dist/scripts/analyze-git.js +13 -17
  442. package/dist/scripts/analyze-git.js.map +1 -1
  443. package/dist/scripts/analyze-orders.d.ts.map +1 -1
  444. package/dist/scripts/analyze-orders.js +48 -63
  445. package/dist/scripts/analyze-orders.js.map +1 -1
  446. package/dist/scripts/diagnose-kibana-candles.d.ts.map +1 -1
  447. package/dist/scripts/diagnose-kibana-candles.js +2 -1
  448. package/dist/scripts/diagnose-kibana-candles.js.map +1 -1
  449. package/dist/scripts/diagnose-pool-history.d.ts.map +1 -1
  450. package/dist/scripts/diagnose-pool-history.js +2 -1
  451. package/dist/scripts/diagnose-pool-history.js.map +1 -1
  452. package/dist/scripts/divergence-calc.d.ts.map +1 -1
  453. package/dist/scripts/divergence-calc.js +2 -2
  454. package/dist/scripts/divergence-calc.js.map +1 -1
  455. package/dist/scripts/fix-err-message.js +17 -22
  456. package/dist/scripts/fix-err-message.js.map +1 -1
  457. package/dist/scripts/generate_lp_chart.d.ts.map +1 -1
  458. package/dist/scripts/generate_lp_chart.js +7 -15
  459. package/dist/scripts/generate_lp_chart.js.map +1 -1
  460. package/dist/scripts/generate_mainnet_corpus_report.d.ts.map +1 -1
  461. package/dist/scripts/generate_mainnet_corpus_report.js +3 -2
  462. package/dist/scripts/generate_mainnet_corpus_report.js.map +1 -1
  463. package/dist/scripts/generate_market_adapter_whitelist.d.ts.map +1 -1
  464. package/dist/scripts/generate_market_adapter_whitelist.js +18 -24
  465. package/dist/scripts/generate_market_adapter_whitelist.js.map +1 -1
  466. package/dist/scripts/native_release_gates.js +15 -19
  467. package/dist/scripts/native_release_gates.js.map +1 -1
  468. package/dist/scripts/print_grid.d.ts.map +1 -1
  469. package/dist/scripts/print_grid.js +2 -2
  470. package/dist/scripts/print_grid.js.map +1 -1
  471. package/dist/scripts/run-tests.js +12 -17
  472. package/dist/scripts/run-tests.js.map +1 -1
  473. package/dist/scripts/runner.d.ts.map +1 -1
  474. package/dist/scripts/runner.js +18 -20
  475. package/dist/scripts/runner.js.map +1 -1
  476. package/dist/scripts/sync-version.js +2 -2
  477. package/dist/scripts/sync-version.js.map +1 -1
  478. package/dist/scripts/test-credit-renewal.d.ts.map +1 -1
  479. package/dist/scripts/test-credit-renewal.js +4 -3
  480. package/dist/scripts/test-credit-renewal.js.map +1 -1
  481. package/dist/scripts/update.js +93 -95
  482. package/dist/scripts/update.js.map +1 -1
  483. package/dist/scripts/validate_bots.d.ts.map +1 -1
  484. package/dist/scripts/validate_bots.js +2 -2
  485. package/dist/scripts/validate_bots.js.map +1 -1
  486. package/dist/scripts/verify-browser-bundle.js +12 -17
  487. package/dist/scripts/verify-browser-bundle.js.map +1 -1
  488. package/dist/unlock.d.ts +0 -30
  489. package/dist/unlock.d.ts.map +1 -1
  490. package/dist/unlock.js +258 -222
  491. package/dist/unlock.js.map +1 -1
  492. package/package.json +5 -8
  493. package/scripts/README.md +1 -1
  494. package/scripts/create-bot-symlinks.sh +2 -2
  495. package/dist/modules/utils/fs_utils.d.ts +0 -18
  496. package/dist/modules/utils/fs_utils.d.ts.map +0 -1
  497. package/dist/modules/utils/fs_utils.js +0 -32
  498. package/dist/modules/utils/fs_utils.js.map +0 -1
  499. package/dist/scripts/migrate_bot_keys.d.ts +0 -3
  500. package/dist/scripts/migrate_bot_keys.d.ts.map +0 -1
  501. package/dist/scripts/migrate_bot_keys.js +0 -225
  502. package/dist/scripts/migrate_bot_keys.js.map +0 -1
@@ -1,28 +1,15 @@
1
- "use strict";
2
1
  /** Fill processing runtime - handles order fill events and replay-safe accounting */
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.wireProcessedFillTracking = wireProcessedFillTracking;
5
- exports.flushProcessedFillPersistence = flushProcessedFillPersistence;
6
- exports.flushProcessedFillPersistenceForKeys = flushProcessedFillPersistenceForKeys;
7
- exports.discardPendingProcessedFillPersistence = discardPendingProcessedFillPersistence;
8
- exports.buildOrphanFillFallbackKey = buildOrphanFillFallbackKey;
9
- exports.applyReplaySafeFillAccounting = applyReplaySafeFillAccounting;
10
- exports.applyReplaySafeTrackedFillAccounting = applyReplaySafeTrackedFillAccounting;
11
- exports.applyReplaySafeOrphanFillAccounting = applyReplaySafeOrphanFillAccounting;
12
- exports.processSweepOrphanFill = processSweepOrphanFill;
13
- exports.createFillCallback = createFillCallback;
14
- exports.maxConsecutiveFillConsumerFailures = maxConsecutiveFillConsumerFailures;
15
- exports.computeFillConsumerBackoffMs = computeFillConsumerBackoffMs;
16
- exports.scheduleFillConsumerRestart = scheduleFillConsumerRestart;
17
- exports.consumeFillQueue = consumeFillQueue;
18
- exports.processFillsWithBootstrapMode = processFillsWithBootstrapMode;
19
- const processed_fill_store_1 = require("./order/processed_fill_store");
20
- const constants_1 = require("./constants");
21
- const errors_1 = require("./utils/errors");
2
+ import { createRequire } from 'node:module';
3
+ const require = createRequire(import.meta.url);
4
+ import * as chainOrders from './chain_orders.js';
5
+ import { PROCESSED_FILL_PERSISTENCE_MODES } from './order/processed_fill_store.js';
6
+ import { NATIVE_CLIENT, FILL_PROCESSING, TIMING, MAINTENANCE, ORDER_TYPES } from './constants.js';
7
+ import { getErrorMessage } from './utils/errors.js';
8
+ import { isOrderDoesNotExistError } from './dexbot_maintenance_runtime.js';
22
9
  function buildFillKey(...args) { return require('./order/utils/order').buildFillKey(...args); }
23
10
  function correctAllPriceMismatches(...args) { return require('./order/utils/order').correctAllPriceMismatches(...args); }
24
11
  function retryPersistenceIfNeeded(...args) { return require('./order/utils/system').retryPersistenceIfNeeded(...args); }
25
- const { readOpenOrdersGuarded } = require('./chain_orders');
12
+ const { readOpenOrdersGuarded } = chainOrders;
26
13
  /**
27
14
  * Handle a sweep fill whose grid order could not be resolved (orphan): derive a
28
15
  * replay-safe key (with degraded fallback), skip already-processed fills, credit
@@ -57,9 +44,39 @@ function wireProcessedFillTracking(bot) {
57
44
  bot.manager.processedFillTracker = bot._recentlyProcessedFills;
58
45
  bot.manager.processedFillStore = bot._processedFillStore;
59
46
  }
47
+ /**
48
+ * Explicitly cancel residual orders that the chain still holds after a fill was
49
+ * treated as a full fill (other-side rounds to 0). The chain only auto-culls an
50
+ * order when its residual value in the QUOTE asset truncates to 0 (bitshares-core
51
+ * maybe_cull_small_order); a residual of >= 1 base unit with non-zero quote value
52
+ * is NOT culled and would be stranded once the slot is virtualized. Best-effort:
53
+ * tolerates "order does not exist"
54
+ * (already culled), logs other failures for the next cycle's reconciliation.
55
+ */
56
+ async function cancelResidualOrders(bot, residualCancels) {
57
+ if (!residualCancels || residualCancels.length === 0)
58
+ return;
59
+ for (const rc of residualCancels) {
60
+ if (!rc || !rc.orderId)
61
+ continue;
62
+ try {
63
+ await chainOrders.cancelOrder(bot.account, bot.privateKey, rc.orderId);
64
+ bot.manager.logger.log(`[RESIDUAL] Cancelled residual order ${rc.orderId}${rc.id ? ` (slot ${rc.id})` : ''} left on chain after sub-dust fill`, 'warn');
65
+ }
66
+ catch (err) {
67
+ const errMsg = getErrorMessage(err) || '';
68
+ if (isOrderDoesNotExistError(errMsg, rc.orderId)) {
69
+ bot.manager.logger.log(`[RESIDUAL] Residual order ${rc.orderId} already gone from chain; nothing to cancel`, 'debug');
70
+ }
71
+ else {
72
+ bot.manager.logger.log(`[RESIDUAL] Failed to cancel residual order ${rc.orderId}: ${errMsg}`, 'warn');
73
+ }
74
+ }
75
+ }
76
+ }
60
77
  /**
61
78
  * Flush all pending processed fill writes to persistent storage.
62
- * @param {import('./dexbot_class').DEXBot} bot
79
+ * @param {import('./dexbot_class.js').DEXBot} bot
63
80
  * @param {string} [reason='manual'] - Reason label for the flush
64
81
  * @param {Object} [options] - Flush options forwarded to ProcessedFillStore.flush
65
82
  * @returns {Promise<void>}
@@ -70,7 +87,7 @@ async function flushProcessedFillPersistence(bot, reason = 'manual', options = {
70
87
  }
71
88
  /**
72
89
  * Flush pending processed fill writes for specific fill keys.
73
- * @param {import('./dexbot_class').DEXBot} bot
90
+ * @param {import('./dexbot_class.js').DEXBot} bot
74
91
  * @param {string[]|Set<string>} fillKeys - Fill keys to flush
75
92
  * @param {string} [reason='manual-selected'] - Reason label for the flush
76
93
  * @param {Object} [options] - Flush options forwarded to ProcessedFillStore.flushKeys
@@ -82,7 +99,7 @@ async function flushProcessedFillPersistenceForKeys(bot, fillKeys, reason = 'man
82
99
  }
83
100
  /**
84
101
  * Discard pending processed fill writes for specific fill keys from the queue.
85
- * @param {import('./dexbot_class').DEXBot} bot
102
+ * @param {import('./dexbot_class.js').DEXBot} bot
86
103
  * @param {string[]|Set<string>} fillKeys - Fill keys to discard
87
104
  */
88
105
  function discardPendingProcessedFillPersistence(bot, fillKeys) {
@@ -91,8 +108,8 @@ function discardPendingProcessedFillPersistence(bot, fillKeys) {
91
108
  /**
92
109
  * Build a degraded orphan fill replay key when the standard fill history id is missing.
93
110
  * The fallback key is derived from order_id, block_num, pays/receives amounts and asset IDs.
94
- * @param {import('./dexbot_class').DEXBot} bot
95
- * @param {import('./types').FillEvent} fill - Raw fill event
111
+ * @param {import('./dexbot_class.js').DEXBot} bot
112
+ * @param {import('./types.js').FillEvent} fill - Raw fill event
96
113
  * @returns {string|null} Orphan fallback key or null if insufficient data
97
114
  */
98
115
  function buildOrphanFillFallbackKey(bot, fill) {
@@ -121,9 +138,9 @@ function buildOrphanFillFallbackKey(bot, fill) {
121
138
  /**
122
139
  * Apply fill accounting with replay-safe deduplication.
123
140
  * Prevents the same fill from being accounted twice across restarts or re-syncs.
124
- * @param {import('./dexbot_class').DEXBot} bot
125
- * @param {import('./types').FillEvent} fill - Raw fill event
126
- * @param {import('./types').FillOperationData} fillOp - Extracted fill operation data
141
+ * @param {import('./dexbot_class.js').DEXBot} bot
142
+ * @param {import('./types.js').FillEvent} fill - Raw fill event
143
+ * @param {import('./types.js').FillOperationData} fillOp - Extracted fill operation data
127
144
  * @param {Object} [options] - Options
128
145
  * @param {Function} [options.missingKeyMessage] - Callback to generate log message when fill key is missing
129
146
  * @param {Function} [options.fallbackKeyMessage] - Callback to generate log message when fallback key is used
@@ -135,9 +152,9 @@ function buildOrphanFillFallbackKey(bot, fill) {
135
152
  * @param {string} [options.replayLevel='debug'] - Log level for replay messages
136
153
  * @param {string} [options.persistenceMode='immediate'] - Processed fill persistence mode (wrappers default to 'batched')
137
154
  * @param {boolean} [options.allowOrphanFallbackKey=false] - Allow degraded orphan fallback key
138
- * @returns {Promise<import('./types').ReplaySafeFillResult>}
155
+ * @returns {Promise<import('./types.js').ReplaySafeFillResult>}
139
156
  */
140
- async function applyReplaySafeFillAccounting(bot, fill, fillOp, { missingKeyMessage, fallbackKeyMessage, replayMessage, errorMessage, logger = bot.manager?.logger, missingKeyLevel = 'warn', fallbackKeyLevel = 'warn', replayLevel = 'debug', persistenceMode = processed_fill_store_1.PROCESSED_FILL_PERSISTENCE_MODES.IMMEDIATE, allowOrphanFallbackKey = false } = {}) {
157
+ async function applyReplaySafeFillAccounting(bot, fill, fillOp, { missingKeyMessage, fallbackKeyMessage, replayMessage, errorMessage, logger = bot.manager?.logger, missingKeyLevel = 'warn', fallbackKeyLevel = 'warn', replayLevel = 'debug', persistenceMode = PROCESSED_FILL_PERSISTENCE_MODES.IMMEDIATE, allowOrphanFallbackKey = false } = {}) {
141
158
  let fillKey = buildFillKey(fill);
142
159
  let usedFallbackKey = false;
143
160
  if (!fillKey && allowOrphanFallbackKey) {
@@ -174,45 +191,45 @@ async function applyReplaySafeFillAccounting(bot, fill, fillOp, { missingKeyMess
174
191
  /**
175
192
  * Apply replay-safe fill accounting for tracked fills (with fill history id).
176
193
  * Wraps applyReplaySafeFillAccounting with context and default message builders.
177
- * @param {import('./dexbot_class').DEXBot} bot
178
- * @param {import('./types').FillEvent} fill - Raw fill event
179
- * @param {import('./types').FillOperationData} fillOp - Extracted fill operation data
194
+ * @param {import('./dexbot_class.js').DEXBot} bot
195
+ * @param {import('./types.js').FillEvent} fill - Raw fill event
196
+ * @param {import('./types.js').FillOperationData} fillOp - Extracted fill operation data
180
197
  * @param {Object} [options] - Options
181
198
  * @param {string} [options.context] - Context label for log messages
182
199
  * @param {Object} [options.logger] - Logger instance
183
200
  * @param {Function} [options.replayMessage] - Callback to generate log message on duplicate fill
184
201
  * @param {string} [options.persistenceMode='batched'] - Processed fill persistence mode
185
- * @returns {Promise<import('./types').ReplaySafeFillResult>}
202
+ * @returns {Promise<import('./types.js').ReplaySafeFillResult>}
186
203
  */
187
- async function applyReplaySafeTrackedFillAccounting(bot, fill, fillOp, { context, logger = bot.manager?.logger, replayMessage, persistenceMode = processed_fill_store_1.PROCESSED_FILL_PERSISTENCE_MODES.BATCHED } = {}) {
204
+ async function applyReplaySafeTrackedFillAccounting(bot, fill, fillOp, { context, logger = bot.manager?.logger, replayMessage, persistenceMode = PROCESSED_FILL_PERSISTENCE_MODES.BATCHED } = {}) {
188
205
  return applyReplaySafeFillAccounting(bot, fill, fillOp, {
189
206
  logger,
190
207
  missingKeyMessage: (op) => `[${context}] Missing fill history id for ${op.order_id}; deferring to open-orders sync`,
191
208
  replayMessage,
192
- errorMessage: (op, _fill, err) => `[${context}] Failed to process accounting for ${op.order_id}: ${(0, errors_1.getErrorMessage)(err)}`,
209
+ errorMessage: (op, _fill, err) => `[${context}] Failed to process accounting for ${op.order_id}: ${getErrorMessage(err)}`,
193
210
  persistenceMode
194
211
  });
195
212
  }
196
213
  /**
197
214
  * Apply replay-safe fill accounting for orphan fills (missing fill history id).
198
215
  * Uses a degraded orphan fallback key when the standard key is unavailable.
199
- * @param {import('./dexbot_class').DEXBot} bot
200
- * @param {import('./types').FillEvent} fill - Raw fill event
201
- * @param {import('./types').FillOperationData} fillOp - Extracted fill operation data
216
+ * @param {import('./dexbot_class.js').DEXBot} bot
217
+ * @param {import('./types.js').FillEvent} fill - Raw fill event
218
+ * @param {import('./types.js').FillOperationData} fillOp - Extracted fill operation data
202
219
  * @param {Object} [options] - Options
203
220
  * @param {string} [options.context] - Context label for log messages
204
221
  * @param {Object} [options.logger] - Logger instance
205
222
  * @param {Function} [options.replayMessage] - Callback to generate log message on duplicate fill
206
223
  * @param {string} [options.persistenceMode='batched'] - Processed fill persistence mode
207
- * @returns {Promise<import('./types').ReplaySafeFillResult>}
224
+ * @returns {Promise<import('./types.js').ReplaySafeFillResult>}
208
225
  */
209
- async function applyReplaySafeOrphanFillAccounting(bot, fill, fillOp, { context, logger = bot.manager?.logger, replayMessage, persistenceMode = processed_fill_store_1.PROCESSED_FILL_PERSISTENCE_MODES.BATCHED } = {}) {
226
+ async function applyReplaySafeOrphanFillAccounting(bot, fill, fillOp, { context, logger = bot.manager?.logger, replayMessage, persistenceMode = PROCESSED_FILL_PERSISTENCE_MODES.BATCHED } = {}) {
210
227
  return applyReplaySafeFillAccounting(bot, fill, fillOp, {
211
228
  logger,
212
229
  missingKeyMessage: (op) => `[${context}] Missing fill history id and orphan fallback key for ${op.order_id}; deferring to open-orders sync`,
213
230
  fallbackKeyMessage: (op) => `[${context}] Missing fill history id for orphan fill ${op.order_id}; using degraded orphan replay key for proceeds-only accounting`,
214
231
  replayMessage,
215
- errorMessage: (op, _fill, err) => `[${context}] Failed to process accounting for ${op.order_id}: ${(0, errors_1.getErrorMessage)(err)}`,
232
+ errorMessage: (op, _fill, err) => `[${context}] Failed to process accounting for ${op.order_id}: ${getErrorMessage(err)}`,
216
233
  persistenceMode,
217
234
  allowOrphanFallbackKey: true
218
235
  });
@@ -220,7 +237,7 @@ async function applyReplaySafeOrphanFillAccounting(bot, fill, fillOp, { context,
220
237
  /**
221
238
  * Create a fill callback handler for blockchain subscription events.
222
239
  * Queues incoming fills and triggers fill queue consumption.
223
- * @param {import('./dexbot_class').DEXBot} bot
240
+ * @param {import('./dexbot_class.js').DEXBot} bot
224
241
  * @param {Object} chainOrders - Chain orders module
225
242
  * @returns {Function} Async callback function accepting an array of fill events
226
243
  */
@@ -230,7 +247,7 @@ function createFillCallback(bot, chainOrders) {
230
247
  return;
231
248
  }
232
249
  if (bot.manager && !bot.config.dryRun && Array.isArray(fills) && fills.length > 0) {
233
- const maxQueueDepth = constants_1.NATIVE_CLIENT.SUBSCRIPTIONS.MAX_INCOMING_FILL_QUEUE;
250
+ const maxQueueDepth = NATIVE_CLIENT.SUBSCRIPTIONS.MAX_INCOMING_FILL_QUEUE;
234
251
  if (bot._incomingFillQueue.length + fills.length > maxQueueDepth) {
235
252
  const message = `Incoming fill queue back-pressure: ${bot._incomingFillQueue.length} queued + ${fills.length} incoming exceeds limit ${maxQueueDepth}`;
236
253
  bot._warn(message);
@@ -239,30 +256,30 @@ function createFillCallback(bot, chainOrders) {
239
256
  bot._markGridActivity?.('fill queued');
240
257
  bot._incomingFillQueue.push(...fills);
241
258
  bot._consumeFillQueue(chainOrders).catch((err) => {
242
- bot._warn(`Fill queue consume failed: ${(0, errors_1.getErrorMessage)(err)}`);
259
+ bot._warn(`Fill queue consume failed: ${getErrorMessage(err)}`);
243
260
  });
244
261
  }
245
262
  };
246
263
  }
247
264
  /**
248
265
  * Returns the maximum consecutive fill consumer failures allowed before backoff.
249
- * @param {import('./dexbot_class').DEXBot} bot
266
+ * @param {import('./dexbot_class.js').DEXBot} bot
250
267
  * @returns {number}
251
268
  */
252
269
  function maxConsecutiveFillConsumerFailures(bot) {
253
- return bot.config.fillProcessing?.MAX_CONSECUTIVE_CONSUMER_FAILURES ?? constants_1.FILL_PROCESSING.MAX_CONSECUTIVE_CONSUMER_FAILURES;
270
+ return bot.config.fillProcessing?.MAX_CONSECUTIVE_CONSUMER_FAILURES ?? FILL_PROCESSING.MAX_CONSECUTIVE_CONSUMER_FAILURES;
254
271
  }
255
272
  /**
256
273
  * Compute the backoff delay for fill-consumer retries after the failure
257
274
  * budget (MAX_CONSECUTIVE_CONSUMER_FAILURES) is exhausted. Each retry
258
275
  * doubles the previous delay, capped at CONSUMER_BACKOFF_MAX_MS. The
259
276
  * consumer NEVER permanently stops re-scheduling — it just slows down.
260
- * @param {import('./dexbot_class').DEXBot} bot
277
+ * @param {import('./dexbot_class.js').DEXBot} bot
261
278
  * @param {number} failures The current consecutive-failure count.
262
279
  * @returns {number} Delay in milliseconds before the next retry.
263
280
  */
264
281
  function computeFillConsumerBackoffMs(bot, failures) {
265
- const fp = bot.config.fillProcessing || constants_1.FILL_PROCESSING;
282
+ const fp = bot.config.fillProcessing || FILL_PROCESSING;
266
283
  const initial = fp.CONSUMER_BACKOFF_INITIAL_MS;
267
284
  const max = fp.CONSUMER_BACKOFF_MAX_MS;
268
285
  const stepAfterMax = Math.max(0, failures - maxConsecutiveFillConsumerFailures(bot));
@@ -272,7 +289,7 @@ function computeFillConsumerBackoffMs(bot, failures) {
272
289
  * Schedule a fill consumer restart with exponential backoff when the
273
290
  * failure budget is exhausted, or immediate retry via setImmediate when
274
291
  * within the budget. The consumer NEVER permanently stops re-scheduling.
275
- * @param {import('./dexbot_class').DEXBot} bot
292
+ * @param {import('./dexbot_class.js').DEXBot} bot
276
293
  * @param {Object} chainOrders - Chain orders module
277
294
  */
278
295
  function scheduleFillConsumerRestart(bot, chainOrders) {
@@ -280,7 +297,7 @@ function scheduleFillConsumerRestart(bot, chainOrders) {
280
297
  if (failures >= maxConsecutiveFillConsumerFailures(bot)) {
281
298
  const backoffMs = computeFillConsumerBackoffMs(bot, failures);
282
299
  const elapsedSec = bot._consumeFailureFirstAt
283
- ? Math.round((Date.now() - bot._consumeFailureFirstAt) / constants_1.TIMING.MILLISECONDS_PER_SECOND)
300
+ ? Math.round((Date.now() - bot._consumeFailureFirstAt) / TIMING.MILLISECONDS_PER_SECOND)
284
301
  : null;
285
302
  const elapsed = elapsedSec !== null ? `${elapsedSec}s` : 'unknown';
286
303
  const sustainedLevel = (failures >= 20 || (elapsedSec !== null && elapsedSec >= 900))
@@ -289,7 +306,7 @@ function scheduleFillConsumerRestart(bot, chainOrders) {
289
306
  ? 'error'
290
307
  : 'warn';
291
308
  bot._log(`[FILL-QUEUE] Fill consumer has failed ${failures} consecutive times over ${elapsed}; ` +
292
- `backing off ${Math.round(backoffMs / constants_1.TIMING.MILLISECONDS_PER_SECOND)}s before retry. ` +
309
+ `backing off ${Math.round(backoffMs / TIMING.MILLISECONDS_PER_SECOND)}s before retry. ` +
293
310
  `Queue: ${bot._incomingFillQueue.length} fills.`, sustainedLevel);
294
311
  setTimeout(() => {
295
312
  if (bot._shuttingDown)
@@ -301,7 +318,7 @@ function scheduleFillConsumerRestart(bot, chainOrders) {
301
318
  bot._consecutiveConsumeFailures++;
302
319
  const newFailures = bot._consecutiveConsumeFailures;
303
320
  const newElapsedSec = bot._consumeFailureFirstAt
304
- ? Math.round((Date.now() - bot._consumeFailureFirstAt) / constants_1.TIMING.MILLISECONDS_PER_SECOND)
321
+ ? Math.round((Date.now() - bot._consumeFailureFirstAt) / TIMING.MILLISECONDS_PER_SECOND)
305
322
  : null;
306
323
  const resumeLevel = (newFailures >= 20 || (newElapsedSec !== null && newElapsedSec >= 900))
307
324
  ? 'critical'
@@ -310,8 +327,8 @@ function scheduleFillConsumerRestart(bot, chainOrders) {
310
327
  : 'warn';
311
328
  bot._log(`Fill consumer resume after backoff failed ` +
312
329
  `(${newFailures} total, ` +
313
- `next backoff ${Math.round(computeFillConsumerBackoffMs(bot, newFailures) / constants_1.TIMING.MILLISECONDS_PER_SECOND)}s): ` +
314
- `${(0, errors_1.getErrorMessage)(err)}`, resumeLevel);
330
+ `next backoff ${Math.round(computeFillConsumerBackoffMs(bot, newFailures) / TIMING.MILLISECONDS_PER_SECOND)}s): ` +
331
+ `${getErrorMessage(err)}`, resumeLevel);
315
332
  bot._scheduleFillConsumerRestart(chainOrders);
316
333
  });
317
334
  }, backoffMs);
@@ -324,13 +341,13 @@ function scheduleFillConsumerRestart(bot, chainOrders) {
324
341
  bot._consecutiveConsumeFailures++;
325
342
  const remaining = maxConsecutiveFillConsumerFailures(bot) - bot._consecutiveConsumeFailures;
326
343
  bot._log(`Fill consumer failed (${bot._consecutiveConsumeFailures}/${maxConsecutiveFillConsumerFailures(bot)}, ` +
327
- `${remaining} attempts remaining): ${(0, errors_1.getErrorMessage)(err)}`, bot._consecutiveConsumeFailures >= 3 ? 'warn' : 'error');
344
+ `${remaining} attempts remaining): ${getErrorMessage(err)}`, bot._consecutiveConsumeFailures >= 3 ? 'warn' : 'error');
328
345
  }));
329
346
  }
330
347
  /**
331
348
  * Process fills during bootstrap phase using the standard fill pipeline.
332
349
  * Delegates to the same fill pipeline as the post-reset path.
333
- * @param {import('./dexbot_class').DEXBot} bot
350
+ * @param {import('./dexbot_class.js').DEXBot} bot
334
351
  * @param {Object} chainOrders - Chain orders module for blockchain operations
335
352
  * @returns {Promise<void>}
336
353
  */
@@ -343,7 +360,7 @@ async function processFillsWithBootstrapMode(bot, chainOrders) {
343
360
  const processedFillKeys = new Set();
344
361
  let requiresOpenOrdersSync = false;
345
362
  for (const fill of fills) {
346
- if (!fill || fill.op?.[0] !== 4)
363
+ if (!fill || fill.op?.[0] !== FILL_PROCESSING.OPERATION_TYPE)
347
364
  continue;
348
365
  const fillOp = fill.op[1];
349
366
  const gridOrder = bot.manager.orders.get(fillOp.order_id) ||
@@ -372,7 +389,7 @@ async function processFillsWithBootstrapMode(bot, chainOrders) {
372
389
  continue;
373
390
  }
374
391
  validFills.push({ ...fill, gridOrder });
375
- const fillType = gridOrder.type === constants_1.ORDER_TYPES.BUY ? 'BUY' : 'SELL';
392
+ const fillType = gridOrder.type === ORDER_TYPES.BUY ? 'BUY' : 'SELL';
376
393
  bot._log(`[BOOTSTRAP] Fill detected: ${fillType} order (${fillOp.is_maker !== false ? 'maker' : 'taker'})`);
377
394
  }
378
395
  finally {
@@ -416,8 +433,8 @@ async function processFillsWithBootstrapMode(bot, chainOrders) {
416
433
  bot._metrics.fillProcessingTimeMs += Date.now() - startTime;
417
434
  }
418
435
  catch (err) {
419
- bot._warn(`[BOOTSTRAP] Error processing fills: ${(0, errors_1.getErrorMessage)(err)}`);
420
- bot.manager.logger.log(`[BOOTSTRAP] Fill error: ${(0, errors_1.getErrorMessage)(err)}`, 'error');
436
+ bot._warn(`[BOOTSTRAP] Error processing fills: ${getErrorMessage(err)}`);
437
+ bot.manager.logger.log(`[BOOTSTRAP] Fill error: ${getErrorMessage(err)}`, 'error');
421
438
  }
422
439
  }
423
440
  /**
@@ -426,7 +443,7 @@ async function processFillsWithBootstrapMode(bot, chainOrders) {
426
443
  * orders from history or open orders mode, handles price mismatches, processes
427
444
  * fills sequentially with interruptible rebalancing, and periodically cleans old
428
445
  * fill records.
429
- * @param {import('./dexbot_class').DEXBot} bot
446
+ * @param {import('./dexbot_class.js').DEXBot} bot
430
447
  * @param {Object} chainOrders - Chain orders module for blockchain operations
431
448
  */
432
449
  async function consumeFillQueue(bot, chainOrders) {
@@ -482,7 +499,7 @@ async function consumeFillQueue(bot, chainOrders) {
482
499
  pendingFillKeysForCurrentCycle = new Set();
483
500
  let requiresOpenOrdersSync = false;
484
501
  for (const fill of allFills) {
485
- if (fill && fill.op && fill.op[0] === constants_1.FILL_PROCESSING.OPERATION_TYPE) {
502
+ if (fill && fill.op && fill.op[0] === FILL_PROCESSING.OPERATION_TYPE) {
486
503
  const fillOp = fill.op[1];
487
504
  const hasFillEconomics = fillOp?.pays?.asset_id && fillOp?.pays?.amount != null
488
505
  && fillOp?.receives?.asset_id && fillOp?.receives?.amount != null;
@@ -552,13 +569,14 @@ async function consumeFillQueue(bot, chainOrders) {
552
569
  let allFilledOrders = [];
553
570
  let ordersNeedingCorrection = [];
554
571
  const fillMode = chainOrders.getFillProcessingMode();
572
+ const residualCancels = [];
555
573
  const processValidFills = async (fillsToSync) => {
556
574
  let resolvedOrders = [];
557
- if (fillMode === 'history') {
575
+ if (fillMode === FILL_PROCESSING.MODE) {
558
576
  bot.manager.logger.log(`Syncing ${fillsToSync.length} fill(s) (history mode)`, 'info');
559
577
  if (fillsToSync.length >= 2) {
560
578
  const batchResult = await bot.manager.syncFromFillHistoryBatch(fillsToSync, {
561
- persistenceMode: processed_fill_store_1.PROCESSED_FILL_PERSISTENCE_MODES.BATCHED
579
+ persistenceMode: PROCESSED_FILL_PERSISTENCE_MODES.BATCHED
562
580
  });
563
581
  if (batchResult.deferred) {
564
582
  // Deferred: stale accountTotals refresh failed.
@@ -578,13 +596,15 @@ async function consumeFillQueue(bot, chainOrders) {
578
596
  }
579
597
  if (batchResult.filledOrders)
580
598
  resolvedOrders.push(...batchResult.filledOrders);
599
+ if (batchResult.residualCancels)
600
+ residualCancels.push(...batchResult.residualCancels);
581
601
  if (batchResult.requiresOpenOrdersSync)
582
602
  requiresOpenOrdersSync = true;
583
603
  }
584
604
  else {
585
605
  for (const fill of fillsToSync) {
586
606
  const resultHistory = await bot.manager.syncFromFillHistory(fill, {
587
- persistenceMode: processed_fill_store_1.PROCESSED_FILL_PERSISTENCE_MODES.BATCHED
607
+ persistenceMode: PROCESSED_FILL_PERSISTENCE_MODES.BATCHED
588
608
  });
589
609
  const fillKey = buildFillKey({
590
610
  orderId: fill?.op?.[1]?.order_id,
@@ -599,13 +619,15 @@ async function consumeFillQueue(bot, chainOrders) {
599
619
  pendingFillKeysForCurrentCycle.add(fillKey);
600
620
  if (resultHistory.filledOrders)
601
621
  resolvedOrders.push(...resultHistory.filledOrders);
622
+ if (resultHistory.residualCancels)
623
+ residualCancels.push(...resultHistory.residualCancels);
602
624
  if (resultHistory.requiresOpenOrdersSync)
603
625
  requiresOpenOrdersSync = true;
604
626
  }
605
627
  }
606
628
  }
607
- if (fillMode !== 'history' || requiresOpenOrdersSync) {
608
- if (fillMode === 'history' && requiresOpenOrdersSync) {
629
+ if (fillMode !== FILL_PROCESSING.MODE || requiresOpenOrdersSync) {
630
+ if (fillMode === FILL_PROCESSING.MODE && requiresOpenOrdersSync) {
609
631
  bot.manager.logger.log('Falling back to open-orders sync for fill(s) missing replay-safe history identifiers', 'warn');
610
632
  }
611
633
  bot.manager.logger.log(`Syncing ${fillsToSync.length} fill(s) (open orders mode)`, 'info');
@@ -688,6 +710,14 @@ async function consumeFillQueue(bot, chainOrders) {
688
710
  blockNum: filledOrder?.blockNum,
689
711
  historyId: filledOrder?.historyId
690
712
  })).filter(Boolean));
713
+ // Same-order fills are aggregated into one filled order by
714
+ // syncFromFillHistoryBatch, so the raw per-fill keys of the
715
+ // cycle must be flushed here too — otherwise the aggregated
716
+ // order only carries the last fill's key and the earlier
717
+ // same-order fills (already credited in Phase 3 accounting)
718
+ // would be re-credited on crash recovery.
719
+ for (const fillKey of pendingFillKeysForCurrentCycle)
720
+ batchFillKeys.add(fillKey);
691
721
  await bot._flushProcessedFillPersistenceForKeys(batchFillKeys, 'fill-batch-committed');
692
722
  }
693
723
  else {
@@ -713,6 +743,17 @@ async function consumeFillQueue(bot, chainOrders) {
713
743
  }
714
744
  }
715
745
  }
746
+ // Cancel residuals the chain still holds after sub-dust full
747
+ // fills were virtualized. The chain only auto-culls orders whose
748
+ // QUOTE-side residual rounds to 0; a leftover of >= 1 base unit
749
+ // is NOT culled and would otherwise sit on the book forever once
750
+ // the slot stopped referencing it. Runs BEFORE post-fill grid
751
+ // maintenance so the residual cannot be re-adopted into a slot
752
+ // first (which would turn this cancel into a ghost: a grid order
753
+ // referencing a chain order that no longer exists).
754
+ if (!abortedFillCycle && residualCancels.length > 0) {
755
+ await cancelResidualOrders(bot, residualCancels);
756
+ }
716
757
  if (shouldRunPostFillChecks && !abortedFillCycle) {
717
758
  await bot._runGridMaintenance('post-fill');
718
759
  }
@@ -723,16 +764,16 @@ async function consumeFillQueue(bot, chainOrders) {
723
764
  bot.manager._recentFillKeysSnapshot = bot._getRecentFillKeysSnapshot();
724
765
  await retryPersistenceIfNeeded(bot.manager);
725
766
  bot._fillCleanupCounter += validFills.length;
726
- const cleanupThreshold = constants_1.MAINTENANCE.CLEANUP_PROBABILITY > 0 && constants_1.MAINTENANCE.CLEANUP_PROBABILITY < 1
727
- ? Math.floor(1 / constants_1.MAINTENANCE.CLEANUP_PROBABILITY)
767
+ const cleanupThreshold = MAINTENANCE.CLEANUP_PROBABILITY > 0 && MAINTENANCE.CLEANUP_PROBABILITY < 1
768
+ ? Math.floor(1 / MAINTENANCE.CLEANUP_PROBABILITY)
728
769
  : 100;
729
770
  if (bot._fillCleanupCounter >= cleanupThreshold) {
730
771
  try {
731
- await bot.accountOrders.cleanOldProcessedFills(constants_1.TIMING.FILL_RECORD_RETENTION_MS);
772
+ await bot.accountOrders.cleanOldProcessedFills(TIMING.FILL_RECORD_RETENTION_MS);
732
773
  bot._fillCleanupCounter = 0;
733
774
  }
734
775
  catch (err) {
735
- bot.manager?.logger?.log(`Warning: Fill cleanup failed (will retry): ${(0, errors_1.getErrorMessage)(err)}`, 'warn');
776
+ bot.manager?.logger?.log(`Warning: Fill cleanup failed (will retry): ${getErrorMessage(err)}`, 'warn');
736
777
  }
737
778
  }
738
779
  bot._metrics.fillsProcessed += validFills.length;
@@ -765,7 +806,7 @@ async function consumeFillQueue(bot, chainOrders) {
765
806
  : 'fill-cycle-error-verified-fills';
766
807
  if (isCredentialOutage) {
767
808
  bot._credentialRecoveryNeeded = true;
768
- bot._suspendGridPersistenceForCredentialOutage(`credential outage during fill processing: ${(0, errors_1.getErrorMessage)(err)}`);
809
+ bot._suspendGridPersistenceForCredentialOutage(`credential outage during fill processing: ${getErrorMessage(err)}`);
769
810
  }
770
811
  try {
771
812
  await bot._flushProcessedFillPersistenceForKeys(pendingFillKeysForCurrentCycle, flushReason, { throwOnError: true });
@@ -775,14 +816,14 @@ async function consumeFillQueue(bot, chainOrders) {
775
816
  bot.manager?.logger?.log?.(`[FILL-DEDUP] Persisted ${pendingFillKeysForCurrentCycle.size} verified processed-fill write(s) after fill cycle error${credentialSuffix}.`, isCredentialOutage ? 'warn' : 'info');
776
817
  }
777
818
  catch (flushErr) {
778
- bot.manager?.logger?.log?.(`[FILL-DEDUP] Failed to persist verified fill keys during fill error handling: ${(0, errors_1.getErrorMessage)(flushErr)}`, 'warn');
819
+ bot.manager?.logger?.log?.(`[FILL-DEDUP] Failed to persist verified fill keys during fill error handling: ${getErrorMessage(flushErr)}`, 'warn');
779
820
  }
780
821
  }
781
822
  if (isCredentialOutage && pendingFillKeysForCurrentCycle.size === 0) {
782
823
  bot._credentialRecoveryNeeded = true;
783
- bot._suspendGridPersistenceForCredentialOutage(`credential outage during fill processing: ${(0, errors_1.getErrorMessage)(err)}`);
824
+ bot._suspendGridPersistenceForCredentialOutage(`credential outage during fill processing: ${getErrorMessage(err)}`);
784
825
  }
785
- bot._log(`Error processing fills: ${(0, errors_1.getErrorMessage)(err)}`, 'error');
826
+ bot._log(`Error processing fills: ${getErrorMessage(err)}`, 'error');
786
827
  if (err.stack)
787
828
  bot._log(err.stack, 'error');
788
829
  }
@@ -790,4 +831,5 @@ async function consumeFillQueue(bot, chainOrders) {
790
831
  scheduleFillConsumerRestart(bot, chainOrders);
791
832
  }
792
833
  }
834
+ export { wireProcessedFillTracking, flushProcessedFillPersistence, flushProcessedFillPersistenceForKeys, discardPendingProcessedFillPersistence, buildOrphanFillFallbackKey, applyReplaySafeFillAccounting, applyReplaySafeTrackedFillAccounting, applyReplaySafeOrphanFillAccounting, processSweepOrphanFill, createFillCallback, maxConsecutiveFillConsumerFailures, computeFillConsumerBackoffMs, scheduleFillConsumerRestart, consumeFillQueue, processFillsWithBootstrapMode };
793
835
  //# sourceMappingURL=dexbot_fill_runtime.js.map
@@ -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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"}