dexbot 1.3.3 → 1.4.1

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 (736) hide show
  1. package/dist/analysis/chart_utils.d.ts +11 -9
  2. package/dist/analysis/chart_utils.d.ts.map +1 -1
  3. package/dist/analysis/chart_utils.js +21 -16
  4. package/dist/analysis/chart_utils.js.map +1 -1
  5. package/dist/analysis/math_utils.d.ts +4 -13
  6. package/dist/analysis/math_utils.d.ts.map +1 -1
  7. package/dist/analysis/math_utils.js +16 -18
  8. package/dist/analysis/math_utils.js.map +1 -1
  9. package/dist/analysis/tradingview/tradingview_uplot_chart_generator.d.ts +3 -7
  10. package/dist/analysis/tradingview/tradingview_uplot_chart_generator.d.ts.map +1 -1
  11. package/dist/analysis/tradingview/tradingview_uplot_chart_generator.js +38 -34
  12. package/dist/analysis/tradingview/tradingview_uplot_chart_generator.js.map +1 -1
  13. package/dist/analysis/trend_detection/hurst_analyzer.d.ts +1 -4
  14. package/dist/analysis/trend_detection/hurst_analyzer.d.ts.map +1 -1
  15. package/dist/analysis/trend_detection/hurst_analyzer.js +10 -7
  16. package/dist/analysis/trend_detection/hurst_analyzer.js.map +1 -1
  17. package/dist/analysis/trend_detection/kalman_trend_analyzer.d.ts +6 -6
  18. package/dist/analysis/trend_detection/kalman_trend_analyzer.d.ts.map +1 -1
  19. package/dist/analysis/trend_detection/kalman_trend_analyzer.js +23 -15
  20. package/dist/analysis/trend_detection/kalman_trend_analyzer.js.map +1 -1
  21. package/dist/analysis/trend_detection/kalman_velocity_smoothing.d.ts +12 -13
  22. package/dist/analysis/trend_detection/kalman_velocity_smoothing.d.ts.map +1 -1
  23. package/dist/analysis/trend_detection/kalman_velocity_smoothing.js +16 -16
  24. package/dist/analysis/trend_detection/kalman_velocity_smoothing.js.map +1 -1
  25. package/dist/analysis/trend_detection/permutation_entropy_analyzer.d.ts +1 -4
  26. package/dist/analysis/trend_detection/permutation_entropy_analyzer.d.ts.map +1 -1
  27. package/dist/analysis/trend_detection/permutation_entropy_analyzer.js +10 -7
  28. package/dist/analysis/trend_detection/permutation_entropy_analyzer.js.map +1 -1
  29. package/dist/bot.d.ts.map +1 -1
  30. package/dist/bot.js +6 -13
  31. package/dist/bot.js.map +1 -1
  32. package/dist/credential-daemon.d.ts.map +1 -1
  33. package/dist/credential-daemon.js +21 -22
  34. package/dist/credential-daemon.js.map +1 -1
  35. package/dist/dexbot.d.ts.map +1 -1
  36. package/dist/dexbot.js +16 -15
  37. package/dist/dexbot.js.map +1 -1
  38. package/dist/market_adapter/ama_signal_runner.d.ts +1 -1
  39. package/dist/market_adapter/ama_signal_runner.d.ts.map +1 -1
  40. package/dist/market_adapter/ama_signal_runner.js +8 -20
  41. package/dist/market_adapter/ama_signal_runner.js.map +1 -1
  42. package/dist/market_adapter/candle_utils.d.ts +2 -10
  43. package/dist/market_adapter/candle_utils.d.ts.map +1 -1
  44. package/dist/market_adapter/candle_utils.js +7 -8
  45. package/dist/market_adapter/candle_utils.js.map +1 -1
  46. package/dist/market_adapter/core/asymmetric_bounds.d.ts +12 -7
  47. package/dist/market_adapter/core/asymmetric_bounds.d.ts.map +1 -1
  48. package/dist/market_adapter/core/asymmetric_bounds.js +4 -5
  49. package/dist/market_adapter/core/asymmetric_bounds.js.map +1 -1
  50. package/dist/market_adapter/core/config_normalizers.d.ts +4 -9
  51. package/dist/market_adapter/core/config_normalizers.d.ts.map +1 -1
  52. package/dist/market_adapter/core/config_normalizers.js +9 -9
  53. package/dist/market_adapter/core/config_normalizers.js.map +1 -1
  54. package/dist/market_adapter/core/kibana_candles.d.ts +16 -20
  55. package/dist/market_adapter/core/kibana_candles.d.ts.map +1 -1
  56. package/dist/market_adapter/core/kibana_candles.js +16 -15
  57. package/dist/market_adapter/core/kibana_candles.js.map +1 -1
  58. package/dist/market_adapter/core/kibana_client.d.ts +8 -11
  59. package/dist/market_adapter/core/kibana_client.d.ts.map +1 -1
  60. package/dist/market_adapter/core/kibana_client.js +13 -11
  61. package/dist/market_adapter/core/kibana_client.js.map +1 -1
  62. package/dist/market_adapter/core/kibana_market_candles.d.ts +5 -12
  63. package/dist/market_adapter/core/kibana_market_candles.d.ts.map +1 -1
  64. package/dist/market_adapter/core/kibana_market_candles.js +12 -21
  65. package/dist/market_adapter/core/kibana_market_candles.js.map +1 -1
  66. package/dist/market_adapter/core/market_adapter_service.d.ts +75 -53
  67. package/dist/market_adapter/core/market_adapter_service.d.ts.map +1 -1
  68. package/dist/market_adapter/core/market_adapter_service.js +102 -98
  69. package/dist/market_adapter/core/market_adapter_service.js.map +1 -1
  70. package/dist/market_adapter/core/strategies/ama.d.ts +21 -1
  71. package/dist/market_adapter/core/strategies/ama.d.ts.map +1 -1
  72. package/dist/market_adapter/core/strategies/ama.js +10 -10
  73. package/dist/market_adapter/core/strategies/ama.js.map +1 -1
  74. package/dist/market_adapter/core/strategies/ama_slope_model.d.ts +7 -11
  75. package/dist/market_adapter/core/strategies/ama_slope_model.d.ts.map +1 -1
  76. package/dist/market_adapter/core/strategies/ama_slope_model.js +23 -30
  77. package/dist/market_adapter/core/strategies/ama_slope_model.js.map +1 -1
  78. package/dist/market_adapter/core/strategies/atr/calculator.d.ts +5 -4
  79. package/dist/market_adapter/core/strategies/atr/calculator.d.ts.map +1 -1
  80. package/dist/market_adapter/core/strategies/atr/calculator.js +5 -3
  81. package/dist/market_adapter/core/strategies/atr/calculator.js.map +1 -1
  82. package/dist/market_adapter/core/strategies/collateral_manager.d.ts +4 -7
  83. package/dist/market_adapter/core/strategies/collateral_manager.d.ts.map +1 -1
  84. package/dist/market_adapter/core/strategies/collateral_manager.js +5 -4
  85. package/dist/market_adapter/core/strategies/collateral_manager.js.map +1 -1
  86. package/dist/market_adapter/core/strategies/regime_gate.d.ts +11 -19
  87. package/dist/market_adapter/core/strategies/regime_gate.d.ts.map +1 -1
  88. package/dist/market_adapter/core/strategies/regime_gate.js +22 -22
  89. package/dist/market_adapter/core/strategies/regime_gate.js.map +1 -1
  90. package/dist/market_adapter/index.d.ts +24 -2
  91. package/dist/market_adapter/index.d.ts.map +1 -1
  92. package/dist/market_adapter/index.js +82 -56
  93. package/dist/market_adapter/index.js.map +1 -1
  94. package/dist/market_adapter/inputs/fetch_cex_synthetic_data.js +26 -37
  95. package/dist/market_adapter/inputs/fetch_cex_synthetic_data.js.map +1 -1
  96. package/dist/market_adapter/inputs/fetch_lp_data.d.ts +4 -12
  97. package/dist/market_adapter/inputs/fetch_lp_data.d.ts.map +1 -1
  98. package/dist/market_adapter/inputs/fetch_lp_data.js +100 -66
  99. package/dist/market_adapter/inputs/fetch_lp_data.js.map +1 -1
  100. package/dist/market_adapter/inputs/kibana_source.d.ts +4 -9
  101. package/dist/market_adapter/inputs/kibana_source.d.ts.map +1 -1
  102. package/dist/market_adapter/inputs/kibana_source.js +17 -18
  103. package/dist/market_adapter/inputs/kibana_source.js.map +1 -1
  104. package/dist/market_adapter/interval_utils.d.ts +1 -4
  105. package/dist/market_adapter/interval_utils.d.ts.map +1 -1
  106. package/dist/market_adapter/interval_utils.js +2 -3
  107. package/dist/market_adapter/interval_utils.js.map +1 -1
  108. package/dist/market_adapter/log_format.d.ts +1 -9
  109. package/dist/market_adapter/log_format.d.ts.map +1 -1
  110. package/dist/market_adapter/log_format.js +7 -8
  111. package/dist/market_adapter/log_format.js.map +1 -1
  112. package/dist/market_adapter/lp_chart_core.d.ts +1 -4
  113. package/dist/market_adapter/lp_chart_core.d.ts.map +1 -1
  114. package/dist/market_adapter/lp_chart_core.js +22 -20
  115. package/dist/market_adapter/lp_chart_core.js.map +1 -1
  116. package/dist/market_adapter/lp_chart_runner.d.ts +13 -24
  117. package/dist/market_adapter/lp_chart_runner.d.ts.map +1 -1
  118. package/dist/market_adapter/lp_chart_runner.js +58 -56
  119. package/dist/market_adapter/lp_chart_runner.js.map +1 -1
  120. package/dist/market_adapter/lp_chart_strategy_loader.d.ts +4 -17
  121. package/dist/market_adapter/lp_chart_strategy_loader.d.ts.map +1 -1
  122. package/dist/market_adapter/lp_chart_strategy_loader.js +36 -36
  123. package/dist/market_adapter/lp_chart_strategy_loader.js.map +1 -1
  124. package/dist/market_adapter/market_adapter.d.ts +51 -72
  125. package/dist/market_adapter/market_adapter.d.ts.map +1 -1
  126. package/dist/market_adapter/market_adapter.js +227 -192
  127. package/dist/market_adapter/market_adapter.js.map +1 -1
  128. package/dist/market_adapter/merge_lp_data.js +17 -16
  129. package/dist/market_adapter/merge_lp_data.js.map +1 -1
  130. package/dist/market_adapter/test_helpers.d.ts +9 -13
  131. package/dist/market_adapter/test_helpers.d.ts.map +1 -1
  132. package/dist/market_adapter/test_helpers.js +14 -14
  133. package/dist/market_adapter/test_helpers.js.map +1 -1
  134. package/dist/market_adapter/utils/adapter_client.d.ts +6 -14
  135. package/dist/market_adapter/utils/adapter_client.d.ts.map +1 -1
  136. package/dist/market_adapter/utils/adapter_client.js +16 -15
  137. package/dist/market_adapter/utils/adapter_client.js.map +1 -1
  138. package/dist/market_adapter/utils/atomic_write.d.ts +2 -5
  139. package/dist/market_adapter/utils/atomic_write.d.ts.map +1 -1
  140. package/dist/market_adapter/utils/atomic_write.js +5 -5
  141. package/dist/market_adapter/utils/atomic_write.js.map +1 -1
  142. package/dist/market_adapter/utils/chain.d.ts +19 -21
  143. package/dist/market_adapter/utils/chain.d.ts.map +1 -1
  144. package/dist/market_adapter/utils/chain.js +15 -16
  145. package/dist/market_adapter/utils/chain.js.map +1 -1
  146. package/dist/market_adapter/utils/data_discovery.d.ts +1 -4
  147. package/dist/market_adapter/utils/data_discovery.d.ts.map +1 -1
  148. package/dist/market_adapter/utils/data_discovery.js +10 -10
  149. package/dist/market_adapter/utils/data_discovery.js.map +1 -1
  150. package/dist/market_adapter/utils/dynamic_grid_snapshot.d.ts +1 -6
  151. package/dist/market_adapter/utils/dynamic_grid_snapshot.d.ts.map +1 -1
  152. package/dist/market_adapter/utils/dynamic_grid_snapshot.js +14 -14
  153. package/dist/market_adapter/utils/dynamic_grid_snapshot.js.map +1 -1
  154. package/dist/market_adapter/utils/file_lock.d.ts +1 -7
  155. package/dist/market_adapter/utils/file_lock.d.ts.map +1 -1
  156. package/dist/market_adapter/utils/file_lock.js +21 -25
  157. package/dist/market_adapter/utils/file_lock.js.map +1 -1
  158. package/dist/market_adapter/utils/native_history.d.ts +12 -12
  159. package/dist/market_adapter/utils/native_history.d.ts.map +1 -1
  160. package/dist/market_adapter/utils/native_history.js +15 -15
  161. package/dist/market_adapter/utils/native_history.js.map +1 -1
  162. package/dist/market_adapter/utils/paths.d.ts +2 -4
  163. package/dist/market_adapter/utils/paths.d.ts.map +1 -1
  164. package/dist/market_adapter/utils/paths.js +6 -5
  165. package/dist/market_adapter/utils/paths.js.map +1 -1
  166. package/dist/modules/account_bots.d.ts +7 -8
  167. package/dist/modules/account_bots.d.ts.map +1 -1
  168. package/dist/modules/account_bots.js +92 -114
  169. package/dist/modules/account_bots.js.map +1 -1
  170. package/dist/modules/account_orders.d.ts +5 -9
  171. package/dist/modules/account_orders.d.ts.map +1 -1
  172. package/dist/modules/account_orders.js +69 -32
  173. package/dist/modules/account_orders.js.map +1 -1
  174. package/dist/modules/authority_resolver.d.ts +32 -1
  175. package/dist/modules/authority_resolver.d.ts.map +1 -1
  176. package/dist/modules/authority_resolver.js +18 -12
  177. package/dist/modules/authority_resolver.js.map +1 -1
  178. package/dist/modules/bitshares-native/chain_client.d.ts +3 -8
  179. package/dist/modules/bitshares-native/chain_client.d.ts.map +1 -1
  180. package/dist/modules/bitshares-native/chain_client.js +21 -16
  181. package/dist/modules/bitshares-native/chain_client.js.map +1 -1
  182. package/dist/modules/bitshares-native/crypto/ecc.browser.d.ts +21 -29
  183. package/dist/modules/bitshares-native/crypto/ecc.browser.d.ts.map +1 -1
  184. package/dist/modules/bitshares-native/crypto/ecc.browser.js +72 -38
  185. package/dist/modules/bitshares-native/crypto/ecc.browser.js.map +1 -1
  186. package/dist/modules/bitshares-native/crypto/ecc.d.ts +9 -36
  187. package/dist/modules/bitshares-native/crypto/ecc.d.ts.map +1 -1
  188. package/dist/modules/bitshares-native/crypto/ecc.js +40 -83
  189. package/dist/modules/bitshares-native/crypto/ecc.js.map +1 -1
  190. package/dist/modules/bitshares-native/crypto/ecc_selector.d.ts +14 -1
  191. package/dist/modules/bitshares-native/crypto/ecc_selector.d.ts.map +1 -1
  192. package/dist/modules/bitshares-native/crypto/ecc_selector.js +5 -3
  193. package/dist/modules/bitshares-native/crypto/ecc_selector.js.map +1 -1
  194. package/dist/modules/bitshares-native/index.d.ts +10 -2
  195. package/dist/modules/bitshares-native/index.d.ts.map +1 -1
  196. package/dist/modules/bitshares-native/index.js +68 -31
  197. package/dist/modules/bitshares-native/index.js.map +1 -1
  198. package/dist/modules/bitshares-native/lru_cache.d.ts +1 -4
  199. package/dist/modules/bitshares-native/lru_cache.d.ts.map +1 -1
  200. package/dist/modules/bitshares-native/lru_cache.js +6 -3
  201. package/dist/modules/bitshares-native/lru_cache.js.map +1 -1
  202. package/dist/modules/bitshares-native/resolvers.d.ts +3 -6
  203. package/dist/modules/bitshares-native/resolvers.d.ts.map +1 -1
  204. package/dist/modules/bitshares-native/resolvers.js +11 -9
  205. package/dist/modules/bitshares-native/resolvers.js.map +1 -1
  206. package/dist/modules/bitshares-native/serial/chain_constants.d.ts +53 -55
  207. package/dist/modules/bitshares-native/serial/chain_constants.d.ts.map +1 -1
  208. package/dist/modules/bitshares-native/serial/chain_constants.js +28 -27
  209. package/dist/modules/bitshares-native/serial/chain_constants.js.map +1 -1
  210. package/dist/modules/bitshares-native/serial/index.d.ts +5 -9
  211. package/dist/modules/bitshares-native/serial/index.d.ts.map +1 -1
  212. package/dist/modules/bitshares-native/serial/index.js +46 -12
  213. package/dist/modules/bitshares-native/serial/index.js.map +1 -1
  214. package/dist/modules/bitshares-native/serial/operations.d.ts +102 -100
  215. package/dist/modules/bitshares-native/serial/operations.d.ts.map +1 -1
  216. package/dist/modules/bitshares-native/serial/operations.js +473 -471
  217. package/dist/modules/bitshares-native/serial/operations.js.map +1 -1
  218. package/dist/modules/bitshares-native/serial/serializer.d.ts +2 -7
  219. package/dist/modules/bitshares-native/serial/serializer.d.ts.map +1 -1
  220. package/dist/modules/bitshares-native/serial/serializer.js +8 -3
  221. package/dist/modules/bitshares-native/serial/serializer.js.map +1 -1
  222. package/dist/modules/bitshares-native/serial/types.d.ts +26 -41
  223. package/dist/modules/bitshares-native/serial/types.d.ts.map +1 -1
  224. package/dist/modules/bitshares-native/serial/types.js +76 -42
  225. package/dist/modules/bitshares-native/serial/types.js.map +1 -1
  226. package/dist/modules/bitshares-native/signing_client.d.ts +1 -5
  227. package/dist/modules/bitshares-native/signing_client.d.ts.map +1 -1
  228. package/dist/modules/bitshares-native/signing_client.js +49 -11
  229. package/dist/modules/bitshares-native/signing_client.js.map +1 -1
  230. package/dist/modules/bitshares-native/subscriptions.d.ts +1 -4
  231. package/dist/modules/bitshares-native/subscriptions.d.ts.map +1 -1
  232. package/dist/modules/bitshares-native/subscriptions.js +47 -84
  233. package/dist/modules/bitshares-native/subscriptions.js.map +1 -1
  234. package/dist/modules/bitshares-native/transport.d.ts +1 -8
  235. package/dist/modules/bitshares-native/transport.d.ts.map +1 -1
  236. package/dist/modules/bitshares-native/transport.js +22 -15
  237. package/dist/modules/bitshares-native/transport.js.map +1 -1
  238. package/dist/modules/bitshares-native/tx/builder.d.ts +3 -8
  239. package/dist/modules/bitshares-native/tx/builder.d.ts.map +1 -1
  240. package/dist/modules/bitshares-native/tx/builder.js +61 -23
  241. package/dist/modules/bitshares-native/tx/builder.js.map +1 -1
  242. package/dist/modules/bitshares-native/tx/tx_cache.d.ts +1 -8
  243. package/dist/modules/bitshares-native/tx/tx_cache.d.ts.map +1 -1
  244. package/dist/modules/bitshares-native/tx/tx_cache.js +21 -17
  245. package/dist/modules/bitshares-native/tx/tx_cache.js.map +1 -1
  246. package/dist/modules/bitshares_client.d.ts +12 -23
  247. package/dist/modules/bitshares_client.d.ts.map +1 -1
  248. package/dist/modules/bitshares_client.js +109 -56
  249. package/dist/modules/bitshares_client.js.map +1 -1
  250. package/dist/modules/bot_settings.d.ts +1 -13
  251. package/dist/modules/bot_settings.d.ts.map +1 -1
  252. package/dist/modules/bot_settings.js +34 -34
  253. package/dist/modules/bot_settings.js.map +1 -1
  254. package/dist/modules/bots_file_lock.d.ts +3 -9
  255. package/dist/modules/bots_file_lock.d.ts.map +1 -1
  256. package/dist/modules/bots_file_lock.js +8 -9
  257. package/dist/modules/bots_file_lock.js.map +1 -1
  258. package/dist/modules/chain_keys.d.ts +7 -39
  259. package/dist/modules/chain_keys.d.ts.map +1 -1
  260. package/dist/modules/chain_keys.js +126 -90
  261. package/dist/modules/chain_keys.js.map +1 -1
  262. package/dist/modules/chain_orders.d.ts +46 -52
  263. package/dist/modules/chain_orders.d.ts.map +1 -1
  264. package/dist/modules/chain_orders.js +152 -104
  265. package/dist/modules/chain_orders.js.map +1 -1
  266. package/dist/modules/config.d.ts +50 -57
  267. package/dist/modules/config.d.ts.map +1 -1
  268. package/dist/modules/config.js +28 -24
  269. package/dist/modules/config.js.map +1 -1
  270. package/dist/modules/constants.d.ts +492 -494
  271. package/dist/modules/constants.d.ts.map +1 -1
  272. package/dist/modules/constants.js +69 -39
  273. package/dist/modules/constants.js.map +1 -1
  274. package/dist/modules/cr_planner.d.ts +1 -13
  275. package/dist/modules/cr_planner.d.ts.map +1 -1
  276. package/dist/modules/cr_planner.js +28 -28
  277. package/dist/modules/cr_planner.js.map +1 -1
  278. package/dist/modules/credential_policy.d.ts +18 -33
  279. package/dist/modules/credential_policy.d.ts.map +1 -1
  280. package/dist/modules/credential_policy.js +114 -87
  281. package/dist/modules/credential_policy.js.map +1 -1
  282. package/dist/modules/credential_runtime.d.ts +11 -21
  283. package/dist/modules/credential_runtime.d.ts.map +1 -1
  284. package/dist/modules/credential_runtime.js +40 -40
  285. package/dist/modules/credential_runtime.js.map +1 -1
  286. package/dist/modules/credential_session_cache.d.ts +8 -8
  287. package/dist/modules/credential_session_cache.d.ts.map +1 -1
  288. package/dist/modules/credential_session_cache.js +41 -8
  289. package/dist/modules/credential_session_cache.js.map +1 -1
  290. package/dist/modules/credit_runtime.d.ts +51 -316
  291. package/dist/modules/credit_runtime.d.ts.map +1 -1
  292. package/dist/modules/credit_runtime.js +257 -183
  293. package/dist/modules/credit_runtime.js.map +1 -1
  294. package/dist/modules/crypto/browser_provider.js +6 -6
  295. package/dist/modules/crypto/browser_provider.js.map +1 -1
  296. package/dist/modules/crypto/index.d.ts.map +1 -1
  297. package/dist/modules/crypto/index.js +2 -0
  298. package/dist/modules/crypto/index.js.map +1 -1
  299. package/dist/modules/crypto/sync.js +3 -3
  300. package/dist/modules/crypto/sync.js.map +1 -1
  301. package/dist/modules/dexbot_class.d.ts +262 -81
  302. package/dist/modules/dexbot_class.d.ts.map +1 -1
  303. package/dist/modules/dexbot_class.js +156 -123
  304. package/dist/modules/dexbot_class.js.map +1 -1
  305. package/dist/modules/dexbot_cow_runtime.d.ts +12 -9
  306. package/dist/modules/dexbot_cow_runtime.d.ts.map +1 -1
  307. package/dist/modules/dexbot_cow_runtime.js +144 -63
  308. package/dist/modules/dexbot_cow_runtime.js.map +1 -1
  309. package/dist/modules/dexbot_credential_client.d.ts +5 -11
  310. package/dist/modules/dexbot_credential_client.d.ts.map +1 -1
  311. package/dist/modules/dexbot_credential_client.js +32 -30
  312. package/dist/modules/dexbot_credential_client.js.map +1 -1
  313. package/dist/modules/dexbot_fill_runtime.d.ts +5 -20
  314. package/dist/modules/dexbot_fill_runtime.d.ts.map +1 -1
  315. package/dist/modules/dexbot_fill_runtime.js +55 -116
  316. package/dist/modules/dexbot_fill_runtime.js.map +1 -1
  317. package/dist/modules/dexbot_maintenance_runtime.d.ts +12 -12
  318. package/dist/modules/dexbot_maintenance_runtime.d.ts.map +1 -1
  319. package/dist/modules/dexbot_maintenance_runtime.js +55 -45
  320. package/dist/modules/dexbot_maintenance_runtime.js.map +1 -1
  321. package/dist/modules/dexbot_startup_runtime.d.ts +2 -6
  322. package/dist/modules/dexbot_startup_runtime.d.ts.map +1 -1
  323. package/dist/modules/dexbot_startup_runtime.js +122 -91
  324. package/dist/modules/dexbot_startup_runtime.js.map +1 -1
  325. package/dist/modules/dexbot_state_recovery.d.ts +11 -24
  326. package/dist/modules/dexbot_state_recovery.d.ts.map +1 -1
  327. package/dist/modules/dexbot_state_recovery.js +62 -28
  328. package/dist/modules/dexbot_state_recovery.js.map +1 -1
  329. package/dist/modules/fund_registry.d.ts +1 -13
  330. package/dist/modules/fund_registry.d.ts.map +1 -1
  331. package/dist/modules/fund_registry.js +23 -21
  332. package/dist/modules/fund_registry.js.map +1 -1
  333. package/dist/modules/general_settings.d.ts +3 -7
  334. package/dist/modules/general_settings.d.ts.map +1 -1
  335. package/dist/modules/general_settings.js +15 -14
  336. package/dist/modules/general_settings.js.map +1 -1
  337. package/dist/modules/graceful_shutdown.d.ts +1 -6
  338. package/dist/modules/graceful_shutdown.d.ts.map +1 -1
  339. package/dist/modules/graceful_shutdown.js +19 -16
  340. package/dist/modules/graceful_shutdown.js.map +1 -1
  341. package/dist/modules/key_store.d.ts.map +1 -1
  342. package/dist/modules/key_store.js +53 -19
  343. package/dist/modules/key_store.js.map +1 -1
  344. package/dist/modules/launcher/bot_supervisor.d.ts +23 -66
  345. package/dist/modules/launcher/bot_supervisor.d.ts.map +1 -1
  346. package/dist/modules/launcher/bot_supervisor.js +115 -107
  347. package/dist/modules/launcher/bot_supervisor.js.map +1 -1
  348. package/dist/modules/launcher/child_env.d.ts +2 -5
  349. package/dist/modules/launcher/child_env.d.ts.map +1 -1
  350. package/dist/modules/launcher/child_env.js +4 -4
  351. package/dist/modules/launcher/child_env.js.map +1 -1
  352. package/dist/modules/launcher/credential_bootstrap.d.ts +4 -8
  353. package/dist/modules/launcher/credential_bootstrap.d.ts.map +1 -1
  354. package/dist/modules/launcher/credential_bootstrap.js +30 -26
  355. package/dist/modules/launcher/credential_bootstrap.js.map +1 -1
  356. package/dist/modules/launcher/credential_daemon.d.ts +8 -15
  357. package/dist/modules/launcher/credential_daemon.d.ts.map +1 -1
  358. package/dist/modules/launcher/credential_daemon.js +72 -41
  359. package/dist/modules/launcher/credential_daemon.js.map +1 -1
  360. package/dist/modules/launcher/credential_secret.d.ts +1 -4
  361. package/dist/modules/launcher/credential_secret.d.ts.map +1 -1
  362. package/dist/modules/launcher/credential_secret.js +36 -4
  363. package/dist/modules/launcher/credential_secret.js.map +1 -1
  364. package/dist/modules/launcher/foreign_cred_daemon.d.ts +32 -1
  365. package/dist/modules/launcher/foreign_cred_daemon.d.ts.map +1 -1
  366. package/dist/modules/launcher/foreign_cred_daemon.js +25 -28
  367. package/dist/modules/launcher/foreign_cred_daemon.js.map +1 -1
  368. package/dist/modules/launcher/headless_password.d.ts +1 -4
  369. package/dist/modules/launcher/headless_password.d.ts.map +1 -1
  370. package/dist/modules/launcher/headless_password.js +11 -11
  371. package/dist/modules/launcher/headless_password.js.map +1 -1
  372. package/dist/modules/launcher/launch_modes.d.ts +15 -14
  373. package/dist/modules/launcher/launch_modes.d.ts.map +1 -1
  374. package/dist/modules/launcher/launch_modes.js +8 -8
  375. package/dist/modules/launcher/launch_modes.js.map +1 -1
  376. package/dist/modules/launcher/market_adapter_runtime.d.ts +10 -19
  377. package/dist/modules/launcher/market_adapter_runtime.d.ts.map +1 -1
  378. package/dist/modules/launcher/market_adapter_runtime.js +33 -33
  379. package/dist/modules/launcher/market_adapter_runtime.js.map +1 -1
  380. package/dist/modules/launcher/market_adapter_watchdog.d.ts +10 -17
  381. package/dist/modules/launcher/market_adapter_watchdog.d.ts.map +1 -1
  382. package/dist/modules/launcher/market_adapter_watchdog.js +42 -38
  383. package/dist/modules/launcher/market_adapter_watchdog.js.map +1 -1
  384. package/dist/modules/launcher/monolithic_runtime.d.ts +28 -57
  385. package/dist/modules/launcher/monolithic_runtime.d.ts.map +1 -1
  386. package/dist/modules/launcher/monolithic_runtime.js +135 -108
  387. package/dist/modules/launcher/monolithic_runtime.js.map +1 -1
  388. package/dist/modules/launcher/runtime_entry.d.ts +5 -10
  389. package/dist/modules/launcher/runtime_entry.d.ts.map +1 -1
  390. package/dist/modules/launcher/runtime_entry.js +14 -14
  391. package/dist/modules/launcher/runtime_entry.js.map +1 -1
  392. package/dist/modules/launcher/status_reporting.d.ts +17 -37
  393. package/dist/modules/launcher/status_reporting.d.ts.map +1 -1
  394. package/dist/modules/launcher/status_reporting.js +35 -34
  395. package/dist/modules/launcher/status_reporting.js.map +1 -1
  396. package/dist/modules/launcher/supervisor_control.d.ts +1 -4
  397. package/dist/modules/launcher/supervisor_control.d.ts.map +1 -1
  398. package/dist/modules/launcher/supervisor_control.js +9 -4
  399. package/dist/modules/launcher/supervisor_control.js.map +1 -1
  400. package/dist/modules/logger.d.ts +3 -1
  401. package/dist/modules/logger.d.ts.map +1 -1
  402. package/dist/modules/logger.js +38 -28
  403. package/dist/modules/logger.js.map +1 -1
  404. package/dist/modules/market_adapter_whitelist.d.ts +2 -10
  405. package/dist/modules/market_adapter_whitelist.d.ts.map +1 -1
  406. package/dist/modules/market_adapter_whitelist.js +18 -16
  407. package/dist/modules/market_adapter_whitelist.js.map +1 -1
  408. package/dist/modules/node_health_cache.d.ts +2 -12
  409. package/dist/modules/node_health_cache.d.ts.map +1 -1
  410. package/dist/modules/node_health_cache.js +24 -24
  411. package/dist/modules/node_health_cache.js.map +1 -1
  412. package/dist/modules/node_manager.d.ts +1 -1
  413. package/dist/modules/node_manager.d.ts.map +1 -1
  414. package/dist/modules/node_manager.js +44 -38
  415. package/dist/modules/node_manager.js.map +1 -1
  416. package/dist/modules/order/accounting.d.ts +12 -12
  417. package/dist/modules/order/accounting.d.ts.map +1 -1
  418. package/dist/modules/order/accounting.js +111 -76
  419. package/dist/modules/order/accounting.js.map +1 -1
  420. package/dist/modules/order/async_lock.d.ts +1 -2
  421. package/dist/modules/order/async_lock.d.ts.map +1 -1
  422. package/dist/modules/order/async_lock.js +4 -4
  423. package/dist/modules/order/async_lock.js.map +1 -1
  424. package/dist/modules/order/export.d.ts +8 -14
  425. package/dist/modules/order/export.d.ts.map +1 -1
  426. package/dist/modules/order/export.js +77 -42
  427. package/dist/modules/order/export.js.map +1 -1
  428. package/dist/modules/order/format.d.ts +17 -22
  429. package/dist/modules/order/format.d.ts.map +1 -1
  430. package/dist/modules/order/format.js +25 -31
  431. package/dist/modules/order/format.js.map +1 -1
  432. package/dist/modules/order/grid.d.ts +18 -104
  433. package/dist/modules/order/grid.d.ts.map +1 -1
  434. package/dist/modules/order/grid.js +346 -212
  435. package/dist/modules/order/grid.js.map +1 -1
  436. package/dist/modules/order/grid_reconcile.d.ts +8 -8
  437. package/dist/modules/order/grid_reconcile.d.ts.map +1 -1
  438. package/dist/modules/order/grid_reconcile.js +80 -23
  439. package/dist/modules/order/grid_reconcile.js.map +1 -1
  440. package/dist/modules/order/grid_reconcile_internal.d.ts +224 -1
  441. package/dist/modules/order/grid_reconcile_internal.d.ts.map +1 -1
  442. package/dist/modules/order/grid_reconcile_internal.js +159 -73
  443. package/dist/modules/order/grid_reconcile_internal.js.map +1 -1
  444. package/dist/modules/order/index.d.ts +1 -1
  445. package/dist/modules/order/index.d.ts.map +1 -1
  446. package/dist/modules/order/index.js +42 -7
  447. package/dist/modules/order/index.js.map +1 -1
  448. package/dist/modules/order/logger.d.ts +6 -16
  449. package/dist/modules/order/logger.d.ts.map +1 -1
  450. package/dist/modules/order/logger.js +76 -53
  451. package/dist/modules/order/logger.js.map +1 -1
  452. package/dist/modules/order/logger_state.d.ts +4 -4
  453. package/dist/modules/order/logger_state.d.ts.map +1 -1
  454. package/dist/modules/order/logger_state.js +3 -1
  455. package/dist/modules/order/logger_state.js.map +1 -1
  456. package/dist/modules/order/manager.d.ts +160 -37
  457. package/dist/modules/order/manager.d.ts.map +1 -1
  458. package/dist/modules/order/manager.js +166 -128
  459. package/dist/modules/order/manager.js.map +1 -1
  460. package/dist/modules/order/processed_fill_store.d.ts +6 -10
  461. package/dist/modules/order/processed_fill_store.d.ts.map +1 -1
  462. package/dist/modules/order/processed_fill_store.js +10 -9
  463. package/dist/modules/order/processed_fill_store.js.map +1 -1
  464. package/dist/modules/order/strategy.d.ts +3 -3
  465. package/dist/modules/order/strategy.d.ts.map +1 -1
  466. package/dist/modules/order/strategy.js +29 -27
  467. package/dist/modules/order/strategy.js.map +1 -1
  468. package/dist/modules/order/sync_engine.d.ts +9 -19
  469. package/dist/modules/order/sync_engine.d.ts.map +1 -1
  470. package/dist/modules/order/sync_engine.js +176 -126
  471. package/dist/modules/order/sync_engine.js.map +1 -1
  472. package/dist/modules/order/utils/math.d.ts +55 -85
  473. package/dist/modules/order/utils/math.d.ts.map +1 -1
  474. package/dist/modules/order/utils/math.js +155 -88
  475. package/dist/modules/order/utils/math.js.map +1 -1
  476. package/dist/modules/order/utils/order.d.ts +27 -72
  477. package/dist/modules/order/utils/order.d.ts.map +1 -1
  478. package/dist/modules/order/utils/order.js +144 -105
  479. package/dist/modules/order/utils/order.js.map +1 -1
  480. package/dist/modules/order/utils/system.d.ts +103 -45
  481. package/dist/modules/order/utils/system.d.ts.map +1 -1
  482. package/dist/modules/order/utils/system.js +271 -150
  483. package/dist/modules/order/utils/system.js.map +1 -1
  484. package/dist/modules/order/utils/validate.d.ts +35 -47
  485. package/dist/modules/order/utils/validate.d.ts.map +1 -1
  486. package/dist/modules/order/utils/validate.js +233 -116
  487. package/dist/modules/order/utils/validate.js.map +1 -1
  488. package/dist/modules/order/working_grid.d.ts +1 -4
  489. package/dist/modules/order/working_grid.d.ts.map +1 -1
  490. package/dist/modules/order/working_grid.js +9 -7
  491. package/dist/modules/order/working_grid.js.map +1 -1
  492. package/dist/modules/path_api.js +2 -2
  493. package/dist/modules/path_api.js.map +1 -1
  494. package/dist/modules/paths.d.ts +50 -56
  495. package/dist/modules/paths.d.ts.map +1 -1
  496. package/dist/modules/paths.js +66 -57
  497. package/dist/modules/paths.js.map +1 -1
  498. package/dist/modules/process_discovery.d.ts +1 -1
  499. package/dist/modules/process_discovery.d.ts.map +1 -1
  500. package/dist/modules/process_discovery.js +7 -7
  501. package/dist/modules/process_discovery.js.map +1 -1
  502. package/dist/modules/runtime.d.ts +1 -1
  503. package/dist/modules/runtime.d.ts.map +1 -1
  504. package/dist/modules/runtime.js +4 -4
  505. package/dist/modules/runtime.js.map +1 -1
  506. package/dist/modules/runtime_settings.d.ts +1 -0
  507. package/dist/modules/runtime_settings.d.ts.map +1 -1
  508. package/dist/modules/runtime_settings.js +15 -10
  509. package/dist/modules/runtime_settings.js.map +1 -1
  510. package/dist/modules/settings_merge.d.ts +1 -4
  511. package/dist/modules/settings_merge.d.ts.map +1 -1
  512. package/dist/modules/settings_merge.js +2 -1
  513. package/dist/modules/settings_merge.js.map +1 -1
  514. package/dist/modules/storage/browser_adapter.d.ts +7 -3
  515. package/dist/modules/storage/browser_adapter.d.ts.map +1 -1
  516. package/dist/modules/storage/browser_adapter.js +2 -0
  517. package/dist/modules/storage/browser_adapter.js.map +1 -1
  518. package/dist/modules/storage/index.d.ts +2 -2
  519. package/dist/modules/storage/index.d.ts.map +1 -1
  520. package/dist/modules/storage/index.js +2 -5
  521. package/dist/modules/storage/index.js.map +1 -1
  522. package/dist/modules/storage/node_adapter.d.ts +3 -3
  523. package/dist/modules/storage/node_adapter.d.ts.map +1 -1
  524. package/dist/modules/storage/node_adapter.js +9 -7
  525. package/dist/modules/storage/node_adapter.js.map +1 -1
  526. package/dist/modules/storage/types.d.ts +13 -10
  527. package/dist/modules/storage/types.d.ts.map +1 -1
  528. package/dist/modules/types.d.ts +0 -2
  529. package/dist/modules/types.d.ts.map +1 -1
  530. package/dist/modules/utils/base58check.d.ts +1 -9
  531. package/dist/modules/utils/base58check.d.ts.map +1 -1
  532. package/dist/modules/utils/base58check.js +14 -16
  533. package/dist/modules/utils/base58check.js.map +1 -1
  534. package/dist/modules/utils/build_dir.d.ts +2 -5
  535. package/dist/modules/utils/build_dir.d.ts.map +1 -1
  536. package/dist/modules/utils/build_dir.js +6 -3
  537. package/dist/modules/utils/build_dir.js.map +1 -1
  538. package/dist/modules/utils/errors.d.ts +2 -0
  539. package/dist/modules/utils/errors.d.ts.map +1 -0
  540. package/dist/modules/utils/errors.js +12 -0
  541. package/dist/modules/utils/errors.js.map +1 -0
  542. package/dist/modules/utils/fs_utils.d.ts +1 -8
  543. package/dist/modules/utils/fs_utils.d.ts.map +1 -1
  544. package/dist/modules/utils/fs_utils.js +8 -3
  545. package/dist/modules/utils/fs_utils.js.map +1 -1
  546. package/dist/modules/utils/math_utils.d.ts +2 -6
  547. package/dist/modules/utils/math_utils.d.ts.map +1 -1
  548. package/dist/modules/utils/math_utils.js +6 -2
  549. package/dist/modules/utils/math_utils.js.map +1 -1
  550. package/dist/modules/validate_profiles.d.ts +1 -11
  551. package/dist/modules/validate_profiles.d.ts.map +1 -1
  552. package/dist/modules/validate_profiles.js +25 -27
  553. package/dist/modules/validate_profiles.js.map +1 -1
  554. package/dist/pm2.d.ts +7 -6
  555. package/dist/pm2.d.ts.map +1 -1
  556. package/dist/pm2.js +132 -106
  557. package/dist/pm2.js.map +1 -1
  558. package/dist/scripts/analyze-git.d.ts.map +1 -1
  559. package/dist/scripts/analyze-git.js +15 -11
  560. package/dist/scripts/analyze-git.js.map +1 -1
  561. package/dist/scripts/analyze-orders.d.ts +146 -1
  562. package/dist/scripts/analyze-orders.d.ts.map +1 -1
  563. package/dist/scripts/analyze-orders.js +81 -105
  564. package/dist/scripts/analyze-orders.js.map +1 -1
  565. package/dist/scripts/diagnose-pool-history.d.ts.map +1 -1
  566. package/dist/scripts/diagnose-pool-history.js +9 -8
  567. package/dist/scripts/diagnose-pool-history.js.map +1 -1
  568. package/dist/scripts/divergence-calc.d.ts.map +1 -1
  569. package/dist/scripts/divergence-calc.js +11 -8
  570. package/dist/scripts/divergence-calc.js.map +1 -1
  571. package/dist/scripts/fix-err-message.d.ts +3 -0
  572. package/dist/scripts/fix-err-message.d.ts.map +1 -0
  573. package/dist/scripts/fix-err-message.js +198 -0
  574. package/dist/scripts/fix-err-message.js.map +1 -0
  575. package/dist/scripts/generate_lp_chart.d.ts +2 -9
  576. package/dist/scripts/generate_lp_chart.d.ts.map +1 -1
  577. package/dist/scripts/generate_lp_chart.js +14 -10
  578. package/dist/scripts/generate_lp_chart.js.map +1 -1
  579. package/dist/scripts/generate_mainnet_corpus_report.js +4 -4
  580. package/dist/scripts/generate_mainnet_corpus_report.js.map +1 -1
  581. package/dist/scripts/generate_market_adapter_whitelist.d.ts +17 -1
  582. package/dist/scripts/generate_market_adapter_whitelist.d.ts.map +1 -1
  583. package/dist/scripts/generate_market_adapter_whitelist.js +23 -20
  584. package/dist/scripts/generate_market_adapter_whitelist.js.map +1 -1
  585. package/dist/scripts/migrate_bot_keys.d.ts +1 -4
  586. package/dist/scripts/migrate_bot_keys.d.ts.map +1 -1
  587. package/dist/scripts/migrate_bot_keys.js +48 -124
  588. package/dist/scripts/migrate_bot_keys.js.map +1 -1
  589. package/dist/scripts/native_release_gates.d.ts.map +1 -1
  590. package/dist/scripts/native_release_gates.js +18 -14
  591. package/dist/scripts/native_release_gates.js.map +1 -1
  592. package/dist/scripts/print_grid.js +1 -1
  593. package/dist/scripts/print_grid.js.map +1 -1
  594. package/dist/scripts/run-tests.js +1 -0
  595. package/dist/scripts/run-tests.js.map +1 -1
  596. package/dist/scripts/runner.d.ts +1 -11
  597. package/dist/scripts/runner.d.ts.map +1 -1
  598. package/dist/scripts/runner.js +21 -19
  599. package/dist/scripts/runner.js.map +1 -1
  600. package/dist/scripts/test-credit-renewal.d.ts.map +1 -1
  601. package/dist/scripts/test-credit-renewal.js +2 -1
  602. package/dist/scripts/test-credit-renewal.js.map +1 -1
  603. package/dist/scripts/update.d.ts.map +1 -1
  604. package/dist/scripts/update.js +85 -79
  605. package/dist/scripts/update.js.map +1 -1
  606. package/dist/scripts/validate_bots.js +2 -2
  607. package/dist/scripts/validate_bots.js.map +1 -1
  608. package/dist/unlock.d.ts +4 -17
  609. package/dist/unlock.d.ts.map +1 -1
  610. package/dist/unlock.js +141 -108
  611. package/dist/unlock.js.map +1 -1
  612. package/package.json +1 -1
  613. package/dist/analysis/ama_fitting/analyze_ama_price_changes.d.ts +0 -3
  614. package/dist/analysis/ama_fitting/analyze_ama_price_changes.d.ts.map +0 -1
  615. package/dist/analysis/ama_fitting/analyze_ama_price_changes.js +0 -149
  616. package/dist/analysis/ama_fitting/analyze_ama_price_changes.js.map +0 -1
  617. package/dist/analysis/ama_fitting/analyze_lambda_vs_slow.d.ts +0 -3
  618. package/dist/analysis/ama_fitting/analyze_lambda_vs_slow.d.ts.map +0 -1
  619. package/dist/analysis/ama_fitting/analyze_lambda_vs_slow.js +0 -387
  620. package/dist/analysis/ama_fitting/analyze_lambda_vs_slow.js.map +0 -1
  621. package/dist/analysis/ama_fitting/calibrate_convergence_er.d.ts +0 -3
  622. package/dist/analysis/ama_fitting/calibrate_convergence_er.d.ts.map +0 -1
  623. package/dist/analysis/ama_fitting/calibrate_convergence_er.js +0 -200
  624. package/dist/analysis/ama_fitting/calibrate_convergence_er.js.map +0 -1
  625. package/dist/analysis/ama_fitting/fetch_lp_candles.d.ts +0 -3
  626. package/dist/analysis/ama_fitting/fetch_lp_candles.d.ts.map +0 -1
  627. package/dist/analysis/ama_fitting/fetch_lp_candles.js +0 -212
  628. package/dist/analysis/ama_fitting/fetch_lp_candles.js.map +0 -1
  629. package/dist/analysis/ama_fitting/generate_unified_comparison_chart.d.ts +0 -31
  630. package/dist/analysis/ama_fitting/generate_unified_comparison_chart.d.ts.map +0 -1
  631. package/dist/analysis/ama_fitting/generate_unified_comparison_chart.js +0 -249
  632. package/dist/analysis/ama_fitting/generate_unified_comparison_chart.js.map +0 -1
  633. package/dist/analysis/ama_fitting/optimizer_high_resolution.d.ts +0 -2
  634. package/dist/analysis/ama_fitting/optimizer_high_resolution.d.ts.map +0 -1
  635. package/dist/analysis/ama_fitting/optimizer_high_resolution.js +0 -782
  636. package/dist/analysis/ama_fitting/optimizer_high_resolution.js.map +0 -1
  637. package/dist/analysis/analyze_derivatives.d.ts +0 -95
  638. package/dist/analysis/analyze_derivatives.d.ts.map +0 -1
  639. package/dist/analysis/analyze_derivatives.js +0 -295
  640. package/dist/analysis/analyze_derivatives.js.map +0 -1
  641. package/dist/analysis/analyze_dynamic_weight.d.ts +0 -14
  642. package/dist/analysis/analyze_dynamic_weight.d.ts.map +0 -1
  643. package/dist/analysis/analyze_dynamic_weight.js +0 -207
  644. package/dist/analysis/analyze_dynamic_weight.js.map +0 -1
  645. package/dist/analysis/analyze_kalman.d.ts +0 -13
  646. package/dist/analysis/analyze_kalman.d.ts.map +0 -1
  647. package/dist/analysis/analyze_kalman.js +0 -123
  648. package/dist/analysis/analyze_kalman.js.map +0 -1
  649. package/dist/analysis/analyze_regime.d.ts +0 -20
  650. package/dist/analysis/analyze_regime.d.ts.map +0 -1
  651. package/dist/analysis/analyze_regime.js +0 -139
  652. package/dist/analysis/analyze_regime.js.map +0 -1
  653. package/dist/analysis/analyze_regime_windows.d.ts +0 -19
  654. package/dist/analysis/analyze_regime_windows.d.ts.map +0 -1
  655. package/dist/analysis/analyze_regime_windows.js +0 -413
  656. package/dist/analysis/analyze_regime_windows.js.map +0 -1
  657. package/dist/analysis/analyze_risk_profile.d.ts +0 -3
  658. package/dist/analysis/analyze_risk_profile.d.ts.map +0 -1
  659. package/dist/analysis/analyze_risk_profile.js +0 -159
  660. package/dist/analysis/analyze_risk_profile.js.map +0 -1
  661. package/dist/analysis/analyze_trade_heatmap.d.ts +0 -3
  662. package/dist/analysis/analyze_trade_heatmap.d.ts.map +0 -1
  663. package/dist/analysis/analyze_trade_heatmap.js +0 -367
  664. package/dist/analysis/analyze_trade_heatmap.js.map +0 -1
  665. package/dist/analysis/analyze_volatility.d.ts +0 -22
  666. package/dist/analysis/analyze_volatility.d.ts.map +0 -1
  667. package/dist/analysis/analyze_volatility.js +0 -172
  668. package/dist/analysis/analyze_volatility.js.map +0 -1
  669. package/dist/analysis/bot_fitting/backtest_ama_sweep.d.ts +0 -99
  670. package/dist/analysis/bot_fitting/backtest_ama_sweep.d.ts.map +0 -1
  671. package/dist/analysis/bot_fitting/backtest_ama_sweep.js +0 -804
  672. package/dist/analysis/bot_fitting/backtest_ama_sweep.js.map +0 -1
  673. package/dist/analysis/bot_fitting/backtest_bot_fitting.d.ts +0 -2
  674. package/dist/analysis/bot_fitting/backtest_bot_fitting.d.ts.map +0 -1
  675. package/dist/analysis/bot_fitting/backtest_bot_fitting.js +0 -347
  676. package/dist/analysis/bot_fitting/backtest_bot_fitting.js.map +0 -1
  677. package/dist/analysis/bot_fitting/shared_utils.d.ts +0 -15
  678. package/dist/analysis/bot_fitting/shared_utils.d.ts.map +0 -1
  679. package/dist/analysis/bot_fitting/shared_utils.js +0 -48
  680. package/dist/analysis/bot_fitting/shared_utils.js.map +0 -1
  681. package/dist/analysis/bot_key_utils.d.ts +0 -22
  682. package/dist/analysis/bot_key_utils.d.ts.map +0 -1
  683. package/dist/analysis/bot_key_utils.js +0 -162
  684. package/dist/analysis/bot_key_utils.js.map +0 -1
  685. package/dist/analysis/bot_usage/discover_bot_accounts.d.ts +0 -3
  686. package/dist/analysis/bot_usage/discover_bot_accounts.d.ts.map +0 -1
  687. package/dist/analysis/bot_usage/discover_bot_accounts.js +0 -498
  688. package/dist/analysis/bot_usage/discover_bot_accounts.js.map +0 -1
  689. package/dist/analysis/bot_usage/kibana_bot_queries.d.ts +0 -546
  690. package/dist/analysis/bot_usage/kibana_bot_queries.d.ts.map +0 -1
  691. package/dist/analysis/bot_usage/kibana_bot_queries.js +0 -427
  692. package/dist/analysis/bot_usage/kibana_bot_queries.js.map +0 -1
  693. package/dist/analysis/derivative_chart_generator.d.ts +0 -18
  694. package/dist/analysis/derivative_chart_generator.d.ts.map +0 -1
  695. package/dist/analysis/derivative_chart_generator.js +0 -896
  696. package/dist/analysis/derivative_chart_generator.js.map +0 -1
  697. package/dist/analysis/price_sources.d.ts +0 -34
  698. package/dist/analysis/price_sources.d.ts.map +0 -1
  699. package/dist/analysis/price_sources.js +0 -103
  700. package/dist/analysis/price_sources.js.map +0 -1
  701. package/dist/analysis/trade_profitability.d.ts +0 -115
  702. package/dist/analysis/trade_profitability.d.ts.map +0 -1
  703. package/dist/analysis/trade_profitability.js +0 -1247
  704. package/dist/analysis/trade_profitability.js.map +0 -1
  705. package/dist/analysis/tradingview/analyze_tradingview.d.ts +0 -36
  706. package/dist/analysis/tradingview/analyze_tradingview.d.ts.map +0 -1
  707. package/dist/analysis/tradingview/analyze_tradingview.js +0 -172
  708. package/dist/analysis/tradingview/analyze_tradingview.js.map +0 -1
  709. package/dist/analysis/trend_detection/derivative_analyzer.d.ts +0 -250
  710. package/dist/analysis/trend_detection/derivative_analyzer.d.ts.map +0 -1
  711. package/dist/analysis/trend_detection/derivative_analyzer.js +0 -903
  712. package/dist/analysis/trend_detection/derivative_analyzer.js.map +0 -1
  713. package/dist/analysis/trend_detection/dynamic_weight_chart_generator.d.ts +0 -6
  714. package/dist/analysis/trend_detection/dynamic_weight_chart_generator.d.ts.map +0 -1
  715. package/dist/analysis/trend_detection/dynamic_weight_chart_generator.js +0 -1450
  716. package/dist/analysis/trend_detection/dynamic_weight_chart_generator.js.map +0 -1
  717. package/dist/analysis/trend_detection/kalman_chart_generator.d.ts +0 -6
  718. package/dist/analysis/trend_detection/kalman_chart_generator.d.ts.map +0 -1
  719. package/dist/analysis/trend_detection/kalman_chart_generator.js +0 -408
  720. package/dist/analysis/trend_detection/kalman_chart_generator.js.map +0 -1
  721. package/dist/analysis/trend_detection/regime_chart_generator.d.ts +0 -6
  722. package/dist/analysis/trend_detection/regime_chart_generator.d.ts.map +0 -1
  723. package/dist/analysis/trend_detection/regime_chart_generator.js +0 -345
  724. package/dist/analysis/trend_detection/regime_chart_generator.js.map +0 -1
  725. package/dist/analysis/trend_detection/tests/test_kalman_trend.d.ts +0 -2
  726. package/dist/analysis/trend_detection/tests/test_kalman_trend.d.ts.map +0 -1
  727. package/dist/analysis/trend_detection/tests/test_kalman_trend.js +0 -130
  728. package/dist/analysis/trend_detection/tests/test_kalman_trend.js.map +0 -1
  729. package/dist/analysis/trend_detection/tests/test_kalman_velocity_smoothing.d.ts +0 -2
  730. package/dist/analysis/trend_detection/tests/test_kalman_velocity_smoothing.d.ts.map +0 -1
  731. package/dist/analysis/trend_detection/tests/test_kalman_velocity_smoothing.js +0 -38
  732. package/dist/analysis/trend_detection/tests/test_kalman_velocity_smoothing.js.map +0 -1
  733. package/dist/analysis/trend_detection/volatility_chart_generator.d.ts +0 -6
  734. package/dist/analysis/trend_detection/volatility_chart_generator.d.ts.map +0 -1
  735. package/dist/analysis/trend_detection/volatility_chart_generator.js +0 -732
  736. package/dist/analysis/trend_detection/volatility_chart_generator.js.map +0 -1
@@ -10,14 +10,15 @@
10
10
  */
11
11
  const chainOrders = require('./chain_orders');
12
12
  const { BroadcastUncertainError } = require('./dexbot_credential_client');
13
- const { buildCreateOrderArgs, buildCreateOpFingerprint, extractBatchOperationResults, formatUnmatchedChainOrder, convertToSpreadPlaceholder, buildOutsideInPairGroups, } = require('./order/utils/order');
13
+ const { buildCreateOrderArgs, buildCreateOpFingerprint, extractBatchOperationResults, formatUnmatchedChainOrder, convertToSpreadPlaceholder, buildOutsideInPairGroups, isOrderPlaced, } = require('./order/utils/order');
14
14
  const { validateCreateTargetSlots } = require('./order/utils/validate');
15
- const { validateOrderSize } = require('./order/utils/math');
15
+ const { validateOrderSize, findPriceCollision } = require('./order/utils/math');
16
16
  // Lazy accessor so test mocks on the math module export take effect at call time.
17
17
  function getAssetFees(...args) { return require('./order/utils/math').getAssetFees(...args); }
18
- const { COW_ACTIONS, ORDER_STATES, ORDER_TYPES, REBALANCE_STATES, FILL_PROCESSING, } = require('./constants');
18
+ const { COW_ACTIONS, ORDER_STATES, ORDER_TYPES, REBALANCE_STATES, } = require('./constants');
19
19
  const Format = require('./order/format');
20
20
  const { WorkingGrid } = require('./order/working_grid');
21
+ const { getErrorMessage } = require('./utils/errors');
21
22
  /**
22
23
  * Group orders into outside-in pairs for atomic create execution.
23
24
  * @param {Array} orders
@@ -26,8 +27,8 @@ const { WorkingGrid } = require('./order/working_grid');
26
27
  function buildOutsideInPairGroupsForOrders(orders) {
27
28
  return buildOutsideInPairGroups(orders, {
28
29
  isValid: Boolean,
29
- getType: o => o.type,
30
- getPrice: o => o.price,
30
+ getType: (o) => o.type,
31
+ getPrice: (o) => o.price,
31
32
  });
32
33
  }
33
34
  /**
@@ -37,9 +38,9 @@ function buildOutsideInPairGroupsForOrders(orders) {
37
38
  */
38
39
  function buildOutsideInPairGroupsForCreateEntries(createEntries) {
39
40
  return buildOutsideInPairGroups(createEntries, {
40
- isValid: e => Boolean(e?.context?.order),
41
- getType: e => e.context.order.type,
42
- getPrice: e => e.context.order.price,
41
+ isValid: (e) => Boolean(e?.context?.order),
42
+ getType: (e) => e.context.order.type,
43
+ getPrice: (e) => e.context.order.price,
43
44
  });
44
45
  }
45
46
  /**
@@ -100,8 +101,8 @@ async function recoverAfterMissingCreateResults(bot, reason = 'missing create op
100
101
  }
101
102
  const preRecoveryMissingCreateBlockers = Array.isArray(bot.manager._lastUnmatchedChainOrders)
102
103
  ? bot.manager._lastUnmatchedChainOrders
103
- .filter(order => order?.reason === 'missing-create-result')
104
- .map(order => ({ ...order }))
104
+ .filter((order) => order?.reason === 'missing-create-result')
105
+ .map((order) => ({ ...order }))
105
106
  : [];
106
107
  const openOrders = await chainOrders.readOpenOrders(accountRef);
107
108
  const recoveryResult = await bot.manager.syncFromOpenOrders(openOrders, {
@@ -113,15 +114,15 @@ async function recoverAfterMissingCreateResults(bot, reason = 'missing create op
113
114
  }
114
115
  }
115
116
  catch (err) {
116
- bot.manager?.logger?.log?.(`[COW] CRITICAL: Recovery sync failed after ${reason}: ${err.message}`, 'error');
117
+ bot.manager?.logger?.log?.(`[COW] CRITICAL: Recovery sync failed after ${reason}: ${getErrorMessage(err)}`, 'error');
117
118
  if (typeof bot.manager?.requestStructuralGridResync === 'function') {
118
119
  try {
119
120
  await bot.manager.requestStructuralGridResync(`recovery sync failed after ${reason}`, {
120
- error: err.message
121
+ error: getErrorMessage(err)
121
122
  });
122
123
  }
123
124
  catch (scheduleErr) {
124
- bot.manager?.logger?.log?.(`[COW] CRITICAL: Failed to schedule structural resync after recovery failure: ${scheduleErr.message}`, 'error');
125
+ bot.manager?.logger?.log?.(`[COW] CRITICAL: Failed to schedule structural resync after recovery failure: ${getErrorMessage(scheduleErr)}`, 'error');
125
126
  }
126
127
  }
127
128
  }
@@ -136,15 +137,15 @@ function preserveMissingCreateBlockersAfterRecovery(bot, blockers, recoveryResul
136
137
  if (!Array.isArray(blockers) || blockers.length === 0 || !bot.manager)
137
138
  return;
138
139
  const adoptedSlotIds = new Set((Array.isArray(recoveryResult?.updatedOrders) ? recoveryResult.updatedOrders : [])
139
- .filter(order => order?.id && order?.orderId)
140
- .map(order => order.id));
141
- const unresolvedBlockers = blockers.filter(blocker => !blocker.slotId || !adoptedSlotIds.has(blocker.slotId));
140
+ .filter((order) => order?.id && order?.orderId)
141
+ .map((order) => order.id));
142
+ const unresolvedBlockers = blockers.filter((blocker) => !blocker.slotId || !adoptedSlotIds.has(blocker.slotId));
142
143
  if (unresolvedBlockers.length === 0)
143
144
  return;
144
145
  const currentUnmatched = Array.isArray(bot.manager._lastUnmatchedChainOrders)
145
146
  ? bot.manager._lastUnmatchedChainOrders
146
147
  : [];
147
- const currentKeys = new Set(currentUnmatched.map(order => `${order.reason || ''}:${order.slotId || ''}:${order.operationIndex ?? ''}`));
148
+ const currentKeys = new Set(currentUnmatched.map((order) => `${order.reason || ''}:${order.slotId || ''}:${order.operationIndex ?? ''}`));
148
149
  const restored = [...currentUnmatched];
149
150
  for (const blocker of unresolvedBlockers) {
150
151
  const key = `${blocker.reason || ''}:${blocker.slotId || ''}:${blocker.operationIndex ?? ''}`;
@@ -165,7 +166,7 @@ function preserveMissingCreateBlockersAfterRecovery(bot, blockers, recoveryResul
165
166
  */
166
167
  function markMissingCreateResultsAsStructuralBlocker(bot, missingCreateResults) {
167
168
  const blockers = Array.isArray(missingCreateResults)
168
- ? missingCreateResults.map(item => {
169
+ ? missingCreateResults.map((item) => {
169
170
  const order = item.ctx?.order || {};
170
171
  const fingerprint = [
171
172
  `type=${order.type || 'unknown'}`,
@@ -188,7 +189,7 @@ function markMissingCreateResultsAsStructuralBlocker(bot, missingCreateResults)
188
189
  const existing = Array.isArray(bot.manager._lastUnmatchedChainOrders)
189
190
  ? bot.manager._lastUnmatchedChainOrders
190
191
  : [];
191
- const keys = new Set(existing.map(order => `${order.reason || ''}:${order.slotId || ''}:${order.operationIndex ?? ''}`));
192
+ const keys = new Set(existing.map((order) => `${order.reason || ''}:${order.slotId || ''}:${order.operationIndex ?? ''}`));
192
193
  const merged = [...existing];
193
194
  for (const blocker of blockers) {
194
195
  const key = `${blocker.reason || ''}:${blocker.slotId || ''}:${blocker.operationIndex ?? ''}`;
@@ -406,12 +407,12 @@ async function reconcileAfterUncertainBroadcast(bot, err, opContexts, options =
406
407
  * @param {Object} options
407
408
  * @returns {Promise<Object>}
408
409
  */
409
- async function reconcileAfterUncertainBroadcastImpl(bot, err, opContexts, options) {
410
+ async function reconcileAfterUncertainBroadcastImpl(bot, err, opContexts, _options) {
410
411
  const startedAt = Date.now();
411
412
  const pending = (bot.manager && bot.manager._pendingBroadcasts instanceof Map)
412
413
  ? Array.from(bot.manager._pendingBroadcasts.values())
413
414
  : [];
414
- const createContextCount = opContexts.filter(c => c && c.kind === 'create').length;
415
+ const createContextCount = opContexts.filter((c) => c && c.kind === 'create').length;
415
416
  const nonCreateContextCount = opContexts.length - createContextCount;
416
417
  bot.manager.logger.log(`[COW][UNCERTAIN] batchId=${err?.batchId || 'n/a'} ops=${opContexts.length} ` +
417
418
  `creates=${createContextCount} nonCreates=${nonCreateContextCount} ` +
@@ -459,9 +460,9 @@ async function reconcileAfterUncertainBroadcastImpl(bot, err, opContexts, option
459
460
  // 2b. Second pass: search for any unmatched chain orders by fingerprint
460
461
  // across all known pending slots.
461
462
  if (adopted.length < pending.length) {
462
- const adoptedSlotIds = new Set(adopted.map(a => a.entry.slotId));
463
+ const adoptedSlotIds = new Set(adopted.map((a) => a.entry.slotId));
463
464
  for (const o of chainSnapshot) {
464
- if (adopted.some(a => a.match.id === o.id))
465
+ if (adopted.some((a) => a.match.id === o.id))
465
466
  continue;
466
467
  for (const entry of pending) {
467
468
  if (adoptedSlotIds.has(entry.slotId))
@@ -475,10 +476,49 @@ async function reconcileAfterUncertainBroadcastImpl(bot, err, opContexts, option
475
476
  }
476
477
  }
477
478
  // Rebuild discarded list to remove newly adopted entries.
478
- const newlyAdoptedSlotIds = new Set(adopted.map(a => a.entry.slotId));
479
- discarded = pending.filter(e => !newlyAdoptedSlotIds.has(e.slotId));
479
+ const newlyAdoptedSlotIds = new Set(adopted.map((a) => a.entry.slotId));
480
+ discarded = pending.filter((e) => !newlyAdoptedSlotIds.has(e.slotId));
481
+ }
482
+ // 3a. Re-read chain for discarded CREATE entries to catch broadcasts that
483
+ // landed between the initial read and this point (TOCTOU window).
484
+ if (discarded.length > 0 && typeof chainOrders.readOpenOrders === 'function') {
485
+ const createDiscarded = discarded.filter((e) => {
486
+ const ctx = opContexts[e.ctxIndex];
487
+ return ctx && ctx.kind === 'create';
488
+ });
489
+ if (createDiscarded.length > 0) {
490
+ try {
491
+ const freshChain = await chainOrders.readOpenOrders(accountRef);
492
+ const remainingDiscarded = [];
493
+ for (const entry of discarded) {
494
+ const ctx = opContexts[entry.ctxIndex];
495
+ if (ctx && ctx.kind === 'create') {
496
+ const match = findChainOrderForSlot(bot, freshChain, entry.slotId, {
497
+ sell: entry.finalInts?.sell,
498
+ receive: entry.finalInts?.receive,
499
+ orderType: entry.orderType,
500
+ fingerprint: entry.fingerprint,
501
+ });
502
+ if (match) {
503
+ adopted.push({ entry, match });
504
+ bot.manager.logger.log(`[COW][UNCERTAIN] Late-adopted discarded CREATE for slot ${entry.slotId} (${match.id}) via fresh chain read`, 'info');
505
+ }
506
+ else {
507
+ remainingDiscarded.push(entry);
508
+ }
509
+ }
510
+ else {
511
+ remainingDiscarded.push(entry);
512
+ }
513
+ }
514
+ discarded = remainingDiscarded;
515
+ }
516
+ catch {
517
+ bot.manager.logger.log('[COW][UNCERTAIN] Fresh chain read for late adoption failed; proceeding with original discard decisions.', 'warn');
518
+ }
519
+ }
480
520
  }
481
- // 3. Apply decisions
521
+ // 3b. Apply decisions
482
522
  let adoptedCount = 0;
483
523
  let discardedCount = 0;
484
524
  for (const { entry, match } of adopted) {
@@ -574,8 +614,8 @@ async function reconcileAfterUncertainBroadcastImpl(bot, err, opContexts, option
574
614
  // chain snapshot.
575
615
  const alreadyScheduled = bot._structuralGridResyncRunning || bot._structuralGridResyncTimer;
576
616
  if (!alreadyScheduled && chainSnapshot.length > 0) {
577
- const reconciledOrderIds = new Set(adopted.map(a => a.match?.id).filter(Boolean));
578
- const unreconciledCount = chainSnapshot.filter(o => !reconciledOrderIds.has(o.id)).length;
617
+ const reconciledOrderIds = new Set(adopted.map((a) => a.match?.id).filter(Boolean));
618
+ const unreconciledCount = chainSnapshot.filter((o) => !reconciledOrderIds.has(o.id)).length;
579
619
  if (unreconciledCount > 0) {
580
620
  bot.manager.logger.log(`[COW][UNCERTAIN] ${unreconciledCount} chain order(s) remain unreconciled after uncertain broadcast recovery. ` +
581
621
  `These may be legitimate pre-existing orders or leftovers from a prior cycle. Requesting structural resync.`, 'warn');
@@ -625,11 +665,11 @@ async function autoCancelOneUnmatchedOrphan(bot) {
625
665
  if (unmatched.length === 0) {
626
666
  return { cancelled: false, reason: 'no-unmatched' };
627
667
  }
628
- const fingerprinted = unmatched.find(u => u && u.fingerprint);
668
+ const fingerprinted = unmatched.find((u) => u && u.fingerprint);
629
669
  if (fingerprinted) {
630
670
  return { cancelled: false, reason: 'fingerprinted-handle-via-recovery' };
631
671
  }
632
- const target = unmatched.find(u => u && u.reason === 'price-drift-orphan');
672
+ const target = unmatched.find((u) => u && u.reason === 'price-drift-orphan');
633
673
  if (!target) {
634
674
  return { cancelled: false, reason: 'no-price-drift-orphan', message: 'no price-drift orphan to cancel; other unmatched orders are adoptable' };
635
675
  }
@@ -661,10 +701,10 @@ async function autoCancelOneUnmatchedOrphan(bot) {
661
701
  * @param {Array} opContexts
662
702
  * @returns {boolean}
663
703
  */
664
- function shouldExecuteCreatePairMode(bot, opContexts) {
704
+ function shouldExecuteCreatePairMode(_bot, opContexts) {
665
705
  if (!Array.isArray(opContexts) || opContexts.length < 2)
666
706
  return false;
667
- if (!opContexts.every(ctx => ctx?.kind === 'create' && ctx?.order))
707
+ if (!opContexts.every((ctx) => ctx?.kind === 'create' && ctx?.order))
668
708
  return false;
669
709
  let hasBuy = false;
670
710
  let hasSell = false;
@@ -741,8 +781,8 @@ async function executeOperationsWithStrategy(bot, operations, opContexts) {
741
781
  const mergedContexts = [];
742
782
  for (let idx = 0; idx < groups.length; idx++) {
743
783
  const group = groups[idx];
744
- const groupOps = group.map(e => e.operation);
745
- const groupContexts = group.map(e => e.context);
784
+ const groupOps = group.map((e) => e.operation);
785
+ const groupContexts = group.map((e) => e.context);
746
786
  bot.manager.logger.log(`[COW] Broadcasting create pair group ${idx + 1}/${groups.length} (${groupOps.length} op${groupOps.length > 1 ? 's' : ''}, outside->center)`, 'info');
747
787
  let groupResult;
748
788
  try {
@@ -877,7 +917,7 @@ function validateOperationFunds(bot, operations, assetA, assetB) {
877
917
  * @param {number|null} [fallbackSize=null]
878
918
  * @returns {number|null}
879
919
  */
880
- function resolveIdealSizeForValidation(bot, orderLike, fallbackSize = null) {
920
+ function resolveIdealSizeForValidation(_bot, orderLike, fallbackSize = null) {
881
921
  const candidates = [
882
922
  orderLike?.idealSize,
883
923
  orderLike?.order?.idealSize,
@@ -911,7 +951,7 @@ function validateOrderSizeForExecution(bot, size, type, orderLike = null, fallba
911
951
  * @param {Object|Array} plan
912
952
  * @returns {Array}
913
953
  */
914
- function buildActionsFromPlan(bot, plan) {
954
+ function buildActionsFromPlan(_bot, plan) {
915
955
  const normalizedPlan = Array.isArray(plan)
916
956
  ? { ordersToPlace: plan }
917
957
  : (plan || {});
@@ -1089,9 +1129,9 @@ async function updateOrdersOnChainBatchCOW(bot, cowResult) {
1089
1129
  bot._currentCycleId = (Number.isFinite(Number(bot._currentCycleId)) ? Number(bot._currentCycleId) : 0) + 1;
1090
1130
  const { workingGrid, workingIndexes, workingBoundary, actions } = cowResult;
1091
1131
  if (bot.config.dryRun) {
1092
- const cancelCount = actions.filter(a => a.type === COW_ACTIONS.CANCEL).length;
1093
- const createCount = actions.filter(a => a.type === COW_ACTIONS.CREATE).length;
1094
- const updateCount = actions.filter(a => a.type === COW_ACTIONS.UPDATE).length;
1132
+ const cancelCount = actions.filter((a) => a.type === COW_ACTIONS.CANCEL).length;
1133
+ const createCount = actions.filter((a) => a.type === COW_ACTIONS.CREATE).length;
1134
+ const updateCount = actions.filter((a) => a.type === COW_ACTIONS.UPDATE).length;
1095
1135
  if (cancelCount > 0)
1096
1136
  bot.manager.logger.log(`Dry run: would cancel ${cancelCount} orders`, 'info');
1097
1137
  if (createCount > 0)
@@ -1100,11 +1140,28 @@ async function updateOrdersOnChainBatchCOW(bot, cowResult) {
1100
1140
  bot.manager.logger.log(`Dry run: would update ${updateCount} orders`, 'info');
1101
1141
  return { executed: true, hadRotation: false };
1102
1142
  }
1103
- const createSlotValidation = validateCreateTargetSlots(actions, bot.manager?.orders);
1143
+ const chainOrderCandidates = Array.isArray(bot.manager?._lastUnmatchedChainOrders)
1144
+ ? bot.manager._lastUnmatchedChainOrders
1145
+ : [];
1146
+ const createSlotValidation = validateCreateTargetSlots(actions, bot.manager?.orders, bot.manager?.assets, chainOrderCandidates);
1104
1147
  if (!createSlotValidation.isValid) {
1105
1148
  for (const violation of createSlotValidation.violations) {
1106
- bot.manager.logger.log(`[COW] Rejecting CREATE for occupied slot ${violation.targetId}: ` +
1107
- `existing orderId=${violation.currentOrderId}, type=${violation.currentType}, state=${violation.currentState}`, 'error');
1149
+ let reason;
1150
+ switch (violation.reason) {
1151
+ case 'price_collision':
1152
+ reason = `existing placed order ${violation.currentOrderId} at same price`;
1153
+ break;
1154
+ case 'same_batch_price_collision':
1155
+ reason = `another CREATE in the same batch at same price`;
1156
+ break;
1157
+ case 'chain_orphan_collision':
1158
+ reason = `unmatched on-chain order ${violation.currentOrderId} at same price`;
1159
+ break;
1160
+ default:
1161
+ reason = `existing orderId=${violation.currentOrderId}`;
1162
+ }
1163
+ bot.manager.logger.log(`[COW] Rejecting CREATE for slot ${violation.targetId}: ${reason} ` +
1164
+ `(type=${violation.currentType}, state=${violation.currentState})`, 'error');
1108
1165
  }
1109
1166
  return {
1110
1167
  executed: false,
@@ -1114,10 +1171,10 @@ async function updateOrdersOnChainBatchCOW(bot, cowResult) {
1114
1171
  hadRotation: false
1115
1172
  };
1116
1173
  }
1117
- const hasCreateActions = actions.some(action => action.type === COW_ACTIONS.CREATE);
1174
+ const hasCreateActions = actions.some((action) => action.type === COW_ACTIONS.CREATE);
1118
1175
  if (hasCreateActions && bot.manager?._recoveryExhaustedAt) {
1119
1176
  const exhaustedAge = Date.now() - bot.manager._recoveryExhaustedAt;
1120
- bot.manager.logger.log?.(`[RECOVERY-EXHAUSTED] Blocking ${actions.filter(a => a.type === COW_ACTIONS.CREATE).length} CREATE(s) ` +
1177
+ bot.manager.logger.log?.(`[RECOVERY-EXHAUSTED] Blocking ${actions.filter((a) => a.type === COW_ACTIONS.CREATE).length} CREATE(s) ` +
1121
1178
  `(exhausted ${(exhaustedAge / 1000).toFixed(0)}s ago). ` +
1122
1179
  `Waiting for next fill or sync cycle to reset recovery state.`, 'warn');
1123
1180
  return {
@@ -1140,11 +1197,11 @@ async function updateOrdersOnChainBatchCOW(bot, cowResult) {
1140
1197
  if (typeof bot.manager.requestStructuralGridResync === 'function') {
1141
1198
  if (bot.manager._recoveryState)
1142
1199
  bot.manager._recoveryState = { ...bot.manager._recoveryState, structuralResyncRequested: true };
1143
- await bot.manager.requestStructuralGridResync('pending broadcasts before COW create', { pendingBroadcasts: pendingBroadcasts.map(p => p.slotId) });
1200
+ await bot.manager.requestStructuralGridResync('pending broadcasts before COW create', { pendingBroadcasts: pendingBroadcasts.map((p) => p.slotId) });
1144
1201
  }
1145
1202
  try {
1146
1203
  await reconcileAfterUncertainBroadcast(bot, new BroadcastUncertainError('rejected CREATE batch had pending broadcasts', {
1147
- operations: pendingBroadcasts.map(p => p.order),
1204
+ operations: pendingBroadcasts.map((p) => p.order),
1148
1205
  accountName: bot.account,
1149
1206
  batchId: bot._currentBatchId || null,
1150
1207
  payload: null,
@@ -1163,7 +1220,7 @@ async function updateOrdersOnChainBatchCOW(bot, cowResult) {
1163
1220
  }
1164
1221
  const unmatchedSample = unmatchedChainOrders
1165
1222
  .slice(0, 3)
1166
- .map(o => formatUnmatchedChainOrderForLog(o))
1223
+ .map((o) => formatUnmatchedChainOrderForLog(o))
1167
1224
  .join(' | ');
1168
1225
  bot.manager.logger.log(`[COW] ${unmatchedChainOrders.length} unmatched chain order(s) blocking CREATES ` +
1169
1226
  (unmatchedSample ? `(${unmatchedSample})` : '') +
@@ -1251,12 +1308,12 @@ async function updateOrdersOnChainBatchCOW(bot, cowResult) {
1251
1308
  opContexts.push({ kind: 'cancel', order });
1252
1309
  }
1253
1310
  catch (err) {
1254
- const orderNotFound = /\bnot found\b/i.test(err.message) || /\bdoes not exist\b/i.test(err.message);
1311
+ const orderNotFound = /\bnot found\b/i.test(getErrorMessage(err)) || /\bdoes not exist\b/i.test(getErrorMessage(err));
1255
1312
  if (orderNotFound) {
1256
1313
  bot.manager.logger.log(`[COW] Cancel skipped for ${action.id} (${action.orderId}): order already removed from chain`, 'debug');
1257
1314
  }
1258
1315
  else {
1259
- bot.manager.logger.log(`Failed to prepare cancel op for ${action.id}: ${err.message}`, 'error');
1316
+ bot.manager.logger.log(`Failed to prepare cancel op for ${action.id}: ${getErrorMessage(err)}`, 'error');
1260
1317
  }
1261
1318
  }
1262
1319
  }
@@ -1282,6 +1339,16 @@ async function updateOrdersOnChainBatchCOW(bot, cowResult) {
1282
1339
  `drifted from planned=${plannedPrice} to live=${livePrice} ` +
1283
1340
  `(diff=${priceDrift}); rebuilding CREATE op with live price.`, 'debug');
1284
1341
  }
1342
+ const createPrice = effectiveOrder.price;
1343
+ const createSize = effectiveOrder.size;
1344
+ const batchCollision = findPriceCollision(opContexts, order.id, createPrice, createSize, order.type, bot.manager.assets, (ctx) => ctx.kind === 'create');
1345
+ if (batchCollision) {
1346
+ bot.manager.logger.log(`[COW] Skipping CREATE for ${order.id} at ${Format.formatPrice6(createPrice)}: ` +
1347
+ `same-batch CREATE ${batchCollision.id} already at ` +
1348
+ `price ${Format.formatPrice6(batchCollision.order.price)}. ` +
1349
+ `The next reconcile cycle will resolve the mismatch.`, 'warn');
1350
+ continue;
1351
+ }
1285
1352
  const args = buildCreateOrderArgs(effectiveOrder, assetA, assetB);
1286
1353
  const buildResult = await chainOrders.buildCreateOrderOp(bot.account, args.amountToSell, args.sellAssetId, args.minToReceive, args.receiveAssetId, null);
1287
1354
  if (!buildResult) {
@@ -1298,7 +1365,7 @@ async function updateOrdersOnChainBatchCOW(bot, cowResult) {
1298
1365
  });
1299
1366
  }
1300
1367
  catch (err) {
1301
- bot.manager.logger.log(`Failed to prepare create op for ${action.id}: ${err.message}`, 'error');
1368
+ bot.manager.logger.log(`Failed to prepare create op for ${action.id}: ${getErrorMessage(err)}`, 'error');
1302
1369
  }
1303
1370
  }
1304
1371
  else if (action.type === COW_ACTIONS.UPDATE) {
@@ -1370,7 +1437,7 @@ async function updateOrdersOnChainBatchCOW(bot, cowResult) {
1370
1437
  opContexts.push({ kind: 'size-update', updateInfo: { partialOrder, newSize }, finalInts: op.finalInts });
1371
1438
  }
1372
1439
  catch (err) {
1373
- const orderNotFound = /\bnot found\b/i.test(err.message) || /\bdoes not exist\b/i.test(err.message);
1440
+ const orderNotFound = /\bnot found\b/i.test(getErrorMessage(err)) || /\bdoes not exist\b/i.test(getErrorMessage(err));
1374
1441
  if (orderNotFound) {
1375
1442
  try {
1376
1443
  const fbOrder = action.order || bot.manager.orders.get(action.id);
@@ -1393,6 +1460,20 @@ async function updateOrdersOnChainBatchCOW(bot, cowResult) {
1393
1460
  bot.manager.logger.log(`[COW] CREATE fallback for ${action.id} rejected by size validation: ${sizeCheck.reason}`, 'warn');
1394
1461
  }
1395
1462
  else if (fbType && fbSize > 0 && fbPrice > 0) {
1463
+ const fbCollision = findPriceCollision(bot.manager.orders.values(), targetSlotId, fbPrice, fbSize, fbType, bot.manager.assets, isOrderPlaced);
1464
+ if (fbCollision) {
1465
+ bot.manager.logger.log(`[COW] Skipping CREATE fallback for ${targetSlotId} at ${Format.formatPrice6(fbPrice)}: ` +
1466
+ `existing placed order ${fbCollision.id} (${fbCollision.orderId}) ` +
1467
+ `already at price ${Format.formatPrice6(fbCollision.price)}.`, 'warn');
1468
+ continue;
1469
+ }
1470
+ const fbBatchCollision = findPriceCollision(opContexts, targetSlotId, fbPrice, fbSize, fbType, bot.manager.assets, (ctx) => ctx.kind === 'create');
1471
+ if (fbBatchCollision) {
1472
+ bot.manager.logger.log(`[COW] Skipping CREATE fallback for ${targetSlotId} at ${Format.formatPrice6(fbPrice)}: ` +
1473
+ `same-batch CREATE ${fbBatchCollision.id} already at ` +
1474
+ `price ${Format.formatPrice6(fbBatchCollision.order.price)}.`, 'warn');
1475
+ continue;
1476
+ }
1396
1477
  const fbArgs = buildCreateOrderArgs({ type: fbType, size: fbSize, price: fbPrice }, assetA, assetB);
1397
1478
  const fbResult = await chainOrders.buildCreateOrderOp(bot.account, fbArgs.amountToSell, fbArgs.sellAssetId, fbArgs.minToReceive, fbArgs.receiveAssetId, null);
1398
1479
  if (fbResult) {
@@ -1416,10 +1497,10 @@ async function updateOrdersOnChainBatchCOW(bot, cowResult) {
1416
1497
  }
1417
1498
  }
1418
1499
  catch (fbErr) {
1419
- bot.manager.logger.log(`[COW] CREATE fallback also failed for ${action.id}: ${fbErr.message}`, 'warn');
1500
+ bot.manager.logger.log(`[COW] CREATE fallback also failed for ${action.id}: ${getErrorMessage(fbErr)}`, 'warn');
1420
1501
  }
1421
1502
  }
1422
- bot.manager.logger.log(`Failed to prepare update op for ${action.id}: ${err.message}`, 'error');
1503
+ bot.manager.logger.log(`Failed to prepare update op for ${action.id}: ${getErrorMessage(err)}`, 'error');
1423
1504
  }
1424
1505
  }
1425
1506
  }
@@ -1451,7 +1532,7 @@ async function updateOrdersOnChainBatchCOW(bot, cowResult) {
1451
1532
  const missingCreateResults = findMissingCreateResultContexts(preCommitResults, executedContexts);
1452
1533
  if (missingCreateResults.length > 0) {
1453
1534
  const missingSlots = missingCreateResults
1454
- .map(item => item.ctx?.order?.id || item.ctx?.id || `op-${item.index}`)
1535
+ .map((item) => item.ctx?.order?.id || item.ctx?.id || `op-${item.index}`)
1455
1536
  .join(', ');
1456
1537
  bot.manager.logger.log(`[COW] Refusing to commit working grid: ${missingCreateResults.length} CREATE op(s) ` +
1457
1538
  `returned no chainOrderId (${missingSlots}). Discarding working grid and syncing from chain.`, 'error');
@@ -1462,7 +1543,7 @@ async function updateOrdersOnChainBatchCOW(bot, cowResult) {
1462
1543
  return {
1463
1544
  executed: false,
1464
1545
  hadRotation: false,
1465
- missingCreateResults: missingCreateResults.map(item => ({
1546
+ missingCreateResults: missingCreateResults.map((item) => ({
1466
1547
  index: item.index,
1467
1548
  slotId: item.ctx?.order?.id || item.ctx?.id || null
1468
1549
  }))
@@ -1498,26 +1579,26 @@ async function updateOrdersOnChainBatchCOW(bot, cowResult) {
1498
1579
  bot._metrics.batchesExecuted++;
1499
1580
  bot.manager._clearWorkingGridRef();
1500
1581
  clearPendingBroadcasts(bot.manager?._pendingBroadcasts);
1501
- return { executed: true, hadRotation: true, ...batchResult };
1582
+ return { ...batchResult, executed: true, hadRotation: true };
1502
1583
  }
1503
1584
  else {
1504
1585
  bot.manager.logger.log('[COW] Blockchain failed - working grid discarded, master unchanged', 'warn');
1505
1586
  bot.manager._clearWorkingGridRef();
1506
1587
  clearPendingBroadcasts(bot.manager?._pendingBroadcasts);
1507
- return { executed: false, hadRotation: false, ...result };
1588
+ return { ...result, executed: false, hadRotation: false };
1508
1589
  }
1509
1590
  }
1510
1591
  finally {
1511
1592
  bot.manager._throwOnIllegalState = false;
1512
1593
  await bot.manager.resumeFundRecalc();
1513
1594
  bot.manager.stopBroadcasting();
1514
- const createCount = actions.filter(a => a.type === COW_ACTIONS.CREATE).length;
1515
- const cancelCount = actions.filter(a => a.type === COW_ACTIONS.CANCEL).length;
1595
+ const createCount = actions.filter((a) => a.type === COW_ACTIONS.CREATE).length;
1596
+ const cancelCount = actions.filter((a) => a.type === COW_ACTIONS.CANCEL).length;
1516
1597
  bot.manager.logger.logFundsStatus(bot.manager, `AFTER COW batch (created=${createCount}, cancelled=${cancelCount})`);
1517
1598
  }
1518
1599
  }
1519
1600
  catch (err) {
1520
- bot.manager.logger.log(`[COW] Batch transaction failed: ${err.message}`, 'error');
1601
+ bot.manager.logger.log(`[COW] Batch transaction failed: ${getErrorMessage(err)}`, 'error');
1521
1602
  if (err?.partialOnChainState) {
1522
1603
  bot.manager.logger.log(`[COW] Non-atomic grouped execution detected (${err.groupsBroadcast}/${err.groupsTotal} groups broadcast). Local rollback cannot undo confirmed on-chain operations; next sync/reconcile will converge state.`, 'warn');
1523
1604
  }
@@ -1537,11 +1618,11 @@ async function updateOrdersOnChainBatchCOW(bot, cowResult) {
1537
1618
  ];
1538
1619
  for (const pattern of patterns) {
1539
1620
  let m;
1540
- while ((m = pattern.exec(err.message)) !== null) {
1621
+ while ((m = pattern.exec(getErrorMessage(err))) !== null) {
1541
1622
  staleOrderIds.add(m[1]);
1542
1623
  }
1543
1624
  }
1544
- if (/Cannot deduct all or more from order than order contains/.test(err.message)) {
1625
+ if (/Cannot deduct all or more from order than order contains/.test(getErrorMessage(err))) {
1545
1626
  return await bot._recoverBatchSizeDrift(err, opContexts);
1546
1627
  }
1547
1628
  if (staleOrderIds.size > 0) {
@@ -1724,7 +1805,7 @@ async function processBatchResults(bot, result, opContexts) {
1724
1805
  }
1725
1806
  }
1726
1807
  if (updatesToApply.length > 0) {
1727
- await bot.manager.applyGridUpdateBatch(updatesToApply.map(u => u.order), 'batch-results-process', { skipAccounting: true });
1808
+ await bot.manager.applyGridUpdateBatch(updatesToApply.map((u) => u.order), 'batch-results-process', { skipAccounting: true });
1728
1809
  }
1729
1810
  return {
1730
1811
  executed: true,