dexbot 1.6.5 → 1.6.6

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 (155) hide show
  1. package/CHANGELOG.md +36 -4
  2. package/README.md +104 -35
  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 +60 -74
  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 +107 -44
  64. package/dist/modules/account_bots.js.map +1 -1
  65. package/dist/modules/bitshares-native/crypto/ecc.browser.d.ts.map +1 -1
  66. package/dist/modules/bitshares-native/crypto/ecc.browser.js +0 -31
  67. package/dist/modules/bitshares-native/crypto/ecc.browser.js.map +1 -1
  68. package/dist/modules/credit_runtime.d.ts +0 -2
  69. package/dist/modules/credit_runtime.d.ts.map +1 -1
  70. package/dist/modules/credit_runtime.js +1 -10
  71. package/dist/modules/credit_runtime.js.map +1 -1
  72. package/dist/modules/dexbot_class.d.ts +13 -10
  73. package/dist/modules/dexbot_class.d.ts.map +1 -1
  74. package/dist/modules/dexbot_class.js +0 -9
  75. package/dist/modules/dexbot_class.js.map +1 -1
  76. package/dist/modules/dexbot_cow_runtime.d.ts +13 -0
  77. package/dist/modules/dexbot_cow_runtime.d.ts.map +1 -1
  78. package/dist/modules/dexbot_cow_runtime.js +13 -1
  79. package/dist/modules/dexbot_cow_runtime.js.map +1 -1
  80. package/dist/modules/order/accounting.d.ts +4 -18
  81. package/dist/modules/order/accounting.d.ts.map +1 -1
  82. package/dist/modules/order/accounting.js +4 -34
  83. package/dist/modules/order/accounting.js.map +1 -1
  84. package/dist/modules/order/export.d.ts +9 -12
  85. package/dist/modules/order/export.d.ts.map +1 -1
  86. package/dist/modules/order/export.js +9 -12
  87. package/dist/modules/order/export.js.map +1 -1
  88. package/dist/modules/order/grid.d.ts +35 -40
  89. package/dist/modules/order/grid.d.ts.map +1 -1
  90. package/dist/modules/order/grid.js +43 -43
  91. package/dist/modules/order/grid.js.map +1 -1
  92. package/dist/modules/order/grid_reconcile.d.ts.map +1 -1
  93. package/dist/modules/order/grid_reconcile.js +111 -20
  94. package/dist/modules/order/grid_reconcile.js.map +1 -1
  95. package/dist/modules/order/grid_reconcile_internal.d.ts +5 -3
  96. package/dist/modules/order/grid_reconcile_internal.d.ts.map +1 -1
  97. package/dist/modules/order/grid_reconcile_internal.js +18 -3
  98. package/dist/modules/order/grid_reconcile_internal.js.map +1 -1
  99. package/dist/modules/order/manager.d.ts +0 -8
  100. package/dist/modules/order/manager.d.ts.map +1 -1
  101. package/dist/modules/order/manager.js +0 -10
  102. package/dist/modules/order/manager.js.map +1 -1
  103. package/dist/modules/order/utils/order.d.ts +22 -7
  104. package/dist/modules/order/utils/order.d.ts.map +1 -1
  105. package/dist/modules/order/utils/order.js +103 -21
  106. package/dist/modules/order/utils/order.js.map +1 -1
  107. package/dist/modules/order/utils/withPoolRef.d.ts +12 -0
  108. package/dist/modules/order/utils/withPoolRef.d.ts.map +1 -1
  109. package/dist/modules/order/utils/withPoolRef.js +17 -0
  110. package/dist/modules/order/utils/withPoolRef.js.map +1 -1
  111. package/dist/modules/order/working_grid.d.ts +8 -13
  112. package/dist/modules/order/working_grid.d.ts.map +1 -1
  113. package/dist/modules/order/working_grid.js +8 -29
  114. package/dist/modules/order/working_grid.js.map +1 -1
  115. package/dist/scripts/sync-version.js +0 -22
  116. package/dist/scripts/sync-version.js.map +1 -1
  117. package/dist/scripts/update_dist_freshness.d.ts +12 -0
  118. package/dist/scripts/update_dist_freshness.d.ts.map +1 -1
  119. package/dist/scripts/update_dist_freshness.js +30 -1
  120. package/dist/scripts/update_dist_freshness.js.map +1 -1
  121. package/docs/BITSHARES_ONBOARDING.md +9 -6
  122. package/docs/COW_INVARIANTS.md +1 -0
  123. package/docs/DEXBOT_COMPARISON.md +11 -11
  124. package/docs/EVOLUTION.md +8 -7
  125. package/docs/FUND_MOVEMENT_AND_ACCOUNTING.md +1 -1
  126. package/docs/GRID_PRICE_INVARIANT.md +518 -0
  127. package/docs/GRID_RECALCULATION.md +1 -1
  128. package/docs/GRID_RECONCILE.md +60 -39
  129. package/docs/ORDER_ENGINE_POST_1.0_RETROSPECTIVE.md +556 -0
  130. package/docs/README.md +3 -3
  131. package/docs/WORKFLOW.md +12 -6
  132. package/docs/architecture.md +40 -38
  133. package/docs/developer_guide.md +4 -8
  134. package/market_adapter/README.md +16 -12
  135. package/modules/README.md +1 -1
  136. package/package.json +7 -3
  137. package/scripts/README.md +0 -9
  138. package/scripts/reset-settings.sh +1 -1
  139. package/analysis/ama_fitting/package.json +0 -12
  140. package/analysis/analyze_derivatives.ts +0 -320
  141. package/analysis/derivative_chart_generator.ts +0 -874
  142. package/analysis/trend_detection/SIGNAL_DOCUMENTATION.md +0 -403
  143. package/analysis/trend_detection/derivative_analyzer.ts +0 -1059
  144. package/dist/analysis/analyze_derivatives.d.ts +0 -68
  145. package/dist/analysis/analyze_derivatives.d.ts.map +0 -1
  146. package/dist/analysis/analyze_derivatives.js +0 -287
  147. package/dist/analysis/analyze_derivatives.js.map +0 -1
  148. package/dist/analysis/derivative_chart_generator.d.ts +0 -12
  149. package/dist/analysis/derivative_chart_generator.d.ts.map +0 -1
  150. package/dist/analysis/derivative_chart_generator.js +0 -891
  151. package/dist/analysis/derivative_chart_generator.js.map +0 -1
  152. package/dist/analysis/trend_detection/derivative_analyzer.d.ts +0 -248
  153. package/dist/analysis/trend_detection/derivative_analyzer.d.ts.map +0 -1
  154. package/dist/analysis/trend_detection/derivative_analyzer.js +0 -910
  155. package/dist/analysis/trend_detection/derivative_analyzer.js.map +0 -1
@@ -12,63 +12,58 @@
12
12
  * - Detects and flags out-of-spread conditions
13
13
  *
14
14
  * ===============================================================================
15
- * TABLE OF CONTENTS - Grid Functions (27 exported functions)
15
+ * TABLE OF CONTENTS - Grid Functions (22 exported functions)
16
16
  * ===============================================================================
17
17
  *
18
- * CONFIGURATION & CALCULATION (1 method)
19
- * 1. calculateGapSlots(incrementPercent, targetSpreadPercent) - Calculate spread gap size
18
+ * CONFIGURATION & CALCULATION (2 functions)
19
+ * 1. resolveRmsThresholdPct(manager) - Resolve the structural-divergence threshold
20
+ * 2. calculateGapSlots(incrementPercent, targetSpreadPercent) - Calculate spread gap size
20
21
  *
21
- * GRID SIZING & CONTEXT (1 method)
22
- * 3. _getSizingContext(manager, side) - Get budget and sizing parameters (internal)
23
- * Determines budget from allocated funds, deducts BTS fees if needed
22
+ * GRID SIZING & CONTEXT (1 function)
23
+ * 3. _getSizingContext(manager, side, options) - Get budget and sizing parameters
24
+ * Determines budget from allocated funds and optionally deducts BTS fees
24
25
  *
25
- * GRID CREATION (1 method)
26
+ * GRID CREATION (1 function)
26
27
  * 4. createOrderGrid(config) - Create geometric price grid
27
28
  * Returns price levels from minPrice to maxPrice with increment spacing
28
29
  *
29
- * ORDER CACHE MANAGEMENT (1 method - internal)
30
- * 5. _clearOrderCachesLogic(manager) - Clear order caches (_ordersByType, _ordersByState)
30
+ * GRID LOADING & INITIALIZATION (2 functions - async)
31
+ * 5. loadGrid(manager, grid, boundaryIdx, genesisInput, options) - Load grid into manager orders
32
+ * 6. initializeGrid(manager) - Full grid initialization from config
31
33
  *
32
- * GRID LOADING & INITIALIZATION (2 methods - async)
33
- * 6. loadGrid(manager, grid, boundaryIdx) - Load grid into manager orders
34
- * 7. initializeGrid(manager) - Full grid initialization from config
34
+ * GRID RECALCULATION (1 function - async)
35
+ * 7. recalculateGrid(manager, opts) - Recalculate grid based on current state
35
36
  *
36
- * GRID RECALCULATION (1 method - async)
37
- * 8. recalculateGrid(manager, opts) - Recalculate grid based on current state
37
+ * GRID STATE CHECKING (1 function)
38
+ * 8. checkAndUpdateGridIfNeeded(manager) - Check if grid needs update
38
39
  *
39
- * GRID STATE CHECKING (1 method)
40
- * 9. checkAndUpdateGridIfNeeded(manager) - Check if grid needs update
40
+ * BLOCKCHAIN SYNCHRONIZATION (2 functions - async)
41
+ * 9. _recalculateGridOrderSizesFromBlockchain(manager, orderType, options) - Recalculate sizes from blockchain
42
+ * 10. updateGridFromBlockchainSnapshot(manager, orderType, fromBlockchainTimer, overrideBoundaryIdx) - Update grid from blockchain
41
43
  *
42
- * BLOCKCHAIN SYNCHRONIZATION (2 methods - async)
43
- * 10. _recalculateGridOrderSizesFromBlockchain(manager, orderType) - Recalculate sizes from blockchain
44
- * 11. updateGridFromBlockchainSnapshot(manager, orderType, fromBlockchainTimer) - Update grid from blockchain
45
- *
46
- * GRID COMPARISON (2 methods - async)
47
- * 12. compareGrids(calculatedGrid, persistedGrid, manager) - Compare two grids
44
+ * GRID COMPARISON (2 functions - async)
45
+ * 11. compareGrids(calculatedGrid, persistedGrid, manager) - Compare two grids
48
46
  * Validates grid structure and reports divergence metrics
49
- * 13. monitorDivergence(manager, calculatedGrid, persistedGrid) - Unified divergence check
47
+ * 12. monitorDivergence(manager, calculatedGrid, persistedGrid) - Unified divergence check
50
48
  * Runs ratio-based + RMS-based checks and returns combined result
51
49
  *
52
- * ON-CHAIN ORDER FETCHING (1 method - async)
53
- * 14. _getOnChainOrders(manager) - Collect on-chain buy/sell orders from manager
54
- *
55
- * SPREAD MANAGEMENT (2 methods - async)
56
- * 15. calculateCurrentSpread(manager) - Calculate current bid-ask spread
57
- * 16. checkSpreadCondition(manager, BitShares, updateOrdersOnChainBatch) - Check and flag spread condition
50
+ * SPREAD MANAGEMENT (2 functions)
51
+ * 13. calculateCurrentSpread(manager) - Calculate current bid-ask spread
52
+ * 14. checkSpreadCondition(manager, BitShares, updateOrdersOnChainBatch) - Check and flag spread condition
58
53
  *
59
- * GRID HEALTH MONITORING (6 methods)
60
- * 17. checkGridHealth(manager, updateOrdersOnChainBatch) - Monitor grid health (async)
61
- * 18. checkWindowDust(manager) - Dust check scoped to the active buy/sell window (async)
62
- * 19. _hasAnyDust(manager, partials, type) - Check for dust orders (internal)
63
- * 20. hasAnyDust(manager, partials, side) - Check for dust orders (public)
64
- * 21. getDustOrders(manager, partials, side) - Get all dust order IDs (public)
65
- * 22. determineOrderSideByFunds(manager, currentMarketPrice) - Determine priority side
54
+ * GRID HEALTH MONITORING (4 functions)
55
+ * 15. checkGridHealth(manager, updateOrdersOnChainBatch) - Monitor grid health
56
+ * 16. checkWindowDust(manager) - Dust check scoped to the active buy/sell window
57
+ * 17. hasAnyDust(manager, partials, side) - Check for dust orders
58
+ * 18. getDustOrders(manager, partials, side) - Get dust order IDs
66
59
  *
67
- * SPREAD CORRECTION (1 method)
68
- * 23. prepareSpreadCorrectionOrders(manager, preferredSide) - Prepare correction orders
60
+ * SIDE SELECTION (1 function)
61
+ * 19. determineOrderSideByFunds(manager, currentMarketPrice) - Determine priority side
69
62
  *
70
- * DUST DETECTION (1 method - internal)
71
- * 25. _getDustOrders(manager, partials, type) - Internal dust detection helper
63
+ * BLOAT STATUS (3 functions)
64
+ * 20. isGridBloated(manager, orders) - Check whether the grid is bloated
65
+ * 21. isGridBloatGraceActive(manager) - Check the bloat grace state
66
+ * 22. clearGridBloatFlag(manager) - Clear the bloat state
72
67
  *
73
68
  * ===============================================================================
74
69
  *
@@ -1 +1 @@
1
- {"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["../../../modules/order/grid.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["../../../modules/order/grid.ts"],"names":[],"mappings":"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"}
@@ -12,63 +12,58 @@
12
12
  * - Detects and flags out-of-spread conditions
13
13
  *
14
14
  * ===============================================================================
15
- * TABLE OF CONTENTS - Grid Functions (27 exported functions)
15
+ * TABLE OF CONTENTS - Grid Functions (22 exported functions)
16
16
  * ===============================================================================
17
17
  *
18
- * CONFIGURATION & CALCULATION (1 method)
19
- * 1. calculateGapSlots(incrementPercent, targetSpreadPercent) - Calculate spread gap size
18
+ * CONFIGURATION & CALCULATION (2 functions)
19
+ * 1. resolveRmsThresholdPct(manager) - Resolve the structural-divergence threshold
20
+ * 2. calculateGapSlots(incrementPercent, targetSpreadPercent) - Calculate spread gap size
20
21
  *
21
- * GRID SIZING & CONTEXT (1 method)
22
- * 3. _getSizingContext(manager, side) - Get budget and sizing parameters (internal)
23
- * Determines budget from allocated funds, deducts BTS fees if needed
22
+ * GRID SIZING & CONTEXT (1 function)
23
+ * 3. _getSizingContext(manager, side, options) - Get budget and sizing parameters
24
+ * Determines budget from allocated funds and optionally deducts BTS fees
24
25
  *
25
- * GRID CREATION (1 method)
26
+ * GRID CREATION (1 function)
26
27
  * 4. createOrderGrid(config) - Create geometric price grid
27
28
  * Returns price levels from minPrice to maxPrice with increment spacing
28
29
  *
29
- * ORDER CACHE MANAGEMENT (1 method - internal)
30
- * 5. _clearOrderCachesLogic(manager) - Clear order caches (_ordersByType, _ordersByState)
30
+ * GRID LOADING & INITIALIZATION (2 functions - async)
31
+ * 5. loadGrid(manager, grid, boundaryIdx, genesisInput, options) - Load grid into manager orders
32
+ * 6. initializeGrid(manager) - Full grid initialization from config
31
33
  *
32
- * GRID LOADING & INITIALIZATION (2 methods - async)
33
- * 6. loadGrid(manager, grid, boundaryIdx) - Load grid into manager orders
34
- * 7. initializeGrid(manager) - Full grid initialization from config
34
+ * GRID RECALCULATION (1 function - async)
35
+ * 7. recalculateGrid(manager, opts) - Recalculate grid based on current state
35
36
  *
36
- * GRID RECALCULATION (1 method - async)
37
- * 8. recalculateGrid(manager, opts) - Recalculate grid based on current state
37
+ * GRID STATE CHECKING (1 function)
38
+ * 8. checkAndUpdateGridIfNeeded(manager) - Check if grid needs update
38
39
  *
39
- * GRID STATE CHECKING (1 method)
40
- * 9. checkAndUpdateGridIfNeeded(manager) - Check if grid needs update
40
+ * BLOCKCHAIN SYNCHRONIZATION (2 functions - async)
41
+ * 9. _recalculateGridOrderSizesFromBlockchain(manager, orderType, options) - Recalculate sizes from blockchain
42
+ * 10. updateGridFromBlockchainSnapshot(manager, orderType, fromBlockchainTimer, overrideBoundaryIdx) - Update grid from blockchain
41
43
  *
42
- * BLOCKCHAIN SYNCHRONIZATION (2 methods - async)
43
- * 10. _recalculateGridOrderSizesFromBlockchain(manager, orderType) - Recalculate sizes from blockchain
44
- * 11. updateGridFromBlockchainSnapshot(manager, orderType, fromBlockchainTimer) - Update grid from blockchain
45
- *
46
- * GRID COMPARISON (2 methods - async)
47
- * 12. compareGrids(calculatedGrid, persistedGrid, manager) - Compare two grids
44
+ * GRID COMPARISON (2 functions - async)
45
+ * 11. compareGrids(calculatedGrid, persistedGrid, manager) - Compare two grids
48
46
  * Validates grid structure and reports divergence metrics
49
- * 13. monitorDivergence(manager, calculatedGrid, persistedGrid) - Unified divergence check
47
+ * 12. monitorDivergence(manager, calculatedGrid, persistedGrid) - Unified divergence check
50
48
  * Runs ratio-based + RMS-based checks and returns combined result
51
49
  *
52
- * ON-CHAIN ORDER FETCHING (1 method - async)
53
- * 14. _getOnChainOrders(manager) - Collect on-chain buy/sell orders from manager
54
- *
55
- * SPREAD MANAGEMENT (2 methods - async)
56
- * 15. calculateCurrentSpread(manager) - Calculate current bid-ask spread
57
- * 16. checkSpreadCondition(manager, BitShares, updateOrdersOnChainBatch) - Check and flag spread condition
50
+ * SPREAD MANAGEMENT (2 functions)
51
+ * 13. calculateCurrentSpread(manager) - Calculate current bid-ask spread
52
+ * 14. checkSpreadCondition(manager, BitShares, updateOrdersOnChainBatch) - Check and flag spread condition
58
53
  *
59
- * GRID HEALTH MONITORING (6 methods)
60
- * 17. checkGridHealth(manager, updateOrdersOnChainBatch) - Monitor grid health (async)
61
- * 18. checkWindowDust(manager) - Dust check scoped to the active buy/sell window (async)
62
- * 19. _hasAnyDust(manager, partials, type) - Check for dust orders (internal)
63
- * 20. hasAnyDust(manager, partials, side) - Check for dust orders (public)
64
- * 21. getDustOrders(manager, partials, side) - Get all dust order IDs (public)
65
- * 22. determineOrderSideByFunds(manager, currentMarketPrice) - Determine priority side
54
+ * GRID HEALTH MONITORING (4 functions)
55
+ * 15. checkGridHealth(manager, updateOrdersOnChainBatch) - Monitor grid health
56
+ * 16. checkWindowDust(manager) - Dust check scoped to the active buy/sell window
57
+ * 17. hasAnyDust(manager, partials, side) - Check for dust orders
58
+ * 18. getDustOrders(manager, partials, side) - Get dust order IDs
66
59
  *
67
- * SPREAD CORRECTION (1 method)
68
- * 23. prepareSpreadCorrectionOrders(manager, preferredSide) - Prepare correction orders
60
+ * SIDE SELECTION (1 function)
61
+ * 19. determineOrderSideByFunds(manager, currentMarketPrice) - Determine priority side
69
62
  *
70
- * DUST DETECTION (1 method - internal)
71
- * 25. _getDustOrders(manager, partials, type) - Internal dust detection helper
63
+ * BLOAT STATUS (3 functions)
64
+ * 20. isGridBloated(manager, orders) - Check whether the grid is bloated
65
+ * 21. isGridBloatGraceActive(manager) - Check the bloat grace state
66
+ * 22. clearGridBloatFlag(manager) - Clear the bloat state
72
67
  *
73
68
  * ===============================================================================
74
69
  *
@@ -125,7 +120,7 @@ import { floatToBlockchainInt, getPrecisionByOrderType, getPrecisionsForManager,
125
120
  import { filterOrdersByType, checkSizesBeforeMinimum, checkSizeThreshold, resolveConfiguredPriceBound, shouldFlagOutOfSpread, isOrderHealthy, isPhantomOrder, isSlotAvailable, isOrderOnChain, isOrderPlaced, hasOnChainId, isEmptyGridSlot, parseSlotIndex, calculateIdealBoundary, assignGridRoles, resolveOnChainRetypeType, resolveReserveCount, reserveEdgeIdSet, resolveLiveReserveEdgeAnchorPrice } from './utils/order.js';
126
121
  import { loadAmaCenterPrice, loadAmaCenterSnapshot, withBlockchainRetry } from './utils/system.js';
127
122
  import * as MathUtils from './utils/math.js';
128
- import { derivePriceWithPoolRef } from './utils/withPoolRef.js';
123
+ import { derivePriceWithPoolRef, resolveStartPriceMode } from './utils/withPoolRef.js';
129
124
  import { getWhitelistFlags } from '../market_adapter_whitelist.js';
130
125
  import { getErrorMessage } from '../utils/errors.js';
131
126
  const calculateGapSlots = _mathGapSlots;
@@ -954,9 +949,14 @@ export async function initializeGrid(manager) {
954
949
  if (typeof mpRaw !== 'number' || isNaN(mpRaw)) {
955
950
  try {
956
951
  const { BitShares } = require('../bitshares_client');
957
- const derived = await derivePriceWithPoolRef(BitShares, manager.config.assetA, manager.config.assetB, manager.config.priceMode || 'auto', manager.config.poolRef);
952
+ // startPrice is the master price source: pass its own mode so a
953
+ // pinned poolRef only refines pool discovery. Without this,
954
+ // the old `priceMode || 'auto'` read (priceMode is never set in
955
+ // the runtime path) let a poolRef override startPrice:"book".
956
+ const startPriceMode = resolveStartPriceMode(mpRaw, manager.config.priceMode || 'auto');
957
+ const derived = await derivePriceWithPoolRef(BitShares, manager.config.assetA, manager.config.assetB, startPriceMode, manager.config.poolRef);
958
958
  if (derived) {
959
- manager.logger?.log?.(`[DIAGNOSTIC] initializeGrid: Derived new startPrice=${derived.toFixed(8)} (mode=${manager.config.priceMode || 'auto'})`, 'info');
959
+ manager.logger?.log?.(`[DIAGNOSTIC] initializeGrid: Derived new startPrice=${derived.toFixed(8)} (mode=${startPriceMode})`, 'info');
960
960
  manager.config.startPrice = Number(derived);
961
961
  }
962
962
  else {