@hyperlane-xyz/rebalancer 2.0.0 → 3.0.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 (209) 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 +7 -2
  6. package/dist/config/RebalancerConfig.d.ts.map +1 -1
  7. package/dist/config/RebalancerConfig.js +7 -4
  8. package/dist/config/RebalancerConfig.js.map +1 -1
  9. package/dist/config/RebalancerConfig.test.js +134 -1
  10. package/dist/config/RebalancerConfig.test.js.map +1 -1
  11. package/dist/config/types.d.ts +1016 -304
  12. package/dist/config/types.d.ts.map +1 -1
  13. package/dist/config/types.js +105 -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 +885 -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 +1351 -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 +714 -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 +71 -109
  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/TestHelpers.d.ts.map +1 -1
  51. package/dist/e2e/harness/TestHelpers.js +1 -4
  52. package/dist/e2e/harness/TestHelpers.js.map +1 -1
  53. package/dist/e2e/harness/TestRebalancer.d.ts +1 -1
  54. package/dist/e2e/harness/TestRebalancer.d.ts.map +1 -1
  55. package/dist/e2e/harness/TestRebalancer.js +6 -7
  56. package/dist/e2e/harness/TestRebalancer.js.map +1 -1
  57. package/dist/e2e/minAmount.e2e-test.js +0 -1
  58. package/dist/e2e/minAmount.e2e-test.js.map +1 -1
  59. package/dist/e2e/weighted.e2e-test.js +0 -1
  60. package/dist/e2e/weighted.e2e-test.js.map +1 -1
  61. package/dist/factories/RebalancerContextFactory.d.ts +48 -6
  62. package/dist/factories/RebalancerContextFactory.d.ts.map +1 -1
  63. package/dist/factories/RebalancerContextFactory.js +170 -17
  64. package/dist/factories/RebalancerContextFactory.js.map +1 -1
  65. package/dist/index.d.ts +5 -5
  66. package/dist/index.d.ts.map +1 -1
  67. package/dist/index.js +1 -1
  68. package/dist/index.js.map +1 -1
  69. package/dist/interfaces/IExternalBridge.d.ts +101 -0
  70. package/dist/interfaces/IExternalBridge.d.ts.map +1 -0
  71. package/dist/interfaces/IExternalBridge.js +2 -0
  72. package/dist/interfaces/IExternalBridge.js.map +1 -0
  73. package/dist/interfaces/IMonitor.d.ts +1 -0
  74. package/dist/interfaces/IMonitor.d.ts.map +1 -1
  75. package/dist/interfaces/IRebalancer.d.ts +25 -25
  76. package/dist/interfaces/IRebalancer.d.ts.map +1 -1
  77. package/dist/interfaces/IStrategy.d.ts +36 -3
  78. package/dist/interfaces/IStrategy.d.ts.map +1 -1
  79. package/dist/interfaces/IStrategy.js +12 -1
  80. package/dist/interfaces/IStrategy.js.map +1 -1
  81. package/dist/metrics/PriceGetter.js +1 -1
  82. package/dist/metrics/PriceGetter.js.map +1 -1
  83. package/dist/metrics/scripts/metrics.d.ts +3 -3
  84. package/dist/monitor/Monitor.d.ts +12 -2
  85. package/dist/monitor/Monitor.d.ts.map +1 -1
  86. package/dist/monitor/Monitor.js +46 -1
  87. package/dist/monitor/Monitor.js.map +1 -1
  88. package/dist/service.js +40 -17
  89. package/dist/service.js.map +1 -1
  90. package/dist/strategy/BaseStrategy.d.ts +12 -6
  91. package/dist/strategy/BaseStrategy.d.ts.map +1 -1
  92. package/dist/strategy/BaseStrategy.js +56 -21
  93. package/dist/strategy/BaseStrategy.js.map +1 -1
  94. package/dist/strategy/CollateralDeficitStrategy.d.ts +1 -1
  95. package/dist/strategy/CollateralDeficitStrategy.d.ts.map +1 -1
  96. package/dist/strategy/CollateralDeficitStrategy.js +19 -11
  97. package/dist/strategy/CollateralDeficitStrategy.js.map +1 -1
  98. package/dist/strategy/CollateralDeficitStrategy.test.js +135 -2
  99. package/dist/strategy/CollateralDeficitStrategy.test.js.map +1 -1
  100. package/dist/strategy/CompositeStrategy.test.js +13 -0
  101. package/dist/strategy/CompositeStrategy.test.js.map +1 -1
  102. package/dist/strategy/MinAmountStrategy.test.js +4 -0
  103. package/dist/strategy/MinAmountStrategy.test.js.map +1 -1
  104. package/dist/strategy/StrategyFactory.d.ts +2 -1
  105. package/dist/strategy/StrategyFactory.d.ts.map +1 -1
  106. package/dist/strategy/StrategyFactory.js +24 -8
  107. package/dist/strategy/StrategyFactory.js.map +1 -1
  108. package/dist/strategy/WeightedStrategy.test.js +6 -0
  109. package/dist/strategy/WeightedStrategy.test.js.map +1 -1
  110. package/dist/test/helpers.d.ts +8 -7
  111. package/dist/test/helpers.d.ts.map +1 -1
  112. package/dist/test/helpers.js +23 -5
  113. package/dist/test/helpers.js.map +1 -1
  114. package/dist/test/lifiMocks.d.ts +51 -0
  115. package/dist/test/lifiMocks.d.ts.map +1 -0
  116. package/dist/test/lifiMocks.js +130 -0
  117. package/dist/test/lifiMocks.js.map +1 -0
  118. package/dist/tracking/ActionTracker.d.ts +33 -1
  119. package/dist/tracking/ActionTracker.d.ts.map +1 -1
  120. package/dist/tracking/ActionTracker.js +193 -22
  121. package/dist/tracking/ActionTracker.js.map +1 -1
  122. package/dist/tracking/ActionTracker.test.js +107 -19
  123. package/dist/tracking/ActionTracker.test.js.map +1 -1
  124. package/dist/tracking/IActionTracker.d.ts +47 -3
  125. package/dist/tracking/IActionTracker.d.ts.map +1 -1
  126. package/dist/tracking/InflightContextAdapter.d.ts.map +1 -1
  127. package/dist/tracking/InflightContextAdapter.js +24 -7
  128. package/dist/tracking/InflightContextAdapter.js.map +1 -1
  129. package/dist/tracking/InflightContextAdapter.test.js +7 -4
  130. package/dist/tracking/InflightContextAdapter.test.js.map +1 -1
  131. package/dist/tracking/types.d.ts +31 -2
  132. package/dist/tracking/types.d.ts.map +1 -1
  133. package/dist/utils/ExplorerClient.d.ts +2 -1
  134. package/dist/utils/ExplorerClient.d.ts.map +1 -1
  135. package/dist/utils/ExplorerClient.js +13 -8
  136. package/dist/utils/ExplorerClient.js.map +1 -1
  137. package/dist/utils/bridgeUtils.d.ts +27 -4
  138. package/dist/utils/bridgeUtils.d.ts.map +1 -1
  139. package/dist/utils/bridgeUtils.js +38 -0
  140. package/dist/utils/bridgeUtils.js.map +1 -1
  141. package/dist/utils/bridgeUtils.test.js +9 -0
  142. package/dist/utils/bridgeUtils.test.js.map +1 -1
  143. package/dist/utils/gasEstimation.d.ts +65 -0
  144. package/dist/utils/gasEstimation.d.ts.map +1 -0
  145. package/dist/utils/gasEstimation.js +176 -0
  146. package/dist/utils/gasEstimation.js.map +1 -0
  147. package/dist/utils/tokenUtils.d.ts +9 -1
  148. package/dist/utils/tokenUtils.d.ts.map +1 -1
  149. package/dist/utils/tokenUtils.js +11 -0
  150. package/dist/utils/tokenUtils.js.map +1 -1
  151. package/package.json +9 -7
  152. package/src/bridges/LiFiBridge.ts +538 -0
  153. package/src/config/RebalancerConfig.test.ts +160 -0
  154. package/src/config/RebalancerConfig.ts +14 -3
  155. package/src/config/types.ts +136 -10
  156. package/src/core/InventoryRebalancer.test.ts +1684 -0
  157. package/src/core/InventoryRebalancer.ts +1255 -0
  158. package/src/core/Rebalancer.test.ts +84 -30
  159. package/src/core/Rebalancer.ts +144 -23
  160. package/src/core/RebalancerOrchestrator.test.ts +860 -0
  161. package/src/core/RebalancerOrchestrator.ts +146 -95
  162. package/src/core/RebalancerService.test.ts +80 -123
  163. package/src/core/RebalancerService.ts +67 -33
  164. package/src/e2e/collateral-deficit.e2e-test.ts +2 -4
  165. package/src/e2e/composite.e2e-test.ts +5 -5
  166. package/src/e2e/harness/BridgeSetup.ts +28 -1
  167. package/src/e2e/harness/TestHelpers.ts +1 -4
  168. package/src/e2e/harness/TestRebalancer.ts +7 -7
  169. package/src/e2e/minAmount.e2e-test.ts +1 -2
  170. package/src/e2e/weighted.e2e-test.ts +1 -2
  171. package/src/factories/RebalancerContextFactory.ts +293 -24
  172. package/src/index.ts +20 -5
  173. package/src/interfaces/IExternalBridge.ts +115 -0
  174. package/src/interfaces/IMonitor.ts +1 -0
  175. package/src/interfaces/IRebalancer.ts +45 -29
  176. package/src/interfaces/IStrategy.ts +50 -3
  177. package/src/metrics/PriceGetter.ts +1 -1
  178. package/src/monitor/Monitor.ts +81 -2
  179. package/src/service.ts +59 -18
  180. package/src/strategy/BaseStrategy.ts +77 -24
  181. package/src/strategy/CollateralDeficitStrategy.test.ts +181 -4
  182. package/src/strategy/CollateralDeficitStrategy.ts +42 -15
  183. package/src/strategy/CompositeStrategy.test.ts +13 -0
  184. package/src/strategy/MinAmountStrategy.test.ts +4 -0
  185. package/src/strategy/StrategyFactory.ts +33 -6
  186. package/src/strategy/WeightedStrategy.test.ts +6 -0
  187. package/src/test/helpers.ts +39 -14
  188. package/src/test/lifiMocks.ts +174 -0
  189. package/src/tracking/ActionTracker.test.ts +122 -19
  190. package/src/tracking/ActionTracker.ts +284 -24
  191. package/src/tracking/IActionTracker.ts +58 -3
  192. package/src/tracking/InflightContextAdapter.test.ts +7 -4
  193. package/src/tracking/InflightContextAdapter.ts +42 -9
  194. package/src/tracking/types.ts +43 -2
  195. package/src/utils/ExplorerClient.ts +23 -10
  196. package/src/utils/bridgeUtils.test.ts +9 -0
  197. package/src/utils/bridgeUtils.ts +75 -6
  198. package/src/utils/gasEstimation.ts +272 -0
  199. package/src/utils/tokenUtils.ts +12 -0
  200. package/dist/tracking/index.d.ts +0 -7
  201. package/dist/tracking/index.d.ts.map +0 -1
  202. package/dist/tracking/index.js +0 -6
  203. package/dist/tracking/index.js.map +0 -1
  204. package/dist/utils/index.d.ts +0 -5
  205. package/dist/utils/index.d.ts.map +0 -1
  206. package/dist/utils/index.js +0 -5
  207. package/dist/utils/index.js.map +0 -1
  208. package/src/tracking/index.ts +0 -36
  209. package/src/utils/index.ts +0 -4
@@ -105,6 +105,7 @@ describe('ActionTracker', () => {
105
105
  // Pre-create action
106
106
  await rebalanceActionStore.save({
107
107
  id: '0xmsg1',
108
+ type: 'rebalance_message',
108
109
  status: 'in_progress',
109
110
  intentId: 'existing-intent',
110
111
  messageId: '0xmsg1',
@@ -206,33 +207,59 @@ describe('ActionTracker', () => {
206
207
  });
207
208
  describe('syncRebalanceIntents', () => {
208
209
  it('should mark intents as complete when fully fulfilled', async () => {
210
+ // Intent derives completion from action states, so we need a complete action
209
211
  const intent = {
210
212
  id: 'intent-1',
211
213
  status: 'in_progress',
212
214
  origin: 1,
213
215
  destination: 2,
214
216
  amount: 100n,
215
- fulfilledAmount: 100n,
217
+ createdAt: Date.now(),
218
+ updatedAt: Date.now(),
219
+ };
220
+ const action = {
221
+ id: 'action-1',
222
+ type: 'rebalance_message',
223
+ status: 'complete',
224
+ intentId: 'intent-1',
225
+ messageId: '0xmsg1',
226
+ origin: 1,
227
+ destination: 2,
228
+ amount: 100n,
216
229
  createdAt: Date.now(),
217
230
  updatedAt: Date.now(),
218
231
  };
219
232
  await rebalanceIntentStore.save(intent);
233
+ await rebalanceActionStore.save(action);
220
234
  await tracker.syncRebalanceIntents();
221
235
  const updated = await rebalanceIntentStore.get('intent-1');
222
236
  expect(updated?.status).to.equal('complete');
223
237
  });
224
238
  it('should not mark intents as complete if not fully fulfilled', async () => {
239
+ // Intent with only partial completion via actions
225
240
  const intent = {
226
241
  id: 'intent-1',
227
242
  status: 'in_progress',
228
243
  origin: 1,
229
244
  destination: 2,
230
245
  amount: 100n,
231
- fulfilledAmount: 50n,
246
+ createdAt: Date.now(),
247
+ updatedAt: Date.now(),
248
+ };
249
+ const action = {
250
+ id: 'action-1',
251
+ type: 'rebalance_message',
252
+ status: 'complete',
253
+ intentId: 'intent-1',
254
+ messageId: '0xmsg1',
255
+ origin: 1,
256
+ destination: 2,
257
+ amount: 50n, // Only partial
232
258
  createdAt: Date.now(),
233
259
  updatedAt: Date.now(),
234
260
  };
235
261
  await rebalanceIntentStore.save(intent);
262
+ await rebalanceActionStore.save(action);
236
263
  await tracker.syncRebalanceIntents();
237
264
  const updated = await rebalanceIntentStore.get('intent-1');
238
265
  expect(updated?.status).to.equal('in_progress');
@@ -246,12 +273,12 @@ describe('ActionTracker', () => {
246
273
  origin: 1,
247
274
  destination: 2,
248
275
  amount: 100n,
249
- fulfilledAmount: 0n,
250
276
  createdAt: Date.now(),
251
277
  updatedAt: Date.now(),
252
278
  };
253
279
  const action = {
254
280
  id: 'action-1',
281
+ type: 'rebalance_message',
255
282
  status: 'in_progress',
256
283
  intentId: 'intent-1',
257
284
  messageId: '0xmsg1',
@@ -268,14 +295,14 @@ describe('ActionTracker', () => {
268
295
  // Action should be complete
269
296
  const updatedAction = await rebalanceActionStore.get('action-1');
270
297
  expect(updatedAction?.status).to.equal('complete');
271
- // Intent should be updated and complete
298
+ // Intent should be complete (derived from completed action amounts)
272
299
  const updatedIntent = await rebalanceIntentStore.get('intent-1');
273
- expect(updatedIntent?.fulfilledAmount).to.equal(100n);
274
300
  expect(updatedIntent?.status).to.equal('complete');
275
301
  });
276
302
  it('should not mark actions as complete if not delivered', async () => {
277
303
  const action = {
278
304
  id: 'action-1',
305
+ type: 'rebalance_message',
279
306
  status: 'in_progress',
280
307
  intentId: 'intent-1',
281
308
  messageId: '0xmsg1',
@@ -331,7 +358,6 @@ describe('ActionTracker', () => {
331
358
  origin: 1,
332
359
  destination: 2,
333
360
  amount: 100n,
334
- fulfilledAmount: 0n,
335
361
  createdAt: Date.now(),
336
362
  updatedAt: Date.now(),
337
363
  });
@@ -341,7 +367,6 @@ describe('ActionTracker', () => {
341
367
  origin: 2,
342
368
  destination: 3,
343
369
  amount: 200n,
344
- fulfilledAmount: 50n,
345
370
  createdAt: Date.now(),
346
371
  updatedAt: Date.now(),
347
372
  });
@@ -351,7 +376,6 @@ describe('ActionTracker', () => {
351
376
  origin: 3,
352
377
  destination: 1,
353
378
  amount: 300n,
354
- fulfilledAmount: 300n,
355
379
  createdAt: Date.now(),
356
380
  updatedAt: Date.now(),
357
381
  });
@@ -362,6 +386,72 @@ describe('ActionTracker', () => {
362
386
  expect(result[0].id).to.equal('intent-2');
363
387
  });
364
388
  });
389
+ describe('getPartiallyFulfilledInventoryIntents', () => {
390
+ it('returns not_started inventory intents', async () => {
391
+ // Create a not_started inventory intent (simulates failed execution before any action created)
392
+ await rebalanceIntentStore.save({
393
+ id: 'stuck-intent',
394
+ status: 'not_started',
395
+ origin: 1,
396
+ destination: 2,
397
+ amount: 1000000000000000000n, // 1 ETH
398
+ executionMethod: 'inventory',
399
+ createdAt: Date.now(),
400
+ updatedAt: Date.now(),
401
+ });
402
+ // Should be returned even though status is 'not_started'
403
+ const partialIntents = await tracker.getPartiallyFulfilledInventoryIntents();
404
+ expect(partialIntents).to.have.lengthOf(1);
405
+ expect(partialIntents[0].intent.id).to.equal('stuck-intent');
406
+ expect(partialIntents[0].completedAmount).to.equal(0n);
407
+ expect(partialIntents[0].remaining).to.equal(1000000000000000000n);
408
+ });
409
+ it('returns in_progress inventory intents with partial completion', async () => {
410
+ // Create an in_progress inventory intent with a completed action
411
+ await rebalanceIntentStore.save({
412
+ id: 'partial-intent',
413
+ status: 'in_progress',
414
+ origin: 1,
415
+ destination: 2,
416
+ amount: 1000000000000000000n, // 1 ETH
417
+ executionMethod: 'inventory',
418
+ createdAt: Date.now(),
419
+ updatedAt: Date.now(),
420
+ });
421
+ // Create a completed inventory_deposit action for partial amount
422
+ await rebalanceActionStore.save({
423
+ id: 'action-1',
424
+ type: 'inventory_deposit',
425
+ status: 'complete',
426
+ intentId: 'partial-intent',
427
+ origin: 1,
428
+ destination: 2,
429
+ amount: 400000000000000000n, // 0.4 ETH completed
430
+ createdAt: Date.now(),
431
+ updatedAt: Date.now(),
432
+ });
433
+ const partialIntents = await tracker.getPartiallyFulfilledInventoryIntents();
434
+ expect(partialIntents).to.have.lengthOf(1);
435
+ expect(partialIntents[0].intent.id).to.equal('partial-intent');
436
+ expect(partialIntents[0].completedAmount).to.equal(400000000000000000n);
437
+ expect(partialIntents[0].remaining).to.equal(600000000000000000n); // 0.6 ETH remaining
438
+ });
439
+ it('does not return non-inventory intents', async () => {
440
+ // Create a not_started intent without executionMethod: 'inventory'
441
+ await rebalanceIntentStore.save({
442
+ id: 'non-inventory-intent',
443
+ status: 'not_started',
444
+ origin: 1,
445
+ destination: 2,
446
+ amount: 1000000000000000000n,
447
+ // executionMethod is undefined - not an inventory intent
448
+ createdAt: Date.now(),
449
+ updatedAt: Date.now(),
450
+ });
451
+ const partialIntents = await tracker.getPartiallyFulfilledInventoryIntents();
452
+ expect(partialIntents).to.have.lengthOf(0);
453
+ });
454
+ });
365
455
  describe('createRebalanceIntent', () => {
366
456
  it('should create a new intent with status not_started', async () => {
367
457
  const result = await tracker.createRebalanceIntent({
@@ -375,7 +465,6 @@ describe('ActionTracker', () => {
375
465
  expect(result.origin).to.equal(1);
376
466
  expect(result.destination).to.equal(2);
377
467
  expect(result.amount).to.equal(100n);
378
- expect(result.fulfilledAmount).to.equal(0n);
379
468
  expect(result.priority).to.equal(1);
380
469
  expect(result.strategyType).to.equal('MinAmountStrategy');
381
470
  const stored = await rebalanceIntentStore.get(result.id);
@@ -390,12 +479,12 @@ describe('ActionTracker', () => {
390
479
  origin: 1,
391
480
  destination: 2,
392
481
  amount: 100n,
393
- fulfilledAmount: 0n,
394
482
  createdAt: Date.now(),
395
483
  updatedAt: Date.now(),
396
484
  };
397
485
  await rebalanceIntentStore.save(intent);
398
486
  const result = await tracker.createRebalanceAction({
487
+ type: 'rebalance_message',
399
488
  intentId: 'intent-1',
400
489
  origin: 1,
401
490
  destination: 2,
@@ -416,12 +505,12 @@ describe('ActionTracker', () => {
416
505
  origin: 1,
417
506
  destination: 2,
418
507
  amount: 100n,
419
- fulfilledAmount: 50n,
420
508
  createdAt: Date.now(),
421
509
  updatedAt: Date.now(),
422
510
  };
423
511
  await rebalanceIntentStore.save(intent);
424
512
  await tracker.createRebalanceAction({
513
+ type: 'rebalance_message',
425
514
  intentId: 'intent-1',
426
515
  origin: 1,
427
516
  destination: 2,
@@ -431,23 +520,22 @@ describe('ActionTracker', () => {
431
520
  });
432
521
  const updatedIntent = await rebalanceIntentStore.get('intent-1');
433
522
  expect(updatedIntent?.status).to.equal('in_progress');
434
- expect(updatedIntent?.fulfilledAmount).to.equal(50n); // Should not change
435
523
  });
436
524
  });
437
525
  describe('completeRebalanceAction', () => {
438
- it('should mark action as complete and update parent intent fulfilledAmount', async () => {
526
+ it('should mark action as complete and mark parent intent complete if fully fulfilled', async () => {
439
527
  const intent = {
440
528
  id: 'intent-1',
441
529
  status: 'in_progress',
442
530
  origin: 1,
443
531
  destination: 2,
444
532
  amount: 100n,
445
- fulfilledAmount: 0n,
446
533
  createdAt: Date.now(),
447
534
  updatedAt: Date.now(),
448
535
  };
449
536
  const action = {
450
537
  id: 'action-1',
538
+ type: 'rebalance_message',
451
539
  status: 'in_progress',
452
540
  intentId: 'intent-1',
453
541
  messageId: '0xmsg1',
@@ -462,8 +550,8 @@ describe('ActionTracker', () => {
462
550
  await tracker.completeRebalanceAction('action-1');
463
551
  const updatedAction = await rebalanceActionStore.get('action-1');
464
552
  expect(updatedAction?.status).to.equal('complete');
553
+ // Intent should be complete (derived from completed action amounts)
465
554
  const updatedIntent = await rebalanceIntentStore.get('intent-1');
466
- expect(updatedIntent?.fulfilledAmount).to.equal(100n);
467
555
  expect(updatedIntent?.status).to.equal('complete');
468
556
  });
469
557
  it('should throw error when action not found', async () => {
@@ -478,7 +566,6 @@ describe('ActionTracker', () => {
478
566
  origin: 1,
479
567
  destination: 2,
480
568
  amount: 100n,
481
- fulfilledAmount: 0n,
482
569
  createdAt: Date.now(),
483
570
  updatedAt: Date.now(),
484
571
  };
@@ -492,6 +579,7 @@ describe('ActionTracker', () => {
492
579
  it('should mark action as failed', async () => {
493
580
  const action = {
494
581
  id: 'action-1',
582
+ type: 'rebalance_message',
495
583
  status: 'in_progress',
496
584
  intentId: 'intent-1',
497
585
  messageId: '0xmsg1',
@@ -527,7 +615,7 @@ describe('ActionTracker', () => {
527
615
  expect(call).to.not.be.null;
528
616
  const params = call.args[0];
529
617
  expect(params.routersByDomain).to.deep.equal(config.routersByDomain);
530
- expect(params.excludeTxSender).to.equal(config.rebalancerAddress);
618
+ expect(params.excludeTxSenders).to.deep.equal([config.rebalancerAddress]);
531
619
  });
532
620
  });
533
621
  describe('delivery check synchronization', () => {
@@ -560,12 +648,12 @@ describe('ActionTracker', () => {
560
648
  origin: 1,
561
649
  destination: 2,
562
650
  amount: 100n,
563
- fulfilledAmount: 0n,
564
651
  createdAt: Date.now(),
565
652
  updatedAt: Date.now(),
566
653
  };
567
654
  const action = {
568
655
  id: 'action-1',
656
+ type: 'rebalance_message',
569
657
  status: 'in_progress',
570
658
  intentId: 'intent-1',
571
659
  messageId: '0xmsg1',
@@ -655,13 +743,13 @@ describe('ActionTracker', () => {
655
743
  origin: 1,
656
744
  destination: 2,
657
745
  amount: 100n,
658
- fulfilledAmount: 0n,
659
746
  createdAt: Date.now(),
660
747
  updatedAt: Date.now(),
661
748
  };
662
749
  const action = {
663
750
  id: 'action-1',
664
751
  status: 'in_progress',
752
+ type: 'rebalance_message',
665
753
  intentId: 'intent-1',
666
754
  messageId: '0xmsg1',
667
755
  origin: 1,
@@ -1 +1 @@
1
- {"version":3,"file":"ActionTracker.test.js","sourceRoot":"","sources":["../../src/tracking/ActionTracker.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ActionTracker.test.js","sourceRoot":"","sources":["../../src/tracking/ActionTracker.test.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import type { Address, Domain } from '@hyperlane-xyz/utils';
2
+ import type { ExternalBridgeType } from '../config/types.js';
3
+ import type { ExternalBridgeRegistry } from '../interfaces/IExternalBridge.js';
2
4
  import type { ConfirmedBlockTags } from '../interfaces/IMonitor.js';
3
- import type { RebalanceAction, RebalanceIntent, Transfer } from './types.js';
5
+ import type { ActionType, ExecutionMethod, PartialInventoryIntent, RebalanceAction, RebalanceIntent, Transfer } from './types.js';
4
6
  export interface CreateRebalanceIntentParams {
5
7
  origin: Domain;
6
8
  destination: Domain;
@@ -8,14 +10,19 @@ export interface CreateRebalanceIntentParams {
8
10
  bridge?: Address;
9
11
  priority?: number;
10
12
  strategyType?: string;
13
+ executionMethod?: ExecutionMethod;
14
+ externalBridge?: ExternalBridgeType;
11
15
  }
12
16
  export interface CreateRebalanceActionParams {
13
17
  intentId: string;
14
18
  origin: Domain;
15
19
  destination: Domain;
16
20
  amount: bigint;
17
- messageId: string;
21
+ type: ActionType;
22
+ messageId?: string;
18
23
  txHash?: string;
24
+ externalBridgeTransferId?: string;
25
+ externalBridgeId?: ExternalBridgeType;
19
26
  }
20
27
  /**
21
28
  * ActionTracker manages the lifecycle of tracked entities:
@@ -43,6 +50,18 @@ export interface IActionTracker {
43
50
  * @param confirmedBlockTags Optional block tags from Monitor for consistent state queries
44
51
  */
45
52
  syncRebalanceActions(confirmedBlockTags?: ConfirmedBlockTags): Promise<void>;
53
+ /**
54
+ * Sync inventory_movement actions by checking their status via external bridge API.
55
+ * This is separate from syncRebalanceActions because inventory_movement actions
56
+ * don't use Hyperlane messages and need to query the bridge's status API.
57
+ *
58
+ * @param externalBridgeRegistry - Bridge registry to query for status
59
+ * @returns Count of completed and failed actions
60
+ */
61
+ syncInventoryMovementActions(externalBridgeRegistry: Partial<ExternalBridgeRegistry>): Promise<{
62
+ completed: number;
63
+ failed: number;
64
+ }>;
46
65
  /**
47
66
  * Get a single transfer by ID.
48
67
  */
@@ -67,6 +86,12 @@ export interface IActionTracker {
67
86
  * Get all rebalance intents destined for a specific domain.
68
87
  */
69
88
  getRebalanceIntentsByDestination(destination: Domain): Promise<RebalanceIntent[]>;
89
+ /**
90
+ * Get inventory intents that are in_progress but not fully fulfilled,
91
+ * and have no in-flight actions (safe to continue).
92
+ * Returns enriched data with computed values derived from action states.
93
+ */
94
+ getPartiallyFulfilledInventoryIntents(): Promise<PartialInventoryIntent[]>;
70
95
  /**
71
96
  * Create a new rebalance intent.
72
97
  * Initial status: 'not_started'
@@ -86,6 +111,25 @@ export interface IActionTracker {
86
111
  * Used when tx execution was attempted but failed.
87
112
  */
88
113
  failRebalanceIntent(id: string): Promise<void>;
114
+ /**
115
+ * Get actions filtered by type.
116
+ * @param type - Action type to filter by
117
+ */
118
+ getActionsByType(type: ActionType): Promise<RebalanceAction[]>;
119
+ /**
120
+ * Get all actions associated with a specific intent.
121
+ * @param intentId - ID of the intent
122
+ */
123
+ getActionsForIntent(intentId: string): Promise<RebalanceAction[]>;
124
+ /**
125
+ * Get total inflight inventory movement amount from a specific chain.
126
+ * Returns the sum of amounts for all in_progress inventory_movement actions
127
+ * that originate from the specified domain.
128
+ *
129
+ * @param origin - Domain ID of the origin chain
130
+ * @returns Total amount being moved out via inventory movements
131
+ */
132
+ getInflightInventoryMovements(origin: Domain): Promise<bigint>;
89
133
  /**
90
134
  * Get a single rebalance action by ID.
91
135
  */
@@ -97,7 +141,7 @@ export interface IActionTracker {
97
141
  createRebalanceAction(params: CreateRebalanceActionParams): Promise<RebalanceAction>;
98
142
  /**
99
143
  * Mark a rebalance action as complete.
100
- * Updates parent intent's fulfilledAmount.
144
+ * Checks if parent intent is now fully fulfilled and marks it complete if so.
101
145
  */
102
146
  completeRebalanceAction(id: string): Promise<void>;
103
147
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"IActionTracker.d.ts","sourceRoot":"","sources":["../../src/tracking/IActionTracker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IActionTracker.d.ts","sourceRoot":"","sources":["../../src/tracking/IActionTracker.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"InflightContextAdapter.d.ts","sourceRoot":"","sources":["../../src/tracking/InflightContextAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAElE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D;;;GAGG;AACH,qBAAa,sBAAsB;IAE/B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,aAAa;gBADb,aAAa,EAAE,cAAc,EAC7B,aAAa,EAAE,aAAa;IAG/C;;;OAGG;IACG,kBAAkB,IAAI,OAAO,CAAC,eAAe,CAAC;CAqBrD"}
1
+ {"version":3,"file":"InflightContextAdapter.d.ts","sourceRoot":"","sources":["../../src/tracking/InflightContextAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,KAAK,EACV,eAAe,EAEhB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D;;;GAGG;AACH,qBAAa,sBAAsB;IAE/B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,aAAa;gBADb,aAAa,EAAE,cAAc,EAC7B,aAAa,EAAE,aAAa;IAG/C;;;OAGG;IACG,kBAAkB,IAAI,OAAO,CAAC,eAAe,CAAC;CAmDrD"}
@@ -16,13 +16,30 @@ export class InflightContextAdapter {
16
16
  async getInflightContext() {
17
17
  const intents = await this.actionTracker.getActiveRebalanceIntents();
18
18
  const transfers = await this.actionTracker.getInProgressTransfers();
19
- const pendingRebalances = intents.map((intent) => ({
20
- origin: this.multiProvider.getChainName(intent.origin),
21
- destination: this.multiProvider.getChainName(intent.destination),
22
- // TODO: Review once inventory rebalancing is implemented and we expect
23
- // partially fulfilled intents. May need to use (amount - fulfilledAmount).
24
- amount: intent.amount,
25
- bridge: intent.bridge,
19
+ const pendingRebalances = await Promise.all(intents.map(async (intent) => {
20
+ let deliveredAmount = 0n;
21
+ let awaitingDeliveryAmount = 0n;
22
+ // For inventory intents, compute delivered and awaiting amounts from actions
23
+ if (intent.executionMethod === 'inventory') {
24
+ const actions = await this.actionTracker.getActionsForIntent(intent.id);
25
+ // Sum of complete inventory_deposit actions (message delivered)
26
+ deliveredAmount = actions
27
+ .filter((a) => a.type === 'inventory_deposit' && a.status === 'complete')
28
+ .reduce((sum, a) => sum + a.amount, 0n);
29
+ // Sum of in_progress inventory_deposit actions (tx confirmed, message pending)
30
+ awaitingDeliveryAmount = actions
31
+ .filter((a) => a.type === 'inventory_deposit' && a.status === 'in_progress')
32
+ .reduce((sum, a) => sum + a.amount, 0n);
33
+ }
34
+ return {
35
+ origin: this.multiProvider.getChainName(intent.origin),
36
+ destination: this.multiProvider.getChainName(intent.destination),
37
+ amount: intent.amount,
38
+ deliveredAmount,
39
+ awaitingDeliveryAmount,
40
+ executionMethod: intent.executionMethod,
41
+ bridge: intent.bridge,
42
+ };
26
43
  }));
27
44
  const pendingTransfers = transfers.map((transfer) => ({
28
45
  origin: this.multiProvider.getChainName(transfer.origin),
@@ -1 +1 @@
1
- {"version":3,"file":"InflightContextAdapter.js","sourceRoot":"","sources":["../../src/tracking/InflightContextAdapter.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,MAAM,OAAO,sBAAsB;IAEd;IACA;IAFnB,YACmB,aAA6B,EAC7B,aAA4B;QAD5B,kBAAa,GAAb,aAAa,CAAgB;QAC7B,kBAAa,GAAb,aAAa,CAAe;IAC5C,CAAC;IAEJ;;;OAGG;IACH,KAAK,CAAC,kBAAkB;QACtB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,yBAAyB,EAAE,CAAC;QACrE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,sBAAsB,EAAE,CAAC;QAEpE,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACjD,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC;YACtD,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC;YAChE,uEAAuE;YACvE,2EAA2E;YAC3E,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAC,CAAC;QAEJ,MAAM,gBAAgB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACpD,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC;YACxD,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC;YAClE,MAAM,EAAE,QAAQ,CAAC,MAAM;SACxB,CAAC,CAAC,CAAC;QAEJ,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;IACjD,CAAC;CACF"}
1
+ {"version":3,"file":"InflightContextAdapter.js","sourceRoot":"","sources":["../../src/tracking/InflightContextAdapter.ts"],"names":[],"mappings":"AASA;;;GAGG;AACH,MAAM,OAAO,sBAAsB;IAEd;IACA;IAFnB,YACmB,aAA6B,EAC7B,aAA4B;QAD5B,kBAAa,GAAb,aAAa,CAAgB;QAC7B,kBAAa,GAAb,aAAa,CAAe;IAC5C,CAAC;IAEJ;;;OAGG;IACH,KAAK,CAAC,kBAAkB;QACtB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,yBAAyB,EAAE,CAAC;QACrE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,sBAAsB,EAAE,CAAC;QAEpE,MAAM,iBAAiB,GAAuB,MAAM,OAAO,CAAC,GAAG,CAC7D,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YAC3B,IAAI,eAAe,GAAG,EAAE,CAAC;YACzB,IAAI,sBAAsB,GAAG,EAAE,CAAC;YAEhC,6EAA6E;YAC7E,IAAI,MAAM,CAAC,eAAe,KAAK,WAAW,EAAE,CAAC;gBAC3C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAC1D,MAAM,CAAC,EAAE,CACV,CAAC;gBAEF,gEAAgE;gBAChE,eAAe,GAAG,OAAO;qBACtB,MAAM,CACL,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,mBAAmB,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU,CACjE;qBACA,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBAE1C,+EAA+E;gBAC/E,sBAAsB,GAAG,OAAO;qBAC7B,MAAM,CACL,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,IAAI,KAAK,mBAAmB,IAAI,CAAC,CAAC,MAAM,KAAK,aAAa,CAC/D;qBACA,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC5C,CAAC;YAED,OAAO;gBACL,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC;gBACtD,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC;gBAChE,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,eAAe;gBACf,sBAAsB;gBACtB,eAAe,EAAE,MAAM,CAAC,eAAe;gBACvC,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;QAEF,MAAM,gBAAgB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACpD,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC;YACxD,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC;YAClE,MAAM,EAAE,QAAQ,CAAC,MAAM;SACxB,CAAC,CAAC,CAAC;QAEJ,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;IACjD,CAAC;CACF"}