@hyperlane-xyz/rebalancer 2.0.0 → 3.1.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 (213) hide show
  1. package/dist/bridges/LiFiBridge.d.ts +67 -0
  2. package/dist/bridges/LiFiBridge.d.ts.map +1 -0
  3. package/dist/bridges/LiFiBridge.js +386 -0
  4. package/dist/bridges/LiFiBridge.js.map +1 -0
  5. package/dist/config/RebalancerConfig.d.ts +8 -2
  6. package/dist/config/RebalancerConfig.d.ts.map +1 -1
  7. package/dist/config/RebalancerConfig.js +9 -4
  8. package/dist/config/RebalancerConfig.js.map +1 -1
  9. package/dist/config/RebalancerConfig.test.js +135 -1
  10. package/dist/config/RebalancerConfig.test.js.map +1 -1
  11. package/dist/config/types.d.ts +1023 -304
  12. package/dist/config/types.d.ts.map +1 -1
  13. package/dist/config/types.js +113 -10
  14. package/dist/config/types.js.map +1 -1
  15. package/dist/core/InventoryRebalancer.d.ts +190 -0
  16. package/dist/core/InventoryRebalancer.d.ts.map +1 -0
  17. package/dist/core/InventoryRebalancer.js +892 -0
  18. package/dist/core/InventoryRebalancer.js.map +1 -0
  19. package/dist/core/InventoryRebalancer.test.d.ts +2 -0
  20. package/dist/core/InventoryRebalancer.test.d.ts.map +1 -0
  21. package/dist/core/InventoryRebalancer.test.js +1382 -0
  22. package/dist/core/InventoryRebalancer.test.js.map +1 -0
  23. package/dist/core/Rebalancer.d.ts +11 -4
  24. package/dist/core/Rebalancer.d.ts.map +1 -1
  25. package/dist/core/Rebalancer.js +92 -9
  26. package/dist/core/Rebalancer.js.map +1 -1
  27. package/dist/core/Rebalancer.test.js +82 -49
  28. package/dist/core/Rebalancer.test.js.map +1 -1
  29. package/dist/core/RebalancerOrchestrator.d.ts +30 -9
  30. package/dist/core/RebalancerOrchestrator.d.ts.map +1 -1
  31. package/dist/core/RebalancerOrchestrator.js +79 -71
  32. package/dist/core/RebalancerOrchestrator.js.map +1 -1
  33. package/dist/core/RebalancerOrchestrator.test.d.ts +2 -0
  34. package/dist/core/RebalancerOrchestrator.test.d.ts.map +1 -0
  35. package/dist/core/RebalancerOrchestrator.test.js +719 -0
  36. package/dist/core/RebalancerOrchestrator.test.js.map +1 -0
  37. package/dist/core/RebalancerService.d.ts +7 -3
  38. package/dist/core/RebalancerService.d.ts.map +1 -1
  39. package/dist/core/RebalancerService.js +44 -24
  40. package/dist/core/RebalancerService.js.map +1 -1
  41. package/dist/core/RebalancerService.test.js +74 -110
  42. package/dist/core/RebalancerService.test.js.map +1 -1
  43. package/dist/e2e/collateral-deficit.e2e-test.js +1 -3
  44. package/dist/e2e/collateral-deficit.e2e-test.js.map +1 -1
  45. package/dist/e2e/composite.e2e-test.js.map +1 -1
  46. package/dist/e2e/harness/BridgeSetup.d.ts +6 -0
  47. package/dist/e2e/harness/BridgeSetup.d.ts.map +1 -1
  48. package/dist/e2e/harness/BridgeSetup.js +10 -1
  49. package/dist/e2e/harness/BridgeSetup.js.map +1 -1
  50. package/dist/e2e/harness/ForkIndexer.d.ts.map +1 -1
  51. package/dist/e2e/harness/ForkIndexer.js +1 -0
  52. package/dist/e2e/harness/ForkIndexer.js.map +1 -1
  53. package/dist/e2e/harness/TestHelpers.d.ts.map +1 -1
  54. package/dist/e2e/harness/TestHelpers.js +1 -4
  55. package/dist/e2e/harness/TestHelpers.js.map +1 -1
  56. package/dist/e2e/harness/TestRebalancer.d.ts +1 -1
  57. package/dist/e2e/harness/TestRebalancer.d.ts.map +1 -1
  58. package/dist/e2e/harness/TestRebalancer.js +9 -9
  59. package/dist/e2e/harness/TestRebalancer.js.map +1 -1
  60. package/dist/e2e/minAmount.e2e-test.js +0 -1
  61. package/dist/e2e/minAmount.e2e-test.js.map +1 -1
  62. package/dist/e2e/weighted.e2e-test.js +0 -1
  63. package/dist/e2e/weighted.e2e-test.js.map +1 -1
  64. package/dist/factories/RebalancerContextFactory.d.ts +48 -6
  65. package/dist/factories/RebalancerContextFactory.d.ts.map +1 -1
  66. package/dist/factories/RebalancerContextFactory.js +171 -17
  67. package/dist/factories/RebalancerContextFactory.js.map +1 -1
  68. package/dist/index.d.ts +6 -6
  69. package/dist/index.d.ts.map +1 -1
  70. package/dist/index.js +2 -2
  71. package/dist/index.js.map +1 -1
  72. package/dist/interfaces/IExternalBridge.d.ts +101 -0
  73. package/dist/interfaces/IExternalBridge.d.ts.map +1 -0
  74. package/dist/interfaces/IExternalBridge.js +2 -0
  75. package/dist/interfaces/IExternalBridge.js.map +1 -0
  76. package/dist/interfaces/IMonitor.d.ts +1 -0
  77. package/dist/interfaces/IMonitor.d.ts.map +1 -1
  78. package/dist/interfaces/IRebalancer.d.ts +25 -25
  79. package/dist/interfaces/IRebalancer.d.ts.map +1 -1
  80. package/dist/interfaces/IStrategy.d.ts +36 -3
  81. package/dist/interfaces/IStrategy.d.ts.map +1 -1
  82. package/dist/interfaces/IStrategy.js +12 -1
  83. package/dist/interfaces/IStrategy.js.map +1 -1
  84. package/dist/metrics/PriceGetter.js +1 -1
  85. package/dist/metrics/PriceGetter.js.map +1 -1
  86. package/dist/metrics/scripts/metrics.d.ts +3 -3
  87. package/dist/monitor/Monitor.d.ts +12 -2
  88. package/dist/monitor/Monitor.d.ts.map +1 -1
  89. package/dist/monitor/Monitor.js +46 -1
  90. package/dist/monitor/Monitor.js.map +1 -1
  91. package/dist/service.js +40 -17
  92. package/dist/service.js.map +1 -1
  93. package/dist/strategy/BaseStrategy.d.ts +12 -6
  94. package/dist/strategy/BaseStrategy.d.ts.map +1 -1
  95. package/dist/strategy/BaseStrategy.js +56 -21
  96. package/dist/strategy/BaseStrategy.js.map +1 -1
  97. package/dist/strategy/CollateralDeficitStrategy.d.ts +1 -1
  98. package/dist/strategy/CollateralDeficitStrategy.d.ts.map +1 -1
  99. package/dist/strategy/CollateralDeficitStrategy.js +19 -11
  100. package/dist/strategy/CollateralDeficitStrategy.js.map +1 -1
  101. package/dist/strategy/CollateralDeficitStrategy.test.js +135 -2
  102. package/dist/strategy/CollateralDeficitStrategy.test.js.map +1 -1
  103. package/dist/strategy/CompositeStrategy.test.js +13 -0
  104. package/dist/strategy/CompositeStrategy.test.js.map +1 -1
  105. package/dist/strategy/MinAmountStrategy.test.js +4 -0
  106. package/dist/strategy/MinAmountStrategy.test.js.map +1 -1
  107. package/dist/strategy/StrategyFactory.d.ts +2 -1
  108. package/dist/strategy/StrategyFactory.d.ts.map +1 -1
  109. package/dist/strategy/StrategyFactory.js +24 -8
  110. package/dist/strategy/StrategyFactory.js.map +1 -1
  111. package/dist/strategy/WeightedStrategy.test.js +6 -0
  112. package/dist/strategy/WeightedStrategy.test.js.map +1 -1
  113. package/dist/test/helpers.d.ts +8 -7
  114. package/dist/test/helpers.d.ts.map +1 -1
  115. package/dist/test/helpers.js +23 -5
  116. package/dist/test/helpers.js.map +1 -1
  117. package/dist/test/lifiMocks.d.ts +51 -0
  118. package/dist/test/lifiMocks.d.ts.map +1 -0
  119. package/dist/test/lifiMocks.js +130 -0
  120. package/dist/test/lifiMocks.js.map +1 -0
  121. package/dist/tracking/ActionTracker.d.ts +34 -1
  122. package/dist/tracking/ActionTracker.d.ts.map +1 -1
  123. package/dist/tracking/ActionTracker.js +233 -26
  124. package/dist/tracking/ActionTracker.js.map +1 -1
  125. package/dist/tracking/ActionTracker.test.js +380 -19
  126. package/dist/tracking/ActionTracker.test.js.map +1 -1
  127. package/dist/tracking/IActionTracker.d.ts +48 -3
  128. package/dist/tracking/IActionTracker.d.ts.map +1 -1
  129. package/dist/tracking/InflightContextAdapter.d.ts.map +1 -1
  130. package/dist/tracking/InflightContextAdapter.js +24 -7
  131. package/dist/tracking/InflightContextAdapter.js.map +1 -1
  132. package/dist/tracking/InflightContextAdapter.test.js +7 -4
  133. package/dist/tracking/InflightContextAdapter.test.js.map +1 -1
  134. package/dist/tracking/types.d.ts +33 -2
  135. package/dist/tracking/types.d.ts.map +1 -1
  136. package/dist/utils/ExplorerClient.d.ts +3 -1
  137. package/dist/utils/ExplorerClient.d.ts.map +1 -1
  138. package/dist/utils/ExplorerClient.js +16 -8
  139. package/dist/utils/ExplorerClient.js.map +1 -1
  140. package/dist/utils/bridgeUtils.d.ts +27 -4
  141. package/dist/utils/bridgeUtils.d.ts.map +1 -1
  142. package/dist/utils/bridgeUtils.js +38 -0
  143. package/dist/utils/bridgeUtils.js.map +1 -1
  144. package/dist/utils/bridgeUtils.test.js +9 -0
  145. package/dist/utils/bridgeUtils.test.js.map +1 -1
  146. package/dist/utils/gasEstimation.d.ts +65 -0
  147. package/dist/utils/gasEstimation.d.ts.map +1 -0
  148. package/dist/utils/gasEstimation.js +176 -0
  149. package/dist/utils/gasEstimation.js.map +1 -0
  150. package/dist/utils/tokenUtils.d.ts +9 -1
  151. package/dist/utils/tokenUtils.d.ts.map +1 -1
  152. package/dist/utils/tokenUtils.js +11 -0
  153. package/dist/utils/tokenUtils.js.map +1 -1
  154. package/package.json +9 -7
  155. package/src/bridges/LiFiBridge.ts +538 -0
  156. package/src/config/RebalancerConfig.test.ts +162 -0
  157. package/src/config/RebalancerConfig.ts +21 -3
  158. package/src/config/types.ts +147 -10
  159. package/src/core/InventoryRebalancer.test.ts +1721 -0
  160. package/src/core/InventoryRebalancer.ts +1265 -0
  161. package/src/core/Rebalancer.test.ts +84 -30
  162. package/src/core/Rebalancer.ts +144 -23
  163. package/src/core/RebalancerOrchestrator.test.ts +869 -0
  164. package/src/core/RebalancerOrchestrator.ts +146 -95
  165. package/src/core/RebalancerService.test.ts +86 -124
  166. package/src/core/RebalancerService.ts +67 -33
  167. package/src/e2e/collateral-deficit.e2e-test.ts +2 -4
  168. package/src/e2e/composite.e2e-test.ts +5 -5
  169. package/src/e2e/harness/BridgeSetup.ts +28 -1
  170. package/src/e2e/harness/ForkIndexer.ts +1 -0
  171. package/src/e2e/harness/TestHelpers.ts +1 -4
  172. package/src/e2e/harness/TestRebalancer.ts +10 -7
  173. package/src/e2e/minAmount.e2e-test.ts +1 -2
  174. package/src/e2e/weighted.e2e-test.ts +1 -2
  175. package/src/factories/RebalancerContextFactory.ts +294 -24
  176. package/src/index.ts +22 -5
  177. package/src/interfaces/IExternalBridge.ts +115 -0
  178. package/src/interfaces/IMonitor.ts +1 -0
  179. package/src/interfaces/IRebalancer.ts +45 -29
  180. package/src/interfaces/IStrategy.ts +50 -3
  181. package/src/metrics/PriceGetter.ts +1 -1
  182. package/src/monitor/Monitor.ts +81 -2
  183. package/src/service.ts +59 -18
  184. package/src/strategy/BaseStrategy.ts +77 -24
  185. package/src/strategy/CollateralDeficitStrategy.test.ts +181 -4
  186. package/src/strategy/CollateralDeficitStrategy.ts +42 -15
  187. package/src/strategy/CompositeStrategy.test.ts +13 -0
  188. package/src/strategy/MinAmountStrategy.test.ts +4 -0
  189. package/src/strategy/StrategyFactory.ts +33 -6
  190. package/src/strategy/WeightedStrategy.test.ts +6 -0
  191. package/src/test/helpers.ts +39 -14
  192. package/src/test/lifiMocks.ts +174 -0
  193. package/src/tracking/ActionTracker.test.ts +443 -19
  194. package/src/tracking/ActionTracker.ts +339 -28
  195. package/src/tracking/IActionTracker.ts +59 -3
  196. package/src/tracking/InflightContextAdapter.test.ts +7 -4
  197. package/src/tracking/InflightContextAdapter.ts +42 -9
  198. package/src/tracking/types.ts +45 -2
  199. package/src/utils/ExplorerClient.ts +27 -10
  200. package/src/utils/bridgeUtils.test.ts +9 -0
  201. package/src/utils/bridgeUtils.ts +75 -6
  202. package/src/utils/gasEstimation.ts +272 -0
  203. package/src/utils/tokenUtils.ts +12 -0
  204. package/dist/tracking/index.d.ts +0 -7
  205. package/dist/tracking/index.d.ts.map +0 -1
  206. package/dist/tracking/index.js +0 -6
  207. package/dist/tracking/index.js.map +0 -1
  208. package/dist/utils/index.d.ts +0 -5
  209. package/dist/utils/index.d.ts.map +0 -1
  210. package/dist/utils/index.js +0 -5
  211. package/dist/utils/index.js.map +0 -1
  212. package/src/tracking/index.ts +0 -36
  213. package/src/utils/index.ts +0 -4
@@ -14,9 +14,10 @@ export declare class StrategyFactory {
14
14
  * @param initialTotalCollateral The initial total collateral of the rebalancer
15
15
  * @param logger The logger to use for the strategy
16
16
  * @param metrics The metrics to use for the strategy
17
+ * @param minAmountsByChain Optional minimum amounts per chain for filtering routes
17
18
  * @returns A concrete strategy implementation
18
19
  */
19
- static createStrategy(strategyConfigs: StrategyConfig[], tokensByChainName: ChainMap<Token>, initialTotalCollateral: bigint, logger: Logger, metrics?: Metrics): IStrategy;
20
+ static createStrategy(strategyConfigs: StrategyConfig[], tokensByChainName: ChainMap<Token>, initialTotalCollateral: bigint, logger: Logger, metrics?: Metrics, minAmountsByChain?: ChainMap<bigint>): IStrategy;
20
21
  /**
21
22
  * Create a single strategy from config.
22
23
  */
@@ -1 +1 @@
1
- {"version":3,"file":"StrategyFactory.d.ts","sourceRoot":"","sources":["../../src/strategy/StrategyFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE/D,OAAO,EAEL,KAAK,cAAc,EACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAQrD,qBAAa,eAAe;IAC1B;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,cAAc,CACnB,eAAe,EAAE,cAAc,EAAE,EACjC,iBAAiB,EAAE,QAAQ,CAAC,KAAK,CAAC,EAClC,sBAAsB,EAAE,MAAM,EAC9B,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,OAAO,GAChB,SAAS;IA6BZ;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IA4CnC,OAAO,CAAC,MAAM,CAAC,oBAAoB;CAiBpC"}
1
+ {"version":3,"file":"StrategyFactory.d.ts","sourceRoot":"","sources":["../../src/strategy/StrategyFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE/D,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAYrD,qBAAa,eAAe;IAC1B;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,cAAc,CACnB,eAAe,EAAE,cAAc,EAAE,EACjC,iBAAiB,EAAE,QAAQ,CAAC,KAAK,CAAC,EAClC,sBAAsB,EAAE,MAAM,EAC9B,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,OAAO,EACjB,iBAAiB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GACnC,SAAS;IA+BZ;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IA6CnC,OAAO,CAAC,MAAM,CAAC,oBAAoB;CAkCpC"}
@@ -1,4 +1,4 @@
1
- import { RebalancerStrategyOptions, } from '../config/types.js';
1
+ import { ExecutionType, RebalancerStrategyOptions, } from '../config/types.js';
2
2
  import { CollateralDeficitStrategy } from './CollateralDeficitStrategy.js';
3
3
  import { CompositeStrategy } from './CompositeStrategy.js';
4
4
  import { MinAmountStrategy } from './MinAmountStrategy.js';
@@ -14,24 +14,25 @@ export class StrategyFactory {
14
14
  * @param initialTotalCollateral The initial total collateral of the rebalancer
15
15
  * @param logger The logger to use for the strategy
16
16
  * @param metrics The metrics to use for the strategy
17
+ * @param minAmountsByChain Optional minimum amounts per chain for filtering routes
17
18
  * @returns A concrete strategy implementation
18
19
  */
19
- static createStrategy(strategyConfigs, tokensByChainName, initialTotalCollateral, logger, metrics) {
20
+ static createStrategy(strategyConfigs, tokensByChainName, initialTotalCollateral, logger, metrics, minAmountsByChain) {
20
21
  if (strategyConfigs.length === 0) {
21
22
  throw new Error('At least one strategy must be configured');
22
23
  }
23
24
  // Single strategy - create directly without CompositeStrategy wrapper
24
25
  if (strategyConfigs.length === 1) {
25
- return this.createSingleStrategy(strategyConfigs[0], tokensByChainName, initialTotalCollateral, logger, metrics);
26
+ return this.createSingleStrategy(strategyConfigs[0], tokensByChainName, initialTotalCollateral, logger, metrics, minAmountsByChain);
26
27
  }
27
28
  // Multiple strategies - create CompositeStrategy
28
- const subStrategies = strategyConfigs.map((config) => this.createSingleStrategy(config, tokensByChainName, initialTotalCollateral, logger, metrics));
29
+ const subStrategies = strategyConfigs.map((config) => this.createSingleStrategy(config, tokensByChainName, initialTotalCollateral, logger, metrics, minAmountsByChain));
29
30
  return new CompositeStrategy(subStrategies, logger);
30
31
  }
31
32
  /**
32
33
  * Create a single strategy from config.
33
34
  */
34
- static createSingleStrategy(strategyConfig, tokensByChainName, initialTotalCollateral, logger, metrics) {
35
+ static createSingleStrategy(strategyConfig, tokensByChainName, initialTotalCollateral, logger, metrics, _minAmountsByChain) {
35
36
  const bridgeConfigs = this.extractBridgeConfigs(strategyConfig);
36
37
  switch (strategyConfig.rebalanceStrategy) {
37
38
  case RebalancerStrategyOptions.Weighted: {
@@ -51,11 +52,26 @@ export class StrategyFactory {
51
52
  static extractBridgeConfigs(strategyConfig) {
52
53
  const bridgeConfigs = {};
53
54
  for (const [chain, config] of Object.entries(strategyConfig.chains)) {
54
- bridgeConfigs[chain] = {
55
- bridge: config.bridge,
55
+ const baseConfig = {
56
56
  bridgeMinAcceptedAmount: config.bridgeMinAcceptedAmount ?? 0,
57
- override: config.override,
58
57
  };
58
+ const executionType = config.executionType ?? ExecutionType.MovableCollateral;
59
+ if (executionType === ExecutionType.Inventory) {
60
+ bridgeConfigs[chain] = {
61
+ ...baseConfig,
62
+ executionType: 'inventory',
63
+ externalBridge: config.externalBridge, // Validated by config schema
64
+ override: config.override,
65
+ };
66
+ }
67
+ else {
68
+ bridgeConfigs[chain] = {
69
+ ...baseConfig,
70
+ executionType: 'movableCollateral',
71
+ bridge: config.bridge, // Validated by config schema
72
+ override: config.override,
73
+ };
74
+ }
59
75
  }
60
76
  return bridgeConfigs;
61
77
  }
@@ -1 +1 @@
1
- {"version":3,"file":"StrategyFactory.js","sourceRoot":"","sources":["../../src/strategy/StrategyFactory.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,yBAAyB,GAE1B,MAAM,oBAAoB,CAAC;AAK5B,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,OAAO,eAAe;IAC1B;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,cAAc,CACnB,eAAiC,EACjC,iBAAkC,EAClC,sBAA8B,EAC9B,MAAc,EACd,OAAiB;QAEjB,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC9D,CAAC;QAED,sEAAsE;QACtE,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC,oBAAoB,CAC9B,eAAe,CAAC,CAAC,CAAC,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,MAAM,EACN,OAAO,CACR,CAAC;QACJ,CAAC;QAED,iDAAiD;QACjD,MAAM,aAAa,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACnD,IAAI,CAAC,oBAAoB,CACvB,MAAM,EACN,iBAAiB,EACjB,sBAAsB,EACtB,MAAM,EACN,OAAO,CACR,CACF,CAAC;QACF,OAAO,IAAI,iBAAiB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,oBAAoB,CACjC,cAA8B,EAC9B,iBAAkC,EAClC,sBAA8B,EAC9B,MAAc,EACd,OAAiB;QAEjB,MAAM,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC;QAEhE,QAAQ,cAAc,CAAC,iBAAiB,EAAE,CAAC;YACzC,KAAK,yBAAyB,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACxC,OAAO,IAAI,gBAAgB,CACzB,cAAc,CAAC,MAAM,EACrB,MAAM,EACN,aAAa,EACb,OAAO,EACP,iBAAiB,CAClB,CAAC;YACJ,CAAC;YACD,KAAK,yBAAyB,CAAC,SAAS,CAAC,CAAC,CAAC;gBACzC,OAAO,IAAI,iBAAiB,CAC1B,cAAc,CAAC,MAAM,EACrB,iBAAiB,EACjB,sBAAsB,EACtB,MAAM,EACN,aAAa,EACb,OAAO,CACR,CAAC;YACJ,CAAC;YACD,KAAK,yBAAyB,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBACjD,OAAO,IAAI,yBAAyB,CAClC,cAAc,CAAC,MAAM,EACrB,iBAAiB,EACjB,MAAM,EACN,aAAa,EACb,OAAO,CACR,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,CAAC,CAAC;gBACR,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,oBAAoB,CACjC,cAA8B;QAE9B,MAAM,aAAa,GAAuC,EAAE,CAAC;QAE7D,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;YACpE,aAAa,CAAC,KAAK,CAAC,GAAG;gBACrB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,uBAAuB,EAAE,MAAM,CAAC,uBAAuB,IAAI,CAAC;gBAC5D,QAAQ,EAAE,MAAM,CAAC,QAEhB;aACF,CAAC;QACJ,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;CACF"}
1
+ {"version":3,"file":"StrategyFactory.js","sourceRoot":"","sources":["../../src/strategy/StrategyFactory.ts"],"names":[],"mappings":"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"}
@@ -177,6 +177,7 @@ describe('WeightedStrategy', () => {
177
177
  destination: chain1,
178
178
  amount: ethers.utils.parseEther('50').toBigInt(),
179
179
  bridge: ethers.constants.AddressZero,
180
+ executionType: 'movableCollateral',
180
181
  },
181
182
  ]);
182
183
  });
@@ -232,6 +233,7 @@ describe('WeightedStrategy', () => {
232
233
  destination: chain1,
233
234
  amount: ethers.utils.parseEther('100').toBigInt(),
234
235
  bridge: ethers.constants.AddressZero,
236
+ executionType: 'movableCollateral',
235
237
  },
236
238
  ]);
237
239
  });
@@ -267,12 +269,14 @@ describe('WeightedStrategy', () => {
267
269
  destination: chain1,
268
270
  amount: 133333333333333333333n,
269
271
  bridge: ethers.constants.AddressZero,
272
+ executionType: 'movableCollateral',
270
273
  },
271
274
  {
272
275
  origin: chain3,
273
276
  destination: chain2,
274
277
  amount: 133333333333333333333n,
275
278
  bridge: ethers.constants.AddressZero,
279
+ executionType: 'movableCollateral',
276
280
  },
277
281
  ]);
278
282
  });
@@ -308,12 +312,14 @@ describe('WeightedStrategy', () => {
308
312
  destination: chain1,
309
313
  amount: ethers.utils.parseEther('25').toBigInt(),
310
314
  bridge: ethers.constants.AddressZero,
315
+ executionType: 'movableCollateral',
311
316
  },
312
317
  {
313
318
  origin: chain3,
314
319
  destination: chain1,
315
320
  amount: ethers.utils.parseEther('25').toBigInt(),
316
321
  bridge: ethers.constants.AddressZero,
322
+ executionType: 'movableCollateral',
317
323
  },
318
324
  ]);
319
325
  });
@@ -1 +1 @@
1
- {"version":3,"file":"WeightedStrategy.test.js","sourceRoot":"","sources":["../../src/strategy/WeightedStrategy.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WeightedStrategy.test.js","sourceRoot":"","sources":["../../src/strategy/WeightedStrategy.test.ts"],"names":[],"mappings":"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"}
@@ -2,15 +2,16 @@ import { type PopulatedTransaction, type providers } from 'ethers';
2
2
  import Sinon from 'sinon';
3
3
  import { type ChainMap, type ChainMetadata, type ChainName, type InterchainGasQuote, type MultiProvider, type Token, type TokenAmount, type WarpCore } from '@hyperlane-xyz/sdk';
4
4
  import type { RebalancerConfig } from '../config/RebalancerConfig.js';
5
- import type { IRebalancer, PreparedTransaction, RebalanceExecutionResult, RebalanceRoute } from '../interfaces/IRebalancer.js';
6
- import type { StrategyRoute } from '../interfaces/IStrategy.js';
7
- import type { BridgeConfigWithOverride } from '../utils/index.js';
5
+ import type { ExecutionResult, IRebalancer, MovableCollateralExecutionResult, PreparedTransaction, RebalancerType } from '../interfaces/IRebalancer.js';
6
+ import type { MovableCollateralRoute, StrategyRoute } from '../interfaces/IStrategy.js';
7
+ import type { BridgeConfigWithOverride } from '../utils/bridgeUtils.js';
8
8
  export declare class MockRebalancer implements IRebalancer {
9
- rebalance(_routes: RebalanceRoute[]): Promise<RebalanceExecutionResult[]>;
9
+ readonly rebalancerType: RebalancerType;
10
+ rebalance(_routes: MovableCollateralRoute[]): Promise<ExecutionResult[]>;
10
11
  }
11
- export declare function buildTestRoute(overrides?: Partial<StrategyRoute>): StrategyRoute;
12
- export declare function buildTestRebalanceRoute(overrides?: Partial<RebalanceRoute>): RebalanceRoute;
13
- export declare function buildTestResult(overrides?: Partial<RebalanceExecutionResult>): RebalanceExecutionResult;
12
+ export declare function buildTestRoute(overrides?: Partial<StrategyRoute>, executionType?: 'movableCollateral' | 'inventory'): StrategyRoute;
13
+ export declare function buildTestMovableCollateralRoute(overrides?: Partial<MovableCollateralRoute>): MovableCollateralRoute;
14
+ export declare function buildTestResult(overrides?: Partial<MovableCollateralExecutionResult>): MovableCollateralExecutionResult;
14
15
  export declare function buildTestPreparedTransaction(overrides?: Partial<PreparedTransaction>): PreparedTransaction;
15
16
  export declare function createMockTokenAmount(amount: bigint): TokenAmount;
16
17
  export interface MockAdapterConfig {
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/test/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/test/helpers.ts"],"names":[],"mappings":"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"}
@@ -4,32 +4,44 @@ import { EvmMovableCollateralAdapter, } from '@hyperlane-xyz/sdk';
4
4
  import { RebalancerStrategyOptions } from '../config/types.js';
5
5
  // === Mock Classes ===
6
6
  export class MockRebalancer {
7
+ rebalancerType = 'movableCollateral';
7
8
  rebalance(_routes) {
8
9
  return Promise.resolve([]);
9
10
  }
10
11
  }
11
12
  // === Test Data Builders ===
12
- export function buildTestRoute(overrides = {}) {
13
+ export function buildTestRoute(overrides = {}, executionType = 'movableCollateral') {
14
+ if (executionType === 'inventory') {
15
+ return {
16
+ origin: 'ethereum',
17
+ destination: 'arbitrum',
18
+ amount: ethers.utils.parseEther('100').toBigInt(),
19
+ executionType: 'inventory',
20
+ externalBridge: 'lifi',
21
+ ...overrides,
22
+ };
23
+ }
13
24
  return {
14
25
  origin: 'ethereum',
15
26
  destination: 'arbitrum',
16
27
  amount: ethers.utils.parseEther('100').toBigInt(),
28
+ executionType: 'movableCollateral',
17
29
  bridge: TEST_ADDRESSES.bridge,
18
30
  ...overrides,
19
31
  };
20
32
  }
21
- export function buildTestRebalanceRoute(overrides = {}) {
33
+ export function buildTestMovableCollateralRoute(overrides = {}) {
22
34
  return {
23
- intentId: overrides.intentId ?? `test-route-${Date.now()}`,
24
35
  origin: 'ethereum',
25
36
  destination: 'arbitrum',
26
37
  amount: ethers.utils.parseEther('100').toBigInt(),
38
+ executionType: 'movableCollateral',
27
39
  bridge: TEST_ADDRESSES.bridge,
28
40
  ...overrides,
29
41
  };
30
42
  }
31
43
  export function buildTestResult(overrides = {}) {
32
- const route = overrides.route ?? buildTestRebalanceRoute();
44
+ const route = overrides.route ?? buildTestMovableCollateralRoute();
33
45
  return {
34
46
  route,
35
47
  success: true,
@@ -39,7 +51,11 @@ export function buildTestResult(overrides = {}) {
39
51
  };
40
52
  }
41
53
  export function buildTestPreparedTransaction(overrides = {}) {
42
- const route = overrides.route ?? buildTestRebalanceRoute();
54
+ const route = overrides.route ??
55
+ {
56
+ ...buildTestMovableCollateralRoute(),
57
+ intentId: 'test-intent',
58
+ };
43
59
  return {
44
60
  populatedTx: {
45
61
  to: TEST_ADDRESSES.token,
@@ -156,6 +172,7 @@ export function getTestAddress(key) {
156
172
  export function buildTestBridges(chains = ['ethereum', 'arbitrum']) {
157
173
  return chains.reduce((acc, chain) => {
158
174
  acc[chain] = {
175
+ executionType: 'movableCollateral',
159
176
  bridge: TEST_ADDRESSES.bridge,
160
177
  bridgeMinAcceptedAmount: 0,
161
178
  };
@@ -169,6 +186,7 @@ export function buildTestBridges(chains = ['ethereum', 'arbitrum']) {
169
186
  export function extractBridgeConfigs(chainConfig) {
170
187
  return Object.entries(chainConfig).reduce((acc, [chain, config]) => {
171
188
  acc[chain] = {
189
+ executionType: 'movableCollateral',
172
190
  bridge: config.bridge,
173
191
  bridgeMinAcceptedAmount: config.bridgeMinAcceptedAmount ?? 0,
174
192
  };
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/test/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/test/helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ import Sinon, { type SinonStub } from 'sinon';
2
+ import type { BridgeQuote, BridgeTransferStatus } from '../interfaces/IExternalBridge.js';
3
+ /**
4
+ * Create mock functions for LiFi SDK.
5
+ */
6
+ export declare function createLiFiSdkMocks(): {
7
+ createConfig: Sinon.SinonStub<any[], any>;
8
+ getQuote: Sinon.SinonStub<any[], any>;
9
+ executeRoute: Sinon.SinonStub<any[], any>;
10
+ getStatus: Sinon.SinonStub<any[], any>;
11
+ convertQuoteToRoute: Sinon.SinonStub<any[], any>;
12
+ };
13
+ /**
14
+ * Configure a mock getQuote to return a successful quote.
15
+ */
16
+ export declare function mockSuccessfulQuote(stub: SinonStub, overrides?: Partial<{
17
+ id: string;
18
+ tool: string;
19
+ fromAmount: string;
20
+ toAmount: string;
21
+ toAmountMin: string;
22
+ executionDuration: number;
23
+ fromChainId: number;
24
+ toChainId: number;
25
+ }>): void;
26
+ /**
27
+ * Configure a mock executeRoute to return a successful execution.
28
+ */
29
+ export declare function mockSuccessfulExecution(stub: SinonStub, txHash: string): void;
30
+ /**
31
+ * Configure a mock getStatus to return a specific status.
32
+ */
33
+ export declare function mockLiFiStatus(stub: SinonStub, status: 'DONE' | 'PENDING' | 'FAILED' | 'NOT_FOUND', overrides?: Partial<{
34
+ receivingTxHash: string;
35
+ amount: string;
36
+ substatus: string;
37
+ }>): void;
38
+ /**
39
+ * Create a mock BridgeQuote for testing.
40
+ */
41
+ export declare function createMockBridgeQuote(overrides?: Partial<BridgeQuote>): BridgeQuote;
42
+ /**
43
+ * Create a mock BridgeTransferStatus for testing.
44
+ */
45
+ export declare function createMockBridgeStatus(status: 'pending' | 'complete' | 'failed' | 'not_found', overrides?: Partial<{
46
+ substatus: string;
47
+ receivingTxHash: string;
48
+ receivedAmount: bigint;
49
+ error: string;
50
+ }>): BridgeTransferStatus;
51
+ //# sourceMappingURL=lifiMocks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifiMocks.d.ts","sourceRoot":"","sources":["../../src/test/lifiMocks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAE9C,OAAO,KAAK,EACV,WAAW,EACX,oBAAoB,EACrB,MAAM,kCAAkC,CAAC;AAE1C;;GAEG;AACH,wBAAgB,kBAAkB;;;;;;EAkBjC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,SAAS,EACf,SAAS,CAAC,EAAE,OAAO,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC,QAsBH;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,QAUtE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,EACnD,SAAS,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC,QAwBH;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAC/B,WAAW,CAeb;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,WAAW,EACvD,SAAS,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC,GACD,oBAAoB,CAqBtB"}
@@ -0,0 +1,130 @@
1
+ import Sinon from 'sinon';
2
+ /**
3
+ * Create mock functions for LiFi SDK.
4
+ */
5
+ export function createLiFiSdkMocks() {
6
+ return {
7
+ createConfig: Sinon.stub(),
8
+ getQuote: Sinon.stub(),
9
+ executeRoute: Sinon.stub(),
10
+ getStatus: Sinon.stub(),
11
+ convertQuoteToRoute: Sinon.stub().callsFake((quote) => {
12
+ const q = quote;
13
+ return {
14
+ ...q,
15
+ fromChainId: q.action?.fromChainId ?? 42161,
16
+ toChainId: q.action?.toChainId ?? 1399811149,
17
+ steps: [],
18
+ };
19
+ }),
20
+ };
21
+ }
22
+ /**
23
+ * Configure a mock getQuote to return a successful quote.
24
+ */
25
+ export function mockSuccessfulQuote(stub, overrides) {
26
+ const fromChainId = overrides?.fromChainId ?? 42161;
27
+ const toChainId = overrides?.toChainId ?? 1399811149;
28
+ const fromAmount = overrides?.fromAmount ?? '10000000000';
29
+ const toAmount = overrides?.toAmount ?? '9950000000';
30
+ const toAmountMin = overrides?.toAmountMin ?? '9900000000';
31
+ stub.resolves({
32
+ id: overrides?.id ?? 'quote-123',
33
+ tool: overrides?.tool ?? 'across',
34
+ action: {
35
+ fromAmount,
36
+ fromChainId,
37
+ toChainId,
38
+ },
39
+ estimate: {
40
+ toAmount,
41
+ toAmountMin,
42
+ executionDuration: overrides?.executionDuration ?? 300,
43
+ },
44
+ });
45
+ }
46
+ /**
47
+ * Configure a mock executeRoute to return a successful execution.
48
+ */
49
+ export function mockSuccessfulExecution(stub, txHash) {
50
+ stub.resolves({
51
+ steps: [
52
+ {
53
+ execution: {
54
+ process: [{ txHash }],
55
+ },
56
+ },
57
+ ],
58
+ });
59
+ }
60
+ /**
61
+ * Configure a mock getStatus to return a specific status.
62
+ */
63
+ export function mockLiFiStatus(stub, status, overrides) {
64
+ const responses = {
65
+ DONE: {
66
+ status: 'DONE',
67
+ receiving: {
68
+ txHash: overrides?.receivingTxHash ?? '0xReceivingTxHash',
69
+ amount: overrides?.amount ?? '9950000000',
70
+ },
71
+ },
72
+ PENDING: {
73
+ status: 'PENDING',
74
+ substatus: overrides?.substatus ?? 'WAIT_SOURCE_CONFIRMATIONS',
75
+ },
76
+ FAILED: {
77
+ status: 'FAILED',
78
+ substatus: overrides?.substatus ?? 'BRIDGE_CALL_FAILED',
79
+ },
80
+ NOT_FOUND: {
81
+ status: 'NOT_FOUND',
82
+ },
83
+ };
84
+ stub.resolves(responses[status]);
85
+ }
86
+ /**
87
+ * Create a mock BridgeQuote for testing.
88
+ */
89
+ export function createMockBridgeQuote(overrides) {
90
+ return {
91
+ id: 'quote-123',
92
+ tool: 'across',
93
+ fromAmount: 10000000000n,
94
+ toAmount: 9950000000n,
95
+ toAmountMin: 9900000000n,
96
+ executionDuration: 300,
97
+ gasCosts: 50000000n, // Default mock gas costs
98
+ feeCosts: 0n, // Default mock fee costs
99
+ route: {
100
+ action: { fromChainId: 42161, toChainId: 1399811149 },
101
+ },
102
+ ...overrides,
103
+ };
104
+ }
105
+ /**
106
+ * Create a mock BridgeTransferStatus for testing.
107
+ */
108
+ export function createMockBridgeStatus(status, overrides) {
109
+ switch (status) {
110
+ case 'pending':
111
+ return {
112
+ status: 'pending',
113
+ substatus: overrides?.substatus,
114
+ };
115
+ case 'complete':
116
+ return {
117
+ status: 'complete',
118
+ receivingTxHash: overrides?.receivingTxHash ?? '0xReceivingTxHash',
119
+ receivedAmount: overrides?.receivedAmount ?? 9950000000n,
120
+ };
121
+ case 'failed':
122
+ return {
123
+ status: 'failed',
124
+ error: overrides?.error,
125
+ };
126
+ case 'not_found':
127
+ return { status: 'not_found' };
128
+ }
129
+ }
130
+ //# sourceMappingURL=lifiMocks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifiMocks.js","sourceRoot":"","sources":["../../src/test/lifiMocks.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,17 @@
1
1
  import type { Logger } from 'pino';
2
2
  import type { MultiProtocolCore } from '@hyperlane-xyz/sdk';
3
3
  import type { Address, Domain } from '@hyperlane-xyz/utils';
4
+ import type { ExternalBridgeRegistry } from '../interfaces/IExternalBridge.js';
4
5
  import type { ConfirmedBlockTags } from '../interfaces/IMonitor.js';
5
6
  import type { IExplorerClient } from '../utils/ExplorerClient.js';
6
7
  import type { CreateRebalanceActionParams, CreateRebalanceIntentParams, IActionTracker } from './IActionTracker.js';
7
- import type { IRebalanceActionStore, IRebalanceIntentStore, ITransferStore, RebalanceAction, RebalanceIntent, Transfer } from './types.js';
8
+ import type { ActionType, IRebalanceActionStore, IRebalanceIntentStore, ITransferStore, PartialInventoryIntent, RebalanceAction, RebalanceIntent, Transfer } from './types.js';
8
9
  export interface ActionTrackerConfig {
9
10
  routersByDomain: Record<number, string>;
10
11
  bridges: Address[];
11
12
  rebalancerAddress: Address;
13
+ inventorySignerAddress?: Address;
14
+ intentTTL: number;
12
15
  }
13
16
  /**
14
17
  * ActionTracker implementation managing the lifecycle of tracked entities.
@@ -40,7 +43,37 @@ export declare class ActionTracker implements IActionTracker {
40
43
  getInProgressActions(): Promise<RebalanceAction[]>;
41
44
  createRebalanceAction(params: CreateRebalanceActionParams): Promise<RebalanceAction>;
42
45
  completeRebalanceAction(id: string): Promise<void>;
46
+ /**
47
+ * Check if an intent is fully fulfilled based on completed action amounts.
48
+ * Only `inventory_deposit` and `rebalance_message` actions count toward fulfillment.
49
+ */
50
+ private checkAndCompleteIntent;
51
+ /**
52
+ * Get the total completed amount for an intent from its actions.
53
+ * Only `inventory_deposit` and `rebalance_message` actions count.
54
+ */
55
+ private getCompletedAmountForIntent;
43
56
  failRebalanceAction(id: string): Promise<void>;
57
+ getActionsByType(type: ActionType): Promise<RebalanceAction[]>;
58
+ getInflightInventoryMovements(origin: Domain): Promise<bigint>;
59
+ /**
60
+ * Get inventory intents that are in_progress or not_started but not fully settled.
61
+ * Intents with in-flight deposits are included but flagged via hasInflightDeposit.
62
+ * Returns enriched data with computed values derived from action states.
63
+ *
64
+ * NOTE: We include 'not_started' intents because they may have been created
65
+ * but failed to execute (e.g., all bridges failed viability check). Without
66
+ * checking for these, we would create duplicate intents every polling cycle.
67
+ */
68
+ getPartiallyFulfilledInventoryIntents(): Promise<PartialInventoryIntent[]>;
69
+ /**
70
+ * Get all actions associated with a specific intent.
71
+ */
72
+ getActionsForIntent(intentId: string): Promise<RebalanceAction[]>;
73
+ syncInventoryMovementActions(externalBridgeRegistry: Partial<ExternalBridgeRegistry>): Promise<{
74
+ completed: number;
75
+ failed: number;
76
+ }>;
44
77
  /**
45
78
  * Log the contents of all stores.
46
79
  * Logs each item separately for full visibility (avoids [Object] truncation).