dexbot 1.3.2 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (738) 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 +74 -35
  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 -492
  271. package/dist/modules/constants.d.ts.map +1 -1
  272. package/dist/modules/constants.js +79 -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 +124 -73
  302. package/dist/modules/dexbot_class.d.ts.map +1 -1
  303. package/dist/modules/dexbot_class.js +198 -3577
  304. package/dist/modules/dexbot_class.js.map +1 -1
  305. package/dist/modules/dexbot_cow_runtime.d.ts +322 -0
  306. package/dist/modules/dexbot_cow_runtime.d.ts.map +1 -0
  307. package/dist/modules/dexbot_cow_runtime.js +1836 -0
  308. package/dist/modules/dexbot_cow_runtime.js.map +1 -0
  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 +47 -15
  314. package/dist/modules/dexbot_fill_runtime.d.ts.map +1 -1
  315. package/dist/modules/dexbot_fill_runtime.js +565 -22
  316. package/dist/modules/dexbot_fill_runtime.js.map +1 -1
  317. package/dist/modules/dexbot_maintenance_runtime.d.ts +79 -10
  318. package/dist/modules/dexbot_maintenance_runtime.d.ts.map +1 -1
  319. package/dist/modules/dexbot_maintenance_runtime.js +294 -55
  320. package/dist/modules/dexbot_maintenance_runtime.js.map +1 -1
  321. package/dist/modules/dexbot_startup_runtime.d.ts +26 -0
  322. package/dist/modules/dexbot_startup_runtime.d.ts.map +1 -0
  323. package/dist/modules/dexbot_startup_runtime.js +575 -0
  324. package/dist/modules/dexbot_startup_runtime.js.map +1 -0
  325. package/dist/modules/dexbot_state_recovery.d.ts +115 -0
  326. package/dist/modules/dexbot_state_recovery.d.ts.map +1 -0
  327. package/dist/modules/dexbot_state_recovery.js +431 -0
  328. package/dist/modules/dexbot_state_recovery.js.map +1 -0
  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 -22
  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 -15
  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 -20
  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 -34
  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 -39
  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 +246 -188
  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 +24 -24
  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 +145 -72
  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 +74 -44
  481. package/dist/modules/order/utils/system.d.ts.map +1 -1
  482. package/dist/modules/order/utils/system.js +188 -149
  483. package/dist/modules/order/utils/system.js.map +1 -1
  484. package/dist/modules/order/utils/validate.d.ts +21 -43
  485. package/dist/modules/order/utils/validate.d.ts.map +1 -1
  486. package/dist/modules/order/utils/validate.js +140 -110
  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 +51 -55
  495. package/dist/modules/paths.d.ts.map +1 -1
  496. package/dist/modules/paths.js +72 -52
  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/scripts/verify-browser-bundle.js +25 -1
  609. package/dist/scripts/verify-browser-bundle.js.map +1 -1
  610. package/dist/unlock.d.ts +4 -17
  611. package/dist/unlock.d.ts.map +1 -1
  612. package/dist/unlock.js +141 -108
  613. package/dist/unlock.js.map +1 -1
  614. package/package.json +7 -2
  615. package/dist/analysis/ama_fitting/analyze_ama_price_changes.d.ts +0 -3
  616. package/dist/analysis/ama_fitting/analyze_ama_price_changes.d.ts.map +0 -1
  617. package/dist/analysis/ama_fitting/analyze_ama_price_changes.js +0 -149
  618. package/dist/analysis/ama_fitting/analyze_ama_price_changes.js.map +0 -1
  619. package/dist/analysis/ama_fitting/analyze_lambda_vs_slow.d.ts +0 -3
  620. package/dist/analysis/ama_fitting/analyze_lambda_vs_slow.d.ts.map +0 -1
  621. package/dist/analysis/ama_fitting/analyze_lambda_vs_slow.js +0 -387
  622. package/dist/analysis/ama_fitting/analyze_lambda_vs_slow.js.map +0 -1
  623. package/dist/analysis/ama_fitting/calibrate_convergence_er.d.ts +0 -3
  624. package/dist/analysis/ama_fitting/calibrate_convergence_er.d.ts.map +0 -1
  625. package/dist/analysis/ama_fitting/calibrate_convergence_er.js +0 -200
  626. package/dist/analysis/ama_fitting/calibrate_convergence_er.js.map +0 -1
  627. package/dist/analysis/ama_fitting/fetch_lp_candles.d.ts +0 -3
  628. package/dist/analysis/ama_fitting/fetch_lp_candles.d.ts.map +0 -1
  629. package/dist/analysis/ama_fitting/fetch_lp_candles.js +0 -212
  630. package/dist/analysis/ama_fitting/fetch_lp_candles.js.map +0 -1
  631. package/dist/analysis/ama_fitting/generate_unified_comparison_chart.d.ts +0 -31
  632. package/dist/analysis/ama_fitting/generate_unified_comparison_chart.d.ts.map +0 -1
  633. package/dist/analysis/ama_fitting/generate_unified_comparison_chart.js +0 -249
  634. package/dist/analysis/ama_fitting/generate_unified_comparison_chart.js.map +0 -1
  635. package/dist/analysis/ama_fitting/optimizer_high_resolution.d.ts +0 -2
  636. package/dist/analysis/ama_fitting/optimizer_high_resolution.d.ts.map +0 -1
  637. package/dist/analysis/ama_fitting/optimizer_high_resolution.js +0 -782
  638. package/dist/analysis/ama_fitting/optimizer_high_resolution.js.map +0 -1
  639. package/dist/analysis/analyze_derivatives.d.ts +0 -95
  640. package/dist/analysis/analyze_derivatives.d.ts.map +0 -1
  641. package/dist/analysis/analyze_derivatives.js +0 -295
  642. package/dist/analysis/analyze_derivatives.js.map +0 -1
  643. package/dist/analysis/analyze_dynamic_weight.d.ts +0 -14
  644. package/dist/analysis/analyze_dynamic_weight.d.ts.map +0 -1
  645. package/dist/analysis/analyze_dynamic_weight.js +0 -207
  646. package/dist/analysis/analyze_dynamic_weight.js.map +0 -1
  647. package/dist/analysis/analyze_kalman.d.ts +0 -13
  648. package/dist/analysis/analyze_kalman.d.ts.map +0 -1
  649. package/dist/analysis/analyze_kalman.js +0 -123
  650. package/dist/analysis/analyze_kalman.js.map +0 -1
  651. package/dist/analysis/analyze_regime.d.ts +0 -20
  652. package/dist/analysis/analyze_regime.d.ts.map +0 -1
  653. package/dist/analysis/analyze_regime.js +0 -139
  654. package/dist/analysis/analyze_regime.js.map +0 -1
  655. package/dist/analysis/analyze_regime_windows.d.ts +0 -19
  656. package/dist/analysis/analyze_regime_windows.d.ts.map +0 -1
  657. package/dist/analysis/analyze_regime_windows.js +0 -413
  658. package/dist/analysis/analyze_regime_windows.js.map +0 -1
  659. package/dist/analysis/analyze_risk_profile.d.ts +0 -3
  660. package/dist/analysis/analyze_risk_profile.d.ts.map +0 -1
  661. package/dist/analysis/analyze_risk_profile.js +0 -159
  662. package/dist/analysis/analyze_risk_profile.js.map +0 -1
  663. package/dist/analysis/analyze_trade_heatmap.d.ts +0 -3
  664. package/dist/analysis/analyze_trade_heatmap.d.ts.map +0 -1
  665. package/dist/analysis/analyze_trade_heatmap.js +0 -367
  666. package/dist/analysis/analyze_trade_heatmap.js.map +0 -1
  667. package/dist/analysis/analyze_volatility.d.ts +0 -22
  668. package/dist/analysis/analyze_volatility.d.ts.map +0 -1
  669. package/dist/analysis/analyze_volatility.js +0 -172
  670. package/dist/analysis/analyze_volatility.js.map +0 -1
  671. package/dist/analysis/bot_fitting/backtest_ama_sweep.d.ts +0 -99
  672. package/dist/analysis/bot_fitting/backtest_ama_sweep.d.ts.map +0 -1
  673. package/dist/analysis/bot_fitting/backtest_ama_sweep.js +0 -804
  674. package/dist/analysis/bot_fitting/backtest_ama_sweep.js.map +0 -1
  675. package/dist/analysis/bot_fitting/backtest_bot_fitting.d.ts +0 -2
  676. package/dist/analysis/bot_fitting/backtest_bot_fitting.d.ts.map +0 -1
  677. package/dist/analysis/bot_fitting/backtest_bot_fitting.js +0 -347
  678. package/dist/analysis/bot_fitting/backtest_bot_fitting.js.map +0 -1
  679. package/dist/analysis/bot_fitting/shared_utils.d.ts +0 -15
  680. package/dist/analysis/bot_fitting/shared_utils.d.ts.map +0 -1
  681. package/dist/analysis/bot_fitting/shared_utils.js +0 -48
  682. package/dist/analysis/bot_fitting/shared_utils.js.map +0 -1
  683. package/dist/analysis/bot_key_utils.d.ts +0 -22
  684. package/dist/analysis/bot_key_utils.d.ts.map +0 -1
  685. package/dist/analysis/bot_key_utils.js +0 -162
  686. package/dist/analysis/bot_key_utils.js.map +0 -1
  687. package/dist/analysis/bot_usage/discover_bot_accounts.d.ts +0 -3
  688. package/dist/analysis/bot_usage/discover_bot_accounts.d.ts.map +0 -1
  689. package/dist/analysis/bot_usage/discover_bot_accounts.js +0 -498
  690. package/dist/analysis/bot_usage/discover_bot_accounts.js.map +0 -1
  691. package/dist/analysis/bot_usage/kibana_bot_queries.d.ts +0 -546
  692. package/dist/analysis/bot_usage/kibana_bot_queries.d.ts.map +0 -1
  693. package/dist/analysis/bot_usage/kibana_bot_queries.js +0 -427
  694. package/dist/analysis/bot_usage/kibana_bot_queries.js.map +0 -1
  695. package/dist/analysis/derivative_chart_generator.d.ts +0 -18
  696. package/dist/analysis/derivative_chart_generator.d.ts.map +0 -1
  697. package/dist/analysis/derivative_chart_generator.js +0 -896
  698. package/dist/analysis/derivative_chart_generator.js.map +0 -1
  699. package/dist/analysis/price_sources.d.ts +0 -34
  700. package/dist/analysis/price_sources.d.ts.map +0 -1
  701. package/dist/analysis/price_sources.js +0 -103
  702. package/dist/analysis/price_sources.js.map +0 -1
  703. package/dist/analysis/trade_profitability.d.ts +0 -115
  704. package/dist/analysis/trade_profitability.d.ts.map +0 -1
  705. package/dist/analysis/trade_profitability.js +0 -1247
  706. package/dist/analysis/trade_profitability.js.map +0 -1
  707. package/dist/analysis/tradingview/analyze_tradingview.d.ts +0 -36
  708. package/dist/analysis/tradingview/analyze_tradingview.d.ts.map +0 -1
  709. package/dist/analysis/tradingview/analyze_tradingview.js +0 -172
  710. package/dist/analysis/tradingview/analyze_tradingview.js.map +0 -1
  711. package/dist/analysis/trend_detection/derivative_analyzer.d.ts +0 -250
  712. package/dist/analysis/trend_detection/derivative_analyzer.d.ts.map +0 -1
  713. package/dist/analysis/trend_detection/derivative_analyzer.js +0 -903
  714. package/dist/analysis/trend_detection/derivative_analyzer.js.map +0 -1
  715. package/dist/analysis/trend_detection/dynamic_weight_chart_generator.d.ts +0 -6
  716. package/dist/analysis/trend_detection/dynamic_weight_chart_generator.d.ts.map +0 -1
  717. package/dist/analysis/trend_detection/dynamic_weight_chart_generator.js +0 -1450
  718. package/dist/analysis/trend_detection/dynamic_weight_chart_generator.js.map +0 -1
  719. package/dist/analysis/trend_detection/kalman_chart_generator.d.ts +0 -6
  720. package/dist/analysis/trend_detection/kalman_chart_generator.d.ts.map +0 -1
  721. package/dist/analysis/trend_detection/kalman_chart_generator.js +0 -408
  722. package/dist/analysis/trend_detection/kalman_chart_generator.js.map +0 -1
  723. package/dist/analysis/trend_detection/regime_chart_generator.d.ts +0 -6
  724. package/dist/analysis/trend_detection/regime_chart_generator.d.ts.map +0 -1
  725. package/dist/analysis/trend_detection/regime_chart_generator.js +0 -345
  726. package/dist/analysis/trend_detection/regime_chart_generator.js.map +0 -1
  727. package/dist/analysis/trend_detection/tests/test_kalman_trend.d.ts +0 -2
  728. package/dist/analysis/trend_detection/tests/test_kalman_trend.d.ts.map +0 -1
  729. package/dist/analysis/trend_detection/tests/test_kalman_trend.js +0 -130
  730. package/dist/analysis/trend_detection/tests/test_kalman_trend.js.map +0 -1
  731. package/dist/analysis/trend_detection/tests/test_kalman_velocity_smoothing.d.ts +0 -2
  732. package/dist/analysis/trend_detection/tests/test_kalman_velocity_smoothing.d.ts.map +0 -1
  733. package/dist/analysis/trend_detection/tests/test_kalman_velocity_smoothing.js +0 -38
  734. package/dist/analysis/trend_detection/tests/test_kalman_velocity_smoothing.js.map +0 -1
  735. package/dist/analysis/trend_detection/volatility_chart_generator.d.ts +0 -6
  736. package/dist/analysis/trend_detection/volatility_chart_generator.d.ts.map +0 -1
  737. package/dist/analysis/trend_detection/volatility_chart_generator.js +0 -732
  738. package/dist/analysis/trend_detection/volatility_chart_generator.js.map +0 -1
@@ -89,33 +89,71 @@
89
89
  *
90
90
  * ===============================================================================
91
91
  */
92
- const { ORDER_TYPES, ORDER_STATES, TIMING, BTS_PRECISION } = require('../constants');
93
- const Format = require('./format');
92
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
93
+ if (k2 === undefined) k2 = k;
94
+ var desc = Object.getOwnPropertyDescriptor(m, k);
95
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
96
+ desc = { enumerable: true, get: function() { return m[k]; } };
97
+ }
98
+ Object.defineProperty(o, k2, desc);
99
+ }) : (function(o, m, k, k2) {
100
+ if (k2 === undefined) k2 = k;
101
+ o[k2] = m[k];
102
+ }));
103
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
104
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
105
+ }) : function(o, v) {
106
+ o["default"] = v;
107
+ });
108
+ var __importStar = (this && this.__importStar) || (function () {
109
+ var ownKeys = function(o) {
110
+ ownKeys = Object.getOwnPropertyNames || function (o) {
111
+ var ar = [];
112
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
113
+ return ar;
114
+ };
115
+ return ownKeys(o);
116
+ };
117
+ return function (mod) {
118
+ if (mod && mod.__esModule) return mod;
119
+ var result = {};
120
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
121
+ __setModuleDefault(result, mod);
122
+ return result;
123
+ };
124
+ })();
125
+ Object.defineProperty(exports, "__esModule", { value: true });
126
+ const constants_1 = require("../constants");
127
+ const Format = __importStar(require("./format"));
128
+ const system_1 = require("./utils/system");
129
+ const chainOrders = __importStar(require("../chain_orders"));
130
+ const client = __importStar(require("../bitshares_client"));
131
+ const { BitShares } = client;
132
+ const constants_2 = require("../constants");
94
133
  const { toFiniteNumber } = Format;
95
- const { blockchainToFloat, floatToBlockchainInt, hasValidAccountTotals, calculatePriceTolerance, getAssetFees } = require('./utils/math');
96
- const { parseChainOrder, findMatchingGridOrderByOpenOrder, applyChainSizeToGridOrder, convertToSpreadPlaceholder, virtualizeOrder, buildFillKey, isOrderPlaced, isOrderOnChain, hasOnChainId, isOrderVirtual, isPhantomOrder } = require('./utils/order');
97
- const { resolveProcessedFillPersistenceMode } = require('./processed_fill_store');
98
- const { lookupAsset } = require('./utils/system');
99
- const chainOrders = require('../chain_orders');
134
+ const math_1 = require("./utils/math");
135
+ const order_1 = require("./utils/order");
136
+ const processed_fill_store_1 = require("./processed_fill_store");
137
+ const errors_1 = require("../utils/errors");
100
138
  function describeNearestAdoptionCandidates(mgr, chainOrder, precision, calcTolerance, matchedGridOrderIds = null) {
101
139
  if (!mgr?.orders || !chainOrder || typeof precision !== 'number')
102
140
  return 'candidate diagnostics unavailable';
103
141
  const chainPrice = toFiniteNumber(chainOrder.price);
104
142
  const chainSize = toFiniteNumber(chainOrder.size);
105
- const chainInt = floatToBlockchainInt(chainSize, precision);
143
+ const chainInt = (0, math_1.floatToBlockchainInt)(chainSize, precision);
106
144
  const candidates = [];
107
145
  for (const slot of mgr.orders.values()) {
108
- if (!slot || ![ORDER_STATES.ACTIVE, ORDER_STATES.PARTIAL, ORDER_STATES.VIRTUAL].includes(slot.state))
146
+ if (!slot || ![constants_1.ORDER_STATES.ACTIVE, constants_1.ORDER_STATES.PARTIAL, constants_1.ORDER_STATES.VIRTUAL].includes(slot.state))
109
147
  continue;
110
148
  const typeMatch = slot.type === chainOrder.type;
111
- const spreadMatch = slot.type === ORDER_TYPES.SPREAD;
149
+ const spreadMatch = slot.type === constants_1.ORDER_TYPES.SPREAD;
112
150
  if (!typeMatch && !spreadMatch)
113
151
  continue;
114
152
  const price = toFiniteNumber(slot.price);
115
153
  const priceDiff = Math.abs(price - chainPrice);
116
154
  const effectiveSize = slot.size > 0 ? toFiniteNumber(slot.size) : chainSize;
117
155
  const tolerance = calcTolerance(price, effectiveSize, chainOrder.type) || 0;
118
- const gridInt = floatToBlockchainInt(toFiniteNumber(slot.size), precision);
156
+ const gridInt = (0, math_1.floatToBlockchainInt)(toFiniteNumber(slot.size), precision);
119
157
  const sizeDiffInt = chainInt - gridInt;
120
158
  const hasOrderId = Boolean(slot.orderId);
121
159
  const alreadyMatched = Boolean(matchedGridOrderIds?.has?.(slot.id));
@@ -196,17 +234,17 @@ function computeOutOfToleranceDriftTag(mgr, chainOrder, calcToleranceFn) {
196
234
  return null;
197
235
  const chainSize = toFiniteNumber(chainOrder.size);
198
236
  const orderType = chainOrder.type;
199
- if (orderType !== ORDER_TYPES.BUY && orderType !== ORDER_TYPES.SELL)
237
+ if (orderType !== constants_1.ORDER_TYPES.BUY && orderType !== constants_1.ORDER_TYPES.SELL)
200
238
  return null;
201
239
  let bestDrift = null;
202
240
  for (const slot of mgr.orders.values()) {
203
241
  if (!slot)
204
242
  continue;
205
- if (slot.type !== orderType && slot.type !== ORDER_TYPES.SPREAD)
243
+ if (slot.type !== orderType && slot.type !== constants_1.ORDER_TYPES.SPREAD)
206
244
  continue;
207
245
  if (slot.orderId)
208
246
  continue;
209
- if (![ORDER_STATES.ACTIVE, ORDER_STATES.PARTIAL, ORDER_STATES.VIRTUAL].includes(slot.state))
247
+ if (![constants_1.ORDER_STATES.ACTIVE, constants_1.ORDER_STATES.PARTIAL, constants_1.ORDER_STATES.VIRTUAL].includes(slot.state))
210
248
  continue;
211
249
  const slotPrice = toFiniteNumber(slot.price);
212
250
  if (!Number.isFinite(slotPrice))
@@ -325,9 +363,8 @@ class SyncEngine {
325
363
  return this.syncFromOpenOrders(chainOrders, options);
326
364
  });
327
365
  }
328
- mgr.logger?.log?.(`[SYNC] Starting synchronization from ${chainOrders?.length || 0} blockchain orders...`, 'info');
329
- const timeoutMs = TIMING.SYNC_LOCK_TIMEOUT_MS;
330
- const forceReleaseMs = TIMING.SYNC_LOCK_FORCE_RELEASE_AGE_MS;
366
+ const timeoutMs = constants_1.TIMING.SYNC_LOCK_TIMEOUT_MS;
367
+ const forceReleaseMs = constants_1.TIMING.SYNC_LOCK_FORCE_RELEASE_AGE_MS;
331
368
  let timedOut = false;
332
369
  let timeoutHandle;
333
370
  let forceReleaseHandle;
@@ -373,7 +410,7 @@ class SyncEngine {
373
410
  ? innerResult.unmatchedChainOrders.length
374
411
  : 0;
375
412
  mgr._lastUnmatchedChainOrders = unmatchedCount > 0
376
- ? innerResult.unmatchedChainOrders.map(order => ({ ...order }))
413
+ ? innerResult.unmatchedChainOrders.map((order) => ({ ...order }))
377
414
  : [];
378
415
  mgr._lastUnmatchedChainOrdersAt = unmatchedCount > 0 ? Date.now() : 0;
379
416
  mgr.logger?.log?.(`[SYNC] Synchronization complete: ${innerResult.filledOrders.length} filled, ` +
@@ -395,7 +432,7 @@ class SyncEngine {
395
432
  catch (err) {
396
433
  clearTimeout(timeoutHandle);
397
434
  clearTimeout(forceReleaseHandle);
398
- if (err.message?.includes('timed out')) {
435
+ if ((0, errors_1.getErrorMessage)(err)?.includes('timed out')) {
399
436
  // Gap 3: Schedule a force-release of the sync lock if the inner
400
437
  // operation doesn't complete within the grace window. This prevents
401
438
  // a single stuck sync from permanently blocking all subsequent syncs.
@@ -412,7 +449,7 @@ class SyncEngine {
412
449
  }
413
450
  mgr.logger?.log?.('[SYNC] Lock may be held by orphan after timeout; will release when inner work completes', 'warn');
414
451
  }
415
- mgr.logger?.log?.(`Sync lock error: ${err.message}`, 'error');
452
+ mgr.logger?.log?.(`Sync lock error: ${(0, errors_1.getErrorMessage)(err)}`, 'error');
416
453
  throw err;
417
454
  }
418
455
  }
@@ -476,7 +513,7 @@ class SyncEngine {
476
513
  const rawChainOrders = new Map();
477
514
  for (const order of chainOrders) {
478
515
  try {
479
- const parsed = parseChainOrder(order, mgr.assets);
516
+ const parsed = (0, order_1.parseChainOrder)(order, mgr.assets);
480
517
  if (!parsed)
481
518
  continue;
482
519
  // Store parsed (converted) data in parsedChainOrders
@@ -485,10 +522,11 @@ class SyncEngine {
485
522
  rawChainOrders.set(order.id, order);
486
523
  }
487
524
  catch (e) {
488
- mgr.logger?.log?.(`Warning: Error parsing chain order ${order.id}: ${e.message}`, 'warn');
525
+ mgr.logger?.log?.(`Warning: Error parsing chain order ${order.id}: ${(0, errors_1.getErrorMessage)(e)}`, 'warn');
489
526
  continue;
490
527
  }
491
528
  }
529
+ mgr.logger?.log?.(`[SYNC] Starting synchronization from ${parsedChainOrders.size} blockchain orders...`, 'info');
492
530
  // Collect all order IDs that might be modified during reconciliation
493
531
  // Lock them to prevent concurrent modifications from createOrder/cancelOrder
494
532
  const orderIdsToLock = new Set();
@@ -499,7 +537,7 @@ class SyncEngine {
499
537
  orderIdsToLock.add(gridOrder.orderId);
500
538
  }
501
539
  // Also lock ACTIVE/PARTIAL orders that might transition to/from SPREAD
502
- if (gridOrder.state === ORDER_STATES.ACTIVE || gridOrder.state === ORDER_STATES.PARTIAL) {
540
+ if (gridOrder.state === constants_1.ORDER_STATES.ACTIVE || gridOrder.state === constants_1.ORDER_STATES.PARTIAL) {
503
541
  orderIdsToLock.add(gridOrder.id);
504
542
  }
505
543
  }
@@ -527,9 +565,9 @@ class SyncEngine {
527
565
  // Lock orders before reconciliation
528
566
  mgr.lockOrders(orderIdsToLockFinal);
529
567
  // Keep lock leases alive during long reconciliation runs.
530
- const refreshEveryMs = Math.max(TIMING.LOCK_REFRESH_MIN_MS, Math.floor(TIMING.LOCK_TIMEOUT_MS / 3));
568
+ const refreshEveryMs = Math.max(constants_1.TIMING.LOCK_REFRESH_MIN_MS, Math.floor(constants_1.TIMING.LOCK_TIMEOUT_MS / 3));
531
569
  const refreshLockLeases = () => {
532
- const expiresAt = Date.now() + TIMING.LOCK_TIMEOUT_MS;
570
+ const expiresAt = Date.now() + constants_1.TIMING.LOCK_TIMEOUT_MS;
533
571
  for (const id of orderIdsToLockFinal) {
534
572
  mgr.shadowOrderIds.set(id, expiresAt);
535
573
  }
@@ -630,7 +668,7 @@ class SyncEngine {
630
668
  continue;
631
669
  }
632
670
  else {
633
- const priceTolerance = calculatePriceTolerance(gridOrder.price, gridOrder.size, gridOrder.type, mgr.assets);
671
+ const priceTolerance = (0, math_1.calculatePriceTolerance)(gridOrder.price, gridOrder.size, gridOrder.type, mgr.assets);
634
672
  const normalizedTolerance = (priceTolerance === null) ? 0 : priceTolerance;
635
673
  // Null tolerance is strict mode (0).
636
674
  if (Math.abs(chainOrder.price - gridOrder.price) > normalizedTolerance) {
@@ -645,14 +683,14 @@ class SyncEngine {
645
683
  }
646
684
  }
647
685
  // Chain side determines which precision applies to for_sale.
648
- const precision = (chainOrder.type === ORDER_TYPES.SELL) ? assetAPrecision : assetBPrecision;
649
- const currentSizeInt = floatToBlockchainInt(gridOrder.size, precision);
650
- const chainSizeInt = floatToBlockchainInt(chainOrder.size, precision);
686
+ const precision = (chainOrder.type === constants_1.ORDER_TYPES.SELL) ? assetAPrecision : assetBPrecision;
687
+ const currentSizeInt = (0, math_1.floatToBlockchainInt)(gridOrder.size, precision);
688
+ const chainSizeInt = (0, math_1.floatToBlockchainInt)(chainOrder.size, precision);
651
689
  if (currentSizeInt !== chainSizeInt) {
652
- const newSize = blockchainToFloat(chainSizeInt, precision, true);
653
- const newInt = floatToBlockchainInt(newSize, precision);
690
+ const newSize = (0, math_1.blockchainToFloat)(chainSizeInt, precision);
691
+ const newInt = (0, math_1.floatToBlockchainInt)(newSize, precision);
654
692
  if (newInt > 0) {
655
- const nextOrder = await applyChainSizeToGridOrder(mgr, updatedOrder, newSize);
693
+ const nextOrder = await (0, order_1.applyChainSizeToGridOrder)(mgr, updatedOrder, newSize);
656
694
  if (nextOrder) {
657
695
  // Merge updated state if size actually changed
658
696
  updatedOrder = { ...updatedOrder, ...nextOrder };
@@ -662,19 +700,19 @@ class SyncEngine {
662
700
  // downtime fills detected during open-orders sync must also update
663
701
  // state so that checkWindowDust can identify dust orders.
664
702
  updatedOrder.state = (chainSizeInt < currentSizeInt)
665
- ? ORDER_STATES.PARTIAL
703
+ ? constants_1.ORDER_STATES.PARTIAL
666
704
  : gridOrder.state;
667
705
  await mgr._applyOrderUpdate(updatedOrder, 'sync-pass1-partial', { skipAccounting: skipAccounting, fee: 0 });
668
706
  }
669
707
  else {
670
- const spreadOrder = convertToSpreadPlaceholder(gridOrder);
708
+ const spreadOrder = (0, order_1.convertToSpreadPlaceholder)(gridOrder);
671
709
  await mgr._applyOrderUpdate(spreadOrder, 'sync-pass1-filled', { skipAccounting: skipAccounting, fee: 0 });
672
710
  filledOrders.push(spreadOrder);
673
711
  updatedOrders.push(spreadOrder);
674
712
  }
675
713
  }
676
714
  }
677
- else if (gridOrder.state === ORDER_STATES.ACTIVE || gridOrder.state === ORDER_STATES.PARTIAL) {
715
+ else if (gridOrder.state === constants_1.ORDER_STATES.ACTIVE || gridOrder.state === constants_1.ORDER_STATES.PARTIAL) {
678
716
  // Don't virtualize orders placed by a successful COW commit.
679
717
  // The chain snapshot may lag behind confirmed transactions,
680
718
  // causing correctly-placed orders to appear missing. _committedOrderIds
@@ -710,14 +748,14 @@ class SyncEngine {
710
748
  // this open-orders sync.
711
749
  if (mgr._committedOrderIds?.has(gridOrder.orderId)) {
712
750
  const commitAge = Date.now() - (mgr._committedOrderIdsBuiltAt || 0);
713
- const isGhost = gridOrder.size <= 0 && gridOrder.state === ORDER_STATES.PARTIAL;
714
- if (!isGhost && commitAge < TIMING.SYNC_LOCK_TIMEOUT_MS) {
751
+ const isGhost = gridOrder.size <= 0 && gridOrder.state === constants_1.ORDER_STATES.PARTIAL;
752
+ if (!isGhost && commitAge < constants_1.TIMING.SYNC_LOCK_TIMEOUT_MS) {
715
753
  continue;
716
754
  }
717
755
  }
718
756
  const currentGridOrder = mgr.orders.get(gridOrder.id) || gridOrder;
719
757
  const hadOrderId = Boolean(currentGridOrder?.orderId);
720
- const spreadOrder = convertToSpreadPlaceholder(currentGridOrder);
758
+ const spreadOrder = (0, order_1.convertToSpreadPlaceholder)(currentGridOrder);
721
759
  await mgr._applyOrderUpdate(spreadOrder, 'sync-cleanup-phantom', { skipAccounting: skipAccounting, fee: 0 });
722
760
  // Only genuine disappearances (had orderId) count as fills.
723
761
  if (hadOrderId) {
@@ -736,11 +774,15 @@ class SyncEngine {
736
774
  // this orphan is a stale duplicate — skip adoption so the reconcile
737
775
  // layer cancels it. Size is irrelevant; any duplicate violates the
738
776
  // invariant. Check BEFORE any adoption attempt, including the first
739
- // match (line 684), because a VIRTUAL slot at a nearby price can
777
+ // match (line 684), because a VIRTUAL slot at a nearby price can
740
778
  // otherwise silently adopt the orphan before the duplicate guard runs.
741
- const duplicatePriceOrder = Array.from(mgr.orders.values()).find((o) => o.type === chainOrder.type &&
742
- isOrderPlaced(o) &&
743
- Math.abs(o.price - chainOrder.price) <= calculatePriceTolerance(Math.min(o.price, chainOrder.price), Math.max(o.size, chainOrder.size), o.type, mgr.assets));
779
+ const duplicatePriceOrder = Array.from(mgr.orders.values()).find((o) => {
780
+ const co = chainOrder;
781
+ return o.type === co.type &&
782
+ (0, order_1.isOrderPlaced)(o) &&
783
+ co != null &&
784
+ Math.abs(o.price - co.price) <= math_1.calculatePriceTolerance(Math.min(o.price, co.price), Math.max(o.size, co.size), o.type, mgr.assets);
785
+ });
744
786
  if (duplicatePriceOrder) {
745
787
  unmatchedChainOrders.push({
746
788
  chainOrderId,
@@ -768,10 +810,10 @@ class SyncEngine {
768
810
  });
769
811
  continue;
770
812
  }
771
- const match = findMatchingGridOrderByOpenOrder({ orderId: chainOrderId, type: chainOrder.type, price: chainOrder.price, size: chainOrder.size }, {
813
+ const match = (0, order_1.findMatchingGridOrderByOpenOrder)({ orderId: chainOrderId, type: chainOrder.type, price: chainOrder.price, size: chainOrder.size }, {
772
814
  orders: mgr.orders,
773
815
  assets: mgr.assets,
774
- calcToleranceFn: (p, s, t) => calculatePriceTolerance(p, s, t, mgr.assets),
816
+ calcToleranceFn: (p, s, t) => (0, math_1.calculatePriceTolerance)(p, s, t, mgr.assets),
775
817
  logger: mgr.logger,
776
818
  allowSmallerChainSize: true,
777
819
  requireAvailableSlot: true,
@@ -779,10 +821,10 @@ class SyncEngine {
779
821
  });
780
822
  if (match && !matchedGridOrderIds.has(match.id)) {
781
823
  let bestMatch = { ...match };
782
- const wasVirtual = match.state === ORDER_STATES.VIRTUAL;
783
- const wasPartial = match.state === ORDER_STATES.PARTIAL;
824
+ const wasVirtual = match.state === constants_1.ORDER_STATES.VIRTUAL;
825
+ const wasPartial = match.state === constants_1.ORDER_STATES.PARTIAL;
784
826
  bestMatch.orderId = chainOrderId;
785
- bestMatch.state = wasVirtual ? ORDER_STATES.ACTIVE : match.state;
827
+ bestMatch.state = wasVirtual ? constants_1.ORDER_STATES.ACTIVE : match.state;
786
828
  const bestMatchRaw = rawChainOrders.get(chainOrderId);
787
829
  bestMatch.rawOnChain = bestMatchRaw
788
830
  ? { ...bestMatchRaw, fetchedAt: Date.now() }
@@ -797,43 +839,43 @@ class SyncEngine {
797
839
  // deletes btsFeeState when nextDeferred is 0, so setting it to 0 here
798
840
  // would be an unnecessary set-then-delete cycle.
799
841
  if (bestMatch.rawOnChain) {
800
- const rawDeferredFee = toFiniteNumber(bestMatch.rawOnChain.deferred_fee, null);
842
+ const rawDeferredFee = toFiniteNumber(bestMatch.rawOnChain.deferred_fee, undefined);
801
843
  if (rawDeferredFee !== null && rawDeferredFee > 0) {
802
- bestMatch.btsFeeState = { deferredFee: blockchainToFloat(rawDeferredFee, BTS_PRECISION) };
844
+ bestMatch.btsFeeState = { deferredFee: (0, math_1.blockchainToFloat)(rawDeferredFee, constants_1.BTS_PRECISION) };
803
845
  }
804
846
  else if (wasVirtual && rawDeferredFee !== null && rawDeferredFee <= 0 && bestMatch.rawOnChain.for_sale > 0) {
805
847
  // Core zeros deferred_fee on every fill (fill_limit_order db_market.cpp:1895).
806
848
  // If deferred_fee is 0 while for_sale > 0, the order was partially filled.
807
- bestMatch.state = ORDER_STATES.PARTIAL;
849
+ bestMatch.state = constants_1.ORDER_STATES.PARTIAL;
808
850
  }
809
851
  }
810
- const precision = (bestMatch.type === ORDER_TYPES.SELL) ? assetAPrecision : assetBPrecision;
811
- const targetInt = floatToBlockchainInt(match.size, precision);
812
- const chainInt = floatToBlockchainInt(chainOrder.size, precision);
852
+ const precision = (bestMatch.type === constants_1.ORDER_TYPES.SELL) ? assetAPrecision : assetBPrecision;
853
+ const targetInt = (0, math_1.floatToBlockchainInt)(match.size, precision);
854
+ const chainInt = (0, math_1.floatToBlockchainInt)(chainOrder.size, precision);
813
855
  if (targetInt !== chainInt) {
814
- const updated = await applyChainSizeToGridOrder(mgr, bestMatch, chainOrder.size);
856
+ const updated = await (0, order_1.applyChainSizeToGridOrder)(mgr, bestMatch, chainOrder.size);
815
857
  if (updated)
816
858
  bestMatch = { ...bestMatch, ...updated };
817
859
  if (chainInt > 0) {
818
860
  if (wasVirtual) {
819
861
  // Only override to ACTIVE if partial-fill check above didn't already
820
862
  // set PARTIAL via deferred_fee === 0. Skip override to preserve signal.
821
- if (bestMatch.state !== ORDER_STATES.PARTIAL) {
822
- bestMatch.state = ORDER_STATES.ACTIVE;
863
+ if (bestMatch.state !== constants_1.ORDER_STATES.PARTIAL) {
864
+ bestMatch.state = constants_1.ORDER_STATES.ACTIVE;
823
865
  }
824
866
  }
825
867
  else if (chainInt < targetInt) {
826
- bestMatch.state = ORDER_STATES.PARTIAL;
868
+ bestMatch.state = constants_1.ORDER_STATES.PARTIAL;
827
869
  }
828
870
  else if (wasPartial) {
829
- bestMatch.state = ORDER_STATES.PARTIAL;
871
+ bestMatch.state = constants_1.ORDER_STATES.PARTIAL;
830
872
  }
831
873
  else {
832
- bestMatch.state = ORDER_STATES.ACTIVE;
874
+ bestMatch.state = constants_1.ORDER_STATES.ACTIVE;
833
875
  }
834
876
  }
835
877
  else {
836
- const spreadOrder = convertToSpreadPlaceholder(bestMatch);
878
+ const spreadOrder = (0, order_1.convertToSpreadPlaceholder)(bestMatch);
837
879
  filledOrders.push({ ...bestMatch });
838
880
  await mgr._applyOrderUpdate(spreadOrder, 'sync-pass2-filled', { skipAccounting: skipAccounting, fee: 0 });
839
881
  updatedOrders.push(spreadOrder);
@@ -842,7 +884,7 @@ class SyncEngine {
842
884
  }
843
885
  }
844
886
  else if (wasPartial) {
845
- bestMatch.state = ORDER_STATES.PARTIAL;
887
+ bestMatch.state = constants_1.ORDER_STATES.PARTIAL;
846
888
  }
847
889
  await mgr._applyOrderUpdate(bestMatch, 'sync-pass2-orphan', { skipAccounting: skipAccounting, fee: 0 });
848
890
  updatedOrders.push(bestMatch);
@@ -879,23 +921,23 @@ class SyncEngine {
879
921
  // orphan becomes visible to checkWindowDust for dust auto-cancel.
880
922
  // The duplicate-price-level guard already ran above so it is not
881
923
  // repeated here.
882
- const adoptedSlot = findMatchingGridOrderByOpenOrder({ orderId: chainOrderId, type: chainOrder.type, price: chainOrder.price, size: chainOrder.size }, {
924
+ const adoptedSlot = (0, order_1.findMatchingGridOrderByOpenOrder)({ orderId: chainOrderId, type: chainOrder.type, price: chainOrder.price, size: chainOrder.size }, {
883
925
  orders: mgr.orders,
884
926
  assets: mgr.assets,
885
- calcToleranceFn: (p, s, t) => calculatePriceTolerance(p, s, t, mgr.assets),
927
+ calcToleranceFn: (p, s, t) => (0, math_1.calculatePriceTolerance)(p, s, t, mgr.assets),
886
928
  allowSpreadType: true,
887
929
  skipSizeMatch: true,
888
930
  requireAvailableSlot: true,
889
931
  excludeGridOrderIds: matchedGridOrderIds
890
932
  });
891
933
  if (adoptedSlot && !matchedGridOrderIds.has(adoptedSlot.id) && !adoptedSlot.orderId) {
892
- const precision = (chainOrder.type === ORDER_TYPES.SELL) ? assetAPrecision : assetBPrecision;
893
- const chainInt = floatToBlockchainInt(chainOrder.size, precision);
934
+ const precision = (chainOrder.type === constants_1.ORDER_TYPES.SELL) ? assetAPrecision : assetBPrecision;
935
+ const chainInt = (0, math_1.floatToBlockchainInt)(chainOrder.size, precision);
894
936
  const adoptedRaw = rawChainOrders.get(chainOrderId);
895
- const adoptedState = chainInt > 0 ? ORDER_STATES.PARTIAL : ORDER_STATES.VIRTUAL;
937
+ const adoptedState = chainInt > 0 ? constants_1.ORDER_STATES.PARTIAL : constants_1.ORDER_STATES.VIRTUAL;
896
938
  const adoptedBtsFeeState = (adoptedRaw) ? (() => {
897
- const rawFee = toFiniteNumber(adoptedRaw.deferred_fee, null);
898
- return rawFee !== null && rawFee > 0 ? { deferredFee: blockchainToFloat(rawFee, BTS_PRECISION) } : undefined;
939
+ const rawFee = toFiniteNumber(adoptedRaw.deferred_fee, undefined);
940
+ return rawFee !== null && rawFee > 0 ? { deferredFee: (0, math_1.blockchainToFloat)(rawFee, constants_1.BTS_PRECISION) } : undefined;
899
941
  })() : undefined;
900
942
  const adoptedOrder = {
901
943
  ...adoptedSlot,
@@ -917,9 +959,9 @@ class SyncEngine {
917
959
  `size=${chainOrder.size}) adopted into slot ${adoptedSlot.id} (was ${adoptedSlot.type})`, 'warn');
918
960
  }
919
961
  else {
920
- const precision = (chainOrder.type === ORDER_TYPES.SELL) ? assetAPrecision : assetBPrecision;
921
- const candidateDiagnostics = describeNearestAdoptionCandidates(mgr, chainOrder, precision, (p, s, t) => calculatePriceTolerance(p, s, t, mgr.assets), matchedGridOrderIds);
922
- const driftTag = computeOutOfToleranceDriftTag(mgr, chainOrder, (p, s, t) => calculatePriceTolerance(p, s, t, mgr.assets));
962
+ const precision = (chainOrder.type === constants_1.ORDER_TYPES.SELL) ? assetAPrecision : assetBPrecision;
963
+ const candidateDiagnostics = describeNearestAdoptionCandidates(mgr, chainOrder, precision, (p, s, t) => (0, math_1.calculatePriceTolerance)(p, s, t, mgr.assets), matchedGridOrderIds);
964
+ const driftTag = computeOutOfToleranceDriftTag(mgr, chainOrder, (p, s, t) => (0, math_1.calculatePriceTolerance)(p, s, t, mgr.assets));
923
965
  const unmatchedEntry = {
924
966
  chainOrderId,
925
967
  type: chainOrder.type,
@@ -951,7 +993,7 @@ class SyncEngine {
951
993
  // ------------------------------------------------------------------
952
994
  _findMatchingGridOrder(mgr, orderId) {
953
995
  for (const gridOrder of mgr.orders.values()) {
954
- if (gridOrder.orderId === orderId && (gridOrder.state === ORDER_STATES.ACTIVE || gridOrder.state === ORDER_STATES.PARTIAL)) {
996
+ if (gridOrder.orderId === orderId && (gridOrder.state === constants_1.ORDER_STATES.ACTIVE || gridOrder.state === constants_1.ORDER_STATES.PARTIAL)) {
955
997
  return gridOrder;
956
998
  }
957
999
  }
@@ -960,23 +1002,24 @@ class SyncEngine {
960
1002
  _computeFillContext(mgr, matchedGridOrder, paysAssetId, paysAmountRaw) {
961
1003
  const orderType = matchedGridOrder.type;
962
1004
  const currentSize = toFiniteNumber(matchedGridOrder.size);
963
- const precision = (orderType === ORDER_TYPES.SELL) ? mgr.assets.assetA.precision : mgr.assets.assetB.precision;
1005
+ const precision = (orderType === constants_1.ORDER_TYPES.SELL) ? mgr.assets.assetA.precision : mgr.assets.assetB.precision;
964
1006
  let filledAmount = 0;
965
- if (orderType === ORDER_TYPES.SELL) {
1007
+ if (orderType === constants_1.ORDER_TYPES.SELL) {
966
1008
  if (paysAssetId === mgr.assets.assetA.id)
967
- filledAmount = blockchainToFloat(paysAmountRaw, precision, true);
1009
+ filledAmount = (0, math_1.blockchainToFloat)(paysAmountRaw, precision);
968
1010
  }
969
1011
  else {
970
1012
  if (paysAssetId === mgr.assets.assetB.id)
971
- filledAmount = blockchainToFloat(paysAmountRaw, precision, true);
1013
+ filledAmount = (0, math_1.blockchainToFloat)(paysAmountRaw, precision);
972
1014
  }
973
- const currentSizeIntFromGrid = floatToBlockchainInt(currentSize, precision);
974
- const rawForSaleInt = toFiniteNumber(matchedGridOrder?.rawOnChain?.for_sale, null);
1015
+ const currentSizeIntFromGrid = (0, math_1.floatToBlockchainInt)(currentSize, precision);
1016
+ const rawForSale = matchedGridOrder?.rawOnChain?.for_sale;
1017
+ const rawForSaleInt = rawForSale !== undefined && rawForSale !== null ? toFiniteNumber(rawForSale) : NaN;
975
1018
  const driftSignal = Number.isFinite(rawForSaleInt) && Math.round(rawForSaleInt) < currentSizeIntFromGrid;
976
1019
  return { orderType, currentSize, precision, filledAmount, currentSizeIntFromGrid, rawForSaleInt, driftSignal };
977
1020
  }
978
1021
  async _computeFillTransitionResult(mgr, params) {
979
- const { matchedGridOrder, orderType, precision, filledAmount, filledAmountInt, currentSizeIntFromGrid, rawForSaleInt, chainRefetched, chainConfirmsEmpty, effectiveRawForSale, blockNum, historyId, isMaker } = params;
1022
+ const { matchedGridOrder, orderType, precision, filledAmount, filledAmountInt, currentSizeIntFromGrid, chainRefetched, chainConfirmsEmpty, effectiveRawForSale, blockNum, historyId, isMaker } = params;
980
1023
  let resolvedChainConfirmsEmpty = chainConfirmsEmpty;
981
1024
  if (chainRefetched && Number.isFinite(effectiveRawForSale) && Math.round(effectiveRawForSale) <= 0) {
982
1025
  resolvedChainConfirmsEmpty = true;
@@ -985,7 +1028,7 @@ class SyncEngine {
985
1028
  ? Math.max(0, Math.round(effectiveRawForSale))
986
1029
  : currentSizeIntFromGrid;
987
1030
  const newSizeInt = Math.max(0, currentSizeInt - filledAmountInt);
988
- const newSize = blockchainToFloat(newSizeInt, precision, true);
1031
+ const newSize = (0, math_1.blockchainToFloat)(newSizeInt, precision);
989
1032
  if (Number.isFinite(effectiveRawForSale) && currentSizeInt !== currentSizeIntFromGrid) {
990
1033
  mgr.logger.log(`[SYNC] Using rawOnChain.for_sale baseline for ${matchedGridOrder.orderId}: raw=${currentSizeInt}, grid=${currentSizeIntFromGrid}` +
991
1034
  (chainRefetched ? ' (refetched)' : ''), 'debug');
@@ -993,11 +1036,22 @@ class SyncEngine {
993
1036
  const gridAlsoEmpty = currentSizeIntFromGrid <= 0;
994
1037
  let isEffectivelyFull = resolvedChainConfirmsEmpty || gridAlsoEmpty;
995
1038
  let ghostOrderId;
1039
+ // P4: Inline dust detection — if remaining size is below the minimum
1040
+ // absolute order size, treat as full fill to trigger rotation instead
1041
+ // of leaving a sub-minimum remnant on chain that would accumulate as dust.
1042
+ if (!isEffectivelyFull && newSize > 0) {
1043
+ const minSize = (0, math_1.getMinAbsoluteOrderSize)(orderType, mgr.assets);
1044
+ if (newSize < minSize) {
1045
+ mgr.logger.log(`[SYNC] Order ${matchedGridOrder.orderId} (slot ${matchedGridOrder.id}) ` +
1046
+ `remaining size ${newSize} below minimum ${minSize}. Treating as full fill.`, 'info');
1047
+ isEffectivelyFull = true;
1048
+ }
1049
+ }
996
1050
  if (!isEffectivelyFull) {
997
- const otherPrecision = (orderType === ORDER_TYPES.SELL) ? mgr.assets.assetB.precision : mgr.assets.assetA.precision;
1051
+ const otherPrecision = (orderType === constants_1.ORDER_TYPES.SELL) ? mgr.assets.assetB.precision : mgr.assets.assetA.precision;
998
1052
  const price = matchedGridOrder.price;
999
- const otherSize = (orderType === ORDER_TYPES.SELL) ? newSize * price : newSize / price;
1000
- if (floatToBlockchainInt(otherSize, otherPrecision) <= 0) {
1053
+ const otherSize = (orderType === constants_1.ORDER_TYPES.SELL) ? newSize * price : newSize / price;
1054
+ if ((0, math_1.floatToBlockchainInt)(otherSize, otherPrecision) <= 0) {
1001
1055
  mgr.logger.log(`[SYNC] Order ${matchedGridOrder.orderId} (slot ${matchedGridOrder.id}) other-side (${otherSize}) rounds to 0. Treating as full fill to trigger rotation.`, 'info');
1002
1056
  isEffectivelyFull = true;
1003
1057
  ghostOrderId = matchedGridOrder.orderId;
@@ -1012,12 +1066,12 @@ class SyncEngine {
1012
1066
  ghostUpdate = {
1013
1067
  ...matchedGridOrder,
1014
1068
  size: 0,
1015
- state: ORDER_STATES.PARTIAL,
1069
+ state: constants_1.ORDER_STATES.PARTIAL,
1016
1070
  orderId: ghostOrderId,
1017
1071
  };
1018
1072
  }
1019
1073
  else {
1020
- fullUpdate = convertToSpreadPlaceholder(matchedGridOrder);
1074
+ fullUpdate = (0, order_1.convertToSpreadPlaceholder)(matchedGridOrder);
1021
1075
  }
1022
1076
  filledOrderResult = { ...matchedGridOrder, blockNum, historyId, isMaker };
1023
1077
  }
@@ -1031,7 +1085,7 @@ class SyncEngine {
1031
1085
  isMaker
1032
1086
  };
1033
1087
  const { btsFeeState, ...matchedWithoutDeferredFee } = matchedGridOrder;
1034
- let updatedOrder = { ...matchedWithoutDeferredFee, state: ORDER_STATES.PARTIAL };
1088
+ let updatedOrder = { ...matchedWithoutDeferredFee, state: constants_1.ORDER_STATES.PARTIAL };
1035
1089
  if (updatedOrder.rawOnChain && updatedOrder.rawOnChain.for_sale !== undefined) {
1036
1090
  const baselineForSale = (chainRefetched && Number.isFinite(effectiveRawForSale))
1037
1091
  ? effectiveRawForSale
@@ -1043,7 +1097,7 @@ class SyncEngine {
1043
1097
  fetchedAt: Date.now()
1044
1098
  };
1045
1099
  }
1046
- const nextOrder = await applyChainSizeToGridOrder(mgr, updatedOrder, newSize);
1100
+ const nextOrder = await (0, order_1.applyChainSizeToGridOrder)(mgr, updatedOrder, newSize);
1047
1101
  if (nextOrder) {
1048
1102
  updatedOrder = { ...updatedOrder, ...nextOrder };
1049
1103
  }
@@ -1068,7 +1122,7 @@ class SyncEngine {
1068
1122
  */
1069
1123
  async syncFromFillHistory(fill, options = {}) {
1070
1124
  const mgr = this.manager;
1071
- const persistenceMode = resolveProcessedFillPersistenceMode(options);
1125
+ const persistenceMode = (0, processed_fill_store_1.resolveProcessedFillPersistenceMode)(options);
1072
1126
  if (!fill || !fill.op || !fill.op[1])
1073
1127
  return { filledOrders: [], updatedOrders: [], partialFill: false };
1074
1128
  const fillOp = fill.op[1];
@@ -1079,7 +1133,7 @@ class SyncEngine {
1079
1133
  mgr.logger.log(`[SYNC] is_maker flag missing from fill data for order ${orderId}; defaulting to maker`, 'warn');
1080
1134
  }
1081
1135
  const isMaker = fillOp.is_maker !== false;
1082
- const fillKey = buildFillKey({ orderId, blockNum, historyId });
1136
+ const fillKey = (0, order_1.buildFillKey)({ orderId, blockNum, historyId });
1083
1137
  const paysAmountRaw = toFiniteNumber(fillOp.pays?.amount);
1084
1138
  const paysAssetId = fillOp.pays ? fillOp.pays.asset_id : null;
1085
1139
  const receivesAmountRaw = toFiniteNumber(fillOp.receives?.amount);
@@ -1119,7 +1173,7 @@ class SyncEngine {
1119
1173
  try {
1120
1174
  const fresh = await chainOrders.readSingleOrder(orderId, 3000);
1121
1175
  if (fresh) {
1122
- const freshForSale = toFiniteNumber(fresh.for_sale, null);
1176
+ const freshForSale = toFiniteNumber(fresh.for_sale, undefined);
1123
1177
  if (Number.isFinite(freshForSale)) {
1124
1178
  effectiveRawForSale = freshForSale;
1125
1179
  chainRefetched = true;
@@ -1141,7 +1195,7 @@ class SyncEngine {
1141
1195
  orderType: ctx.orderType,
1142
1196
  precision: ctx.precision,
1143
1197
  filledAmount: ctx.filledAmount,
1144
- filledAmountInt: floatToBlockchainInt(ctx.filledAmount, ctx.precision),
1198
+ filledAmountInt: (0, math_1.floatToBlockchainInt)(ctx.filledAmount, ctx.precision),
1145
1199
  currentSizeIntFromGrid: ctx.currentSizeIntFromGrid,
1146
1200
  rawForSaleInt: ctx.rawForSaleInt,
1147
1201
  chainRefetched,
@@ -1161,7 +1215,7 @@ class SyncEngine {
1161
1215
  mgr.logger.log(`[SYNC] Failed to apply ghost fill state for order ${orderId}`, 'warn');
1162
1216
  }
1163
1217
  filledOrders.push(result.filledOrder);
1164
- return { filledOrders, updatedOrders, partialFill: false, ghostOrderId: result.ghostOrderId };
1218
+ return { filledOrders, updatedOrders, partialFill: false };
1165
1219
  }
1166
1220
  mgr.logger.log(`[SYNC] Full fill for order ${orderId} (slot ${matchedGridOrder.id}).`, 'info');
1167
1221
  const fullOk = await mgr._updateOrder(result.fullUpdate, 'handle-fill-full', { skipAccounting: false, fee: 0 });
@@ -1201,9 +1255,9 @@ class SyncEngine {
1201
1255
  */
1202
1256
  async syncFromFillHistoryBatch(fills, options = {}) {
1203
1257
  const mgr = this.manager;
1204
- const persistenceMode = resolveProcessedFillPersistenceMode(options);
1258
+ const persistenceMode = (0, processed_fill_store_1.resolveProcessedFillPersistenceMode)(options);
1205
1259
  if (!Array.isArray(fills) || fills.length === 0) {
1206
- return { filledOrders: [], updatedOrders: [], partialFill: false, ghostOrderIds: [] };
1260
+ return { filledOrders: [], updatedOrders: [], partialFill: false };
1207
1261
  }
1208
1262
  // Phase 1: Extract & validate fill data
1209
1263
  const fillEntries = [];
@@ -1219,7 +1273,7 @@ class SyncEngine {
1219
1273
  mgr.logger.log(`[SYNC] is_maker flag missing from fill data for order ${orderId}; defaulting to maker`, 'warn');
1220
1274
  }
1221
1275
  const isMaker = fillOp.is_maker !== false;
1222
- const fillKey = buildFillKey({ orderId, blockNum, historyId });
1276
+ const fillKey = (0, order_1.buildFillKey)({ orderId, blockNum, historyId });
1223
1277
  if (!fillKey) {
1224
1278
  mgr.logger.log(`[SYNC] Missing replay-safe fill key for order ${orderId} block ${blockNum}; deferring to open-orders sync`, 'warn');
1225
1279
  anyRequiresSync = true;
@@ -1236,7 +1290,7 @@ class SyncEngine {
1236
1290
  });
1237
1291
  }
1238
1292
  if (fillEntries.length === 0) {
1239
- return { filledOrders: [], updatedOrders: [], partialFill: false, ghostOrderIds: [], requiresOpenOrdersSync: anyRequiresSync };
1293
+ return { filledOrders: [], updatedOrders: [], partialFill: false, requiresOpenOrdersSync: anyRequiresSync };
1240
1294
  }
1241
1295
  // Phase 2: Lock all unique order IDs once
1242
1296
  const allOrderIds = [...new Set(fillEntries.map(e => e.orderId))];
@@ -1256,12 +1310,12 @@ class SyncEngine {
1256
1310
  validEntries.push(entry);
1257
1311
  }
1258
1312
  catch (acctErr) {
1259
- mgr.logger.log(`[SYNC] Accounting error for fill ${entry.fillKey}: ${acctErr.message}`, 'error');
1313
+ mgr.logger.log(`[SYNC] Accounting error for fill ${entry.fillKey}: ${(0, errors_1.getErrorMessage)(acctErr)}`, 'error');
1260
1314
  continue;
1261
1315
  }
1262
1316
  }
1263
1317
  if (validEntries.length === 0) {
1264
- return { filledOrders: [], updatedOrders: [], partialFill: false, ghostOrderIds: [], requiresOpenOrdersSync: anyRequiresSync };
1318
+ return { filledOrders: [], updatedOrders: [], partialFill: false, requiresOpenOrdersSync: anyRequiresSync };
1265
1319
  }
1266
1320
  // Phase 4: Build per-fill context + identify drift candidates
1267
1321
  const entryContexts = [];
@@ -1270,7 +1324,7 @@ class SyncEngine {
1270
1324
  const assetBPrecision = mgr.assets?.assetB?.precision;
1271
1325
  if (assetAPrecision === undefined || assetBPrecision === undefined) {
1272
1326
  mgr.logger?.log?.('Error: manager.assets precision missing in syncFromFillHistoryBatch', 'error');
1273
- return { filledOrders: [], updatedOrders: [], partialFill: false, ghostOrderIds: [], requiresOpenOrdersSync: anyRequiresSync };
1327
+ return { filledOrders: [], updatedOrders: [], partialFill: false, requiresOpenOrdersSync: anyRequiresSync };
1274
1328
  }
1275
1329
  for (const entry of validEntries) {
1276
1330
  const { orderId, paysAmountRaw, paysAssetId } = entry;
@@ -1290,7 +1344,7 @@ class SyncEngine {
1290
1344
  orderType: ctx.orderType,
1291
1345
  precision: ctx.precision,
1292
1346
  filledAmount: ctx.filledAmount,
1293
- filledAmountInt: floatToBlockchainInt(ctx.filledAmount, ctx.precision),
1347
+ filledAmountInt: (0, math_1.floatToBlockchainInt)(ctx.filledAmount, ctx.precision),
1294
1348
  currentSizeIntFromGrid: ctx.currentSizeIntFromGrid,
1295
1349
  rawForSaleInt: ctx.rawForSaleInt
1296
1350
  });
@@ -1302,7 +1356,7 @@ class SyncEngine {
1302
1356
  const batchResults = await chainOrders.batchReadOrders([...driftOrderIds], 3000);
1303
1357
  for (const [orderId, freshOrder] of batchResults) {
1304
1358
  if (freshOrder) {
1305
- const freshForSale = toFiniteNumber(freshOrder.for_sale, null);
1359
+ const freshForSale = toFiniteNumber(freshOrder.for_sale, undefined);
1306
1360
  if (Number.isFinite(freshForSale)) {
1307
1361
  refetchMap.set(orderId, {
1308
1362
  chainConfirmsEmpty: Math.round(freshForSale) <= 0,
@@ -1343,7 +1397,6 @@ class SyncEngine {
1343
1397
  const gridUpdates = [];
1344
1398
  const filledOrders = [];
1345
1399
  const updatedOrders = [];
1346
- const ghostOrderIds = [];
1347
1400
  let anyPartialFill = false;
1348
1401
  for (const ctx of entryContexts) {
1349
1402
  const { entry, matchedGridOrder, orderType, precision, filledAmount, filledAmountInt, currentSizeIntFromGrid, rawForSaleInt } = ctx;
@@ -1372,7 +1425,6 @@ class SyncEngine {
1372
1425
  mgr.logger.log(`[SYNC] Ghost full fill for order ${orderId} (slot ${matchedGridOrder.id}): ` +
1373
1426
  `preserving orderId ${result.ghostOrderId} as PARTIAL to block duplicate CREATE.`, 'info');
1374
1427
  gridUpdates.push({ id: matchedGridOrder.id, ...result.ghostUpdate, context: 'handle-fill-ghost' });
1375
- ghostOrderIds.push(result.ghostOrderId);
1376
1428
  }
1377
1429
  else {
1378
1430
  mgr.logger.log(`[SYNC] Full fill for order ${orderId} (slot ${matchedGridOrder.id}).`, 'info');
@@ -1399,7 +1451,7 @@ class SyncEngine {
1399
1451
  mgr.logger.log('[SYNC] Batch grid update failed for some fills; next sync cycle will reconcile', 'warn');
1400
1452
  }
1401
1453
  }
1402
- return { filledOrders, updatedOrders, partialFill: anyPartialFill, ghostOrderIds, requiresOpenOrdersSync: anyRequiresSync };
1454
+ return { filledOrders, updatedOrders, partialFill: anyPartialFill, requiresOpenOrdersSync: anyRequiresSync };
1403
1455
  }
1404
1456
  finally {
1405
1457
  await mgr.resumeFundRecalc();
@@ -1480,25 +1532,25 @@ class SyncEngine {
1480
1532
  const isRotation = !!existingOrder;
1481
1533
  // For rotation: transition the old order to VIRTUAL, freeing its capital
1482
1534
  if (isRotation && existingOrder) {
1483
- if (!isOrderVirtual(existingOrder)) {
1484
- const oldVirtualOrder = { ...virtualizeOrder(existingOrder), size: 0 };
1535
+ if (!(0, order_1.isOrderVirtual)(existingOrder)) {
1536
+ const oldVirtualOrder = { ...(0, order_1.virtualizeOrder)(existingOrder), size: 0 };
1485
1537
  await mgr._applyOrderUpdate(oldVirtualOrder, 'rotation-cleanup', {
1486
1538
  skipAccounting: chainData.skipAccounting || false,
1487
1539
  fee: 0
1488
1540
  });
1489
1541
  }
1490
- else if (hasOnChainId(existingOrder)) {
1542
+ else if ((0, order_1.hasOnChainId)(existingOrder)) {
1491
1543
  // Already VIRTUAL but still has orderId (from rebalance)
1492
1544
  // Just clear the orderId to reflect blockchain state
1493
- const clearedOrder = { ...virtualizeOrder(existingOrder), size: 0 };
1545
+ const clearedOrder = { ...(0, order_1.virtualizeOrder)(existingOrder), size: 0 };
1494
1546
  await mgr._applyOrderUpdate(clearedOrder, 'fill-cleanup', {
1495
1547
  skipAccounting: chainData.skipAccounting || false,
1496
1548
  fee: 0
1497
1549
  });
1498
1550
  }
1499
1551
  }
1500
- const newState = isPartialPlacement ? ORDER_STATES.PARTIAL : ORDER_STATES.ACTIVE;
1501
- const normalizedExpectedType = (expectedType === ORDER_TYPES.BUY || expectedType === ORDER_TYPES.SELL)
1552
+ const newState = isPartialPlacement ? constants_1.ORDER_STATES.PARTIAL : constants_1.ORDER_STATES.ACTIVE;
1553
+ const normalizedExpectedType = (expectedType === constants_1.ORDER_TYPES.BUY || expectedType === constants_1.ORDER_TYPES.SELL)
1502
1554
  ? expectedType
1503
1555
  : null;
1504
1556
  const updatedOrder = {
@@ -1548,10 +1600,10 @@ class SyncEngine {
1548
1600
  const clearSize = !!chainData.clearSize;
1549
1601
  let btsFeeData;
1550
1602
  try {
1551
- btsFeeData = getAssetFees('BTS');
1603
+ btsFeeData = (0, math_1.getAssetFees)('BTS');
1552
1604
  }
1553
1605
  catch (err) {
1554
- mgr.logger?.log?.(`[FILL-FEE] Failed to load BTS cancel fee cache: ${err.message}. Using zero-fee fallback.`, 'warn');
1606
+ mgr.logger?.log?.(`[FILL-FEE] Failed to load BTS cancel fee cache: ${(0, errors_1.getErrorMessage)(err)}. Using zero-fee fallback.`, 'warn');
1555
1607
  btsFeeData = {
1556
1608
  total: 0,
1557
1609
  createFee: 0,
@@ -1564,7 +1616,7 @@ class SyncEngine {
1564
1616
  };
1565
1617
  }
1566
1618
  const runCancel = async () => {
1567
- const gridOrder = findMatchingGridOrderByOpenOrder({ orderId }, { orders: mgr.orders, assets: mgr.assets, calcToleranceFn: (p, s, t) => calculatePriceTolerance(p, s, t, mgr.assets), logger: mgr.logger });
1619
+ const gridOrder = (0, order_1.findMatchingGridOrderByOpenOrder)({ orderId }, { orders: mgr.orders, assets: mgr.assets, calcToleranceFn: (p, s, t) => (0, math_1.calculatePriceTolerance)(p, s, t, mgr.assets), logger: mgr.logger });
1568
1620
  if (gridOrder) {
1569
1621
  // Lock both chain orderId and grid order ID to prevent concurrent modifications
1570
1622
  const orderIds = [orderId, gridOrder.id].filter(Boolean);
@@ -1574,8 +1626,8 @@ class SyncEngine {
1574
1626
  const currentGridOrder = mgr.orders.get(gridOrder.id);
1575
1627
  if (currentGridOrder && currentGridOrder.orderId === orderId) {
1576
1628
  const nextOrder = clearSize
1577
- ? { ...virtualizeOrder(currentGridOrder), size: 0 }
1578
- : virtualizeOrder(currentGridOrder);
1629
+ ? { ...(0, order_1.virtualizeOrder)(currentGridOrder), size: 0 }
1630
+ : (0, order_1.virtualizeOrder)(currentGridOrder);
1579
1631
  await mgr._applyOrderUpdate(nextOrder, 'cancel-order', {
1580
1632
  skipAccounting: false,
1581
1633
  fee: btsFeeData?.cancelFee || 0
@@ -1589,7 +1641,7 @@ class SyncEngine {
1589
1641
  else {
1590
1642
  // CRITICAL: Even if order not in grid, the cancellation fee was still paid on blockchain
1591
1643
  // Deduct it from account totals to prevent drift.
1592
- const btsSide = (mgr.config.assetA === 'BTS') ? ORDER_TYPES.SELL : (mgr.config.assetB === 'BTS') ? ORDER_TYPES.BUY : null;
1644
+ const btsSide = (mgr.config.assetA === 'BTS') ? constants_1.ORDER_TYPES.SELL : (mgr.config.assetB === 'BTS') ? constants_1.ORDER_TYPES.BUY : null;
1593
1645
  if (btsSide && btsFeeData?.cancelFee > 0) {
1594
1646
  await mgr.accountant.adjustTotalBalance(btsSide, -btsFeeData.cancelFee, 'cancel-order-unmatched-fee');
1595
1647
  }
@@ -1678,7 +1730,6 @@ class SyncEngine {
1678
1730
  async fetchAccountBalancesAndSetTotals() {
1679
1731
  const mgr = this.manager;
1680
1732
  try {
1681
- const { BitShares } = require('../bitshares_client');
1682
1733
  if (!BitShares || !BitShares.db)
1683
1734
  return;
1684
1735
  const accountIdOrName = mgr.accountId || mgr.account || null;
@@ -1688,17 +1739,16 @@ class SyncEngine {
1688
1739
  await this.initializeAssets();
1689
1740
  }
1690
1741
  catch (err) {
1691
- mgr.logger.log(`[SYNC] initializeAssets failed: ${err.message}`, 'warn');
1742
+ mgr.logger.log(`[SYNC] initializeAssets failed: ${(0, errors_1.getErrorMessage)(err)}`, 'warn');
1692
1743
  }
1693
1744
  const assetAId = mgr.assets?.assetA?.id;
1694
1745
  const assetBId = mgr.assets?.assetB?.id;
1695
1746
  if (!assetAId || !assetBId)
1696
1747
  return;
1697
- const { NATIVE_CLIENT } = require('../constants');
1698
1748
  const assetList = [assetAId, assetBId];
1699
1749
  // For non-BTS pairs, also fetch core asset (BTS) balance for fee management
1700
1750
  if (mgr.config.assetA !== 'BTS' && mgr.config.assetB !== 'BTS') {
1701
- assetList.push(NATIVE_CLIENT.CHAIN.CORE_ASSET_ID);
1751
+ assetList.push(constants_2.NATIVE_CLIENT.CHAIN.CORE_ASSET_ID);
1702
1752
  }
1703
1753
  const lookup = await chainOrders.getOnChainAssetBalances(accountIdOrName, assetList);
1704
1754
  const aInfo = lookup?.[assetAId] || lookup?.[mgr.config.assetA];
@@ -1708,14 +1758,14 @@ class SyncEngine {
1708
1758
  }
1709
1759
  // Store BTS balance for non-BTS pairs
1710
1760
  if (mgr.config.assetA !== 'BTS' && mgr.config.assetB !== 'BTS') {
1711
- const btsInfo = lookup?.[NATIVE_CLIENT.CHAIN.CORE_ASSET_ID];
1761
+ const btsInfo = lookup?.[constants_2.NATIVE_CLIENT.CHAIN.CORE_ASSET_ID];
1712
1762
  if (btsInfo) {
1713
1763
  mgr.btsBalance = { free: btsInfo.free, total: btsInfo.total, locked: 0 };
1714
1764
  }
1715
1765
  }
1716
1766
  }
1717
1767
  catch (err) {
1718
- mgr.logger.log(`Failed to fetch on-chain balances: ${err.message}`, 'warn');
1768
+ mgr.logger.log(`Failed to fetch on-chain balances: ${(0, errors_1.getErrorMessage)(err)}`, 'warn');
1719
1769
  }
1720
1770
  }
1721
1771
  /**
@@ -1767,10 +1817,9 @@ class SyncEngine {
1767
1817
  const mgr = this.manager;
1768
1818
  if (mgr.assets)
1769
1819
  return;
1770
- const { BitShares } = require('../bitshares_client');
1771
1820
  const fetchAssetWithFallback = async (symbol, side) => {
1772
1821
  try {
1773
- return await lookupAsset(BitShares, symbol);
1822
+ return await (0, system_1.lookupAsset)(BitShares, symbol);
1774
1823
  }
1775
1824
  catch (err) {
1776
1825
  // If blockchain lookup fails, check for persisted fallback
@@ -1778,7 +1827,7 @@ class SyncEngine {
1778
1827
  const persistedAssets = mgr.accountOrders.loadPersistedAssets();
1779
1828
  const assetData = (side === 'A') ? persistedAssets?.assetA : persistedAssets?.assetB;
1780
1829
  if (assetData && assetData.symbol === symbol && typeof assetData.precision === 'number') {
1781
- mgr.logger.log(`Blockchain lookup failed for ${symbol}: ${err.message}. Persisted data: id=${assetData.id}, precision=${assetData.precision} — refusing stale fallback`, 'error');
1830
+ mgr.logger.log(`Blockchain lookup failed for ${symbol}: ${(0, errors_1.getErrorMessage)(err)}. Persisted data: id=${assetData.id}, precision=${assetData.precision} — refusing stale fallback`, 'error');
1782
1831
  }
1783
1832
  }
1784
1833
  throw err;
@@ -1791,10 +1840,11 @@ class SyncEngine {
1791
1840
  };
1792
1841
  }
1793
1842
  catch (err) {
1794
- mgr.logger.log(`Asset metadata lookup failed: ${err.message}`, 'error');
1843
+ mgr.logger.log(`Asset metadata lookup failed: ${(0, errors_1.getErrorMessage)(err)}`, 'error');
1795
1844
  throw err;
1796
1845
  }
1797
1846
  }
1798
1847
  }
1848
+ exports.default = SyncEngine;
1799
1849
  module.exports = SyncEngine;
1800
1850
  //# sourceMappingURL=sync_engine.js.map