dexbot 1.4.11 → 1.4.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (497) hide show
  1. package/README.md +4 -4
  2. package/dist/analysis/chart_utils.d.ts.map +1 -1
  3. package/dist/analysis/chart_utils.js +9 -18
  4. package/dist/analysis/chart_utils.js.map +1 -1
  5. package/dist/analysis/math_utils.d.ts.map +1 -1
  6. package/dist/analysis/math_utils.js +6 -16
  7. package/dist/analysis/math_utils.js.map +1 -1
  8. package/dist/analysis/tradingview/tradingview_uplot_chart_generator.d.ts +1 -1
  9. package/dist/analysis/tradingview/tradingview_uplot_chart_generator.d.ts.map +1 -1
  10. package/dist/analysis/tradingview/tradingview_uplot_chart_generator.js +31 -38
  11. package/dist/analysis/tradingview/tradingview_uplot_chart_generator.js.map +1 -1
  12. package/dist/analysis/trend_detection/hurst_analyzer.js +7 -10
  13. package/dist/analysis/trend_detection/hurst_analyzer.js.map +1 -1
  14. package/dist/analysis/trend_detection/kalman_trend_analyzer.js +10 -14
  15. package/dist/analysis/trend_detection/kalman_trend_analyzer.js.map +1 -1
  16. package/dist/analysis/trend_detection/kalman_velocity_smoothing.js +10 -15
  17. package/dist/analysis/trend_detection/kalman_velocity_smoothing.js.map +1 -1
  18. package/dist/analysis/trend_detection/permutation_entropy_analyzer.js +7 -10
  19. package/dist/analysis/trend_detection/permutation_entropy_analyzer.js.map +1 -1
  20. package/dist/bot.d.ts.map +1 -1
  21. package/dist/bot.js +4 -12
  22. package/dist/bot.js.map +1 -1
  23. package/dist/credential-daemon.d.ts +0 -1
  24. package/dist/credential-daemon.d.ts.map +1 -1
  25. package/dist/credential-daemon.js +3 -123
  26. package/dist/credential-daemon.js.map +1 -1
  27. package/dist/dexbot.d.ts +0 -87
  28. package/dist/dexbot.d.ts.map +1 -1
  29. package/dist/dexbot.js +11 -14
  30. package/dist/dexbot.js.map +1 -1
  31. package/dist/market_adapter/ama_signal_runner.js +8 -9
  32. package/dist/market_adapter/ama_signal_runner.js.map +1 -1
  33. package/dist/market_adapter/candle_utils.js +1 -7
  34. package/dist/market_adapter/candle_utils.js.map +1 -1
  35. package/dist/market_adapter/core/asymmetric_bounds.js +1 -4
  36. package/dist/market_adapter/core/asymmetric_bounds.js.map +1 -1
  37. package/dist/market_adapter/core/config_normalizers.js +5 -9
  38. package/dist/market_adapter/core/config_normalizers.js.map +1 -1
  39. package/dist/market_adapter/core/kibana_candles.js +8 -15
  40. package/dist/market_adapter/core/kibana_candles.js.map +1 -1
  41. package/dist/market_adapter/core/kibana_client.js +7 -13
  42. package/dist/market_adapter/core/kibana_client.js.map +1 -1
  43. package/dist/market_adapter/core/kibana_market_candles.js +6 -12
  44. package/dist/market_adapter/core/kibana_market_candles.js.map +1 -1
  45. package/dist/market_adapter/core/market_adapter_service.js +92 -102
  46. package/dist/market_adapter/core/market_adapter_service.js.map +1 -1
  47. package/dist/market_adapter/core/strategies/ama.js +5 -10
  48. package/dist/market_adapter/core/strategies/ama.js.map +1 -1
  49. package/dist/market_adapter/core/strategies/ama_slope_model.js +21 -24
  50. package/dist/market_adapter/core/strategies/ama_slope_model.js.map +1 -1
  51. package/dist/market_adapter/core/strategies/atr/calculator.js +3 -5
  52. package/dist/market_adapter/core/strategies/atr/calculator.js.map +1 -1
  53. package/dist/market_adapter/core/strategies/collateral_manager.js +4 -6
  54. package/dist/market_adapter/core/strategies/collateral_manager.js.map +1 -1
  55. package/dist/market_adapter/core/strategies/regime_gate.js +15 -22
  56. package/dist/market_adapter/core/strategies/regime_gate.js.map +1 -1
  57. package/dist/market_adapter/index.d.ts +23 -23
  58. package/dist/market_adapter/index.d.ts.map +1 -1
  59. package/dist/market_adapter/index.js +24 -82
  60. package/dist/market_adapter/index.js.map +1 -1
  61. package/dist/market_adapter/inputs/fetch_cex_synthetic_data.js +2 -1
  62. package/dist/market_adapter/inputs/fetch_cex_synthetic_data.js.map +1 -1
  63. package/dist/market_adapter/inputs/fetch_lp_data.d.ts.map +1 -1
  64. package/dist/market_adapter/inputs/fetch_lp_data.js +59 -98
  65. package/dist/market_adapter/inputs/fetch_lp_data.js.map +1 -1
  66. package/dist/market_adapter/inputs/kibana_source.js +11 -17
  67. package/dist/market_adapter/inputs/kibana_source.js.map +1 -1
  68. package/dist/market_adapter/interval_utils.js +1 -2
  69. package/dist/market_adapter/interval_utils.js.map +1 -1
  70. package/dist/market_adapter/log_format.js +1 -7
  71. package/dist/market_adapter/log_format.js.map +1 -1
  72. package/dist/market_adapter/lp_chart_core.js +20 -22
  73. package/dist/market_adapter/lp_chart_core.js.map +1 -1
  74. package/dist/market_adapter/lp_chart_runner.d.ts +1 -1
  75. package/dist/market_adapter/lp_chart_runner.d.ts.map +1 -1
  76. package/dist/market_adapter/lp_chart_runner.js +41 -57
  77. package/dist/market_adapter/lp_chart_runner.js.map +1 -1
  78. package/dist/market_adapter/lp_chart_strategy_loader.js +30 -34
  79. package/dist/market_adapter/lp_chart_strategy_loader.js.map +1 -1
  80. package/dist/market_adapter/market_adapter.d.ts +2 -2
  81. package/dist/market_adapter/market_adapter.d.ts.map +1 -1
  82. package/dist/market_adapter/market_adapter.js +157 -221
  83. package/dist/market_adapter/market_adapter.js.map +1 -1
  84. package/dist/market_adapter/merge_lp_data.js +17 -18
  85. package/dist/market_adapter/merge_lp_data.js.map +1 -1
  86. package/dist/market_adapter/test_helpers.js +3 -14
  87. package/dist/market_adapter/test_helpers.js.map +1 -1
  88. package/dist/market_adapter/utils/adapter_client.js +7 -16
  89. package/dist/market_adapter/utils/adapter_client.js.map +1 -1
  90. package/dist/market_adapter/utils/atomic_write.js +3 -5
  91. package/dist/market_adapter/utils/atomic_write.js.map +1 -1
  92. package/dist/market_adapter/utils/chain.d.ts.map +1 -1
  93. package/dist/market_adapter/utils/chain.js +9 -17
  94. package/dist/market_adapter/utils/chain.js.map +1 -1
  95. package/dist/market_adapter/utils/data_discovery.js +8 -10
  96. package/dist/market_adapter/utils/data_discovery.js.map +1 -1
  97. package/dist/market_adapter/utils/dynamic_grid_snapshot.d.ts.map +1 -1
  98. package/dist/market_adapter/utils/dynamic_grid_snapshot.js +11 -14
  99. package/dist/market_adapter/utils/dynamic_grid_snapshot.js.map +1 -1
  100. package/dist/market_adapter/utils/file_lock.js +14 -19
  101. package/dist/market_adapter/utils/file_lock.js.map +1 -1
  102. package/dist/market_adapter/utils/native_history.js +8 -14
  103. package/dist/market_adapter/utils/native_history.js.map +1 -1
  104. package/dist/market_adapter/utils/paths.js +3 -6
  105. package/dist/market_adapter/utils/paths.js.map +1 -1
  106. package/dist/modules/account_bots.d.ts +1 -1
  107. package/dist/modules/account_bots.d.ts.map +1 -1
  108. package/dist/modules/account_bots.js +90 -97
  109. package/dist/modules/account_bots.js.map +1 -1
  110. package/dist/modules/account_orders.d.ts +0 -9
  111. package/dist/modules/account_orders.d.ts.map +1 -1
  112. package/dist/modules/account_orders.js +26 -121
  113. package/dist/modules/account_orders.js.map +1 -1
  114. package/dist/modules/authority_resolver.js +12 -18
  115. package/dist/modules/authority_resolver.js.map +1 -1
  116. package/dist/modules/bitshares-native/chain_client.js +16 -21
  117. package/dist/modules/bitshares-native/chain_client.js.map +1 -1
  118. package/dist/modules/bitshares-native/crypto/ecc.browser.js +12 -72
  119. package/dist/modules/bitshares-native/crypto/ecc.browser.js.map +1 -1
  120. package/dist/modules/bitshares-native/crypto/ecc.js +13 -40
  121. package/dist/modules/bitshares-native/crypto/ecc.js.map +1 -1
  122. package/dist/modules/bitshares-native/crypto/ecc_selector.d.ts.map +1 -1
  123. package/dist/modules/bitshares-native/crypto/ecc_selector.js +5 -6
  124. package/dist/modules/bitshares-native/crypto/ecc_selector.js.map +1 -1
  125. package/dist/modules/bitshares-native/index.d.ts +8 -8
  126. package/dist/modules/bitshares-native/index.d.ts.map +1 -1
  127. package/dist/modules/bitshares-native/index.js +11 -68
  128. package/dist/modules/bitshares-native/index.js.map +1 -1
  129. package/dist/modules/bitshares-native/lru_cache.js +3 -6
  130. package/dist/modules/bitshares-native/lru_cache.js.map +1 -1
  131. package/dist/modules/bitshares-native/resolvers.js +9 -11
  132. package/dist/modules/bitshares-native/resolvers.js.map +1 -1
  133. package/dist/modules/bitshares-native/serial/chain_constants.js +3 -28
  134. package/dist/modules/bitshares-native/serial/chain_constants.js.map +1 -1
  135. package/dist/modules/bitshares-native/serial/index.d.ts +4 -4
  136. package/dist/modules/bitshares-native/serial/index.d.ts.map +1 -1
  137. package/dist/modules/bitshares-native/serial/index.js +5 -46
  138. package/dist/modules/bitshares-native/serial/index.js.map +1 -1
  139. package/dist/modules/bitshares-native/serial/operations.d.ts +98 -98
  140. package/dist/modules/bitshares-native/serial/operations.d.ts.map +1 -1
  141. package/dist/modules/bitshares-native/serial/operations.js +372 -473
  142. package/dist/modules/bitshares-native/serial/operations.js.map +1 -1
  143. package/dist/modules/bitshares-native/serial/serializer.js +3 -8
  144. package/dist/modules/bitshares-native/serial/serializer.js.map +1 -1
  145. package/dist/modules/bitshares-native/serial/types.js +9 -74
  146. package/dist/modules/bitshares-native/serial/types.js.map +1 -1
  147. package/dist/modules/bitshares-native/signing_client.d.ts.map +1 -1
  148. package/dist/modules/bitshares-native/signing_client.js +11 -48
  149. package/dist/modules/bitshares-native/signing_client.js.map +1 -1
  150. package/dist/modules/bitshares-native/subscriptions.d.ts.map +1 -1
  151. package/dist/modules/bitshares-native/subscriptions.js +24 -27
  152. package/dist/modules/bitshares-native/subscriptions.js.map +1 -1
  153. package/dist/modules/bitshares-native/transport.d.ts.map +1 -1
  154. package/dist/modules/bitshares-native/transport.js +14 -26
  155. package/dist/modules/bitshares-native/transport.js.map +1 -1
  156. package/dist/modules/bitshares-native/tx/builder.js +29 -72
  157. package/dist/modules/bitshares-native/tx/builder.js.map +1 -1
  158. package/dist/modules/bitshares-native/tx/tx_cache.js +12 -21
  159. package/dist/modules/bitshares-native/tx/tx_cache.js.map +1 -1
  160. package/dist/modules/bitshares_client.d.ts +21 -0
  161. package/dist/modules/bitshares_client.d.ts.map +1 -1
  162. package/dist/modules/bitshares_client.js +32 -86
  163. package/dist/modules/bitshares_client.js.map +1 -1
  164. package/dist/modules/bot_settings.d.ts.map +1 -1
  165. package/dist/modules/bot_settings.js +30 -49
  166. package/dist/modules/bot_settings.js.map +1 -1
  167. package/dist/modules/bots_file_lock.d.ts.map +1 -1
  168. package/dist/modules/bots_file_lock.js +5 -13
  169. package/dist/modules/bots_file_lock.js.map +1 -1
  170. package/dist/modules/broadcast_failure.js +1 -3
  171. package/dist/modules/broadcast_failure.js.map +1 -1
  172. package/dist/modules/chain_keys.d.ts +4 -9
  173. package/dist/modules/chain_keys.d.ts.map +1 -1
  174. package/dist/modules/chain_keys.js +77 -182
  175. package/dist/modules/chain_keys.js.map +1 -1
  176. package/dist/modules/chain_orders.d.ts +2 -2
  177. package/dist/modules/chain_orders.d.ts.map +1 -1
  178. package/dist/modules/chain_orders.js +81 -144
  179. package/dist/modules/chain_orders.js.map +1 -1
  180. package/dist/modules/config.d.ts.map +1 -1
  181. package/dist/modules/config.js +23 -28
  182. package/dist/modules/config.js.map +1 -1
  183. package/dist/modules/constants.d.ts +2 -9
  184. package/dist/modules/constants.d.ts.map +1 -1
  185. package/dist/modules/constants.js +38 -73
  186. package/dist/modules/constants.js.map +1 -1
  187. package/dist/modules/cr_planner.js +15 -26
  188. package/dist/modules/cr_planner.js.map +1 -1
  189. package/dist/modules/credential_policy.d.ts +3 -6
  190. package/dist/modules/credential_policy.d.ts.map +1 -1
  191. package/dist/modules/credential_policy.js +62 -153
  192. package/dist/modules/credential_policy.js.map +1 -1
  193. package/dist/modules/credential_runtime.d.ts +1 -1
  194. package/dist/modules/credential_runtime.d.ts.map +1 -1
  195. package/dist/modules/credential_runtime.js +34 -41
  196. package/dist/modules/credential_runtime.js.map +1 -1
  197. package/dist/modules/credential_session_cache.d.ts +1 -1
  198. package/dist/modules/credential_session_cache.d.ts.map +1 -1
  199. package/dist/modules/credential_session_cache.js +5 -42
  200. package/dist/modules/credential_session_cache.js.map +1 -1
  201. package/dist/modules/credit_runtime.d.ts.map +1 -1
  202. package/dist/modules/credit_runtime.js +126 -162
  203. package/dist/modules/credit_runtime.js.map +1 -1
  204. package/dist/modules/crypto/browser_provider.d.ts +1 -1
  205. package/dist/modules/crypto/browser_provider.d.ts.map +1 -1
  206. package/dist/modules/crypto/browser_provider.js +7 -11
  207. package/dist/modules/crypto/browser_provider.js.map +1 -1
  208. package/dist/modules/crypto/index.d.ts +6 -6
  209. package/dist/modules/crypto/index.d.ts.map +1 -1
  210. package/dist/modules/crypto/index.js +12 -30
  211. package/dist/modules/crypto/index.js.map +1 -1
  212. package/dist/modules/crypto/node_provider.d.ts +1 -1
  213. package/dist/modules/crypto/node_provider.d.ts.map +1 -1
  214. package/dist/modules/crypto/node_provider.js +3 -5
  215. package/dist/modules/crypto/node_provider.js.map +1 -1
  216. package/dist/modules/crypto/provider.js +1 -2
  217. package/dist/modules/crypto/pure_ripemd160.js +1 -3
  218. package/dist/modules/crypto/pure_ripemd160.js.map +1 -1
  219. package/dist/modules/crypto/pure_scrypt.js +1 -4
  220. package/dist/modules/crypto/pure_scrypt.js.map +1 -1
  221. package/dist/modules/crypto/pure_secp256k1.d.ts +1 -1
  222. package/dist/modules/crypto/pure_secp256k1.d.ts.map +1 -1
  223. package/dist/modules/crypto/pure_secp256k1.js +1 -16
  224. package/dist/modules/crypto/pure_secp256k1.js.map +1 -1
  225. package/dist/modules/crypto/sync.d.ts.map +1 -1
  226. package/dist/modules/crypto/sync.js +16 -17
  227. package/dist/modules/crypto/sync.js.map +1 -1
  228. package/dist/modules/daemon_node_health.js +14 -16
  229. package/dist/modules/daemon_node_health.js.map +1 -1
  230. package/dist/modules/dexbot_class.d.ts +19 -14
  231. package/dist/modules/dexbot_class.d.ts.map +1 -1
  232. package/dist/modules/dexbot_class.js +127 -164
  233. package/dist/modules/dexbot_class.js.map +1 -1
  234. package/dist/modules/dexbot_cow_runtime.d.ts +28 -27
  235. package/dist/modules/dexbot_cow_runtime.d.ts.map +1 -1
  236. package/dist/modules/dexbot_cow_runtime.js +55 -45
  237. package/dist/modules/dexbot_cow_runtime.js.map +1 -1
  238. package/dist/modules/dexbot_credential_client.d.ts +6 -2
  239. package/dist/modules/dexbot_credential_client.d.ts.map +1 -1
  240. package/dist/modules/dexbot_credential_client.js +21 -31
  241. package/dist/modules/dexbot_credential_client.js.map +1 -1
  242. package/dist/modules/dexbot_fill_runtime.d.ts +23 -23
  243. package/dist/modules/dexbot_fill_runtime.d.ts.map +1 -1
  244. package/dist/modules/dexbot_fill_runtime.js +119 -77
  245. package/dist/modules/dexbot_fill_runtime.js.map +1 -1
  246. package/dist/modules/dexbot_maintenance_runtime.d.ts +46 -38
  247. package/dist/modules/dexbot_maintenance_runtime.d.ts.map +1 -1
  248. package/dist/modules/dexbot_maintenance_runtime.js +81 -81
  249. package/dist/modules/dexbot_maintenance_runtime.js.map +1 -1
  250. package/dist/modules/dexbot_startup_runtime.d.ts +3 -3
  251. package/dist/modules/dexbot_startup_runtime.d.ts.map +1 -1
  252. package/dist/modules/dexbot_startup_runtime.js +43 -81
  253. package/dist/modules/dexbot_startup_runtime.js.map +1 -1
  254. package/dist/modules/dexbot_state_recovery.d.ts +11 -11
  255. package/dist/modules/dexbot_state_recovery.js +32 -78
  256. package/dist/modules/dexbot_state_recovery.js.map +1 -1
  257. package/dist/modules/env.js +3 -7
  258. package/dist/modules/env.js.map +1 -1
  259. package/dist/modules/fund_registry.d.ts.map +1 -1
  260. package/dist/modules/fund_registry.js +12 -24
  261. package/dist/modules/fund_registry.js.map +1 -1
  262. package/dist/modules/general_settings.js +10 -16
  263. package/dist/modules/general_settings.js.map +1 -1
  264. package/dist/modules/graceful_shutdown.d.ts.map +1 -1
  265. package/dist/modules/graceful_shutdown.js +12 -19
  266. package/dist/modules/graceful_shutdown.js.map +1 -1
  267. package/dist/modules/key_store.d.ts.map +1 -1
  268. package/dist/modules/key_store.js +27 -65
  269. package/dist/modules/key_store.js.map +1 -1
  270. package/dist/modules/launcher/bot_supervisor.d.ts +1 -1
  271. package/dist/modules/launcher/bot_supervisor.d.ts.map +1 -1
  272. package/dist/modules/launcher/bot_supervisor.js +89 -118
  273. package/dist/modules/launcher/bot_supervisor.js.map +1 -1
  274. package/dist/modules/launcher/child_env.js +1 -5
  275. package/dist/modules/launcher/child_env.js.map +1 -1
  276. package/dist/modules/launcher/credential_bootstrap.js +22 -31
  277. package/dist/modules/launcher/credential_bootstrap.js.map +1 -1
  278. package/dist/modules/launcher/credential_daemon.js +37 -75
  279. package/dist/modules/launcher/credential_daemon.js.map +1 -1
  280. package/dist/modules/launcher/credential_secret.js +2 -37
  281. package/dist/modules/launcher/credential_secret.js.map +1 -1
  282. package/dist/modules/launcher/foreign_cred_daemon.js +25 -31
  283. package/dist/modules/launcher/foreign_cred_daemon.js.map +1 -1
  284. package/dist/modules/launcher/headless_password.js +10 -12
  285. package/dist/modules/launcher/headless_password.js.map +1 -1
  286. package/dist/modules/launcher/launch_modes.js +3 -9
  287. package/dist/modules/launcher/launch_modes.js.map +1 -1
  288. package/dist/modules/launcher/market_adapter_runtime.d.ts +1 -1
  289. package/dist/modules/launcher/market_adapter_runtime.d.ts.map +1 -1
  290. package/dist/modules/launcher/market_adapter_runtime.js +25 -35
  291. package/dist/modules/launcher/market_adapter_runtime.js.map +1 -1
  292. package/dist/modules/launcher/market_adapter_watchdog.d.ts.map +1 -1
  293. package/dist/modules/launcher/market_adapter_watchdog.js +42 -45
  294. package/dist/modules/launcher/market_adapter_watchdog.js.map +1 -1
  295. package/dist/modules/launcher/monolithic_runtime.d.ts +1 -1
  296. package/dist/modules/launcher/monolithic_runtime.d.ts.map +1 -1
  297. package/dist/modules/launcher/monolithic_runtime.js +67 -138
  298. package/dist/modules/launcher/monolithic_runtime.js.map +1 -1
  299. package/dist/modules/launcher/runtime_entry.d.ts +1 -11
  300. package/dist/modules/launcher/runtime_entry.d.ts.map +1 -1
  301. package/dist/modules/launcher/runtime_entry.js +12 -15
  302. package/dist/modules/launcher/runtime_entry.js.map +1 -1
  303. package/dist/modules/launcher/status_reporting.d.ts +1 -1
  304. package/dist/modules/launcher/status_reporting.d.ts.map +1 -1
  305. package/dist/modules/launcher/status_reporting.js +15 -36
  306. package/dist/modules/launcher/status_reporting.js.map +1 -1
  307. package/dist/modules/launcher/supervisor_control.js +4 -9
  308. package/dist/modules/launcher/supervisor_control.js.map +1 -1
  309. package/dist/modules/logger.d.ts +1 -1
  310. package/dist/modules/logger.d.ts.map +1 -1
  311. package/dist/modules/logger.js +3 -38
  312. package/dist/modules/logger.js.map +1 -1
  313. package/dist/modules/market_adapter_whitelist.js +9 -18
  314. package/dist/modules/market_adapter_whitelist.js.map +1 -1
  315. package/dist/modules/node_failure_ledger.js +1 -3
  316. package/dist/modules/node_failure_ledger.js.map +1 -1
  317. package/dist/modules/node_health_cache.d.ts.map +1 -1
  318. package/dist/modules/node_health_cache.js +15 -25
  319. package/dist/modules/node_health_cache.js.map +1 -1
  320. package/dist/modules/node_manager.d.ts +1 -1
  321. package/dist/modules/node_manager.d.ts.map +1 -1
  322. package/dist/modules/node_manager.js +44 -43
  323. package/dist/modules/node_manager.js.map +1 -1
  324. package/dist/modules/order/accounting.d.ts.map +1 -1
  325. package/dist/modules/order/accounting.js +102 -118
  326. package/dist/modules/order/accounting.js.map +1 -1
  327. package/dist/modules/order/async_lock.d.ts +3 -15
  328. package/dist/modules/order/async_lock.d.ts.map +1 -1
  329. package/dist/modules/order/async_lock.js +6 -26
  330. package/dist/modules/order/async_lock.js.map +1 -1
  331. package/dist/modules/order/export.js +34 -75
  332. package/dist/modules/order/export.js.map +1 -1
  333. package/dist/modules/order/format.d.ts +1 -3
  334. package/dist/modules/order/format.d.ts.map +1 -1
  335. package/dist/modules/order/format.js +4 -24
  336. package/dist/modules/order/format.js.map +1 -1
  337. package/dist/modules/order/grid.d.ts +3 -3
  338. package/dist/modules/order/grid.d.ts.map +1 -1
  339. package/dist/modules/order/grid.js +206 -262
  340. package/dist/modules/order/grid.js.map +1 -1
  341. package/dist/modules/order/grid_reconcile.d.ts.map +1 -1
  342. package/dist/modules/order/grid_reconcile.js +77 -94
  343. package/dist/modules/order/grid_reconcile.js.map +1 -1
  344. package/dist/modules/order/grid_reconcile_internal.d.ts.map +1 -1
  345. package/dist/modules/order/grid_reconcile_internal.js +117 -149
  346. package/dist/modules/order/grid_reconcile_internal.js.map +1 -1
  347. package/dist/modules/order/index.d.ts.map +1 -1
  348. package/dist/modules/order/index.js +11 -45
  349. package/dist/modules/order/index.js.map +1 -1
  350. package/dist/modules/order/logger.js +28 -69
  351. package/dist/modules/order/logger.js.map +1 -1
  352. package/dist/modules/order/logger_state.d.ts.map +1 -1
  353. package/dist/modules/order/logger_state.js +3 -4
  354. package/dist/modules/order/logger_state.js.map +1 -1
  355. package/dist/modules/order/manager.d.ts +10 -0
  356. package/dist/modules/order/manager.d.ts.map +1 -1
  357. package/dist/modules/order/manager.js +131 -151
  358. package/dist/modules/order/manager.js.map +1 -1
  359. package/dist/modules/order/processed_fill_store.js +2 -7
  360. package/dist/modules/order/processed_fill_store.js.map +1 -1
  361. package/dist/modules/order/strategy.js +23 -25
  362. package/dist/modules/order/strategy.js.map +1 -1
  363. package/dist/modules/order/sync_engine.d.ts +27 -0
  364. package/dist/modules/order/sync_engine.d.ts.map +1 -1
  365. package/dist/modules/order/sync_engine.js +232 -181
  366. package/dist/modules/order/sync_engine.js.map +1 -1
  367. package/dist/modules/order/utils/math.d.ts +1 -25
  368. package/dist/modules/order/utils/math.d.ts.map +1 -1
  369. package/dist/modules/order/utils/math.js +49 -172
  370. package/dist/modules/order/utils/math.js.map +1 -1
  371. package/dist/modules/order/utils/order.d.ts +46 -2
  372. package/dist/modules/order/utils/order.d.ts.map +1 -1
  373. package/dist/modules/order/utils/order.js +165 -143
  374. package/dist/modules/order/utils/order.js.map +1 -1
  375. package/dist/modules/order/utils/system.d.ts +3 -1
  376. package/dist/modules/order/utils/system.d.ts.map +1 -1
  377. package/dist/modules/order/utils/system.js +152 -211
  378. package/dist/modules/order/utils/system.js.map +1 -1
  379. package/dist/modules/order/utils/timeout.js +1 -4
  380. package/dist/modules/order/utils/timeout.js.map +1 -1
  381. package/dist/modules/order/utils/validate.js +91 -142
  382. package/dist/modules/order/utils/validate.js.map +1 -1
  383. package/dist/modules/order/utils/withPoolRef.js +21 -61
  384. package/dist/modules/order/utils/withPoolRef.js.map +1 -1
  385. package/dist/modules/order/working_grid.js +6 -9
  386. package/dist/modules/order/working_grid.js.map +1 -1
  387. package/dist/modules/path_api.d.ts.map +1 -1
  388. package/dist/modules/path_api.js +8 -11
  389. package/dist/modules/path_api.js.map +1 -1
  390. package/dist/modules/paths.d.ts.map +1 -1
  391. package/dist/modules/paths.js +61 -67
  392. package/dist/modules/paths.js.map +1 -1
  393. package/dist/modules/process_discovery.js +13 -21
  394. package/dist/modules/process_discovery.js.map +1 -1
  395. package/dist/modules/runtime.js +7 -11
  396. package/dist/modules/runtime.js.map +1 -1
  397. package/dist/modules/runtime_settings.d.ts.map +1 -1
  398. package/dist/modules/runtime_settings.js +14 -16
  399. package/dist/modules/runtime_settings.js.map +1 -1
  400. package/dist/modules/settings_merge.js +1 -3
  401. package/dist/modules/settings_merge.js.map +1 -1
  402. package/dist/modules/socket_json_client.js +3 -5
  403. package/dist/modules/socket_json_client.js.map +1 -1
  404. package/dist/modules/storage/browser_adapter.js +1 -4
  405. package/dist/modules/storage/browser_adapter.js.map +1 -1
  406. package/dist/modules/storage/index.d.ts +3 -2
  407. package/dist/modules/storage/index.d.ts.map +1 -1
  408. package/dist/modules/storage/index.js +5 -8
  409. package/dist/modules/storage/index.js.map +1 -1
  410. package/dist/modules/storage/node_adapter.d.ts +3 -4
  411. package/dist/modules/storage/node_adapter.d.ts.map +1 -1
  412. package/dist/modules/storage/node_adapter.js +12 -16
  413. package/dist/modules/storage/node_adapter.js.map +1 -1
  414. package/dist/modules/storage/types.js +1 -2
  415. package/dist/modules/types.d.ts +0 -6
  416. package/dist/modules/types.d.ts.map +1 -1
  417. package/dist/modules/types.js +1 -2
  418. package/dist/modules/types.js.map +1 -1
  419. package/dist/modules/utils/base58check.js +8 -15
  420. package/dist/modules/utils/base58check.js.map +1 -1
  421. package/dist/modules/utils/build_dir.js +3 -7
  422. package/dist/modules/utils/build_dir.js.map +1 -1
  423. package/dist/modules/utils/errors.js +1 -5
  424. package/dist/modules/utils/errors.js.map +1 -1
  425. package/dist/modules/utils/math_utils.d.ts +1 -1
  426. package/dist/modules/utils/math_utils.d.ts.map +1 -1
  427. package/dist/modules/utils/math_utils.js +2 -7
  428. package/dist/modules/utils/math_utils.js.map +1 -1
  429. package/dist/modules/validate_profiles.d.ts.map +1 -1
  430. package/dist/modules/validate_profiles.js +18 -25
  431. package/dist/modules/validate_profiles.js.map +1 -1
  432. package/dist/pm2.d.ts +4 -70
  433. package/dist/pm2.d.ts.map +1 -1
  434. package/dist/pm2.js +106 -132
  435. package/dist/pm2.js.map +1 -1
  436. package/dist/scripts/analyze-git.js +13 -17
  437. package/dist/scripts/analyze-git.js.map +1 -1
  438. package/dist/scripts/analyze-orders.d.ts.map +1 -1
  439. package/dist/scripts/analyze-orders.js +48 -63
  440. package/dist/scripts/analyze-orders.js.map +1 -1
  441. package/dist/scripts/diagnose-kibana-candles.d.ts.map +1 -1
  442. package/dist/scripts/diagnose-kibana-candles.js +2 -1
  443. package/dist/scripts/diagnose-kibana-candles.js.map +1 -1
  444. package/dist/scripts/diagnose-pool-history.d.ts.map +1 -1
  445. package/dist/scripts/diagnose-pool-history.js +2 -1
  446. package/dist/scripts/diagnose-pool-history.js.map +1 -1
  447. package/dist/scripts/divergence-calc.d.ts.map +1 -1
  448. package/dist/scripts/divergence-calc.js +2 -2
  449. package/dist/scripts/divergence-calc.js.map +1 -1
  450. package/dist/scripts/fix-err-message.js +17 -22
  451. package/dist/scripts/fix-err-message.js.map +1 -1
  452. package/dist/scripts/generate_lp_chart.d.ts.map +1 -1
  453. package/dist/scripts/generate_lp_chart.js +7 -15
  454. package/dist/scripts/generate_lp_chart.js.map +1 -1
  455. package/dist/scripts/generate_mainnet_corpus_report.d.ts.map +1 -1
  456. package/dist/scripts/generate_mainnet_corpus_report.js +3 -2
  457. package/dist/scripts/generate_mainnet_corpus_report.js.map +1 -1
  458. package/dist/scripts/generate_market_adapter_whitelist.d.ts.map +1 -1
  459. package/dist/scripts/generate_market_adapter_whitelist.js +18 -24
  460. package/dist/scripts/generate_market_adapter_whitelist.js.map +1 -1
  461. package/dist/scripts/native_release_gates.js +15 -19
  462. package/dist/scripts/native_release_gates.js.map +1 -1
  463. package/dist/scripts/print_grid.d.ts.map +1 -1
  464. package/dist/scripts/print_grid.js +2 -2
  465. package/dist/scripts/print_grid.js.map +1 -1
  466. package/dist/scripts/run-tests.js +12 -17
  467. package/dist/scripts/run-tests.js.map +1 -1
  468. package/dist/scripts/runner.d.ts.map +1 -1
  469. package/dist/scripts/runner.js +18 -20
  470. package/dist/scripts/runner.js.map +1 -1
  471. package/dist/scripts/sync-version.js +2 -2
  472. package/dist/scripts/sync-version.js.map +1 -1
  473. package/dist/scripts/test-credit-renewal.d.ts.map +1 -1
  474. package/dist/scripts/test-credit-renewal.js +4 -3
  475. package/dist/scripts/test-credit-renewal.js.map +1 -1
  476. package/dist/scripts/update.js +77 -89
  477. package/dist/scripts/update.js.map +1 -1
  478. package/dist/scripts/validate_bots.d.ts.map +1 -1
  479. package/dist/scripts/validate_bots.js +2 -2
  480. package/dist/scripts/validate_bots.js.map +1 -1
  481. package/dist/scripts/verify-browser-bundle.js +12 -17
  482. package/dist/scripts/verify-browser-bundle.js.map +1 -1
  483. package/dist/unlock.d.ts +0 -30
  484. package/dist/unlock.d.ts.map +1 -1
  485. package/dist/unlock.js +95 -143
  486. package/dist/unlock.js.map +1 -1
  487. package/package.json +5 -8
  488. package/scripts/README.md +1 -1
  489. package/scripts/create-bot-symlinks.sh +2 -2
  490. package/dist/modules/utils/fs_utils.d.ts +0 -18
  491. package/dist/modules/utils/fs_utils.d.ts.map +0 -1
  492. package/dist/modules/utils/fs_utils.js +0 -32
  493. package/dist/modules/utils/fs_utils.js.map +0 -1
  494. package/dist/scripts/migrate_bot_keys.d.ts +0 -3
  495. package/dist/scripts/migrate_bot_keys.d.ts.map +0 -1
  496. package/dist/scripts/migrate_bot_keys.js +0 -225
  497. package/dist/scripts/migrate_bot_keys.js.map +0 -1
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  /**
3
2
  * modules/order/utils/math.ts - Mathematical and Numeric Utilities
4
3
  *
@@ -70,105 +69,13 @@
70
69
  *
71
70
  * ===============================================================================
72
71
  */
73
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
74
- if (k2 === undefined) k2 = k;
75
- var desc = Object.getOwnPropertyDescriptor(m, k);
76
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
77
- desc = { enumerable: true, get: function() { return m[k]; } };
78
- }
79
- Object.defineProperty(o, k2, desc);
80
- }) : (function(o, m, k, k2) {
81
- if (k2 === undefined) k2 = k;
82
- o[k2] = m[k];
83
- }));
84
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
85
- Object.defineProperty(o, "default", { enumerable: true, value: v });
86
- }) : function(o, v) {
87
- o["default"] = v;
88
- });
89
- var __importStar = (this && this.__importStar) || (function () {
90
- var ownKeys = function(o) {
91
- ownKeys = Object.getOwnPropertyNames || function (o) {
92
- var ar = [];
93
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
94
- return ar;
95
- };
96
- return ownKeys(o);
97
- };
98
- return function (mod) {
99
- if (mod && mod.__esModule) return mod;
100
- var result = {};
101
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
102
- __setModuleDefault(result, mod);
103
- return result;
104
- };
105
- })();
106
- var __importDefault = (this && this.__importDefault) || function (mod) {
107
- return (mod && mod.__esModule) ? mod : { "default": mod };
108
- };
109
- Object.defineProperty(exports, "__esModule", { value: true });
110
- exports.getBtsSide = getBtsSide;
111
- exports.getSellStartIdx = getSellStartIdx;
112
- exports.resolveGapBand = resolveGapBand;
113
- exports.countGapBandSpread = countGapBandSpread;
114
- exports.calculateGapSlots = calculateGapSlots;
115
- exports.isPercentageString = isPercentageString;
116
- exports.isPositiveNumber = isPositiveNumber;
117
- exports.isPositiveNumberOrPercent = isPositiveNumberOrPercent;
118
- exports.isPositiveInt = isPositiveInt;
119
- exports.parsePercentageString = parsePercentageString;
120
- exports.toDecimal = toDecimal;
121
- exports.resolveRelativePrice = resolveRelativePrice;
122
- exports.isExplicitZeroAllocation = isExplicitZeroAllocation;
123
- exports.getPrecision = getPrecision;
124
- exports.computeChainFundTotals = computeChainFundTotals;
125
- exports.calculateAvailableFundsValue = calculateAvailableFundsValue;
126
- exports.computeBtsFeeImpact = computeBtsFeeImpact;
127
- exports.adjustBudgetForBtsFees = adjustBudgetForBtsFees;
128
- exports.getGridBestPrices = getGridBestPrices;
129
- exports.calculateSpreadFromOrders = calculateSpreadFromOrders;
130
- exports.resolveConfigValue = resolveConfigValue;
131
- exports.resolveConfigValueWithRegistry = resolveConfigValueWithRegistry;
132
- exports.hasValidAccountTotals = hasValidAccountTotals;
133
- exports.blockchainToFloat = blockchainToFloat;
134
- exports.floatToBlockchainInt = floatToBlockchainInt;
135
- exports.quantizeFloat = quantizeFloat;
136
- exports.normalizeInt = normalizeInt;
137
- exports.getPrecisionByOrderType = getPrecisionByOrderType;
138
- exports.getPrecisionForSide = getPrecisionForSide;
139
- exports.getPrecisionsForManager = getPrecisionsForManager;
140
- exports.getPrecisionSlack = getPrecisionSlack;
141
- exports.calculatePriceTolerance = calculatePriceTolerance;
142
- exports.findPriceCollision = findPriceCollision;
143
- exports.validateOrderAmountsWithinLimits = validateOrderAmountsWithinLimits;
144
- exports.getMinOrderSize = getMinOrderSize;
145
- exports.getDustThresholdFactor = getDustThresholdFactor;
146
- exports.getSingleDustThreshold = getSingleDustThreshold;
147
- exports.getDoubleDustThreshold = getDoubleDustThreshold;
148
- exports.getMinAbsoluteOrderSize = getMinAbsoluteOrderSize;
149
- exports.validateOrderSize = validateOrderSize;
150
- exports.getAssetFees = getAssetFees;
151
- exports.getAssetFeesSafe = getAssetFeesSafe;
152
- exports.allocateFundsByWeights = allocateFundsByWeights;
153
- exports.calculateOrderSizes = calculateOrderSizes;
154
- exports.calculateRotationOrderSizes = calculateRotationOrderSizes;
155
- exports.calculateGridSideDivergenceMetric = calculateGridSideDivergenceMetric;
156
- exports.calculateOrderCreationFees = calculateOrderCreationFees;
157
- exports.deductOrderFeesFromFunds = deductOrderFeesFromFunds;
158
- exports.calculateSwapInAmount = calculateSwapInAmount;
159
- exports._setFeeCache = _setFeeCache;
160
- exports.cloneWeightDistribution = cloneWeightDistribution;
161
- exports.clamp = clamp;
162
- exports.roundTo = roundTo;
163
- exports.fixedTo = fixedTo;
164
- exports.roundToDecimals = roundToDecimals;
165
- const constants_1 = require("../../constants");
166
- const Format = __importStar(require("../format"));
167
- const logger_1 = __importDefault(require("../../logger"));
168
- const fundRegistry = __importStar(require("../../fund_registry"));
169
- const errors_1 = require("../../utils/errors");
72
+ import { ORDER_TYPES, FEE_PARAMETERS, DEFAULT_CONFIG, GRID_LIMITS } from '../../constants.js';
73
+ import * as Format from '../format.js';
74
+ import Logger from '../../logger.js';
75
+ import * as fundRegistry from '../../fund_registry.js';
76
+ import { getErrorMessage } from '../../utils/errors.js';
170
77
  const { isValidNumber, toFiniteNumber } = Format;
171
- const mathLogger = new logger_1.default('Math');
78
+ const mathLogger = new Logger('Math');
172
79
  const MAX_INT64 = 9223372036854775807;
173
80
  const MIN_INT64 = -9223372036854775808;
174
81
  // ================================================================================
@@ -361,6 +268,9 @@ function normalizeInt(value, precision) {
361
268
  * Will be populated by system.js::initializeFeeCache.
362
269
  */
363
270
  let feeCache = {};
271
+ // Track markets already warned about a missing fee cache so the "Using fallback
272
+ // fee" notice is logged once per pair instead of once per sizing calculation.
273
+ const warnedMissingFeeCachePairs = new Set();
364
274
  /**
365
275
  * @private Set the fee cache (called by system.js::initializeFeeCache).
366
276
  *
@@ -390,9 +300,9 @@ function getAssetFees(assetSymbol, assetAmount = null, isMaker = true) {
390
300
  const orderCancelFee = cachedFees.limitOrderCancel?.bts || 0;
391
301
  const makerFeeDiscountPercent = Number.isFinite(Number(cachedFees.makerFeeDiscountPercent))
392
302
  ? Math.max(0, Number(cachedFees.makerFeeDiscountPercent))
393
- : constants_1.FEE_PARAMETERS.MAKER_REFUND_PERCENT;
394
- const makerNetFee = orderCreationFee * constants_1.FEE_PARAMETERS.MAKER_FEE_PERCENT;
395
- const takerNetFee = orderCreationFee * constants_1.FEE_PARAMETERS.TAKER_FEE_PERCENT;
303
+ : FEE_PARAMETERS.MAKER_REFUND_PERCENT;
304
+ const makerNetFee = orderCreationFee * FEE_PARAMETERS.MAKER_FEE_PERCENT;
305
+ const takerNetFee = orderCreationFee * FEE_PARAMETERS.TAKER_FEE_PERCENT;
396
306
  const netFee = isMaker ? makerNetFee : takerNetFee;
397
307
  if (assetAmount !== null && assetAmount !== undefined) {
398
308
  const amount = Number(assetAmount);
@@ -480,7 +390,7 @@ function calculateAvailableFundsValue(side, accountTotals, funds, assetA, assetB
480
390
  const virtualReservation = toFiniteNumber(side === 'buy' ? funds.virtual?.buy : funds.virtual?.sell);
481
391
  const btsFeesOwed = toFiniteNumber(funds.btsFeesOwed);
482
392
  const btsSide = getBtsSide(assetA, assetB);
483
- const btsReservationMultiplier = feeParams?.BTS_RESERVATION_MULTIPLIER ?? constants_1.FEE_PARAMETERS.BTS_RESERVATION_MULTIPLIER;
393
+ const btsReservationMultiplier = feeParams?.BTS_RESERVATION_MULTIPLIER ?? FEE_PARAMETERS.BTS_RESERVATION_MULTIPLIER;
484
394
  let btsFeesReservation = 0;
485
395
  if (btsSide === side && activeOrders) {
486
396
  const targetBuy = Math.max(0, toFiniteNumber(activeOrders?.buy, 1));
@@ -694,17 +604,6 @@ function floatToBlockchainInt(floatValue, precision) {
694
604
  function getPrecisionByOrderType(assets, orderType) {
695
605
  return getPrecision(assets, { type: orderType });
696
606
  }
697
- /**
698
- * Get asset precision for a specific trading side.
699
- *
700
- * @param {Object} assets - Asset metadata with assetA and assetB
701
- * @param {string} side - Side ("buy" or "sell")
702
- * @returns {number} Asset precision for the side
703
- * @throws {Error} If precision missing
704
- */
705
- function getPrecisionForSide(assets, side) {
706
- return getPrecision(assets, { side });
707
- }
708
607
  /**
709
608
  * Get asset precisions for both assetA and assetB.
710
609
  *
@@ -714,8 +613,8 @@ function getPrecisionForSide(assets, side) {
714
613
  */
715
614
  function getPrecisionsForManager(assets) {
716
615
  return {
717
- A: getPrecision(assets, { type: constants_1.ORDER_TYPES.SELL }),
718
- B: getPrecision(assets, { type: constants_1.ORDER_TYPES.BUY })
616
+ A: getPrecision(assets, { type: ORDER_TYPES.SELL }),
617
+ B: getPrecision(assets, { type: ORDER_TYPES.BUY })
719
618
  };
720
619
  }
721
620
  /**
@@ -744,7 +643,7 @@ function getPrecision(assets, { type, side, proceeds = false } = {}) {
744
643
  if (side)
745
644
  isSellSide = (side === 'sell');
746
645
  else if (type)
747
- isSellSide = (type === constants_1.ORDER_TYPES.SELL);
646
+ isSellSide = (type === ORDER_TYPES.SELL);
748
647
  else
749
648
  throw new Error("Either 'type' or 'side' must be provided for getPrecision");
750
649
  // Proceeds logic: SELL (assetA) results in assetB proceeds; BUY (assetB) results in assetA
@@ -762,9 +661,9 @@ function getPrecision(assets, { type, side, proceeds = false } = {}) {
762
661
  */
763
662
  function getBtsSide(assetA, assetB) {
764
663
  if (assetA === 'BTS')
765
- return constants_1.ORDER_TYPES.SELL;
664
+ return ORDER_TYPES.SELL;
766
665
  if (assetB === 'BTS')
767
- return constants_1.ORDER_TYPES.BUY;
666
+ return ORDER_TYPES.BUY;
768
667
  return null;
769
668
  }
770
669
  // ================================================================================
@@ -810,13 +709,13 @@ function calculatePriceTolerance(gridPrice, orderSize, orderType, assets = null)
810
709
  orderSizeB = orderSize;
811
710
  orderSizeA = orderSize / gridPrice;
812
711
  }
813
- const minOrderSats = constants_1.GRID_LIMITS.MIN_ORDER_SIZE_FACTOR;
712
+ const minOrderSats = GRID_LIMITS.MIN_ORDER_SIZE_FACTOR;
814
713
  const satsA = Math.max(orderSizeA * Math.pow(10, precisionA), minOrderSats);
815
714
  const satsB = Math.max(orderSizeB * Math.pow(10, precisionB), minOrderSats);
816
715
  const termA = 1 / satsA;
817
716
  const termB = 1 / satsB;
818
717
  const tolerance = (termA + termB) * gridPrice;
819
- const maxTolerance = Math.max(gridPrice * constants_1.GRID_LIMITS.PRICE_TOLERANCE_MAX_PERCENT, constants_1.GRID_LIMITS.PRICE_TOLERANCE_MIN_ABSOLUTE);
718
+ const maxTolerance = Math.max(gridPrice * GRID_LIMITS.PRICE_TOLERANCE_MAX_PERCENT, GRID_LIMITS.PRICE_TOLERANCE_MIN_ABSOLUTE);
820
719
  return Math.min(tolerance, maxTolerance);
821
720
  }
822
721
  /**
@@ -898,15 +797,15 @@ function validateOrderAmountsWithinLimits(amountToSell, minToReceive, sellPrecis
898
797
  * @returns {number} Minimum order size in asset units
899
798
  * @throws {Error} If precision cannot be determined
900
799
  */
901
- function getMinOrderSize(orderType, assets, factor = constants_1.GRID_LIMITS.MIN_ORDER_SIZE_FACTOR) {
800
+ function getMinOrderSize(orderType, assets, factor = GRID_LIMITS.MIN_ORDER_SIZE_FACTOR) {
902
801
  const f = Number(factor);
903
802
  if (!f || !Number.isFinite(f) || f <= 0)
904
803
  return 0;
905
804
  let precision = null;
906
805
  if (assets) {
907
- if ((orderType === constants_1.ORDER_TYPES.SELL) && assets.assetA)
806
+ if ((orderType === ORDER_TYPES.SELL) && assets.assetA)
908
807
  precision = assets.assetA.precision;
909
- else if ((orderType === constants_1.ORDER_TYPES.BUY) && assets.assetB)
808
+ else if ((orderType === ORDER_TYPES.BUY) && assets.assetB)
910
809
  precision = assets.assetB.precision;
911
810
  }
912
811
  if (typeof precision !== 'number') {
@@ -920,7 +819,7 @@ function getMinOrderSize(orderType, assets, factor = constants_1.GRID_LIMITS.MIN
920
819
  * @param {number} [dustThresholdPercent=5] - Dust threshold percentage (default 5%)
921
820
  * @returns {number} Dust factor (e.g., 0.05 for 5%)
922
821
  */
923
- function getDustThresholdFactor(dustThresholdPercent = constants_1.GRID_LIMITS.PARTIAL_DUST_THRESHOLD_PERCENTAGE) {
822
+ function getDustThresholdFactor(dustThresholdPercent = GRID_LIMITS.PARTIAL_DUST_THRESHOLD_PERCENTAGE) {
924
823
  return dustThresholdPercent / 100;
925
824
  }
926
825
  /**
@@ -931,7 +830,7 @@ function getDustThresholdFactor(dustThresholdPercent = constants_1.GRID_LIMITS.P
931
830
  * @param {number} [dustThresholdPercent=5] - Threshold percentage (default 5%)
932
831
  * @returns {number} Single dust threshold (0 if idealSize invalid)
933
832
  */
934
- function getSingleDustThreshold(idealSize, dustThresholdPercent = constants_1.GRID_LIMITS.PARTIAL_DUST_THRESHOLD_PERCENTAGE) {
833
+ function getSingleDustThreshold(idealSize, dustThresholdPercent = GRID_LIMITS.PARTIAL_DUST_THRESHOLD_PERCENTAGE) {
935
834
  if (!idealSize || idealSize <= 0)
936
835
  return 0;
937
836
  return idealSize * getDustThresholdFactor(dustThresholdPercent);
@@ -945,7 +844,7 @@ function getSingleDustThreshold(idealSize, dustThresholdPercent = constants_1.GR
945
844
  * @param {number} [dustThresholdPercent=5] - Threshold percentage (default 5%)
946
845
  * @returns {number} Double dust threshold (0 if idealSize invalid)
947
846
  */
948
- function getDoubleDustThreshold(idealSize, dustThresholdPercent = constants_1.GRID_LIMITS.PARTIAL_DUST_THRESHOLD_PERCENTAGE) {
847
+ function getDoubleDustThreshold(idealSize, dustThresholdPercent = GRID_LIMITS.PARTIAL_DUST_THRESHOLD_PERCENTAGE) {
949
848
  if (!idealSize || idealSize <= 0)
950
849
  return 0;
951
850
  return idealSize * getDustThresholdFactor(dustThresholdPercent) * 2;
@@ -958,7 +857,7 @@ function getDoubleDustThreshold(idealSize, dustThresholdPercent = constants_1.GR
958
857
  * @param {number} [minFactor=50] - Minimum size factor (default 50)
959
858
  * @returns {number} Minimum order size in asset units
960
859
  */
961
- function getMinAbsoluteOrderSize(orderType, assets, minFactor = constants_1.GRID_LIMITS.MIN_ORDER_SIZE_FACTOR) {
860
+ function getMinAbsoluteOrderSize(orderType, assets, minFactor = GRID_LIMITS.MIN_ORDER_SIZE_FACTOR) {
962
861
  return getMinOrderSize(orderType, assets, minFactor);
963
862
  }
964
863
  /**
@@ -973,14 +872,14 @@ function getMinAbsoluteOrderSize(orderType, assets, minFactor = constants_1.GRID
973
872
  * @param {number} [dustThresholdPercent=5] - Dust threshold percentage (default 5%)
974
873
  * @returns {Object} Validation result {isValid, reason, minAbsoluteSize, minDustSize}
975
874
  */
976
- function validateOrderSize(orderSize, orderType, assets, minFactor = constants_1.GRID_LIMITS.MIN_ORDER_SIZE_FACTOR, idealSize = null, dustThresholdPercent = constants_1.GRID_LIMITS.PARTIAL_DUST_THRESHOLD_PERCENTAGE) {
875
+ function validateOrderSize(orderSize, orderType, assets, minFactor = GRID_LIMITS.MIN_ORDER_SIZE_FACTOR, idealSize = null, dustThresholdPercent = GRID_LIMITS.PARTIAL_DUST_THRESHOLD_PERCENTAGE) {
977
876
  const orderSizeFloat = toFiniteNumber(orderSize);
978
877
  const minAbsoluteSize = getMinAbsoluteOrderSize(orderType, assets, minFactor);
979
878
  let precision = null;
980
879
  if (assets) {
981
- if ((orderType === constants_1.ORDER_TYPES.SELL) && assets.assetA)
880
+ if ((orderType === ORDER_TYPES.SELL) && assets.assetA)
982
881
  precision = assets.assetA.precision;
983
- else if ((orderType === constants_1.ORDER_TYPES.BUY) && assets.assetB)
882
+ else if ((orderType === ORDER_TYPES.BUY) && assets.assetB)
984
883
  precision = assets.assetB.precision;
985
884
  }
986
885
  const displayPrecision = precision;
@@ -1077,20 +976,20 @@ function allocateFundsByWeights(totalFunds, n, weight, incrementFactor, reverse
1077
976
  function calculateOrderSizes(orders, config, sellFunds, buyFunds, minSellSize = 0, minBuySize = 0, precisionA = null, precisionB = null) {
1078
977
  const { incrementPercent, weightDistribution: { sell: sellWeight, buy: buyWeight } } = config;
1079
978
  const incrementFactor = incrementPercent / 100;
1080
- const sellOrders = orders.filter((o) => o.type === constants_1.ORDER_TYPES.SELL);
1081
- const buyOrders = orders.filter((o) => o.type === constants_1.ORDER_TYPES.BUY);
979
+ const sellOrders = orders.filter((o) => o.type === ORDER_TYPES.SELL);
980
+ const buyOrders = orders.filter((o) => o.type === ORDER_TYPES.BUY);
1082
981
  const sellSizes = allocateFundsByWeights(sellFunds, sellOrders.length, sellWeight, incrementFactor, false, minSellSize, precisionA);
1083
982
  const buySizes = allocateFundsByWeights(buyFunds, buyOrders.length, buyWeight, incrementFactor, true, minBuySize, precisionB);
1084
983
  const sellState = { sizes: sellSizes, index: 0 };
1085
984
  const buyState = { sizes: buySizes, index: 0 };
1086
985
  return orders.map((order) => {
1087
986
  let size = 0;
1088
- if (order.type === constants_1.ORDER_TYPES.SELL) {
987
+ if (order.type === ORDER_TYPES.SELL) {
1089
988
  if (sellState.index >= sellState.sizes.length)
1090
989
  throw new Error(`calculateOrderSizes: sell index ${sellState.index} out of bounds (len=${sellState.sizes.length})`);
1091
990
  size = sellState.sizes[sellState.index++];
1092
991
  }
1093
- else if (order.type === constants_1.ORDER_TYPES.BUY) {
992
+ else if (order.type === ORDER_TYPES.BUY) {
1094
993
  if (buyState.index >= buyState.sizes.length)
1095
994
  throw new Error(`calculateOrderSizes: buy index ${buyState.index} out of bounds (len=${buyState.sizes.length})`);
1096
995
  size = buyState.sizes[buyState.index++];
@@ -1120,8 +1019,8 @@ function calculateRotationOrderSizes(availableFunds, totalGridAllocation, orderC
1120
1019
  return new Array(orderCount).fill(0);
1121
1020
  const { incrementPercent, weightDistribution } = config;
1122
1021
  const incrementFactor = incrementPercent / 100;
1123
- const weight = (orderType === constants_1.ORDER_TYPES.SELL) ? weightDistribution.sell : weightDistribution.buy;
1124
- const reverse = (orderType === constants_1.ORDER_TYPES.BUY);
1022
+ const weight = (orderType === ORDER_TYPES.SELL) ? weightDistribution.sell : weightDistribution.buy;
1023
+ const reverse = (orderType === ORDER_TYPES.BUY);
1125
1024
  return allocateFundsByWeights(totalFunds, orderCount, weight, incrementFactor, reverse, minSize, precision);
1126
1025
  }
1127
1026
  /**
@@ -1192,7 +1091,7 @@ function calculateGridSideDivergenceMetric(calculatedOrders, persistedOrders, _s
1192
1091
  * @param {number} [feeMultiplier=BTS_RESERVATION_MULTIPLIER] - Multiplier for reservation (typically 5x)
1193
1092
  * @returns {number} Total fee amount (fallback BTS_FALLBACK_FEE if fee lookup fails; warning logged)
1194
1093
  */
1195
- function calculateOrderCreationFees(assetA, assetB, totalOrders, feeMultiplier = constants_1.FEE_PARAMETERS.BTS_RESERVATION_MULTIPLIER) {
1094
+ function calculateOrderCreationFees(assetA, assetB, totalOrders, feeMultiplier = FEE_PARAMETERS.BTS_RESERVATION_MULTIPLIER) {
1196
1095
  try {
1197
1096
  if (totalOrders > 0) {
1198
1097
  const btsFeeData = getAssetFees('BTS');
@@ -1200,37 +1099,14 @@ function calculateOrderCreationFees(assetA, assetB, totalOrders, feeMultiplier =
1200
1099
  }
1201
1100
  }
1202
1101
  catch (err) {
1203
- mathLogger.warn(`calculateOrderCreationFees: fee cache unavailable for ${assetA}/${assetB}: ${(0, errors_1.getErrorMessage)(err)}. Using fallback fee.`);
1204
- return constants_1.FEE_PARAMETERS.BTS_FALLBACK_FEE;
1205
- }
1206
- return 0;
1207
- }
1208
- /**
1209
- * Deduct order fees from available buy/sell funds.
1210
- * If BTS is the buy asset, deducts from buyFunds; if sell asset, deducts from sellFunds.
1211
- *
1212
- * @param {number} buyFunds - Available buy-side funds
1213
- * @param {number} sellFunds - Available sell-side funds
1214
- * @param {number} fees - Fee amount to deduct
1215
- * @param {Object} config - Configuration with assetA and assetB
1216
- * @param {Object} [logger=null] - Optional logger for logging deductions
1217
- * @returns {Object} Updated funds object {buyFunds, sellFunds}
1218
- */
1219
- function deductOrderFeesFromFunds(buyFunds, sellFunds, fees, config, logger = null) {
1220
- let finalBuy = buyFunds;
1221
- let finalSell = sellFunds;
1222
- if (fees > 0) {
1223
- const btsOrderType = getBtsSide(config?.assetA, config?.assetB);
1224
- if (btsOrderType === constants_1.ORDER_TYPES.BUY) {
1225
- finalBuy = Math.max(0, buyFunds - fees);
1226
- logger?.log?.(`Reduced available BTS (buy) funds by ${Format.formatAmount8(fees)}`, 'info');
1227
- }
1228
- else if (btsOrderType === constants_1.ORDER_TYPES.SELL) {
1229
- finalSell = Math.max(0, sellFunds - fees);
1230
- logger?.log?.(`Reduced available BTS (sell) funds by ${Format.formatAmount8(fees)}`, 'info');
1102
+ const key = `${assetA}/${assetB}`;
1103
+ if (!warnedMissingFeeCachePairs.has(key)) {
1104
+ warnedMissingFeeCachePairs.add(key);
1105
+ mathLogger.warn(`calculateOrderCreationFees: fee cache unavailable for ${key}: ${getErrorMessage(err)}. Using fallback fee.`);
1231
1106
  }
1107
+ return FEE_PARAMETERS.BTS_FALLBACK_FEE;
1232
1108
  }
1233
- return { buyFunds: finalBuy, sellFunds: finalSell };
1109
+ return 0;
1234
1110
  }
1235
1111
  /**
1236
1112
  * Calculate how much input asset to swap into a constant-product AMM pool
@@ -1272,9 +1148,9 @@ function calculateSwapInAmount(targetReceive, poolReserveOut, poolReserveIn) {
1272
1148
  * @returns {number} Number of gap slots
1273
1149
  */
1274
1150
  function calculateGapSlots(incrementPercent, targetSpreadPercent, gridLimits = {}) {
1275
- const DEFAULT_INCREMENT = Number(constants_1.DEFAULT_CONFIG.incrementPercent);
1276
- const MIN_SPREAD_FACTOR = gridLimits.MIN_SPREAD_FACTOR ?? constants_1.GRID_LIMITS.MIN_SPREAD_FACTOR;
1277
- const MIN_SPREAD_ORDERS = gridLimits.MIN_SPREAD_ORDERS ?? constants_1.GRID_LIMITS.MIN_SPREAD_ORDERS;
1151
+ const DEFAULT_INCREMENT = Number(DEFAULT_CONFIG.incrementPercent);
1152
+ const MIN_SPREAD_FACTOR = gridLimits.MIN_SPREAD_FACTOR ?? GRID_LIMITS.MIN_SPREAD_FACTOR;
1153
+ const MIN_SPREAD_ORDERS = gridLimits.MIN_SPREAD_ORDERS ?? GRID_LIMITS.MIN_SPREAD_ORDERS;
1278
1154
  const safeIncrement = (Number.isFinite(incrementPercent) && incrementPercent > 0) ? incrementPercent : DEFAULT_INCREMENT;
1279
1155
  const step = 1 + (safeIncrement / 100);
1280
1156
  const minSpreadPercent = safeIncrement * MIN_SPREAD_FACTOR;
@@ -1334,19 +1210,20 @@ function resolveGapBand(manager) {
1334
1210
  function countGapBandSpread(manager, orders, resolveIndex) {
1335
1211
  const resolved = resolveGapBand(manager);
1336
1212
  if (resolved.boundaryIdx === null || resolved.sellStartIdx === null) {
1337
- return Array.from(orders).filter((o) => o?.type === constants_1.ORDER_TYPES.SPREAD).length;
1213
+ return Array.from(orders).filter((o) => o?.type === ORDER_TYPES.SPREAD).length;
1338
1214
  }
1339
1215
  let count = 0;
1340
1216
  let arrayIndex = 0;
1341
1217
  for (const o of orders) {
1342
1218
  const idx = resolveIndex(o, arrayIndex);
1343
- if (o?.type === constants_1.ORDER_TYPES.SPREAD && idx !== null && idx > resolved.boundaryIdx && idx < resolved.sellStartIdx) {
1219
+ if (o?.type === ORDER_TYPES.SPREAD && idx !== null && idx > resolved.boundaryIdx && idx < resolved.sellStartIdx) {
1344
1220
  count++;
1345
1221
  }
1346
1222
  arrayIndex++;
1347
1223
  }
1348
1224
  return count;
1349
1225
  }
1226
+ export { getBtsSide, getSellStartIdx, resolveGapBand, countGapBandSpread, calculateGapSlots, isPercentageString, isPositiveNumber, isPositiveNumberOrPercent, isPositiveInt, parsePercentageString, toDecimal, resolveRelativePrice, isExplicitZeroAllocation, getPrecision, computeChainFundTotals, calculateAvailableFundsValue, computeBtsFeeImpact, adjustBudgetForBtsFees, getGridBestPrices, calculateSpreadFromOrders, resolveConfigValue, resolveConfigValueWithRegistry, hasValidAccountTotals, blockchainToFloat, floatToBlockchainInt, quantizeFloat, normalizeInt, getPrecisionByOrderType, getPrecisionsForManager, getPrecisionSlack, calculatePriceTolerance, findPriceCollision, validateOrderAmountsWithinLimits, getMinOrderSize, getDustThresholdFactor, getSingleDustThreshold, getDoubleDustThreshold, getMinAbsoluteOrderSize, validateOrderSize, getAssetFees, getAssetFeesSafe, allocateFundsByWeights, calculateOrderSizes, calculateRotationOrderSizes, calculateGridSideDivergenceMetric, calculateOrderCreationFees, calculateSwapInAmount, _setFeeCache, cloneWeightDistribution, clamp, roundTo, fixedTo, roundToDecimals };
1350
1227
  /**
1351
1228
  * Round a value to a given factor.
1352
1229
  * @param {number} value - Value to round
@@ -1 +1 @@
1
- {"version":3,"file":"math.js","sourceRoot":"","sources":["../../../../modules/order/utils/math.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"math.js","sourceRoot":"","sources":["../../../../modules/order/utils/math.ts"],"names":[],"mappings":"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"}
@@ -68,6 +68,51 @@
68
68
  *
69
69
  * ===============================================================================
70
70
  */
71
+ /**
72
+ * Detect a "chain order does not exist" error from a broadcast/read failure.
73
+ * Single canonical implementation used by the correction, reconcile-cancel,
74
+ * dust-cancel, and residual-cancel paths.
75
+ *
76
+ * The explicit "order ... does not exist" phrasings always match. The legacy
77
+ * generic 'not found' fragment and the object-missing phrasings match as-is
78
+ * when no orderId is given (legacy order.ts behavior for the correction path);
79
+ * when an orderId IS given (dust/residual cancel paths) they additionally
80
+ * require the orderId to appear in the message, so an unrelated missing-object
81
+ * error is never mistaken for a gone order.
82
+ * @param {string} message - Error message to inspect.
83
+ * @param {string} [orderId] - Order ID required to be present in the message
84
+ * for generic object-missing phrasings (precision mode).
85
+ * @returns {boolean} True if the message indicates the order is gone.
86
+ */
87
+ declare function isOrderGoneErrorMessage(message: any, orderId?: any): boolean;
88
+ /**
89
+ * Record a duplicate-orphan detection for an orderId.
90
+ * First sighting stays quiet (count 1). A repeated sighting of the same
91
+ * orderId escalates, but no more often than TIMING.STALE_TOTALS_WARN_RATE_LIMIT_MS.
92
+ * @param {string} orderId - Duplicate orphan chain order ID.
93
+ * @returns {{ count: number; shouldEscalate: boolean }} Detection stats.
94
+ */
95
+ declare function recordDuplicateOrphanDetection(orderId: any): {
96
+ count: number;
97
+ shouldEscalate: boolean;
98
+ };
99
+ /**
100
+ * Clear the detection counter for an orderId (e.g. after a confirmed cancel),
101
+ * so a resolved orphan never lingers and false-escalates later.
102
+ * @param {string} orderId - Chain order ID to forget.
103
+ */
104
+ declare function clearDuplicateOrphanDetection(orderId: any): void;
105
+ /**
106
+ * Record a duplicate-orphan detection and return the log level + re-detection
107
+ * suffix for the caller's diagnostic line. First sightings log at info; a
108
+ * repeat escalates to warn (rate-limited).
109
+ * @param {string} orderId - Duplicate orphan chain order ID.
110
+ * @returns {{ level: 'info'|'warn'; suffix: string }} Log level and suffix text.
111
+ */
112
+ declare function duplicateOrphanLogInfo(orderId: any): {
113
+ level: string;
114
+ suffix: string;
115
+ };
71
116
  /**
72
117
  * Parse blockchain order into standard grid order format.
73
118
  * Extracts price, type (BUY/SELL), and size from blockchain order structure.
@@ -104,7 +149,6 @@ declare function findMatchingGridOrderByOpenOrder(parsedChainOrder: any, opts: a
104
149
  /**
105
150
  * Update grid order size based on blockchain state.
106
151
  * Detects partial fills and updates accounting if size changed.
107
- * Skips dust refills (prevents unnecessary sync when size decreases).
108
152
  *
109
153
  * Returns the updated order object or null if no update needed.
110
154
  *
@@ -630,5 +674,5 @@ declare function getSideBudget(side: any, funds: any, config: any, totalTarget:
630
674
  * @returns {Array} Array of calculated sizes
631
675
  */
632
676
  declare function calculateBudgetedSizes(slots: any, side: any, budget: any, weightDist: any, incrementPercent: any, assets: any): any[];
633
- export { parseChainOrder, findMatchingGridOrderByOpenOrder, applyChainSizeToGridOrder, buildFillKey, correctOrderPriceOnChain, correctAllPriceMismatches, buildCreateOrderArgs, getOrderTypeFromUpdatedFlags, resolveConfiguredPriceBound, virtualizeOrder, convertToSpreadPlaceholder, resolveSpreadOrderSide, chainOrderMatchesSlot, parseSlotIndex, filterOrdersByType, buildOutsideInPairGroups, extractBatchOperationResults, formatUnmatchedChainOrder, isOrderOnChain, isOrderVirtual, hasOnChainId, isOrderPlaced, isPhantomOrder, isSlotAvailable, isEmptyGridSlot, isOrderHealthy, checkSizeThreshold, checkSizesBeforeMinimum, calculateIdealBoundary, calculateFundDrivenBoundary, assignGridRoles, resolveOnChainRetypeType, shouldFlagOutOfSpread, buildIndexes, validateIndexes, ordersEqual, buildDelta, getOrderSize, deriveTargetBoundary, adjustBudgetForBtsFees, getActiveOrdersTotal, getSideBudget, calculateBudgetedSizes, buildCreateOpFingerprint };
677
+ export { parseChainOrder, findMatchingGridOrderByOpenOrder, applyChainSizeToGridOrder, buildFillKey, correctOrderPriceOnChain, correctAllPriceMismatches, buildCreateOrderArgs, getOrderTypeFromUpdatedFlags, resolveConfiguredPriceBound, virtualizeOrder, convertToSpreadPlaceholder, resolveSpreadOrderSide, chainOrderMatchesSlot, parseSlotIndex, filterOrdersByType, buildOutsideInPairGroups, extractBatchOperationResults, formatUnmatchedChainOrder, isOrderOnChain, isOrderVirtual, hasOnChainId, isOrderPlaced, isPhantomOrder, isSlotAvailable, isEmptyGridSlot, isOrderHealthy, checkSizeThreshold, checkSizesBeforeMinimum, calculateIdealBoundary, calculateFundDrivenBoundary, assignGridRoles, resolveOnChainRetypeType, shouldFlagOutOfSpread, buildIndexes, validateIndexes, ordersEqual, buildDelta, getOrderSize, deriveTargetBoundary, adjustBudgetForBtsFees, getActiveOrdersTotal, getSideBudget, calculateBudgetedSizes, buildCreateOpFingerprint, isOrderGoneErrorMessage, recordDuplicateOrphanDetection, clearDuplicateOrphanDetection, duplicateOrphanLogInfo };
634
678
  //# sourceMappingURL=order.d.ts.map