dexbot 1.1.10

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 (807) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +287 -0
  3. package/claw/README.md +513 -0
  4. package/claw/scripts/memu_runner.py +385 -0
  5. package/claw/skills/bitshares-guide/SKILL.md +14 -0
  6. package/claw/skills/bitshares-guide/references/example-skill-shells.md +18 -0
  7. package/claw/skills/bitshares-guide/references/presentation-patterns.md +19 -0
  8. package/claw/skills/bitshares-guide/references/scope-guardrails.md +9 -0
  9. package/claw/skills/launcher-ops/SKILL.md +18 -0
  10. package/claw/skills/launcher-ops/references/launcher-workflow.md +23 -0
  11. package/claw/skills/margin-trading/SKILL.md +23 -0
  12. package/claw/skills/margin-trading/references/honest-asset-list.md +74 -0
  13. package/claw/skills/margin-trading/references/honest-assets.md +44 -0
  14. package/claw/skills/margin-trading/references/position-management.md +203 -0
  15. package/claw/skills/margin-trading/references/trading-concepts.md +80 -0
  16. package/claw/skills/memu-memory/SKILL.md +218 -0
  17. package/claw/skills/shared/references/js-automation-overview.md +24 -0
  18. package/claw/skills/shared/references/safety-and-staleness.md +11 -0
  19. package/claw/skills/shared/references/skill-boundaries.md +17 -0
  20. package/claw/skills/trend-detection/SKILL.md +33 -0
  21. package/claw/skills/trend-detection/agents/openai.yaml +3 -0
  22. package/claw/skills/trend-detection/references/service.md +45 -0
  23. package/dist/analysis/ama_fitting/analyze_ama_price_changes.d.ts +3 -0
  24. package/dist/analysis/ama_fitting/analyze_ama_price_changes.d.ts.map +1 -0
  25. package/dist/analysis/ama_fitting/analyze_ama_price_changes.js +149 -0
  26. package/dist/analysis/ama_fitting/analyze_ama_price_changes.js.map +1 -0
  27. package/dist/analysis/ama_fitting/analyze_lambda_vs_slow.d.ts +3 -0
  28. package/dist/analysis/ama_fitting/analyze_lambda_vs_slow.d.ts.map +1 -0
  29. package/dist/analysis/ama_fitting/analyze_lambda_vs_slow.js +387 -0
  30. package/dist/analysis/ama_fitting/analyze_lambda_vs_slow.js.map +1 -0
  31. package/dist/analysis/ama_fitting/calibrate_convergence_er.d.ts +3 -0
  32. package/dist/analysis/ama_fitting/calibrate_convergence_er.d.ts.map +1 -0
  33. package/dist/analysis/ama_fitting/calibrate_convergence_er.js +200 -0
  34. package/dist/analysis/ama_fitting/calibrate_convergence_er.js.map +1 -0
  35. package/dist/analysis/ama_fitting/fetch_lp_candles.d.ts +3 -0
  36. package/dist/analysis/ama_fitting/fetch_lp_candles.d.ts.map +1 -0
  37. package/dist/analysis/ama_fitting/fetch_lp_candles.js +212 -0
  38. package/dist/analysis/ama_fitting/fetch_lp_candles.js.map +1 -0
  39. package/dist/analysis/ama_fitting/generate_unified_comparison_chart.d.ts +31 -0
  40. package/dist/analysis/ama_fitting/generate_unified_comparison_chart.d.ts.map +1 -0
  41. package/dist/analysis/ama_fitting/generate_unified_comparison_chart.js +249 -0
  42. package/dist/analysis/ama_fitting/generate_unified_comparison_chart.js.map +1 -0
  43. package/dist/analysis/ama_fitting/optimizer_high_resolution.d.ts +2 -0
  44. package/dist/analysis/ama_fitting/optimizer_high_resolution.d.ts.map +1 -0
  45. package/dist/analysis/ama_fitting/optimizer_high_resolution.js +782 -0
  46. package/dist/analysis/ama_fitting/optimizer_high_resolution.js.map +1 -0
  47. package/dist/analysis/analyze_derivatives.d.ts +95 -0
  48. package/dist/analysis/analyze_derivatives.d.ts.map +1 -0
  49. package/dist/analysis/analyze_derivatives.js +295 -0
  50. package/dist/analysis/analyze_derivatives.js.map +1 -0
  51. package/dist/analysis/analyze_dynamic_weight.d.ts +14 -0
  52. package/dist/analysis/analyze_dynamic_weight.d.ts.map +1 -0
  53. package/dist/analysis/analyze_dynamic_weight.js +208 -0
  54. package/dist/analysis/analyze_dynamic_weight.js.map +1 -0
  55. package/dist/analysis/analyze_kalman.d.ts +13 -0
  56. package/dist/analysis/analyze_kalman.d.ts.map +1 -0
  57. package/dist/analysis/analyze_kalman.js +123 -0
  58. package/dist/analysis/analyze_kalman.js.map +1 -0
  59. package/dist/analysis/analyze_regime.d.ts +20 -0
  60. package/dist/analysis/analyze_regime.d.ts.map +1 -0
  61. package/dist/analysis/analyze_regime.js +139 -0
  62. package/dist/analysis/analyze_regime.js.map +1 -0
  63. package/dist/analysis/analyze_regime_windows.d.ts +19 -0
  64. package/dist/analysis/analyze_regime_windows.d.ts.map +1 -0
  65. package/dist/analysis/analyze_regime_windows.js +413 -0
  66. package/dist/analysis/analyze_regime_windows.js.map +1 -0
  67. package/dist/analysis/analyze_risk_profile.d.ts +3 -0
  68. package/dist/analysis/analyze_risk_profile.d.ts.map +1 -0
  69. package/dist/analysis/analyze_risk_profile.js +159 -0
  70. package/dist/analysis/analyze_risk_profile.js.map +1 -0
  71. package/dist/analysis/analyze_trade_heatmap.d.ts +3 -0
  72. package/dist/analysis/analyze_trade_heatmap.d.ts.map +1 -0
  73. package/dist/analysis/analyze_trade_heatmap.js +367 -0
  74. package/dist/analysis/analyze_trade_heatmap.js.map +1 -0
  75. package/dist/analysis/analyze_volatility.d.ts +22 -0
  76. package/dist/analysis/analyze_volatility.d.ts.map +1 -0
  77. package/dist/analysis/analyze_volatility.js +172 -0
  78. package/dist/analysis/analyze_volatility.js.map +1 -0
  79. package/dist/analysis/bot_fitting/backtest_ama_sweep.d.ts +99 -0
  80. package/dist/analysis/bot_fitting/backtest_ama_sweep.d.ts.map +1 -0
  81. package/dist/analysis/bot_fitting/backtest_ama_sweep.js +804 -0
  82. package/dist/analysis/bot_fitting/backtest_ama_sweep.js.map +1 -0
  83. package/dist/analysis/bot_fitting/backtest_bot_fitting.d.ts +2 -0
  84. package/dist/analysis/bot_fitting/backtest_bot_fitting.d.ts.map +1 -0
  85. package/dist/analysis/bot_fitting/backtest_bot_fitting.js +347 -0
  86. package/dist/analysis/bot_fitting/backtest_bot_fitting.js.map +1 -0
  87. package/dist/analysis/bot_fitting/shared_utils.d.ts +15 -0
  88. package/dist/analysis/bot_fitting/shared_utils.d.ts.map +1 -0
  89. package/dist/analysis/bot_fitting/shared_utils.js +48 -0
  90. package/dist/analysis/bot_fitting/shared_utils.js.map +1 -0
  91. package/dist/analysis/bot_key_utils.d.ts +16 -0
  92. package/dist/analysis/bot_key_utils.d.ts.map +1 -0
  93. package/dist/analysis/bot_key_utils.js +61 -0
  94. package/dist/analysis/bot_key_utils.js.map +1 -0
  95. package/dist/analysis/bot_usage/discover_bot_accounts.d.ts +3 -0
  96. package/dist/analysis/bot_usage/discover_bot_accounts.d.ts.map +1 -0
  97. package/dist/analysis/bot_usage/discover_bot_accounts.js +498 -0
  98. package/dist/analysis/bot_usage/discover_bot_accounts.js.map +1 -0
  99. package/dist/analysis/bot_usage/kibana_bot_queries.d.ts +546 -0
  100. package/dist/analysis/bot_usage/kibana_bot_queries.d.ts.map +1 -0
  101. package/dist/analysis/bot_usage/kibana_bot_queries.js +427 -0
  102. package/dist/analysis/bot_usage/kibana_bot_queries.js.map +1 -0
  103. package/dist/analysis/chart_utils.d.ts +13 -0
  104. package/dist/analysis/chart_utils.d.ts.map +1 -0
  105. package/dist/analysis/chart_utils.js +142 -0
  106. package/dist/analysis/chart_utils.js.map +1 -0
  107. package/dist/analysis/derivative_chart_generator.d.ts +18 -0
  108. package/dist/analysis/derivative_chart_generator.d.ts.map +1 -0
  109. package/dist/analysis/derivative_chart_generator.js +896 -0
  110. package/dist/analysis/derivative_chart_generator.js.map +1 -0
  111. package/dist/analysis/math_utils.d.ts +35 -0
  112. package/dist/analysis/math_utils.d.ts.map +1 -0
  113. package/dist/analysis/math_utils.js +121 -0
  114. package/dist/analysis/math_utils.js.map +1 -0
  115. package/dist/analysis/price_sources.d.ts +34 -0
  116. package/dist/analysis/price_sources.d.ts.map +1 -0
  117. package/dist/analysis/price_sources.js +103 -0
  118. package/dist/analysis/price_sources.js.map +1 -0
  119. package/dist/analysis/trade_profitability.d.ts +115 -0
  120. package/dist/analysis/trade_profitability.d.ts.map +1 -0
  121. package/dist/analysis/trade_profitability.js +1247 -0
  122. package/dist/analysis/trade_profitability.js.map +1 -0
  123. package/dist/analysis/tradingview/analyze_tradingview.d.ts +38 -0
  124. package/dist/analysis/tradingview/analyze_tradingview.d.ts.map +1 -0
  125. package/dist/analysis/tradingview/analyze_tradingview.js +212 -0
  126. package/dist/analysis/tradingview/analyze_tradingview.js.map +1 -0
  127. package/dist/analysis/tradingview/tradingview_uplot_chart_generator.d.ts +9 -0
  128. package/dist/analysis/tradingview/tradingview_uplot_chart_generator.d.ts.map +1 -0
  129. package/dist/analysis/tradingview/tradingview_uplot_chart_generator.js +1717 -0
  130. package/dist/analysis/tradingview/tradingview_uplot_chart_generator.js.map +1 -0
  131. package/dist/analysis/trend_detection/derivative_analyzer.d.ts +250 -0
  132. package/dist/analysis/trend_detection/derivative_analyzer.d.ts.map +1 -0
  133. package/dist/analysis/trend_detection/derivative_analyzer.js +903 -0
  134. package/dist/analysis/trend_detection/derivative_analyzer.js.map +1 -0
  135. package/dist/analysis/trend_detection/dynamic_weight_chart_generator.d.ts +6 -0
  136. package/dist/analysis/trend_detection/dynamic_weight_chart_generator.d.ts.map +1 -0
  137. package/dist/analysis/trend_detection/dynamic_weight_chart_generator.js +1449 -0
  138. package/dist/analysis/trend_detection/dynamic_weight_chart_generator.js.map +1 -0
  139. package/dist/analysis/trend_detection/hurst_analyzer.d.ts +42 -0
  140. package/dist/analysis/trend_detection/hurst_analyzer.d.ts.map +1 -0
  141. package/dist/analysis/trend_detection/hurst_analyzer.js +159 -0
  142. package/dist/analysis/trend_detection/hurst_analyzer.js.map +1 -0
  143. package/dist/analysis/trend_detection/kalman_chart_generator.d.ts +6 -0
  144. package/dist/analysis/trend_detection/kalman_chart_generator.d.ts.map +1 -0
  145. package/dist/analysis/trend_detection/kalman_chart_generator.js +408 -0
  146. package/dist/analysis/trend_detection/kalman_chart_generator.js.map +1 -0
  147. package/dist/analysis/trend_detection/kalman_trend_analyzer.d.ts +103 -0
  148. package/dist/analysis/trend_detection/kalman_trend_analyzer.d.ts.map +1 -0
  149. package/dist/analysis/trend_detection/kalman_trend_analyzer.js +229 -0
  150. package/dist/analysis/trend_detection/kalman_trend_analyzer.js.map +1 -0
  151. package/dist/analysis/trend_detection/kalman_velocity_smoothing.d.ts +34 -0
  152. package/dist/analysis/trend_detection/kalman_velocity_smoothing.d.ts.map +1 -0
  153. package/dist/analysis/trend_detection/kalman_velocity_smoothing.js +89 -0
  154. package/dist/analysis/trend_detection/kalman_velocity_smoothing.js.map +1 -0
  155. package/dist/analysis/trend_detection/permutation_entropy_analyzer.d.ts +39 -0
  156. package/dist/analysis/trend_detection/permutation_entropy_analyzer.d.ts.map +1 -0
  157. package/dist/analysis/trend_detection/permutation_entropy_analyzer.js +132 -0
  158. package/dist/analysis/trend_detection/permutation_entropy_analyzer.js.map +1 -0
  159. package/dist/analysis/trend_detection/regime_chart_generator.d.ts +6 -0
  160. package/dist/analysis/trend_detection/regime_chart_generator.d.ts.map +1 -0
  161. package/dist/analysis/trend_detection/regime_chart_generator.js +345 -0
  162. package/dist/analysis/trend_detection/regime_chart_generator.js.map +1 -0
  163. package/dist/analysis/trend_detection/tests/test_kalman_trend.d.ts +2 -0
  164. package/dist/analysis/trend_detection/tests/test_kalman_trend.d.ts.map +1 -0
  165. package/dist/analysis/trend_detection/tests/test_kalman_trend.js +130 -0
  166. package/dist/analysis/trend_detection/tests/test_kalman_trend.js.map +1 -0
  167. package/dist/analysis/trend_detection/tests/test_kalman_velocity_smoothing.d.ts +2 -0
  168. package/dist/analysis/trend_detection/tests/test_kalman_velocity_smoothing.d.ts.map +1 -0
  169. package/dist/analysis/trend_detection/tests/test_kalman_velocity_smoothing.js +38 -0
  170. package/dist/analysis/trend_detection/tests/test_kalman_velocity_smoothing.js.map +1 -0
  171. package/dist/analysis/trend_detection/volatility_chart_generator.d.ts +6 -0
  172. package/dist/analysis/trend_detection/volatility_chart_generator.d.ts.map +1 -0
  173. package/dist/analysis/trend_detection/volatility_chart_generator.js +732 -0
  174. package/dist/analysis/trend_detection/volatility_chart_generator.js.map +1 -0
  175. package/dist/bot.d.ts +49 -0
  176. package/dist/bot.d.ts.map +1 -0
  177. package/dist/bot.js +221 -0
  178. package/dist/bot.js.map +1 -0
  179. package/dist/credential-daemon.d.ts +64 -0
  180. package/dist/credential-daemon.d.ts.map +1 -0
  181. package/dist/credential-daemon.js +987 -0
  182. package/dist/credential-daemon.js.map +1 -0
  183. package/dist/dexbot.d.ts +87 -0
  184. package/dist/dexbot.d.ts.map +1 -0
  185. package/dist/dexbot.js +1222 -0
  186. package/dist/dexbot.js.map +1 -0
  187. package/dist/market_adapter/ama_signal_runner.d.ts +3 -0
  188. package/dist/market_adapter/ama_signal_runner.d.ts.map +1 -0
  189. package/dist/market_adapter/ama_signal_runner.js +175 -0
  190. package/dist/market_adapter/ama_signal_runner.js.map +1 -0
  191. package/dist/market_adapter/candle_utils.d.ts +57 -0
  192. package/dist/market_adapter/candle_utils.d.ts.map +1 -0
  193. package/dist/market_adapter/candle_utils.js +252 -0
  194. package/dist/market_adapter/candle_utils.js.map +1 -0
  195. package/dist/market_adapter/core/asymmetric_bounds.d.ts +20 -0
  196. package/dist/market_adapter/core/asymmetric_bounds.d.ts.map +1 -0
  197. package/dist/market_adapter/core/asymmetric_bounds.js +88 -0
  198. package/dist/market_adapter/core/asymmetric_bounds.js.map +1 -0
  199. package/dist/market_adapter/core/config_normalizers.d.ts +10 -0
  200. package/dist/market_adapter/core/config_normalizers.d.ts.map +1 -0
  201. package/dist/market_adapter/core/config_normalizers.js +24 -0
  202. package/dist/market_adapter/core/config_normalizers.js.map +1 -0
  203. package/dist/market_adapter/core/kibana_candles.d.ts +74 -0
  204. package/dist/market_adapter/core/kibana_candles.d.ts.map +1 -0
  205. package/dist/market_adapter/core/kibana_candles.js +249 -0
  206. package/dist/market_adapter/core/kibana_candles.js.map +1 -0
  207. package/dist/market_adapter/core/kibana_client.d.ts +27 -0
  208. package/dist/market_adapter/core/kibana_client.d.ts.map +1 -0
  209. package/dist/market_adapter/core/kibana_client.js +120 -0
  210. package/dist/market_adapter/core/kibana_client.js.map +1 -0
  211. package/dist/market_adapter/core/kibana_market_candles.d.ts +143 -0
  212. package/dist/market_adapter/core/kibana_market_candles.d.ts.map +1 -0
  213. package/dist/market_adapter/core/kibana_market_candles.js +170 -0
  214. package/dist/market_adapter/core/kibana_market_candles.js.map +1 -0
  215. package/dist/market_adapter/core/market_adapter_service.d.ts +210 -0
  216. package/dist/market_adapter/core/market_adapter_service.d.ts.map +1 -0
  217. package/dist/market_adapter/core/market_adapter_service.js +2328 -0
  218. package/dist/market_adapter/core/market_adapter_service.js.map +1 -0
  219. package/dist/market_adapter/core/strategies/ama.d.ts +2 -0
  220. package/dist/market_adapter/core/strategies/ama.d.ts.map +1 -0
  221. package/dist/market_adapter/core/strategies/ama.js +138 -0
  222. package/dist/market_adapter/core/strategies/ama.js.map +1 -0
  223. package/dist/market_adapter/core/strategies/ama_slope_model.d.ts +50 -0
  224. package/dist/market_adapter/core/strategies/ama_slope_model.d.ts.map +1 -0
  225. package/dist/market_adapter/core/strategies/ama_slope_model.js +143 -0
  226. package/dist/market_adapter/core/strategies/ama_slope_model.js.map +1 -0
  227. package/dist/market_adapter/core/strategies/atr/calculator.d.ts +12 -0
  228. package/dist/market_adapter/core/strategies/atr/calculator.d.ts.map +1 -0
  229. package/dist/market_adapter/core/strategies/atr/calculator.js +47 -0
  230. package/dist/market_adapter/core/strategies/atr/calculator.js.map +1 -0
  231. package/dist/market_adapter/core/strategies/collateral_manager.d.ts +32 -0
  232. package/dist/market_adapter/core/strategies/collateral_manager.d.ts.map +1 -0
  233. package/dist/market_adapter/core/strategies/collateral_manager.js +68 -0
  234. package/dist/market_adapter/core/strategies/collateral_manager.js.map +1 -0
  235. package/dist/market_adapter/core/strategies/regime_gate.d.ts +66 -0
  236. package/dist/market_adapter/core/strategies/regime_gate.d.ts.map +1 -0
  237. package/dist/market_adapter/core/strategies/regime_gate.js +189 -0
  238. package/dist/market_adapter/core/strategies/regime_gate.js.map +1 -0
  239. package/dist/market_adapter/index.d.ts +10 -0
  240. package/dist/market_adapter/index.d.ts.map +1 -0
  241. package/dist/market_adapter/index.js +71 -0
  242. package/dist/market_adapter/index.js.map +1 -0
  243. package/dist/market_adapter/inputs/fetch_cex_synthetic_data.d.ts +3 -0
  244. package/dist/market_adapter/inputs/fetch_cex_synthetic_data.d.ts.map +1 -0
  245. package/dist/market_adapter/inputs/fetch_cex_synthetic_data.js +1165 -0
  246. package/dist/market_adapter/inputs/fetch_cex_synthetic_data.js.map +1 -0
  247. package/dist/market_adapter/inputs/fetch_lp_data.d.ts +54 -0
  248. package/dist/market_adapter/inputs/fetch_lp_data.d.ts.map +1 -0
  249. package/dist/market_adapter/inputs/fetch_lp_data.js +743 -0
  250. package/dist/market_adapter/inputs/fetch_lp_data.js.map +1 -0
  251. package/dist/market_adapter/inputs/kibana_source.d.ts +68 -0
  252. package/dist/market_adapter/inputs/kibana_source.d.ts.map +1 -0
  253. package/dist/market_adapter/inputs/kibana_source.js +143 -0
  254. package/dist/market_adapter/inputs/kibana_source.js.map +1 -0
  255. package/dist/market_adapter/interval_utils.d.ts +6 -0
  256. package/dist/market_adapter/interval_utils.d.ts.map +1 -0
  257. package/dist/market_adapter/interval_utils.js +14 -0
  258. package/dist/market_adapter/interval_utils.js.map +1 -0
  259. package/dist/market_adapter/log_format.d.ts +16 -0
  260. package/dist/market_adapter/log_format.d.ts.map +1 -0
  261. package/dist/market_adapter/log_format.js +72 -0
  262. package/dist/market_adapter/log_format.js.map +1 -0
  263. package/dist/market_adapter/lp_chart_core.d.ts +6 -0
  264. package/dist/market_adapter/lp_chart_core.d.ts.map +1 -0
  265. package/dist/market_adapter/lp_chart_core.js +874 -0
  266. package/dist/market_adapter/lp_chart_core.js.map +1 -0
  267. package/dist/market_adapter/lp_chart_runner.d.ts +135 -0
  268. package/dist/market_adapter/lp_chart_runner.d.ts.map +1 -0
  269. package/dist/market_adapter/lp_chart_runner.js +337 -0
  270. package/dist/market_adapter/lp_chart_runner.js.map +1 -0
  271. package/dist/market_adapter/lp_chart_strategy_loader.d.ts +23 -0
  272. package/dist/market_adapter/lp_chart_strategy_loader.d.ts.map +1 -0
  273. package/dist/market_adapter/lp_chart_strategy_loader.js +169 -0
  274. package/dist/market_adapter/lp_chart_strategy_loader.js.map +1 -0
  275. package/dist/market_adapter/market_adapter.d.ts +133 -0
  276. package/dist/market_adapter/market_adapter.d.ts.map +1 -0
  277. package/dist/market_adapter/market_adapter.js +1331 -0
  278. package/dist/market_adapter/market_adapter.js.map +1 -0
  279. package/dist/market_adapter/merge_lp_data.d.ts +3 -0
  280. package/dist/market_adapter/merge_lp_data.d.ts.map +1 -0
  281. package/dist/market_adapter/merge_lp_data.js +125 -0
  282. package/dist/market_adapter/merge_lp_data.js.map +1 -0
  283. package/dist/market_adapter/test_helpers.d.ts +14 -0
  284. package/dist/market_adapter/test_helpers.d.ts.map +1 -0
  285. package/dist/market_adapter/test_helpers.js +22 -0
  286. package/dist/market_adapter/test_helpers.js.map +1 -0
  287. package/dist/market_adapter/utils/adapter_client.d.ts +20 -0
  288. package/dist/market_adapter/utils/adapter_client.d.ts.map +1 -0
  289. package/dist/market_adapter/utils/adapter_client.js +88 -0
  290. package/dist/market_adapter/utils/adapter_client.js.map +1 -0
  291. package/dist/market_adapter/utils/atomic_write.d.ts +9 -0
  292. package/dist/market_adapter/utils/atomic_write.d.ts.map +1 -0
  293. package/dist/market_adapter/utils/atomic_write.js +13 -0
  294. package/dist/market_adapter/utils/atomic_write.js.map +1 -0
  295. package/dist/market_adapter/utils/chain.d.ts +50 -0
  296. package/dist/market_adapter/utils/chain.d.ts.map +1 -0
  297. package/dist/market_adapter/utils/chain.js +196 -0
  298. package/dist/market_adapter/utils/chain.js.map +1 -0
  299. package/dist/market_adapter/utils/data_discovery.d.ts +6 -0
  300. package/dist/market_adapter/utils/data_discovery.d.ts.map +1 -0
  301. package/dist/market_adapter/utils/data_discovery.js +35 -0
  302. package/dist/market_adapter/utils/data_discovery.js.map +1 -0
  303. package/dist/market_adapter/utils/dynamic_grid_snapshot.d.ts +15 -0
  304. package/dist/market_adapter/utils/dynamic_grid_snapshot.d.ts.map +1 -0
  305. package/dist/market_adapter/utils/dynamic_grid_snapshot.js +60 -0
  306. package/dist/market_adapter/utils/dynamic_grid_snapshot.js.map +1 -0
  307. package/dist/market_adapter/utils/file_lock.d.ts +19 -0
  308. package/dist/market_adapter/utils/file_lock.d.ts.map +1 -0
  309. package/dist/market_adapter/utils/file_lock.js +191 -0
  310. package/dist/market_adapter/utils/file_lock.js.map +1 -0
  311. package/dist/market_adapter/utils/native_history.d.ts +19 -0
  312. package/dist/market_adapter/utils/native_history.d.ts.map +1 -0
  313. package/dist/market_adapter/utils/native_history.js +172 -0
  314. package/dist/market_adapter/utils/native_history.js.map +1 -0
  315. package/dist/market_adapter/utils/paths.d.ts +5 -0
  316. package/dist/market_adapter/utils/paths.d.ts.map +1 -0
  317. package/dist/market_adapter/utils/paths.js +7 -0
  318. package/dist/market_adapter/utils/paths.js.map +1 -0
  319. package/dist/modules/account_bots.d.ts +112 -0
  320. package/dist/modules/account_bots.d.ts.map +1 -0
  321. package/dist/modules/account_bots.js +1259 -0
  322. package/dist/modules/account_bots.js.map +1 -0
  323. package/dist/modules/account_orders.d.ts +273 -0
  324. package/dist/modules/account_orders.d.ts.map +1 -0
  325. package/dist/modules/account_orders.js +662 -0
  326. package/dist/modules/account_orders.js.map +1 -0
  327. package/dist/modules/authority_resolver.d.ts +2 -0
  328. package/dist/modules/authority_resolver.d.ts.map +1 -0
  329. package/dist/modules/authority_resolver.js +231 -0
  330. package/dist/modules/authority_resolver.js.map +1 -0
  331. package/dist/modules/bitshares-native/chain_client.d.ts +38 -0
  332. package/dist/modules/bitshares-native/chain_client.d.ts.map +1 -0
  333. package/dist/modules/bitshares-native/chain_client.js +322 -0
  334. package/dist/modules/bitshares-native/chain_client.js.map +1 -0
  335. package/dist/modules/bitshares-native/crypto/ecc.browser.d.ts +59 -0
  336. package/dist/modules/bitshares-native/crypto/ecc.browser.d.ts.map +1 -0
  337. package/dist/modules/bitshares-native/crypto/ecc.browser.js +456 -0
  338. package/dist/modules/bitshares-native/crypto/ecc.browser.js.map +1 -0
  339. package/dist/modules/bitshares-native/crypto/ecc.d.ts +66 -0
  340. package/dist/modules/bitshares-native/crypto/ecc.d.ts.map +1 -0
  341. package/dist/modules/bitshares-native/crypto/ecc.js +557 -0
  342. package/dist/modules/bitshares-native/crypto/ecc.js.map +1 -0
  343. package/dist/modules/bitshares-native/crypto/ecc_selector.d.ts +2 -0
  344. package/dist/modules/bitshares-native/crypto/ecc_selector.d.ts.map +1 -0
  345. package/dist/modules/bitshares-native/crypto/ecc_selector.js +20 -0
  346. package/dist/modules/bitshares-native/crypto/ecc_selector.js.map +1 -0
  347. package/dist/modules/bitshares-native/index.d.ts +3 -0
  348. package/dist/modules/bitshares-native/index.d.ts.map +1 -0
  349. package/dist/modules/bitshares-native/index.js +32 -0
  350. package/dist/modules/bitshares-native/index.js.map +1 -0
  351. package/dist/modules/bitshares-native/resolvers.d.ts +40 -0
  352. package/dist/modules/bitshares-native/resolvers.d.ts.map +1 -0
  353. package/dist/modules/bitshares-native/resolvers.js +161 -0
  354. package/dist/modules/bitshares-native/resolvers.js.map +1 -0
  355. package/dist/modules/bitshares-native/serial/chain_constants.d.ts +56 -0
  356. package/dist/modules/bitshares-native/serial/chain_constants.d.ts.map +1 -0
  357. package/dist/modules/bitshares-native/serial/chain_constants.js +92 -0
  358. package/dist/modules/bitshares-native/serial/chain_constants.js.map +1 -0
  359. package/dist/modules/bitshares-native/serial/index.d.ts +10 -0
  360. package/dist/modules/bitshares-native/serial/index.d.ts.map +1 -0
  361. package/dist/modules/bitshares-native/serial/index.js +14 -0
  362. package/dist/modules/bitshares-native/serial/index.js.map +1 -0
  363. package/dist/modules/bitshares-native/serial/operations.d.ts +102 -0
  364. package/dist/modules/bitshares-native/serial/operations.d.ts.map +1 -0
  365. package/dist/modules/bitshares-native/serial/operations.js +615 -0
  366. package/dist/modules/bitshares-native/serial/operations.js.map +1 -0
  367. package/dist/modules/bitshares-native/serial/serializer.d.ts +64 -0
  368. package/dist/modules/bitshares-native/serial/serializer.d.ts.map +1 -0
  369. package/dist/modules/bitshares-native/serial/serializer.js +252 -0
  370. package/dist/modules/bitshares-native/serial/serializer.js.map +1 -0
  371. package/dist/modules/bitshares-native/serial/types.d.ts +120 -0
  372. package/dist/modules/bitshares-native/serial/types.d.ts.map +1 -0
  373. package/dist/modules/bitshares-native/serial/types.js +837 -0
  374. package/dist/modules/bitshares-native/serial/types.js.map +1 -0
  375. package/dist/modules/bitshares-native/signing_client.d.ts +6 -0
  376. package/dist/modules/bitshares-native/signing_client.d.ts.map +1 -0
  377. package/dist/modules/bitshares-native/signing_client.js +141 -0
  378. package/dist/modules/bitshares-native/signing_client.js.map +1 -0
  379. package/dist/modules/bitshares-native/subscriptions.d.ts +6 -0
  380. package/dist/modules/bitshares-native/subscriptions.d.ts.map +1 -0
  381. package/dist/modules/bitshares-native/subscriptions.js +865 -0
  382. package/dist/modules/bitshares-native/subscriptions.js.map +1 -0
  383. package/dist/modules/bitshares-native/transport.d.ts +51 -0
  384. package/dist/modules/bitshares-native/transport.d.ts.map +1 -0
  385. package/dist/modules/bitshares-native/transport.js +447 -0
  386. package/dist/modules/bitshares-native/transport.js.map +1 -0
  387. package/dist/modules/bitshares-native/tx/builder.d.ts +30 -0
  388. package/dist/modules/bitshares-native/tx/builder.d.ts.map +1 -0
  389. package/dist/modules/bitshares-native/tx/builder.js +262 -0
  390. package/dist/modules/bitshares-native/tx/builder.js.map +1 -0
  391. package/dist/modules/bitshares_client.d.ts +129 -0
  392. package/dist/modules/bitshares_client.d.ts.map +1 -0
  393. package/dist/modules/bitshares_client.js +627 -0
  394. package/dist/modules/bitshares_client.js.map +1 -0
  395. package/dist/modules/bot_settings.d.ts +33 -0
  396. package/dist/modules/bot_settings.d.ts.map +1 -0
  397. package/dist/modules/bot_settings.js +328 -0
  398. package/dist/modules/bot_settings.js.map +1 -0
  399. package/dist/modules/bots_file_lock.d.ts +88 -0
  400. package/dist/modules/bots_file_lock.d.ts.map +1 -0
  401. package/dist/modules/bots_file_lock.js +161 -0
  402. package/dist/modules/bots_file_lock.js.map +1 -0
  403. package/dist/modules/chain_keys.d.ts +302 -0
  404. package/dist/modules/chain_keys.d.ts.map +1 -0
  405. package/dist/modules/chain_keys.js +1095 -0
  406. package/dist/modules/chain_keys.js.map +1 -0
  407. package/dist/modules/chain_orders.d.ts +423 -0
  408. package/dist/modules/chain_orders.d.ts.map +1 -0
  409. package/dist/modules/chain_orders.js +1201 -0
  410. package/dist/modules/chain_orders.js.map +1 -0
  411. package/dist/modules/cli_whitelist_args.d.ts +6 -0
  412. package/dist/modules/cli_whitelist_args.d.ts.map +1 -0
  413. package/dist/modules/cli_whitelist_args.js +13 -0
  414. package/dist/modules/cli_whitelist_args.js.map +1 -0
  415. package/dist/modules/config.d.ts +57 -0
  416. package/dist/modules/config.d.ts.map +1 -0
  417. package/dist/modules/config.js +107 -0
  418. package/dist/modules/config.js.map +1 -0
  419. package/dist/modules/constants.d.ts +635 -0
  420. package/dist/modules/constants.d.ts.map +1 -0
  421. package/dist/modules/constants.js +1464 -0
  422. package/dist/modules/constants.js.map +1 -0
  423. package/dist/modules/cr_planner.d.ts +51 -0
  424. package/dist/modules/cr_planner.d.ts.map +1 -0
  425. package/dist/modules/cr_planner.js +299 -0
  426. package/dist/modules/cr_planner.js.map +1 -0
  427. package/dist/modules/credential_policy.d.ts +188 -0
  428. package/dist/modules/credential_policy.d.ts.map +1 -0
  429. package/dist/modules/credential_policy.js +1452 -0
  430. package/dist/modules/credential_policy.js.map +1 -0
  431. package/dist/modules/credential_runtime.d.ts +42 -0
  432. package/dist/modules/credential_runtime.d.ts.map +1 -0
  433. package/dist/modules/credential_runtime.js +148 -0
  434. package/dist/modules/credential_runtime.js.map +1 -0
  435. package/dist/modules/credential_session_cache.d.ts +36 -0
  436. package/dist/modules/credential_session_cache.d.ts.map +1 -0
  437. package/dist/modules/credential_session_cache.js +106 -0
  438. package/dist/modules/credential_session_cache.js.map +1 -0
  439. package/dist/modules/credit_runtime.d.ts +412 -0
  440. package/dist/modules/credit_runtime.d.ts.map +1 -0
  441. package/dist/modules/credit_runtime.js +2866 -0
  442. package/dist/modules/credit_runtime.js.map +1 -0
  443. package/dist/modules/crypto/browser_provider.d.ts +15 -0
  444. package/dist/modules/crypto/browser_provider.d.ts.map +1 -0
  445. package/dist/modules/crypto/browser_provider.js +113 -0
  446. package/dist/modules/crypto/browser_provider.js.map +1 -0
  447. package/dist/modules/crypto/index.d.ts +9 -0
  448. package/dist/modules/crypto/index.d.ts.map +1 -0
  449. package/dist/modules/crypto/index.js +44 -0
  450. package/dist/modules/crypto/index.js.map +1 -0
  451. package/dist/modules/crypto/node_provider.d.ts +15 -0
  452. package/dist/modules/crypto/node_provider.d.ts.map +1 -0
  453. package/dist/modules/crypto/node_provider.js +74 -0
  454. package/dist/modules/crypto/node_provider.js.map +1 -0
  455. package/dist/modules/crypto/provider.d.ts +34 -0
  456. package/dist/modules/crypto/provider.d.ts.map +1 -0
  457. package/dist/modules/crypto/provider.js +3 -0
  458. package/dist/modules/crypto/provider.js.map +1 -0
  459. package/dist/modules/crypto/pure_ripemd160.d.ts +8 -0
  460. package/dist/modules/crypto/pure_ripemd160.d.ts.map +1 -0
  461. package/dist/modules/crypto/pure_ripemd160.js +142 -0
  462. package/dist/modules/crypto/pure_ripemd160.js.map +1 -0
  463. package/dist/modules/crypto/pure_scrypt.d.ts +23 -0
  464. package/dist/modules/crypto/pure_scrypt.d.ts.map +1 -0
  465. package/dist/modules/crypto/pure_scrypt.js +161 -0
  466. package/dist/modules/crypto/pure_scrypt.js.map +1 -0
  467. package/dist/modules/crypto/pure_secp256k1.d.ts +29 -0
  468. package/dist/modules/crypto/pure_secp256k1.d.ts.map +1 -0
  469. package/dist/modules/crypto/pure_secp256k1.js +195 -0
  470. package/dist/modules/crypto/pure_secp256k1.js.map +1 -0
  471. package/dist/modules/crypto/sync.d.ts +13 -0
  472. package/dist/modules/crypto/sync.d.ts.map +1 -0
  473. package/dist/modules/crypto/sync.js +37 -0
  474. package/dist/modules/crypto/sync.js.map +1 -0
  475. package/dist/modules/dexbot_class.d.ts +1074 -0
  476. package/dist/modules/dexbot_class.d.ts.map +1 -0
  477. package/dist/modules/dexbot_class.js +4613 -0
  478. package/dist/modules/dexbot_class.js.map +1 -0
  479. package/dist/modules/dexbot_credential_client.d.ts +71 -0
  480. package/dist/modules/dexbot_credential_client.d.ts.map +1 -0
  481. package/dist/modules/dexbot_credential_client.js +224 -0
  482. package/dist/modules/dexbot_credential_client.js.map +1 -0
  483. package/dist/modules/dexbot_fill_runtime.d.ts +173 -0
  484. package/dist/modules/dexbot_fill_runtime.d.ts.map +1 -0
  485. package/dist/modules/dexbot_fill_runtime.js +217 -0
  486. package/dist/modules/dexbot_fill_runtime.js.map +1 -0
  487. package/dist/modules/dexbot_maintenance_runtime.d.ts +279 -0
  488. package/dist/modules/dexbot_maintenance_runtime.d.ts.map +1 -0
  489. package/dist/modules/dexbot_maintenance_runtime.js +1613 -0
  490. package/dist/modules/dexbot_maintenance_runtime.js.map +1 -0
  491. package/dist/modules/env.d.ts +12 -0
  492. package/dist/modules/env.d.ts.map +1 -0
  493. package/dist/modules/env.js +57 -0
  494. package/dist/modules/env.js.map +1 -0
  495. package/dist/modules/fund_registry.d.ts +96 -0
  496. package/dist/modules/fund_registry.d.ts.map +1 -0
  497. package/dist/modules/fund_registry.js +261 -0
  498. package/dist/modules/fund_registry.js.map +1 -0
  499. package/dist/modules/general_settings.d.ts +36 -0
  500. package/dist/modules/general_settings.d.ts.map +1 -0
  501. package/dist/modules/general_settings.js +63 -0
  502. package/dist/modules/general_settings.js.map +1 -0
  503. package/dist/modules/graceful_shutdown.d.ts +86 -0
  504. package/dist/modules/graceful_shutdown.d.ts.map +1 -0
  505. package/dist/modules/graceful_shutdown.js +164 -0
  506. package/dist/modules/graceful_shutdown.js.map +1 -0
  507. package/dist/modules/key_store.d.ts +60 -0
  508. package/dist/modules/key_store.d.ts.map +1 -0
  509. package/dist/modules/key_store.js +215 -0
  510. package/dist/modules/key_store.js.map +1 -0
  511. package/dist/modules/launcher/bot_supervisor.d.ts +84 -0
  512. package/dist/modules/launcher/bot_supervisor.d.ts.map +1 -0
  513. package/dist/modules/launcher/bot_supervisor.js +1067 -0
  514. package/dist/modules/launcher/bot_supervisor.js.map +1 -0
  515. package/dist/modules/launcher/child_env.d.ts +9 -0
  516. package/dist/modules/launcher/child_env.d.ts.map +1 -0
  517. package/dist/modules/launcher/child_env.js +78 -0
  518. package/dist/modules/launcher/child_env.js.map +1 -0
  519. package/dist/modules/launcher/credential_bootstrap.d.ts +22 -0
  520. package/dist/modules/launcher/credential_bootstrap.d.ts.map +1 -0
  521. package/dist/modules/launcher/credential_bootstrap.js +303 -0
  522. package/dist/modules/launcher/credential_bootstrap.js.map +1 -0
  523. package/dist/modules/launcher/credential_daemon.d.ts +32 -0
  524. package/dist/modules/launcher/credential_daemon.d.ts.map +1 -0
  525. package/dist/modules/launcher/credential_daemon.js +173 -0
  526. package/dist/modules/launcher/credential_daemon.js.map +1 -0
  527. package/dist/modules/launcher/credential_secret.d.ts +6 -0
  528. package/dist/modules/launcher/credential_secret.d.ts.map +1 -0
  529. package/dist/modules/launcher/credential_secret.js +15 -0
  530. package/dist/modules/launcher/credential_secret.js.map +1 -0
  531. package/dist/modules/launcher/foreign_cred_daemon.d.ts +2 -0
  532. package/dist/modules/launcher/foreign_cred_daemon.d.ts.map +1 -0
  533. package/dist/modules/launcher/foreign_cred_daemon.js +166 -0
  534. package/dist/modules/launcher/foreign_cred_daemon.js.map +1 -0
  535. package/dist/modules/launcher/headless_password.d.ts +8 -0
  536. package/dist/modules/launcher/headless_password.d.ts.map +1 -0
  537. package/dist/modules/launcher/headless_password.js +33 -0
  538. package/dist/modules/launcher/headless_password.js.map +1 -0
  539. package/dist/modules/launcher/launch_modes.d.ts +36 -0
  540. package/dist/modules/launcher/launch_modes.d.ts.map +1 -0
  541. package/dist/modules/launcher/launch_modes.js +129 -0
  542. package/dist/modules/launcher/launch_modes.js.map +1 -0
  543. package/dist/modules/launcher/market_adapter_runtime.d.ts +43 -0
  544. package/dist/modules/launcher/market_adapter_runtime.d.ts.map +1 -0
  545. package/dist/modules/launcher/market_adapter_runtime.js +217 -0
  546. package/dist/modules/launcher/market_adapter_runtime.js.map +1 -0
  547. package/dist/modules/launcher/market_adapter_watchdog.d.ts +26 -0
  548. package/dist/modules/launcher/market_adapter_watchdog.d.ts.map +1 -0
  549. package/dist/modules/launcher/market_adapter_watchdog.js +214 -0
  550. package/dist/modules/launcher/market_adapter_watchdog.js.map +1 -0
  551. package/dist/modules/launcher/monolithic_runtime.d.ts +89 -0
  552. package/dist/modules/launcher/monolithic_runtime.d.ts.map +1 -0
  553. package/dist/modules/launcher/monolithic_runtime.js +425 -0
  554. package/dist/modules/launcher/monolithic_runtime.js.map +1 -0
  555. package/dist/modules/launcher/runtime_entry.d.ts +26 -0
  556. package/dist/modules/launcher/runtime_entry.d.ts.map +1 -0
  557. package/dist/modules/launcher/runtime_entry.js +49 -0
  558. package/dist/modules/launcher/runtime_entry.js.map +1 -0
  559. package/dist/modules/launcher/status_reporting.d.ts +48 -0
  560. package/dist/modules/launcher/status_reporting.d.ts.map +1 -0
  561. package/dist/modules/launcher/status_reporting.js +113 -0
  562. package/dist/modules/launcher/status_reporting.js.map +1 -0
  563. package/dist/modules/launcher/supervisor_control.d.ts +6 -0
  564. package/dist/modules/launcher/supervisor_control.d.ts.map +1 -0
  565. package/dist/modules/launcher/supervisor_control.js +59 -0
  566. package/dist/modules/launcher/supervisor_control.js.map +1 -0
  567. package/dist/modules/logger.d.ts +2 -0
  568. package/dist/modules/logger.d.ts.map +1 -0
  569. package/dist/modules/logger.js +71 -0
  570. package/dist/modules/logger.js.map +1 -0
  571. package/dist/modules/market_adapter_whitelist.d.ts +22 -0
  572. package/dist/modules/market_adapter_whitelist.d.ts.map +1 -0
  573. package/dist/modules/market_adapter_whitelist.js +82 -0
  574. package/dist/modules/market_adapter_whitelist.js.map +1 -0
  575. package/dist/modules/node_health_cache.d.ts +55 -0
  576. package/dist/modules/node_health_cache.d.ts.map +1 -0
  577. package/dist/modules/node_health_cache.js +134 -0
  578. package/dist/modules/node_health_cache.js.map +1 -0
  579. package/dist/modules/node_manager.d.ts +215 -0
  580. package/dist/modules/node_manager.d.ts.map +1 -0
  581. package/dist/modules/node_manager.js +628 -0
  582. package/dist/modules/node_manager.js.map +1 -0
  583. package/dist/modules/order/accounting.d.ts +349 -0
  584. package/dist/modules/order/accounting.d.ts.map +1 -0
  585. package/dist/modules/order/accounting.js +1191 -0
  586. package/dist/modules/order/accounting.js.map +1 -0
  587. package/dist/modules/order/async_lock.d.ts +126 -0
  588. package/dist/modules/order/async_lock.d.ts.map +1 -0
  589. package/dist/modules/order/async_lock.js +195 -0
  590. package/dist/modules/order/async_lock.js.map +1 -0
  591. package/dist/modules/order/export.d.ts +129 -0
  592. package/dist/modules/order/export.d.ts.map +1 -0
  593. package/dist/modules/order/export.js +316 -0
  594. package/dist/modules/order/export.js.map +1 -0
  595. package/dist/modules/order/format.d.ts +158 -0
  596. package/dist/modules/order/format.d.ts.map +1 -0
  597. package/dist/modules/order/format.js +232 -0
  598. package/dist/modules/order/format.js.map +1 -0
  599. package/dist/modules/order/grid.d.ts +549 -0
  600. package/dist/modules/order/grid.d.ts.map +1 -0
  601. package/dist/modules/order/grid.js +1746 -0
  602. package/dist/modules/order/grid.js.map +1 -0
  603. package/dist/modules/order/grid_reconcile.d.ts +154 -0
  604. package/dist/modules/order/grid_reconcile.d.ts.map +1 -0
  605. package/dist/modules/order/grid_reconcile.js +1192 -0
  606. package/dist/modules/order/grid_reconcile.js.map +1 -0
  607. package/dist/modules/order/index.d.ts +55 -0
  608. package/dist/modules/order/index.d.ts.map +1 -0
  609. package/dist/modules/order/index.js +79 -0
  610. package/dist/modules/order/index.js.map +1 -0
  611. package/dist/modules/order/logger.d.ts +136 -0
  612. package/dist/modules/order/logger.d.ts.map +1 -0
  613. package/dist/modules/order/logger.js +614 -0
  614. package/dist/modules/order/logger.js.map +1 -0
  615. package/dist/modules/order/logger_state.d.ts +133 -0
  616. package/dist/modules/order/logger_state.d.ts.map +1 -0
  617. package/dist/modules/order/logger_state.js +170 -0
  618. package/dist/modules/order/logger_state.js.map +1 -0
  619. package/dist/modules/order/manager.d.ts +413 -0
  620. package/dist/modules/order/manager.d.ts.map +1 -0
  621. package/dist/modules/order/manager.js +1605 -0
  622. package/dist/modules/order/manager.js.map +1 -0
  623. package/dist/modules/order/processed_fill_store.d.ts +135 -0
  624. package/dist/modules/order/processed_fill_store.d.ts.map +1 -0
  625. package/dist/modules/order/processed_fill_store.js +288 -0
  626. package/dist/modules/order/processed_fill_store.js.map +1 -0
  627. package/dist/modules/order/runner.d.ts +70 -0
  628. package/dist/modules/order/runner.d.ts.map +1 -0
  629. package/dist/modules/order/runner.js +140 -0
  630. package/dist/modules/order/runner.js.map +1 -0
  631. package/dist/modules/order/strategy.d.ts +196 -0
  632. package/dist/modules/order/strategy.d.ts.map +1 -0
  633. package/dist/modules/order/strategy.js +398 -0
  634. package/dist/modules/order/strategy.js.map +1 -0
  635. package/dist/modules/order/sync_engine.d.ts +386 -0
  636. package/dist/modules/order/sync_engine.d.ts.map +1 -0
  637. package/dist/modules/order/sync_engine.js +1459 -0
  638. package/dist/modules/order/sync_engine.js.map +1 -0
  639. package/dist/modules/order/utils/math.d.ts +677 -0
  640. package/dist/modules/order/utils/math.d.ts.map +1 -0
  641. package/dist/modules/order/utils/math.js +1172 -0
  642. package/dist/modules/order/utils/math.js.map +1 -0
  643. package/dist/modules/order/utils/order.d.ts +572 -0
  644. package/dist/modules/order/utils/order.d.ts.map +1 -0
  645. package/dist/modules/order/utils/order.js +1145 -0
  646. package/dist/modules/order/utils/order.js.map +1 -0
  647. package/dist/modules/order/utils/system.d.ts +268 -0
  648. package/dist/modules/order/utils/system.d.ts.map +1 -0
  649. package/dist/modules/order/utils/system.js +1261 -0
  650. package/dist/modules/order/utils/system.js.map +1 -0
  651. package/dist/modules/order/utils/validate.d.ts +280 -0
  652. package/dist/modules/order/utils/validate.d.ts.map +1 -0
  653. package/dist/modules/order/utils/validate.js +918 -0
  654. package/dist/modules/order/utils/validate.js.map +1 -0
  655. package/dist/modules/order/working_grid.d.ts +212 -0
  656. package/dist/modules/order/working_grid.d.ts.map +1 -0
  657. package/dist/modules/order/working_grid.js +279 -0
  658. package/dist/modules/order/working_grid.js.map +1 -0
  659. package/dist/modules/path_api.d.ts +32 -0
  660. package/dist/modules/path_api.d.ts.map +1 -0
  661. package/dist/modules/path_api.js +148 -0
  662. package/dist/modules/path_api.js.map +1 -0
  663. package/dist/modules/paths.d.ts +58 -0
  664. package/dist/modules/paths.d.ts.map +1 -0
  665. package/dist/modules/paths.js +82 -0
  666. package/dist/modules/paths.js.map +1 -0
  667. package/dist/modules/process_discovery.d.ts +58 -0
  668. package/dist/modules/process_discovery.d.ts.map +1 -0
  669. package/dist/modules/process_discovery.js +265 -0
  670. package/dist/modules/process_discovery.js.map +1 -0
  671. package/dist/modules/runtime.d.ts +34 -0
  672. package/dist/modules/runtime.d.ts.map +1 -0
  673. package/dist/modules/runtime.js +98 -0
  674. package/dist/modules/runtime.js.map +1 -0
  675. package/dist/modules/runtime_settings.d.ts +12 -0
  676. package/dist/modules/runtime_settings.d.ts.map +1 -0
  677. package/dist/modules/runtime_settings.js +122 -0
  678. package/dist/modules/runtime_settings.js.map +1 -0
  679. package/dist/modules/settings_merge.d.ts +38 -0
  680. package/dist/modules/settings_merge.d.ts.map +1 -0
  681. package/dist/modules/settings_merge.js +246 -0
  682. package/dist/modules/settings_merge.js.map +1 -0
  683. package/dist/modules/storage/browser_adapter.d.ts +56 -0
  684. package/dist/modules/storage/browser_adapter.d.ts.map +1 -0
  685. package/dist/modules/storage/browser_adapter.js +231 -0
  686. package/dist/modules/storage/browser_adapter.js.map +1 -0
  687. package/dist/modules/storage/index.d.ts +28 -0
  688. package/dist/modules/storage/index.d.ts.map +1 -0
  689. package/dist/modules/storage/index.js +52 -0
  690. package/dist/modules/storage/index.js.map +1 -0
  691. package/dist/modules/storage/node_adapter.d.ts +49 -0
  692. package/dist/modules/storage/node_adapter.d.ts.map +1 -0
  693. package/dist/modules/storage/node_adapter.js +167 -0
  694. package/dist/modules/storage/node_adapter.js.map +1 -0
  695. package/dist/modules/storage/types.d.ts +92 -0
  696. package/dist/modules/storage/types.d.ts.map +1 -0
  697. package/dist/modules/storage/types.js +3 -0
  698. package/dist/modules/storage/types.js.map +1 -0
  699. package/dist/modules/types.d.ts +1382 -0
  700. package/dist/modules/types.d.ts.map +1 -0
  701. package/dist/modules/types.js +11 -0
  702. package/dist/modules/types.js.map +1 -0
  703. package/dist/modules/utils/base58check.d.ts +12 -0
  704. package/dist/modules/utils/base58check.d.ts.map +1 -0
  705. package/dist/modules/utils/base58check.js +112 -0
  706. package/dist/modules/utils/base58check.js.map +1 -0
  707. package/dist/modules/utils/build_dir.d.ts +7 -0
  708. package/dist/modules/utils/build_dir.d.ts.map +1 -0
  709. package/dist/modules/utils/build_dir.js +8 -0
  710. package/dist/modules/utils/build_dir.js.map +1 -0
  711. package/dist/modules/utils/fs_utils.d.ts +25 -0
  712. package/dist/modules/utils/fs_utils.d.ts.map +1 -0
  713. package/dist/modules/utils/fs_utils.js +27 -0
  714. package/dist/modules/utils/fs_utils.js.map +1 -0
  715. package/dist/modules/utils/math_utils.d.ts +10 -0
  716. package/dist/modules/utils/math_utils.d.ts.map +1 -0
  717. package/dist/modules/utils/math_utils.js +17 -0
  718. package/dist/modules/utils/math_utils.js.map +1 -0
  719. package/dist/modules/validate_profiles.d.ts +37 -0
  720. package/dist/modules/validate_profiles.d.ts.map +1 -0
  721. package/dist/modules/validate_profiles.js +369 -0
  722. package/dist/modules/validate_profiles.js.map +1 -0
  723. package/dist/pm2.d.ts +167 -0
  724. package/dist/pm2.d.ts.map +1 -0
  725. package/dist/pm2.js +998 -0
  726. package/dist/pm2.js.map +1 -0
  727. package/dist/scripts/analyze-git.d.ts +11 -0
  728. package/dist/scripts/analyze-git.d.ts.map +1 -0
  729. package/dist/scripts/analyze-git.js +851 -0
  730. package/dist/scripts/analyze-git.js.map +1 -0
  731. package/dist/scripts/analyze-orders.d.ts +17 -0
  732. package/dist/scripts/analyze-orders.d.ts.map +1 -0
  733. package/dist/scripts/analyze-orders.js +1568 -0
  734. package/dist/scripts/analyze-orders.js.map +1 -0
  735. package/dist/scripts/diagnose-kibana-candles.d.ts +3 -0
  736. package/dist/scripts/diagnose-kibana-candles.d.ts.map +1 -0
  737. package/dist/scripts/diagnose-kibana-candles.js +82 -0
  738. package/dist/scripts/diagnose-kibana-candles.js.map +1 -0
  739. package/dist/scripts/diagnose-pool-history.d.ts +3 -0
  740. package/dist/scripts/diagnose-pool-history.d.ts.map +1 -0
  741. package/dist/scripts/diagnose-pool-history.js +296 -0
  742. package/dist/scripts/diagnose-pool-history.js.map +1 -0
  743. package/dist/scripts/divergence-calc.d.ts +26 -0
  744. package/dist/scripts/divergence-calc.d.ts.map +1 -0
  745. package/dist/scripts/divergence-calc.js +119 -0
  746. package/dist/scripts/divergence-calc.js.map +1 -0
  747. package/dist/scripts/generate_lp_chart.d.ts +31 -0
  748. package/dist/scripts/generate_lp_chart.d.ts.map +1 -0
  749. package/dist/scripts/generate_lp_chart.js +92 -0
  750. package/dist/scripts/generate_lp_chart.js.map +1 -0
  751. package/dist/scripts/generate_mainnet_corpus_report.d.ts +24 -0
  752. package/dist/scripts/generate_mainnet_corpus_report.d.ts.map +1 -0
  753. package/dist/scripts/generate_mainnet_corpus_report.js +237 -0
  754. package/dist/scripts/generate_mainnet_corpus_report.js.map +1 -0
  755. package/dist/scripts/generate_market_adapter_whitelist.d.ts +2 -0
  756. package/dist/scripts/generate_market_adapter_whitelist.d.ts.map +1 -0
  757. package/dist/scripts/generate_market_adapter_whitelist.js +111 -0
  758. package/dist/scripts/generate_market_adapter_whitelist.js.map +1 -0
  759. package/dist/scripts/migrate_bot_keys.d.ts +6 -0
  760. package/dist/scripts/migrate_bot_keys.d.ts.map +1 -0
  761. package/dist/scripts/migrate_bot_keys.js +301 -0
  762. package/dist/scripts/migrate_bot_keys.js.map +1 -0
  763. package/dist/scripts/native_release_gates.d.ts +3 -0
  764. package/dist/scripts/native_release_gates.d.ts.map +1 -0
  765. package/dist/scripts/native_release_gates.js +52 -0
  766. package/dist/scripts/native_release_gates.js.map +1 -0
  767. package/dist/scripts/print_grid.d.ts +16 -0
  768. package/dist/scripts/print_grid.d.ts.map +1 -0
  769. package/dist/scripts/print_grid.js +80 -0
  770. package/dist/scripts/print_grid.js.map +1 -0
  771. package/dist/scripts/run-tests.d.ts +2 -0
  772. package/dist/scripts/run-tests.d.ts.map +1 -0
  773. package/dist/scripts/run-tests.js +49 -0
  774. package/dist/scripts/run-tests.js.map +1 -0
  775. package/dist/scripts/sync-version.d.ts +14 -0
  776. package/dist/scripts/sync-version.d.ts.map +1 -0
  777. package/dist/scripts/sync-version.js +158 -0
  778. package/dist/scripts/sync-version.js.map +1 -0
  779. package/dist/scripts/test-credit-renewal.d.ts +2 -0
  780. package/dist/scripts/test-credit-renewal.d.ts.map +1 -0
  781. package/dist/scripts/test-credit-renewal.js +329 -0
  782. package/dist/scripts/test-credit-renewal.js.map +1 -0
  783. package/dist/scripts/update.d.ts +24 -0
  784. package/dist/scripts/update.d.ts.map +1 -0
  785. package/dist/scripts/update.js +650 -0
  786. package/dist/scripts/update.js.map +1 -0
  787. package/dist/scripts/validate_bots.d.ts +16 -0
  788. package/dist/scripts/validate_bots.d.ts.map +1 -0
  789. package/dist/scripts/validate_bots.js +106 -0
  790. package/dist/scripts/validate_bots.js.map +1 -0
  791. package/dist/scripts/verify-browser-bundle.d.ts +22 -0
  792. package/dist/scripts/verify-browser-bundle.d.ts.map +1 -0
  793. package/dist/scripts/verify-browser-bundle.js +339 -0
  794. package/dist/scripts/verify-browser-bundle.js.map +1 -0
  795. package/dist/unlock.d.ts +48 -0
  796. package/dist/unlock.d.ts.map +1 -0
  797. package/dist/unlock.js +925 -0
  798. package/dist/unlock.js.map +1 -0
  799. package/package.json +112 -0
  800. package/scripts/README.md +356 -0
  801. package/scripts/clear-all.sh +195 -0
  802. package/scripts/clear-logs.sh +95 -0
  803. package/scripts/clear-market-adapter.sh +196 -0
  804. package/scripts/clear-orders.sh +113 -0
  805. package/scripts/create-bot-symlinks.sh +51 -0
  806. package/scripts/postinstall.js +9 -0
  807. package/scripts/reset-settings.sh +118 -0
@@ -0,0 +1,224 @@
1
+ "use strict";
2
+ /** Credential client module - connects to credential daemon for key operations */
3
+ const { getNodeRequire } = require('./env');
4
+ const _require = getNodeRequire();
5
+ let net;
6
+ try {
7
+ net = _require ? _require('net') : undefined;
8
+ }
9
+ catch {
10
+ // Browser: Unix socket IPC unavailable; methods will throw when called
11
+ }
12
+ const { getStorage } = require('./storage');
13
+ const storage = getStorage();
14
+ const { createHmac } = require('./crypto/sync');
15
+ const { TIMING, DAEMON_CODES } = require('./constants');
16
+ const { getCredentialReadyFilePath, getCredentialSocketPath, isPrivatePathSecure, } = require('./credential_runtime');
17
+ const DEFAULT_SOCKET_PATH = getCredentialSocketPath();
18
+ const DEFAULT_READY_FILE = getCredentialReadyFilePath();
19
+ const DEFAULT_REQUEST_TIMEOUT_MS = 5000;
20
+ const DEFAULT_BROADCAST_TIMEOUT_MS = TIMING.CREDENTIAL_BROADCAST_TIMEOUT_MS;
21
+ const DEFAULT_WAIT_TIMEOUT_MS = TIMING.DAEMON_STARTUP_TIMEOUT_MS;
22
+ const DEFAULT_POLL_INTERVAL_MS = TIMING.CHECK_INTERVAL_MS;
23
+ /**
24
+ * Typed error raised when the bot-side socket timer fires BEFORE the credential
25
+ * daemon has responded. The chain status of the operations is unknown at this
26
+ * point — the daemon may have signed and broadcast, or it may have stalled
27
+ * before doing anything. Callers (chain_orders.ts / dexbot_class.ts) MUST catch
28
+ * this and run the recovery path (read chain, match by fingerprint, adopt or
29
+ * discard). A plain `Error` would lose the metadata the recovery path needs.
30
+ *
31
+ * Fields:
32
+ * - operations: the original op array sent to the daemon
33
+ * - accountName: account the ops were intended for
34
+ * - batchId: caller-provided correlation id (if any)
35
+ * - payload: the full request payload (for retry/log)
36
+ * - timeoutMs: the outer timeout that fired
37
+ */
38
+ class BroadcastUncertainError extends Error {
39
+ code;
40
+ operations;
41
+ accountName;
42
+ batchId;
43
+ payload;
44
+ timeoutMs;
45
+ constructor(message, details = {}) {
46
+ super(message);
47
+ this.name = 'BroadcastUncertainError';
48
+ this.code = 'BROADCAST_UNCERTAIN';
49
+ this.operations = details.operations || null;
50
+ this.accountName = details.accountName || null;
51
+ this.batchId = details.batchId || null;
52
+ this.payload = details.payload || null;
53
+ this.timeoutMs = details.timeoutMs || null;
54
+ }
55
+ }
56
+ function getSocketPath(options = {}) {
57
+ return options.socketPath || DEFAULT_SOCKET_PATH;
58
+ }
59
+ function sendCredentialDaemonRequest(socketPath, payload, timeoutMs, meta = {}) {
60
+ return new Promise((resolve, reject) => {
61
+ let settled = false;
62
+ const socket = net.createConnection(socketPath, () => {
63
+ socket.write(`${JSON.stringify(payload)}\n`);
64
+ });
65
+ let responseBuffer = '';
66
+ const timer = setTimeout(() => {
67
+ socket.destroy();
68
+ if (!settled) {
69
+ settled = true;
70
+ // For broadcast requests the chain may have already accepted the
71
+ // operations by the time we time out. Use a typed error so the
72
+ // recovery path can detect this case explicitly. Non-broadcast
73
+ // requests stay on the plain Error path.
74
+ if (meta && meta.uncertainOnTimeout) {
75
+ reject(new BroadcastUncertainError(`Credential daemon broadcast request timed out after ${timeoutMs}ms`, {
76
+ operations: meta.operations || null,
77
+ accountName: meta.accountName || null,
78
+ batchId: meta.batchId || null,
79
+ payload,
80
+ timeoutMs,
81
+ }));
82
+ }
83
+ else {
84
+ reject(new Error(`Credential daemon request timed out after ${timeoutMs}ms`));
85
+ }
86
+ }
87
+ }, timeoutMs);
88
+ socket.on('data', (data) => {
89
+ responseBuffer += data.toString();
90
+ const lines = responseBuffer.split('\n');
91
+ responseBuffer = lines.pop();
92
+ for (const line of lines) {
93
+ if (!line.trim())
94
+ continue;
95
+ clearTimeout(timer);
96
+ socket.end();
97
+ if (!settled) {
98
+ settled = true;
99
+ try {
100
+ resolve(JSON.parse(line));
101
+ }
102
+ catch {
103
+ reject(new Error('Invalid credential daemon response'));
104
+ }
105
+ }
106
+ return;
107
+ }
108
+ });
109
+ socket.on('error', (error) => {
110
+ clearTimeout(timer);
111
+ if (!settled) {
112
+ settled = true;
113
+ reject(new Error(`Credential daemon connection failed: ${error.message}`));
114
+ }
115
+ });
116
+ socket.on('end', () => {
117
+ clearTimeout(timer);
118
+ if (!settled && !responseBuffer.trim()) {
119
+ settled = true;
120
+ reject(new Error('Credential daemon closed the connection unexpectedly'));
121
+ }
122
+ });
123
+ });
124
+ }
125
+ function getReadyFilePath(options = {}) {
126
+ return options.readyFilePath || DEFAULT_READY_FILE;
127
+ }
128
+ function isCredentialDaemonReady(options = {}) {
129
+ try {
130
+ const readyFilePath = getReadyFilePath(options);
131
+ const socketPath = getSocketPath(options);
132
+ return storage.exists(readyFilePath) &&
133
+ storage.exists(socketPath) &&
134
+ isPrivatePathSecure(readyFilePath, { expectedType: 'file', requiredMode: 0o600 }) &&
135
+ isPrivatePathSecure(socketPath, { expectedType: 'socket', requiredMode: 0o600 });
136
+ }
137
+ catch {
138
+ return false;
139
+ }
140
+ }
141
+ async function waitForCredentialDaemon(timeoutMs = DEFAULT_WAIT_TIMEOUT_MS, options = {}) {
142
+ const pollIntervalMs = Number.isFinite(Number(options.pollIntervalMs))
143
+ ? Number(options.pollIntervalMs)
144
+ : DEFAULT_POLL_INTERVAL_MS;
145
+ const start = Date.now();
146
+ while (!isCredentialDaemonReady(options)) {
147
+ if (Date.now() - start > timeoutMs) {
148
+ throw new Error(`Timed out waiting for DEXBot2 credential daemon after ${timeoutMs}ms`);
149
+ }
150
+ await new Promise((resolve) => setTimeout(resolve, pollIntervalMs));
151
+ }
152
+ }
153
+ function executeOperationsViaCredentialDaemon(accountName, operations, options = {}) {
154
+ if (!accountName) {
155
+ return Promise.reject(new Error('accountName is required to execute operations'));
156
+ }
157
+ if (!Array.isArray(operations)) {
158
+ return Promise.reject(new Error('operations must be an array'));
159
+ }
160
+ const socketPath = getSocketPath(options);
161
+ // Broadcast requests have their own (longer) outer timeout. Non-broadcast
162
+ // callers can still pass timeoutMs explicitly to override.
163
+ const isBroadcast = options.requestType === 'broadcast' || options.isBroadcast === true;
164
+ const defaultTimeout = isBroadcast ? DEFAULT_BROADCAST_TIMEOUT_MS : DEFAULT_REQUEST_TIMEOUT_MS;
165
+ const timeoutMs = Number.isFinite(Number(options.timeoutMs))
166
+ ? Number(options.timeoutMs)
167
+ : defaultTimeout;
168
+ const payload = { type: 'execute-operations', accountName, operations };
169
+ const sessionId = options.sessionId || null;
170
+ if (sessionId)
171
+ payload.sessionId = sessionId;
172
+ const botHmacSecret = options.botHmacSecret || null;
173
+ if (botHmacSecret && sessionId) {
174
+ payload.hmac = createHmac('sha256', Buffer.from(botHmacSecret, 'hex'))
175
+ .update(JSON.stringify({ sessionId, operations }))
176
+ .digest('hex');
177
+ }
178
+ const meta = isBroadcast
179
+ ? {
180
+ uncertainOnTimeout: true,
181
+ operations,
182
+ accountName,
183
+ batchId: options.batchId || null,
184
+ }
185
+ : {};
186
+ return sendCredentialDaemonRequest(socketPath, payload, timeoutMs, meta).then((response) => {
187
+ if (response.success) {
188
+ return response;
189
+ }
190
+ const errMsg = response.error || 'Unknown credential daemon error';
191
+ const errCode = response.code || null;
192
+ // The daemon hit its inner deadline (BROADCAST_DEADLINE) and the chain
193
+ // state is uncertain. Convert this typed failure back to a
194
+ // BroadcastUncertainError so the recovery path picks it up. Only
195
+ // relevant for broadcast requests — non-broadcast callers don't carry
196
+ // the uncertainOnTimeout flag.
197
+ if (isBroadcast &&
198
+ (errCode === DAEMON_CODES.BROADCAST_DEADLINE ||
199
+ (typeof errMsg === 'string' && errMsg.startsWith(DAEMON_CODES.BROADCAST_DEADLINE)))) {
200
+ throw new BroadcastUncertainError(`Credential daemon broadcast uncertain: ${errCode || errMsg}`, {
201
+ operations,
202
+ accountName,
203
+ batchId: options.batchId || null,
204
+ payload,
205
+ timeoutMs,
206
+ });
207
+ }
208
+ // Typed failure reply from the daemon (e.g. policy denied, bad op) —
209
+ // the chain state is known (chain NOT touched), so a plain Error is
210
+ // fine.
211
+ throw new Error(errMsg);
212
+ });
213
+ }
214
+ module.exports = {
215
+ DEFAULT_READY_FILE,
216
+ DEFAULT_SOCKET_PATH,
217
+ DEFAULT_BROADCAST_TIMEOUT_MS,
218
+ sendCredentialDaemonRequest,
219
+ executeOperationsViaCredentialDaemon,
220
+ isCredentialDaemonReady,
221
+ waitForCredentialDaemon,
222
+ BroadcastUncertainError,
223
+ };
224
+ //# sourceMappingURL=dexbot_credential_client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dexbot_credential_client.js","sourceRoot":"","sources":["../../modules/dexbot_credential_client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,173 @@
1
+ /**
2
+ * Wire processed fill tracking into the manager and processed fill store.
3
+ * Establishes the bidirectional link between the runtime's processed fill store
4
+ * and the OrderManager's processed fill tracker.
5
+ * @param {import('./dexbot_class').DEXBot} bot
6
+ */
7
+ declare function wireProcessedFillTracking(bot: any): void;
8
+ /**
9
+ * Flush all pending processed fill writes to persistent storage.
10
+ * @param {import('./dexbot_class').DEXBot} bot
11
+ * @param {string} [reason='manual'] - Reason label for the flush
12
+ * @param {Object} [options] - Flush options forwarded to ProcessedFillStore.flush
13
+ * @returns {Promise<void>}
14
+ */
15
+ declare function flushProcessedFillPersistence(bot: any, reason?: string, options?: {}): Promise<void>;
16
+ /**
17
+ * Flush pending processed fill writes for specific fill keys.
18
+ * @param {import('./dexbot_class').DEXBot} bot
19
+ * @param {string[]|Set<string>} fillKeys - Fill keys to flush
20
+ * @param {string} [reason='manual-selected'] - Reason label for the flush
21
+ * @param {Object} [options] - Flush options forwarded to ProcessedFillStore.flushKeys
22
+ * @returns {Promise<void>}
23
+ */
24
+ declare function flushProcessedFillPersistenceForKeys(bot: any, fillKeys: any, reason?: string, options?: {}): Promise<void>;
25
+ /**
26
+ * Discard pending processed fill writes for specific fill keys from the queue.
27
+ * @param {import('./dexbot_class').DEXBot} bot
28
+ * @param {string[]|Set<string>} fillKeys - Fill keys to discard
29
+ */
30
+ declare function discardPendingProcessedFillPersistence(bot: any, fillKeys: any): void;
31
+ /**
32
+ * Build a degraded orphan fill replay key when the standard fill history id is missing.
33
+ * The fallback key is derived from order_id, block_num, pays/receives amounts and asset IDs.
34
+ * @param {import('./dexbot_class').DEXBot} bot
35
+ * @param {import('./types').FillEvent} fill - Raw fill event
36
+ * @returns {string|null} Orphan fallback key or null if insufficient data
37
+ */
38
+ declare function buildOrphanFillFallbackKey(bot: any, fill: any): string;
39
+ /**
40
+ * Apply fill accounting with replay-safe deduplication.
41
+ * Prevents the same fill from being accounted twice across restarts or re-syncs.
42
+ * @param {import('./dexbot_class').DEXBot} bot
43
+ * @param {import('./types').FillEvent} fill - Raw fill event
44
+ * @param {import('./types').FillOperationData} fillOp - Extracted fill operation data
45
+ * @param {Object} [options] - Options
46
+ * @param {Function} [options.missingKeyMessage] - Callback to generate log message when fill key is missing
47
+ * @param {Function} [options.fallbackKeyMessage] - Callback to generate log message when fallback key is used
48
+ * @param {Function} [options.replayMessage] - Callback to generate log message on duplicate fill
49
+ * @param {Function} [options.errorMessage] - Callback to generate log message on error
50
+ * @param {Object} [options.logger] - Logger instance
51
+ * @param {string} [options.missingKeyLevel='warn'] - Log level for missing key messages
52
+ * @param {string} [options.fallbackKeyLevel='warn'] - Log level for fallback key messages
53
+ * @param {string} [options.replayLevel='debug'] - Log level for replay messages
54
+ * @param {string} [options.persistenceMode='immediate'] - Processed fill persistence mode
55
+ * @param {boolean} [options.allowOrphanFallbackKey=false] - Allow degraded orphan fallback key
56
+ * @returns {Promise<import('./types').ReplaySafeFillResult>}
57
+ */
58
+ declare function applyReplaySafeFillAccounting(bot: any, fill: any, fillOp: any, { missingKeyMessage, fallbackKeyMessage, replayMessage, errorMessage, logger, missingKeyLevel, fallbackKeyLevel, replayLevel, persistenceMode, allowOrphanFallbackKey }?: {
59
+ missingKeyMessage?: any;
60
+ fallbackKeyMessage?: any;
61
+ replayMessage?: any;
62
+ errorMessage?: any;
63
+ logger?: any;
64
+ missingKeyLevel?: string;
65
+ fallbackKeyLevel?: string;
66
+ replayLevel?: string;
67
+ persistenceMode?: any;
68
+ allowOrphanFallbackKey?: boolean;
69
+ }): Promise<{
70
+ status: string;
71
+ fillKey: any;
72
+ usedFallbackKey?: undefined;
73
+ error?: undefined;
74
+ } | {
75
+ status: string;
76
+ fillKey: any;
77
+ usedFallbackKey: boolean;
78
+ error?: undefined;
79
+ } | {
80
+ status: string;
81
+ fillKey: any;
82
+ error: any;
83
+ usedFallbackKey?: undefined;
84
+ }>;
85
+ /**
86
+ * Apply replay-safe fill accounting for tracked fills (with fill history id).
87
+ * Wraps applyReplaySafeFillAccounting with context and default message builders.
88
+ * @param {import('./dexbot_class').DEXBot} bot
89
+ * @param {import('./types').FillEvent} fill - Raw fill event
90
+ * @param {import('./types').FillOperationData} fillOp - Extracted fill operation data
91
+ * @param {Object} [options] - Options
92
+ * @param {string} [options.context] - Context label for log messages
93
+ * @param {Object} [options.logger] - Logger instance
94
+ * @param {Function} [options.replayMessage] - Callback to generate log message on duplicate fill
95
+ * @param {string} [options.persistenceMode='batched'] - Processed fill persistence mode
96
+ * @returns {Promise<import('./types').ReplaySafeFillResult>}
97
+ */
98
+ declare function applyReplaySafeTrackedFillAccounting(bot: any, fill: any, fillOp: any, { context, logger, replayMessage, persistenceMode }?: {
99
+ context?: string;
100
+ logger?: any;
101
+ replayMessage?: any;
102
+ persistenceMode?: any;
103
+ }): Promise<{
104
+ status: string;
105
+ fillKey: any;
106
+ usedFallbackKey?: undefined;
107
+ error?: undefined;
108
+ } | {
109
+ status: string;
110
+ fillKey: any;
111
+ usedFallbackKey: boolean;
112
+ error?: undefined;
113
+ } | {
114
+ status: string;
115
+ fillKey: any;
116
+ error: any;
117
+ usedFallbackKey?: undefined;
118
+ }>;
119
+ /**
120
+ * Apply replay-safe fill accounting for orphan fills (missing fill history id).
121
+ * Uses a degraded orphan fallback key when the standard key is unavailable.
122
+ * @param {import('./dexbot_class').DEXBot} bot
123
+ * @param {import('./types').FillEvent} fill - Raw fill event
124
+ * @param {import('./types').FillOperationData} fillOp - Extracted fill operation data
125
+ * @param {Object} [options] - Options
126
+ * @param {string} [options.context] - Context label for log messages
127
+ * @param {Object} [options.logger] - Logger instance
128
+ * @param {Function} [options.replayMessage] - Callback to generate log message on duplicate fill
129
+ * @param {string} [options.persistenceMode='immediate'] - Processed fill persistence mode
130
+ * @returns {Promise<import('./types').ReplaySafeFillResult>}
131
+ */
132
+ declare function applyReplaySafeOrphanFillAccounting(bot: any, fill: any, fillOp: any, { context, logger, replayMessage, persistenceMode }?: {
133
+ context?: string;
134
+ logger?: any;
135
+ replayMessage?: any;
136
+ persistenceMode?: any;
137
+ }): Promise<{
138
+ status: string;
139
+ fillKey: any;
140
+ usedFallbackKey?: undefined;
141
+ error?: undefined;
142
+ } | {
143
+ status: string;
144
+ fillKey: any;
145
+ usedFallbackKey: boolean;
146
+ error?: undefined;
147
+ } | {
148
+ status: string;
149
+ fillKey: any;
150
+ error: any;
151
+ usedFallbackKey?: undefined;
152
+ }>;
153
+ /**
154
+ * Create a fill callback handler for blockchain subscription events.
155
+ * Queues incoming fills and triggers fill queue consumption.
156
+ * @param {import('./dexbot_class').DEXBot} bot
157
+ * @param {Object} chainOrders - Chain orders module
158
+ * @returns {Function} Async callback function accepting an array of fill events
159
+ */
160
+ declare function createFillCallback(bot: any, chainOrders: any): (fills: any) => Promise<void>;
161
+ declare const _default: {
162
+ wireProcessedFillTracking: typeof wireProcessedFillTracking;
163
+ flushProcessedFillPersistence: typeof flushProcessedFillPersistence;
164
+ flushProcessedFillPersistenceForKeys: typeof flushProcessedFillPersistenceForKeys;
165
+ discardPendingProcessedFillPersistence: typeof discardPendingProcessedFillPersistence;
166
+ buildOrphanFillFallbackKey: typeof buildOrphanFillFallbackKey;
167
+ applyReplaySafeFillAccounting: typeof applyReplaySafeFillAccounting;
168
+ applyReplaySafeTrackedFillAccounting: typeof applyReplaySafeTrackedFillAccounting;
169
+ applyReplaySafeOrphanFillAccounting: typeof applyReplaySafeOrphanFillAccounting;
170
+ createFillCallback: typeof createFillCallback;
171
+ };
172
+ export = _default;
173
+ //# sourceMappingURL=dexbot_fill_runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dexbot_fill_runtime.d.ts","sourceRoot":"","sources":["../../modules/dexbot_fill_runtime.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH,iBAAS,yBAAyB,CAAC,GAAG,KAAA,QAWrC;AAED;;;;;;GAMG;AACH,iBAAe,6BAA6B,CAAC,GAAG,KAAA,EAAE,MAAM,SAAW,EAAE,OAAO,KAAK,iBAGhF;AAED;;;;;;;GAOG;AACH,iBAAe,oCAAoC,CAAC,GAAG,KAAA,EAAE,QAAQ,KAAA,EAAE,MAAM,SAAoB,EAAE,OAAO,KAAK,iBAG1G;AAED;;;;GAIG;AACH,iBAAS,sCAAsC,CAAC,GAAG,KAAA,EAAE,QAAQ,KAAA,QAE5D;AAED;;;;;;GAMG;AACH,iBAAS,0BAA0B,CAAC,GAAG,KAAA,EAAE,IAAI,KAAA,UAmB5C;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,iBAAe,6BAA6B,CAAC,GAAG,KAAA,EAAE,IAAI,KAAA,EAAE,MAAM,KAAA,EAAE,EAC5D,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,MAA4B,EAC5B,eAAwB,EACxB,gBAAyB,EACzB,WAAqB,EACrB,eAA4D,EAC5D,sBAA8B,EACjC,GAAE;IACC,iBAAiB,CAAC,EAAE,GAAG,CAAC;IACxB,kBAAkB,CAAC,EAAE,GAAG,CAAC;IACzB,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAC/B;;;;;;;;;;;;;;;GAoCL;AAED;;;;;;;;;;;;GAYG;AACH,iBAAe,oCAAoC,CAAC,GAAG,KAAA,EAAE,IAAI,KAAA,EAAE,MAAM,KAAA,EAAE,EACnE,OAAO,EACP,MAA4B,EAC5B,aAAa,EACb,eAA0D,EAC7D,GAAE;IACC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,eAAe,CAAC,EAAE,GAAG,CAAC;CACpB;;;;;;;;;;;;;;;GAQL;AAED;;;;;;;;;;;;GAYG;AACH,iBAAe,mCAAmC,CAAC,GAAG,KAAA,EAAE,IAAI,KAAA,EAAE,MAAM,KAAA,EAAE,EAClE,OAAO,EACP,MAA4B,EAC5B,aAAa,EACb,eAA4D,EAC/D,GAAE;IACC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,eAAe,CAAC,EAAE,GAAG,CAAC;CACpB;;;;;;;;;;;;;;;GAUL;AAED;;;;;;GAMG;AACH,iBAAS,kBAAkB,CAAC,GAAG,KAAA,EAAE,WAAW,KAAA,IAC1B,UAAK,mBAmBtB;;;;;;;;;;;;AAED,kBAUE"}
@@ -0,0 +1,217 @@
1
+ "use strict";
2
+ /** Fill processing runtime - handles order fill events and replay-safe accounting */
3
+ const { buildFillKey } = require('./order/utils/order');
4
+ const { PROCESSED_FILL_PERSISTENCE_MODES } = require('./order/processed_fill_store');
5
+ const { NATIVE_CLIENT } = require('./constants');
6
+ /**
7
+ * Wire processed fill tracking into the manager and processed fill store.
8
+ * Establishes the bidirectional link between the runtime's processed fill store
9
+ * and the OrderManager's processed fill tracker.
10
+ * @param {import('./dexbot_class').DEXBot} bot
11
+ */
12
+ function wireProcessedFillTracking(bot) {
13
+ if (!bot.manager)
14
+ return;
15
+ bot._processedFillStore.configure({
16
+ accountOrders: bot.accountOrders
17
+ });
18
+ bot._processedFillStore.mergeTracker(bot.manager.processedFillTracker);
19
+ bot.manager.processedFillTracker = bot._recentlyProcessedFills;
20
+ bot.manager.processedFillStore = bot._processedFillStore;
21
+ }
22
+ /**
23
+ * Flush all pending processed fill writes to persistent storage.
24
+ * @param {import('./dexbot_class').DEXBot} bot
25
+ * @param {string} [reason='manual'] - Reason label for the flush
26
+ * @param {Object} [options] - Flush options forwarded to ProcessedFillStore.flush
27
+ * @returns {Promise<void>}
28
+ */
29
+ async function flushProcessedFillPersistence(bot, reason = 'manual', options = {}) {
30
+ bot._processedFillStore.setShuttingDown(bot._shuttingDown);
31
+ await bot._processedFillStore.flush(reason, options);
32
+ }
33
+ /**
34
+ * Flush pending processed fill writes for specific fill keys.
35
+ * @param {import('./dexbot_class').DEXBot} bot
36
+ * @param {string[]|Set<string>} fillKeys - Fill keys to flush
37
+ * @param {string} [reason='manual-selected'] - Reason label for the flush
38
+ * @param {Object} [options] - Flush options forwarded to ProcessedFillStore.flushKeys
39
+ * @returns {Promise<void>}
40
+ */
41
+ async function flushProcessedFillPersistenceForKeys(bot, fillKeys, reason = 'manual-selected', options = {}) {
42
+ bot._processedFillStore.setShuttingDown(bot._shuttingDown);
43
+ await bot._processedFillStore.flushKeys(fillKeys, reason, options);
44
+ }
45
+ /**
46
+ * Discard pending processed fill writes for specific fill keys from the queue.
47
+ * @param {import('./dexbot_class').DEXBot} bot
48
+ * @param {string[]|Set<string>} fillKeys - Fill keys to discard
49
+ */
50
+ function discardPendingProcessedFillPersistence(bot, fillKeys) {
51
+ bot._processedFillStore.discardKeys(fillKeys);
52
+ }
53
+ /**
54
+ * Build a degraded orphan fill replay key when the standard fill history id is missing.
55
+ * The fallback key is derived from order_id, block_num, pays/receives amounts and asset IDs.
56
+ * @param {import('./dexbot_class').DEXBot} bot
57
+ * @param {import('./types').FillEvent} fill - Raw fill event
58
+ * @returns {string|null} Orphan fallback key or null if insufficient data
59
+ */
60
+ function buildOrphanFillFallbackKey(bot, fill) {
61
+ const fillOp = fill?.op?.[1];
62
+ const orderId = fillOp?.order_id;
63
+ const blockNum = fill?.block_num;
64
+ const paysAssetId = fillOp?.pays?.asset_id;
65
+ const paysAmount = fillOp?.pays?.amount;
66
+ const receivesAssetId = fillOp?.receives?.asset_id;
67
+ const receivesAmount = fillOp?.receives?.amount;
68
+ const makerRole = fillOp?.is_maker === false ? 'taker' : 'maker';
69
+ // Include operation-type ID, transaction-in-block index, and
70
+ // operation-in-transaction index to reduce collision risk when
71
+ // multiple fills match on order + amounts + block number.
72
+ const opType = fill?.op?.[0];
73
+ const trxInBlock = fill?.trx_in_block;
74
+ const opInTrx = fill?.op_in_trx;
75
+ if (!orderId || blockNum == null || !paysAssetId || paysAmount == null || !receivesAssetId || receivesAmount == null) {
76
+ return null;
77
+ }
78
+ return `orphan:${orderId}:${blockNum}:${paysAssetId}:${paysAmount}:${receivesAssetId}:${receivesAmount}:${makerRole}:${opType ?? ''}:${trxInBlock ?? ''}:${opInTrx ?? ''}`;
79
+ }
80
+ /**
81
+ * Apply fill accounting with replay-safe deduplication.
82
+ * Prevents the same fill from being accounted twice across restarts or re-syncs.
83
+ * @param {import('./dexbot_class').DEXBot} bot
84
+ * @param {import('./types').FillEvent} fill - Raw fill event
85
+ * @param {import('./types').FillOperationData} fillOp - Extracted fill operation data
86
+ * @param {Object} [options] - Options
87
+ * @param {Function} [options.missingKeyMessage] - Callback to generate log message when fill key is missing
88
+ * @param {Function} [options.fallbackKeyMessage] - Callback to generate log message when fallback key is used
89
+ * @param {Function} [options.replayMessage] - Callback to generate log message on duplicate fill
90
+ * @param {Function} [options.errorMessage] - Callback to generate log message on error
91
+ * @param {Object} [options.logger] - Logger instance
92
+ * @param {string} [options.missingKeyLevel='warn'] - Log level for missing key messages
93
+ * @param {string} [options.fallbackKeyLevel='warn'] - Log level for fallback key messages
94
+ * @param {string} [options.replayLevel='debug'] - Log level for replay messages
95
+ * @param {string} [options.persistenceMode='immediate'] - Processed fill persistence mode
96
+ * @param {boolean} [options.allowOrphanFallbackKey=false] - Allow degraded orphan fallback key
97
+ * @returns {Promise<import('./types').ReplaySafeFillResult>}
98
+ */
99
+ async function applyReplaySafeFillAccounting(bot, fill, fillOp, { missingKeyMessage, fallbackKeyMessage, replayMessage, errorMessage, logger = bot.manager?.logger, missingKeyLevel = 'warn', fallbackKeyLevel = 'warn', replayLevel = 'debug', persistenceMode = PROCESSED_FILL_PERSISTENCE_MODES.IMMEDIATE, allowOrphanFallbackKey = false } = {}) {
100
+ let fillKey = buildFillKey(fill);
101
+ let usedFallbackKey = false;
102
+ if (!fillKey && allowOrphanFallbackKey) {
103
+ fillKey = buildOrphanFillFallbackKey(bot, fill);
104
+ usedFallbackKey = Boolean(fillKey);
105
+ if (usedFallbackKey && fallbackKeyMessage) {
106
+ logger?.log?.(fallbackKeyMessage(fillOp, fill, fillKey), fallbackKeyLevel);
107
+ }
108
+ }
109
+ if (!fillKey) {
110
+ if (missingKeyMessage) {
111
+ logger?.log?.(missingKeyMessage(fillOp, fill), missingKeyLevel);
112
+ }
113
+ return { status: 'missing_key', fillKey: null };
114
+ }
115
+ try {
116
+ const applied = await bot.manager.accountant.processFillAccounting(fillOp, fillKey, { persistenceMode });
117
+ if (!applied) {
118
+ if (replayMessage) {
119
+ logger?.log?.(replayMessage(fillOp, fill, fillKey), replayLevel);
120
+ }
121
+ return { status: 'duplicate', fillKey };
122
+ }
123
+ return { status: 'applied', fillKey, usedFallbackKey };
124
+ }
125
+ catch (err) {
126
+ if (errorMessage) {
127
+ logger?.log?.(errorMessage(fillOp, fill, err), 'error');
128
+ return { status: 'error', fillKey, error: err };
129
+ }
130
+ throw err;
131
+ }
132
+ }
133
+ /**
134
+ * Apply replay-safe fill accounting for tracked fills (with fill history id).
135
+ * Wraps applyReplaySafeFillAccounting with context and default message builders.
136
+ * @param {import('./dexbot_class').DEXBot} bot
137
+ * @param {import('./types').FillEvent} fill - Raw fill event
138
+ * @param {import('./types').FillOperationData} fillOp - Extracted fill operation data
139
+ * @param {Object} [options] - Options
140
+ * @param {string} [options.context] - Context label for log messages
141
+ * @param {Object} [options.logger] - Logger instance
142
+ * @param {Function} [options.replayMessage] - Callback to generate log message on duplicate fill
143
+ * @param {string} [options.persistenceMode='batched'] - Processed fill persistence mode
144
+ * @returns {Promise<import('./types').ReplaySafeFillResult>}
145
+ */
146
+ async function applyReplaySafeTrackedFillAccounting(bot, fill, fillOp, { context, logger = bot.manager?.logger, replayMessage, persistenceMode = PROCESSED_FILL_PERSISTENCE_MODES.BATCHED } = {}) {
147
+ return applyReplaySafeFillAccounting(bot, fill, fillOp, {
148
+ logger,
149
+ missingKeyMessage: (op) => `[${context}] Missing fill history id for ${op.order_id}; deferring to open-orders sync`,
150
+ replayMessage,
151
+ errorMessage: (op, _fill, err) => `[${context}] Failed to process accounting for ${op.order_id}: ${err.message}`,
152
+ persistenceMode
153
+ });
154
+ }
155
+ /**
156
+ * Apply replay-safe fill accounting for orphan fills (missing fill history id).
157
+ * Uses a degraded orphan fallback key when the standard key is unavailable.
158
+ * @param {import('./dexbot_class').DEXBot} bot
159
+ * @param {import('./types').FillEvent} fill - Raw fill event
160
+ * @param {import('./types').FillOperationData} fillOp - Extracted fill operation data
161
+ * @param {Object} [options] - Options
162
+ * @param {string} [options.context] - Context label for log messages
163
+ * @param {Object} [options.logger] - Logger instance
164
+ * @param {Function} [options.replayMessage] - Callback to generate log message on duplicate fill
165
+ * @param {string} [options.persistenceMode='immediate'] - Processed fill persistence mode
166
+ * @returns {Promise<import('./types').ReplaySafeFillResult>}
167
+ */
168
+ async function applyReplaySafeOrphanFillAccounting(bot, fill, fillOp, { context, logger = bot.manager?.logger, replayMessage, persistenceMode = PROCESSED_FILL_PERSISTENCE_MODES.IMMEDIATE } = {}) {
169
+ return applyReplaySafeFillAccounting(bot, fill, fillOp, {
170
+ logger,
171
+ missingKeyMessage: (op) => `[${context}] Missing fill history id and orphan fallback key for ${op.order_id}; deferring to open-orders sync`,
172
+ fallbackKeyMessage: (op) => `[${context}] Missing fill history id for orphan fill ${op.order_id}; using degraded orphan replay key for proceeds-only accounting`,
173
+ replayMessage,
174
+ errorMessage: (op, _fill, err) => `[${context}] Failed to process accounting for ${op.order_id}: ${err.message}`,
175
+ persistenceMode,
176
+ allowOrphanFallbackKey: true
177
+ });
178
+ }
179
+ /**
180
+ * Create a fill callback handler for blockchain subscription events.
181
+ * Queues incoming fills and triggers fill queue consumption.
182
+ * @param {import('./dexbot_class').DEXBot} bot
183
+ * @param {Object} chainOrders - Chain orders module
184
+ * @returns {Function} Async callback function accepting an array of fill events
185
+ */
186
+ function createFillCallback(bot, chainOrders) {
187
+ return async (fills) => {
188
+ if (bot._shuttingDown) {
189
+ return;
190
+ }
191
+ if (bot.manager && !bot.config.dryRun && Array.isArray(fills) && fills.length > 0) {
192
+ const maxQueueDepth = NATIVE_CLIENT.SUBSCRIPTIONS.MAX_INCOMING_FILL_QUEUE;
193
+ if (bot._incomingFillQueue.length + fills.length > maxQueueDepth) {
194
+ const message = `Incoming fill queue back-pressure: ${bot._incomingFillQueue.length} queued + ${fills.length} incoming exceeds limit ${maxQueueDepth}`;
195
+ bot._warn(message);
196
+ throw new Error(message);
197
+ }
198
+ bot._markGridActivity?.('fill queued');
199
+ bot._incomingFillQueue.push(...fills);
200
+ bot._consumeFillQueue(chainOrders).catch(err => {
201
+ bot._warn(`Fill queue consume failed: ${err.message}`);
202
+ });
203
+ }
204
+ };
205
+ }
206
+ module.exports = {
207
+ wireProcessedFillTracking,
208
+ flushProcessedFillPersistence,
209
+ flushProcessedFillPersistenceForKeys,
210
+ discardPendingProcessedFillPersistence,
211
+ buildOrphanFillFallbackKey,
212
+ applyReplaySafeFillAccounting,
213
+ applyReplaySafeTrackedFillAccounting,
214
+ applyReplaySafeOrphanFillAccounting,
215
+ createFillCallback
216
+ };
217
+ //# sourceMappingURL=dexbot_fill_runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dexbot_fill_runtime.js","sourceRoot":"","sources":["../../modules/dexbot_fill_runtime.ts"],"names":[],"mappings":"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"}