dexbot 1.4.19 → 1.4.21

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 (302) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/README.md +22 -12
  3. package/analysis/ama_fitting/analyze_lambda_vs_slow.ts +2 -2
  4. package/analysis/ama_fitting/calibrate_convergence_er.ts +1 -1
  5. package/analysis/ama_fitting/optimizer_high_resolution.ts +2 -1
  6. package/analysis/ama_fitting/package.json +1 -1
  7. package/analysis/analyze_derivatives.ts +4 -2
  8. package/analysis/analyze_dynamic_weight.ts +3 -1
  9. package/analysis/analyze_kalman.ts +3 -1
  10. package/analysis/analyze_regime.ts +3 -1
  11. package/analysis/analyze_regime_windows.ts +3 -1
  12. package/analysis/analyze_volatility.ts +2 -2
  13. package/analysis/bot_fitting/backtest_ama_sweep.ts +2 -1
  14. package/analysis/bot_fitting/backtest_bot_fitting.ts +17 -12
  15. package/analysis/bot_fitting/shared_utils.ts +1 -1
  16. package/analysis/bot_key_utils.ts +1 -5
  17. package/analysis/bot_usage/kibana_bot_queries.ts +1 -256
  18. package/analysis/chart_css.ts +1 -1
  19. package/analysis/chart_utils.ts +24 -0
  20. package/analysis/derivative_chart_generator.ts +3 -2
  21. package/analysis/math_utils.ts +1 -8
  22. package/analysis/trend_detection/DYNAMIC_WEIGHT_RESEARCH.md +1 -1
  23. package/analysis/trend_detection/dynamic_weight_chart_generator.ts +91 -55
  24. package/analysis/trend_detection/package.json +1 -1
  25. package/claw/ecosystem.config.cjs +2 -3
  26. package/claw/examples/claw_profiles_example.ts +4 -1
  27. package/claw/examples/memu_integration_example.ts +17 -17
  28. package/claw/modules/chain_actions.ts +51 -54
  29. package/claw/modules/chain_broadcast.ts +66 -104
  30. package/claw/modules/claw_bridge.ts +60 -80
  31. package/claw/modules/claw_catalog.ts +48 -17
  32. package/claw/modules/claw_infra.ts +1 -5
  33. package/claw/modules/claw_launcher.ts +47 -49
  34. package/claw/modules/claw_skill_md.ts +14 -16
  35. package/claw/modules/credit_runtime_adapter.ts +2 -18
  36. package/claw/modules/decision_loop.ts +4 -0
  37. package/claw/modules/dexbot_bridge.ts +1 -1
  38. package/claw/modules/dexbot_profiles.ts +8 -22
  39. package/claw/modules/honest_ecosystem.ts +24 -8
  40. package/claw/modules/launcher_paths.ts +4 -2
  41. package/claw/modules/liquidity_pools.ts +10 -3
  42. package/claw/modules/mcp_utils.ts +109 -0
  43. package/claw/modules/memu_bridge.ts +76 -54
  44. package/claw/modules/mpa_utils.ts +26 -3
  45. package/claw/modules/position_discovery.ts +16 -27
  46. package/claw/modules/position_manager.ts +32 -41
  47. package/claw/modules/position_manager_watch.ts +3 -2
  48. package/claw/modules/short_mpa_strategy.ts +1 -9
  49. package/claw/modules/skill_utils.ts +5 -3
  50. package/claw/modules/utils.ts +9 -1
  51. package/claw/package.json +1 -1
  52. package/claw/runtimes/openclaw-plugin/index.ts +27 -10
  53. package/claw/runtimes/openclaw-plugin/openclaw.plugin.json +1 -1
  54. package/claw/runtimes/openclaw-plugin/package.json +1 -1
  55. package/claw/scripts/claw_bridge.ts +1 -1
  56. package/claw/scripts/claw_mcp_server.ts +19 -78
  57. package/claw/scripts/honest_assets_report.ts +19 -84
  58. package/claw/scripts/memu_mcp_server.ts +57 -155
  59. package/claw/tests/test_claw_bridge.ts +6 -2
  60. package/claw/tests/test_claw_mcp_transport.ts +2 -2
  61. package/dist/analysis/ama_fitting/analyze_lambda_vs_slow.js +2 -2
  62. package/dist/analysis/ama_fitting/analyze_lambda_vs_slow.js.map +1 -1
  63. package/dist/analysis/ama_fitting/calibrate_convergence_er.js +1 -1
  64. package/dist/analysis/ama_fitting/calibrate_convergence_er.js.map +1 -1
  65. package/dist/analysis/ama_fitting/optimizer_high_resolution.d.ts.map +1 -1
  66. package/dist/analysis/ama_fitting/optimizer_high_resolution.js +2 -1
  67. package/dist/analysis/ama_fitting/optimizer_high_resolution.js.map +1 -1
  68. package/dist/analysis/analyze_derivatives.d.ts.map +1 -1
  69. package/dist/analysis/analyze_derivatives.js +4 -2
  70. package/dist/analysis/analyze_derivatives.js.map +1 -1
  71. package/dist/analysis/analyze_dynamic_weight.js +3 -1
  72. package/dist/analysis/analyze_dynamic_weight.js.map +1 -1
  73. package/dist/analysis/analyze_kalman.js +3 -1
  74. package/dist/analysis/analyze_kalman.js.map +1 -1
  75. package/dist/analysis/analyze_regime.js +3 -1
  76. package/dist/analysis/analyze_regime.js.map +1 -1
  77. package/dist/analysis/analyze_regime_windows.js +3 -1
  78. package/dist/analysis/analyze_regime_windows.js.map +1 -1
  79. package/dist/analysis/analyze_volatility.js +2 -2
  80. package/dist/analysis/analyze_volatility.js.map +1 -1
  81. package/dist/analysis/bot_fitting/backtest_ama_sweep.d.ts.map +1 -1
  82. package/dist/analysis/bot_fitting/backtest_ama_sweep.js +2 -1
  83. package/dist/analysis/bot_fitting/backtest_ama_sweep.js.map +1 -1
  84. package/dist/analysis/bot_fitting/backtest_bot_fitting.js +18 -13
  85. package/dist/analysis/bot_fitting/backtest_bot_fitting.js.map +1 -1
  86. package/dist/analysis/bot_fitting/shared_utils.d.ts +1 -12
  87. package/dist/analysis/bot_fitting/shared_utils.d.ts.map +1 -1
  88. package/dist/analysis/bot_fitting/shared_utils.js +1 -1
  89. package/dist/analysis/bot_fitting/shared_utils.js.map +1 -1
  90. package/dist/analysis/bot_key_utils.d.ts +1 -1
  91. package/dist/analysis/bot_key_utils.d.ts.map +1 -1
  92. package/dist/analysis/bot_key_utils.js +1 -5
  93. package/dist/analysis/bot_key_utils.js.map +1 -1
  94. package/dist/analysis/bot_usage/kibana_bot_queries.d.ts +1 -337
  95. package/dist/analysis/bot_usage/kibana_bot_queries.d.ts.map +1 -1
  96. package/dist/analysis/bot_usage/kibana_bot_queries.js +1 -241
  97. package/dist/analysis/bot_usage/kibana_bot_queries.js.map +1 -1
  98. package/dist/analysis/chart_css.d.ts +1 -15
  99. package/dist/analysis/chart_css.d.ts.map +1 -1
  100. package/dist/analysis/chart_css.js +1 -1
  101. package/dist/analysis/chart_css.js.map +1 -1
  102. package/dist/analysis/chart_utils.d.ts +0 -3
  103. package/dist/analysis/chart_utils.d.ts.map +1 -1
  104. package/dist/analysis/chart_utils.js +25 -0
  105. package/dist/analysis/chart_utils.js.map +1 -1
  106. package/dist/analysis/derivative_chart_generator.d.ts.map +1 -1
  107. package/dist/analysis/derivative_chart_generator.js +3 -2
  108. package/dist/analysis/derivative_chart_generator.js.map +1 -1
  109. package/dist/analysis/math_utils.d.ts +3 -5
  110. package/dist/analysis/math_utils.d.ts.map +1 -1
  111. package/dist/analysis/math_utils.js +3 -5
  112. package/dist/analysis/math_utils.js.map +1 -1
  113. package/dist/analysis/trend_detection/dynamic_weight_chart_generator.d.ts.map +1 -1
  114. package/dist/analysis/trend_detection/dynamic_weight_chart_generator.js +82 -50
  115. package/dist/analysis/trend_detection/dynamic_weight_chart_generator.js.map +1 -1
  116. package/dist/bot.js +2 -2
  117. package/dist/bot.js.map +1 -1
  118. package/dist/credential-daemon.js +1 -1
  119. package/dist/credential-daemon.js.map +1 -1
  120. package/dist/dexbot.d.ts.map +1 -1
  121. package/dist/dexbot.js +20 -17
  122. package/dist/dexbot.js.map +1 -1
  123. package/dist/market_adapter/ama_signal_runner.js +3 -3
  124. package/dist/market_adapter/core/kibana_client.d.ts +1 -3
  125. package/dist/market_adapter/core/kibana_client.d.ts.map +1 -1
  126. package/dist/market_adapter/core/kibana_client.js +1 -1
  127. package/dist/market_adapter/core/kibana_client.js.map +1 -1
  128. package/dist/market_adapter/core/market_adapter_service.d.ts +1 -2
  129. package/dist/market_adapter/core/market_adapter_service.d.ts.map +1 -1
  130. package/dist/market_adapter/core/market_adapter_service.js +9 -4
  131. package/dist/market_adapter/core/market_adapter_service.js.map +1 -1
  132. package/dist/market_adapter/core/strategies/regime_gate.d.ts +1 -2
  133. package/dist/market_adapter/core/strategies/regime_gate.d.ts.map +1 -1
  134. package/dist/market_adapter/core/strategies/regime_gate.js +1 -1
  135. package/dist/market_adapter/core/strategies/regime_gate.js.map +1 -1
  136. package/dist/market_adapter/inputs/fetch_cex_synthetic_data.js +2 -2
  137. package/dist/market_adapter/inputs/fetch_cex_synthetic_data.js.map +1 -1
  138. package/dist/market_adapter/inputs/fetch_lp_data.d.ts +5 -5
  139. package/dist/market_adapter/inputs/fetch_lp_data.js +5 -5
  140. package/dist/market_adapter/inputs/kibana_source.d.ts +1 -2
  141. package/dist/market_adapter/inputs/kibana_source.d.ts.map +1 -1
  142. package/dist/market_adapter/inputs/kibana_source.js +1 -1
  143. package/dist/market_adapter/inputs/kibana_source.js.map +1 -1
  144. package/dist/market_adapter/lp_chart_strategy_loader.d.ts +1 -2
  145. package/dist/market_adapter/lp_chart_strategy_loader.d.ts.map +1 -1
  146. package/dist/market_adapter/lp_chart_strategy_loader.js +4 -4
  147. package/dist/market_adapter/lp_chart_strategy_loader.js.map +1 -1
  148. package/dist/market_adapter/market_adapter.d.ts.map +1 -1
  149. package/dist/market_adapter/market_adapter.js +2 -1
  150. package/dist/market_adapter/market_adapter.js.map +1 -1
  151. package/dist/modules/account_bots.d.ts +3 -0
  152. package/dist/modules/account_bots.d.ts.map +1 -1
  153. package/dist/modules/account_bots.js +156 -46
  154. package/dist/modules/account_bots.js.map +1 -1
  155. package/dist/modules/account_orders.d.ts +1 -7
  156. package/dist/modules/account_orders.d.ts.map +1 -1
  157. package/dist/modules/account_orders.js +9 -17
  158. package/dist/modules/account_orders.js.map +1 -1
  159. package/dist/modules/bitshares_client.d.ts +2 -14
  160. package/dist/modules/bitshares_client.d.ts.map +1 -1
  161. package/dist/modules/bitshares_client.js +22 -31
  162. package/dist/modules/bitshares_client.js.map +1 -1
  163. package/dist/modules/bot_settings.js +1 -1
  164. package/dist/modules/bot_settings.js.map +1 -1
  165. package/dist/modules/chain_keys.js +2 -2
  166. package/dist/modules/chain_keys.js.map +1 -1
  167. package/dist/modules/chain_orders.d.ts +2 -3
  168. package/dist/modules/chain_orders.d.ts.map +1 -1
  169. package/dist/modules/chain_orders.js +8 -25
  170. package/dist/modules/chain_orders.js.map +1 -1
  171. package/dist/modules/config.d.ts +2 -0
  172. package/dist/modules/config.d.ts.map +1 -1
  173. package/dist/modules/config.js +6 -1
  174. package/dist/modules/config.js.map +1 -1
  175. package/dist/modules/constants.d.ts +0 -1
  176. package/dist/modules/constants.d.ts.map +1 -1
  177. package/dist/modules/constants.js +1 -5
  178. package/dist/modules/constants.js.map +1 -1
  179. package/dist/modules/credential_policy.js +1 -1
  180. package/dist/modules/credential_policy.js.map +1 -1
  181. package/dist/modules/dexbot_class.d.ts.map +1 -1
  182. package/dist/modules/dexbot_class.js +3 -2
  183. package/dist/modules/dexbot_class.js.map +1 -1
  184. package/dist/modules/dexbot_cow_runtime.d.ts +0 -7
  185. package/dist/modules/dexbot_cow_runtime.d.ts.map +1 -1
  186. package/dist/modules/dexbot_cow_runtime.js +95 -0
  187. package/dist/modules/dexbot_cow_runtime.js.map +1 -1
  188. package/dist/modules/dexbot_state_recovery.d.ts.map +1 -1
  189. package/dist/modules/dexbot_state_recovery.js +22 -2
  190. package/dist/modules/dexbot_state_recovery.js.map +1 -1
  191. package/dist/modules/fund_registry.d.ts.map +1 -1
  192. package/dist/modules/fund_registry.js +5 -2
  193. package/dist/modules/fund_registry.js.map +1 -1
  194. package/dist/modules/launcher/bot_supervisor.d.ts.map +1 -1
  195. package/dist/modules/launcher/bot_supervisor.js +6 -7
  196. package/dist/modules/launcher/bot_supervisor.js.map +1 -1
  197. package/dist/modules/launcher/foreign_cred_daemon.d.ts.map +1 -1
  198. package/dist/modules/launcher/foreign_cred_daemon.js +6 -0
  199. package/dist/modules/launcher/foreign_cred_daemon.js.map +1 -1
  200. package/dist/modules/launcher/market_adapter_runtime.d.ts +2 -3
  201. package/dist/modules/launcher/market_adapter_runtime.d.ts.map +1 -1
  202. package/dist/modules/launcher/market_adapter_runtime.js +7 -15
  203. package/dist/modules/launcher/market_adapter_runtime.js.map +1 -1
  204. package/dist/modules/launcher/monolithic_runtime.d.ts.map +1 -1
  205. package/dist/modules/launcher/monolithic_runtime.js +1 -0
  206. package/dist/modules/launcher/monolithic_runtime.js.map +1 -1
  207. package/dist/modules/launcher/status_reporting.d.ts +1 -2
  208. package/dist/modules/launcher/status_reporting.d.ts.map +1 -1
  209. package/dist/modules/launcher/status_reporting.js +1 -4
  210. package/dist/modules/launcher/status_reporting.js.map +1 -1
  211. package/dist/modules/order/accounting.js +2 -2
  212. package/dist/modules/order/accounting.js.map +1 -1
  213. package/dist/modules/order/format.d.ts +0 -8
  214. package/dist/modules/order/format.d.ts.map +1 -1
  215. package/dist/modules/order/format.js +0 -8
  216. package/dist/modules/order/format.js.map +1 -1
  217. package/dist/modules/order/grid.d.ts.map +1 -1
  218. package/dist/modules/order/grid.js +146 -32
  219. package/dist/modules/order/grid.js.map +1 -1
  220. package/dist/modules/order/logger.js +1 -1
  221. package/dist/modules/order/logger.js.map +1 -1
  222. package/dist/modules/order/logger_state.d.ts +1 -13
  223. package/dist/modules/order/logger_state.d.ts.map +1 -1
  224. package/dist/modules/order/logger_state.js +1 -11
  225. package/dist/modules/order/logger_state.js.map +1 -1
  226. package/dist/modules/order/manager.d.ts +13 -0
  227. package/dist/modules/order/manager.d.ts.map +1 -1
  228. package/dist/modules/order/manager.js +75 -2
  229. package/dist/modules/order/manager.js.map +1 -1
  230. package/dist/modules/order/processed_fill_store.d.ts +0 -5
  231. package/dist/modules/order/processed_fill_store.d.ts.map +1 -1
  232. package/dist/modules/order/processed_fill_store.js +1 -12
  233. package/dist/modules/order/processed_fill_store.js.map +1 -1
  234. package/dist/modules/order/sync_engine.d.ts.map +1 -1
  235. package/dist/modules/order/sync_engine.js +10 -3
  236. package/dist/modules/order/sync_engine.js.map +1 -1
  237. package/dist/modules/order/utils/math.d.ts +80 -1
  238. package/dist/modules/order/utils/math.d.ts.map +1 -1
  239. package/dist/modules/order/utils/math.js +138 -2
  240. package/dist/modules/order/utils/math.js.map +1 -1
  241. package/dist/modules/order/utils/order.d.ts.map +1 -1
  242. package/dist/modules/order/utils/order.js +10 -2
  243. package/dist/modules/order/utils/order.js.map +1 -1
  244. package/dist/modules/paths.d.ts +26 -1
  245. package/dist/modules/paths.d.ts.map +1 -1
  246. package/dist/modules/paths.js +39 -6
  247. package/dist/modules/paths.js.map +1 -1
  248. package/dist/modules/runtime_settings.js +3 -1
  249. package/dist/modules/runtime_settings.js.map +1 -1
  250. package/dist/modules/settings_merge.d.ts.map +1 -1
  251. package/dist/modules/settings_merge.js +3 -1
  252. package/dist/modules/settings_merge.js.map +1 -1
  253. package/dist/modules/storage/browser_adapter.d.ts +8 -3
  254. package/dist/modules/storage/browser_adapter.d.ts.map +1 -1
  255. package/dist/modules/storage/browser_adapter.js +53 -4
  256. package/dist/modules/storage/browser_adapter.js.map +1 -1
  257. package/dist/modules/utils/sanitize_key.d.ts +7 -0
  258. package/dist/modules/utils/sanitize_key.d.ts.map +1 -0
  259. package/dist/modules/utils/sanitize_key.js +15 -0
  260. package/dist/modules/utils/sanitize_key.js.map +1 -0
  261. package/dist/pm2.js +6 -6
  262. package/dist/pm2.js.map +1 -1
  263. package/dist/scripts/analyze-git.js +2 -1
  264. package/dist/scripts/analyze-git.js.map +1 -1
  265. package/dist/scripts/analyze-orders.d.ts +2 -2
  266. package/dist/scripts/analyze-orders.d.ts.map +1 -1
  267. package/dist/scripts/analyze-orders.js +6 -14
  268. package/dist/scripts/analyze-orders.js.map +1 -1
  269. package/dist/scripts/runner.js +1 -1
  270. package/dist/scripts/runner.js.map +1 -1
  271. package/dist/scripts/update.js +1 -1
  272. package/dist/scripts/update.js.map +1 -1
  273. package/docs/BITSHARES_ONBOARDING.md +63 -18
  274. package/docs/COPY_ON_WRITE_MASTER_PLAN.md +5 -14
  275. package/docs/COW_INVARIANTS.md +4 -4
  276. package/docs/CREDENTIAL_SECURITY.md +0 -11
  277. package/docs/DEXBOT_COMPARISON.md +11 -11
  278. package/docs/EVOLUTION.md +12 -10
  279. package/docs/FUND_MOVEMENT_AND_ACCOUNTING.md +27 -83
  280. package/docs/GRID_RECALCULATION.md +1 -13
  281. package/docs/GRID_RECONCILE.md +24 -24
  282. package/docs/LIFECYCLE.md +4 -4
  283. package/docs/LOGGING.md +1 -1
  284. package/docs/MPA_CREDIT_USAGE.md +3 -3
  285. package/docs/README.md +2 -2
  286. package/docs/WORKFLOW.md +2 -2
  287. package/docs/architecture.md +43 -38
  288. package/docs/developer_guide.md +16 -18
  289. package/market_adapter/README.md +0 -2
  290. package/modules/README.md +2 -1
  291. package/package.json +2 -3
  292. package/scripts/README.md +1 -1
  293. package/scripts/lib/dexbot-paths.sh +20 -11
  294. package/claw/openclaw.plugin.json +0 -13
  295. package/dist/market_adapter/merge_lp_data.d.ts +0 -3
  296. package/dist/market_adapter/merge_lp_data.d.ts.map +0 -1
  297. package/dist/market_adapter/merge_lp_data.js +0 -125
  298. package/dist/market_adapter/merge_lp_data.js.map +0 -1
  299. package/dist/market_adapter/utils/paths.d.ts +0 -3
  300. package/dist/market_adapter/utils/paths.d.ts.map +0 -1
  301. package/dist/market_adapter/utils/paths.js +0 -5
  302. package/dist/market_adapter/utils/paths.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"sync_engine.js","sourceRoot":"","sources":["../../../modules/order/sync_engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync_engine.js","sourceRoot":"","sources":["../../../modules/order/sync_engine.ts"],"names":[],"mappings":"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"}
@@ -703,6 +703,16 @@ declare function calculateGapSlots(incrementPercent: any, targetSpreadPercent: a
703
703
  * sellStartIdx = boundaryIdx + gapSlots + 1
704
704
  */
705
705
  declare function getSellStartIdx(boundaryIdx: any, gapSlots: any): number;
706
+ /**
707
+ * Resolve the configured gap-slot count for a manager-like object.
708
+ * Single source of truth for the `_gapSlots ?? calculateGapSlots(config)`
709
+ * pattern — used by resolveGapBand and the COW boundary-commit gate so the
710
+ * two can never disagree on band width.
711
+ */
712
+ declare function resolveGapSlots(manager: {
713
+ _gapSlots?: any;
714
+ config?: any;
715
+ }): number;
706
716
  /**
707
717
  * Resolve gap-band geometry from a manager-like object.
708
718
  * Centralises the gap-slots + sellStartIdx computation duplicated across
@@ -724,6 +734,75 @@ declare function resolveGapBand(manager: {
724
734
  boundaryIdx: number | null;
725
735
  sellStartIdx: number | null;
726
736
  };
737
+ /**
738
+ * Validate a proposed boundary commit against geometry INDEPENDENT of the
739
+ * mutable committed boundary.
740
+ *
741
+ * resolveGapBand() re-derives sellStartIdx from whatever boundary is committed
742
+ * — a one-time overrun therefore becomes permanent geometry on the next cycle.
743
+ * This gate runs at COW-commit time and rejects boundary values that no honest
744
+ * writer should produce:
745
+ *
746
+ * 1. numeric sanity — finite, integer, non-negative
747
+ * 2. array range — boundary index exists in the price-sorted slot space
748
+ * (the same sort used by promotion/`getSlotCorrectType`)
749
+ * 3. sell-rail ceiling — boundary may not exceed the shared writer ceiling
750
+ * `[0, N−gapSlots−1]`. Both boundary writers (calculateFundDrivenBoundary
751
+ * and the fill-driven deriveTargetBoundary) clamp to that window; a
752
+ * proposal past it could only come from a legacy persisted snapshot or a
753
+ * buggy future writer, and would self-legalize zero-SELL geometry via
754
+ * resolveGapBand() on the next cycle.
755
+ * 4. crossed book — among PLACED orders, the highest boundary-classified
756
+ * BUY must price strictly below the lowest implied-SELL. Placed prices
757
+ * do not depend on the boundary, so this detects an overrun regardless
758
+ * of which writer produced it.
759
+ *
760
+ * Deliberately NOT checked here: distance from config.startPrice-derived
761
+ * geometry. Fund-skewed boundaries legitimately sit far from the structural
762
+ * center (calculateFundDrivenBoundary clamps only to [0, N−gapSlots−1]), so a
763
+ * startPrice-distance rule would false-positive on valid fund-driven shifts.
764
+ *
765
+ * @param options.rejectInBandPlacements - When true, additionally reject a
766
+ * boundary under which a PLACED order sits strictly inside the implied gap
767
+ * band (stranding). Honest writers never produce this — the promotion walk
768
+ * caps depth upstream and syncBoundaryToFunds clamps between typed rails —
769
+ * so it is OFF at commit time (a refusal could not repair the placement
770
+ * anyway; _assertGapBandIntactPostCommit detects it post-commit) but ON for
771
+ * persisted-state validation, where stranding is exactly the poison
772
+ * signature and the safe fallback is a rebuild.
773
+ *
774
+ * @returns `{ ok: true }`, or `{ ok: false, reason, detail }` where `reason`
775
+ * is a stable short code and `detail` carries indices/prices for logs.
776
+ */
777
+ declare function validateBoundaryCommit(proposedBoundary: any, orders: Iterable<any>, gapSlots: number, options?: {
778
+ rejectInBandPlacements?: boolean;
779
+ }): {
780
+ ok: boolean;
781
+ reason?: string;
782
+ detail?: string;
783
+ };
784
+ /**
785
+ * Validate a boundary restored from PERSISTED state (disk snapshot) before it
786
+ * is trusted for grid geometry.
787
+ *
788
+ * Disk state crosses a trust boundary the in-memory commit gate does not: any
789
+ * writer bug (e.g. the pre-5eb3ca7 promotion overrun) may have committed AND
790
+ * persisted an invalid boundary that would otherwise legalize itself on every
791
+ * restart. This is strictly stricter than validateBoundaryCommit — it also
792
+ * rejects stranding (a placed order inside the implied band) because at
793
+ * restore time the safe fallback is a rebuild/re-derivation, not a refusal.
794
+ *
795
+ * Callers:
796
+ * - loadGrid (grid.ts) before _restoreBoundary — repairs via re-derivation.
797
+ * - recoverFromPersistedGrid (dexbot_state_recovery.ts) BEFORE loading, so a
798
+ * poisoned snapshot is refused and structural resync falls through to the
799
+ * clean full-grid reset instead of re-ingesting the damage.
800
+ */
801
+ declare function validatePersistedBoundary(proposedBoundary: any, orders: Iterable<any>, gapSlots: number): {
802
+ ok: boolean;
803
+ reason?: string;
804
+ detail?: string;
805
+ };
727
806
  /**
728
807
  * Count SPREAD-typed slots strictly inside the gap band
729
808
  * (`boundaryIdx < idx < sellStartIdx`). Empty slots are normalized to SPREAD
@@ -768,7 +847,7 @@ declare function countGapBandSpread(manager: any, orders: Iterable<any>, resolve
768
847
  * geometry cannot be determined), false when it sits outside the rail.
769
848
  */
770
849
  declare function isSlotInRail(boundaryIdx: any, gapSlots: any, orderType: any, slot: any): boolean;
771
- export { getBtsSide, getSellStartIdx, resolveGapBand, countGapBandSpread, calculateGapSlots, isSlotInRail, isPercentageString, isPositiveNumber, isPositiveNumberOrPercent, isPositiveInt, parsePercentageString, toDecimal, resolveRelativePrice, isExplicitZeroAllocation, getPrecision, computeChainFundTotals, calculateAvailableFundsValue, computeBtsFeeImpact, adjustBudgetForBtsFees, getGridBestPrices, calculateSpreadFromOrders, resolveConfigValue, resolveConfigValueWithRegistry, hasValidAccountTotals, blockchainToFloat, floatToBlockchainInt, quantizeFloat, normalizeInt, getPrecisionByOrderType, getPrecisionsForManager, getPrecisionSlack, quantumForPrecision, calculatePriceTolerance, findPriceCollision, validateOrderAmountsWithinLimits, getMinOrderSize, getDustThresholdFactor, getSingleDustThreshold, getDoubleDustThreshold, validateOrderSize, getAssetFees, getAssetFeesSafe, allocateFundsByWeights, calculateOrderSizes, calculateRotationOrderSizes, calculateGridSideDivergenceMetric, calculateOrderCreationFees, calculateSwapInAmount, _setFeeCache, cloneWeightDistribution, clamp, roundTo, fixedTo, roundToDecimals };
850
+ export { getBtsSide, getSellStartIdx, resolveGapBand, countGapBandSpread, calculateGapSlots, isSlotInRail, validateBoundaryCommit, validatePersistedBoundary, resolveGapSlots, isPercentageString, isPositiveNumber, isPositiveNumberOrPercent, isPositiveInt, parsePercentageString, toDecimal, resolveRelativePrice, isExplicitZeroAllocation, getPrecision, computeChainFundTotals, calculateAvailableFundsValue, computeBtsFeeImpact, adjustBudgetForBtsFees, getGridBestPrices, calculateSpreadFromOrders, resolveConfigValue, resolveConfigValueWithRegistry, hasValidAccountTotals, blockchainToFloat, floatToBlockchainInt, quantizeFloat, normalizeInt, getPrecisionByOrderType, getPrecisionsForManager, getPrecisionSlack, quantumForPrecision, calculatePriceTolerance, findPriceCollision, validateOrderAmountsWithinLimits, getMinOrderSize, getDustThresholdFactor, getSingleDustThreshold, getDoubleDustThreshold, validateOrderSize, getAssetFees, getAssetFeesSafe, allocateFundsByWeights, calculateOrderSizes, calculateRotationOrderSizes, calculateGridSideDivergenceMetric, calculateOrderCreationFees, calculateSwapInAmount, _setFeeCache, cloneWeightDistribution, clamp, roundTo, fixedTo, roundToDecimals };
772
851
  /**
773
852
  * Round a value to a given factor.
774
853
  * @param {number} value - Value to round
@@ -1 +1 @@
1
- {"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../../../modules/order/utils/math.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../../../modules/order/utils/math.ts"],"names":[],"mappings":"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"}
@@ -1161,6 +1161,19 @@ function calculateGapSlots(incrementPercent, targetSpreadPercent, gridLimits = {
1161
1161
  function getSellStartIdx(boundaryIdx, gapSlots) {
1162
1162
  return Number(boundaryIdx ?? 0) + Number(gapSlots) + 1;
1163
1163
  }
1164
+ /**
1165
+ * Resolve the configured gap-slot count for a manager-like object.
1166
+ * Single source of truth for the `_gapSlots ?? calculateGapSlots(config)`
1167
+ * pattern — used by resolveGapBand and the COW boundary-commit gate so the
1168
+ * two can never disagree on band width.
1169
+ */
1170
+ function resolveGapSlots(manager) {
1171
+ const configured = manager._gapSlots;
1172
+ if (configured != null && Number.isFinite(Number(configured))) {
1173
+ return Math.max(0, Math.floor(Number(configured)));
1174
+ }
1175
+ return calculateGapSlots(manager.config?.incrementPercent, manager.config?.targetSpreadPercent, manager.config?.gridLimits);
1176
+ }
1164
1177
  /**
1165
1178
  * Resolve gap-band geometry from a manager-like object.
1166
1179
  * Centralises the gap-slots + sellStartIdx computation duplicated across
@@ -1174,7 +1187,7 @@ function getSellStartIdx(boundaryIdx, gapSlots) {
1174
1187
  * boundary restored yet" and skip geometry-based filtering.
1175
1188
  */
1176
1189
  function resolveGapBand(manager) {
1177
- const gapSlots = manager._gapSlots ?? calculateGapSlots(manager.config?.incrementPercent, manager.config?.targetSpreadPercent, manager.config?.gridLimits);
1190
+ const gapSlots = resolveGapSlots(manager);
1178
1191
  // Explicit null/undefined guard: Number(null) === 0, which would silently
1179
1192
  // treat "no boundary" as boundary 0 — a valid index that biases all slots
1180
1193
  // to the SELL rail. Return null so callers can detect the unknown state.
@@ -1188,6 +1201,129 @@ function resolveGapBand(manager) {
1188
1201
  const sellStartIdx = getSellStartIdx(raw, gapSlots);
1189
1202
  return { gapSlots, boundaryIdx: raw, sellStartIdx };
1190
1203
  }
1204
+ /**
1205
+ * Validate a proposed boundary commit against geometry INDEPENDENT of the
1206
+ * mutable committed boundary.
1207
+ *
1208
+ * resolveGapBand() re-derives sellStartIdx from whatever boundary is committed
1209
+ * — a one-time overrun therefore becomes permanent geometry on the next cycle.
1210
+ * This gate runs at COW-commit time and rejects boundary values that no honest
1211
+ * writer should produce:
1212
+ *
1213
+ * 1. numeric sanity — finite, integer, non-negative
1214
+ * 2. array range — boundary index exists in the price-sorted slot space
1215
+ * (the same sort used by promotion/`getSlotCorrectType`)
1216
+ * 3. sell-rail ceiling — boundary may not exceed the shared writer ceiling
1217
+ * `[0, N−gapSlots−1]`. Both boundary writers (calculateFundDrivenBoundary
1218
+ * and the fill-driven deriveTargetBoundary) clamp to that window; a
1219
+ * proposal past it could only come from a legacy persisted snapshot or a
1220
+ * buggy future writer, and would self-legalize zero-SELL geometry via
1221
+ * resolveGapBand() on the next cycle.
1222
+ * 4. crossed book — among PLACED orders, the highest boundary-classified
1223
+ * BUY must price strictly below the lowest implied-SELL. Placed prices
1224
+ * do not depend on the boundary, so this detects an overrun regardless
1225
+ * of which writer produced it.
1226
+ *
1227
+ * Deliberately NOT checked here: distance from config.startPrice-derived
1228
+ * geometry. Fund-skewed boundaries legitimately sit far from the structural
1229
+ * center (calculateFundDrivenBoundary clamps only to [0, N−gapSlots−1]), so a
1230
+ * startPrice-distance rule would false-positive on valid fund-driven shifts.
1231
+ *
1232
+ * @param options.rejectInBandPlacements - When true, additionally reject a
1233
+ * boundary under which a PLACED order sits strictly inside the implied gap
1234
+ * band (stranding). Honest writers never produce this — the promotion walk
1235
+ * caps depth upstream and syncBoundaryToFunds clamps between typed rails —
1236
+ * so it is OFF at commit time (a refusal could not repair the placement
1237
+ * anyway; _assertGapBandIntactPostCommit detects it post-commit) but ON for
1238
+ * persisted-state validation, where stranding is exactly the poison
1239
+ * signature and the safe fallback is a rebuild.
1240
+ *
1241
+ * @returns `{ ok: true }`, or `{ ok: false, reason, detail }` where `reason`
1242
+ * is a stable short code and `detail` carries indices/prices for logs.
1243
+ */
1244
+ function validateBoundaryCommit(proposedBoundary, orders, gapSlots, options = {}) {
1245
+ if (proposedBoundary == null)
1246
+ return { ok: true };
1247
+ const raw = Number(proposedBoundary);
1248
+ if (!Number.isFinite(raw) || !Number.isInteger(raw)) {
1249
+ return { ok: false, reason: 'non_integer_boundary', detail: `proposed=${proposedBoundary}` };
1250
+ }
1251
+ if (raw < 0) {
1252
+ return { ok: false, reason: 'negative_boundary', detail: `proposed=${raw}` };
1253
+ }
1254
+ const sorted = Array.from(orders ?? [])
1255
+ .filter((o) => o && o.price != null && Number.isFinite(Number(o.price)))
1256
+ .sort((a, b) => Number(a.price) - Number(b.price));
1257
+ const maxIdx = sorted.length - 1;
1258
+ if (raw > maxIdx) {
1259
+ return { ok: false, reason: 'boundary_out_of_range', detail: `proposed=${raw} maxIdx=${maxIdx}` };
1260
+ }
1261
+ // Sell-rail ceiling: align the gate with the shared writer window
1262
+ // [0, N−gapSlots−1]. Skipped for degenerate geometries (fewer slots than
1263
+ // the gap band needs), where no boundary satisfies it and legacy behavior
1264
+ // applies.
1265
+ const sellRailCeiling = maxIdx - gapSlots;
1266
+ if (sellRailCeiling >= 0 && raw > sellRailCeiling) {
1267
+ return {
1268
+ ok: false,
1269
+ reason: 'sell_rail_ceiling_exceeded',
1270
+ detail: `proposed=${raw} maxAllowed=${sellRailCeiling} slots=${sorted.length} gapSlots=${gapSlots}`
1271
+ };
1272
+ }
1273
+ const sellStart = raw + gapSlots + 1;
1274
+ let maxBuyPrice = -Infinity;
1275
+ let minSellPrice = Infinity;
1276
+ for (let idx = 0; idx < sorted.length; idx++) {
1277
+ const o = sorted[idx];
1278
+ if (!o.orderId)
1279
+ continue;
1280
+ const price = Number(o.price);
1281
+ if (idx <= raw) {
1282
+ if (price > maxBuyPrice)
1283
+ maxBuyPrice = price;
1284
+ }
1285
+ else if (idx >= sellStart) {
1286
+ if (price < minSellPrice)
1287
+ minSellPrice = price;
1288
+ }
1289
+ else if (options.rejectInBandPlacements) {
1290
+ return {
1291
+ ok: false,
1292
+ reason: 'placed_order_in_band',
1293
+ detail: `boundary=${raw} gapSlots=${gapSlots} placed idx=${idx} price=${price} ` +
1294
+ `sits strictly inside implied band (${raw}, ${sellStart})`
1295
+ };
1296
+ }
1297
+ }
1298
+ if (Number.isFinite(maxBuyPrice) && Number.isFinite(minSellPrice) && minSellPrice <= maxBuyPrice) {
1299
+ return {
1300
+ ok: false,
1301
+ reason: 'crossed_book_geometry',
1302
+ detail: `boundary=${raw} gapSlots=${gapSlots} bestPlacedBuy=${maxBuyPrice} >= bestImpliedSell=${minSellPrice}`
1303
+ };
1304
+ }
1305
+ return { ok: true };
1306
+ }
1307
+ /**
1308
+ * Validate a boundary restored from PERSISTED state (disk snapshot) before it
1309
+ * is trusted for grid geometry.
1310
+ *
1311
+ * Disk state crosses a trust boundary the in-memory commit gate does not: any
1312
+ * writer bug (e.g. the pre-5eb3ca7 promotion overrun) may have committed AND
1313
+ * persisted an invalid boundary that would otherwise legalize itself on every
1314
+ * restart. This is strictly stricter than validateBoundaryCommit — it also
1315
+ * rejects stranding (a placed order inside the implied band) because at
1316
+ * restore time the safe fallback is a rebuild/re-derivation, not a refusal.
1317
+ *
1318
+ * Callers:
1319
+ * - loadGrid (grid.ts) before _restoreBoundary — repairs via re-derivation.
1320
+ * - recoverFromPersistedGrid (dexbot_state_recovery.ts) BEFORE loading, so a
1321
+ * poisoned snapshot is refused and structural resync falls through to the
1322
+ * clean full-grid reset instead of re-ingesting the damage.
1323
+ */
1324
+ function validatePersistedBoundary(proposedBoundary, orders, gapSlots) {
1325
+ return validateBoundaryCommit(proposedBoundary, orders, gapSlots, { rejectInBandPlacements: true });
1326
+ }
1191
1327
  /**
1192
1328
  * Count SPREAD-typed slots strictly inside the gap band
1193
1329
  * (`boundaryIdx < idx < sellStartIdx`). Empty slots are normalized to SPREAD
@@ -1264,7 +1400,7 @@ function isSlotInRail(boundaryIdx, gapSlots, orderType, slot) {
1264
1400
  return true;
1265
1401
  return idx >= sellStartIdx;
1266
1402
  }
1267
- export { getBtsSide, getSellStartIdx, resolveGapBand, countGapBandSpread, calculateGapSlots, isSlotInRail, isPercentageString, isPositiveNumber, isPositiveNumberOrPercent, isPositiveInt, parsePercentageString, toDecimal, resolveRelativePrice, isExplicitZeroAllocation, getPrecision, computeChainFundTotals, calculateAvailableFundsValue, computeBtsFeeImpact, adjustBudgetForBtsFees, getGridBestPrices, calculateSpreadFromOrders, resolveConfigValue, resolveConfigValueWithRegistry, hasValidAccountTotals, blockchainToFloat, floatToBlockchainInt, quantizeFloat, normalizeInt, getPrecisionByOrderType, getPrecisionsForManager, getPrecisionSlack, quantumForPrecision, calculatePriceTolerance, findPriceCollision, validateOrderAmountsWithinLimits, getMinOrderSize, getDustThresholdFactor, getSingleDustThreshold, getDoubleDustThreshold, validateOrderSize, getAssetFees, getAssetFeesSafe, allocateFundsByWeights, calculateOrderSizes, calculateRotationOrderSizes, calculateGridSideDivergenceMetric, calculateOrderCreationFees, calculateSwapInAmount, _setFeeCache, cloneWeightDistribution, clamp, roundTo, fixedTo, roundToDecimals };
1403
+ export { getBtsSide, getSellStartIdx, resolveGapBand, countGapBandSpread, calculateGapSlots, isSlotInRail, validateBoundaryCommit, validatePersistedBoundary, resolveGapSlots, isPercentageString, isPositiveNumber, isPositiveNumberOrPercent, isPositiveInt, parsePercentageString, toDecimal, resolveRelativePrice, isExplicitZeroAllocation, getPrecision, computeChainFundTotals, calculateAvailableFundsValue, computeBtsFeeImpact, adjustBudgetForBtsFees, getGridBestPrices, calculateSpreadFromOrders, resolveConfigValue, resolveConfigValueWithRegistry, hasValidAccountTotals, blockchainToFloat, floatToBlockchainInt, quantizeFloat, normalizeInt, getPrecisionByOrderType, getPrecisionsForManager, getPrecisionSlack, quantumForPrecision, calculatePriceTolerance, findPriceCollision, validateOrderAmountsWithinLimits, getMinOrderSize, getDustThresholdFactor, getSingleDustThreshold, getDoubleDustThreshold, validateOrderSize, getAssetFees, getAssetFeesSafe, allocateFundsByWeights, calculateOrderSizes, calculateRotationOrderSizes, calculateGridSideDivergenceMetric, calculateOrderCreationFees, calculateSwapInAmount, _setFeeCache, cloneWeightDistribution, clamp, roundTo, fixedTo, roundToDecimals };
1268
1404
  /**
1269
1405
  * Round a value to a given factor.
1270
1406
  * @param {number} value - Value to round