@hyperlane-xyz/sdk 41.2.0 → 41.3.1

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 (77) hide show
  1. package/dist/ccip/consts.d.ts.map +1 -1
  2. package/dist/ccip/consts.js +0 -80
  3. package/dist/ccip/consts.js.map +1 -1
  4. package/dist/consts/multisigIsm.d.ts.map +1 -1
  5. package/dist/consts/multisigIsm.js +0 -118
  6. package/dist/consts/multisigIsm.js.map +1 -1
  7. package/dist/deploy/warp.d.ts.map +1 -1
  8. package/dist/deploy/warp.js +11 -2
  9. package/dist/deploy/warp.js.map +1 -1
  10. package/dist/metadata/warpRouteConfig.d.ts +10 -8
  11. package/dist/metadata/warpRouteConfig.d.ts.map +1 -1
  12. package/dist/middleware/account/InterchainAccount.d.ts.map +1 -1
  13. package/dist/middleware/account/InterchainAccount.js +38 -10
  14. package/dist/middleware/account/InterchainAccount.js.map +1 -1
  15. package/dist/middleware/account/InterchainAccount.test.js +182 -2
  16. package/dist/middleware/account/InterchainAccount.test.js.map +1 -1
  17. package/dist/providers/transactionFeeEstimators.d.ts.map +1 -1
  18. package/dist/providers/transactionFeeEstimators.js +26 -18
  19. package/dist/providers/transactionFeeEstimators.js.map +1 -1
  20. package/dist/providers/transactionFeeEstimators.test.js +141 -1
  21. package/dist/providers/transactionFeeEstimators.test.js.map +1 -1
  22. package/dist/token/EvmWarpModule.d.ts +4 -0
  23. package/dist/token/EvmWarpModule.d.ts.map +1 -1
  24. package/dist/token/EvmWarpModule.hardhat-test.js +109 -0
  25. package/dist/token/EvmWarpModule.hardhat-test.js.map +1 -1
  26. package/dist/token/EvmWarpModule.js +92 -4
  27. package/dist/token/EvmWarpModule.js.map +1 -1
  28. package/dist/token/EvmWarpRouteReader.d.ts +1 -0
  29. package/dist/token/EvmWarpRouteReader.d.ts.map +1 -1
  30. package/dist/token/EvmWarpRouteReader.hardhat-test.js +68 -3
  31. package/dist/token/EvmWarpRouteReader.hardhat-test.js.map +1 -1
  32. package/dist/token/EvmWarpRouteReader.js +83 -6
  33. package/dist/token/EvmWarpRouteReader.js.map +1 -1
  34. package/dist/token/ITokenMetadata.d.ts +3 -2
  35. package/dist/token/ITokenMetadata.d.ts.map +1 -1
  36. package/dist/token/Token.d.ts.map +1 -1
  37. package/dist/token/Token.js +4 -0
  38. package/dist/token/Token.js.map +1 -1
  39. package/dist/token/Token.test.js +16 -0
  40. package/dist/token/Token.test.js.map +1 -1
  41. package/dist/token/TokenStandard.d.ts +3 -1
  42. package/dist/token/TokenStandard.d.ts.map +1 -1
  43. package/dist/token/TokenStandard.js +6 -0
  44. package/dist/token/TokenStandard.js.map +1 -1
  45. package/dist/token/config.d.ts +2 -0
  46. package/dist/token/config.d.ts.map +1 -1
  47. package/dist/token/config.js +4 -0
  48. package/dist/token/config.js.map +1 -1
  49. package/dist/token/configUtils.d.ts +5 -0
  50. package/dist/token/configUtils.d.ts.map +1 -1
  51. package/dist/token/configUtils.js +28 -6
  52. package/dist/token/configUtils.js.map +1 -1
  53. package/dist/token/configUtils.test.js +21 -1
  54. package/dist/token/configUtils.test.js.map +1 -1
  55. package/dist/token/contracts.d.ts +3 -1
  56. package/dist/token/contracts.d.ts.map +1 -1
  57. package/dist/token/contracts.js +3 -1
  58. package/dist/token/contracts.js.map +1 -1
  59. package/dist/token/deploy.d.ts +2 -1
  60. package/dist/token/deploy.d.ts.map +1 -1
  61. package/dist/token/deploy.hardhat-test.js +111 -3
  62. package/dist/token/deploy.hardhat-test.js.map +1 -1
  63. package/dist/token/deploy.js +45 -3
  64. package/dist/token/deploy.js.map +1 -1
  65. package/dist/token/tokenMetadataUtils.d.ts.map +1 -1
  66. package/dist/token/tokenMetadataUtils.js +20 -2
  67. package/dist/token/tokenMetadataUtils.js.map +1 -1
  68. package/dist/token/types.d.ts +1049 -22
  69. package/dist/token/types.d.ts.map +1 -1
  70. package/dist/token/types.js +29 -0
  71. package/dist/token/types.js.map +1 -1
  72. package/dist/token/warpCheck.d.ts.map +1 -1
  73. package/dist/token/warpCheck.js +12 -0
  74. package/dist/token/warpCheck.js.map +1 -1
  75. package/dist/warp/types.d.ts +5 -4
  76. package/dist/warp/types.d.ts.map +1 -1
  77. package/package.json +10 -10
@@ -7,7 +7,7 @@ import { defaultRegistryTypes } from '@cosmjs/stargate';
7
7
  import { MsgExecuteContract } from 'cosmjs-types/cosmwasm/wasm/v1/tx.js';
8
8
  import { VersionedTransaction } from '@solana/web3.js';
9
9
  import { StargateClientCache, disconnectStargateClient, shouldCacheStargateClient, } from '@hyperlane-xyz/cosmos-sdk';
10
- import { ProtocolType, assert, convertToProtocolAddress, } from '@hyperlane-xyz/utils';
10
+ import { ProtocolType, assert, convertToProtocolAddress, isNullish, } from '@hyperlane-xyz/utils';
11
11
  import { ProviderType, } from './ProviderType.js';
12
12
  const stargateClientCache = new StargateClientCache(32);
13
13
  export function clearCachedStargateClients() {
@@ -29,8 +29,10 @@ export async function estimateTransactionFeeEthersV5({ transaction, provider, se
29
29
  // Separating out inner function to allow WarpCore to reuse logic
30
30
  export async function estimateTransactionFeeEthersV5ForGasUnits({ provider, gasUnits, }) {
31
31
  const feeData = await provider.getFeeData();
32
- return computeEvmTxFee(gasUnits, feeData.gasPrice ? BigInt(feeData.gasPrice.toString()) : undefined, feeData.maxFeePerGas ? BigInt(feeData.maxFeePerGas.toString()) : undefined, feeData.maxPriorityFeePerGas
33
- ? BigInt(feeData.maxPriorityFeePerGas.toString())
32
+ return computeEvmTxFee(gasUnits, !isNullish(feeData.gasPrice)
33
+ ? BigInt(feeData.gasPrice.toString())
34
+ : undefined, !isNullish(feeData.maxFeePerGas)
35
+ ? BigInt(feeData.maxFeePerGas.toString())
34
36
  : undefined);
35
37
  }
36
38
  export async function estimateTransactionFeeViem({ transaction, provider, sender, }) {
@@ -40,14 +42,14 @@ export async function estimateTransactionFeeViem({ transaction, provider, sender
40
42
  account: sender,
41
43
  }); // Cast to silence overly-protective type enforcement from viem here
42
44
  const feeData = await provider.provider.estimateFeesPerGas();
43
- return computeEvmTxFee(gasUnits, feeData.gasPrice, feeData.maxFeePerGas, feeData.maxPriorityFeePerGas);
45
+ return computeEvmTxFee(gasUnits, feeData.gasPrice, feeData.maxFeePerGas);
44
46
  }
45
- function computeEvmTxFee(gasUnits, gasPrice, maxFeePerGas, maxPriorityFeePerGas) {
47
+ function computeEvmTxFee(gasUnits, gasPrice, maxFeePerGas) {
46
48
  let estGasPrice;
47
- if (maxFeePerGas && maxPriorityFeePerGas) {
48
- estGasPrice = maxFeePerGas + maxPriorityFeePerGas;
49
+ if (!isNullish(maxFeePerGas)) {
50
+ estGasPrice = maxFeePerGas;
49
51
  }
50
- else if (gasPrice) {
52
+ else if (!isNullish(gasPrice)) {
51
53
  estGasPrice = gasPrice;
52
54
  }
53
55
  else {
@@ -62,23 +64,29 @@ function computeEvmTxFee(gasUnits, gasPrice, maxFeePerGas, maxPriorityFeePerGas)
62
64
  export async function estimateTransactionFeeSolanaWeb3({ provider, transaction, }) {
63
65
  const connection = provider.provider;
64
66
  const inner = transaction.transaction;
67
+ const message = inner instanceof VersionedTransaction
68
+ ? inner.message
69
+ : inner.compileMessage();
65
70
  // The two arms are intentionally identical: `Connection.simulateTransaction`
66
71
  // has separate overloads for legacy `Transaction` and `VersionedTransaction`
67
72
  // and the union satisfies neither, so we branch purely to narrow `inner` to a
68
73
  // concrete type and let overload resolution pick the matching signature.
69
- const { value } = inner instanceof VersionedTransaction
70
- ? await connection.simulateTransaction(inner)
71
- : await connection.simulateTransaction(inner);
74
+ const simulation = inner instanceof VersionedTransaction
75
+ ? connection.simulateTransaction(inner)
76
+ : connection.simulateTransaction(inner);
77
+ const [{ value }, feeResponse] = await Promise.all([
78
+ simulation,
79
+ connection.getFeeForMessage(message),
80
+ ]);
72
81
  assert(!value.err, `Solana gas estimation failed: ${JSON.stringify(value)}`);
73
- const gasUnits = BigInt(value.unitsConsumed || 0);
74
- const recentFees = await connection.getRecentPrioritizationFees();
75
- // prioritizationFee is in micro-lamports per compute unit; divide by 1e6 to get lamports
76
- const microLamportsPerCu = BigInt(recentFees[0]?.prioritizationFee ?? 0);
77
- const fee = (gasUnits * microLamportsPerCu) / 1000000n;
82
+ const gasUnits = BigInt(value.unitsConsumed ?? 0);
83
+ assert(feeResponse.value !== null, 'Solana transaction fee estimation failed');
78
84
  return {
79
85
  gasUnits,
80
- gasPrice: microLamportsPerCu,
81
- fee,
86
+ // Solana's message fee includes fixed signature and optional priority fees,
87
+ // so it cannot be represented as one price per consumed compute unit.
88
+ gasPrice: 0n,
89
+ fee: BigInt(feeResponse.value),
82
90
  };
83
91
  }
84
92
  // This is based on a reverse-engineered version of the
@@ -1 +1 @@
1
- {"version":3,"file":"transactionFeeEstimators.js","sourceRoot":"","sources":["../../src/providers/transactionFeeEstimators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transactionFeeEstimators.js","sourceRoot":"","sources":["../../src/providers/transactionFeeEstimators.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,13 @@
1
1
  import { expect } from 'chai';
2
2
  import sinon from 'sinon';
3
3
  import { StargateClient } from '@cosmjs/stargate';
4
+ import { Connection, Keypair, SystemProgram, Transaction, TransactionMessage, VersionedTransaction, } from '@solana/web3.js';
5
+ import { BigNumber, providers as EthersV5Providers } from 'ethers';
6
+ import { createPublicClient, custom } from 'viem';
4
7
  import { ProviderType } from './ProviderType.js';
5
- import { clearCachedStargateClients, estimateTransactionFeeCosmJsWasm, } from './transactionFeeEstimators.js';
8
+ import { clearCachedStargateClients, estimateTransactionFeeCosmJsWasm, estimateTransactionFeeEthersV5ForGasUnits, estimateTransactionFeeSolanaWeb3, estimateTransactionFeeViem, } from './transactionFeeEstimators.js';
9
+ const EVM_ADDRESS = '0x0000000000000000000000000000000000000001';
10
+ const EVM_HASH = `0x${'01'.repeat(32)}`;
6
11
  describe('transactionFeeEstimators', () => {
7
12
  const sender = 'cosmos1sender';
8
13
  const senderPubKey = `02${'aa'.repeat(32)}`;
@@ -22,6 +27,77 @@ describe('transactionFeeEstimators', () => {
22
27
  clearCachedStargateClients();
23
28
  sandbox.restore();
24
29
  });
30
+ function makeEthersFeeProvider({ gasPrice, maxFeePerGas, }) {
31
+ const provider = new EthersV5Providers.JsonRpcProvider();
32
+ sandbox.stub(provider, 'getFeeData').resolves({
33
+ gasPrice: gasPrice === null ? null : BigNumber.from(gasPrice),
34
+ lastBaseFeePerGas: null,
35
+ maxFeePerGas: maxFeePerGas === null ? null : BigNumber.from(maxFeePerGas),
36
+ maxPriorityFeePerGas: null,
37
+ });
38
+ return provider;
39
+ }
40
+ it('uses the EIP-1559 max fee as the total gas price cap', async () => {
41
+ const estimate = await estimateTransactionFeeEthersV5ForGasUnits({
42
+ provider: makeEthersFeeProvider({ gasPrice: 1n, maxFeePerGas: 2n }),
43
+ gasUnits: 600000n,
44
+ });
45
+ expect(estimate).to.deep.equal({
46
+ gasUnits: 600000n,
47
+ gasPrice: 2n,
48
+ fee: 1200000n,
49
+ });
50
+ });
51
+ it('keeps zero-valued Ethers fee data as present', async () => {
52
+ const estimate = await estimateTransactionFeeEthersV5ForGasUnits({
53
+ provider: makeEthersFeeProvider({ gasPrice: 0n, maxFeePerGas: 0n }),
54
+ gasUnits: 600000n,
55
+ });
56
+ expect(estimate).to.deep.equal({
57
+ gasUnits: 600000n,
58
+ gasPrice: 0n,
59
+ fee: 0n,
60
+ });
61
+ });
62
+ it('keeps zero-valued Viem fee data as present', async () => {
63
+ const client = createPublicClient({
64
+ transport: custom({
65
+ request: async () => {
66
+ throw new Error('Unexpected RPC request');
67
+ },
68
+ }),
69
+ });
70
+ sandbox.stub(client, 'estimateGas').resolves(21000n);
71
+ sandbox.stub(client, 'estimateFeesPerGas').resolves({ gasPrice: 0n });
72
+ const transaction = {
73
+ blockHash: EVM_HASH,
74
+ blockNumber: 1n,
75
+ from: EVM_ADDRESS,
76
+ gas: 21000n,
77
+ gasPrice: 0n,
78
+ hash: EVM_HASH,
79
+ input: '0x',
80
+ nonce: 0,
81
+ r: '0x',
82
+ s: '0x',
83
+ to: EVM_ADDRESS,
84
+ transactionIndex: 0,
85
+ type: 'legacy',
86
+ typeHex: '0x0',
87
+ v: 27n,
88
+ value: 0n,
89
+ };
90
+ const estimate = await estimateTransactionFeeViem({
91
+ transaction: { type: ProviderType.Viem, transaction },
92
+ provider: { type: ProviderType.Viem, provider: client },
93
+ sender: EVM_ADDRESS,
94
+ });
95
+ expect(estimate).to.deep.equal({
96
+ gasUnits: 21000n,
97
+ gasPrice: 0n,
98
+ fee: 0n,
99
+ });
100
+ });
25
101
  function makeProvider(url) {
26
102
  return {
27
103
  type: ProviderType.CosmJsWasm,
@@ -34,6 +110,70 @@ describe('transactionFeeEstimators', () => {
34
110
  }),
35
111
  };
36
112
  }
113
+ it('returns the Solana base fee when priority pricing is zero', async () => {
114
+ const sender = Keypair.generate();
115
+ const transaction = new Transaction({
116
+ feePayer: sender.publicKey,
117
+ recentBlockhash: '11111111111111111111111111111111',
118
+ }).add(SystemProgram.transfer({
119
+ fromPubkey: sender.publicKey,
120
+ toPubkey: Keypair.generate().publicKey,
121
+ lamports: 1,
122
+ }));
123
+ const connection = new Connection('http://localhost:8899');
124
+ sandbox.stub(connection, 'simulateTransaction').resolves({
125
+ context: { slot: 1 },
126
+ value: { err: null, logs: null, unitsConsumed: 200_000 },
127
+ });
128
+ const getRecentPrioritizationFees = sandbox
129
+ .stub(connection, 'getRecentPrioritizationFees')
130
+ .resolves([{ prioritizationFee: 0, slot: 1 }]);
131
+ const getFeeForMessage = sandbox
132
+ .stub(connection, 'getFeeForMessage')
133
+ .resolves({ context: { slot: 1 }, value: 5_000 });
134
+ const estimate = await estimateTransactionFeeSolanaWeb3({
135
+ transaction: { type: ProviderType.SolanaWeb3, transaction },
136
+ provider: { type: ProviderType.SolanaWeb3, provider: connection },
137
+ });
138
+ expect(estimate).to.deep.equal({
139
+ gasUnits: 200000n,
140
+ gasPrice: 0n,
141
+ fee: 5000n,
142
+ });
143
+ expect(getFeeForMessage.calledOnce).to.equal(true);
144
+ expect(getRecentPrioritizationFees.notCalled).to.equal(true);
145
+ });
146
+ it('uses the message fee for versioned Solana transactions', async () => {
147
+ const sender = Keypair.generate();
148
+ const message = new TransactionMessage({
149
+ payerKey: sender.publicKey,
150
+ recentBlockhash: '11111111111111111111111111111111',
151
+ instructions: [
152
+ SystemProgram.transfer({
153
+ fromPubkey: sender.publicKey,
154
+ toPubkey: Keypair.generate().publicKey,
155
+ lamports: 1,
156
+ }),
157
+ ],
158
+ }).compileToV0Message();
159
+ const connection = new Connection('http://localhost:8899');
160
+ sandbox.stub(connection, 'simulateTransaction').resolves({
161
+ context: { slot: 1 },
162
+ value: { err: null, logs: null, unitsConsumed: 200_000 },
163
+ });
164
+ const getFeeForMessage = sandbox
165
+ .stub(connection, 'getFeeForMessage')
166
+ .resolves({ context: { slot: 1 }, value: 5_123 });
167
+ const estimate = await estimateTransactionFeeSolanaWeb3({
168
+ transaction: {
169
+ type: ProviderType.SolanaWeb3,
170
+ transaction: new VersionedTransaction(message),
171
+ },
172
+ provider: { type: ProviderType.SolanaWeb3, provider: connection },
173
+ });
174
+ expect(estimate.fee).to.equal(5123n);
175
+ expect(getFeeForMessage.calledOnceWithExactly(message)).to.equal(true);
176
+ });
37
177
  function makeStargateClient(simulate) {
38
178
  return {
39
179
  disconnect: sandbox.stub(),
@@ -1 +1 @@
1
- {"version":3,"file":"transactionFeeEstimators.test.js","sourceRoot":"","sources":["../../src/providers/transactionFeeEstimators.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transactionFeeEstimators.test.js","sourceRoot":"","sources":["../../src/providers/transactionFeeEstimators.test.ts"],"names":[],"mappings":"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"}
@@ -104,6 +104,10 @@ export declare class EvmWarpModule extends HyperlaneModule<ProtocolType.Ethereum
104
104
  getAllowedBridgesApprovalTxs(actualConfig: DerivedTokenRouterConfig, expectedConfig: HypTokenRouterConfig): Promise<AnnotatedEV5Transaction[]>;
105
105
  createAddAllowedBridgesUpdateTxs(actualConfig: DerivedTokenRouterConfig, expectedConfig: HypTokenRouterConfig): Promise<AnnotatedEV5Transaction[]>;
106
106
  createRemoveBridgesTxs(actualConfig: DerivedTokenRouterConfig, expectedConfig: HypTokenRouterConfig): AnnotatedEV5Transaction[];
107
+ createAddRebalanceTargetsUpdateTxs(actualConfig: DerivedTokenRouterConfig, expectedConfig: HypTokenRouterConfig): AnnotatedEV5Transaction[];
108
+ createRemoveRebalanceTargetsTxs(actualConfig: DerivedTokenRouterConfig, expectedConfig: HypTokenRouterConfig): AnnotatedEV5Transaction[];
109
+ createSetRecipientsUpdateTxs(actualConfig: DerivedTokenRouterConfig, expectedConfig: HypTokenRouterConfig): AnnotatedEV5Transaction[];
110
+ createRemoveRecipientsTxs(actualConfig: DerivedTokenRouterConfig, expectedConfig: HypTokenRouterConfig): AnnotatedEV5Transaction[];
107
111
  /**
108
112
  * Revokes legacy standing ERC20 allowances for bridges that remain allowlisted
109
113
  * after an in-place upgrade.
@@ -1 +1 @@
1
- {"version":3,"file":"EvmWarpModule.d.ts","sourceRoot":"","sources":["../../src/token/EvmWarpModule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EvmWarpModule.d.ts","sourceRoot":"","sources":["../../src/token/EvmWarpModule.ts"],"names":[],"mappings":"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"}
@@ -728,6 +728,115 @@ describe('EvmWarpModule', async () => {
728
728
  ]);
729
729
  expect(unenrollRouters.map((router) => router.toLowerCase()).sort()).to.deep.equal([routerOne.toLowerCase(), routerTwo.toLowerCase()].sort());
730
730
  });
731
+ it('preserves canonical bytes32 rebalance targets and recipients', () => {
732
+ const localDomain = multiProvider.getDomainId(chain);
733
+ const target = addressToBytes32('0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa');
734
+ const recipient = addressToBytes32('0xbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb');
735
+ const module = new EvmWarpModule(multiProvider, {
736
+ chain,
737
+ config: {
738
+ ...baseConfig,
739
+ type: TokenType.crossCollateral,
740
+ token: token.address,
741
+ },
742
+ addresses: {
743
+ ...ismFactoryAddresses,
744
+ deployedTokenRoute: randomAddress(),
745
+ },
746
+ });
747
+ const actualConfig = {
748
+ ...baseConfig,
749
+ hook: ethers.constants.AddressZero,
750
+ interchainSecurityModule: ethers.constants.AddressZero,
751
+ type: TokenType.crossCollateral,
752
+ token: token.address,
753
+ tokenFee: undefined,
754
+ rebalanceTargets: {},
755
+ rebalanceRecipients: {},
756
+ };
757
+ const expectedConfig = {
758
+ ...baseConfig,
759
+ type: TokenType.crossCollateral,
760
+ token: token.address,
761
+ rebalanceTargets: { [localDomain]: [target] },
762
+ rebalanceRecipients: { [localDomain]: recipient },
763
+ };
764
+ const [targetTx] = module.createAddRebalanceTargetsUpdateTxs(actualConfig, expectedConfig);
765
+ assert(targetTx.data, 'Expected rebalance target calldata');
766
+ const [, decodedTarget] = CrossCollateralRouter__factory.createInterface().decodeFunctionData('addRebalanceTarget(uint32,bytes32)', targetTx.data);
767
+ expect(decodedTarget.toLowerCase()).to.equal(target);
768
+ const [recipientTx] = module.createSetRecipientsUpdateTxs(actualConfig, expectedConfig);
769
+ assert(recipientTx.data, 'Expected rebalance recipient calldata');
770
+ const [, decodedRecipient] = CrossCollateralRouter__factory.createInterface().decodeFunctionData('setRecipient(uint32,bytes32)', recipientTx.data);
771
+ expect(decodedRecipient.toLowerCase()).to.equal(recipient);
772
+ });
773
+ it('rejects rebalance domains that cannot be read back', () => {
774
+ const localDomain = multiProvider.getDomainId(chain);
775
+ const unknownDomain = localDomain + 1000;
776
+ const module = new EvmWarpModule(multiProvider, {
777
+ chain,
778
+ config: {
779
+ ...baseConfig,
780
+ type: TokenType.crossCollateral,
781
+ token: token.address,
782
+ },
783
+ addresses: {
784
+ ...ismFactoryAddresses,
785
+ deployedTokenRoute: randomAddress(),
786
+ },
787
+ });
788
+ const actualConfig = {
789
+ ...baseConfig,
790
+ hook: ethers.constants.AddressZero,
791
+ interchainSecurityModule: ethers.constants.AddressZero,
792
+ type: TokenType.crossCollateral,
793
+ token: token.address,
794
+ tokenFee: undefined,
795
+ };
796
+ const expectedConfig = {
797
+ ...baseConfig,
798
+ type: TokenType.crossCollateral,
799
+ token: token.address,
800
+ rebalanceTargets: {
801
+ [unknownDomain]: [addressToBytes32(randomAddress())],
802
+ },
803
+ };
804
+ expect(() => module.createAddRebalanceTargetsUpdateTxs(actualConfig, expectedConfig)).to.throw(`Rebalance domain ${unknownDomain}`);
805
+ });
806
+ it('removes stale rebalance config when expected fields are omitted', () => {
807
+ const localDomain = multiProvider.getDomainId(chain);
808
+ const target = addressToBytes32(randomAddress());
809
+ const recipient = addressToBytes32(randomAddress());
810
+ const module = new EvmWarpModule(multiProvider, {
811
+ chain,
812
+ config: {
813
+ ...baseConfig,
814
+ type: TokenType.crossCollateral,
815
+ token: token.address,
816
+ },
817
+ addresses: {
818
+ ...ismFactoryAddresses,
819
+ deployedTokenRoute: randomAddress(),
820
+ },
821
+ });
822
+ const actualConfig = {
823
+ ...baseConfig,
824
+ hook: ethers.constants.AddressZero,
825
+ interchainSecurityModule: ethers.constants.AddressZero,
826
+ type: TokenType.crossCollateral,
827
+ token: token.address,
828
+ tokenFee: undefined,
829
+ rebalanceTargets: { [localDomain]: [target] },
830
+ rebalanceRecipients: { [localDomain]: recipient },
831
+ };
832
+ const expectedConfig = {
833
+ ...baseConfig,
834
+ type: TokenType.crossCollateral,
835
+ token: token.address,
836
+ };
837
+ expect(module.createRemoveRebalanceTargetsTxs(actualConfig, expectedConfig)).to.have.length(1);
838
+ expect(module.createRemoveRecipientsTxs(actualConfig, expectedConfig)).to.have.length(1);
839
+ });
731
840
  it('includes MC crossCollateralRouters domains in destination gas txs', async () => {
732
841
  const destinationDomain = multiProvider.getDomainId(TestChainName.test2);
733
842
  const enrolledRouter = addressToBytes32('0x4444444444444444444444444444444444444444');