@hyperlane-xyz/sdk 30.0.0 → 30.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 (186) hide show
  1. package/dist/core/EvmCoreModule.d.ts.map +1 -1
  2. package/dist/core/EvmCoreModule.hardhat-test.js +22 -3
  3. package/dist/core/EvmCoreModule.hardhat-test.js.map +1 -1
  4. package/dist/core/EvmCoreModule.js +11 -0
  5. package/dist/core/EvmCoreModule.js.map +1 -1
  6. package/dist/core/HyperlaneCoreDeployer.d.ts +2 -1
  7. package/dist/core/HyperlaneCoreDeployer.d.ts.map +1 -1
  8. package/dist/core/HyperlaneCoreDeployer.js +13 -4
  9. package/dist/core/HyperlaneCoreDeployer.js.map +1 -1
  10. package/dist/core/MultiProtocolCore.test.js +1 -0
  11. package/dist/core/MultiProtocolCore.test.js.map +1 -1
  12. package/dist/core/TestCoreApp.d.ts +1 -0
  13. package/dist/core/TestCoreApp.d.ts.map +1 -1
  14. package/dist/core/contracts.d.ts +3 -1
  15. package/dist/core/contracts.d.ts.map +1 -1
  16. package/dist/core/contracts.js +4 -1
  17. package/dist/core/contracts.js.map +1 -1
  18. package/dist/core/types.d.ts +344 -16
  19. package/dist/core/types.d.ts.map +1 -1
  20. package/dist/core/types.js +4 -0
  21. package/dist/core/types.js.map +1 -1
  22. package/dist/fee/EvmTokenFeeDeployer.d.ts +2 -0
  23. package/dist/fee/EvmTokenFeeDeployer.d.ts.map +1 -1
  24. package/dist/fee/EvmTokenFeeDeployer.hardhat-test.js +80 -9
  25. package/dist/fee/EvmTokenFeeDeployer.hardhat-test.js.map +1 -1
  26. package/dist/fee/EvmTokenFeeDeployer.js +68 -25
  27. package/dist/fee/EvmTokenFeeDeployer.js.map +1 -1
  28. package/dist/fee/EvmTokenFeeModule.d.ts +5 -3
  29. package/dist/fee/EvmTokenFeeModule.d.ts.map +1 -1
  30. package/dist/fee/EvmTokenFeeModule.hardhat-test.js +384 -20
  31. package/dist/fee/EvmTokenFeeModule.hardhat-test.js.map +1 -1
  32. package/dist/fee/EvmTokenFeeModule.js +190 -68
  33. package/dist/fee/EvmTokenFeeModule.js.map +1 -1
  34. package/dist/fee/EvmTokenFeeReader.d.ts +15 -2
  35. package/dist/fee/EvmTokenFeeReader.d.ts.map +1 -1
  36. package/dist/fee/EvmTokenFeeReader.hardhat-test.d.ts.map +1 -1
  37. package/dist/fee/EvmTokenFeeReader.hardhat-test.js +191 -4
  38. package/dist/fee/EvmTokenFeeReader.hardhat-test.js.map +1 -1
  39. package/dist/fee/EvmTokenFeeReader.js +104 -13
  40. package/dist/fee/EvmTokenFeeReader.js.map +1 -1
  41. package/dist/fee/contracts.d.ts +3 -1
  42. package/dist/fee/contracts.d.ts.map +1 -1
  43. package/dist/fee/contracts.js +3 -1
  44. package/dist/fee/contracts.js.map +1 -1
  45. package/dist/fee/crossCollateralUtils.d.ts +8 -0
  46. package/dist/fee/crossCollateralUtils.d.ts.map +1 -0
  47. package/dist/fee/crossCollateralUtils.js +49 -0
  48. package/dist/fee/crossCollateralUtils.js.map +1 -0
  49. package/dist/fee/types.d.ts +296 -32
  50. package/dist/fee/types.d.ts.map +1 -1
  51. package/dist/fee/types.js +94 -11
  52. package/dist/fee/types.js.map +1 -1
  53. package/dist/fee/types.test.js +39 -1
  54. package/dist/fee/types.test.js.map +1 -1
  55. package/dist/gas/HyperlaneIgpDeployer.d.ts.map +1 -1
  56. package/dist/gas/HyperlaneIgpDeployer.js +6 -0
  57. package/dist/gas/HyperlaneIgpDeployer.js.map +1 -1
  58. package/dist/hook/EvmHookModule.d.ts +5 -1
  59. package/dist/hook/EvmHookModule.d.ts.map +1 -1
  60. package/dist/hook/EvmHookModule.hardhat-test.js +69 -1
  61. package/dist/hook/EvmHookModule.hardhat-test.js.map +1 -1
  62. package/dist/hook/EvmHookModule.js +65 -2
  63. package/dist/hook/EvmHookModule.js.map +1 -1
  64. package/dist/hook/EvmHookReader.d.ts.map +1 -1
  65. package/dist/hook/EvmHookReader.js +7 -1
  66. package/dist/hook/EvmHookReader.js.map +1 -1
  67. package/dist/hook/HyperlaneHookDeployer.d.ts +5 -0
  68. package/dist/hook/HyperlaneHookDeployer.d.ts.map +1 -1
  69. package/dist/hook/types.d.ts +60 -0
  70. package/dist/hook/types.d.ts.map +1 -1
  71. package/dist/hook/types.js +2 -0
  72. package/dist/hook/types.js.map +1 -1
  73. package/dist/ica/types.d.ts +236 -12
  74. package/dist/ica/types.d.ts.map +1 -1
  75. package/dist/index.d.ts +6 -3
  76. package/dist/index.d.ts.map +1 -1
  77. package/dist/index.js +6 -3
  78. package/dist/index.js.map +1 -1
  79. package/dist/metadata/warpRouteConfig.d.ts +10 -8
  80. package/dist/metadata/warpRouteConfig.d.ts.map +1 -1
  81. package/dist/middleware/account/InterchainAccount.d.ts +8 -8
  82. package/dist/quoted-calls/builder.d.ts +52 -0
  83. package/dist/quoted-calls/builder.d.ts.map +1 -0
  84. package/dist/quoted-calls/builder.js +161 -0
  85. package/dist/quoted-calls/builder.js.map +1 -0
  86. package/dist/quoted-calls/builder.test.d.ts +2 -0
  87. package/dist/quoted-calls/builder.test.d.ts.map +1 -0
  88. package/dist/quoted-calls/builder.test.js +193 -0
  89. package/dist/quoted-calls/builder.test.js.map +1 -0
  90. package/dist/quoted-calls/codec.d.ts +94 -0
  91. package/dist/quoted-calls/codec.d.ts.map +1 -0
  92. package/dist/quoted-calls/codec.js +223 -0
  93. package/dist/quoted-calls/codec.js.map +1 -0
  94. package/dist/quoted-calls/codec.test.d.ts +2 -0
  95. package/dist/quoted-calls/codec.test.d.ts.map +1 -0
  96. package/dist/quoted-calls/codec.test.js +307 -0
  97. package/dist/quoted-calls/codec.test.js.map +1 -0
  98. package/dist/quoted-calls/types.d.ts +68 -0
  99. package/dist/quoted-calls/types.d.ts.map +1 -0
  100. package/dist/quoted-calls/types.js +22 -0
  101. package/dist/quoted-calls/types.js.map +1 -0
  102. package/dist/router/types.d.ts +246 -12
  103. package/dist/router/types.d.ts.map +1 -1
  104. package/dist/token/EvmWarpModule.d.ts +1 -0
  105. package/dist/token/EvmWarpModule.d.ts.map +1 -1
  106. package/dist/token/EvmWarpModule.hardhat-test.js +146 -2
  107. package/dist/token/EvmWarpModule.hardhat-test.js.map +1 -1
  108. package/dist/token/EvmWarpModule.js +36 -5
  109. package/dist/token/EvmWarpModule.js.map +1 -1
  110. package/dist/token/EvmWarpRouteReader.d.ts +3 -1
  111. package/dist/token/EvmWarpRouteReader.d.ts.map +1 -1
  112. package/dist/token/EvmWarpRouteReader.hardhat-test.js +129 -5
  113. package/dist/token/EvmWarpRouteReader.hardhat-test.js.map +1 -1
  114. package/dist/token/EvmWarpRouteReader.js +86 -24
  115. package/dist/token/EvmWarpRouteReader.js.map +1 -1
  116. package/dist/token/IToken.d.ts +2 -2
  117. package/dist/token/Token.d.ts.map +1 -1
  118. package/dist/token/Token.js +12 -1
  119. package/dist/token/Token.js.map +1 -1
  120. package/dist/token/Token.test.js +1 -0
  121. package/dist/token/Token.test.js.map +1 -1
  122. package/dist/token/TokenStandard.d.ts +2 -1
  123. package/dist/token/TokenStandard.d.ts.map +1 -1
  124. package/dist/token/TokenStandard.js +8 -0
  125. package/dist/token/TokenStandard.js.map +1 -1
  126. package/dist/token/adapters/EvmCrossCollateralAdapter.d.ts +1 -1
  127. package/dist/token/adapters/EvmCrossCollateralAdapter.d.ts.map +1 -1
  128. package/dist/token/adapters/EvmCrossCollateralAdapter.js +1 -1
  129. package/dist/token/adapters/EvmCrossCollateralAdapter.js.map +1 -1
  130. package/dist/token/adapters/EvmTokenAdapter.d.ts +2 -2
  131. package/dist/token/adapters/EvmTokenAdapter.d.ts.map +1 -1
  132. package/dist/token/adapters/EvmTokenAdapter.js +11 -5
  133. package/dist/token/adapters/EvmTokenAdapter.js.map +1 -1
  134. package/dist/token/adapters/ITokenAdapter.d.ts +20 -0
  135. package/dist/token/adapters/ITokenAdapter.d.ts.map +1 -1
  136. package/dist/token/adapters/ITokenAdapter.js +6 -1
  137. package/dist/token/adapters/ITokenAdapter.js.map +1 -1
  138. package/dist/token/adapters/SealevelCrossCollateralAdapter.d.ts +36 -0
  139. package/dist/token/adapters/SealevelCrossCollateralAdapter.d.ts.map +1 -0
  140. package/dist/token/adapters/SealevelCrossCollateralAdapter.js +364 -0
  141. package/dist/token/adapters/SealevelCrossCollateralAdapter.js.map +1 -0
  142. package/dist/token/adapters/SealevelTokenAdapter.d.ts +9 -0
  143. package/dist/token/adapters/SealevelTokenAdapter.d.ts.map +1 -1
  144. package/dist/token/adapters/SealevelTokenAdapter.js +1 -1
  145. package/dist/token/adapters/SealevelTokenAdapter.js.map +1 -1
  146. package/dist/token/adapters/serialization.d.ts +27 -0
  147. package/dist/token/adapters/serialization.d.ts.map +1 -1
  148. package/dist/token/adapters/serialization.js +93 -0
  149. package/dist/token/adapters/serialization.js.map +1 -1
  150. package/dist/token/config.d.ts +2 -0
  151. package/dist/token/config.d.ts.map +1 -1
  152. package/dist/token/config.js +2 -0
  153. package/dist/token/config.js.map +1 -1
  154. package/dist/token/configUtils.d.ts +0 -6
  155. package/dist/token/configUtils.d.ts.map +1 -1
  156. package/dist/token/configUtils.js +108 -15
  157. package/dist/token/configUtils.js.map +1 -1
  158. package/dist/token/configUtils.test.js +248 -4
  159. package/dist/token/configUtils.test.js.map +1 -1
  160. package/dist/token/contracts.d.ts +3 -2
  161. package/dist/token/contracts.d.ts.map +1 -1
  162. package/dist/token/contracts.js +3 -2
  163. package/dist/token/contracts.js.map +1 -1
  164. package/dist/token/deploy.d.ts +4 -5
  165. package/dist/token/deploy.d.ts.map +1 -1
  166. package/dist/token/deploy.hardhat-test.js +82 -0
  167. package/dist/token/deploy.hardhat-test.js.map +1 -1
  168. package/dist/token/deploy.js +60 -17
  169. package/dist/token/deploy.js.map +1 -1
  170. package/dist/token/tokenMetadataUtils.d.ts.map +1 -1
  171. package/dist/token/tokenMetadataUtils.js +17 -2
  172. package/dist/token/tokenMetadataUtils.js.map +1 -1
  173. package/dist/token/types.d.ts +2277 -567
  174. package/dist/token/types.d.ts.map +1 -1
  175. package/dist/token/types.js +55 -5
  176. package/dist/token/types.js.map +1 -1
  177. package/dist/token/types.test.js +132 -0
  178. package/dist/token/types.test.js.map +1 -1
  179. package/dist/warp/WarpCore.d.ts +59 -1
  180. package/dist/warp/WarpCore.d.ts.map +1 -1
  181. package/dist/warp/WarpCore.js +206 -6
  182. package/dist/warp/WarpCore.js.map +1 -1
  183. package/dist/warp/WarpCore.test.js +161 -9
  184. package/dist/warp/WarpCore.test.js.map +1 -1
  185. package/dist/warp/types.d.ts +24 -24
  186. package/package.json +11 -12
@@ -1,6 +1,6 @@
1
1
  import { expect } from 'chai';
2
2
  import { constants } from 'ethers';
3
- import { TokenFeeType } from '../fee/types.js';
3
+ import { DEFAULT_ROUTER_KEY, TokenFeeType, } from '../fee/types.js';
4
4
  import { HookType } from '../hook/types.js';
5
5
  import { IsmType } from '../ism/types.js';
6
6
  import { TokenType } from './config.js';
@@ -180,6 +180,225 @@ describe('configUtils', () => {
180
180
  expect(transformedObj).to.eql(expected);
181
181
  });
182
182
  }
183
+ it('normalizes LinearFee maxFee/halfAmount so equivalent bps configs compare equal', () => {
184
+ const transformedObj = transformConfigToCheck({
185
+ type: TokenType.collateral,
186
+ token: ADDRESS,
187
+ tokenFee: {
188
+ type: TokenFeeType.LinearFee,
189
+ owner: ADDRESS,
190
+ token: ADDRESS,
191
+ bps: 300n,
192
+ maxFee: 999n,
193
+ halfAmount: 123n,
194
+ },
195
+ });
196
+ expect(transformedObj).to.eql({
197
+ type: TokenType.collateral,
198
+ token: ADDRESS,
199
+ tokenFee: {
200
+ type: TokenFeeType.LinearFee,
201
+ owner: ADDRESS,
202
+ token: ADDRESS,
203
+ bps: 300n,
204
+ },
205
+ });
206
+ });
207
+ it('normalizes OffchainQuotedLinearFee maxFee/halfAmount so equivalent bps configs compare equal', () => {
208
+ const transformedObj = transformConfigToCheck({
209
+ type: TokenType.collateral,
210
+ token: ADDRESS,
211
+ tokenFee: {
212
+ type: TokenFeeType.OffchainQuotedLinearFee,
213
+ owner: ADDRESS,
214
+ token: ADDRESS,
215
+ bps: 300n,
216
+ maxFee: 999n,
217
+ halfAmount: 123n,
218
+ quoteSigners: [ADDRESS],
219
+ },
220
+ });
221
+ expect(transformedObj).to.eql({
222
+ type: TokenType.collateral,
223
+ token: ADDRESS,
224
+ tokenFee: {
225
+ type: TokenFeeType.OffchainQuotedLinearFee,
226
+ owner: ADDRESS,
227
+ token: ADDRESS,
228
+ bps: 300n,
229
+ quoteSigners: [ADDRESS],
230
+ },
231
+ });
232
+ });
233
+ it('normalizes RoutingFee maxFee/halfAmount recursively for feeContracts', () => {
234
+ const transformedObj = transformConfigToCheck({
235
+ type: TokenType.collateral,
236
+ token: ADDRESS,
237
+ tokenFee: {
238
+ type: TokenFeeType.RoutingFee,
239
+ owner: ADDRESS,
240
+ token: ADDRESS,
241
+ maxFee: 1n,
242
+ halfAmount: 2n,
243
+ feeContracts: {
244
+ ethereum: {
245
+ type: TokenFeeType.LinearFee,
246
+ owner: ADDRESS,
247
+ token: ADDRESS,
248
+ bps: 300n,
249
+ maxFee: 3n,
250
+ halfAmount: 4n,
251
+ },
252
+ },
253
+ },
254
+ });
255
+ expect(transformedObj).to.eql({
256
+ type: TokenType.collateral,
257
+ token: ADDRESS,
258
+ tokenFee: {
259
+ type: TokenFeeType.RoutingFee,
260
+ owner: ADDRESS,
261
+ token: ADDRESS,
262
+ feeContracts: {
263
+ ethereum: {
264
+ type: TokenFeeType.LinearFee,
265
+ owner: ADDRESS,
266
+ token: ADDRESS,
267
+ bps: 300n,
268
+ },
269
+ },
270
+ },
271
+ });
272
+ });
273
+ it('normalizes CCRF router-keyed fee contracts recursively', () => {
274
+ const ROUTER_KEY = '0x1111111111111111111111111111111111111111111111111111111111111111';
275
+ const transformedObj = transformConfigToCheck({
276
+ type: TokenType.collateral,
277
+ token: ADDRESS,
278
+ tokenFee: {
279
+ type: TokenFeeType.CrossCollateralRoutingFee,
280
+ owner: ADDRESS,
281
+ feeContracts: {
282
+ ethereum: {
283
+ [DEFAULT_ROUTER_KEY]: {
284
+ type: TokenFeeType.LinearFee,
285
+ owner: ADDRESS,
286
+ token: ADDRESS,
287
+ bps: 200n,
288
+ maxFee: 3n,
289
+ halfAmount: 4n,
290
+ },
291
+ [ROUTER_KEY]: {
292
+ type: TokenFeeType.LinearFee,
293
+ owner: ADDRESS,
294
+ token: ADDRESS,
295
+ bps: 300n,
296
+ maxFee: 5n,
297
+ halfAmount: 6n,
298
+ },
299
+ },
300
+ },
301
+ },
302
+ });
303
+ expect(transformedObj).to.eql({
304
+ type: TokenType.collateral,
305
+ token: ADDRESS,
306
+ tokenFee: {
307
+ type: TokenFeeType.CrossCollateralRoutingFee,
308
+ owner: ADDRESS,
309
+ feeContracts: {
310
+ ethereum: {
311
+ [DEFAULT_ROUTER_KEY]: {
312
+ type: TokenFeeType.LinearFee,
313
+ owner: ADDRESS,
314
+ token: ADDRESS,
315
+ bps: 200n,
316
+ },
317
+ [ROUTER_KEY]: {
318
+ type: TokenFeeType.LinearFee,
319
+ owner: ADDRESS,
320
+ token: ADDRESS,
321
+ bps: 300n,
322
+ },
323
+ },
324
+ },
325
+ },
326
+ });
327
+ });
328
+ it('keeps only populated CCRF router entries during normalization', () => {
329
+ const transformedObj = transformConfigToCheck({
330
+ type: TokenType.collateral,
331
+ token: ADDRESS,
332
+ tokenFee: {
333
+ type: TokenFeeType.CrossCollateralRoutingFee,
334
+ owner: ADDRESS,
335
+ feeContracts: {
336
+ ethereum: {
337
+ [DEFAULT_ROUTER_KEY]: {
338
+ type: TokenFeeType.LinearFee,
339
+ owner: ADDRESS,
340
+ token: ADDRESS,
341
+ bps: 200n,
342
+ },
343
+ },
344
+ },
345
+ },
346
+ });
347
+ expect(transformedObj).to.eql({
348
+ type: TokenType.collateral,
349
+ token: ADDRESS,
350
+ tokenFee: {
351
+ type: TokenFeeType.CrossCollateralRoutingFee,
352
+ owner: ADDRESS,
353
+ feeContracts: {
354
+ ethereum: {
355
+ [DEFAULT_ROUTER_KEY]: {
356
+ type: TokenFeeType.LinearFee,
357
+ owner: ADDRESS,
358
+ token: ADDRESS,
359
+ bps: 200n,
360
+ },
361
+ },
362
+ },
363
+ },
364
+ });
365
+ });
366
+ it('normalizes RoutingFee feeContracts when both destination and nested fee contracts are provided', () => {
367
+ const transformedObj = transformConfigToCheck({
368
+ type: TokenType.collateral,
369
+ token: ADDRESS,
370
+ tokenFee: {
371
+ type: TokenFeeType.RoutingFee,
372
+ owner: ADDRESS,
373
+ token: ADDRESS,
374
+ feeContracts: {
375
+ ethereum: {
376
+ type: TokenFeeType.LinearFee,
377
+ owner: ADDRESS,
378
+ token: ADDRESS,
379
+ bps: 100n,
380
+ },
381
+ },
382
+ },
383
+ });
384
+ expect(transformedObj).to.eql({
385
+ type: TokenType.collateral,
386
+ token: ADDRESS,
387
+ tokenFee: {
388
+ type: TokenFeeType.RoutingFee,
389
+ owner: ADDRESS,
390
+ token: ADDRESS,
391
+ feeContracts: {
392
+ ethereum: {
393
+ type: TokenFeeType.LinearFee,
394
+ owner: ADDRESS,
395
+ token: ADDRESS,
396
+ bps: 100n,
397
+ },
398
+ },
399
+ },
400
+ });
401
+ });
183
402
  });
184
403
  describe(resolveTokenFeeAddress.name, () => {
185
404
  const ROUTER_ADDRESS = '0x1234567890123456789012345678901234567890';
@@ -244,18 +463,43 @@ describe('configUtils', () => {
244
463
  expect(result.token).to.equal(ROUTER_ADDRESS);
245
464
  expect(result.type).to.equal(TokenFeeType.RoutingFee);
246
465
  const routingResult = result;
247
- expect(routingResult.feeContracts?.ethereum?.token).to.equal(ROUTER_ADDRESS);
248
- expect(routingResult.feeContracts?.arbitrum?.token).to.equal(ROUTER_ADDRESS);
466
+ expect(routingResult.feeContracts.ethereum.token).to.equal(ROUTER_ADDRESS);
467
+ expect(routingResult.feeContracts.arbitrum.token).to.equal(ROUTER_ADDRESS);
249
468
  });
250
- it('should handle RoutingFee without feeContracts', () => {
469
+ it('should handle RoutingFee with empty feeContracts', () => {
251
470
  const input = {
252
471
  type: TokenFeeType.RoutingFee,
253
472
  owner: OWNER_ADDRESS,
473
+ feeContracts: {},
254
474
  };
255
475
  const result = resolveTokenFeeAddress(input, ROUTER_ADDRESS, syntheticConfig);
256
476
  expect(result.token).to.equal(ROUTER_ADDRESS);
257
477
  expect(result.type).to.equal(TokenFeeType.RoutingFee);
258
478
  });
479
+ it('should resolve token for nested cross collateral feeContracts', () => {
480
+ const ROUTER_KEY = '0x1111111111111111111111111111111111111111111111111111111111111111';
481
+ const input = {
482
+ type: TokenFeeType.CrossCollateralRoutingFee,
483
+ owner: OWNER_ADDRESS,
484
+ feeContracts: {
485
+ ethereum: {
486
+ [DEFAULT_ROUTER_KEY]: {
487
+ type: TokenFeeType.LinearFee,
488
+ owner: OWNER_ADDRESS,
489
+ bps: 100n,
490
+ },
491
+ [ROUTER_KEY]: {
492
+ type: TokenFeeType.LinearFee,
493
+ owner: OWNER_ADDRESS,
494
+ bps: 200n,
495
+ },
496
+ },
497
+ },
498
+ };
499
+ const result = resolveTokenFeeAddress(input, ROUTER_ADDRESS, syntheticConfig);
500
+ expect(result.feeContracts.ethereum[DEFAULT_ROUTER_KEY]?.token).to.equal(ROUTER_ADDRESS);
501
+ expect(result.feeContracts.ethereum[ROUTER_KEY]?.token).to.equal(ROUTER_ADDRESS);
502
+ });
259
503
  });
260
504
  const buildWarpCoreConfig = (chainNames) => ({
261
505
  tokens: chainNames.map((chainName, index) => ({
@@ -1 +1 @@
1
- {"version":3,"file":"configUtils.test.js","sourceRoot":"","sources":["../../src/token/configUtils.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configUtils.test.js","sourceRoot":"","sources":["../../src/token/configUtils.test.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
- import { EverclearEthBridge__factory, EverclearTokenBridge__factory, HypERC20Collateral__factory, HypERC20__factory, HypERC721Collateral__factory, HypERC721URICollateral__factory, HypERC721URIStorage__factory, HypERC721__factory, HypERC4626Collateral__factory, HypERC4626OwnerCollateral__factory, HypERC4626__factory, HypFiatToken__factory, HypNative__factory, HypXERC20Lockbox__factory, HypXERC20__factory, OpL1V1NativeTokenBridge__factory, OpL2NativeTokenBridge__factory, TokenBridgeCctpV1__factory, TokenBridgeCctpV2__factory } from '@hyperlane-xyz/core';
2
- import { CrossCollateralRouter__factory, TokenBridgeOft__factory } from '@hyperlane-xyz/multicollateral';
1
+ import { CrossCollateralRouter__factory, EverclearEthBridge__factory, EverclearTokenBridge__factory, HypERC20Collateral__factory, HypERC20__factory, HypERC721Collateral__factory, HypERC721URICollateral__factory, HypERC721URIStorage__factory, HypERC721__factory, HypERC4626Collateral__factory, HypERC4626OwnerCollateral__factory, HypERC4626__factory, HypFiatToken__factory, HypNative__factory, HypXERC20Lockbox__factory, HypXERC20__factory, OpL1V1NativeTokenBridge__factory, OpL2NativeTokenBridge__factory, TokenBridgeOft__factory, TokenBridgeCctpV1__factory, TokenBridgeCctpV2__factory, TokenBridgeDepositAddress__factory } from '@hyperlane-xyz/core';
3
2
  export declare const hypERC20contracts: {
4
3
  readonly synthetic: "HypERC20";
5
4
  readonly syntheticRebase: "HypERC4626";
@@ -18,6 +17,7 @@ export declare const hypERC20contracts: {
18
17
  readonly nativeScaled: "HypNative";
19
18
  readonly ethEverclear: "EverclearEthBridge";
20
19
  readonly collateralEverclear: "EverclearTokenBridge";
20
+ readonly collateralDepositAddress: "TokenBridgeDepositAddress";
21
21
  readonly collateralOft: "TokenBridgeOft";
22
22
  readonly crossCollateral: "CrossCollateralRouter";
23
23
  };
@@ -38,6 +38,7 @@ export declare const hypERC20factories: {
38
38
  readonly nativeScaled: HypNative__factory;
39
39
  readonly ethEverclear: EverclearEthBridge__factory;
40
40
  readonly collateralEverclear: EverclearTokenBridge__factory;
41
+ readonly collateralDepositAddress: TokenBridgeDepositAddress__factory;
41
42
  readonly collateralOft: TokenBridgeOft__factory;
42
43
  readonly crossCollateral: CrossCollateralRouter__factory;
43
44
  };
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/token/contracts.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,2BAA2B,EAC3B,6BAA6B,EAC7B,2BAA2B,EAC3B,iBAAiB,EACjB,4BAA4B,EAC5B,+BAA+B,EAC/B,4BAA4B,EAC5B,kBAAkB,EAClB,6BAA6B,EAC7B,kCAAkC,EAClC,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,yBAAyB,EACzB,kBAAkB,EAClB,gCAAgC,EAChC,8BAA8B,EAC9B,0BAA0B,EAC1B,0BAA0B,EAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,8BAA8B,EAC9B,uBAAuB,EACxB,MAAM,gCAAgC,CAAC;AAIxC,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;CAqB0B,CAAC;AACzD,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC;AAOzD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;CAqBiC,CAAC;AAChE,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC;AAGzD,wBAAgB,cAAc,CAAC,OAAO,EAAE,IAAI,GAAG,IAAI,2DAIlD;AAED,eAAO,MAAM,kBAAkB;;;;;CAKrB,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAC;AAE3D,eAAO,MAAM,kBAAkB;;;;;CAKrB,CAAC;AACX,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAC;AAE3D,MAAM,MAAM,cAAc,GAAG,iBAAiB,GAAG,kBAAkB,CAAC"}
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/token/contracts.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,8BAA8B,EAC9B,2BAA2B,EAC3B,6BAA6B,EAC7B,2BAA2B,EAC3B,iBAAiB,EACjB,4BAA4B,EAC5B,+BAA+B,EAC/B,4BAA4B,EAC5B,kBAAkB,EAClB,6BAA6B,EAC7B,kCAAkC,EAClC,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,yBAAyB,EACzB,kBAAkB,EAClB,gCAAgC,EAChC,8BAA8B,EAC9B,uBAAuB,EACvB,0BAA0B,EAC1B,0BAA0B,EAC1B,kCAAkC,EACnC,MAAM,qBAAqB,CAAC;AAI7B,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;CAsB0B,CAAC;AACzD,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC;AAOzD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;CAuBiC,CAAC;AAChE,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC;AAGzD,wBAAgB,cAAc,CAAC,OAAO,EAAE,IAAI,GAAG,IAAI,2DAIlD;AAED,eAAO,MAAM,kBAAkB;;;;;CAKrB,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAC;AAE3D,eAAO,MAAM,kBAAkB;;;;;CAKrB,CAAC;AACX,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAC;AAE3D,MAAM,MAAM,cAAc,GAAG,iBAAiB,GAAG,kBAAkB,CAAC"}
@@ -1,5 +1,4 @@
1
- import { EverclearEthBridge__factory, EverclearTokenBridge__factory, HypERC20Collateral__factory, HypERC20__factory, HypERC721Collateral__factory, HypERC721URICollateral__factory, HypERC721URIStorage__factory, HypERC721__factory, HypERC4626Collateral__factory, HypERC4626OwnerCollateral__factory, HypERC4626__factory, HypFiatToken__factory, HypNative__factory, HypXERC20Lockbox__factory, HypXERC20__factory, OpL1V1NativeTokenBridge__factory, OpL2NativeTokenBridge__factory, TokenBridgeCctpV1__factory, TokenBridgeCctpV2__factory, } from '@hyperlane-xyz/core';
2
- import { CrossCollateralRouter__factory, TokenBridgeOft__factory, } from '@hyperlane-xyz/multicollateral';
1
+ import { CrossCollateralRouter__factory, EverclearEthBridge__factory, EverclearTokenBridge__factory, HypERC20Collateral__factory, HypERC20__factory, HypERC721Collateral__factory, HypERC721URICollateral__factory, HypERC721URIStorage__factory, HypERC721__factory, HypERC4626Collateral__factory, HypERC4626OwnerCollateral__factory, HypERC4626__factory, HypFiatToken__factory, HypNative__factory, HypXERC20Lockbox__factory, HypXERC20__factory, OpL1V1NativeTokenBridge__factory, OpL2NativeTokenBridge__factory, TokenBridgeOft__factory, TokenBridgeCctpV1__factory, TokenBridgeCctpV2__factory, TokenBridgeDepositAddress__factory, } from '@hyperlane-xyz/core';
3
2
  import { TokenType } from './config.js';
4
3
  export const hypERC20contracts = {
5
4
  [TokenType.synthetic]: 'HypERC20',
@@ -20,6 +19,7 @@ export const hypERC20contracts = {
20
19
  [TokenType.nativeScaled]: 'HypNative',
21
20
  [TokenType.ethEverclear]: 'EverclearEthBridge',
22
21
  [TokenType.collateralEverclear]: 'EverclearTokenBridge',
22
+ [TokenType.collateralDepositAddress]: 'TokenBridgeDepositAddress',
23
23
  [TokenType.collateralOft]: 'TokenBridgeOft',
24
24
  [TokenType.crossCollateral]: 'CrossCollateralRouter',
25
25
  };
@@ -41,6 +41,7 @@ export const hypERC20factories = {
41
41
  [TokenType.nativeScaled]: new HypNative__factory(),
42
42
  [TokenType.ethEverclear]: new EverclearEthBridge__factory(),
43
43
  [TokenType.collateralEverclear]: new EverclearTokenBridge__factory(),
44
+ [TokenType.collateralDepositAddress]: new TokenBridgeDepositAddress__factory(),
44
45
  [TokenType.collateralOft]: new TokenBridgeOft__factory(),
45
46
  [TokenType.crossCollateral]: new CrossCollateralRouter__factory(),
46
47
  };
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/token/contracts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/token/contracts.ts"],"names":[],"mappings":"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"}
@@ -4,11 +4,12 @@ import { ContractVerifier } from '../deploy/verify/ContractVerifier.js';
4
4
  import { HyperlaneIsmFactory } from '../ism/HyperlaneIsmFactory.js';
5
5
  import { MultiProvider } from '../providers/MultiProvider.js';
6
6
  import { GasRouterDeployer } from '../router/GasRouterDeployer.js';
7
+ import { ProxiedFactories } from '../router/types.js';
7
8
  import { ChainMap, ChainName } from '../types.js';
8
9
  import { TokenMetadataMap } from './TokenMetadataMap.js';
9
10
  import { DeployableTokenType } from './config.js';
10
11
  import { HypERC20Factories, HypERC20contracts, HypERC721Factories, TokenFactories } from './contracts.js';
11
- import { HypTokenConfig, HypTokenRouterConfig, WarpRouteDeployConfig, WarpRouteDeployConfigMailboxRequired } from './types.js';
12
+ import { HypTokenConfig, HypTokenRouterConfig, WarpRouteDeployConfig } from './types.js';
12
13
  export declare const TOKEN_INITIALIZE_SIGNATURE: (contractName: HypERC20contracts[DeployableTokenType]) => "initialize" | "initialize(address,address)" | "initialize(address,address,string[])" | "initialize(address,string[])";
13
14
  declare abstract class TokenDeployer<Factories extends TokenFactories> extends GasRouterDeployer<HypTokenRouterConfig, Factories> {
14
15
  constructor(multiProvider: MultiProvider, factories: Factories, loggerName: string, ismFactory?: HyperlaneIsmFactory, contractVerifier?: ContractVerifier, concurrentDeploy?: boolean);
@@ -18,6 +19,7 @@ declare abstract class TokenDeployer<Factories extends TokenFactories> extends G
18
19
  static deriveTokenMetadata(multiProvider: MultiProvider, configMap: WarpRouteDeployConfig): Promise<TokenMetadataMap>;
19
20
  protected configureCctpDomains(configMap: ChainMap<HypTokenConfig>, deployedContractsMap: HyperlaneContractsMap<Factories>): Promise<void>;
20
21
  protected configureCctpV2MaxFee(configMap: ChainMap<HypTokenConfig>, deployedContractsMap: HyperlaneContractsMap<Factories>): Promise<void>;
22
+ protected configureDepositAddressDestinations(configMap: ChainMap<HypTokenConfig>, deployedContractsMap: HyperlaneContractsMap<Factories>): Promise<void>;
21
23
  protected configureOftDomains(configMap: ChainMap<HypTokenConfig>, deployedContractsMap: HyperlaneContractsMap<Factories>): Promise<void>;
22
24
  protected setRebalancers(configMap: ChainMap<HypTokenConfig>, deployedContractsMap: HyperlaneContractsMap<Factories>): Promise<void>;
23
25
  protected setAllowedBridges(configMap: ChainMap<HypTokenConfig>, deployedContractsMap: HyperlaneContractsMap<Factories>): Promise<void>;
@@ -25,10 +27,7 @@ declare abstract class TokenDeployer<Factories extends TokenFactories> extends G
25
27
  protected setEverclearFeeParams(configMap: ChainMap<HypTokenConfig>, deployedContractsMap: HyperlaneContractsMap<Factories>): Promise<void>;
26
28
  protected setEverclearOutputAssets(configMap: ChainMap<HypTokenConfig>, deployedContractsMap: HyperlaneContractsMap<Factories>): Promise<void>;
27
29
  protected enrollCrossCollateralRouters(configMap: ChainMap<HypTokenConfig>, deployedContractsMap: HyperlaneContractsMap<Factories>): Promise<void>;
28
- deploy(configMap: WarpRouteDeployConfigMailboxRequired): Promise<HyperlaneContractsMap<Factories & import("../contracts/types.js").HyperlaneFactories & {
29
- proxyAdmin: import("@hyperlane-xyz/core").ProxyAdmin__factory;
30
- timelockController: import("@hyperlane-xyz/core").TimelockController__factory;
31
- }>>;
30
+ deploy(configMap: ChainMap<HypTokenRouterConfig>): Promise<HyperlaneContractsMap<Factories & ProxiedFactories>>;
32
31
  }
33
32
  export declare class HypERC20Deployer extends TokenDeployer<HypERC20Factories> {
34
33
  constructor(multiProvider: MultiProvider, ismFactory?: HyperlaneIsmFactory, contractVerifier?: ContractVerifier, concurrentDeploy?: boolean);
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/token/deploy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/token/deploy.ts"],"names":[],"mappings":"AAGA,OAAO,EAIL,SAAS,EAUT,WAAW,EACZ,MAAM,qBAAqB,CAAC;AAa7B,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAExE,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAA0B,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAOlD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAe,MAAM,aAAa,CAAC;AAE/D,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EAMf,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAGL,cAAc,EACd,oBAAoB,EAEpB,qBAAqB,EAgBtB,MAAM,YAAY,CAAC;AAYpB,eAAO,MAAM,0BAA0B,GACrC,cAAc,iBAAiB,CAAC,mBAAmB,CAAC,2HAuCrD,CAAC;AAEF,uBAAe,aAAa,CAC1B,SAAS,SAAS,cAAc,CAChC,SAAQ,iBAAiB,CAAC,oBAAoB,EAAE,SAAS,CAAC;gBAExD,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,mBAAmB,EAChC,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,gBAAgB,UAAO;IAUnB,eAAe,CACnB,CAAC,EAAE,SAAS,EACZ,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,GAAG,CAAC;IAsFf,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAIrC,cAAc,CAClB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,GAAG,CAAC;WA6CF,mBAAmB,CAC9B,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,qBAAqB,GAC/B,OAAO,CAAC,gBAAgB,CAAC;cAIZ,oBAAoB,CAClC,SAAS,EAAE,QAAQ,CAAC,cAAc,CAAC,EACnC,oBAAoB,EAAE,qBAAqB,CAAC,SAAS,CAAC,GACrD,OAAO,CAAC,IAAI,CAAC;cA8CA,qBAAqB,CACnC,SAAS,EAAE,QAAQ,CAAC,cAAc,CAAC,EACnC,oBAAoB,EAAE,qBAAqB,CAAC,SAAS,CAAC,GACrD,OAAO,CAAC,IAAI,CAAC;cA6EA,mCAAmC,CACjD,SAAS,EAAE,QAAQ,CAAC,cAAc,CAAC,EACnC,oBAAoB,EAAE,qBAAqB,CAAC,SAAS,CAAC,GACrD,OAAO,CAAC,IAAI,CAAC;cAiDA,mBAAmB,CACjC,SAAS,EAAE,QAAQ,CAAC,cAAc,CAAC,EACnC,oBAAoB,EAAE,qBAAqB,CAAC,SAAS,CAAC,GACrD,OAAO,CAAC,IAAI,CAAC;cAyCA,cAAc,CAC5B,SAAS,EAAE,QAAQ,CAAC,cAAc,CAAC,EACnC,oBAAoB,EAAE,qBAAqB,CAAC,SAAS,CAAC,GACrD,OAAO,CAAC,IAAI,CAAC;cAwBA,iBAAiB,CAC/B,SAAS,EAAE,QAAQ,CAAC,cAAc,CAAC,EACnC,oBAAoB,EAAE,qBAAqB,CAAC,SAAS,CAAC,GACrD,OAAO,CAAC,IAAI,CAAC;cA0CA,wBAAwB,CACtC,SAAS,EAAE,QAAQ,CAAC,cAAc,CAAC,EACnC,oBAAoB,EAAE,qBAAqB,CAAC,SAAS,CAAC,GACrD,OAAO,CAAC,IAAI,CAAC;cAyEA,qBAAqB,CACnC,SAAS,EAAE,QAAQ,CAAC,cAAc,CAAC,EACnC,oBAAoB,EAAE,qBAAqB,CAAC,SAAS,CAAC,GACrD,OAAO,CAAC,IAAI,CAAC;cAmCA,wBAAwB,CACtC,SAAS,EAAE,QAAQ,CAAC,cAAc,CAAC,EACnC,oBAAoB,EAAE,qBAAqB,CAAC,SAAS,CAAC,GACrD,OAAO,CAAC,IAAI,CAAC;cAoCA,4BAA4B,CAC1C,SAAS,EAAE,QAAQ,CAAC,cAAc,CAAC,EACnC,oBAAoB,EAAE,qBAAqB,CAAC,SAAS,CAAC,GACrD,OAAO,CAAC,IAAI,CAAC;IAmDV,MAAM,CACV,SAAS,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GACxC,OAAO,CAAC,qBAAqB,CAAC,SAAS,GAAG,gBAAgB,CAAC,CAAC;CA+GhE;AAED,qBAAa,gBAAiB,SAAQ,aAAa,CAAC,iBAAiB,CAAC;gBAElE,aAAa,EAAE,aAAa,EAC5B,UAAU,CAAC,EAAE,mBAAmB,EAChC,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,gBAAgB,UAAO;IAYzB,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC,iBAAiB,CAAC,GAAG,WAAW;IASrE,iBAAiB,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM,iBAAiB;IAKxE,kBAAkB,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM;IASlD,yBAAyB,CAC7B,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,GAAG,EACZ,YAAY,EAAE,MAAM,EACpB,eAAe,EAAE,GAAG,EAAE,EACtB,cAAc,CAAC,EAAE,GAAG,EAAE,EACtB,aAAa,UAAO,EACpB,qBAAqB,CAAC,EAAE,MAAM,GAC7B,OAAO,CAAC,GAAG,CAAC;IAoBT,2BAA2B,CAC/B,oBAAoB,EAAE,qBAAqB,CAAC,iBAAiB,CAAC,EAC9D,SAAS,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GACxC,OAAO,CAAC,IAAI,CAAC;CAqCjB;AAED,qBAAa,iBAAkB,SAAQ,aAAa,CAAC,kBAAkB,CAAC;gBAEpE,aAAa,EAAE,aAAa,EAC5B,UAAU,CAAC,EAAE,mBAAmB,EAChC,gBAAgB,CAAC,EAAE,gBAAgB;IAWrC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC,kBAAkB,CAAC,GAAG,SAAS;IASpE,iBAAiB,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM,kBAAkB;IAKzE,kBAAkB,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM;CAGzD"}
@@ -15,6 +15,7 @@ import { HypERC20App } from './app.js';
15
15
  import { HypERC20Checker } from './checker.js';
16
16
  import { TokenType } from './config.js';
17
17
  import { HypERC20Deployer } from './deploy.js';
18
+ import { isDepositAddressTokenConfig, } from './types.js';
18
19
  const chain = TestChainName.test1;
19
20
  function addOverridesToConfig(config, ownerOverrides) {
20
21
  return Object.fromEntries(Object.entries(config).map(([chain, config]) => {
@@ -70,6 +71,87 @@ describe('TokenDeployer', async () => {
70
71
  it('deploys', async () => {
71
72
  await deployer.deploy(config);
72
73
  });
74
+ it('deploys a deposit-address bridge and derives its config', async () => {
75
+ const depositAddress = ethers.Wallet.createRandom().address;
76
+ const recipient = ethers.utils.hexZeroPad(ethers.Wallet.createRandom().address, 32);
77
+ const depositConfig = {
78
+ [chain]: {
79
+ ...config[chain],
80
+ type: TokenType.collateralDepositAddress,
81
+ token: erc20.address,
82
+ destinationConfigs: {
83
+ [TestChainName.test2]: {
84
+ [recipient]: {
85
+ depositAddress,
86
+ feeBps: '1000',
87
+ },
88
+ },
89
+ },
90
+ },
91
+ };
92
+ const contracts = await deployer.deploy(depositConfig);
93
+ const routerAddress = contracts[chain][TokenType.collateralDepositAddress].address;
94
+ const reader = new EvmWarpRouteReader(multiProvider, chain);
95
+ const derivedConfig = await reader.deriveWarpRouteConfig(routerAddress);
96
+ expect(derivedConfig.type).to.equal(TokenType.collateralDepositAddress);
97
+ if (!isDepositAddressTokenConfig(derivedConfig)) {
98
+ throw new Error('Expected deposit-address token config');
99
+ }
100
+ expect(derivedConfig.token).to.equal(erc20.address);
101
+ expect(derivedConfig.mailbox).to.equal(ethers.constants.AddressZero);
102
+ expect(derivedConfig.hook).to.equal(ethers.constants.AddressZero);
103
+ expect(derivedConfig.interchainSecurityModule).to.equal(ethers.constants.AddressZero);
104
+ expect(derivedConfig.remoteRouters).to.deep.equal({});
105
+ expect(derivedConfig.destinationConfigs).to.deep.equal({
106
+ [multiProvider.getDomainId(TestChainName.test2).toString()]: {
107
+ [recipient.toLowerCase()]: {
108
+ depositAddress,
109
+ feeBps: '1000',
110
+ },
111
+ },
112
+ });
113
+ });
114
+ it('deploys mixed deposit-address and router configs', async () => {
115
+ const depositAddress = ethers.Wallet.createRandom().address;
116
+ const recipient = ethers.utils.hexZeroPad(ethers.Wallet.createRandom().address, 32);
117
+ const mixedConfig = {
118
+ [TestChainName.test1]: {
119
+ ...config[TestChainName.test1],
120
+ type: TokenType.collateralDepositAddress,
121
+ token: erc20.address,
122
+ destinationConfigs: {
123
+ [TestChainName.test2]: {
124
+ [recipient]: {
125
+ depositAddress,
126
+ feeBps: '1000',
127
+ },
128
+ },
129
+ },
130
+ },
131
+ [TestChainName.test2]: {
132
+ ...config[TestChainName.test2],
133
+ type: TokenType.synthetic,
134
+ },
135
+ };
136
+ const contracts = await deployer.deploy(mixedConfig);
137
+ expect(contracts[TestChainName.test1][TokenType.collateralDepositAddress]
138
+ .address).to.not.equal(ethers.constants.AddressZero);
139
+ expect(contracts[TestChainName.test2][TokenType.synthetic].address).to.not.equal(ethers.constants.AddressZero);
140
+ const reader = new EvmWarpRouteReader(multiProvider, TestChainName.test1);
141
+ const derivedConfig = await reader.deriveWarpRouteConfig(contracts[TestChainName.test1][TokenType.collateralDepositAddress]
142
+ .address);
143
+ if (!isDepositAddressTokenConfig(derivedConfig)) {
144
+ throw new Error('Expected deposit-address token config');
145
+ }
146
+ expect(derivedConfig.destinationConfigs).to.deep.equal({
147
+ [multiProvider.getDomainId(TestChainName.test2).toString()]: {
148
+ [recipient.toLowerCase()]: {
149
+ depositAddress,
150
+ feeBps: '1000',
151
+ },
152
+ },
153
+ });
154
+ });
73
155
  for (const type of [
74
156
  TokenType.collateral,
75
157
  TokenType.synthetic,
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.hardhat-test.js","sourceRoot":"","sources":["../../src/token/deploy.hardhat-test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deploy.hardhat-test.js","sourceRoot":"","sources":["../../src/token/deploy.hardhat-test.ts"],"names":[],"mappings":"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"}