@hyperlane-xyz/sdk 41.2.0 → 41.3.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 (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 +16 -10
  19. package/dist/providers/transactionFeeEstimators.js.map +1 -1
  20. package/dist/providers/transactionFeeEstimators.test.js +66 -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
@@ -10,10 +10,10 @@ import { normalizeScale } from '../utils/decimals.js';
10
10
  import { setRateLimitedIsmRecipient } from '../utils/ism.js';
11
11
  import { CCTP_PPM_PRECISION_VERSION, CCTP_PPM_STORAGE_VERSION, } from './EvmWarpRouteReader.js';
12
12
  import { gasOverhead } from './config.js';
13
- import { resolveTokenFeeAddress } from './configUtils.js';
13
+ import { resolveAndValidateRebalanceConfig, resolveTokenFeeAddress, } from './configUtils.js';
14
14
  import { getCctpFactory, hypERC20contracts, hypERC20factories, hypERC721contracts, hypERC721factories, } from './contracts.js';
15
15
  import { deriveTokenMetadata } from './tokenMetadataUtils.js';
16
- import { assertTimelockConfigHasNoProxyAdminOwnerOverride, isCctpTokenConfig, isCollateralTokenConfig, isEverclearCollateralTokenConfig, isEverclearEthBridgeTokenConfig, isEverclearTokenBridgeConfig, isDepositAddressTokenConfig, isMovableCollateralTokenConfig, isCrossCollateralTokenConfig, isNativeTokenConfig, isOftTokenConfig, isOpL1TokenConfig, isOpL2TokenConfig, isSyntheticRebaseTokenConfig, isSyntheticTokenConfig, isXERC20TokenConfig, } from './types.js';
16
+ import { assertTimelockConfigHasNoProxyAdminOwnerOverride, isAtomicLocalRebalancingBridgeTokenConfig, isCctpTokenConfig, isCollateralTokenConfig, isEverclearCollateralTokenConfig, isEverclearEthBridgeTokenConfig, isEverclearTokenBridgeConfig, isDepositAddressTokenConfig, isMovableCollateralTokenConfig, isCrossCollateralTokenConfig, isNativeTokenConfig, isOftTokenConfig, isOpL1TokenConfig, isOpL2TokenConfig, isSyntheticRebaseTokenConfig, isSyntheticTokenConfig, isXERC20TokenConfig, } from './types.js';
17
17
  // initialize(address _hook, address _owner)
18
18
  const OP_L2_INITIALIZE_SIGNATURE = 'initialize(address,address)';
19
19
  // initialize(address _owner, string[] memory _urls)
@@ -54,7 +54,7 @@ class TokenDeployer extends GasRouterDeployer {
54
54
  assertTimelockConfigHasNoProxyAdminOwnerOverride(config, chain);
55
55
  return super.deployContracts(chain, config);
56
56
  }
57
- async constructorArgs(_, config) {
57
+ async constructorArgs(chain, config) {
58
58
  // TODO: derive as specified in https://github.com/hyperlane-xyz/hyperlane-monorepo/issues/5296
59
59
  const { numerator, denominator } = normalizeScale(config.scale);
60
60
  if (isCollateralTokenConfig(config) ||
@@ -107,6 +107,14 @@ class TokenDeployer extends GasRouterDeployer {
107
107
  else if (isDepositAddressTokenConfig(config)) {
108
108
  return [config.token, config.owner];
109
109
  }
110
+ else if (isAtomicLocalRebalancingBridgeTokenConfig(config)) {
111
+ // constructor(uint32 _localDomain, address _sourceRouter, address _owner)
112
+ return [
113
+ this.multiProvider.getDomainId(chain),
114
+ config.sourceRouter,
115
+ config.owner,
116
+ ];
117
+ }
110
118
  else if (isCctpTokenConfig(config)) {
111
119
  switch (config.cctpVersion) {
112
120
  case 'V1':
@@ -157,6 +165,10 @@ class TokenDeployer extends GasRouterDeployer {
157
165
  else if (isDepositAddressTokenConfig(config)) {
158
166
  throw new Error('Direct bridge adapters do not use initialize');
159
167
  }
168
+ else if (isAtomicLocalRebalancingBridgeTokenConfig(config)) {
169
+ // Deployed unproxied — owner is set in constructor, no initialize
170
+ throw new Error('AtomicLocalRebalancingBridge does not use initialize');
171
+ }
160
172
  else if (isCollateralTokenConfig(config) ||
161
173
  isXERC20TokenConfig(config) ||
162
174
  isNativeTokenConfig(config) ||
@@ -429,6 +441,24 @@ class TokenDeployer extends GasRouterDeployer {
429
441
  }
430
442
  }));
431
443
  }
444
+ async configureRebalanceTargetsAndRecipients(configMap, deployedContractsMap) {
445
+ await promiseObjAll(objMap(configMap, async (chain, config) => {
446
+ if (!isCrossCollateralTokenConfig(config))
447
+ return;
448
+ const { rebalanceTargets, rebalanceRecipients } = resolveAndValidateRebalanceConfig(this.multiProvider, chain, config);
449
+ const router = this.router(deployedContractsMap[chain]).address;
450
+ const crossCollateralRouter = CrossCollateralRouter__factory.connect(router, this.multiProvider.getSigner(chain));
451
+ const overrides = this.multiProvider.getTransactionOverrides(chain);
452
+ for (const [domain, targets] of Object.entries(rebalanceTargets)) {
453
+ for (const target of targets) {
454
+ await this.multiProvider.handleTx(chain, crossCollateralRouter.addRebalanceTarget(Number(domain), addressToBytes32(target), overrides));
455
+ }
456
+ }
457
+ for (const [domain, recipient] of Object.entries(rebalanceRecipients)) {
458
+ await this.multiProvider.handleTx(chain, crossCollateralRouter.setRecipient(Number(domain), addressToBytes32(recipient), overrides));
459
+ }
460
+ }));
461
+ }
432
462
  // Wire rate-limited ISMs BEFORE ownership transfer so that
433
463
  // setInterchainSecurityModule succeeds regardless of config.owner.
434
464
  // Handles both top-level RateLimitedIsm and ISMs nested inside composites
@@ -502,6 +532,17 @@ class TokenDeployer extends GasRouterDeployer {
502
532
  delete resolvedConfigMap[chain];
503
533
  continue;
504
534
  }
535
+ if (isAtomicLocalRebalancingBridgeTokenConfig(config)) {
536
+ // Bare ITokenBridge adapter: constructor-configured, unproxied.
537
+ // Skip the router pipeline (no proxy/initialize/enrollRemoteRouters/
538
+ // mailbox-client config) exactly like OFT/DepositAddress.
539
+ const contractKey = this.routerContractKey(config);
540
+ const constructorArgs = await this.constructorArgs(chain, config);
541
+ const contract = await this.deployContractWithName(chain, contractKey, this.routerContractName(config), constructorArgs);
542
+ directBridgeContracts[chain] = { [contractKey]: contract };
543
+ delete resolvedConfigMap[chain];
544
+ continue;
545
+ }
505
546
  if (isOftTokenConfig(config)) {
506
547
  const contractKey = this.routerContractKey(config);
507
548
  const constructorArgs = await this.constructorArgs(chain, config);
@@ -543,6 +584,7 @@ class TokenDeployer extends GasRouterDeployer {
543
584
  await this.setEverclearOutputAssets(configMap, deployedContractsMap);
544
585
  await this.deployPredicateWrappers(configMap, deployedContractsMap);
545
586
  await this.enrollCrossCollateralRouters(configMap, deployedContractsMap);
587
+ await this.configureRebalanceTargetsAndRecipients(configMap, deployedContractsMap);
546
588
  // RateLimitedIsms are wired after enrollment. A brief window exists where
547
589
  // the token's effective ISM is the mailbox defaultIsm, but it is inert on a
548
590
  // fresh deploy: no remote peers are enrolled yet, so no valid inbound message
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/token/deploy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/token/deploy.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tokenMetadataUtils.d.ts","sourceRoot":"","sources":["../../src/token/tokenMetadataUtils.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAEL,qBAAqB,EAUtB,MAAM,YAAY,CAAC;AAEpB,wBAAsB,mBAAmB,CACvC,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,qBAAqB,EAChC,EAAE,aAAoB,EAAE,GAAE;IAAE,aAAa,CAAC,EAAE,OAAO,CAAA;CAAO,GACzD,OAAO,CAAC,gBAAgB,CAAC,CAuH3B"}
1
+ {"version":3,"file":"tokenMetadataUtils.d.ts","sourceRoot":"","sources":["../../src/token/tokenMetadataUtils.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAEL,qBAAqB,EAWtB,MAAM,YAAY,CAAC;AAEpB,wBAAsB,mBAAmB,CACvC,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,qBAAqB,EAChC,EAAE,aAAoB,EAAE,GAAE;IAAE,aAAa,CAAC,EAAE,OAAO,CAAA;CAAO,GACzD,OAAO,CAAC,gBAAgB,CAAC,CAgJ3B"}
@@ -1,8 +1,8 @@
1
- import { ERC20__factory, ERC721Enumerable__factory, IERC4626__factory, IXERC20Lockbox__factory, } from '@hyperlane-xyz/core';
1
+ import { ERC20__factory, ERC721Enumerable__factory, IERC4626__factory, IXERC20Lockbox__factory, MovableCollateralRouter__factory, } from '@hyperlane-xyz/core';
2
2
  import { isEVMLike } from '@hyperlane-xyz/utils';
3
3
  import { TokenMetadataMap } from './TokenMetadataMap.js';
4
4
  import { TokenType } from './config.js';
5
- import { TokenMetadataSchema, isCctpTokenConfig, isCollateralTokenConfig, isDepositAddressTokenConfig, isEverclearCollateralTokenConfig, isEverclearEthBridgeTokenConfig, isCrossCollateralTokenConfig, isNativeTokenConfig, isTokenMetadata, isXERC20TokenConfig, } from './types.js';
5
+ import { TokenMetadataSchema, isCctpTokenConfig, isAtomicLocalRebalancingBridgeTokenConfig, isCollateralTokenConfig, isDepositAddressTokenConfig, isEverclearCollateralTokenConfig, isEverclearEthBridgeTokenConfig, isCrossCollateralTokenConfig, isNativeTokenConfig, isTokenMetadata, isXERC20TokenConfig, } from './types.js';
6
6
  export async function deriveTokenMetadata(multiProvider, configMap, { validateScale = true } = {}) {
7
7
  const metadataMap = new TokenMetadataMap();
8
8
  const prioritizedTypes = new Set([
@@ -12,6 +12,7 @@ export async function deriveTokenMetadata(multiProvider, configMap, { validateSc
12
12
  TokenType.collateralCctp,
13
13
  TokenType.collateralDepositAddress,
14
14
  TokenType.collateralEverclear,
15
+ TokenType.atomicLocalRebalancing,
15
16
  TokenType.XERC20,
16
17
  TokenType.XERC20Lockbox,
17
18
  TokenType.native,
@@ -40,6 +41,23 @@ export async function deriveTokenMetadata(multiProvider, configMap, { validateSc
40
41
  continue;
41
42
  }
42
43
  }
44
+ if (isAtomicLocalRebalancingBridgeTokenConfig(config)) {
45
+ const provider = multiProvider.getProvider(chain);
46
+ const sourceToken = await MovableCollateralRouter__factory.connect(config.sourceRouter, provider).token();
47
+ const erc20 = ERC20__factory.connect(sourceToken, provider);
48
+ const [name, symbol, decimals] = await Promise.all([
49
+ erc20.name(),
50
+ erc20.symbol(),
51
+ erc20.decimals(),
52
+ ]);
53
+ metadataMap.update(chain, TokenMetadataSchema.parse({
54
+ name,
55
+ symbol,
56
+ decimals,
57
+ scale: config.scale,
58
+ }));
59
+ continue;
60
+ }
43
61
  if (isCollateralTokenConfig(config) ||
44
62
  isCrossCollateralTokenConfig(config) ||
45
63
  isXERC20TokenConfig(config) ||
@@ -1 +1 @@
1
- {"version":3,"file":"tokenMetadataUtils.js","sourceRoot":"","sources":["../../src/token/tokenMetadataUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tokenMetadataUtils.js","sourceRoot":"","sources":["../../src/token/tokenMetadataUtils.ts"],"names":[],"mappings":"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"}