@hyperlane-xyz/rebalancer 1.0.0 → 1.0.2

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.
@@ -27,15 +27,15 @@ describe('ActionTracker', () => {
27
27
  getInflightUserTransfers: explorerGetInflightUserTransfers,
28
28
  getInflightRebalanceActions: explorerGetInflightRebalanceActions,
29
29
  };
30
- // Create stub for mailbox
30
+ // Create stub for adapter (used by MultiProtocolCore)
31
31
  mailboxStub = {
32
- delivered: Sinon.stub().resolves(false),
32
+ isDelivered: Sinon.stub().resolves(false),
33
33
  };
34
- // Create stub for HyperlaneCore
35
- const coreGetContracts = Sinon.stub().returns({ mailbox: mailboxStub });
34
+ // Create stub for MultiProtocolCore
36
35
  const multiProviderGetChainName = Sinon.stub().callsFake((domain) => `chain${domain}`);
36
+ const adapterStub = Sinon.stub().returns(mailboxStub);
37
37
  core = {
38
- getContracts: coreGetContracts,
38
+ adapter: adapterStub,
39
39
  multiProvider: {
40
40
  getChainName: multiProviderGetChainName,
41
41
  },
@@ -70,7 +70,7 @@ describe('ActionTracker', () => {
70
70
  explorerClient.getInflightRebalanceActions.resolves(inflightMessages);
71
71
  explorerClient.getInflightUserTransfers.resolves([]);
72
72
  // Ensure mailbox returns false so action stays in_progress
73
- mailboxStub.delivered.resolves(false);
73
+ mailboxStub.isDelivered.resolves(false);
74
74
  await tracker.initialize();
75
75
  // Verify ExplorerClient was called twice:
76
76
  // 1. During startup recovery in initialize()
@@ -198,7 +198,7 @@ describe('ActionTracker', () => {
198
198
  updatedAt: Date.now(),
199
199
  });
200
200
  explorerClient.getInflightUserTransfers.resolves([]);
201
- mailboxStub.delivered.resolves(true);
201
+ mailboxStub.isDelivered.resolves(true);
202
202
  await tracker.syncTransfers();
203
203
  const transfer = await transferStore.get('0xmsg1');
204
204
  expect(transfer?.status).to.equal('complete');
@@ -263,7 +263,7 @@ describe('ActionTracker', () => {
263
263
  };
264
264
  await rebalanceIntentStore.save(intent);
265
265
  await rebalanceActionStore.save(action);
266
- mailboxStub.delivered.resolves(true);
266
+ mailboxStub.isDelivered.resolves(true);
267
267
  await tracker.syncRebalanceActions();
268
268
  // Action should be complete
269
269
  const updatedAction = await rebalanceActionStore.get('action-1');
@@ -286,7 +286,7 @@ describe('ActionTracker', () => {
286
286
  updatedAt: Date.now(),
287
287
  };
288
288
  await rebalanceActionStore.save(action);
289
- mailboxStub.delivered.resolves(false);
289
+ mailboxStub.isDelivered.resolves(false);
290
290
  await tracker.syncRebalanceActions();
291
291
  const updatedAction = await rebalanceActionStore.get('action-1');
292
292
  expect(updatedAction?.status).to.equal('in_progress');
@@ -530,8 +530,8 @@ describe('ActionTracker', () => {
530
530
  expect(params.excludeTxSender).to.equal(config.rebalancerAddress);
531
531
  });
532
532
  });
533
- describe('confirmedBlockTags synchronization', () => {
534
- it('should use provided blockTag in syncTransfers delivery check', async () => {
533
+ describe('delivery check synchronization', () => {
534
+ it('should check delivery status in syncTransfers using adapter', async () => {
535
535
  await transferStore.save({
536
536
  id: '0xmsg1',
537
537
  status: 'in_progress',
@@ -545,17 +545,15 @@ describe('ActionTracker', () => {
545
545
  updatedAt: Date.now(),
546
546
  });
547
547
  explorerClient.getInflightUserTransfers.resolves([]);
548
- mailboxStub.delivered.resolves(true);
549
- const confirmedBlockTags = { chain2: 12345 };
550
- await tracker.syncTransfers(confirmedBlockTags);
551
- expect(mailboxStub.delivered.calledOnce).to.be.true;
552
- const call = mailboxStub.delivered.firstCall;
548
+ mailboxStub.isDelivered.resolves(true);
549
+ await tracker.syncTransfers();
550
+ expect(mailboxStub.isDelivered.calledOnce).to.be.true;
551
+ const call = mailboxStub.isDelivered.firstCall;
553
552
  expect(call.args[0]).to.equal('0xmsg1');
554
- expect(call.args[1]).to.deep.equal({ blockTag: 12345 });
555
553
  const transfer = await transferStore.get('0xmsg1');
556
554
  expect(transfer?.status).to.equal('complete');
557
555
  });
558
- it('should use provided blockTag in syncRebalanceActions delivery check', async () => {
556
+ it('should check delivery status in syncRebalanceActions using adapter', async () => {
559
557
  const intent = {
560
558
  id: 'intent-1',
561
559
  status: 'in_progress',
@@ -580,17 +578,53 @@ describe('ActionTracker', () => {
580
578
  await rebalanceIntentStore.save(intent);
581
579
  await rebalanceActionStore.save(action);
582
580
  explorerClient.getInflightRebalanceActions.resolves([]);
583
- mailboxStub.delivered.resolves(true);
584
- const confirmedBlockTags = { chain2: 99999 };
585
- await tracker.syncRebalanceActions(confirmedBlockTags);
586
- expect(mailboxStub.delivered.calledOnce).to.be.true;
587
- const call = mailboxStub.delivered.firstCall;
581
+ mailboxStub.isDelivered.resolves(true);
582
+ await tracker.syncRebalanceActions();
583
+ expect(mailboxStub.isDelivered.calledOnce).to.be.true;
584
+ const call = mailboxStub.isDelivered.firstCall;
588
585
  expect(call.args[0]).to.equal('0xmsg1');
589
- expect(call.args[1]).to.deep.equal({ blockTag: 99999 });
590
586
  const updatedAction = await rebalanceActionStore.get('action-1');
591
587
  expect(updatedAction?.status).to.equal('complete');
592
588
  });
593
- it('should handle string blockTags (like "safe" or "finalized")', async () => {
589
+ it('should keep transfer in_progress when not delivered', async () => {
590
+ await transferStore.save({
591
+ id: '0xmsg1',
592
+ status: 'in_progress',
593
+ messageId: '0xmsg1',
594
+ origin: 1,
595
+ destination: 2,
596
+ amount: 100n,
597
+ sender: '0xuser1',
598
+ recipient: '0xuser2',
599
+ createdAt: Date.now(),
600
+ updatedAt: Date.now(),
601
+ });
602
+ explorerClient.getInflightUserTransfers.resolves([]);
603
+ mailboxStub.isDelivered.resolves(false);
604
+ await tracker.syncTransfers();
605
+ expect(mailboxStub.isDelivered.calledOnce).to.be.true;
606
+ const transfer = await transferStore.get('0xmsg1');
607
+ expect(transfer?.status).to.equal('in_progress');
608
+ });
609
+ it('should check delivery for multiple destinations', async () => {
610
+ await transferStore.save({
611
+ id: '0xmsg1',
612
+ status: 'in_progress',
613
+ messageId: '0xmsg1',
614
+ origin: 1,
615
+ destination: 3,
616
+ amount: 100n,
617
+ sender: '0xuser1',
618
+ recipient: '0xuser2',
619
+ createdAt: Date.now(),
620
+ updatedAt: Date.now(),
621
+ });
622
+ explorerClient.getInflightUserTransfers.resolves([]);
623
+ mailboxStub.isDelivered.resolves(false);
624
+ await tracker.syncTransfers();
625
+ expect(mailboxStub.isDelivered.calledOnce).to.be.true;
626
+ });
627
+ it('should pass blockTag when checking delivery in syncTransfers', async () => {
594
628
  await transferStore.save({
595
629
  id: '0xmsg1',
596
630
  status: 'in_progress',
@@ -604,22 +638,56 @@ describe('ActionTracker', () => {
604
638
  updatedAt: Date.now(),
605
639
  });
606
640
  explorerClient.getInflightUserTransfers.resolves([]);
607
- mailboxStub.delivered.resolves(false);
641
+ mailboxStub.isDelivered.resolves(true);
608
642
  const confirmedBlockTags = {
609
643
  chain2: EthJsonRpcBlockParameterTag.Finalized,
610
644
  };
611
645
  await tracker.syncTransfers(confirmedBlockTags);
612
- expect(mailboxStub.delivered.calledOnce).to.be.true;
613
- const call = mailboxStub.delivered.firstCall;
614
- expect(call.args[1]).to.deep.equal({ blockTag: 'finalized' });
646
+ expect(mailboxStub.isDelivered.calledOnce).to.be.true;
647
+ const call = mailboxStub.isDelivered.firstCall;
648
+ expect(call.args[0]).to.equal('0xmsg1');
649
+ expect(call.args[1]).to.equal(EthJsonRpcBlockParameterTag.Finalized);
615
650
  });
616
- it('should handle undefined blockTag for chain not in confirmedBlockTags', async () => {
651
+ it('should pass blockTag when checking delivery in syncRebalanceActions', async () => {
652
+ const intent = {
653
+ id: 'intent-1',
654
+ status: 'in_progress',
655
+ origin: 1,
656
+ destination: 2,
657
+ amount: 100n,
658
+ fulfilledAmount: 0n,
659
+ createdAt: Date.now(),
660
+ updatedAt: Date.now(),
661
+ };
662
+ const action = {
663
+ id: 'action-1',
664
+ status: 'in_progress',
665
+ intentId: 'intent-1',
666
+ messageId: '0xmsg1',
667
+ origin: 1,
668
+ destination: 2,
669
+ amount: 100n,
670
+ createdAt: Date.now(),
671
+ updatedAt: Date.now(),
672
+ };
673
+ await rebalanceIntentStore.save(intent);
674
+ await rebalanceActionStore.save(action);
675
+ explorerClient.getInflightRebalanceActions.resolves([]);
676
+ mailboxStub.isDelivered.resolves(true);
677
+ const confirmedBlockTags = { chain2: 12345 };
678
+ await tracker.syncRebalanceActions(confirmedBlockTags);
679
+ expect(mailboxStub.isDelivered.calledOnce).to.be.true;
680
+ const call = mailboxStub.isDelivered.firstCall;
681
+ expect(call.args[0]).to.equal('0xmsg1');
682
+ expect(call.args[1]).to.equal(12345);
683
+ });
684
+ it('should pass undefined blockTag when confirmedBlockTags not provided', async () => {
617
685
  await transferStore.save({
618
686
  id: '0xmsg1',
619
687
  status: 'in_progress',
620
688
  messageId: '0xmsg1',
621
689
  origin: 1,
622
- destination: 3,
690
+ destination: 2,
623
691
  amount: 100n,
624
692
  sender: '0xuser1',
625
693
  recipient: '0xuser2',
@@ -627,10 +695,12 @@ describe('ActionTracker', () => {
627
695
  updatedAt: Date.now(),
628
696
  });
629
697
  explorerClient.getInflightUserTransfers.resolves([]);
630
- mailboxStub.delivered.resolves(false);
631
- const confirmedBlockTags = { chain2: 12345 };
632
- await tracker.syncTransfers(confirmedBlockTags);
633
- expect(mailboxStub.delivered.calledOnce).to.be.true;
698
+ mailboxStub.isDelivered.resolves(false);
699
+ await tracker.syncTransfers(); // No confirmedBlockTags
700
+ expect(mailboxStub.isDelivered.calledOnce).to.be.true;
701
+ const call = mailboxStub.isDelivered.firstCall;
702
+ expect(call.args[0]).to.equal('0xmsg1');
703
+ expect(call.args[1]).to.be.undefined;
634
704
  });
635
705
  });
636
706
  });
@@ -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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"}
@@ -0,0 +1,14 @@
1
+ import type { Logger } from 'pino';
2
+ import { MultiProtocolProvider } from '@hyperlane-xyz/sdk';
3
+ import type { ConfirmedBlockTag } from '../interfaces/IMonitor.js';
4
+ /**
5
+ * Get the confirmed block tag for a chain, accounting for reorg period.
6
+ * Returns a block number that is safe from reorgs, or a named tag like 'finalized'.
7
+ *
8
+ * @param multiProvider - MultiProtocolProvider instance
9
+ * @param chainName - Name of the chain
10
+ * @param logger - Optional logger for warnings
11
+ * @returns Confirmed block tag (number, named tag, or undefined on error)
12
+ */
13
+ export declare function getConfirmedBlockTag(multiProvider: MultiProtocolProvider, chainName: string, logger?: Logger): Promise<ConfirmedBlockTag>;
14
+ //# sourceMappingURL=blockTag.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blockTag.d.ts","sourceRoot":"","sources":["../../src/utils/blockTag.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,OAAO,EAEL,qBAAqB,EACtB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnE;;;;;;;;GAQG;AACH,wBAAsB,oBAAoB,CACxC,aAAa,EAAE,qBAAqB,EACpC,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,iBAAiB,CAAC,CAmB5B"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Get the confirmed block tag for a chain, accounting for reorg period.
3
+ * Returns a block number that is safe from reorgs, or a named tag like 'finalized'.
4
+ *
5
+ * @param multiProvider - MultiProtocolProvider instance
6
+ * @param chainName - Name of the chain
7
+ * @param logger - Optional logger for warnings
8
+ * @returns Confirmed block tag (number, named tag, or undefined on error)
9
+ */
10
+ export async function getConfirmedBlockTag(multiProvider, chainName, logger) {
11
+ try {
12
+ const metadata = multiProvider.getChainMetadata(chainName);
13
+ const reorgPeriod = metadata.blocks?.reorgPeriod ?? 32;
14
+ if (typeof reorgPeriod === 'string') {
15
+ return reorgPeriod;
16
+ }
17
+ const provider = multiProvider.getEthersV5Provider(chainName);
18
+ const latestBlock = await provider.getBlockNumber();
19
+ return Math.max(0, latestBlock - reorgPeriod);
20
+ }
21
+ catch (error) {
22
+ logger?.warn({ chain: chainName, error: error.message }, 'Failed to get confirmed block, using latest');
23
+ return undefined;
24
+ }
25
+ }
26
+ //# sourceMappingURL=blockTag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blockTag.js","sourceRoot":"","sources":["../../src/utils/blockTag.ts"],"names":[],"mappings":"AASA;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,aAAoC,EACpC,SAAiB,EACjB,MAAe;IAEf,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,aAAa,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAC3D,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,EAAE,WAAW,IAAI,EAAE,CAAC;QAEvD,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;YACpC,OAAO,WAA0C,CAAC;QACpD,CAAC;QAED,MAAM,QAAQ,GAAG,aAAa,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAC9D,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,cAAc,EAAE,CAAC;QACpD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,WAAW,CAAC,CAAC;IAChD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,EAAE,IAAI,CACV,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAE,EACrD,6CAA6C,CAC9C,CAAC;QACF,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export * from './balanceUtils.js';
2
+ export * from './blockTag.js';
2
3
  export * from './bridgeUtils.js';
3
4
  export * from './tokenUtils.js';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export * from './balanceUtils.js';
2
+ export * from './blockTag.js';
2
3
  export * from './bridgeUtils.js';
3
4
  export * from './tokenUtils.js';
4
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hyperlane-xyz/rebalancer",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "description": "Hyperlane Warp Route Collateral Rebalancer Service",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -14,7 +14,7 @@
14
14
  ],
15
15
  "dependencies": {
16
16
  "@google-cloud/pino-logging-gcp-config": "^1.3.0",
17
- "@hyperlane-xyz/registry": "23.7.0",
17
+ "@hyperlane-xyz/registry": "23.12.0",
18
18
  "@inquirer/prompts": "3.3.2",
19
19
  "@inquirer/select": "^1.0.0",
20
20
  "bignumber.js": "^9.1.1",
@@ -28,10 +28,10 @@
28
28
  "zod": "^3.21.2",
29
29
  "zod-validation-error": "^3.3.0",
30
30
  "@hyperlane-xyz/core": "10.1.5",
31
- "@hyperlane-xyz/provider-sdk": "1.2.1",
32
- "@hyperlane-xyz/sdk": "23.0.0",
33
- "@hyperlane-xyz/utils": "23.0.0",
34
- "@hyperlane-xyz/metrics": "0.1.1"
31
+ "@hyperlane-xyz/provider-sdk": "1.3.1",
32
+ "@hyperlane-xyz/sdk": "25.0.0",
33
+ "@hyperlane-xyz/utils": "25.0.0",
34
+ "@hyperlane-xyz/metrics": "0.1.3"
35
35
  },
36
36
  "devDependencies": {
37
37
  "@ethersproject/constants": "*",
@@ -50,7 +50,7 @@
50
50
  "sinon": "^13.0.2",
51
51
  "tsx": "^4.19.1",
52
52
  "typescript": "5.8.3",
53
- "@hyperlane-xyz/tsconfig": "^23.0.0"
53
+ "@hyperlane-xyz/tsconfig": "^25.0.0"
54
54
  },
55
55
  "engines": {
56
56
  "node": ">=18"
@@ -3,7 +3,8 @@ import { type Logger } from 'pino';
3
3
  import { IRegistry } from '@hyperlane-xyz/registry';
4
4
  import {
5
5
  type ChainMap,
6
- HyperlaneCore,
6
+ type CoreAddresses,
7
+ MultiProtocolCore,
7
8
  MultiProtocolProvider,
8
9
  MultiProvider,
9
10
  type Token,
@@ -45,6 +46,7 @@ export class RebalancerContextFactory {
45
46
  * @param warpCore - An instance of `WarpCore` configured for the specified `warpRouteId`.
46
47
  * @param tokensByChainName - A map of chain->token to ease the lookup of token by chain
47
48
  * @param multiProvider - MultiProvider instance
49
+ * @param multiProtocolProvider - MultiProtocolProvider instance (with mailbox metadata)
48
50
  * @param registry - IRegistry instance
49
51
  * @param logger - Logger instance
50
52
  */
@@ -53,6 +55,7 @@ export class RebalancerContextFactory {
53
55
  private readonly warpCore: WarpCore,
54
56
  private readonly tokensByChainName: ChainMap<Token>,
55
57
  private readonly multiProvider: MultiProvider,
58
+ private readonly multiProtocolProvider: MultiProtocolProvider,
56
59
  private readonly registry: IRegistry,
57
60
  private readonly logger: Logger,
58
61
  ) {}
@@ -87,7 +90,7 @@ export class RebalancerContextFactory {
87
90
  const mpp =
88
91
  multiProtocolProvider ??
89
92
  MultiProtocolProvider.fromMultiProvider(multiProvider);
90
- const provider = mpp.extendChainMetadata(mailboxes);
93
+ const extendedMultiProtocolProvider = mpp.extendChainMetadata(mailboxes);
91
94
 
92
95
  const warpCoreConfig = await registry.getWarpRoute(config.warpRouteId);
93
96
  if (!warpCoreConfig) {
@@ -95,7 +98,10 @@ export class RebalancerContextFactory {
95
98
  `Warp route config for ${config.warpRouteId} not found in registry`,
96
99
  );
97
100
  }
98
- const warpCore = WarpCore.FromConfig(provider, warpCoreConfig);
101
+ const warpCore = WarpCore.FromConfig(
102
+ extendedMultiProtocolProvider,
103
+ warpCoreConfig,
104
+ );
99
105
  const tokensByChainName = Object.fromEntries(
100
106
  warpCore.tokens.map((t) => [t.chainName, t]),
101
107
  );
@@ -111,6 +117,7 @@ export class RebalancerContextFactory {
111
117
  warpCore,
112
118
  tokensByChainName,
113
119
  multiProvider,
120
+ extendedMultiProtocolProvider,
114
121
  registry,
115
122
  logger,
116
123
  );
@@ -228,11 +235,24 @@ export class RebalancerContextFactory {
228
235
  // 2. Create ExplorerClient
229
236
  const explorerClient = new ExplorerClient(explorerUrl);
230
237
 
231
- // 3. Get HyperlaneCore from registry
232
- const addresses = await this.registry.getAddresses();
233
- const hyperlaneCore = HyperlaneCore.fromAddressesMap(
234
- addresses,
235
- this.multiProvider,
238
+ // 3. Get MultiProtocolCore from registry (supports all VM types)
239
+ // Only fetch/validate addresses for warp route chains (not all registry chains)
240
+ const warpRouteChains = new Set(
241
+ this.warpCore.tokens.map((t) => t.chainName),
242
+ );
243
+ const coreAddresses: ChainMap<CoreAddresses> = {};
244
+ for (const chain of warpRouteChains) {
245
+ const addrs = await this.registry.getChainAddresses(chain);
246
+ if (!addrs?.mailbox) {
247
+ throw new Error(
248
+ `Missing mailbox address for chain ${chain} in registry`,
249
+ );
250
+ }
251
+ coreAddresses[chain] = addrs as CoreAddresses;
252
+ }
253
+ const multiProtocolCore = MultiProtocolCore.fromAddressesMap(
254
+ coreAddresses,
255
+ this.multiProtocolProvider,
236
256
  );
237
257
 
238
258
  // 4. Get rebalancer address from signer
@@ -265,7 +285,7 @@ export class RebalancerContextFactory {
265
285
  intentStore,
266
286
  actionStore,
267
287
  explorerClient,
268
- hyperlaneCore,
288
+ multiProtocolCore,
269
289
  trackerConfig,
270
290
  this.logger,
271
291
  );
@@ -1,10 +1,6 @@
1
1
  import { type Logger } from 'pino';
2
2
 
3
- import {
4
- EthJsonRpcBlockParameterTag,
5
- type Token,
6
- type WarpCore,
7
- } from '@hyperlane-xyz/sdk';
3
+ import { type Token, type WarpCore } from '@hyperlane-xyz/sdk';
8
4
  import { sleep } from '@hyperlane-xyz/utils';
9
5
 
10
6
  import {
@@ -16,6 +12,7 @@ import {
16
12
  MonitorPollingError,
17
13
  MonitorStartError,
18
14
  } from '../interfaces/IMonitor.js';
15
+ import { getConfirmedBlockTag } from '../utils/blockTag.js';
19
16
 
20
17
  /**
21
18
  * Simple monitor implementation that polls warp route collateral balances and emits them as MonitorEvent.
@@ -38,36 +35,16 @@ export class Monitor implements IMonitor {
38
35
  private readonly logger: Logger,
39
36
  ) {}
40
37
 
41
- private async getConfirmedBlockTag(
42
- chainName: string,
43
- ): Promise<ConfirmedBlockTag> {
44
- try {
45
- const metadata = this.warpCore.multiProvider.getChainMetadata(chainName);
46
- const reorgPeriod = metadata.blocks?.reorgPeriod ?? 32;
47
-
48
- if (typeof reorgPeriod === 'string') {
49
- return reorgPeriod as EthJsonRpcBlockParameterTag;
50
- }
51
-
52
- const provider =
53
- this.warpCore.multiProvider.getEthersV5Provider(chainName);
54
- const latestBlock = await provider.getBlockNumber();
55
- return Math.max(0, latestBlock - reorgPeriod);
56
- } catch (error) {
57
- this.logger.warn(
58
- { chain: chainName, error: (error as Error).message },
59
- 'Failed to get confirmed block, using latest',
60
- );
61
- return undefined;
62
- }
63
- }
64
-
65
38
  private async computeConfirmedBlockTags(): Promise<ConfirmedBlockTags> {
66
39
  const blockTags: ConfirmedBlockTags = {};
67
40
  const chains = new Set(this.warpCore.tokens.map((t) => t.chainName));
68
41
 
69
42
  for (const chain of chains) {
70
- blockTags[chain] = await this.getConfirmedBlockTag(chain);
43
+ blockTags[chain] = await getConfirmedBlockTag(
44
+ this.warpCore.multiProvider,
45
+ chain,
46
+ this.logger,
47
+ );
71
48
  }
72
49
 
73
50
  return blockTags;