dexbot 1.4.25 → 1.5.0

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 (182) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/README.md +6 -2
  3. package/analysis/README.md +14 -7
  4. package/analysis/ama_fitting/package.json +1 -1
  5. package/analysis/analyze_derivatives.ts +1 -1
  6. package/analysis/bot_key_utils.ts +272 -3
  7. package/analysis/bot_usage/discover_bot_accounts.ts +64 -9
  8. package/analysis/bot_usage/kibana_bot_queries.ts +40 -1
  9. package/analysis/chart_utils.ts +6 -3
  10. package/analysis/grid_correction_check.ts +56 -20
  11. package/analysis/resolve_bot_accounts.ts +199 -0
  12. package/analysis/trade_profitability.ts +36 -8
  13. package/analysis/tradingview/README.md +25 -0
  14. package/analysis/tradingview/analyze_tradingview.ts +2 -2
  15. package/analysis/trend_detection/package.json +1 -1
  16. package/claw/modules/claw_launcher.ts +5 -4
  17. package/claw/modules/credit_runtime_adapter.ts +2 -1
  18. package/claw/modules/dexbot_profiles.ts +4 -3
  19. package/claw/package.json +1 -1
  20. package/claw/runtimes/openclaw-plugin/openclaw.plugin.json +1 -1
  21. package/claw/runtimes/openclaw-plugin/package.json +1 -1
  22. package/claw/tests/test_claw_mcp_transport.ts +2 -2
  23. package/dist/analysis/analyze_derivatives.js +1 -1
  24. package/dist/analysis/bot_key_utils.d.ts +28 -1
  25. package/dist/analysis/bot_key_utils.d.ts.map +1 -1
  26. package/dist/analysis/bot_key_utils.js +385 -3
  27. package/dist/analysis/bot_key_utils.js.map +1 -1
  28. package/dist/analysis/bot_usage/discover_bot_accounts.js +60 -10
  29. package/dist/analysis/bot_usage/discover_bot_accounts.js.map +1 -1
  30. package/dist/analysis/bot_usage/kibana_bot_queries.d.ts +45 -1
  31. package/dist/analysis/bot_usage/kibana_bot_queries.d.ts.map +1 -1
  32. package/dist/analysis/bot_usage/kibana_bot_queries.js +39 -1
  33. package/dist/analysis/bot_usage/kibana_bot_queries.js.map +1 -1
  34. package/dist/analysis/chart_utils.d.ts +2 -1
  35. package/dist/analysis/chart_utils.d.ts.map +1 -1
  36. package/dist/analysis/chart_utils.js +4 -1
  37. package/dist/analysis/chart_utils.js.map +1 -1
  38. package/dist/analysis/grid_correction_check.d.ts.map +1 -1
  39. package/dist/analysis/grid_correction_check.js +60 -20
  40. package/dist/analysis/grid_correction_check.js.map +1 -1
  41. package/dist/analysis/resolve_bot_accounts.d.ts +3 -0
  42. package/dist/analysis/resolve_bot_accounts.d.ts.map +1 -0
  43. package/dist/analysis/resolve_bot_accounts.js +216 -0
  44. package/dist/analysis/resolve_bot_accounts.js.map +1 -0
  45. package/dist/analysis/trade_profitability.d.ts.map +1 -1
  46. package/dist/analysis/trade_profitability.js +40 -8
  47. package/dist/analysis/trade_profitability.js.map +1 -1
  48. package/dist/analysis/tradingview/analyze_tradingview.js +2 -2
  49. package/dist/analysis/tradingview/analyze_tradingview.js.map +1 -1
  50. package/dist/bot.d.ts.map +1 -1
  51. package/dist/bot.js +2 -1
  52. package/dist/bot.js.map +1 -1
  53. package/dist/dexbot.d.ts.map +1 -1
  54. package/dist/dexbot.js +73 -17
  55. package/dist/dexbot.js.map +1 -1
  56. package/dist/market_adapter/ama_signal_runner.js +2 -2
  57. package/dist/market_adapter/inputs/fetch_cex_synthetic_data.js +2 -1
  58. package/dist/market_adapter/inputs/fetch_cex_synthetic_data.js.map +1 -1
  59. package/dist/market_adapter/inputs/fetch_lp_data.d.ts +4 -1
  60. package/dist/market_adapter/inputs/fetch_lp_data.d.ts.map +1 -1
  61. package/dist/market_adapter/inputs/fetch_lp_data.js +3 -2
  62. package/dist/market_adapter/inputs/fetch_lp_data.js.map +1 -1
  63. package/dist/modules/account_bots.d.ts +42 -1
  64. package/dist/modules/account_bots.d.ts.map +1 -1
  65. package/dist/modules/account_bots.js +168 -17
  66. package/dist/modules/account_bots.js.map +1 -1
  67. package/dist/modules/bitshares_client.d.ts +4 -1
  68. package/dist/modules/bitshares_client.d.ts.map +1 -1
  69. package/dist/modules/bitshares_client.js +12 -4
  70. package/dist/modules/bitshares_client.js.map +1 -1
  71. package/dist/modules/bot_settings.d.ts.map +1 -1
  72. package/dist/modules/bot_settings.js +2 -1
  73. package/dist/modules/bot_settings.js.map +1 -1
  74. package/dist/modules/cli_colors.d.ts +39 -0
  75. package/dist/modules/cli_colors.d.ts.map +1 -0
  76. package/dist/modules/cli_colors.js +42 -0
  77. package/dist/modules/cli_colors.js.map +1 -0
  78. package/dist/modules/constants.d.ts.map +1 -1
  79. package/dist/modules/constants.js +15 -11
  80. package/dist/modules/constants.js.map +1 -1
  81. package/dist/modules/credit_pricing.d.ts +61 -0
  82. package/dist/modules/credit_pricing.d.ts.map +1 -0
  83. package/dist/modules/credit_pricing.js +237 -0
  84. package/dist/modules/credit_pricing.js.map +1 -0
  85. package/dist/modules/credit_runtime.d.ts +1 -0
  86. package/dist/modules/credit_runtime.d.ts.map +1 -1
  87. package/dist/modules/credit_runtime.js +49 -107
  88. package/dist/modules/credit_runtime.js.map +1 -1
  89. package/dist/modules/dexbot_class.d.ts +2 -1
  90. package/dist/modules/dexbot_class.d.ts.map +1 -1
  91. package/dist/modules/dexbot_class.js +22 -6
  92. package/dist/modules/dexbot_class.js.map +1 -1
  93. package/dist/modules/dexbot_cow_runtime.d.ts +19 -2
  94. package/dist/modules/dexbot_cow_runtime.d.ts.map +1 -1
  95. package/dist/modules/dexbot_cow_runtime.js +249 -26
  96. package/dist/modules/dexbot_cow_runtime.js.map +1 -1
  97. package/dist/modules/dexbot_maintenance_runtime.d.ts +15 -16
  98. package/dist/modules/dexbot_maintenance_runtime.d.ts.map +1 -1
  99. package/dist/modules/dexbot_maintenance_runtime.js +69 -42
  100. package/dist/modules/dexbot_maintenance_runtime.js.map +1 -1
  101. package/dist/modules/fund_registry.d.ts +1 -1
  102. package/dist/modules/fund_registry.js +1 -1
  103. package/dist/modules/launcher/adapter_requirement.d.ts +38 -0
  104. package/dist/modules/launcher/adapter_requirement.d.ts.map +1 -0
  105. package/dist/modules/launcher/adapter_requirement.js +141 -0
  106. package/dist/modules/launcher/adapter_requirement.js.map +1 -0
  107. package/dist/modules/launcher/bot_supervisor.d.ts +2 -2
  108. package/dist/modules/launcher/bot_supervisor.d.ts.map +1 -1
  109. package/dist/modules/launcher/bot_supervisor.js +32 -3
  110. package/dist/modules/launcher/bot_supervisor.js.map +1 -1
  111. package/dist/modules/launcher/launch_modes.d.ts.map +1 -1
  112. package/dist/modules/launcher/launch_modes.js +5 -4
  113. package/dist/modules/launcher/launch_modes.js.map +1 -1
  114. package/dist/modules/launcher/monolithic_runtime.d.ts +1 -1
  115. package/dist/modules/launcher/monolithic_runtime.d.ts.map +1 -1
  116. package/dist/modules/launcher/monolithic_runtime.js +12 -8
  117. package/dist/modules/launcher/monolithic_runtime.js.map +1 -1
  118. package/dist/modules/launcher/status_reporting.d.ts +6 -6
  119. package/dist/modules/launcher/status_reporting.d.ts.map +1 -1
  120. package/dist/modules/launcher/status_reporting.js +9 -6
  121. package/dist/modules/launcher/status_reporting.js.map +1 -1
  122. package/dist/modules/order/export.d.ts +1 -1
  123. package/dist/modules/order/export.js +1 -1
  124. package/dist/modules/order/grid.d.ts.map +1 -1
  125. package/dist/modules/order/grid.js +47 -12
  126. package/dist/modules/order/grid.js.map +1 -1
  127. package/dist/modules/order/logger.d.ts +23 -1
  128. package/dist/modules/order/logger.d.ts.map +1 -1
  129. package/dist/modules/order/logger.js +60 -17
  130. package/dist/modules/order/logger.js.map +1 -1
  131. package/dist/modules/order/manager.d.ts.map +1 -1
  132. package/dist/modules/order/manager.js +43 -3
  133. package/dist/modules/order/manager.js.map +1 -1
  134. package/dist/modules/order/sync_engine.js +1 -1
  135. package/dist/modules/order/utils/system.d.ts +52 -4
  136. package/dist/modules/order/utils/system.d.ts.map +1 -1
  137. package/dist/modules/order/utils/system.js +106 -14
  138. package/dist/modules/order/utils/system.js.map +1 -1
  139. package/dist/modules/order/utils/validate.d.ts +1 -1
  140. package/dist/modules/order/utils/validate.d.ts.map +1 -1
  141. package/dist/modules/order/utils/validate.js +43 -3
  142. package/dist/modules/order/utils/validate.js.map +1 -1
  143. package/dist/modules/utils/chain_logs.d.ts +11 -0
  144. package/dist/modules/utils/chain_logs.d.ts.map +1 -0
  145. package/dist/modules/utils/chain_logs.js +23 -0
  146. package/dist/modules/utils/chain_logs.js.map +1 -0
  147. package/dist/modules/utils/sanitize_key.d.ts +7 -0
  148. package/dist/modules/utils/sanitize_key.d.ts.map +1 -1
  149. package/dist/modules/utils/sanitize_key.js +15 -0
  150. package/dist/modules/utils/sanitize_key.js.map +1 -1
  151. package/dist/pm2.d.ts +11 -1
  152. package/dist/pm2.d.ts.map +1 -1
  153. package/dist/pm2.js +66 -15
  154. package/dist/pm2.js.map +1 -1
  155. package/dist/scripts/analyze-credit.d.ts +4 -0
  156. package/dist/scripts/analyze-credit.d.ts.map +1 -0
  157. package/dist/scripts/analyze-credit.js +760 -0
  158. package/dist/scripts/analyze-credit.js.map +1 -0
  159. package/dist/scripts/analyze-orders.d.ts +1 -10
  160. package/dist/scripts/analyze-orders.d.ts.map +1 -1
  161. package/dist/scripts/analyze-orders.js +11 -34
  162. package/dist/scripts/analyze-orders.js.map +1 -1
  163. package/dist/scripts/test-credit-renewal.d.ts.map +1 -1
  164. package/dist/scripts/test-credit-renewal.js +37 -5
  165. package/dist/scripts/test-credit-renewal.js.map +1 -1
  166. package/dist/scripts/tv.d.ts +11 -0
  167. package/dist/scripts/tv.d.ts.map +1 -0
  168. package/dist/scripts/tv.js +357 -0
  169. package/dist/scripts/tv.js.map +1 -0
  170. package/dist/scripts/update.js +77 -10
  171. package/dist/scripts/update.js.map +1 -1
  172. package/dist/unlock.d.ts.map +1 -1
  173. package/dist/unlock.js +20 -8
  174. package/dist/unlock.js.map +1 -1
  175. package/docs/DEXBOT_COMPARISON.md +3 -3
  176. package/docs/EVOLUTION.md +7 -6
  177. package/docs/FUND_MOVEMENT_AND_ACCOUNTING.md +1 -1
  178. package/docs/MPA_CREDIT_USAGE.md +3 -1
  179. package/docs/README.md +2 -2
  180. package/docs/WORKFLOW.md +3 -1
  181. package/package.json +2 -1
  182. package/scripts/README.md +12 -0
@@ -1 +1 @@
1
- {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../modules/order/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../modules/order/manager.ts"],"names":[],"mappings":"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"}
@@ -1587,7 +1587,7 @@ class SyncEngine {
1587
1587
  // and the last update wins (`applyGridUpdateBatch` is last-wins
1588
1588
  // per slot), leaving a phantom residual equal to the earlier
1589
1589
  // fills' sum — exactly the fund-invariant CRITICAL seen in the
1590
- // XRP-BTS log whenever a batch contained 2+ fills of one order.
1590
+ // AAA-BBB log whenever a batch contained 2+ fills of one order.
1591
1591
  const gridUpdates = [];
1592
1592
  const filledOrders = [];
1593
1593
  const updatedOrders = [];
@@ -7,11 +7,13 @@
7
7
  * TABLE OF CONTENTS (21 exported functions)
8
8
  * ===============================================================================
9
9
  *
10
- * SECTION 1: PRICE DERIVATION (8 functions)
10
+ * SECTION 1: PRICE DERIVATION (10 functions)
11
11
  * - lookupAsset(BitShares, symbol) - Lookup asset metadata from blockchain
12
12
  * - deriveMarketPrice(BitShares, symA, symB) - Derive price from order book
13
13
  * - derivePoolPrice(BitShares, symA, symB) - Derive price from liquidity pool
14
14
  * - derivePrice(BitShares, symA, symB, mode) - Derive price with fallback chain
15
+ * - derivePriceViaBridges(BitShares, symA, symB, bridges, mode) - Multi-hop price via bridge assets
16
+ * - derivePriceWithBridges(BitShares, symA, symB, bridges, mode) - Direct price, else bridge hops
15
17
  * - resolveLiquidityPoolByShareAsset(BitShares, shareAsset) - Resolve LP by share asset
16
18
  * - deriveLiquidityPoolTokenValue(BitShares, symA, symB) - Derive LP token value
17
19
  * - loadAmaCenterPrice(manager) - Load AMA center price
@@ -98,6 +100,48 @@ export declare const derivePoolPrice: (BitShares: any, symA: string, symB: strin
98
100
  */
99
101
  export declare const setDerivePriceTestHook: (fn: ((...args: any[]) => any) | null) => void;
100
102
  export declare const derivePrice: (BitShares: any, symA: string, symB: string, mode?: string) => Promise<number | null>;
103
+ /**
104
+ * Default bridge assets for multi-hop price derivation. BTS is the core
105
+ * asset with the deepest markets, so almost every listed asset has a price
106
+ * path against it even when no direct market exists for an exotic pair.
107
+ */
108
+ export declare const DEFAULT_PRICE_BRIDGES: string[];
109
+ /**
110
+ * Derive price via bridge assets only (no direct market attempt).
111
+ * Returns price in B/A format (units of asset B per 1 unit of asset A) as
112
+ * price(A in X) * price(X in B) for the first bridge X with both legs
113
+ * available. Skips bridges equal to either side; identity (A === B) is 1.
114
+ *
115
+ * @param {Object} BitShares - BitShares client instance
116
+ * @param {string} symA - First asset symbol or ID
117
+ * @param {string} symB - Second asset symbol or ID
118
+ * @param {string[]} [bridges] - Bridge asset symbols/IDs to try in order
119
+ * @param {string} [mode='auto'] - Price derivation mode passed to derivePrice
120
+ * @returns {Promise<{rate:number,path:string}|null>} Rate plus 'bridge:<ref>' path, or null
121
+ */
122
+ export declare function derivePriceViaBridges(BitShares: any, symA: string, symB: string, bridges?: string[], mode?: string): Promise<{
123
+ rate: number;
124
+ path: string;
125
+ } | null>;
126
+ /**
127
+ * Derive price with universal fallback: direct pool/book market first, then
128
+ * multi-hop via bridge assets. Unlike derivePrice (null when no direct
129
+ * market exists), this resolves a rate for every pair whose assets each
130
+ * have some market against a shared bridge — the last-resort pricing used
131
+ * for credit collateral conversion when the lending offer lists no price
132
+ * for the collateral (or the pool cannot be valued directly).
133
+ *
134
+ * @param {Object} BitShares - BitShares client instance
135
+ * @param {string} symA - First asset symbol or ID
136
+ * @param {string} symB - Second asset symbol or ID
137
+ * @param {string[]} [bridges] - Bridge asset symbols/IDs to try in order
138
+ * @param {string} [mode='auto'] - Price derivation mode passed to derivePrice
139
+ * @returns {Promise<{rate:number,path:string}|null>} Rate plus 'direct' | 'identity' | 'bridge:<ref>' path, or null
140
+ */
141
+ export declare function derivePriceWithBridges(BitShares: any, symA: string, symB: string, bridges?: string[], mode?: string): Promise<{
142
+ rate: number;
143
+ path: string;
144
+ } | null>;
101
145
  /**
102
146
  * Resolve a liquidity pool from a share asset reference.
103
147
  * Looks up the share asset, then queries the blockchain for associated pools.
@@ -116,9 +160,13 @@ export declare function resolveLiquidityPoolByShareAsset(BitShares: any, shareAs
116
160
  * @param {string} shareAssetRef - Share asset symbol
117
161
  * @param {string} denominationAssetRef - Denomination asset symbol
118
162
  * @param {string} [mode='auto'] - Price derivation mode ("pool", "book", or "auto")
163
+ * @param {boolean} [allowBridges=false] - When true, a reserve leg with no
164
+ * direct market may be priced via bridge assets (see derivePriceViaBridges).
165
+ * Defaults to false so existing callers keep the previous direct-only
166
+ * behavior; the credit runtime opts in explicitly.
119
167
  * @returns {Promise<number|null>} Value per share in denomination asset, or null
120
168
  */
121
- export declare function deriveLiquidityPoolTokenValue(BitShares: any, shareAssetRef: string, denominationAssetRef: string, mode?: string): Promise<number | null>;
169
+ export declare function deriveLiquidityPoolTokenValue(BitShares: any, shareAssetRef: string, denominationAssetRef: string, mode?: string, allowBridges?: boolean): Promise<number | null>;
122
170
  /**
123
171
  * Load the full dynamic grid snapshot written by market_adapter for a bot.
124
172
  * The snapshot is stored atomically at profiles/orders/<botKey>.dynamicgrid.json
@@ -131,14 +179,14 @@ export declare function deriveLiquidityPoolTokenValue(BitShares: any, shareAsset
131
179
  * Called by initializeGrid() when manager.config.gridPrice uses an AMA keyword,
132
180
  * by performGridResync(), and by refreshDynamicWeightDistribution() before every
133
181
  * rebalance so new orders use live weights — not only on grid reset.
134
- * @param {string} botKey - Bot key (e.g. "iob-xrp-bts-0")
182
+ * @param {string} botKey - Bot key (e.g. "iob-aaa-bbb-0")
135
183
  * @returns {Object|null} Snapshot with center and optional dynamicWeights fields, or null if invalid
136
184
  */
137
185
  export declare function loadAmaCenterSnapshot(botKey: string): any;
138
186
  /**
139
187
  * Load the AMA grid center price written by market_adapter for a bot.
140
188
  * This is the numeric accessor used by the order engine.
141
- * @param {string} botKey - Bot key (e.g. "iob-xrp-bts-0")
189
+ * @param {string} botKey - Bot key (e.g. "iob-aaa-bbb-0")
142
190
  * @returns {number|null} Grid center price in B/A format, or null if file absent/invalid
143
191
  */
144
192
  export declare function loadAmaCenterPrice(botKey: string): number | null;
@@ -1 +1 @@
1
- {"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../../../modules/order/utils/system.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../../../modules/order/utils/system.ts"],"names":[],"mappings":"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"}
@@ -7,11 +7,13 @@
7
7
  * TABLE OF CONTENTS (21 exported functions)
8
8
  * ===============================================================================
9
9
  *
10
- * SECTION 1: PRICE DERIVATION (8 functions)
10
+ * SECTION 1: PRICE DERIVATION (10 functions)
11
11
  * - lookupAsset(BitShares, symbol) - Lookup asset metadata from blockchain
12
12
  * - deriveMarketPrice(BitShares, symA, symB) - Derive price from order book
13
13
  * - derivePoolPrice(BitShares, symA, symB) - Derive price from liquidity pool
14
14
  * - derivePrice(BitShares, symA, symB, mode) - Derive price with fallback chain
15
+ * - derivePriceViaBridges(BitShares, symA, symB, bridges, mode) - Multi-hop price via bridge assets
16
+ * - derivePriceWithBridges(BitShares, symA, symB, bridges, mode) - Direct price, else bridge hops
15
17
  * - resolveLiquidityPoolByShareAsset(BitShares, shareAsset) - Resolve LP by share asset
16
18
  * - deriveLiquidityPoolTokenValue(BitShares, symA, symB) - Derive LP token value
17
19
  * - loadAmaCenterPrice(manager) - Load AMA center price
@@ -399,6 +401,77 @@ export const derivePrice = async (BitShares, symA, symB, mode = 'auto') => {
399
401
  systemLogger.debug(`derivePrice: all methods failed for ${symA}/${symB}`);
400
402
  return null;
401
403
  };
404
+ /**
405
+ * Default bridge assets for multi-hop price derivation. BTS is the core
406
+ * asset with the deepest markets, so almost every listed asset has a price
407
+ * path against it even when no direct market exists for an exotic pair.
408
+ */
409
+ export const DEFAULT_PRICE_BRIDGES = ['BTS'];
410
+ function isPositiveRate(value) {
411
+ return typeof value === 'number' && Number.isFinite(value) && value > 0;
412
+ }
413
+ /**
414
+ * Derive price via bridge assets only (no direct market attempt).
415
+ * Returns price in B/A format (units of asset B per 1 unit of asset A) as
416
+ * price(A in X) * price(X in B) for the first bridge X with both legs
417
+ * available. Skips bridges equal to either side; identity (A === B) is 1.
418
+ *
419
+ * @param {Object} BitShares - BitShares client instance
420
+ * @param {string} symA - First asset symbol or ID
421
+ * @param {string} symB - Second asset symbol or ID
422
+ * @param {string[]} [bridges] - Bridge asset symbols/IDs to try in order
423
+ * @param {string} [mode='auto'] - Price derivation mode passed to derivePrice
424
+ * @returns {Promise<{rate:number,path:string}|null>} Rate plus 'bridge:<ref>' path, or null
425
+ */
426
+ export async function derivePriceViaBridges(BitShares, symA, symB, bridges = DEFAULT_PRICE_BRIDGES, mode = 'auto') {
427
+ try {
428
+ if (String(symA) === String(symB)) {
429
+ return { rate: 1, path: 'identity' };
430
+ }
431
+ const list = Array.isArray(bridges) ? bridges : [];
432
+ for (const bridge of list) {
433
+ if (!bridge || String(bridge) === String(symA) || String(bridge) === String(symB))
434
+ continue;
435
+ const [legA, legB] = await Promise.all([
436
+ derivePrice(BitShares, symA, bridge, mode).catch(() => null),
437
+ derivePrice(BitShares, bridge, symB, mode).catch(() => null),
438
+ ]);
439
+ if (isPositiveRate(legA) && isPositiveRate(legB)) {
440
+ return { rate: legA * legB, path: `bridge:${bridge}` };
441
+ }
442
+ }
443
+ return null;
444
+ }
445
+ catch (err) {
446
+ systemLogger.debug(`derivePriceViaBridges failed for ${symA}/${symB}: ${getErrorMessage(err)}`);
447
+ return null;
448
+ }
449
+ }
450
+ /**
451
+ * Derive price with universal fallback: direct pool/book market first, then
452
+ * multi-hop via bridge assets. Unlike derivePrice (null when no direct
453
+ * market exists), this resolves a rate for every pair whose assets each
454
+ * have some market against a shared bridge — the last-resort pricing used
455
+ * for credit collateral conversion when the lending offer lists no price
456
+ * for the collateral (or the pool cannot be valued directly).
457
+ *
458
+ * @param {Object} BitShares - BitShares client instance
459
+ * @param {string} symA - First asset symbol or ID
460
+ * @param {string} symB - Second asset symbol or ID
461
+ * @param {string[]} [bridges] - Bridge asset symbols/IDs to try in order
462
+ * @param {string} [mode='auto'] - Price derivation mode passed to derivePrice
463
+ * @returns {Promise<{rate:number,path:string}|null>} Rate plus 'direct' | 'identity' | 'bridge:<ref>' path, or null
464
+ */
465
+ export async function derivePriceWithBridges(BitShares, symA, symB, bridges = DEFAULT_PRICE_BRIDGES, mode = 'auto') {
466
+ if (String(symA) === String(symB)) {
467
+ return { rate: 1, path: 'identity' };
468
+ }
469
+ const direct = await derivePrice(BitShares, symA, symB, mode).catch(() => null);
470
+ if (isPositiveRate(direct)) {
471
+ return { rate: direct, path: 'direct' };
472
+ }
473
+ return derivePriceViaBridges(BitShares, symA, symB, bridges, mode);
474
+ }
402
475
  /**
403
476
  * Resolve a liquidity pool from a share asset reference.
404
477
  * Looks up the share asset, then queries the blockchain for associated pools.
@@ -474,9 +547,13 @@ async function getAssetCurrentSupply(BitShares, assetRef) {
474
547
  * @param {string} shareAssetRef - Share asset symbol
475
548
  * @param {string} denominationAssetRef - Denomination asset symbol
476
549
  * @param {string} [mode='auto'] - Price derivation mode ("pool", "book", or "auto")
550
+ * @param {boolean} [allowBridges=false] - When true, a reserve leg with no
551
+ * direct market may be priced via bridge assets (see derivePriceViaBridges).
552
+ * Defaults to false so existing callers keep the previous direct-only
553
+ * behavior; the credit runtime opts in explicitly.
477
554
  * @returns {Promise<number|null>} Value per share in denomination asset, or null
478
555
  */
479
- export async function deriveLiquidityPoolTokenValue(BitShares, shareAssetRef, denominationAssetRef, mode = 'auto') {
556
+ export async function deriveLiquidityPoolTokenValue(BitShares, shareAssetRef, denominationAssetRef, mode = 'auto', allowBridges = false) {
480
557
  try {
481
558
  const [shareAsset, denominationAsset] = await Promise.all([
482
559
  lookupAsset(BitShares, shareAssetRef),
@@ -502,18 +579,31 @@ export async function deriveLiquidityPoolTokenValue(BitShares, shareAssetRef, de
502
579
  if (!isValidNumber(reserveA) || !isValidNumber(reserveB)) {
503
580
  return null;
504
581
  }
505
- const priceA = String(assetA.id) === String(denominationAsset.id)
506
- ? 1
507
- : await derivePrice(BitShares, assetA.id, denominationAsset.id, mode).catch((e) => {
508
- systemLogger.debug(`deriveLiquidityPoolTokenValue: derivePrice failed for ${assetA.id}/${denominationAsset.id}: ${getErrorMessage(e)}`);
582
+ // Each reserve leg is priced directly first, then — only when the
583
+ // caller opts in via allowBridges — via bridge assets (e.g.
584
+ // reserve -> BTS -> denomination). Without the bridge fallback the
585
+ // whole LP valuation fails when a single exotic reserve has no
586
+ // direct market against the denomination asset.
587
+ const priceReserveLeg = async (asset) => {
588
+ if (String(asset.id) === String(denominationAsset.id))
589
+ return 1;
590
+ const direct = await derivePrice(BitShares, asset.id, denominationAsset.id, mode).catch((e) => {
591
+ systemLogger.debug(`deriveLiquidityPoolTokenValue: derivePrice failed for ${asset.id}/${denominationAsset.id}: ${getErrorMessage(e)}`);
509
592
  return null;
510
593
  });
511
- const priceB = String(assetB.id) === String(denominationAsset.id)
512
- ? 1
513
- : await derivePrice(BitShares, assetB.id, denominationAsset.id, mode).catch((e) => {
514
- systemLogger.debug(`deriveLiquidityPoolTokenValue: derivePrice failed for ${assetB.id}/${denominationAsset.id}: ${getErrorMessage(e)}`);
594
+ if (isPositiveRate(direct))
595
+ return direct;
596
+ if (!allowBridges)
515
597
  return null;
516
- });
598
+ const bridged = await derivePriceViaBridges(BitShares, asset.id, denominationAsset.id, DEFAULT_PRICE_BRIDGES, mode).catch(() => null);
599
+ if (bridged && isPositiveRate(bridged.rate)) {
600
+ systemLogger.debug(`deriveLiquidityPoolTokenValue: bridged reserve leg ${asset.id}/${denominationAsset.id} via ${bridged.path}`);
601
+ return bridged.rate;
602
+ }
603
+ return null;
604
+ };
605
+ const priceA = await priceReserveLeg(assetA);
606
+ const priceB = await priceReserveLeg(assetB);
517
607
  if (priceA == null || priceB == null || !isValidNumber(priceA) || !isValidNumber(priceB) || priceA <= 0 || priceB <= 0) {
518
608
  return null;
519
609
  }
@@ -542,7 +632,7 @@ export async function deriveLiquidityPoolTokenValue(BitShares, shareAssetRef, de
542
632
  * Called by initializeGrid() when manager.config.gridPrice uses an AMA keyword,
543
633
  * by performGridResync(), and by refreshDynamicWeightDistribution() before every
544
634
  * rebalance so new orders use live weights — not only on grid reset.
545
- * @param {string} botKey - Bot key (e.g. "iob-xrp-bts-0")
635
+ * @param {string} botKey - Bot key (e.g. "iob-aaa-bbb-0")
546
636
  * @returns {Object|null} Snapshot with center and optional dynamicWeights fields, or null if invalid
547
637
  */
548
638
  export function loadAmaCenterSnapshot(botKey) {
@@ -585,7 +675,7 @@ export function loadAmaCenterSnapshot(botKey) {
585
675
  /**
586
676
  * Load the AMA grid center price written by market_adapter for a bot.
587
677
  * This is the numeric accessor used by the order engine.
588
- * @param {string} botKey - Bot key (e.g. "iob-xrp-bts-0")
678
+ * @param {string} botKey - Bot key (e.g. "iob-aaa-bbb-0")
589
679
  * @returns {number|null} Grid center price in B/A format, or null if file absent/invalid
590
680
  */
591
681
  export function loadAmaCenterPrice(botKey) {
@@ -984,7 +1074,9 @@ export async function applyGridDivergenceCorrections(manager, accountOrders, _bo
984
1074
  // of cancel+recreate. Mirrors the reconcile path (manager.ts:210) and
985
1075
  // removes churn when a fund-driven boundary shift re-types slots. The COW
986
1076
  // executor already handles rotation UPDATEs (newGridId + newPrice remap).
987
- const optimizedActions = optimizeRebalanceActions(actions, manager.orders);
1077
+ const optimizedActions = optimizeRebalanceActions(actions, manager.orders, {
1078
+ logger: (msg, level) => manager.logger?.log?.(msg, level)
1079
+ });
988
1080
  if (optimizedActions !== actions) {
989
1081
  actions.length = 0;
990
1082
  actions.push(...optimizedActions);