dexbot 1.6.3 → 1.6.5

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 (275) hide show
  1. package/CHANGELOG.md +78 -2
  2. package/README.md +23 -19
  3. package/analysis/README.md +26 -13
  4. package/analysis/account_resolver.ts +171 -0
  5. package/analysis/ama_fitting/analyze_lambda_vs_slow.ts +2 -5
  6. package/analysis/ama_fitting/package.json +1 -1
  7. package/analysis/analyze_dynamic_weight.ts +9 -3
  8. package/analysis/bot_usage/discover_bot_accounts.ts +20 -27
  9. package/analysis/chain_pool.ts +47 -0
  10. package/analysis/chart_utils.ts +33 -20
  11. package/analysis/derivative_chart_generator.ts +2 -3
  12. package/analysis/fills_source.ts +234 -0
  13. package/analysis/grid_correction_check.ts +38 -251
  14. package/analysis/trade_profitability.ts +169 -304
  15. package/analysis/tradingview/README.md +2 -2
  16. package/analysis/tradingview/analyze_tradingview.ts +5 -0
  17. package/analysis/tradingview/tradingview_uplot_chart_generator.ts +5 -6
  18. package/analysis/trend_detection/DYNAMIC_WEIGHT_RESEARCH.md +35 -2
  19. package/analysis/trend_detection/dynamic_weight_chart_generator.ts +84 -13
  20. package/analysis/trend_detection/kalman_chart_generator.ts +2 -3
  21. package/analysis/trend_detection/package.json +1 -1
  22. package/analysis/trend_detection/regime_chart_generator.ts +2 -3
  23. package/analysis/trend_detection/volatility_chart_generator.ts +2 -3
  24. package/claw/modules/dexbot_profiles.ts +4 -3
  25. package/claw/package.json +1 -1
  26. package/claw/runtimes/openclaw-plugin/openclaw.plugin.json +1 -1
  27. package/claw/runtimes/openclaw-plugin/package.json +1 -1
  28. package/claw/tests/test_claw_mcp_transport.ts +2 -2
  29. package/claw/tests/test_dexbot_profiles.ts +18 -1
  30. package/dist/analysis/account_resolver.d.ts +43 -0
  31. package/dist/analysis/account_resolver.d.ts.map +1 -0
  32. package/dist/analysis/account_resolver.js +137 -0
  33. package/dist/analysis/account_resolver.js.map +1 -0
  34. package/dist/analysis/ama_fitting/analyze_lambda_vs_slow.d.ts.map +1 -1
  35. package/dist/analysis/ama_fitting/analyze_lambda_vs_slow.js +2 -4
  36. package/dist/analysis/ama_fitting/analyze_lambda_vs_slow.js.map +1 -1
  37. package/dist/analysis/analyze_dynamic_weight.js +9 -3
  38. package/dist/analysis/analyze_dynamic_weight.js.map +1 -1
  39. package/dist/analysis/bot_usage/discover_bot_accounts.js +20 -28
  40. package/dist/analysis/bot_usage/discover_bot_accounts.js.map +1 -1
  41. package/dist/analysis/chain_pool.d.ts +10 -0
  42. package/dist/analysis/chain_pool.d.ts.map +1 -0
  43. package/dist/analysis/chain_pool.js +47 -0
  44. package/dist/analysis/chain_pool.js.map +1 -0
  45. package/dist/analysis/chart_utils.d.ts +14 -1
  46. package/dist/analysis/chart_utils.d.ts.map +1 -1
  47. package/dist/analysis/chart_utils.js +32 -22
  48. package/dist/analysis/chart_utils.js.map +1 -1
  49. package/dist/analysis/derivative_chart_generator.d.ts.map +1 -1
  50. package/dist/analysis/derivative_chart_generator.js +2 -3
  51. package/dist/analysis/derivative_chart_generator.js.map +1 -1
  52. package/dist/analysis/fills_source.d.ts +79 -0
  53. package/dist/analysis/fills_source.d.ts.map +1 -0
  54. package/dist/analysis/fills_source.js +186 -0
  55. package/dist/analysis/fills_source.js.map +1 -0
  56. package/dist/analysis/grid_correction_check.d.ts +1 -21
  57. package/dist/analysis/grid_correction_check.d.ts.map +1 -1
  58. package/dist/analysis/grid_correction_check.js +30 -257
  59. package/dist/analysis/grid_correction_check.js.map +1 -1
  60. package/dist/analysis/trade_profitability.d.ts +18 -19
  61. package/dist/analysis/trade_profitability.d.ts.map +1 -1
  62. package/dist/analysis/trade_profitability.js +136 -280
  63. package/dist/analysis/trade_profitability.js.map +1 -1
  64. package/dist/analysis/tradingview/analyze_tradingview.d.ts.map +1 -1
  65. package/dist/analysis/tradingview/analyze_tradingview.js +5 -0
  66. package/dist/analysis/tradingview/analyze_tradingview.js.map +1 -1
  67. package/dist/analysis/tradingview/tradingview_uplot_chart_generator.d.ts.map +1 -1
  68. package/dist/analysis/tradingview/tradingview_uplot_chart_generator.js +5 -6
  69. package/dist/analysis/tradingview/tradingview_uplot_chart_generator.js.map +1 -1
  70. package/dist/analysis/trend_detection/dynamic_weight_chart_generator.d.ts.map +1 -1
  71. package/dist/analysis/trend_detection/dynamic_weight_chart_generator.js +84 -13
  72. package/dist/analysis/trend_detection/dynamic_weight_chart_generator.js.map +1 -1
  73. package/dist/analysis/trend_detection/kalman_chart_generator.d.ts.map +1 -1
  74. package/dist/analysis/trend_detection/kalman_chart_generator.js +2 -3
  75. package/dist/analysis/trend_detection/kalman_chart_generator.js.map +1 -1
  76. package/dist/analysis/trend_detection/regime_chart_generator.d.ts.map +1 -1
  77. package/dist/analysis/trend_detection/regime_chart_generator.js +2 -3
  78. package/dist/analysis/trend_detection/regime_chart_generator.js.map +1 -1
  79. package/dist/analysis/trend_detection/volatility_chart_generator.d.ts.map +1 -1
  80. package/dist/analysis/trend_detection/volatility_chart_generator.js +2 -3
  81. package/dist/analysis/trend_detection/volatility_chart_generator.js.map +1 -1
  82. package/dist/dexbot.d.ts.map +1 -1
  83. package/dist/dexbot.js +27 -68
  84. package/dist/dexbot.js.map +1 -1
  85. package/dist/market_adapter/core/asymmetric_bounds.d.ts +2 -2
  86. package/dist/market_adapter/core/asymmetric_bounds.d.ts.map +1 -1
  87. package/dist/market_adapter/core/asymmetric_bounds.js +15 -12
  88. package/dist/market_adapter/core/asymmetric_bounds.js.map +1 -1
  89. package/dist/market_adapter/interval_utils.d.ts +1 -1
  90. package/dist/market_adapter/interval_utils.js +1 -1
  91. package/dist/market_adapter/lp_chart_core.d.ts.map +1 -1
  92. package/dist/market_adapter/lp_chart_core.js +2 -3
  93. package/dist/market_adapter/lp_chart_core.js.map +1 -1
  94. package/dist/modules/account_bots.d.ts +51 -18
  95. package/dist/modules/account_bots.d.ts.map +1 -1
  96. package/dist/modules/account_bots.js +258 -117
  97. package/dist/modules/account_bots.js.map +1 -1
  98. package/dist/modules/bitshares-native/serial/operations.d.ts +1 -84
  99. package/dist/modules/bitshares-native/serial/operations.d.ts.map +1 -1
  100. package/dist/modules/bitshares-native/serial/operations.js +1 -38
  101. package/dist/modules/bitshares-native/serial/operations.js.map +1 -1
  102. package/dist/modules/bot_defaults.d.ts +98 -0
  103. package/dist/modules/bot_defaults.d.ts.map +1 -0
  104. package/dist/modules/bot_defaults.js +169 -0
  105. package/dist/modules/bot_defaults.js.map +1 -0
  106. package/dist/modules/bot_settings.d.ts.map +1 -1
  107. package/dist/modules/bot_settings.js +4 -1
  108. package/dist/modules/bot_settings.js.map +1 -1
  109. package/dist/modules/cli_colors.d.ts +0 -1
  110. package/dist/modules/cli_colors.d.ts.map +1 -1
  111. package/dist/modules/config.d.ts +1 -0
  112. package/dist/modules/config.d.ts.map +1 -1
  113. package/dist/modules/config.js +1 -0
  114. package/dist/modules/config.js.map +1 -1
  115. package/dist/modules/constants.d.ts +11 -2
  116. package/dist/modules/constants.d.ts.map +1 -1
  117. package/dist/modules/constants.js +45 -32
  118. package/dist/modules/constants.js.map +1 -1
  119. package/dist/modules/credential_policy.d.ts +1 -25
  120. package/dist/modules/credential_policy.d.ts.map +1 -1
  121. package/dist/modules/credential_policy.js +1 -1
  122. package/dist/modules/credential_policy.js.map +1 -1
  123. package/dist/modules/credential_runtime.d.ts +1 -6
  124. package/dist/modules/credential_runtime.d.ts.map +1 -1
  125. package/dist/modules/credential_runtime.js +1 -1
  126. package/dist/modules/credential_runtime.js.map +1 -1
  127. package/dist/modules/credential_session_cache.d.ts +1 -5
  128. package/dist/modules/credential_session_cache.d.ts.map +1 -1
  129. package/dist/modules/credential_session_cache.js +1 -1
  130. package/dist/modules/credential_session_cache.js.map +1 -1
  131. package/dist/modules/crypto/pure_secp256k1.d.ts +1 -2
  132. package/dist/modules/crypto/pure_secp256k1.d.ts.map +1 -1
  133. package/dist/modules/crypto/pure_secp256k1.js +1 -1
  134. package/dist/modules/crypto/pure_secp256k1.js.map +1 -1
  135. package/dist/modules/dexbot_class.d.ts +8 -7
  136. package/dist/modules/dexbot_class.d.ts.map +1 -1
  137. package/dist/modules/dexbot_class.js +9 -8
  138. package/dist/modules/dexbot_class.js.map +1 -1
  139. package/dist/modules/dexbot_cow_runtime.d.ts +7 -6
  140. package/dist/modules/dexbot_cow_runtime.d.ts.map +1 -1
  141. package/dist/modules/dexbot_cow_runtime.js +8 -7
  142. package/dist/modules/dexbot_cow_runtime.js.map +1 -1
  143. package/dist/modules/dexbot_fill_runtime.d.ts +1 -17
  144. package/dist/modules/dexbot_fill_runtime.d.ts.map +1 -1
  145. package/dist/modules/dexbot_fill_runtime.js +1 -1
  146. package/dist/modules/dexbot_fill_runtime.js.map +1 -1
  147. package/dist/modules/dexbot_maintenance_runtime.d.ts +2 -2
  148. package/dist/modules/dexbot_maintenance_runtime.d.ts.map +1 -1
  149. package/dist/modules/dexbot_maintenance_runtime.js +24 -8
  150. package/dist/modules/dexbot_maintenance_runtime.js.map +1 -1
  151. package/dist/modules/dexbot_state_recovery.d.ts +1 -7
  152. package/dist/modules/dexbot_state_recovery.d.ts.map +1 -1
  153. package/dist/modules/dexbot_state_recovery.js +1 -1
  154. package/dist/modules/dexbot_state_recovery.js.map +1 -1
  155. package/dist/modules/launcher/adapter_requirement.d.ts +1 -5
  156. package/dist/modules/launcher/adapter_requirement.d.ts.map +1 -1
  157. package/dist/modules/launcher/adapter_requirement.js +2 -2
  158. package/dist/modules/launcher/adapter_requirement.js.map +1 -1
  159. package/dist/modules/launcher/bot_supervisor.d.ts +1 -6
  160. package/dist/modules/launcher/bot_supervisor.d.ts.map +1 -1
  161. package/dist/modules/launcher/bot_supervisor.js +1 -1
  162. package/dist/modules/launcher/bot_supervisor.js.map +1 -1
  163. package/dist/modules/launcher/foreign_cred_daemon.d.ts +1 -3
  164. package/dist/modules/launcher/foreign_cred_daemon.d.ts.map +1 -1
  165. package/dist/modules/launcher/foreign_cred_daemon.js +1 -1
  166. package/dist/modules/launcher/foreign_cred_daemon.js.map +1 -1
  167. package/dist/modules/launcher/launch_modes.d.ts +17 -2
  168. package/dist/modules/launcher/launch_modes.d.ts.map +1 -1
  169. package/dist/modules/launcher/launch_modes.js +18 -1
  170. package/dist/modules/launcher/launch_modes.js.map +1 -1
  171. package/dist/modules/launcher/market_adapter_runtime.d.ts +1 -3
  172. package/dist/modules/launcher/market_adapter_runtime.d.ts.map +1 -1
  173. package/dist/modules/launcher/market_adapter_runtime.js +1 -1
  174. package/dist/modules/launcher/market_adapter_runtime.js.map +1 -1
  175. package/dist/modules/launcher/monolithic_runtime.d.ts +1 -5
  176. package/dist/modules/launcher/monolithic_runtime.d.ts.map +1 -1
  177. package/dist/modules/launcher/monolithic_runtime.js +9 -2
  178. package/dist/modules/launcher/monolithic_runtime.js.map +1 -1
  179. package/dist/modules/launcher/status_reporting.d.ts +1 -2
  180. package/dist/modules/launcher/status_reporting.d.ts.map +1 -1
  181. package/dist/modules/launcher/status_reporting.js +1 -1
  182. package/dist/modules/launcher/status_reporting.js.map +1 -1
  183. package/dist/modules/market_adapter_whitelist.d.ts +40 -1
  184. package/dist/modules/market_adapter_whitelist.d.ts.map +1 -1
  185. package/dist/modules/market_adapter_whitelist.js +161 -11
  186. package/dist/modules/market_adapter_whitelist.js.map +1 -1
  187. package/dist/modules/order/export.d.ts +1 -8
  188. package/dist/modules/order/export.d.ts.map +1 -1
  189. package/dist/modules/order/export.js +1 -1
  190. package/dist/modules/order/export.js.map +1 -1
  191. package/dist/modules/order/grid.d.ts +16 -0
  192. package/dist/modules/order/grid.d.ts.map +1 -1
  193. package/dist/modules/order/grid.js +75 -103
  194. package/dist/modules/order/grid.js.map +1 -1
  195. package/dist/modules/order/grid_reconcile_internal.d.ts +1 -10
  196. package/dist/modules/order/grid_reconcile_internal.d.ts.map +1 -1
  197. package/dist/modules/order/grid_reconcile_internal.js +2 -2
  198. package/dist/modules/order/grid_reconcile_internal.js.map +1 -1
  199. package/dist/modules/order/manager.d.ts +10 -2
  200. package/dist/modules/order/manager.d.ts.map +1 -1
  201. package/dist/modules/order/manager.js +20 -8
  202. package/dist/modules/order/manager.js.map +1 -1
  203. package/dist/modules/order/sync_engine.d.ts.map +1 -1
  204. package/dist/modules/order/sync_engine.js +8 -15
  205. package/dist/modules/order/sync_engine.js.map +1 -1
  206. package/dist/modules/order/utils/math.d.ts +1 -10
  207. package/dist/modules/order/utils/math.d.ts.map +1 -1
  208. package/dist/modules/order/utils/math.js +1 -1
  209. package/dist/modules/order/utils/math.js.map +1 -1
  210. package/dist/modules/order/utils/system.d.ts +5 -16
  211. package/dist/modules/order/utils/system.d.ts.map +1 -1
  212. package/dist/modules/order/utils/system.js +7 -4
  213. package/dist/modules/order/utils/system.js.map +1 -1
  214. package/dist/modules/process_discovery.d.ts +0 -3
  215. package/dist/modules/process_discovery.d.ts.map +1 -1
  216. package/dist/modules/process_discovery.js +1 -1
  217. package/dist/modules/process_discovery.js.map +1 -1
  218. package/dist/modules/settings_merge.d.ts +10 -1
  219. package/dist/modules/settings_merge.d.ts.map +1 -1
  220. package/dist/modules/settings_merge.js +27 -17
  221. package/dist/modules/settings_merge.js.map +1 -1
  222. package/dist/modules/utils/chain_logs.d.ts +1 -2
  223. package/dist/modules/utils/chain_logs.d.ts.map +1 -1
  224. package/dist/modules/utils/chain_logs.js +1 -1
  225. package/dist/modules/utils/chain_logs.js.map +1 -1
  226. package/dist/modules/validate_profiles.d.ts.map +1 -1
  227. package/dist/modules/validate_profiles.js +4 -3
  228. package/dist/modules/validate_profiles.js.map +1 -1
  229. package/dist/scripts/analyze-git.js +2 -2
  230. package/dist/scripts/analyze-git.js.map +1 -1
  231. package/dist/scripts/chart_command.d.ts +48 -0
  232. package/dist/scripts/chart_command.d.ts.map +1 -0
  233. package/dist/scripts/chart_command.js +504 -0
  234. package/dist/scripts/chart_command.js.map +1 -0
  235. package/dist/scripts/dw.d.ts +3 -0
  236. package/dist/scripts/dw.d.ts.map +1 -0
  237. package/dist/scripts/dw.js +30 -0
  238. package/dist/scripts/dw.js.map +1 -0
  239. package/dist/scripts/tv.d.ts +1 -31
  240. package/dist/scripts/tv.d.ts.map +1 -1
  241. package/dist/scripts/tv.js +10 -463
  242. package/dist/scripts/tv.js.map +1 -1
  243. package/dist/scripts/update.js +145 -93
  244. package/dist/scripts/update.js.map +1 -1
  245. package/dist/scripts/update_dist_freshness.d.ts +46 -0
  246. package/dist/scripts/update_dist_freshness.d.ts.map +1 -0
  247. package/dist/scripts/update_dist_freshness.js +115 -0
  248. package/dist/scripts/update_dist_freshness.js.map +1 -0
  249. package/dist/unlock.js +1 -1
  250. package/dist/unlock.js.map +1 -1
  251. package/docs/BITSHARES_ONBOARDING.md +117 -44
  252. package/docs/COPY_ON_WRITE_MASTER_PLAN.md +10 -207
  253. package/docs/COW_INVARIANTS.md +16 -10
  254. package/docs/DEXBOT_COMPARISON.md +3 -3
  255. package/docs/EVOLUTION.md +76 -30
  256. package/docs/FUND_MOVEMENT_AND_ACCOUNTING.md +9 -9
  257. package/docs/GRID_RECALCULATION.md +34 -30
  258. package/docs/GRID_RECONCILE.md +30 -27
  259. package/docs/LIFECYCLE.md +12 -11
  260. package/docs/LOGGING.md +1 -0
  261. package/docs/README.md +58 -52
  262. package/docs/WORKFLOW.md +1 -2
  263. package/docs/architecture.md +21 -32
  264. package/docs/developer_guide.md +4 -3
  265. package/market_adapter/README.md +36 -60
  266. package/modules/README.md +2 -1
  267. package/package.json +1 -2
  268. package/scripts/README.md +18 -25
  269. package/scripts/git-viewer.sh +1 -1
  270. package/scripts/reset-settings.sh +1 -1
  271. package/tests/README.md +10 -1
  272. package/dist/scripts/generate_market_adapter_whitelist.d.ts +0 -15
  273. package/dist/scripts/generate_market_adapter_whitelist.d.ts.map +0 -1
  274. package/dist/scripts/generate_market_adapter_whitelist.js +0 -191
  275. package/dist/scripts/generate_market_adapter_whitelist.js.map +0 -1
@@ -0,0 +1,47 @@
1
+ 'use strict';
2
+ /**
3
+ * SHARED CHAIN POOL (analysis)
4
+ *
5
+ * Single source of truth for the node list and the ephemeral read-only
6
+ * connection used by analysis tools for small on-chain lookups (account name
7
+ * resolution, asset precision resolution).
8
+ *
9
+ * Analysis tools deliberately do NOT use the production singleton client
10
+ * (modules/bitshares_client.ts): they are short-lived processes and must never
11
+ * disturb a running bot's connection state. Instead each lookup opens a fresh
12
+ * read-only client over the built-in node pool, which the native transport
13
+ * races in parallel and then retries sequentially — so one dead node is not
14
+ * fatal.
15
+ */
16
+ import * as C from '../modules/constants.js';
17
+ /** Nodes for ephemeral read-only analysis connections (node management pool). */
18
+ function defaultNodePool() {
19
+ return [...C.NODE_MANAGEMENT.DEFAULT_NODES];
20
+ }
21
+ /**
22
+ * Run `fn` against a fresh read-only client connected over the built-in pool.
23
+ * Transport INFO logging is silenced for the duration of the short-lived
24
+ * connection and the client is always disconnected afterwards.
25
+ */
26
+ async function withReadOnlyClient(fn) {
27
+ const { createReadOnlyClient } = await import('../modules/bitshares-native/index.js');
28
+ const client = createReadOnlyClient({ nodes: defaultNodePool() });
29
+ // Suppress transport INFO logs during ephemeral connection:
30
+ // bitshares-native transport logger (new Logger('Transport')) writes
31
+ // "[timestamp] [INFO] [Transport] ..." — silence by raising log level.
32
+ const prevLevel = process.env.LOG_LEVEL;
33
+ process.env.LOG_LEVEL = 'warn';
34
+ try {
35
+ await client.connect();
36
+ return await fn(client);
37
+ }
38
+ finally {
39
+ try {
40
+ client.disconnect();
41
+ }
42
+ catch (_) { /* best-effort cleanup */ }
43
+ process.env.LOG_LEVEL = prevLevel;
44
+ }
45
+ }
46
+ export { defaultNodePool, withReadOnlyClient };
47
+ //# sourceMappingURL=chain_pool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chain_pool.js","sourceRoot":"","sources":["../../analysis/chain_pool.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,CAAC,MAAM,yBAAyB,CAAC;AAE7C,iFAAiF;AACjF,SAAS,eAAe;IACpB,OAAO,CAAC,GAAG,CAAC,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;AAChD,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,kBAAkB,CAAI,EAA+B;IAChE,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,sCAAsC,CAAC,CAAC;IACtF,MAAM,MAAM,GAAG,oBAAoB,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC;IAClE,4DAA4D;IAC5D,qEAAqE;IACrE,uEAAuE;IACvE,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,SAAS,GAAG,MAAM,CAAC;IAC/B,IAAI,CAAC;QACD,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;QACvB,OAAO,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;YAAS,CAAC;QACP,IAAI,CAAC;YAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QAAC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC,CAAC,yBAAyB,CAAC,CAAC;QACpE,OAAO,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;IACtC,CAAC;AACL,CAAC;AAED,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,CAAC"}
@@ -1,3 +1,16 @@
1
+ /**
2
+ * Inline <style>/<script> tags carrying the vendored uPlot runtime. Embedding
3
+ * the source (not a relative <script src>) makes a chart portable: it keeps
4
+ * rendering after being copied, mailed, or reopened on a machine without a
5
+ * DEXBot2 installation. The inline script must be the first script that runs,
6
+ * placed before any chart-initialization code, since uPlot must exist first.
7
+ * Both the minified JS (no `</script>`) and CSS (no `</style>`) are safe to
8
+ * embed verbatim.
9
+ */
10
+ declare function uplotInlineTags({ css, js }?: {
11
+ css?: boolean | undefined;
12
+ js?: boolean | undefined;
13
+ }): string;
1
14
  declare function escapeHtml(str: string): string;
2
15
  declare function serializeJsonForScript(value: any): string;
3
16
  declare function toEpochSeconds(ts: any, fallbackIdx: any): number;
@@ -21,5 +34,5 @@ declare function embedFunctionSources(fns: Array<Function>): string;
21
34
  * before embedding this script block.
22
35
  */
23
36
  declare const UPLOT_SHARED_SCRIPT = "\nfunction clampXRange(min, max) {\n let nextMin = min, nextMax = max;\n if (!Number.isFinite(nextMin) || !Number.isFinite(nextMax) || nextMax <= nextMin) {\n return { min: xMin, max: xMax };\n }\n if (nextMin < xMin) { nextMax += xMin - nextMin; nextMin = xMin; }\n if (nextMax > xMax) { nextMin -= nextMax - xMax; nextMax = xMax; }\n if (nextMin < xMin) nextMin = xMin;\n if (nextMax > xMax) nextMax = xMax;\n if (nextMax <= nextMin) return { min: xMin, max: xMax };\n return { min: nextMin, max: nextMax };\n}\n\nfunction syncXRange(min, max) {\n pendingRange = clampXRange(min, max);\n if (pendingRangeRaf) return;\n const raf = typeof requestAnimationFrame !== 'undefined' ? requestAnimationFrame.bind(window) : (fn) => setTimeout(fn, 0);\n pendingRangeRaf = raf(() => {\n const next = pendingRange;\n pendingRange = null;\n pendingRangeRaf = 0;\n if (!next) return;\n charts.forEach(c => c && c.batch(() => c.setScale('x', next)));\n });\n}\n\nfunction bindWheelZoom(chart) {\n chart.root.addEventListener('wheel', (e) => {\n if (e.ctrlKey || e.metaKey || e.altKey) return;\n e.preventDefault();\n e.stopPropagation();\n const rect = chart.root.getBoundingClientRect();\n \n // Correctly calculate plot-relative 'left' for accurate centering\n const left = e.clientX - rect.left - (chart.bbox.left / (chart.pxRatio || 1));\n const center = chart.posToVal(left, 'x');\n \n const s = chart.scales.x || {};\n const currMin = Number.isFinite(s.min) ? s.min : xMin;\n const currMax = Number.isFinite(s.max) ? s.max : xMax;\n const span = currMax - currMin;\n if (!Number.isFinite(span) || span <= 0) return;\n const factor = e.deltaY < 0 ? 0.85 : 1.15;\n const nextSpan = Math.max(1, Math.min(xMax - xMin, span * factor));\n const ratio = (center - currMin) / span;\n syncXRange(center - nextSpan * ratio, center - nextSpan * ratio + nextSpan);\n }, { passive: false });\n}\n\nfunction bindPan(chart) {\n let dragging = false, startClientX = 0, startClientY = 0, startMin = xMin, startMax = xMax, xUnitsPerPx = 0;\n const getScale = () => {\n const s = chart.scales.x || {};\n return { currMin: Number.isFinite(s.min) ? s.min : xMin, currMax: Number.isFinite(s.max) ? s.max : xMax };\n };\n const onMouseMove = (e) => {\n if (!dragging) return;\n \n // Ignore if vertical movement is dominant (likely scrolling)\n if (Math.abs(e.clientY - startClientY) > 20) return;\n \n e.preventDefault();\n const deltaPx = e.clientX - startClientX;\n const deltaVal = deltaPx * xUnitsPerPx;\n syncXRange(startMin - deltaVal, startMax - deltaVal);\n };\n const endDrag = () => {\n if (!dragging) return;\n dragging = false;\n document.body.style.cursor = '';\n window.removeEventListener('mousemove', onMouseMove);\n window.removeEventListener('mouseup', endDrag);\n };\n chart.root.addEventListener('mousedown', (e) => {\n if (!e || e.button !== 0 || e.ctrlKey || e.metaKey || e.altKey) return;\n const rect = chart.root.getBoundingClientRect();\n if (e.clientX < rect.left || e.clientX > rect.right || e.clientY < rect.top || e.clientY > rect.bottom) return;\n \n e.preventDefault();\n e.stopPropagation();\n \n dragging = true;\n startClientX = e.clientX;\n startClientY = e.clientY;\n const cur = getScale();\n startMin = cur.currMin; startMax = cur.currMax;\n \n // Calculate units per pixel once at start of drag to avoid sliding bug\n // chart.bbox.width is in device pixels; divide by pxRatio for CSS pixels\n xUnitsPerPx = (cur.currMax - cur.currMin) / (chart.bbox.width / (chart.pxRatio || 1));\n \n document.body.style.cursor = 'grabbing';\n window.addEventListener('mousemove', onMouseMove);\n window.addEventListener('mouseup', endDrag, { once: true });\n });\n}\n";
24
- export { escapeHtml, serializeJsonForScript, toEpochSeconds, writeChartFile, toFileUrl, embedFunctionSources, UPLOT_SHARED_SCRIPT };
37
+ export { escapeHtml, serializeJsonForScript, toEpochSeconds, writeChartFile, toFileUrl, embedFunctionSources, UPLOT_SHARED_SCRIPT, uplotInlineTags };
25
38
  //# sourceMappingURL=chart_utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chart_utils.d.ts","sourceRoot":"","sources":["../../analysis/chart_utils.ts"],"names":[],"mappings":"AAmCA,iBAAS,UAAU,CAAC,GAAG,EAAE,MAAM,UAS9B;AAED,iBAAS,sBAAsB,CAAC,KAAK,EAAE,GAAG,UAEzC;AAED,iBAAS,cAAc,CAAC,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,UAIhD;AAED,iBAAS,SAAS,CAAC,QAAQ,EAAE,GAAG,GAAG,MAAM,CAExC;AAED,iBAAS,cAAc,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,QAa/C;AAED;;;;;;;;;;GAUG;AACH,iBAAS,oBAAoB,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,MAAM,CAG1D;AAED;;;;GAIG;AACH,QAAA,MAAM,mBAAmB,okIAiGxB,CAAC;AAEF,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAE,cAAc,EAAE,cAAc,EAAE,SAAS,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,CAAA"}
1
+ {"version":3,"file":"chart_utils.d.ts","sourceRoot":"","sources":["../../analysis/chart_utils.ts"],"names":[],"mappings":"AA8BA;;;;;;;;GAQG;AACH,iBAAS,eAAe,CAAC,EAAE,GAAU,EAAE,EAAS,EAAE;;;CAAK,UAMtD;AAGD,iBAAS,UAAU,CAAC,GAAG,EAAE,MAAM,UAS9B;AAED,iBAAS,sBAAsB,CAAC,KAAK,EAAE,GAAG,UAEzC;AAED,iBAAS,cAAc,CAAC,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,UAIhD;AAED,iBAAS,SAAS,CAAC,QAAQ,EAAE,GAAG,GAAG,MAAM,CAExC;AAED,iBAAS,cAAc,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,QAa/C;AAED;;;;;;;;;;GAUG;AACH,iBAAS,oBAAoB,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,MAAM,CAG1D;AAED;;;;GAIG;AACH,QAAA,MAAM,mBAAmB,okIAiGxB,CAAC;AAEF,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAE,cAAc,EAAE,cAAc,EAAE,SAAS,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,eAAe,EAAE,CAAA"}
@@ -7,28 +7,39 @@ const { ensureDir } = getStorage();
7
7
  /**
8
8
  * Chart utilities for analysis HTML generators.
9
9
  */
10
- // Runtime assets every generated chart references as ../uplot/* relative to
11
- // its own directory (charts live in <root>/charts, assets in <root>/uplot).
12
- const UPLOT_RUNTIME_FILES = ['uPlot.iife.min.js', 'uPlot.min.css'];
10
+ // Vendored uPlot runtime assets are inlined directly into every generated chart
11
+ // (see uplotInlineTags below), so each chart is a single self-contained file
12
+ // that renders anywhere: no DEXBot2 install, no sibling uplot/ dir, no CDN, no
13
+ // network. The vendored originals always live with the code under the analysis
14
+ // assets dir.
15
+ let _uplotRuntime = null;
16
+ function getUplotRuntime() {
17
+ if (!_uplotRuntime) {
18
+ const dir = PATHS.ANALYSIS.ASSETS_DIR;
19
+ _uplotRuntime = {
20
+ css: fs.readFileSync(path.join(dir, 'uPlot.min.css'), 'utf8'),
21
+ js: fs.readFileSync(path.join(dir, 'uPlot.iife.min.js'), 'utf8'),
22
+ };
23
+ }
24
+ return _uplotRuntime;
25
+ }
13
26
  /**
14
- * Generated HTML loads uPlot from a sibling `uplot/` dir next to the charts
15
- * dir. In a source checkout that dir is the vendored original; anywhere else
16
- * (relocated analysis root under npm/home profiles, or a custom --chart path)
17
- * materialize a copy so the relative refs keep resolving.
27
+ * Inline <style>/<script> tags carrying the vendored uPlot runtime. Embedding
28
+ * the source (not a relative <script src>) makes a chart portable: it keeps
29
+ * rendering after being copied, mailed, or reopened on a machine without a
30
+ * DEXBot2 installation. The inline script must be the first script that runs,
31
+ * placed before any chart-initialization code, since uPlot must exist first.
32
+ * Both the minified JS (no `</script>`) and CSS (no `</style>`) are safe to
33
+ * embed verbatim.
18
34
  */
19
- function ensureSiblingUplotAssets(chartDir) {
20
- const targetDir = path.join(path.dirname(path.resolve(chartDir)), 'uplot');
21
- const sourceDir = PATHS.ANALYSIS.ASSETS_DIR;
22
- if (targetDir === path.resolve(sourceDir))
23
- return;
24
- if (UPLOT_RUNTIME_FILES.every((f) => fs.existsSync(path.join(targetDir, f))))
25
- return;
26
- if (!fs.existsSync(sourceDir))
27
- return;
28
- fs.mkdirSync(targetDir, { recursive: true });
29
- for (const f of UPLOT_RUNTIME_FILES) {
30
- fs.copyFileSync(path.join(sourceDir, f), path.join(targetDir, f));
31
- }
35
+ function uplotInlineTags({ css = true, js = true } = {}) {
36
+ const { css: cssCode, js: jsCode } = getUplotRuntime();
37
+ const parts = [];
38
+ if (css && cssCode)
39
+ parts.push(`<style>\n${cssCode}\n</style>`);
40
+ if (js && jsCode)
41
+ parts.push(`<script>\n${jsCode}\n</script>`);
42
+ return parts.join('\n ');
32
43
  }
33
44
  function escapeHtml(str) {
34
45
  const map = {
@@ -56,7 +67,6 @@ function writeChartFile(filePath, html) {
56
67
  const chartDir = path.dirname(filePath);
57
68
  if (!fs.existsSync(chartDir))
58
69
  ensureDir(chartDir);
59
- ensureSiblingUplotAssets(chartDir);
60
70
  // Atomic write (tmp + rename, matching the production storage adapter
61
71
  // pattern) so a crash mid-write can never leave a truncated chart file.
62
72
  const tmpPath = `${filePath}.${process.pid}.${Date.now()}.${Math.random().toString(36).slice(2, 10)}.tmp`;
@@ -190,5 +200,5 @@ function bindPan(chart) {
190
200
  });
191
201
  }
192
202
  `;
193
- export { escapeHtml, serializeJsonForScript, toEpochSeconds, writeChartFile, toFileUrl, embedFunctionSources, UPLOT_SHARED_SCRIPT };
203
+ export { escapeHtml, serializeJsonForScript, toEpochSeconds, writeChartFile, toFileUrl, embedFunctionSources, UPLOT_SHARED_SCRIPT, uplotInlineTags };
194
204
  //# sourceMappingURL=chart_utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chart_utils.js","sourceRoot":"","sources":["../../analysis/chart_utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chart_utils.js","sourceRoot":"","sources":["../../analysis/chart_utils.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"derivative_chart_generator.d.ts","sourceRoot":"","sources":["../../analysis/derivative_chart_generator.ts"],"names":[],"mappings":";AAYA,iBAAS,SAAS,CAAC,IAAI,WAAwB;eACnB,MAAM,GAAG,IAAI;gBAAc,MAAM;WAAS,MAAM;WAAS,OAAO;EAuB3F;AACD,iBAAS,QAAQ,SAUhB;AACD,iBAAS,UAAU,CAAC,KAAK,EAAE,MAAM,cAIhC;AAmBD,iBAAS,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,UAmxB7C;AAeD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAA"}
1
+ {"version":3,"file":"derivative_chart_generator.d.ts","sourceRoot":"","sources":["../../analysis/derivative_chart_generator.ts"],"names":[],"mappings":";AAYA,iBAAS,SAAS,CAAC,IAAI,WAAwB;eACnB,MAAM,GAAG,IAAI;gBAAc,MAAM;WAAS,MAAM;WAAS,OAAO;EAuB3F;AACD,iBAAS,QAAQ,SAUhB;AACD,iBAAS,UAAU,CAAC,KAAK,EAAE,MAAM,cAIhC;AAmBD,iBAAS,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,UAkxB7C;AAeD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAA"}
@@ -3,7 +3,7 @@
3
3
  import fs from 'node:fs';
4
4
  import path from 'node:path';
5
5
  import { pathToFileURL } from 'node:url';
6
- import { escapeHtml, serializeJsonForScript, toEpochSeconds, UPLOT_SHARED_SCRIPT } from './chart_utils.js';
6
+ import { escapeHtml, serializeJsonForScript, toEpochSeconds, UPLOT_SHARED_SCRIPT, uplotInlineTags } from './chart_utils.js';
7
7
  import { getStorage } from '../modules/storage/index.js';
8
8
  const { ensureDir, readJSON } = getStorage();
9
9
  import { fixedTo } from '../modules/order/utils/math.js';
@@ -241,8 +241,7 @@ function generateHTML(data, title) {
241
241
  <meta name="darkreader-lock">
242
242
  <meta name="color-scheme" content="dark">
243
243
  <title>${escapeHtml(title)}</title>
244
- <link rel="stylesheet" href="../uplot/uPlot.min.css">
245
- <script src="../uplot/uPlot.iife.min.js"></script>
244
+ ${uplotInlineTags()}
246
245
  <style>
247
246
  :root { color-scheme: dark; }
248
247
  * { box-sizing: border-box; margin: 0; padding: 0; }
@@ -1 +1 @@
1
- {"version":3,"file":"derivative_chart_generator.js","sourceRoot":"","sources":["../../analysis/derivative_chart_generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"derivative_chart_generator.js","sourceRoot":"","sources":["../../analysis/derivative_chart_generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,79 @@
1
+ /** operation_type of a fill_order operation in the chain history index. */
2
+ declare const OP_FILL_ORDER = 4;
3
+ declare const BTS_ID = "1.3.0";
4
+ interface AssetInfo {
5
+ symbol: string;
6
+ precision: number;
7
+ }
8
+ interface AssetAmount {
9
+ amount: number;
10
+ asset_id: string;
11
+ }
12
+ interface FillRecord {
13
+ time: string;
14
+ blockNum: number;
15
+ opNum: number;
16
+ orderId: string;
17
+ accountId: string;
18
+ pays: AssetAmount;
19
+ receives: AssetAmount;
20
+ fee: AssetAmount;
21
+ isMaker: boolean;
22
+ sort: any[];
23
+ }
24
+ declare const ASSETS: Record<string, AssetInfo>;
25
+ /** Precisions learned on-chain this run (populated by resolveAssetPrecisions). */
26
+ declare const resolvedPrecisions: Record<string, number>;
27
+ declare function assetSymbol(id: string): string;
28
+ declare function assetPrec(id: string): number | undefined;
29
+ declare function toReal(amount: number, assetId: string): number;
30
+ /**
31
+ * Collect all unique non-BTS asset IDs from fills, resolve unknown precisions
32
+ * from the blockchain, and populate the runtime cache.
33
+ */
34
+ declare function resolveAssetPrecisions(fills: FillRecord[]): Promise<void>;
35
+ declare function buildFillQuery(accountId: string, gte: string, lte: string, size: number): {
36
+ size: number;
37
+ track_total_hits: boolean;
38
+ _source: string[];
39
+ query: {
40
+ bool: {
41
+ filter: ({
42
+ term: {
43
+ operation_type: number;
44
+ 'operation_history.op_object.account_id.keyword'?: undefined;
45
+ };
46
+ range?: undefined;
47
+ } | {
48
+ term: {
49
+ 'operation_history.op_object.account_id.keyword': string;
50
+ operation_type?: undefined;
51
+ };
52
+ range?: undefined;
53
+ } | {
54
+ range: {
55
+ 'block_data.block_time': {
56
+ gte: string;
57
+ lte: string;
58
+ };
59
+ };
60
+ term?: undefined;
61
+ })[];
62
+ };
63
+ };
64
+ sort: ({
65
+ 'block_data.block_time': {
66
+ order: string;
67
+ };
68
+ operation_id_num?: undefined;
69
+ } | {
70
+ operation_id_num: {
71
+ order: string;
72
+ };
73
+ 'block_data.block_time'?: undefined;
74
+ })[];
75
+ };
76
+ /** Fetch every fill_order for an account in [gte, lte], paginated via search_after. */
77
+ declare function fetchAllFills(config: any, accountId: string, gte: string, lte: string): Promise<FillRecord[]>;
78
+ export { BTS_ID, OP_FILL_ORDER, ASSETS, resolvedPrecisions, assetSymbol, assetPrec, toReal, resolveAssetPrecisions, buildFillQuery, fetchAllFills, AssetInfo, AssetAmount, FillRecord, };
79
+ //# sourceMappingURL=fills_source.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fills_source.d.ts","sourceRoot":"","sources":["../../analysis/fills_source.ts"],"names":[],"mappings":"AAiBA,2EAA2E;AAC3E,QAAA,MAAM,aAAa,IAAI,CAAC;AACxB,QAAA,MAAM,MAAM,UAAU,CAAC;AAEvB,UAAU,SAAS;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,WAAW;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,UAAU;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,EAAE,WAAW,CAAC;IACtB,GAAG,EAAE,WAAW,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,GAAG,EAAE,CAAC;CACf;AAED,QAAA,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CA6CrC,CAAC;AAEF,kFAAkF;AAClF,QAAA,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,CAAC;AAEtD,iBAAS,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAEvC;AAED,iBAAS,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEjD;AAED,iBAAS,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAIvD;AAED;;;GAGG;AACH,iBAAe,sBAAsB,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAgCxE;AAED,iBAAS,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6BhF;AAED,uFAAuF;AACvF,iBAAe,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAuC5G;AAED,OAAO,EACH,MAAM,EACN,aAAa,EACb,MAAM,EACN,kBAAkB,EAClB,WAAW,EACX,SAAS,EACT,MAAM,EACN,sBAAsB,EACtB,cAAc,EACd,aAAa,EACb,SAAS,EACT,WAAW,EACX,UAAU,GACb,CAAC"}
@@ -0,0 +1,186 @@
1
+ 'use strict';
2
+ /**
3
+ * SHARED FILLS SOURCE (analysis)
4
+ *
5
+ * Single implementation of the Kibana `fill_order` pipeline and the asset
6
+ * precision table/cache used by the fill-based analysis tools. Both
7
+ * trade_profitability.ts and grid_correction_check.ts carried verbatim copies
8
+ * of this (43-entry ASSETS table, toReal/assetPrec helpers, on-chain precision
9
+ * resolution, query builder and paginated fetch); all of it lives here now.
10
+ */
11
+ import * as KC from '../market_adapter/core/kibana_client.js';
12
+ import { withReadOnlyClient } from './chain_pool.js';
13
+ const { kibanaSearch, DEFAULT_CONFIG: BASE_CONFIG } = KC;
14
+ /** operation_type of a fill_order operation in the chain history index. */
15
+ const OP_FILL_ORDER = 4;
16
+ const BTS_ID = '1.3.0';
17
+ const ASSETS = {
18
+ '1.3.0': { symbol: 'BTS', precision: 5 },
19
+ '1.3.118': { symbol: 'GBP', precision: 4 },
20
+ '1.3.119': { symbol: 'JPY', precision: 2 },
21
+ '1.3.120': { symbol: 'EUR', precision: 4 },
22
+ '1.3.1325': { symbol: 'RUBLE', precision: 5 },
23
+ '1.3.2512': { symbol: 'EVRAZ', precision: 4 },
24
+ '1.3.3291': { symbol: 'TWENTIX', precision: 5 },
25
+ '1.3.4099': { symbol: 'XBTSX.STH', precision: 6 },
26
+ '1.3.4156': { symbol: 'XBTSX.DOGE', precision: 5 },
27
+ '1.3.4157': { symbol: 'XBTSX.BTC', precision: 8 },
28
+ '1.3.4159': { symbol: 'XBTSX.LTC', precision: 8 },
29
+ '1.3.4176': { symbol: 'XBTSX.DASH', precision: 8 },
30
+ '1.3.4274': { symbol: 'XBTSX.BCH', precision: 8 },
31
+ '1.3.4760': { symbol: 'XBTSX.ETH', precision: 7 },
32
+ '1.3.5537': { symbol: 'IOB.XRP', precision: 4 },
33
+ '1.3.5541': { symbol: 'XBTSX.BNB', precision: 7 },
34
+ '1.3.5589': { symbol: 'XBTSX.USDT', precision: 6 },
35
+ '1.3.5641': { symbol: 'HONEST.CNY', precision: 4 },
36
+ '1.3.5649': { symbol: 'HONEST.USD', precision: 4 },
37
+ '1.3.5650': { symbol: 'HONEST.BTC', precision: 8 },
38
+ '1.3.5659': { symbol: 'HONEST.ETH', precision: 6 },
39
+ '1.3.5870': { symbol: 'XBTSX.FIL', precision: 6 },
40
+ '1.3.5887': { symbol: 'XBTSX.RUB', precision: 4 },
41
+ '1.3.5902': { symbol: 'XBTSX.USDC', precision: 6 },
42
+ '1.3.6013': { symbol: 'XBTSX.HIVE', precision: 6 },
43
+ '1.3.6124': { symbol: 'XBTSX.AVAX', precision: 6 },
44
+ '1.3.6139': { symbol: 'XBTSX.XAUT', precision: 6 },
45
+ '1.3.6166': { symbol: 'XBTSX.MATIC', precision: 5 },
46
+ '1.3.6241': { symbol: 'XBTSX.ETC', precision: 7 },
47
+ '1.3.6268': { symbol: 'BTWTY.EOS', precision: 4 },
48
+ '1.3.6301': { symbol: 'HONEST.MONEY', precision: 8 },
49
+ '1.3.6304': { symbol: 'HONEST.ADA', precision: 8 },
50
+ '1.3.6305': { symbol: 'HONEST.DOT', precision: 8 },
51
+ '1.3.6309': { symbol: 'HONEST.ATOM', precision: 8 },
52
+ '1.3.6311': { symbol: 'HONEST.ALGO', precision: 8 },
53
+ '1.3.6312': { symbol: 'HONEST.FIL', precision: 8 },
54
+ '1.3.6313': { symbol: 'HONEST.EOS', precision: 8 },
55
+ '1.3.6315': { symbol: 'HONEST.EUR', precision: 4 },
56
+ '1.3.6316': { symbol: 'HONEST.GBP', precision: 4 },
57
+ '1.3.6317': { symbol: 'HONEST.JPY', precision: 4 },
58
+ '1.3.6444': { symbol: 'IOB.XLM', precision: 4 },
59
+ '1.3.6573': { symbol: 'XBTSX.DAI', precision: 6 },
60
+ '1.3.6620': { symbol: 'XBTSX.A', precision: 6 },
61
+ '1.3.6627': { symbol: 'XBTSX.LINK', precision: 6 },
62
+ };
63
+ /** Precisions learned on-chain this run (populated by resolveAssetPrecisions). */
64
+ const resolvedPrecisions = {};
65
+ function assetSymbol(id) {
66
+ return ASSETS[id]?.symbol ?? id;
67
+ }
68
+ function assetPrec(id) {
69
+ return ASSETS[id]?.precision ?? resolvedPrecisions[id];
70
+ }
71
+ function toReal(amount, assetId) {
72
+ const p = assetPrec(assetId);
73
+ if (p === undefined)
74
+ return NaN;
75
+ return amount / Math.pow(10, p);
76
+ }
77
+ /**
78
+ * Collect all unique non-BTS asset IDs from fills, resolve unknown precisions
79
+ * from the blockchain, and populate the runtime cache.
80
+ */
81
+ async function resolveAssetPrecisions(fills) {
82
+ const unknownIds = new Set();
83
+ for (const f of fills) {
84
+ for (const id of [f.pays.asset_id, f.receives.asset_id, f.fee.asset_id]) {
85
+ if (id !== BTS_ID && !(id in ASSETS) && !(id in resolvedPrecisions)) {
86
+ unknownIds.add(id);
87
+ }
88
+ }
89
+ }
90
+ if (unknownIds.size === 0)
91
+ return;
92
+ const ids = [...unknownIds];
93
+ console.log(` Resolving ${ids.length} unknown asset(s) from blockchain...`);
94
+ try {
95
+ await withReadOnlyClient(async (client) => {
96
+ const assets = await client.db('get_assets', [ids]);
97
+ if (Array.isArray(assets)) {
98
+ for (const asset of assets) {
99
+ if (asset?.id && asset.precision != null) {
100
+ resolvedPrecisions[asset.id] = asset.precision;
101
+ console.log(` ${asset.id} → ${asset.symbol || '?'} (precision ${asset.precision})`);
102
+ }
103
+ }
104
+ }
105
+ const missing = ids.filter(id => !(id in resolvedPrecisions));
106
+ if (missing.length > 0) {
107
+ console.warn(` [warn] ${missing.length} asset(s) not found on chain: ${missing.join(', ')}. Fills referencing them will be skipped.`);
108
+ }
109
+ });
110
+ }
111
+ catch (e) {
112
+ console.warn(` [warn] Asset resolution failed: ${e.message}. Fills with unknown assets will be skipped.`);
113
+ }
114
+ }
115
+ function buildFillQuery(accountId, gte, lte, size) {
116
+ return {
117
+ size,
118
+ track_total_hits: false,
119
+ _source: [
120
+ 'block_data.block_time',
121
+ 'block_data.block_num',
122
+ 'operation_id_num',
123
+ 'operation_history.op_object.pays',
124
+ 'operation_history.op_object.receives',
125
+ 'operation_history.op_object.fee',
126
+ 'operation_history.op_object.order_id',
127
+ 'operation_history.op_object.account_id',
128
+ 'operation_history.op_object.is_maker',
129
+ ],
130
+ query: {
131
+ bool: {
132
+ filter: [
133
+ { term: { operation_type: OP_FILL_ORDER } },
134
+ { term: { 'operation_history.op_object.account_id.keyword': accountId } },
135
+ { range: { 'block_data.block_time': { gte, lte } } },
136
+ ],
137
+ },
138
+ },
139
+ sort: [
140
+ { 'block_data.block_time': { order: 'asc' } },
141
+ { operation_id_num: { order: 'asc' } },
142
+ ],
143
+ };
144
+ }
145
+ /** Fetch every fill_order for an account in [gte, lte], paginated via search_after. */
146
+ async function fetchAllFills(config, accountId, gte, lte) {
147
+ const pageSize = 10000;
148
+ const fills = [];
149
+ let searchAfter = null;
150
+ const cfg = { ...BASE_CONFIG, timeout: 60000, ...config };
151
+ while (true) {
152
+ const query = buildFillQuery(accountId, gte, lte, pageSize);
153
+ if (searchAfter)
154
+ query.search_after = searchAfter;
155
+ const result = await kibanaSearch(cfg, query);
156
+ const hits = result?.hits?.hits ?? [];
157
+ if (!hits.length)
158
+ break;
159
+ for (const hit of hits) {
160
+ const src = hit?._source;
161
+ const op = src?.operation_history?.op_object;
162
+ if (!op || !op.pays || !op.receives)
163
+ continue;
164
+ fills.push({
165
+ time: src.block_data?.block_time ?? '',
166
+ blockNum: src.block_data?.block_num ?? 0,
167
+ opNum: Number(src.operation_id_num ?? 0),
168
+ orderId: op.order_id ?? '',
169
+ accountId: op.account_id ?? '',
170
+ pays: { amount: Number(op.pays.amount ?? 0), asset_id: op.pays.asset_id ?? '' },
171
+ receives: { amount: Number(op.receives.amount ?? 0), asset_id: op.receives.asset_id ?? '' },
172
+ fee: { amount: Number(op.fee?.amount ?? 0), asset_id: op.fee?.asset_id ?? '' },
173
+ isMaker: op.is_maker ?? false,
174
+ sort: hit.sort,
175
+ });
176
+ }
177
+ if (hits.length < pageSize)
178
+ break;
179
+ searchAfter = hits[hits.length - 1].sort;
180
+ if (!Array.isArray(searchAfter))
181
+ break;
182
+ }
183
+ return fills;
184
+ }
185
+ export { BTS_ID, OP_FILL_ORDER, ASSETS, resolvedPrecisions, assetSymbol, assetPrec, toReal, resolveAssetPrecisions, buildFillQuery, fetchAllFills, };
186
+ //# sourceMappingURL=fills_source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fills_source.js","sourceRoot":"","sources":["../../analysis/fills_source.ts"],"names":[],"mappings":"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"}
@@ -1,25 +1,5 @@
1
1
  #!/usr/bin/env node
2
- interface FillRecord {
3
- time: string;
4
- blockNum: number;
5
- opNum: number;
6
- orderId: string;
7
- accountId: string;
8
- pays: {
9
- amount: number;
10
- asset_id: string;
11
- };
12
- receives: {
13
- amount: number;
14
- asset_id: string;
15
- };
16
- fee: {
17
- amount: number;
18
- asset_id: string;
19
- };
20
- isMaker: boolean;
21
- sort: any[];
22
- }
2
+ import { FillRecord } from './fills_source.js';
23
3
  interface OrderUpdate {
24
4
  orderId: string;
25
5
  sequence: number;
@@ -1 +1 @@
1
- {"version":3,"file":"grid_correction_check.d.ts","sourceRoot":"","sources":["../../analysis/grid_correction_check.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"grid_correction_check.d.ts","sourceRoot":"","sources":["../../analysis/grid_correction_check.ts"],"names":[],"mappings":";AAyCA,OAAO,EAEH,UAAU,EAMb,MAAM,mBAAmB,CAAC;AAO3B,UAAU,WAAW;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CACpB;AACD,UAAU,SAAS;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,KAAK,GAAG,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CACpB;AACD,UAAU,SAAS;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,KAAK,GAAG,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,SAAS,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACrB;AACD,UAAU,eAAe;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,KAAK,GAAG,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CACpB;AAID;;;;;;;;;;;GAWG;AACH,iBAAS,sBAAsB,CAC3B,KAAK,EAAE,GAAG,EACV,IAAI,EAAE,GAAG,EACT,SAAS,EAAE,GAAG,EACd,QAAQ,EAAE,GAAG,EACb,gBAAgB,EAAE,GAAG,GACtB;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAiBzF;AAsND,iBAAS,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG;IAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAuDpF;AAKD,iBAAS,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,OAAO,GAAE,WAAW,EAAO,GAAG,eAAe,EAAE,CAyD7F;AAGD,iBAAS,gBAAgB,CACrB,KAAK,EAAE,CAAC,SAAS,GAAG,eAAe,CAAC,EAAE,EACtC,gBAAgB,EAAE,OAAO,EACzB,gBAAgB,EAAE,MAAM,GACzB;IAAE,UAAU,EAAE,SAAS,EAAE,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,kBAAkB,EAAE,MAAM,CAAA;CAAE,CAyD/E;AA4PD,OAAO,EAAE,sBAAsB,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC"}