@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.
- package/dist/bridges/LiFiBridge.d.ts +67 -0
- package/dist/bridges/LiFiBridge.d.ts.map +1 -0
- package/dist/bridges/LiFiBridge.js +386 -0
- package/dist/bridges/LiFiBridge.js.map +1 -0
- package/dist/config/RebalancerConfig.d.ts +7 -2
- package/dist/config/RebalancerConfig.d.ts.map +1 -1
- package/dist/config/RebalancerConfig.js +7 -4
- package/dist/config/RebalancerConfig.js.map +1 -1
- package/dist/config/RebalancerConfig.test.js +134 -1
- package/dist/config/RebalancerConfig.test.js.map +1 -1
- package/dist/config/types.d.ts +1016 -304
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js +105 -10
- package/dist/config/types.js.map +1 -1
- package/dist/core/InventoryRebalancer.d.ts +190 -0
- package/dist/core/InventoryRebalancer.d.ts.map +1 -0
- package/dist/core/InventoryRebalancer.js +885 -0
- package/dist/core/InventoryRebalancer.js.map +1 -0
- package/dist/core/InventoryRebalancer.test.d.ts +2 -0
- package/dist/core/InventoryRebalancer.test.d.ts.map +1 -0
- package/dist/core/InventoryRebalancer.test.js +1351 -0
- package/dist/core/InventoryRebalancer.test.js.map +1 -0
- package/dist/core/Rebalancer.d.ts +11 -4
- package/dist/core/Rebalancer.d.ts.map +1 -1
- package/dist/core/Rebalancer.js +92 -9
- package/dist/core/Rebalancer.js.map +1 -1
- package/dist/core/Rebalancer.test.js +82 -49
- package/dist/core/Rebalancer.test.js.map +1 -1
- package/dist/core/RebalancerOrchestrator.d.ts +30 -9
- package/dist/core/RebalancerOrchestrator.d.ts.map +1 -1
- package/dist/core/RebalancerOrchestrator.js +79 -71
- package/dist/core/RebalancerOrchestrator.js.map +1 -1
- package/dist/core/RebalancerOrchestrator.test.d.ts +2 -0
- package/dist/core/RebalancerOrchestrator.test.d.ts.map +1 -0
- package/dist/core/RebalancerOrchestrator.test.js +714 -0
- package/dist/core/RebalancerOrchestrator.test.js.map +1 -0
- package/dist/core/RebalancerService.d.ts +7 -3
- package/dist/core/RebalancerService.d.ts.map +1 -1
- package/dist/core/RebalancerService.js +44 -24
- package/dist/core/RebalancerService.js.map +1 -1
- package/dist/core/RebalancerService.test.js +71 -109
- package/dist/core/RebalancerService.test.js.map +1 -1
- package/dist/e2e/collateral-deficit.e2e-test.js +1 -3
- package/dist/e2e/collateral-deficit.e2e-test.js.map +1 -1
- package/dist/e2e/composite.e2e-test.js.map +1 -1
- package/dist/e2e/harness/BridgeSetup.d.ts +6 -0
- package/dist/e2e/harness/BridgeSetup.d.ts.map +1 -1
- package/dist/e2e/harness/BridgeSetup.js +10 -1
- package/dist/e2e/harness/BridgeSetup.js.map +1 -1
- package/dist/e2e/harness/TestHelpers.d.ts.map +1 -1
- package/dist/e2e/harness/TestHelpers.js +1 -4
- package/dist/e2e/harness/TestHelpers.js.map +1 -1
- package/dist/e2e/harness/TestRebalancer.d.ts +1 -1
- package/dist/e2e/harness/TestRebalancer.d.ts.map +1 -1
- package/dist/e2e/harness/TestRebalancer.js +6 -7
- package/dist/e2e/harness/TestRebalancer.js.map +1 -1
- package/dist/e2e/minAmount.e2e-test.js +0 -1
- package/dist/e2e/minAmount.e2e-test.js.map +1 -1
- package/dist/e2e/weighted.e2e-test.js +0 -1
- package/dist/e2e/weighted.e2e-test.js.map +1 -1
- package/dist/factories/RebalancerContextFactory.d.ts +48 -6
- package/dist/factories/RebalancerContextFactory.d.ts.map +1 -1
- package/dist/factories/RebalancerContextFactory.js +170 -17
- package/dist/factories/RebalancerContextFactory.js.map +1 -1
- package/dist/index.d.ts +5 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/interfaces/IExternalBridge.d.ts +101 -0
- package/dist/interfaces/IExternalBridge.d.ts.map +1 -0
- package/dist/interfaces/IExternalBridge.js +2 -0
- package/dist/interfaces/IExternalBridge.js.map +1 -0
- package/dist/interfaces/IMonitor.d.ts +1 -0
- package/dist/interfaces/IMonitor.d.ts.map +1 -1
- package/dist/interfaces/IRebalancer.d.ts +25 -25
- package/dist/interfaces/IRebalancer.d.ts.map +1 -1
- package/dist/interfaces/IStrategy.d.ts +36 -3
- package/dist/interfaces/IStrategy.d.ts.map +1 -1
- package/dist/interfaces/IStrategy.js +12 -1
- package/dist/interfaces/IStrategy.js.map +1 -1
- package/dist/metrics/PriceGetter.js +1 -1
- package/dist/metrics/PriceGetter.js.map +1 -1
- package/dist/metrics/scripts/metrics.d.ts +3 -3
- package/dist/monitor/Monitor.d.ts +12 -2
- package/dist/monitor/Monitor.d.ts.map +1 -1
- package/dist/monitor/Monitor.js +46 -1
- package/dist/monitor/Monitor.js.map +1 -1
- package/dist/service.js +40 -17
- package/dist/service.js.map +1 -1
- package/dist/strategy/BaseStrategy.d.ts +12 -6
- package/dist/strategy/BaseStrategy.d.ts.map +1 -1
- package/dist/strategy/BaseStrategy.js +56 -21
- package/dist/strategy/BaseStrategy.js.map +1 -1
- package/dist/strategy/CollateralDeficitStrategy.d.ts +1 -1
- package/dist/strategy/CollateralDeficitStrategy.d.ts.map +1 -1
- package/dist/strategy/CollateralDeficitStrategy.js +19 -11
- package/dist/strategy/CollateralDeficitStrategy.js.map +1 -1
- package/dist/strategy/CollateralDeficitStrategy.test.js +135 -2
- package/dist/strategy/CollateralDeficitStrategy.test.js.map +1 -1
- package/dist/strategy/CompositeStrategy.test.js +13 -0
- package/dist/strategy/CompositeStrategy.test.js.map +1 -1
- package/dist/strategy/MinAmountStrategy.test.js +4 -0
- package/dist/strategy/MinAmountStrategy.test.js.map +1 -1
- package/dist/strategy/StrategyFactory.d.ts +2 -1
- package/dist/strategy/StrategyFactory.d.ts.map +1 -1
- package/dist/strategy/StrategyFactory.js +24 -8
- package/dist/strategy/StrategyFactory.js.map +1 -1
- package/dist/strategy/WeightedStrategy.test.js +6 -0
- package/dist/strategy/WeightedStrategy.test.js.map +1 -1
- package/dist/test/helpers.d.ts +8 -7
- package/dist/test/helpers.d.ts.map +1 -1
- package/dist/test/helpers.js +23 -5
- package/dist/test/helpers.js.map +1 -1
- package/dist/test/lifiMocks.d.ts +51 -0
- package/dist/test/lifiMocks.d.ts.map +1 -0
- package/dist/test/lifiMocks.js +130 -0
- package/dist/test/lifiMocks.js.map +1 -0
- package/dist/tracking/ActionTracker.d.ts +33 -1
- package/dist/tracking/ActionTracker.d.ts.map +1 -1
- package/dist/tracking/ActionTracker.js +193 -22
- package/dist/tracking/ActionTracker.js.map +1 -1
- package/dist/tracking/ActionTracker.test.js +107 -19
- package/dist/tracking/ActionTracker.test.js.map +1 -1
- package/dist/tracking/IActionTracker.d.ts +47 -3
- package/dist/tracking/IActionTracker.d.ts.map +1 -1
- package/dist/tracking/InflightContextAdapter.d.ts.map +1 -1
- package/dist/tracking/InflightContextAdapter.js +24 -7
- package/dist/tracking/InflightContextAdapter.js.map +1 -1
- package/dist/tracking/InflightContextAdapter.test.js +7 -4
- package/dist/tracking/InflightContextAdapter.test.js.map +1 -1
- package/dist/tracking/types.d.ts +31 -2
- package/dist/tracking/types.d.ts.map +1 -1
- package/dist/utils/ExplorerClient.d.ts +2 -1
- package/dist/utils/ExplorerClient.d.ts.map +1 -1
- package/dist/utils/ExplorerClient.js +13 -8
- package/dist/utils/ExplorerClient.js.map +1 -1
- package/dist/utils/bridgeUtils.d.ts +27 -4
- package/dist/utils/bridgeUtils.d.ts.map +1 -1
- package/dist/utils/bridgeUtils.js +38 -0
- package/dist/utils/bridgeUtils.js.map +1 -1
- package/dist/utils/bridgeUtils.test.js +9 -0
- package/dist/utils/bridgeUtils.test.js.map +1 -1
- package/dist/utils/gasEstimation.d.ts +65 -0
- package/dist/utils/gasEstimation.d.ts.map +1 -0
- package/dist/utils/gasEstimation.js +176 -0
- package/dist/utils/gasEstimation.js.map +1 -0
- package/dist/utils/tokenUtils.d.ts +9 -1
- package/dist/utils/tokenUtils.d.ts.map +1 -1
- package/dist/utils/tokenUtils.js +11 -0
- package/dist/utils/tokenUtils.js.map +1 -1
- package/package.json +9 -7
- package/src/bridges/LiFiBridge.ts +538 -0
- package/src/config/RebalancerConfig.test.ts +160 -0
- package/src/config/RebalancerConfig.ts +14 -3
- package/src/config/types.ts +136 -10
- package/src/core/InventoryRebalancer.test.ts +1684 -0
- package/src/core/InventoryRebalancer.ts +1255 -0
- package/src/core/Rebalancer.test.ts +84 -30
- package/src/core/Rebalancer.ts +144 -23
- package/src/core/RebalancerOrchestrator.test.ts +860 -0
- package/src/core/RebalancerOrchestrator.ts +146 -95
- package/src/core/RebalancerService.test.ts +80 -123
- package/src/core/RebalancerService.ts +67 -33
- package/src/e2e/collateral-deficit.e2e-test.ts +2 -4
- package/src/e2e/composite.e2e-test.ts +5 -5
- package/src/e2e/harness/BridgeSetup.ts +28 -1
- package/src/e2e/harness/TestHelpers.ts +1 -4
- package/src/e2e/harness/TestRebalancer.ts +7 -7
- package/src/e2e/minAmount.e2e-test.ts +1 -2
- package/src/e2e/weighted.e2e-test.ts +1 -2
- package/src/factories/RebalancerContextFactory.ts +293 -24
- package/src/index.ts +20 -5
- package/src/interfaces/IExternalBridge.ts +115 -0
- package/src/interfaces/IMonitor.ts +1 -0
- package/src/interfaces/IRebalancer.ts +45 -29
- package/src/interfaces/IStrategy.ts +50 -3
- package/src/metrics/PriceGetter.ts +1 -1
- package/src/monitor/Monitor.ts +81 -2
- package/src/service.ts +59 -18
- package/src/strategy/BaseStrategy.ts +77 -24
- package/src/strategy/CollateralDeficitStrategy.test.ts +181 -4
- package/src/strategy/CollateralDeficitStrategy.ts +42 -15
- package/src/strategy/CompositeStrategy.test.ts +13 -0
- package/src/strategy/MinAmountStrategy.test.ts +4 -0
- package/src/strategy/StrategyFactory.ts +33 -6
- package/src/strategy/WeightedStrategy.test.ts +6 -0
- package/src/test/helpers.ts +39 -14
- package/src/test/lifiMocks.ts +174 -0
- package/src/tracking/ActionTracker.test.ts +122 -19
- package/src/tracking/ActionTracker.ts +284 -24
- package/src/tracking/IActionTracker.ts +58 -3
- package/src/tracking/InflightContextAdapter.test.ts +7 -4
- package/src/tracking/InflightContextAdapter.ts +42 -9
- package/src/tracking/types.ts +43 -2
- package/src/utils/ExplorerClient.ts +23 -10
- package/src/utils/bridgeUtils.test.ts +9 -0
- package/src/utils/bridgeUtils.ts +75 -6
- package/src/utils/gasEstimation.ts +272 -0
- package/src/utils/tokenUtils.ts +12 -0
- package/dist/tracking/index.d.ts +0 -7
- package/dist/tracking/index.d.ts.map +0 -1
- package/dist/tracking/index.js +0 -6
- package/dist/tracking/index.js.map +0 -1
- package/dist/utils/index.d.ts +0 -5
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/index.js +0 -5
- package/dist/utils/index.js.map +0 -1
- package/src/tracking/index.ts +0 -36
- package/src/utils/index.ts +0 -4
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"InflightContextAdapter.test.js","sourceRoot":"","sources":["../../src/tracking/InflightContextAdapter.test.ts"],"names":[],"mappings":"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"}
|
package/dist/tracking/types.d.ts
CHANGED
|
@@ -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,33 @@ 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
|
|
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: intent.amount - completedAmount - inflightAmount */
|
|
70
|
+
remaining: bigint;
|
|
71
|
+
}
|
|
43
72
|
//# 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,
|
|
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,oFAAoF;IACpF,SAAS,EAAE,MAAM,CAAC;CACnB"}
|
|
@@ -7,13 +7,14 @@ export type InflightRebalanceQueryParams = {
|
|
|
7
7
|
};
|
|
8
8
|
export type UserTransferQueryParams = {
|
|
9
9
|
routersByDomain: Record<number, string>;
|
|
10
|
-
|
|
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 = {
|
|
@@ -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,
|
|
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;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;CAmG9B"}
|
|
@@ -124,7 +124,7 @@ export class ExplorerClient {
|
|
|
124
124
|
* Returns transfers where sender/recipient are routers, excluding rebalancer's own transactions.
|
|
125
125
|
*/
|
|
126
126
|
async getInflightUserTransfers(params, logger) {
|
|
127
|
-
const { routersByDomain,
|
|
127
|
+
const { routersByDomain, excludeTxSenders, limit = 100 } = params;
|
|
128
128
|
// Derive routers and domains from routersByDomain
|
|
129
129
|
const routers = Object.values(routersByDomain);
|
|
130
130
|
const domains = Object.keys(routersByDomain).map(Number);
|
|
@@ -133,7 +133,7 @@ export class ExplorerClient {
|
|
|
133
133
|
recipients: routers.map((a) => this.toBytea(a)),
|
|
134
134
|
originDomains: domains,
|
|
135
135
|
destDomains: domains,
|
|
136
|
-
|
|
136
|
+
excludeTxSenders: excludeTxSenders.map((a) => this.toBytea(a)),
|
|
137
137
|
limit,
|
|
138
138
|
};
|
|
139
139
|
logger.debug({ variables }, 'Explorer getInflightUserTransfers query');
|
|
@@ -143,7 +143,7 @@ export class ExplorerClient {
|
|
|
143
143
|
$recipients: [bytea!],
|
|
144
144
|
$originDomains: [Int!],
|
|
145
145
|
$destDomains: [Int!],
|
|
146
|
-
$
|
|
146
|
+
$excludeTxSenders: [bytea!],
|
|
147
147
|
$limit: Int = 100
|
|
148
148
|
) {
|
|
149
149
|
message_view(
|
|
@@ -154,7 +154,7 @@ export class ExplorerClient {
|
|
|
154
154
|
{ recipient: { _in: $recipients } },
|
|
155
155
|
{ origin_domain_id: { _in: $originDomains } },
|
|
156
156
|
{ destination_domain_id: { _in: $destDomains } },
|
|
157
|
-
{ origin_tx_sender: {
|
|
157
|
+
{ origin_tx_sender: { _nin: $excludeTxSenders } }
|
|
158
158
|
]
|
|
159
159
|
}
|
|
160
160
|
order_by: { origin_tx_id: desc }
|
|
@@ -204,17 +204,22 @@ export class ExplorerClient {
|
|
|
204
204
|
* and origin_tx_recipient is one of this warp route's routers.
|
|
205
205
|
*/
|
|
206
206
|
async getInflightRebalanceActions(params, logger) {
|
|
207
|
-
const { bridges, routersByDomain, rebalancerAddress, limit = 100 } = params;
|
|
207
|
+
const { bridges, routersByDomain, rebalancerAddress, inventorySignerAddress, limit = 100, } = params;
|
|
208
208
|
// Derive routers and domains from routersByDomain
|
|
209
209
|
const routers = Object.values(routersByDomain);
|
|
210
210
|
const domains = Object.keys(routersByDomain).map(Number);
|
|
211
|
+
// Build list of tx senders to include (rebalancer + optional inventory signer)
|
|
212
|
+
const txSenders = [this.toBytea(rebalancerAddress)];
|
|
213
|
+
if (inventorySignerAddress) {
|
|
214
|
+
txSenders.push(this.toBytea(inventorySignerAddress));
|
|
215
|
+
}
|
|
211
216
|
const variables = {
|
|
212
217
|
senders: bridges.map((a) => this.toBytea(a)),
|
|
213
218
|
recipients: bridges.map((a) => this.toBytea(a)),
|
|
214
219
|
originTxRecipients: routers.map((a) => this.toBytea(a)),
|
|
215
220
|
originDomains: domains,
|
|
216
221
|
destDomains: domains,
|
|
217
|
-
|
|
222
|
+
txSenders,
|
|
218
223
|
limit,
|
|
219
224
|
};
|
|
220
225
|
logger.debug({ variables }, 'Explorer getInflightRebalanceActions query');
|
|
@@ -225,7 +230,7 @@ export class ExplorerClient {
|
|
|
225
230
|
$originTxRecipients: [bytea!],
|
|
226
231
|
$originDomains: [Int!],
|
|
227
232
|
$destDomains: [Int!],
|
|
228
|
-
$
|
|
233
|
+
$txSenders: [bytea!],
|
|
229
234
|
$limit: Int = 100
|
|
230
235
|
) {
|
|
231
236
|
message_view(
|
|
@@ -237,7 +242,7 @@ export class ExplorerClient {
|
|
|
237
242
|
{ origin_tx_recipient: { _in: $originTxRecipients } },
|
|
238
243
|
{ origin_domain_id: { _in: $originDomains } },
|
|
239
244
|
{ destination_domain_id: { _in: $destDomains } },
|
|
240
|
-
{ origin_tx_sender: {
|
|
245
|
+
{ origin_tx_sender: { _in: $txSenders } }
|
|
241
246
|
]
|
|
242
247
|
}
|
|
243
248
|
order_by: { origin_tx_id: desc }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExplorerClient.js","sourceRoot":"","sources":["../../src/utils/ExplorerClient.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ExplorerClient.js","sourceRoot":"","sources":["../../src/utils/ExplorerClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,24 @@
|
|
|
1
1
|
import type { ChainMap, ChainName } from '@hyperlane-xyz/sdk';
|
|
2
|
+
import type { Address } from '@hyperlane-xyz/utils';
|
|
3
|
+
import type { ExternalBridgeType } from '../config/types.js';
|
|
4
|
+
import type { StrategyRoute } from '../interfaces/IStrategy.js';
|
|
5
|
+
type BaseBridgeConfig = {
|
|
6
|
+
bridgeMinAcceptedAmount?: string | number;
|
|
7
|
+
};
|
|
8
|
+
export type MovableCollateralBridgeConfig = BaseBridgeConfig & {
|
|
9
|
+
executionType: 'movableCollateral';
|
|
10
|
+
bridge: Address;
|
|
11
|
+
};
|
|
12
|
+
export type InventoryBridgeConfig = BaseBridgeConfig & {
|
|
13
|
+
executionType: 'inventory';
|
|
14
|
+
externalBridge: ExternalBridgeType;
|
|
15
|
+
};
|
|
16
|
+
export type BridgeConfig = MovableCollateralBridgeConfig | InventoryBridgeConfig;
|
|
17
|
+
export declare function isMovableCollateralConfig(config: BridgeConfig): config is MovableCollateralBridgeConfig;
|
|
18
|
+
export declare function isInventoryConfig(config: BridgeConfig): config is InventoryBridgeConfig;
|
|
2
19
|
export type BridgeConfigWithOverride = BridgeConfig & {
|
|
3
20
|
override?: ChainMap<Partial<BridgeConfig>>;
|
|
4
21
|
};
|
|
5
|
-
export type BridgeConfig = {
|
|
6
|
-
bridge: string;
|
|
7
|
-
bridgeMinAcceptedAmount: string | number;
|
|
8
|
-
};
|
|
9
22
|
/**
|
|
10
23
|
* Gets the bridge configuration for a specific chain pair, applying any overrides
|
|
11
24
|
* @param bridges The map of bridge configurations by chain
|
|
@@ -14,4 +27,14 @@ export type BridgeConfig = {
|
|
|
14
27
|
* @returns The bridge configuration with any overrides applied
|
|
15
28
|
*/
|
|
16
29
|
export declare function getBridgeConfig(bridges: ChainMap<BridgeConfigWithOverride>, fromChain: ChainName, toChain: ChainName): BridgeConfig;
|
|
30
|
+
/**
|
|
31
|
+
* Creates a StrategyRoute from a BridgeConfig with exhaustive type checking
|
|
32
|
+
* @param bridgeConfig The bridge configuration
|
|
33
|
+
* @param origin The origin chain
|
|
34
|
+
* @param destination The destination chain
|
|
35
|
+
* @param amount The amount to transfer
|
|
36
|
+
* @returns A StrategyRoute with the appropriate execution type
|
|
37
|
+
*/
|
|
38
|
+
export declare function createStrategyRoute(bridgeConfig: BridgeConfig, origin: ChainName, destination: ChainName, amount: bigint): StrategyRoute;
|
|
39
|
+
export {};
|
|
17
40
|
//# sourceMappingURL=bridgeUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridgeUtils.d.ts","sourceRoot":"","sources":["../../src/utils/bridgeUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"bridgeUtils.d.ts","sourceRoot":"","sources":["../../src/utils/bridgeUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAEhE,KAAK,gBAAgB,GAAG;IACtB,uBAAuB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG,gBAAgB,GAAG;IAC7D,aAAa,EAAE,mBAAmB,CAAC;IACnC,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,gBAAgB,GAAG;IACrD,aAAa,EAAE,WAAW,CAAC;IAC3B,cAAc,EAAE,kBAAkB,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,YAAY,GACpB,6BAA6B,GAC7B,qBAAqB,CAAC;AAE1B,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,YAAY,GACnB,MAAM,IAAI,6BAA6B,CAEzC;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,YAAY,GACnB,MAAM,IAAI,qBAAqB,CAEjC;AAED,MAAM,MAAM,wBAAwB,GAAG,YAAY,GAAG;IACpD,QAAQ,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;CAC5C,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,QAAQ,CAAC,wBAAwB,CAAC,EAC3C,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,SAAS,GACjB,YAAY,CASd;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,SAAS,EACtB,MAAM,EAAE,MAAM,GACb,aAAa,CAyBf"}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
export function isMovableCollateralConfig(config) {
|
|
2
|
+
return config.executionType === 'movableCollateral';
|
|
3
|
+
}
|
|
4
|
+
export function isInventoryConfig(config) {
|
|
5
|
+
return config.executionType === 'inventory';
|
|
6
|
+
}
|
|
1
7
|
/**
|
|
2
8
|
* Gets the bridge configuration for a specific chain pair, applying any overrides
|
|
3
9
|
* @param bridges The map of bridge configurations by chain
|
|
@@ -13,4 +19,36 @@ export function getBridgeConfig(bridges, fromChain, toChain) {
|
|
|
13
19
|
// Return a new object with the base config and any overrides
|
|
14
20
|
return { ...baseConfig, ...routeSpecificOverrides };
|
|
15
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* Creates a StrategyRoute from a BridgeConfig with exhaustive type checking
|
|
24
|
+
* @param bridgeConfig The bridge configuration
|
|
25
|
+
* @param origin The origin chain
|
|
26
|
+
* @param destination The destination chain
|
|
27
|
+
* @param amount The amount to transfer
|
|
28
|
+
* @returns A StrategyRoute with the appropriate execution type
|
|
29
|
+
*/
|
|
30
|
+
export function createStrategyRoute(bridgeConfig, origin, destination, amount) {
|
|
31
|
+
switch (bridgeConfig.executionType) {
|
|
32
|
+
case 'inventory':
|
|
33
|
+
return {
|
|
34
|
+
origin,
|
|
35
|
+
destination,
|
|
36
|
+
amount,
|
|
37
|
+
executionType: 'inventory',
|
|
38
|
+
externalBridge: bridgeConfig.externalBridge,
|
|
39
|
+
};
|
|
40
|
+
case 'movableCollateral':
|
|
41
|
+
return {
|
|
42
|
+
origin,
|
|
43
|
+
destination,
|
|
44
|
+
amount,
|
|
45
|
+
executionType: 'movableCollateral',
|
|
46
|
+
bridge: bridgeConfig.bridge,
|
|
47
|
+
};
|
|
48
|
+
default: {
|
|
49
|
+
const _exhaustive = bridgeConfig;
|
|
50
|
+
throw new Error(`Unknown execution type: ${_exhaustive.executionType}`);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
16
54
|
//# sourceMappingURL=bridgeUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridgeUtils.js","sourceRoot":"","sources":["../../src/utils/bridgeUtils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bridgeUtils.js","sourceRoot":"","sources":["../../src/utils/bridgeUtils.ts"],"names":[],"mappings":"AAwBA,MAAM,UAAU,yBAAyB,CACvC,MAAoB;IAEpB,OAAO,MAAM,CAAC,aAAa,KAAK,mBAAmB,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,MAAoB;IAEpB,OAAO,MAAM,CAAC,aAAa,KAAK,WAAW,CAAC;AAC9C,CAAC;AAMD;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAC7B,OAA2C,EAC3C,SAAoB,EACpB,OAAkB;IAElB,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACtC,MAAM,sBAAsB,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC;IAE9D,8FAA8F;IAC9F,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,UAAU,EAAE,GAAG,UAAU,CAAC;IAElD,6DAA6D;IAC7D,OAAO,EAAE,GAAG,UAAU,EAAE,GAAG,sBAAsB,EAAkB,CAAC;AACtE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CACjC,YAA0B,EAC1B,MAAiB,EACjB,WAAsB,EACtB,MAAc;IAEd,QAAQ,YAAY,CAAC,aAAa,EAAE,CAAC;QACnC,KAAK,WAAW;YACd,OAAO;gBACL,MAAM;gBACN,WAAW;gBACX,MAAM;gBACN,aAAa,EAAE,WAAW;gBAC1B,cAAc,EAAE,YAAY,CAAC,cAAc;aAC5C,CAAC;QACJ,KAAK,mBAAmB;YACtB,OAAO;gBACL,MAAM;gBACN,WAAW;gBACX,MAAM;gBACN,aAAa,EAAE,mBAAmB;gBAClC,MAAM,EAAE,YAAY,CAAC,MAAM;aAC5B,CAAC;QACJ,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,WAAW,GAAU,YAAY,CAAC;YACxC,MAAM,IAAI,KAAK,CACb,2BAA4B,WAA4B,CAAC,aAAa,EAAE,CACzE,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -4,16 +4,19 @@ describe('bridgeConfig', () => {
|
|
|
4
4
|
it('should return the base bridge config when no overrides exist', () => {
|
|
5
5
|
const bridges = {
|
|
6
6
|
chain1: {
|
|
7
|
+
executionType: 'movableCollateral',
|
|
7
8
|
bridge: '0x1234567890123456789012345678901234567890',
|
|
8
9
|
bridgeMinAcceptedAmount: 1000,
|
|
9
10
|
},
|
|
10
11
|
chain2: {
|
|
12
|
+
executionType: 'movableCollateral',
|
|
11
13
|
bridge: '0x0987654321098765432109876543210987654321',
|
|
12
14
|
bridgeMinAcceptedAmount: 2000,
|
|
13
15
|
},
|
|
14
16
|
};
|
|
15
17
|
const result = getBridgeConfig(bridges, 'chain1', 'chain2');
|
|
16
18
|
expect(result).to.deep.equal({
|
|
19
|
+
executionType: 'movableCollateral',
|
|
17
20
|
bridge: '0x1234567890123456789012345678901234567890',
|
|
18
21
|
bridgeMinAcceptedAmount: 1000,
|
|
19
22
|
});
|
|
@@ -21,6 +24,7 @@ describe('bridgeConfig', () => {
|
|
|
21
24
|
it('should merge base config with overrides when they exist', () => {
|
|
22
25
|
const bridges = {
|
|
23
26
|
chain1: {
|
|
27
|
+
executionType: 'movableCollateral',
|
|
24
28
|
bridge: '0x1234567890123456789012345678901234567890',
|
|
25
29
|
bridgeMinAcceptedAmount: 1000,
|
|
26
30
|
override: {
|
|
@@ -30,12 +34,14 @@ describe('bridgeConfig', () => {
|
|
|
30
34
|
},
|
|
31
35
|
},
|
|
32
36
|
chain2: {
|
|
37
|
+
executionType: 'movableCollateral',
|
|
33
38
|
bridge: '0x0987654321098765432109876543210987654321',
|
|
34
39
|
bridgeMinAcceptedAmount: 2000,
|
|
35
40
|
},
|
|
36
41
|
};
|
|
37
42
|
const result = getBridgeConfig(bridges, 'chain1', 'chain2');
|
|
38
43
|
expect(result).to.deep.equal({
|
|
44
|
+
executionType: 'movableCollateral',
|
|
39
45
|
bridge: '0x1234567890123456789012345678901234567890',
|
|
40
46
|
bridgeMinAcceptedAmount: 5000,
|
|
41
47
|
});
|
|
@@ -43,6 +49,7 @@ describe('bridgeConfig', () => {
|
|
|
43
49
|
it('should handle overrides that change the bridge address', () => {
|
|
44
50
|
const bridges = {
|
|
45
51
|
chain1: {
|
|
52
|
+
executionType: 'movableCollateral',
|
|
46
53
|
bridge: '0x1234567890123456789012345678901234567890',
|
|
47
54
|
bridgeMinAcceptedAmount: 1000,
|
|
48
55
|
override: {
|
|
@@ -52,12 +59,14 @@ describe('bridgeConfig', () => {
|
|
|
52
59
|
},
|
|
53
60
|
},
|
|
54
61
|
chain2: {
|
|
62
|
+
executionType: 'movableCollateral',
|
|
55
63
|
bridge: '0x0987654321098765432109876543210987654321',
|
|
56
64
|
bridgeMinAcceptedAmount: 2000,
|
|
57
65
|
},
|
|
58
66
|
};
|
|
59
67
|
const result = getBridgeConfig(bridges, 'chain1', 'chain2');
|
|
60
68
|
expect(result).to.deep.equal({
|
|
69
|
+
executionType: 'movableCollateral',
|
|
61
70
|
bridge: '0xABCDEF0123456789ABCDEF0123456789ABCDEF01',
|
|
62
71
|
bridgeMinAcceptedAmount: 1000,
|
|
63
72
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridgeUtils.test.js","sourceRoot":"","sources":["../../src/utils/bridgeUtils.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAI9B,OAAO,EAEL,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAE1B,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;QACtE,MAAM,OAAO,GAAuC;YAClD,MAAM,EAAE;gBACN,MAAM,EAAE,4CAA4C;gBACpD,uBAAuB,EAAE,IAAI;aAC9B;YACD,MAAM,EAAE;gBACN,MAAM,EAAE,4CAA4C;gBACpD,uBAAuB,EAAE,IAAI;aAC9B;SACF,CAAC;QAEF,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAE5D,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;YAC3B,MAAM,EAAE,4CAA4C;YACpD,uBAAuB,EAAE,IAAI;SAC9B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACjE,MAAM,OAAO,GAAuC;YAClD,MAAM,EAAE;gBACN,MAAM,EAAE,4CAA4C;gBACpD,uBAAuB,EAAE,IAAI;gBAC7B,QAAQ,EAAE;oBACR,MAAM,EAAE;wBACN,uBAAuB,EAAE,IAAI;qBAC9B;iBACF;aACF;YACD,MAAM,EAAE;gBACN,MAAM,EAAE,4CAA4C;gBACpD,uBAAuB,EAAE,IAAI;aAC9B;SACF,CAAC;QAEF,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAE5D,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;YAC3B,MAAM,EAAE,4CAA4C;YACpD,uBAAuB,EAAE,IAAI;SAC9B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,MAAM,OAAO,GAAuC;YAClD,MAAM,EAAE;gBACN,MAAM,EAAE,4CAA4C;gBACpD,uBAAuB,EAAE,IAAI;gBAC7B,QAAQ,EAAE;oBACR,MAAM,EAAE;wBACN,MAAM,EAAE,4CAA4C;qBACrD;iBACF;aACF;YACD,MAAM,EAAE;gBACN,MAAM,EAAE,4CAA4C;gBACpD,uBAAuB,EAAE,IAAI;aAC9B;SACF,CAAC;QAEF,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAE5D,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;YAC3B,MAAM,EAAE,4CAA4C;YACpD,uBAAuB,EAAE,IAAI;SAC9B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"bridgeUtils.test.js","sourceRoot":"","sources":["../../src/utils/bridgeUtils.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAI9B,OAAO,EAEL,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAE1B,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;QACtE,MAAM,OAAO,GAAuC;YAClD,MAAM,EAAE;gBACN,aAAa,EAAE,mBAAmB;gBAClC,MAAM,EAAE,4CAA4C;gBACpD,uBAAuB,EAAE,IAAI;aAC9B;YACD,MAAM,EAAE;gBACN,aAAa,EAAE,mBAAmB;gBAClC,MAAM,EAAE,4CAA4C;gBACpD,uBAAuB,EAAE,IAAI;aAC9B;SACF,CAAC;QAEF,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAE5D,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;YAC3B,aAAa,EAAE,mBAAmB;YAClC,MAAM,EAAE,4CAA4C;YACpD,uBAAuB,EAAE,IAAI;SAC9B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACjE,MAAM,OAAO,GAAuC;YAClD,MAAM,EAAE;gBACN,aAAa,EAAE,mBAAmB;gBAClC,MAAM,EAAE,4CAA4C;gBACpD,uBAAuB,EAAE,IAAI;gBAC7B,QAAQ,EAAE;oBACR,MAAM,EAAE;wBACN,uBAAuB,EAAE,IAAI;qBAC9B;iBACF;aACF;YACD,MAAM,EAAE;gBACN,aAAa,EAAE,mBAAmB;gBAClC,MAAM,EAAE,4CAA4C;gBACpD,uBAAuB,EAAE,IAAI;aAC9B;SACF,CAAC;QAEF,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAE5D,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;YAC3B,aAAa,EAAE,mBAAmB;YAClC,MAAM,EAAE,4CAA4C;YACpD,uBAAuB,EAAE,IAAI;SAC9B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,MAAM,OAAO,GAAuC;YAClD,MAAM,EAAE;gBACN,aAAa,EAAE,mBAAmB;gBAClC,MAAM,EAAE,4CAA4C;gBACpD,uBAAuB,EAAE,IAAI;gBAC7B,QAAQ,EAAE;oBACR,MAAM,EAAE;wBACN,MAAM,EAAE,4CAA4C;qBACrD;iBACF;aACF;YACD,MAAM,EAAE;gBACN,aAAa,EAAE,mBAAmB;gBAClC,MAAM,EAAE,4CAA4C;gBACpD,uBAAuB,EAAE,IAAI;aAC9B;SACF,CAAC;QAEF,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAE5D,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;YAC3B,aAAa,EAAE,mBAAmB;YAClC,MAAM,EAAE,4CAA4C;YACpD,uBAAuB,EAAE,IAAI;SAC9B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import type { Logger } from 'pino';
|
|
2
|
+
import { type ChainName, type InterchainGasQuote, type MultiProvider, type Token, TokenStandard } from '@hyperlane-xyz/sdk';
|
|
3
|
+
/**
|
|
4
|
+
* Fallback gas limit for transferRemote when eth_estimateGas fails.
|
|
5
|
+
* Conservative estimate for cross-chain token transfers.
|
|
6
|
+
*/
|
|
7
|
+
export declare const FALLBACK_TRANSFER_REMOTE_GAS_LIMIT = 300000n;
|
|
8
|
+
/**
|
|
9
|
+
* Cost multiplier for minimum viable transfer.
|
|
10
|
+
* A transfer must be worth at least this multiple of its cost to be worthwhile.
|
|
11
|
+
*/
|
|
12
|
+
export declare const MIN_VIABLE_COST_MULTIPLIER = 2n;
|
|
13
|
+
/**
|
|
14
|
+
* Transfer cost estimate for native token transfers.
|
|
15
|
+
* Contains all cost components needed for transfer decisions.
|
|
16
|
+
*/
|
|
17
|
+
export interface TransferCostEstimate {
|
|
18
|
+
/** IGP cost for the Hyperlane message */
|
|
19
|
+
igpCost: bigint;
|
|
20
|
+
/** Estimated gas cost for the transferRemote transaction (with buffer) */
|
|
21
|
+
gasCost: bigint;
|
|
22
|
+
/** Token fee cost (native denom only) */
|
|
23
|
+
tokenFeeCost: bigint;
|
|
24
|
+
/** Total cost = igpCost + gasCost + tokenFeeCost */
|
|
25
|
+
totalCost: bigint;
|
|
26
|
+
/** Maximum transferable amount after reserving costs (availableInventory - totalCost) */
|
|
27
|
+
maxTransferable: bigint;
|
|
28
|
+
/** Minimum viable transfer (totalCost * MIN_VIABLE_COST_MULTIPLIER) */
|
|
29
|
+
minViableTransfer: bigint;
|
|
30
|
+
/** Gas quote from adapter (for passing to executeTransferRemote) */
|
|
31
|
+
gasQuote?: InterchainGasQuote;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Estimate gas for a transferRemote transaction using eth_estimateGas.
|
|
35
|
+
* Falls back to conservative estimate if estimation fails.
|
|
36
|
+
*
|
|
37
|
+
* @param originChain - Chain where transferRemote will be called
|
|
38
|
+
* @param destinationChain - Chain where the Hyperlane message goes
|
|
39
|
+
* @param amount - Amount to transfer
|
|
40
|
+
* @param multiProvider - MultiProvider for chain access
|
|
41
|
+
* @param warpCoreMultiProvider - MultiProvider from WarpCore for adapter access
|
|
42
|
+
* @param getTokenForChain - Function to get token for a chain
|
|
43
|
+
* @param inventorySigner - Address of the inventory signer
|
|
44
|
+
* @param logger - Logger instance
|
|
45
|
+
* @returns Estimated gas limit for the transaction
|
|
46
|
+
*/
|
|
47
|
+
export declare function estimateTransferRemoteGas(originChain: ChainName, destinationChain: ChainName, amount: bigint, multiProvider: MultiProvider, warpCoreMultiProvider: any, getTokenForChain: (chain: ChainName) => Token | undefined, inventorySigner: string, logger: Logger): Promise<bigint>;
|
|
48
|
+
/**
|
|
49
|
+
* Calculate all transfer costs for a transferRemote operation.
|
|
50
|
+
* Consolidates IGP costs, gas costs, and derived values (max transferable, min viable).
|
|
51
|
+
*
|
|
52
|
+
* @param originChain - Chain to transfer from (where transferRemote is called)
|
|
53
|
+
* @param destinationChain - Chain to transfer to (Hyperlane message destination)
|
|
54
|
+
* @param availableInventory - Available token balance on origin chain
|
|
55
|
+
* @param requestedAmount - Requested transfer amount
|
|
56
|
+
* @param multiProvider - MultiProvider for chain access
|
|
57
|
+
* @param warpCoreMultiProvider - MultiProvider from WarpCore for adapter access
|
|
58
|
+
* @param getTokenForChain - Function to get token for a chain
|
|
59
|
+
* @param inventorySigner - Address of the inventory signer
|
|
60
|
+
* @param isNativeTokenStandard - Function to check if token standard is native
|
|
61
|
+
* @param logger - Logger instance
|
|
62
|
+
* @returns Cost estimate with all components and derived values
|
|
63
|
+
*/
|
|
64
|
+
export declare function calculateTransferCosts(originChain: ChainName, destinationChain: ChainName, availableInventory: bigint, requestedAmount: bigint, multiProvider: MultiProvider, warpCoreMultiProvider: any, getTokenForChain: (chain: ChainName) => Token | undefined, inventorySigner: string, isNativeTokenStandard: (standard: TokenStandard) => boolean, logger: Logger): Promise<TransferCostEstimate>;
|
|
65
|
+
//# sourceMappingURL=gasEstimation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gasEstimation.d.ts","sourceRoot":"","sources":["../../src/utils/gasEstimation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,KAAK,EACV,aAAa,EACd,MAAM,oBAAoB,CAAC;AAG5B;;;GAGG;AACH,eAAO,MAAM,kCAAkC,UAAW,CAAC;AAE3D;;;GAGG;AACH,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAE7C;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,yCAAyC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,0EAA0E;IAC1E,OAAO,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,YAAY,EAAE,MAAM,CAAC;IACrB,oDAAoD;IACpD,SAAS,EAAE,MAAM,CAAC;IAClB,yFAAyF;IACzF,eAAe,EAAE,MAAM,CAAC;IACxB,uEAAuE;IACvE,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oEAAoE;IACpE,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CAC/B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,yBAAyB,CAC7C,WAAW,EAAE,SAAS,EACtB,gBAAgB,EAAE,SAAS,EAC3B,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,aAAa,EAC5B,qBAAqB,EAAE,GAAG,EAC1B,gBAAgB,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,KAAK,GAAG,SAAS,EACzD,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC,CAoEjB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,sBAAsB,CAC1C,WAAW,EAAE,SAAS,EACtB,gBAAgB,EAAE,SAAS,EAC3B,kBAAkB,EAAE,MAAM,EAC1B,eAAe,EAAE,MAAM,EACvB,aAAa,EAAE,aAAa,EAC5B,qBAAqB,EAAE,GAAG,EAC1B,gBAAgB,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,KAAK,GAAG,SAAS,EACzD,eAAe,EAAE,MAAM,EACvB,qBAAqB,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,OAAO,EAC3D,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,oBAAoB,CAAC,CAyG/B"}
|