dexbot 1.6.5 → 1.6.7

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 (228) hide show
  1. package/CHANGELOG.md +76 -4
  2. package/README.md +108 -36
  3. package/analysis/README.md +11 -16
  4. package/analysis/account_resolver.ts +1 -11
  5. package/analysis/bot_usage/kibana_bot_queries.ts +1 -1
  6. package/analysis/chain_pool.ts +1 -1
  7. package/analysis/fills_source.ts +0 -6
  8. package/analysis/grid_correction_check.ts +20 -26
  9. package/analysis/resolve_source.ts +1 -1
  10. package/analysis/trade_profitability.ts +2 -5
  11. package/analysis/trend_detection/README.md +1 -3
  12. package/analysis/trend_detection/package.json +1 -1
  13. package/claw/package.json +1 -1
  14. package/claw/runtimes/openclaw-plugin/openclaw.plugin.json +1 -1
  15. package/claw/runtimes/openclaw-plugin/package.json +1 -1
  16. package/claw/tests/test_claw_mcp_transport.ts +2 -2
  17. package/dist/analysis/account_resolver.d.ts +1 -4
  18. package/dist/analysis/account_resolver.d.ts.map +1 -1
  19. package/dist/analysis/account_resolver.js +1 -1
  20. package/dist/analysis/account_resolver.js.map +1 -1
  21. package/dist/analysis/bot_usage/kibana_bot_queries.d.ts +1 -2
  22. package/dist/analysis/bot_usage/kibana_bot_queries.d.ts.map +1 -1
  23. package/dist/analysis/bot_usage/kibana_bot_queries.js +1 -1
  24. package/dist/analysis/bot_usage/kibana_bot_queries.js.map +1 -1
  25. package/dist/analysis/chain_pool.d.ts +1 -3
  26. package/dist/analysis/chain_pool.d.ts.map +1 -1
  27. package/dist/analysis/chain_pool.js +1 -1
  28. package/dist/analysis/chain_pool.js.map +1 -1
  29. package/dist/analysis/fills_source.d.ts +1 -51
  30. package/dist/analysis/fills_source.d.ts.map +1 -1
  31. package/dist/analysis/fills_source.js +1 -1
  32. package/dist/analysis/fills_source.js.map +1 -1
  33. package/dist/analysis/grid_correction_check.d.ts +2 -3
  34. package/dist/analysis/grid_correction_check.d.ts.map +1 -1
  35. package/dist/analysis/grid_correction_check.js +18 -26
  36. package/dist/analysis/grid_correction_check.js.map +1 -1
  37. package/dist/analysis/resolve_source.d.ts +1 -1
  38. package/dist/analysis/resolve_source.d.ts.map +1 -1
  39. package/dist/analysis/trade_profitability.d.ts.map +1 -1
  40. package/dist/analysis/trade_profitability.js +2 -7
  41. package/dist/analysis/trade_profitability.js.map +1 -1
  42. package/dist/dexbot.d.ts.map +1 -1
  43. package/dist/dexbot.js +82 -83
  44. package/dist/dexbot.js.map +1 -1
  45. package/dist/market_adapter/core/kibana_candles.d.ts +1 -15
  46. package/dist/market_adapter/core/kibana_candles.d.ts.map +1 -1
  47. package/dist/market_adapter/core/kibana_candles.js +1 -1
  48. package/dist/market_adapter/core/kibana_candles.js.map +1 -1
  49. package/dist/market_adapter/inputs/fetch_lp_data.d.ts +1 -35
  50. package/dist/market_adapter/inputs/fetch_lp_data.d.ts.map +1 -1
  51. package/dist/market_adapter/inputs/fetch_lp_data.js +10 -54
  52. package/dist/market_adapter/inputs/fetch_lp_data.js.map +1 -1
  53. package/dist/market_adapter/inputs/kibana_feed_source.d.ts +1 -8
  54. package/dist/market_adapter/inputs/kibana_feed_source.d.ts.map +1 -1
  55. package/dist/market_adapter/inputs/kibana_feed_source.js +1 -1
  56. package/dist/market_adapter/inputs/kibana_feed_source.js.map +1 -1
  57. package/dist/market_adapter/inputs/window_cache.d.ts +2 -63
  58. package/dist/market_adapter/inputs/window_cache.d.ts.map +1 -1
  59. package/dist/market_adapter/inputs/window_cache.js +22 -102
  60. package/dist/market_adapter/inputs/window_cache.js.map +1 -1
  61. package/dist/modules/account_bots.d.ts +16 -2
  62. package/dist/modules/account_bots.d.ts.map +1 -1
  63. package/dist/modules/account_bots.js +108 -44
  64. package/dist/modules/account_bots.js.map +1 -1
  65. package/dist/modules/account_orders.d.ts +20 -2
  66. package/dist/modules/account_orders.d.ts.map +1 -1
  67. package/dist/modules/account_orders.js +63 -3
  68. package/dist/modules/account_orders.js.map +1 -1
  69. package/dist/modules/bitshares-native/chain_client.d.ts +10 -0
  70. package/dist/modules/bitshares-native/chain_client.d.ts.map +1 -1
  71. package/dist/modules/bitshares-native/chain_client.js +197 -28
  72. package/dist/modules/bitshares-native/chain_client.js.map +1 -1
  73. package/dist/modules/bitshares-native/crypto/ecc.browser.d.ts.map +1 -1
  74. package/dist/modules/bitshares-native/crypto/ecc.browser.js +0 -31
  75. package/dist/modules/bitshares-native/crypto/ecc.browser.js.map +1 -1
  76. package/dist/modules/bitshares-native/subscriptions.d.ts.map +1 -1
  77. package/dist/modules/bitshares-native/subscriptions.js +312 -10
  78. package/dist/modules/bitshares-native/subscriptions.js.map +1 -1
  79. package/dist/modules/bitshares-native/transport.d.ts +1 -0
  80. package/dist/modules/bitshares-native/transport.d.ts.map +1 -1
  81. package/dist/modules/bitshares-native/transport.js +97 -3
  82. package/dist/modules/bitshares-native/transport.js.map +1 -1
  83. package/dist/modules/bitshares_client.d.ts +20 -0
  84. package/dist/modules/bitshares_client.d.ts.map +1 -1
  85. package/dist/modules/bitshares_client.js +29 -0
  86. package/dist/modules/bitshares_client.js.map +1 -1
  87. package/dist/modules/chain_keys.d.ts +37 -22
  88. package/dist/modules/chain_keys.d.ts.map +1 -1
  89. package/dist/modules/chain_keys.js +145 -44
  90. package/dist/modules/chain_keys.js.map +1 -1
  91. package/dist/modules/cli_start_onboarding.d.ts +10 -0
  92. package/dist/modules/cli_start_onboarding.d.ts.map +1 -0
  93. package/dist/modules/cli_start_onboarding.js +15 -0
  94. package/dist/modules/cli_start_onboarding.js.map +1 -0
  95. package/dist/modules/cli_start_output.d.ts +6 -0
  96. package/dist/modules/cli_start_output.d.ts.map +1 -0
  97. package/dist/modules/cli_start_output.js +8 -0
  98. package/dist/modules/cli_start_output.js.map +1 -0
  99. package/dist/modules/constants.d.ts +13 -0
  100. package/dist/modules/constants.d.ts.map +1 -1
  101. package/dist/modules/constants.js +103 -1
  102. package/dist/modules/constants.js.map +1 -1
  103. package/dist/modules/credit_runtime.d.ts +0 -2
  104. package/dist/modules/credit_runtime.d.ts.map +1 -1
  105. package/dist/modules/credit_runtime.js +1 -10
  106. package/dist/modules/credit_runtime.js.map +1 -1
  107. package/dist/modules/dexbot_class.d.ts +13 -10
  108. package/dist/modules/dexbot_class.d.ts.map +1 -1
  109. package/dist/modules/dexbot_class.js +0 -9
  110. package/dist/modules/dexbot_class.js.map +1 -1
  111. package/dist/modules/dexbot_cow_runtime.d.ts +13 -0
  112. package/dist/modules/dexbot_cow_runtime.d.ts.map +1 -1
  113. package/dist/modules/dexbot_cow_runtime.js +62 -10
  114. package/dist/modules/dexbot_cow_runtime.js.map +1 -1
  115. package/dist/modules/dexbot_fill_runtime.d.ts +6 -1
  116. package/dist/modules/dexbot_fill_runtime.d.ts.map +1 -1
  117. package/dist/modules/dexbot_fill_runtime.js +22 -3
  118. package/dist/modules/dexbot_fill_runtime.js.map +1 -1
  119. package/dist/modules/dexbot_maintenance_runtime.d.ts +24 -1
  120. package/dist/modules/dexbot_maintenance_runtime.d.ts.map +1 -1
  121. package/dist/modules/dexbot_maintenance_runtime.js +45 -1
  122. package/dist/modules/dexbot_maintenance_runtime.js.map +1 -1
  123. package/dist/modules/dexbot_state_recovery.d.ts.map +1 -1
  124. package/dist/modules/dexbot_state_recovery.js +13 -1
  125. package/dist/modules/dexbot_state_recovery.js.map +1 -1
  126. package/dist/modules/order/accounting.d.ts +4 -18
  127. package/dist/modules/order/accounting.d.ts.map +1 -1
  128. package/dist/modules/order/accounting.js +4 -34
  129. package/dist/modules/order/accounting.js.map +1 -1
  130. package/dist/modules/order/export.d.ts +9 -12
  131. package/dist/modules/order/export.d.ts.map +1 -1
  132. package/dist/modules/order/export.js +9 -12
  133. package/dist/modules/order/export.js.map +1 -1
  134. package/dist/modules/order/grid.d.ts +35 -40
  135. package/dist/modules/order/grid.d.ts.map +1 -1
  136. package/dist/modules/order/grid.js +76 -44
  137. package/dist/modules/order/grid.js.map +1 -1
  138. package/dist/modules/order/grid_reconcile.d.ts.map +1 -1
  139. package/dist/modules/order/grid_reconcile.js +111 -20
  140. package/dist/modules/order/grid_reconcile.js.map +1 -1
  141. package/dist/modules/order/grid_reconcile_internal.d.ts +5 -3
  142. package/dist/modules/order/grid_reconcile_internal.d.ts.map +1 -1
  143. package/dist/modules/order/grid_reconcile_internal.js +29 -3
  144. package/dist/modules/order/grid_reconcile_internal.js.map +1 -1
  145. package/dist/modules/order/logger.d.ts +12 -2
  146. package/dist/modules/order/logger.d.ts.map +1 -1
  147. package/dist/modules/order/logger.js +29 -7
  148. package/dist/modules/order/logger.js.map +1 -1
  149. package/dist/modules/order/manager.d.ts +49 -8
  150. package/dist/modules/order/manager.d.ts.map +1 -1
  151. package/dist/modules/order/manager.js +72 -34
  152. package/dist/modules/order/manager.js.map +1 -1
  153. package/dist/modules/order/utils/order.d.ts +22 -7
  154. package/dist/modules/order/utils/order.d.ts.map +1 -1
  155. package/dist/modules/order/utils/order.js +200 -33
  156. package/dist/modules/order/utils/order.js.map +1 -1
  157. package/dist/modules/order/utils/system.d.ts +97 -0
  158. package/dist/modules/order/utils/system.d.ts.map +1 -1
  159. package/dist/modules/order/utils/system.js +274 -2
  160. package/dist/modules/order/utils/system.js.map +1 -1
  161. package/dist/modules/order/utils/withPoolRef.d.ts +12 -0
  162. package/dist/modules/order/utils/withPoolRef.d.ts.map +1 -1
  163. package/dist/modules/order/utils/withPoolRef.js +17 -0
  164. package/dist/modules/order/utils/withPoolRef.js.map +1 -1
  165. package/dist/modules/order/working_grid.d.ts +8 -13
  166. package/dist/modules/order/working_grid.d.ts.map +1 -1
  167. package/dist/modules/order/working_grid.js +8 -29
  168. package/dist/modules/order/working_grid.js.map +1 -1
  169. package/dist/modules/paths.d.ts +7 -1
  170. package/dist/modules/paths.d.ts.map +1 -1
  171. package/dist/modules/paths.js +10 -3
  172. package/dist/modules/paths.js.map +1 -1
  173. package/dist/modules/utils/text_width.d.ts +19 -0
  174. package/dist/modules/utils/text_width.d.ts.map +1 -0
  175. package/dist/modules/utils/text_width.js +97 -0
  176. package/dist/modules/utils/text_width.js.map +1 -0
  177. package/dist/pm2.d.ts.map +1 -1
  178. package/dist/pm2.js +95 -18
  179. package/dist/pm2.js.map +1 -1
  180. package/dist/scripts/sync-version.js +0 -22
  181. package/dist/scripts/sync-version.js.map +1 -1
  182. package/dist/scripts/update.js +62 -13
  183. package/dist/scripts/update.js.map +1 -1
  184. package/dist/scripts/update_dist_freshness.d.ts +12 -0
  185. package/dist/scripts/update_dist_freshness.d.ts.map +1 -1
  186. package/dist/scripts/update_dist_freshness.js +30 -1
  187. package/dist/scripts/update_dist_freshness.js.map +1 -1
  188. package/dist/unlock.d.ts +14 -2
  189. package/dist/unlock.d.ts.map +1 -1
  190. package/dist/unlock.js +73 -4
  191. package/dist/unlock.js.map +1 -1
  192. package/docs/BITSHARES_ONBOARDING.md +9 -6
  193. package/docs/COW_INVARIANTS.md +9 -0
  194. package/docs/CREDENTIAL_SECURITY.md +26 -0
  195. package/docs/DEXBOT_COMPARISON.md +11 -11
  196. package/docs/EVOLUTION.md +9 -7
  197. package/docs/FUND_MOVEMENT_AND_ACCOUNTING.md +1 -1
  198. package/docs/GRID_PRICE_INVARIANT.md +573 -0
  199. package/docs/GRID_RECALCULATION.md +1 -1
  200. package/docs/GRID_RECONCILE.md +60 -39
  201. package/docs/LOGGING.md +17 -2
  202. package/docs/ORDER_ENGINE_POST_1.0_RETROSPECTIVE.md +555 -0
  203. package/docs/README.md +3 -3
  204. package/docs/WORKFLOW.md +12 -6
  205. package/docs/architecture.md +40 -38
  206. package/docs/developer_guide.md +4 -8
  207. package/market_adapter/README.md +16 -12
  208. package/modules/README.md +1 -1
  209. package/package.json +8 -4
  210. package/scripts/README.md +0 -9
  211. package/scripts/reset-settings.sh +1 -1
  212. package/analysis/ama_fitting/package.json +0 -12
  213. package/analysis/analyze_derivatives.ts +0 -320
  214. package/analysis/derivative_chart_generator.ts +0 -874
  215. package/analysis/trend_detection/SIGNAL_DOCUMENTATION.md +0 -403
  216. package/analysis/trend_detection/derivative_analyzer.ts +0 -1059
  217. package/dist/analysis/analyze_derivatives.d.ts +0 -68
  218. package/dist/analysis/analyze_derivatives.d.ts.map +0 -1
  219. package/dist/analysis/analyze_derivatives.js +0 -287
  220. package/dist/analysis/analyze_derivatives.js.map +0 -1
  221. package/dist/analysis/derivative_chart_generator.d.ts +0 -12
  222. package/dist/analysis/derivative_chart_generator.d.ts.map +0 -1
  223. package/dist/analysis/derivative_chart_generator.js +0 -891
  224. package/dist/analysis/derivative_chart_generator.js.map +0 -1
  225. package/dist/analysis/trend_detection/derivative_analyzer.d.ts +0 -248
  226. package/dist/analysis/trend_detection/derivative_analyzer.d.ts.map +0 -1
  227. package/dist/analysis/trend_detection/derivative_analyzer.js +0 -910
  228. package/dist/analysis/trend_detection/derivative_analyzer.js.map +0 -1
package/dist/unlock.js CHANGED
@@ -48,12 +48,16 @@ import { createCredentialDaemonController } from './modules/launcher/credential_
48
48
  import { buildScopedChildEnv } from './modules/launcher/child_env.js';
49
49
  import { parseUnlockArgs } from './modules/launcher/launch_modes.js';
50
50
  import { UPDATER, LAUNCHER } from './modules/constants.js';
51
+ import { formatStartupNotice } from './modules/cli_start_output.js';
51
52
  import { runtime } from './modules/runtime.js';
52
- import { PATHS } from './modules/paths.js';
53
+ import { PATHS, printRelocationNotices } from './modules/paths.js';
53
54
  import { buildRuntimeScriptArgs } from './modules/launcher/runtime_entry.js';
54
55
  import { sendControlCommand } from './modules/launcher/supervisor_control.js';
55
56
  import { registerCleanup, setupGracefulShutdown } from './modules/graceful_shutdown.js';
56
57
  import { normalizeBotEntry, resolveRawBotEntries, loadSettingsFile } from './modules/bot_settings.js';
58
+ import { main as runBotEditor } from './modules/account_bots.js';
59
+ import { setSuppressConnectionLog, disconnectClient } from './modules/bitshares_client.js';
60
+ import { selectStartOnboardingCommand } from './modules/cli_start_onboarding.js';
57
61
  import * as chainKeys from './modules/chain_keys.js';
58
62
  import * as credentialPolicy from './modules/credential_policy.js';
59
63
  import { getWhitelistFlags } from './modules/market_adapter_whitelist.js';
@@ -379,7 +383,53 @@ async function runIsolated({ botName, botEntry = null, stayResident = false, sta
379
383
  });
380
384
  }
381
385
  // ── Main entry point ───────────────────────────────────────────────
382
- async function main({ argv = process.argv, startupGraceMs = DEFAULT_STARTUP_GRACE_MS } = {}) {
386
+ /**
387
+ * Handle first-run setup at the launcher boundary. This is shared by
388
+ * `dexbot start`, `dexbot unlock`, and direct `node unlock` invocations.
389
+ * Internal supervisor children must not reopen onboarding after the parent
390
+ * has already completed it. Returns true when an editor was opened; it does
391
+ * not print relocation notices (the caller owns that, since a quiet first run
392
+ * should not print diagnostics ahead of the editor).
393
+ */
394
+ async function runStartOnboardingIfNeeded({ allowInteractive = true, nonInteractiveFlag = '--headless' } = {}) {
395
+ const keySetup = chainKeys.hasKeySetup();
396
+ let botCount = 0;
397
+ if (keySetup) {
398
+ const { config } = loadSettingsFile(BOTS_FILE, { silent: true });
399
+ botCount = resolveRawBotEntries(config).length;
400
+ }
401
+ const onboardingCommand = selectStartOnboardingCommand(keySetup, botCount);
402
+ if (!onboardingCommand)
403
+ return false;
404
+ if (!allowInteractive) {
405
+ const command = onboardingCommand === 'key' ? 'dexbot key' : 'dexbot bot';
406
+ throw new Error(`Incomplete setup for ${nonInteractiveFlag}; run ${command} interactively first.`);
407
+ }
408
+ console.log(formatStartupNotice(onboardingCommand === 'key'
409
+ ? "No key vault configured yet - entering key setup ('dexbot key')."
410
+ : "Key vault configured but no bots defined - entering bot setup ('dexbot bot').", {
411
+ isTTY: process.stdout.isTTY,
412
+ noColor: Boolean(Config.NO_COLOR),
413
+ }));
414
+ if (onboardingCommand === 'key') {
415
+ await chainKeys.main();
416
+ return true;
417
+ }
418
+ setSuppressConnectionLog(true);
419
+ try {
420
+ await runBotEditor();
421
+ }
422
+ finally {
423
+ try {
424
+ disconnectClient();
425
+ }
426
+ catch (err) {
427
+ console.warn('Failed to disconnect BitShares after bot helper exit:', getErrorMessage(err) || err);
428
+ }
429
+ }
430
+ return true;
431
+ }
432
+ async function main({ argv = process.argv, startupGraceMs = DEFAULT_STARTUP_GRACE_MS, exitAfterOnboarding = false, onboard = false } = {}) {
383
433
  if (typeof chainKeys.checkKeysFileSecurity === 'function')
384
434
  chainKeys.checkKeysFileSecurity();
385
435
  if (typeof credentialPolicy.checkPolicyFileSecurity === 'function')
@@ -389,11 +439,30 @@ async function main({ argv = process.argv, startupGraceMs = DEFAULT_STARTUP_GRAC
389
439
  const forceForegroundIsolated = Config.DEXBOT_ISOLATED_FOREGROUND;
390
440
  const isMonolithicBgChild = Config.DEXBOT_MONOLITHIC_BG;
391
441
  const forceForeground = argv.includes('--foreground');
442
+ const isInternalChild = isDetachedSupervisorChild || isMonolithicBgChild;
392
443
  if (parsed.control) {
393
444
  await handleControl({ cmd: parsed.control.cmd, target: parsed.control.target ?? undefined });
394
445
  return;
395
446
  }
396
447
  const { botName, clawOnly, creditOnly, isolated, dryrun, headless, passwordFile } = parsed;
448
+ // Onboarding is a launcher-CLI concern: the direct-run bootstrap opts in so
449
+ // programmatic callers (tests, embeds) never block on an interactive prompt.
450
+ if (onboard && !isInternalChild) {
451
+ // Non-interactive entry points (headless automation, dry-run
452
+ // validation) must fail fast instead of blocking on an editor prompt.
453
+ const nonInteractiveFlag = headless ? '--headless' : (dryrun ? '--dryrun' : null);
454
+ const onboarding = await runStartOnboardingIfNeeded({
455
+ allowInteractive: !nonInteractiveFlag,
456
+ nonInteractiveFlag: nonInteractiveFlag ?? '--headless',
457
+ });
458
+ if (onboarding) {
459
+ if (exitAfterOnboarding)
460
+ process.exit(0);
461
+ return;
462
+ }
463
+ }
464
+ if (!isInternalChild)
465
+ printRelocationNotices();
397
466
  let effectiveBotName = botName;
398
467
  if (creditOnly && !effectiveBotName) {
399
468
  const creditBots = listConfiguredBots().filter((b) => b.creditOnly === true && b.active !== false);
@@ -1009,7 +1078,7 @@ if (isUnlockStartDirectRun) {
1009
1078
  }
1010
1079
  (async () => {
1011
1080
  try {
1012
- await main();
1081
+ await main({ exitAfterOnboarding: true, onboard: true });
1013
1082
  }
1014
1083
  catch (err) {
1015
1084
  console.error(statusError(`unlock failed: ${getErrorMessage(err) || err}`));
@@ -1017,5 +1086,5 @@ if (isUnlockStartDirectRun) {
1017
1086
  }
1018
1087
  })();
1019
1088
  }
1020
- export { buildDexbotStartArgs, candidateRuntimeScriptPaths, ensureNoForeignCredentialDaemon, findCredentialSocketOwnerPid, isLikelyCredentialDaemonProcess, main, pidMatchesScriptCandidates, waitForChildSpawn, waitForStableChildStartup };
1089
+ export { buildDexbotStartArgs, candidateRuntimeScriptPaths, ensureNoForeignCredentialDaemon, findCredentialSocketOwnerPid, isLikelyCredentialDaemonProcess, main, runStartOnboardingIfNeeded, pidMatchesScriptCandidates, waitForChildSpawn, waitForStableChildStartup };
1021
1090
  //# sourceMappingURL=unlock.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"unlock.js","sourceRoot":"","sources":["../unlock.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"unlock.js","sourceRoot":"","sources":["../unlock.ts"],"names":[],"mappings":"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"}
@@ -287,9 +287,6 @@ The only things worth tuning later:
287
287
  `{ "sell": 1.0, "buy": 1.0 }` for your first bot.
288
288
  - `minPrice` / `maxPrice` — grid bounds. Once AMA is active, tighten them
289
289
  around the market's maximum expected volatility instead of a wide range.
290
- - `gridPrice` — set it to `"ama"` so the market adapter centers the grid on the
291
- AMA signal (`"ama"` uses the pair's default preset; `"ama1"`–`"ama4"` pin a
292
- specific one, fastest to slowest).
293
290
 
294
291
  See the "Recommended Bot Setup" section of the
295
292
  [README](../README.md#recommended-bot-setup).
@@ -310,9 +307,15 @@ saves, so you always know whether anything else is needed.
310
307
 
311
308
  ### Activate the market adapter
312
309
 
313
- For AMA pricing, enable the adapter flag once per bot: run `dexbot bot`,
314
- choose `2) Modify bot`, pick the bot, then `6) Adapter` and set **Price**
315
- to yes (`y` / `yes` / `true` all count; Enter keeps the current value).
310
+ New bots anchor on `gridPrice: "ama3"`, but AMA pricing only goes live once
311
+ the per-bot adapter `Price` flag is on: run `dexbot bot`, choose
312
+ `2) Modify bot`, pick the bot, then `6) Adapter` and set **Price** to yes
313
+ (`y` / `yes` / `true` all count; Enter keeps the current value). Without it
314
+ the adapter still computes state but live output stays in dry-run.
315
+
316
+ To change how closely the grid center tracks the market, set `gridPrice` in
317
+ `3) Price`: `"ama1"` reacts fastest, `"ama4"` is the slowest and steadiest
318
+ (higher numbers smooth more), and `"ama"` uses the pair's default preset.
316
319
 
317
320
  The three flags are stored per bot in `profiles/market_adapter_whitelist.json`:
318
321
 
@@ -73,6 +73,14 @@ This document defines the non-negotiable behavioral invariants for the DEXBot2 s
73
73
  - `_commitWorkingGrid` clears them only when the plan's boundary was actually applied — a held boundary (`boundaryHeld`), a gate-rejected boundary, and a null boundary all leave them owed.
74
74
  - `consumePendingFillCrawls` applies them onto a restored finite boundary; `applyPersistedPendingCrawls` is the shared startup/recovery wrapper used before sync/reconcile; `_clearPendingFillCrawls` drops them when the boundary is re-anchored (grid rebuild via `initializeGrid`, rejected snapshot via `rejectCorruptedGridSnapshot`, persisted snapshot wipe via `AccountOrders.clearGrid`).
75
75
 
76
+ - `INV-COW-009` LAST-FILL-GUARD pivot survives restarts with the snapshot, and only as a fill fact
77
+ - Single source of truth: the manager's in-memory pivot is authoritative at runtime; the disk row is a mirror that rides the grid snapshot (`persistGridSnapshot` → `storeMasterGrid` 10th param → `lastFillPivot`), so it invalidates in lockstep with the boundary/genesis instead of forming a second ledger (the `_pendingFillCrawls` lockstep contract).
78
+ - Provenance gate: only a pivot written through the shared `setLastFillPivot(type, price, 'fill')` writer is persist-eligible. A book-seeded pivot (`seedLastFilledPricesFromBook`, provenance `'book'`) is a heuristic — max resting buy / min resting sell is not market truth — and is never fossilized into the snapshot. The fill-batch and queued-fill refresh sites funnel through one implementation (free function in `utils/system.ts`; `OrderManager._setLastFillPivot` delegates to it), so value, timestamp, and provenance cannot drift apart; the queued-fill refresh and the restore path call the same free function directly, with the legacy-stub fallback built into the shared writer rather than copy-pasted. A single-sided book arms through the same writer with provenance `'book'`; the two-sided midpoint and per-side mirror seeds stay direct writes by design, because they carry no pivot provenance and must not be persist-eligible.
79
+ - The row carries `{price, type, fillsAt, genesisHash}` validated by one shared gate (`normalizeLastFillPivot`) used by BOTH the `storeMasterGrid` sanitizer and the loader — the two shape checks cannot drift. `null` from the payload builder always clears the stored row (consumed pivot / cold manager / no live genesis), `undefined` stays a legacy no-op for old callers, and a malformed shape also clears.
80
+ - Restore ordering: `grid.loadGrid` restores the pivot right after `_restoreBoundary` — with the persisted genesis applied and the grid re-typed, BEFORE the first reconcile/broadcast — so a restart cannot re-open the cold window where evacuation stamps get applied against a boundary still being rebuilt. All `loadGrid` callers (startup resume, price-match resume, recovery reload) inherit it; there is no second restore call site to drift.
81
+ - Validation chain (`restoreLastFillPivot`): TTL expiry (`GRID_LIMITS.LAST_FILL_PIVOT_TTL_MS`, 24h; the pivot is a "latest fill" fact, not a permanent ratchet; expired pivots hand over to the startup book seed) and genesis binding (mismatched hash = dead generation) erase the row through one shared drop path (`clearPersistedLastFillPivot` under the bot's persistence lock, best-effort). Off-grid refusal (`resolveOnGridPivot` — the runtime's own ladder validator, imported lazily from the restore site so ONE implementation serves both the per-probe live guard and the restore; the restorer can never accept a value the runtime would refuse per probe) is a no-op that falls back to the book seed and leaves the row for the next snapshot flush to clear (the cold in-memory pivot makes the payload builder return null). The snapped ladder level is restored, never the raw float, and the ORIGINAL `fillsAt` is preserved through `setLastFillPivot`'s `atMs` param so the TTL keeps meaning "age of the last fill", not "time since this restart".
82
+ - Generation invalidation mirrors the pending-crawl ledger: `initializeGrid` and `rejectCorruptedGridSnapshot` clear the in-memory pivot via `resetLastFillPivot` (exposed as `OrderManager._resetLastFillPivot`), which clears the FULL scalar family — per-side mirrors included — so `seedLastFilledPricesFromBook`'s cold gate cannot be silently suppressed by stale per-side values after a grid rebuild, and `AccountOrders.clearGrid` wipes the persisted row with the snapshot. The guard re-arms on the first real fill of the new generation.
83
+
76
84
  - `INV-PROJ-001` New projected orders remain virtual
77
85
  - Orders projected into empty slots must be `VIRTUAL` with no `orderId` until chain confirmation.
78
86
 
@@ -204,6 +212,7 @@ This document defines the non-negotiable behavioral invariants for the DEXBot2 s
204
212
 
205
213
  ---
206
214
 
215
+ <a id="reconcile"></a>
207
216
  ## Reconcile ([GRID_RECONCILE.md](GRID_RECONCILE.md))
208
217
 
209
218
  - `INV-RECON-001` Rotation-only size updates in reconcile
@@ -288,6 +288,32 @@ The failure path is consistent regardless of whether the daemon or the
288
288
  interactive password prompt handled the authentication, making the output
289
289
  predictable for monitoring and alerting.
290
290
 
291
+ ### Cancelling the key manager (Escape ≠ wrong password)
292
+
293
+ Pressing **Escape** at any interactive key-manager prompt is an explicit
294
+ *cancellation*, never a failed authentication. The contract:
295
+
296
+ - `authenticate()` throws `MasterPasswordCancelledError` on Escape
297
+ (`modules/chain_keys.ts`). `isMasterPasswordFailure()` recognizes
298
+ cancellation alongside a genuinely wrong password, so every abort path
299
+ (`key_store`, `chain_orders`, `credential_daemon`, `dexbot_class`, `dexbot`)
300
+ handles it without reporting it as an authentication failure.
301
+ - `main()` returns whether a **usable vault** exists, routes every close through
302
+ one message, keeps submenu Escape local to the operation, and
303
+ `selectKeyName()` returns `null` on cancel. `dexbot.ts` honors that return
304
+ value and surfaces a cancellation message during first-run setup.
305
+ - **Setup completeness is a usable account entry, not password metadata.**
306
+ `hasKeySetup()` requires a valid `v2` encrypted key, so `dexbot start` routes
307
+ back into onboarding instead of launching with a vault that cannot sign
308
+ (`selectStartOnboardingCommand(hasKeySetup, botCount)`: no usable key → `key`;
309
+ key but no bot definitions → `bot`; otherwise launch).
310
+ - Non-interactive launches never block on a prompt: `--headless` / `--dryrun`
311
+ with incomplete configuration fail fast with a message. Programmatic
312
+ `unlock.main()` callers (tests, embeds) get no onboarding at all.
313
+
314
+ Cancellation leaves no secret material behind: it is a read-only abort of the
315
+ prompt, and the 3-attempt cap applies only to real password attempts.
316
+
291
317
  ---
292
318
 
293
319
  ## 6. Startup Path — Daemon-First, Interactive Fallback
@@ -1,7 +1,7 @@
1
1
  # DEXBot vs DEXBot2 — Detailed Comparison Report
2
2
 
3
3
  > **Date:** 2026-09-02 *(metrics refreshed against local source trees)*
4
- > **Scope:** Full architectural, functional, and operational comparison between the original [DEXBot](https://github.com/Codaone/DEXBot) (Python, v1.0.0) and DEXBot2 (TypeScript, v1.6.5).
4
+ > **Scope:** Full architectural, functional, and operational comparison between the original [DEXBot](https://github.com/Codaone/DEXBot) (Python, v1.0.0) and DEXBot2 (TypeScript, v1.6.7).
5
5
  > **Audience:** Developers, contributors, and operators evaluating or migrating between the two projects.
6
6
 
7
7
  ---
@@ -36,7 +36,7 @@
36
36
 
37
37
  | Attribute | DEXBot (original) | DEXBot2 |
38
38
  |---|---|---|
39
- | **Release Track** | 1.0.0 | v1.6.5 |
39
+ | **Release Track** | 1.0.0 | v1.6.7 |
40
40
  | **Language** | Python 3.6+ | TypeScript 5.x |
41
41
  | **Status** | Released 1.0.0, unmaintained | Active development |
42
42
  | **Last Repo Activity** | May 23, 2020 | 2026-09-02 |
@@ -140,7 +140,7 @@ DEXBot brings a full Python desktop GUI and a strategy plugin model. DEXBot2 is
140
140
 
141
141
  - **Four specialized engines** (Accountant, StrategyEngine, Grid, SyncEngine) coordinate through OrderManager
142
142
  - **Copy-on-Write** grid: planning happens on isolated `WorkingGrid`; committed atomically or discarded on failure
143
- - **Targeted fill subscription** via `set_subscribe_callback` → `get_account_history_operations` filtered for `OP_FILL_ORDER` fill operations; push-triggered fixed-cap fill batching (max 4 fills per batch)
143
+ - **Targeted fill subscription** via `set_subscribe_callback` → `get_account_history_operations` filtered for `OP_FILL_ORDER` fill operations; push-triggered gap-slot batching (a unified batch contains at most `gapSlots + 1` fills)
144
144
  - **Market Adapter**: AMA-based price tracking, dynamic buy/sell weighting, Kalman confirmation, ATR/regime dampening, asymmetric grid bounds, and configurable delta triggers
145
145
  - **`fund_registry.ts`**: shared-account fund registry — tracks per-account, per-bot fund and collateral allocations; pre-registered atomically at startup so all bots sharing an account see a consistent proportional split before any bot starts; cross-bot invariant enforcement
146
146
  - **Bot keys**: deterministic name-derived key (`sanitizeKey(name)`) with uniqueness enforced at all write paths — eliminates name-collision risk across restarts and config reorders
@@ -208,8 +208,8 @@ DEXBot brings a full Python desktop GUI and a strategy plugin model. DEXBot2 is
208
208
  - **Fixed reference boundary** divides BUY zone (below) from SELL zone (above)
209
209
  - **Dynamic spread gap** around market price (configurable `targetSpreadPercent`)
210
210
  - On fill: grid **crawls** — boundary shifts, slots reassign roles, new orders placed
211
- - **Partial fill consolidation**: dust detection and cleanup
212
- - **Fixed-cap fill batching**: 1–4 fills per unified batch, >4 chunked at 4-fill boundaries
211
+ - **Partial fill handling**: immediate on-chain dust cancellation plus fund-driven correction of surviving non-dust partials
212
+ - **Gap-slot fill batching**: `1..gapSlots+1` fills per unified batch; deeper queues are chunked at `gapSlots+1`
213
213
  - **Replay-safe fill dedupe**: processed-fill persistence prevents duplicate accounting after restarts or resyncs
214
214
  - **Dynamic weighting**: AMA slope, Kalman confirmation, ATR volatility, and regime gates can bias buy/sell allocation without changing the core grid model
215
215
  - **Asymmetric range scaling**: trend diagnostics can tilt grid bounds during recalculation, giving the grid more room in the direction of movement
@@ -326,7 +326,7 @@ workers:
326
326
  ### DEXBot2
327
327
 
328
328
  - **Format:** JSON (`profiles/bots.json`, `profiles/general.settings.json`)
329
- - **No GUI wizard** — manual JSON editing plus scripts/runtime helpers
329
+ - **No GUI wizard** — interactive `dexbot bot` menu editor for main settings; advanced keys edited directly in JSON
330
330
  - **~27 configuration objects** in `modules/constants.ts`, frozen via `Object.freeze` (loaded at startup)
331
331
  - Runtime parameters via environment variables (`RUN_LOOP_MS`, `BOT_NAME`, launcher/daemon settings, etc.)
332
332
  - `profiles/general.settings.json` for global timing/limits/node settings
@@ -357,7 +357,7 @@ workers:
357
357
  | Feature | DEXBot | DEXBot2 |
358
358
  |---|---|---|
359
359
  | **Format** | YAML | JSON |
360
- | **Interactive Setup** | Yes (whiptail + PyQt5 GUI) | No (manual edit) |
360
+ | **Interactive Setup** | Yes (whiptail + PyQt5 GUI) | Yes (`dexbot bot` menu editor) |
361
361
  | **Key Encryption** | No (file-system only) | Yes (AES-256-GCM) |
362
362
  | **Multi-bot in one config** | Yes (YAML array) | Yes (JSON array) |
363
363
  | **Runtime overrides** | Env vars (limited) | Env vars (full) |
@@ -508,7 +508,7 @@ Where:
508
508
  | Feature | DEXBot | DEXBot2 |
509
509
  |---|---|---|
510
510
  | **Desktop GUI** | Yes (PyQt5) | No |
511
- | **Interactive Config Wizard** | Yes (GUI + whiptail) | No |
511
+ | **Interactive Config Wizard** | Yes (GUI + whiptail) | No (menu-driven editor, not a guided wizard) |
512
512
  | **CLI** | Yes (Click) | Yes (custom) |
513
513
  | **Real-time Status** | GUI view | `unlock status` / `dexbot stat` + log tailing |
514
514
  | **Automation Surface** | Plugin/strategy hooks | Claw modules, scripts, and runtime helpers |
@@ -754,7 +754,7 @@ Where:
754
754
  - Single hardcoded core strategy (boundary-crawl grid)
755
755
  - Extending core trading behavior requires modifying runtime modules
756
756
  - Market adapter (`market_adapter/`) provides real-time signal-driven parameter tuning: AMA center, dynamic weights, Kalman confirmation, ATR/regime dampening, and asymmetric bounds
757
- - `analysis/` tools provide AMA fitting, dynamic-weight research, derivative/Kalman signal research, volatility/regime analysis, bot-parameter sweeps, bot-activity queries (`bot_usage/`), and FIFO-based trade PnL analysis (`trade_profitability.ts`)
757
+ - `analysis/` tools provide AMA fitting, dynamic-weight research, Kalman signal research, volatility/regime analysis, bot-parameter sweeps, bot-activity queries (`bot_usage/`), and FIFO-based trade PnL analysis (`trade_profitability.ts`)
758
758
  - `claw/` exposes a separate automation and AI-consumption layer: profile reading, chain queries/actions, short MPA workflows, position health, runtime manifests, and skill/plugin artifacts
759
759
 
760
760
  ### Extensibility Comparison
@@ -776,7 +776,7 @@ Where:
776
776
 
777
777
  | Metric | DEXBot | DEXBot2 |
778
778
  |---|---|---|
779
- | **Release Track** | 1.0.0 | v1.6.5 |
779
+ | **Release Track** | 1.0.0 | v1.6.7 |
780
780
  | **Active Since** | ~2018 | December 2025 |
781
781
  | **Last Commit** | May 23, 2020 | 2026-09-02 |
782
782
  | **Total Commits** | 2281 | 2,125 (v1.4.25) |
@@ -863,7 +863,7 @@ The 500× figure is not theoretical: it materializes in production when higher o
863
863
  - **Single core strategy** — no runtime-swappable plugin system, but the boundary-crawl grid is deeply engineered with AMA/Kalman/ATR/regime adaptive signals, making it far more capable and configurable than DEXBot's individual strategies
864
864
  - No GUI — requires CLI proficiency
865
865
  - No DEXBot-style external CEX price-feed strategy support
866
- - JSON config requires manual editing (no wizard)
866
+ - Advanced bot keys (`debtPolicy`, `creditOnly`, `min_BTS_value`) require manual JSON editing; main settings are interactive via `dexbot bot`
867
867
  - Backtesting/research exists under `analysis/`, but it is not a polished end-user backtesting product
868
868
  - No community/plugin ecosystem
869
869
  - Heavy documentation suggests significant learning curve for contributors
package/docs/EVOLUTION.md CHANGED
@@ -2,14 +2,14 @@
2
2
 
3
3
  ## Executive Summary
4
4
 
5
- DEXBot2 is a sophisticated decentralized exchange trading bot for the BitShares blockchain. This report documents the complete evolution of the project from its inception in December 2025 through the current 1.6.5 stable release.
5
+ DEXBot2 is a sophisticated decentralized exchange trading bot for the BitShares blockchain. This report documents the complete evolution of the project from its inception in December 2025 through the current 1.6.7 stable release.
6
6
 
7
7
  ### Key Milestones
8
8
  - **Project Inception**: December 2, 2025
9
- - **Growth Phase**: 2,263 commits over ~9 active months
9
+ - **Growth Phase**: 2,277 commits over ~9 active months
10
10
  - **Code Maturity**: Evolution from basic utilities to a ~100,000+ LoC intelligent TypeScript system
11
- - **Stability**: Progression from manual testing to a suite of 309 automated test files
12
- - **Releases**: 109 release entries (v0.1.0 to v1.6.5)
11
+ - **Stability**: Progression from manual testing to a suite of 297 automated test files
12
+ - **Releases**: 139 version entries in the changelog (v0.1.0 to v1.6.7)
13
13
 
14
14
  > **Post-1.0.0 "why":** the thematic story behind the hardening releases — root cause, recurring
15
15
  > bug families, and lessons — lives in
@@ -163,11 +163,13 @@ Compact, era-level view. Per-release detail lives in [CHANGELOG.md](../CHANGELOG
163
163
  | v1.6.0 → v1.6.3 | 12 | Never-run-stale hardening, whitelist range-scaling opt-in, grid-price invariant, shard candle cache, correction-queue staleness, final pre-broadcast pivot gate |
164
164
  | v1.6.3 → v1.6.4 | 18 | Fund-driven spread correction, gapSlots+1 batch cap, VIRTUAL RMS divergence, sync-lock log fix, invariant-doc contract, analysis shared modules, window-aware profitability annualisation, portable chart exports, range-threshold restore, dead-code purge, doc consolidation |
165
165
  | v1.6.4 → v1.6.5 | 15 | Editor-managed whitelist flags + legacy generator removal, centralized bot defaults/settings docs, log-symmetric range-scaling tilt, AMA gridPrice default + unset → startPrice normalization, Pool default/warn-color cues, Grid Health AMA-slope Δ knob, dynamic-weight chart CLI, update dist-freshness self-heal, launcher worker rename, RMS log tagging |
166
+ | v1.6.5 → v1.6.6 | 13 | Stale-cancellation guard hardening (live ownership, per-plan startup revalidation, COW orphan protection, settlement safety), editor label/menu realignment + colored bot list, grouped CLI help, poolRef aliases + startPrice priority, legacy SMA/MACD/RSI analyzer archived, run-relative candle-cache migration dropped, update dist-freshness tsconfig-exclude fix |
167
+ | v1.6.6 → v1.6.7 | 10 | Native session/fill-channel recovery (dead-but-open forced reconnect, stale api_id self-heal, COW stale-plan recheck) + clean-process ecosystem regen, `dexbot start` onboarding redirect, key-manager cancellation + empty-vault onboarding link, LAST-FILL-GUARD pivot persistence (provenance-gated snapshot mirror, genesis-bound + TTL + on-grid restore with the boundary, centralized writer, generation invalidation mirroring the owed-crawl ledger), PM2 log-capture restore + `pm2-logrotate` enablement, correction-drain budget + broadcast-region timer/fill deferral (bounded `_gridLock` hold, backlog alarm, stale-flag-safe maintenance deferral, defer bound tied to the watchdog, per-group create yield) |
166
168
 
167
169
  ---
168
170
 
169
171
  **Report Originally Generated**: February 19, 2026
170
- **Last Updated**: September 23, 2026
171
- **Total Commits**: 2,263
172
- **Date Range**: December 2, 2025 – September 23, 2026
172
+ **Last Updated**: September 26, 2026
173
+ **Total Commits**: 2,287
174
+ **Date Range**: December 2, 2025 – September 26, 2026
173
175
  **Repository**: DEXBot2 (BitShares DEX Trading Bot)
@@ -801,4 +801,4 @@ To prevent "Time-of-Check to Time-of-Use" errors:
801
801
  **TOCTOU protection in `processFillAccounting`.** `_buildBtsDeferredRefundAdjustment` reads `btsFeeState` from `mgr.orders` while the order lock is held — the lock is acquired before accounting runs, and the POST-RESET and BOOTSTRAP tracked-fill accounting paths follow the same locking pattern.
802
802
 
803
803
  ---
804
- *Technical Reference for DEXBot2 v1.6.5 release*
804
+ *Technical Reference for DEXBot2 v1.6.7 release*