@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
@@ -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,13 @@ 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
+ * Returns inventory intents that have remaining work.
91
+ * Intents with in-flight deposits are included but marked via hasInflightDeposit —
92
+ * callers must check before continuing.
93
+ * Returns enriched data with computed values derived from action states.
94
+ */
95
+ getPartiallyFulfilledInventoryIntents(): Promise<PartialInventoryIntent[]>;
70
96
  /**
71
97
  * Create a new rebalance intent.
72
98
  * Initial status: 'not_started'
@@ -86,6 +112,25 @@ export interface IActionTracker {
86
112
  * Used when tx execution was attempted but failed.
87
113
  */
88
114
  failRebalanceIntent(id: string): Promise<void>;
115
+ /**
116
+ * Get actions filtered by type.
117
+ * @param type - Action type to filter by
118
+ */
119
+ getActionsByType(type: ActionType): Promise<RebalanceAction[]>;
120
+ /**
121
+ * Get all actions associated with a specific intent.
122
+ * @param intentId - ID of the intent
123
+ */
124
+ getActionsForIntent(intentId: string): Promise<RebalanceAction[]>;
125
+ /**
126
+ * Get total inflight inventory movement amount from a specific chain.
127
+ * Returns the sum of amounts for all in_progress inventory_movement actions
128
+ * that originate from the specified domain.
129
+ *
130
+ * @param origin - Domain ID of the origin chain
131
+ * @returns Total amount being moved out via inventory movements
132
+ */
133
+ getInflightInventoryMovements(origin: Domain): Promise<bigint>;
89
134
  /**
90
135
  * Get a single rebalance action by ID.
91
136
  */
@@ -97,7 +142,7 @@ export interface IActionTracker {
97
142
  createRebalanceAction(params: CreateRebalanceActionParams): Promise<RebalanceAction>;
98
143
  /**
99
144
  * Mark a rebalance action as complete.
100
- * Updates parent intent's fulfilledAmount.
145
+ * Checks if parent intent is now fully fulfilled and marks it complete if so.
101
146
  */
102
147
  completeRebalanceAction(id: string): Promise<void>;
103
148
  /**
@@ -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"}
@@ -9,6 +9,7 @@ describe('InflightContextAdapter', () => {
9
9
  actionTracker = {
10
10
  getActiveRebalanceIntents: Sinon.stub(),
11
11
  getInProgressTransfers: Sinon.stub(),
12
+ getActionsForIntent: Sinon.stub(),
12
13
  };
13
14
  multiProvider = {
14
15
  getChainName: Sinon.stub(),
@@ -26,7 +27,6 @@ describe('InflightContextAdapter', () => {
26
27
  origin: 1,
27
28
  destination: 2,
28
29
  amount: 1000n,
29
- fulfilledAmount: 0n,
30
30
  status: 'not_started',
31
31
  createdAt: Date.now(),
32
32
  updatedAt: Date.now(),
@@ -48,6 +48,7 @@ describe('InflightContextAdapter', () => {
48
48
  ];
49
49
  actionTracker.getActiveRebalanceIntents.resolves(mockIntents);
50
50
  actionTracker.getInProgressTransfers.resolves(mockTransfers);
51
+ actionTracker.getActionsForIntent.resolves([]); // No actions
51
52
  multiProvider.getChainName.withArgs(1).returns('ethereum');
52
53
  multiProvider.getChainName.withArgs(2).returns('arbitrum');
53
54
  const result = await adapter.getInflightContext();
@@ -56,6 +57,9 @@ describe('InflightContextAdapter', () => {
56
57
  origin: 'ethereum',
57
58
  destination: 'arbitrum',
58
59
  amount: 1000n,
60
+ deliveredAmount: 0n,
61
+ awaitingDeliveryAmount: 0n,
62
+ executionMethod: undefined,
59
63
  bridge: undefined,
60
64
  });
61
65
  expect(result.pendingTransfers).to.have.lengthOf(1);
@@ -79,7 +83,6 @@ describe('InflightContextAdapter', () => {
79
83
  origin: 137,
80
84
  destination: 10,
81
85
  amount: 2000n,
82
- fulfilledAmount: 0n,
83
86
  status: 'not_started',
84
87
  createdAt: Date.now(),
85
88
  updatedAt: Date.now(),
@@ -101,6 +104,7 @@ describe('InflightContextAdapter', () => {
101
104
  ];
102
105
  actionTracker.getActiveRebalanceIntents.resolves(mockIntents);
103
106
  actionTracker.getInProgressTransfers.resolves(mockTransfers);
107
+ actionTracker.getActionsForIntent.resolves([]);
104
108
  multiProvider.getChainName.withArgs(137).returns('polygon');
105
109
  multiProvider.getChainName.withArgs(10).returns('optimism');
106
110
  const result = await adapter.getInflightContext();
@@ -116,7 +120,6 @@ describe('InflightContextAdapter', () => {
116
120
  origin: 1,
117
121
  destination: 2,
118
122
  amount: 1000n,
119
- fulfilledAmount: 0n,
120
123
  status: 'not_started',
121
124
  createdAt: Date.now(),
122
125
  updatedAt: Date.now(),
@@ -126,7 +129,6 @@ describe('InflightContextAdapter', () => {
126
129
  origin: 2,
127
130
  destination: 3,
128
131
  amount: 1500n,
129
- fulfilledAmount: 0n,
130
132
  status: 'in_progress',
131
133
  createdAt: Date.now(),
132
134
  updatedAt: Date.now(),
@@ -160,6 +162,7 @@ describe('InflightContextAdapter', () => {
160
162
  ];
161
163
  actionTracker.getActiveRebalanceIntents.resolves(mockIntents);
162
164
  actionTracker.getInProgressTransfers.resolves(mockTransfers);
165
+ actionTracker.getActionsForIntent.resolves([]);
163
166
  multiProvider.getChainName.withArgs(1).returns('ethereum');
164
167
  multiProvider.getChainName.withArgs(2).returns('arbitrum');
165
168
  multiProvider.getChainName.withArgs(3).returns('optimism');
@@ -1 +1 @@
1
- {"version":3,"file":"InflightContextAdapter.test.js","sourceRoot":"","sources":["../../src/tracking/InflightContextAdapter.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAGrE,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,IAAI,aAAyD,CAAC;IAC9D,IAAI,aAAwD,CAAC;IAC7D,IAAI,OAA+B,CAAC;IAEpC,UAAU,CAAC,GAAG,EAAE;QACd,aAAa,GAAG;YACd,yBAAyB,EAAE,KAAK,CAAC,IAAI,EAAE;YACvC,sBAAsB,EAAE,KAAK,CAAC,IAAI,EAAE;SAC9B,CAAC;QAET,aAAa,GAAG;YACd,YAAY,EAAE,KAAK,CAAC,IAAI,EAAE;SACpB,CAAC;QAET,OAAO,GAAG,IAAI,sBAAsB,CAClC,aAAoB,EACpB,aAAoB,CACrB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,KAAK,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;YACzE,MAAM,WAAW,GAAsB;gBACrC;oBACE,EAAE,EAAE,SAAS;oBACb,MAAM,EAAE,CAAC;oBACT,WAAW,EAAE,CAAC;oBACd,MAAM,EAAE,KAAK;oBACb,eAAe,EAAE,EAAE;oBACnB,MAAM,EAAE,aAAa;oBACrB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;oBACrB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;iBACtB;aACF,CAAC;YAEF,MAAM,aAAa,GAAe;gBAChC;oBACE,EAAE,EAAE,WAAW;oBACf,MAAM,EAAE,CAAC;oBACT,WAAW,EAAE,CAAC;oBACd,MAAM,EAAE,IAAI;oBACZ,SAAS,EAAE,OAAO;oBAClB,MAAM,EAAE,OAAc;oBACtB,SAAS,EAAE,OAAc;oBACzB,MAAM,EAAE,aAAa;oBACrB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;oBACrB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;iBACtB;aACF,CAAC;YAEF,aAAa,CAAC,yBAAyB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC9D,aAAa,CAAC,sBAAsB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YAC7D,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC3D,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAE3D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,kBAAkB,EAAE,CAAC;YAElD,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACrD,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;gBAChD,MAAM,EAAE,UAAU;gBAClB,WAAW,EAAE,UAAU;gBACvB,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,SAAS;aAClB,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACpD,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC/C,MAAM,EAAE,UAAU;gBAClB,WAAW,EAAE,UAAU;gBACvB,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;YAC1C,aAAa,CAAC,yBAAyB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACrD,aAAa,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAElD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,kBAAkB,EAAE,CAAC;YAElD,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACjE,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;QAClE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;YAClE,MAAM,WAAW,GAAsB;gBACrC;oBACE,EAAE,EAAE,SAAS;oBACb,MAAM,EAAE,GAAG;oBACX,WAAW,EAAE,EAAE;oBACf,MAAM,EAAE,KAAK;oBACb,eAAe,EAAE,EAAE;oBACnB,MAAM,EAAE,aAAa;oBACrB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;oBACrB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;iBACtB;aACF,CAAC;YAEF,MAAM,aAAa,GAAe;gBAChC;oBACE,EAAE,EAAE,WAAW;oBACf,MAAM,EAAE,GAAG;oBACX,WAAW,EAAE,EAAE;oBACf,MAAM,EAAE,IAAI;oBACZ,SAAS,EAAE,OAAO;oBAClB,MAAM,EAAE,OAAc;oBACtB,SAAS,EAAE,OAAc;oBACzB,MAAM,EAAE,aAAa;oBACrB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;oBACrB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;iBACtB;aACF,CAAC;YAEF,aAAa,CAAC,yBAAyB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC9D,aAAa,CAAC,sBAAsB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YAC7D,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC5D,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAE5D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,kBAAkB,EAAE,CAAC;YAElD,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC/D,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACrE,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC9D,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;YAC5D,MAAM,WAAW,GAAsB;gBACrC;oBACE,EAAE,EAAE,SAAS;oBACb,MAAM,EAAE,CAAC;oBACT,WAAW,EAAE,CAAC;oBACd,MAAM,EAAE,KAAK;oBACb,eAAe,EAAE,EAAE;oBACnB,MAAM,EAAE,aAAa;oBACrB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;oBACrB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;iBACtB;gBACD;oBACE,EAAE,EAAE,SAAS;oBACb,MAAM,EAAE,CAAC;oBACT,WAAW,EAAE,CAAC;oBACd,MAAM,EAAE,KAAK;oBACb,eAAe,EAAE,EAAE;oBACnB,MAAM,EAAE,aAAa;oBACrB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;oBACrB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;iBACtB;aACF,CAAC;YAEF,MAAM,aAAa,GAAe;gBAChC;oBACE,EAAE,EAAE,WAAW;oBACf,MAAM,EAAE,CAAC;oBACT,WAAW,EAAE,CAAC;oBACd,MAAM,EAAE,IAAI;oBACZ,SAAS,EAAE,OAAO;oBAClB,MAAM,EAAE,OAAc;oBACtB,SAAS,EAAE,OAAc;oBACzB,MAAM,EAAE,aAAa;oBACrB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;oBACrB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;iBACtB;gBACD;oBACE,EAAE,EAAE,WAAW;oBACf,MAAM,EAAE,CAAC;oBACT,WAAW,EAAE,CAAC;oBACd,MAAM,EAAE,IAAI;oBACZ,SAAS,EAAE,OAAO;oBAClB,MAAM,EAAE,OAAc;oBACtB,SAAS,EAAE,OAAc;oBACzB,MAAM,EAAE,aAAa;oBACrB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;oBACrB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;iBACtB;aACF,CAAC;YAEF,aAAa,CAAC,yBAAyB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC9D,aAAa,CAAC,sBAAsB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YAC7D,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC3D,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC3D,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAE3D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,kBAAkB,EAAE,CAAC;YAElD,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACrD,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"InflightContextAdapter.test.js","sourceRoot":"","sources":["../../src/tracking/InflightContextAdapter.test.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { Address, Domain } from '@hyperlane-xyz/utils';
2
+ import type { ExternalBridgeType } from '../config/types.js';
2
3
  import type { IStore } from './store/IStore.js';
3
4
  export interface Identifiable {
4
5
  id: string;
@@ -18,6 +19,19 @@ export interface TrackedActionBase extends Identifiable, CrossChainAction, Times
18
19
  export type TransferStatus = 'in_progress' | 'complete';
19
20
  export type RebalanceIntentStatus = 'not_started' | 'in_progress' | 'complete' | 'cancelled' | 'failed';
20
21
  export type RebalanceActionStatus = 'in_progress' | 'complete' | 'failed';
22
+ /**
23
+ * Execution method for rebalancing:
24
+ * - `movable_collateral`: Uses MovableCollateralRouter.rebalance() on-chain
25
+ * - `inventory`: Uses external bridges + transferRemote
26
+ */
27
+ export type ExecutionMethod = 'movable_collateral' | 'inventory';
28
+ /**
29
+ * Type of rebalance action:
30
+ * - `rebalance_message`: Standard movable collateral rebalance (Hyperlane message)
31
+ * - `inventory_movement`: External bridge transfer (e.g., LiFi) to move inventory
32
+ * - `inventory_deposit`: transferRemote to deposit inventory as collateral
33
+ */
34
+ export type ActionType = 'rebalance_message' | 'inventory_movement' | 'inventory_deposit';
21
35
  export interface Transfer extends TrackedActionBase {
22
36
  status: TransferStatus;
23
37
  messageId: string;
@@ -26,18 +40,35 @@ export interface Transfer extends TrackedActionBase {
26
40
  }
27
41
  export interface RebalanceIntent extends TrackedActionBase {
28
42
  status: RebalanceIntentStatus;
29
- fulfilledAmount: bigint;
30
43
  bridge?: Address;
31
44
  priority?: number;
32
45
  strategyType?: string;
46
+ executionMethod?: ExecutionMethod;
47
+ externalBridge?: ExternalBridgeType;
33
48
  }
34
49
  export interface RebalanceAction extends TrackedActionBase {
35
50
  status: RebalanceActionStatus;
51
+ type: ActionType;
36
52
  intentId: string;
37
- messageId: string;
53
+ messageId?: string;
38
54
  txHash?: string;
55
+ externalBridgeTransferId?: string;
56
+ externalBridgeId?: ExternalBridgeType;
39
57
  }
40
58
  export type ITransferStore = IStore<Transfer, TransferStatus>;
41
59
  export type IRebalanceIntentStore = IStore<RebalanceIntent, RebalanceIntentStatus>;
42
60
  export type IRebalanceActionStore = IStore<RebalanceAction, RebalanceActionStatus>;
61
+ /**
62
+ * Represents an inventory intent that has been partially fulfilled
63
+ * and can continue execution. Values are derived from action states.
64
+ */
65
+ export interface PartialInventoryIntent {
66
+ intent: RebalanceIntent;
67
+ /** Sum of complete inventory_deposit action amounts */
68
+ completedAmount: bigint;
69
+ /** Amount remaining to fulfill (0n when final deposit is fully in-flight). Formula: intent.amount - completedAmount - inflightAmount */
70
+ remaining: bigint;
71
+ /** True when intent has in_progress inventory_deposit actions (not safe to continue, but still active) */
72
+ hasInflightDeposit: boolean;
73
+ }
43
74
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tracking/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAIhD,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBACf,SAAQ,YAAY,EAAE,gBAAgB,EAAE,WAAW;IACnD,MAAM,EAAE,MAAM,CAAC;CAChB;AAID,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG,UAAU,CAAC;AACxD,MAAM,MAAM,qBAAqB,GAC7B,aAAa,GACb,aAAa,GACb,UAAU,GACV,WAAW,GACX,QAAQ,CAAC;AACb,MAAM,MAAM,qBAAqB,GAAG,aAAa,GAAG,UAAU,GAAG,QAAQ,CAAC;AAI1E,MAAM,WAAW,QAAS,SAAQ,iBAAiB;IACjD,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,eAAgB,SAAQ,iBAAiB;IACxD,MAAM,EAAE,qBAAqB,CAAC;IAC9B,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,eAAgB,SAAQ,iBAAiB;IACxD,MAAM,EAAE,qBAAqB,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAID,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;AAC9D,MAAM,MAAM,qBAAqB,GAAG,MAAM,CACxC,eAAe,EACf,qBAAqB,CACtB,CAAC;AACF,MAAM,MAAM,qBAAqB,GAAG,MAAM,CACxC,eAAe,EACf,qBAAqB,CACtB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tracking/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAIhD,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBACf,SAAQ,YAAY,EAAE,gBAAgB,EAAE,WAAW;IACnD,MAAM,EAAE,MAAM,CAAC;CAChB;AAID,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG,UAAU,CAAC;AACxD,MAAM,MAAM,qBAAqB,GAC7B,aAAa,GACb,aAAa,GACb,UAAU,GACV,WAAW,GACX,QAAQ,CAAC;AACb,MAAM,MAAM,qBAAqB,GAAG,aAAa,GAAG,UAAU,GAAG,QAAQ,CAAC;AAI1E;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,oBAAoB,GAAG,WAAW,CAAC;AAEjE;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAClB,mBAAmB,GACnB,oBAAoB,GACpB,mBAAmB,CAAC;AAIxB,MAAM,WAAW,QAAS,SAAQ,iBAAiB;IACjD,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,eAAgB,SAAQ,iBAAiB;IACxD,MAAM,EAAE,qBAAqB,CAAC;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,cAAc,CAAC,EAAE,kBAAkB,CAAC;CACrC;AAED,MAAM,WAAW,eAAgB,SAAQ,iBAAiB;IACxD,MAAM,EAAE,qBAAqB,CAAC;IAC9B,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,gBAAgB,CAAC,EAAE,kBAAkB,CAAC;CACvC;AAID,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;AAC9D,MAAM,MAAM,qBAAqB,GAAG,MAAM,CACxC,eAAe,EACf,qBAAqB,CACtB,CAAC;AACF,MAAM,MAAM,qBAAqB,GAAG,MAAM,CACxC,eAAe,EACf,qBAAqB,CACtB,CAAC;AAIF;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,eAAe,CAAC;IACxB,uDAAuD;IACvD,eAAe,EAAE,MAAM,CAAC;IACxB,wIAAwI;IACxI,SAAS,EAAE,MAAM,CAAC;IAClB,0GAA0G;IAC1G,kBAAkB,EAAE,OAAO,CAAC;CAC7B"}
@@ -7,13 +7,14 @@ export type InflightRebalanceQueryParams = {
7
7
  };
8
8
  export type UserTransferQueryParams = {
9
9
  routersByDomain: Record<number, string>;
10
- excludeTxSender: string;
10
+ excludeTxSenders: string[];
11
11
  limit?: number;
12
12
  };
13
13
  export type RebalanceActionQueryParams = {
14
14
  bridges: string[];
15
15
  routersByDomain: Record<number, string>;
16
16
  rebalancerAddress: string;
17
+ inventorySignerAddress?: string;
17
18
  limit?: number;
18
19
  };
19
20
  export type ExplorerMessage = {
@@ -27,6 +28,7 @@ export type ExplorerMessage = {
27
28
  origin_tx_recipient: string;
28
29
  is_delivered: boolean;
29
30
  message_body: string;
31
+ send_occurred_at: string | null;
30
32
  };
31
33
  export interface IExplorerClient {
32
34
  getInflightUserTransfers(params: UserTransferQueryParams, logger: Logger): Promise<ExplorerMessage[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"ExplorerClient.d.ts","sourceRoot":"","sources":["../../src/utils/ExplorerClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,MAAM,MAAM,4BAA4B,GAAG;IACzC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;IACzB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,wBAAwB,CACtB,MAAM,EAAE,uBAAuB,EAC/B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAC9B,2BAA2B,CACzB,MAAM,EAAE,0BAA0B,EAClC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;CAC/B;AAED,qBAAa,cAAe,YAAW,eAAe;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,MAAM;IAE5C,OAAO,CAAC,OAAO;IAIf;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAoB1B,uBAAuB,CAC3B,MAAM,EAAE,4BAA4B,EACpC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC;IA0GnB;;;OAGG;IACG,wBAAwB,CAC5B,MAAM,EAAE,uBAAuB,EAC/B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,eAAe,EAAE,CAAC;IAqF7B;;;;OAIG;IACG,2BAA2B,CAC/B,MAAM,EAAE,0BAA0B,EAClC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,eAAe,EAAE,CAAC;CAuF9B"}
1
+ {"version":3,"file":"ExplorerClient.d.ts","sourceRoot":"","sources":["../../src/utils/ExplorerClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,MAAM,MAAM,4BAA4B,GAAG;IACzC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;IACzB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,wBAAwB,CACtB,MAAM,EAAE,uBAAuB,EAC/B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAC9B,2BAA2B,CACzB,MAAM,EAAE,0BAA0B,EAClC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;CAC/B;AAED,qBAAa,cAAe,YAAW,eAAe;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,MAAM;IAE5C,OAAO,CAAC,OAAO;IAIf;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAqB1B,uBAAuB,CAC3B,MAAM,EAAE,4BAA4B,EACpC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC;IA0GnB;;;OAGG;IACG,wBAAwB,CAC5B,MAAM,EAAE,uBAAuB,EAC/B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,eAAe,EAAE,CAAC;IAsF7B;;;;OAIG;IACG,2BAA2B,CAC/B,MAAM,EAAE,0BAA0B,EAClC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,eAAe,EAAE,CAAC;CAoG9B"}
@@ -26,6 +26,7 @@ export class ExplorerClient {
26
26
  origin_tx_recipient: normalizeHex(msg.origin_tx_recipient),
27
27
  is_delivered: msg.is_delivered,
28
28
  message_body: normalizeHex(msg.message_body),
29
+ send_occurred_at: msg.send_occurred_at ?? null,
29
30
  };
30
31
  }
31
32
  async hasUndeliveredRebalance(params, logger) {
@@ -124,7 +125,7 @@ export class ExplorerClient {
124
125
  * Returns transfers where sender/recipient are routers, excluding rebalancer's own transactions.
125
126
  */
126
127
  async getInflightUserTransfers(params, logger) {
127
- const { routersByDomain, excludeTxSender, limit = 100 } = params;
128
+ const { routersByDomain, excludeTxSenders, limit = 100 } = params;
128
129
  // Derive routers and domains from routersByDomain
129
130
  const routers = Object.values(routersByDomain);
130
131
  const domains = Object.keys(routersByDomain).map(Number);
@@ -133,7 +134,7 @@ export class ExplorerClient {
133
134
  recipients: routers.map((a) => this.toBytea(a)),
134
135
  originDomains: domains,
135
136
  destDomains: domains,
136
- excludeTxSender: this.toBytea(excludeTxSender),
137
+ excludeTxSenders: excludeTxSenders.map((a) => this.toBytea(a)),
137
138
  limit,
138
139
  };
139
140
  logger.debug({ variables }, 'Explorer getInflightUserTransfers query');
@@ -143,7 +144,7 @@ export class ExplorerClient {
143
144
  $recipients: [bytea!],
144
145
  $originDomains: [Int!],
145
146
  $destDomains: [Int!],
146
- $excludeTxSender: bytea!,
147
+ $excludeTxSenders: [bytea!],
147
148
  $limit: Int = 100
148
149
  ) {
149
150
  message_view(
@@ -154,7 +155,7 @@ export class ExplorerClient {
154
155
  { recipient: { _in: $recipients } },
155
156
  { origin_domain_id: { _in: $originDomains } },
156
157
  { destination_domain_id: { _in: $destDomains } },
157
- { origin_tx_sender: { _neq: $excludeTxSender } }
158
+ { origin_tx_sender: { _nin: $excludeTxSenders } }
158
159
  ]
159
160
  }
160
161
  order_by: { origin_tx_id: desc }
@@ -170,6 +171,7 @@ export class ExplorerClient {
170
171
  origin_tx_recipient
171
172
  is_delivered
172
173
  message_body
174
+ send_occurred_at
173
175
  }
174
176
  }`;
175
177
  const res = await fetch(this.baseUrl, {
@@ -204,17 +206,22 @@ export class ExplorerClient {
204
206
  * and origin_tx_recipient is one of this warp route's routers.
205
207
  */
206
208
  async getInflightRebalanceActions(params, logger) {
207
- const { bridges, routersByDomain, rebalancerAddress, limit = 100 } = params;
209
+ const { bridges, routersByDomain, rebalancerAddress, inventorySignerAddress, limit = 100, } = params;
208
210
  // Derive routers and domains from routersByDomain
209
211
  const routers = Object.values(routersByDomain);
210
212
  const domains = Object.keys(routersByDomain).map(Number);
213
+ // Build list of tx senders to include (rebalancer + optional inventory signer)
214
+ const txSenders = [this.toBytea(rebalancerAddress)];
215
+ if (inventorySignerAddress) {
216
+ txSenders.push(this.toBytea(inventorySignerAddress));
217
+ }
211
218
  const variables = {
212
219
  senders: bridges.map((a) => this.toBytea(a)),
213
220
  recipients: bridges.map((a) => this.toBytea(a)),
214
221
  originTxRecipients: routers.map((a) => this.toBytea(a)),
215
222
  originDomains: domains,
216
223
  destDomains: domains,
217
- txSender: this.toBytea(rebalancerAddress),
224
+ txSenders,
218
225
  limit,
219
226
  };
220
227
  logger.debug({ variables }, 'Explorer getInflightRebalanceActions query');
@@ -225,7 +232,7 @@ export class ExplorerClient {
225
232
  $originTxRecipients: [bytea!],
226
233
  $originDomains: [Int!],
227
234
  $destDomains: [Int!],
228
- $txSender: bytea!,
235
+ $txSenders: [bytea!],
229
236
  $limit: Int = 100
230
237
  ) {
231
238
  message_view(
@@ -237,7 +244,7 @@ export class ExplorerClient {
237
244
  { origin_tx_recipient: { _in: $originTxRecipients } },
238
245
  { origin_domain_id: { _in: $originDomains } },
239
246
  { destination_domain_id: { _in: $destDomains } },
240
- { origin_tx_sender: { _eq: $txSender } }
247
+ { origin_tx_sender: { _in: $txSenders } }
241
248
  ]
242
249
  }
243
250
  order_by: { origin_tx_id: desc }
@@ -253,6 +260,7 @@ export class ExplorerClient {
253
260
  origin_tx_recipient
254
261
  is_delivered
255
262
  message_body
263
+ send_occurred_at
256
264
  }
257
265
  }`;
258
266
  const res = await fetch(this.baseUrl, {