@hyperlane-xyz/sdk 8.8.1 → 8.9.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 (143) hide show
  1. package/dist/block-explorer/etherscan.d.ts +41 -0
  2. package/dist/block-explorer/etherscan.d.ts.map +1 -0
  3. package/dist/block-explorer/etherscan.js +53 -0
  4. package/dist/block-explorer/etherscan.js.map +1 -0
  5. package/dist/ccip/HyperlaneCCIPDeployer.d.ts +18 -0
  6. package/dist/ccip/HyperlaneCCIPDeployer.d.ts.map +1 -0
  7. package/dist/ccip/HyperlaneCCIPDeployer.js +122 -0
  8. package/dist/ccip/HyperlaneCCIPDeployer.js.map +1 -0
  9. package/dist/ccip/consts.d.ts +24 -0
  10. package/dist/ccip/consts.d.ts.map +1 -0
  11. package/dist/ccip/consts.js +691 -0
  12. package/dist/ccip/consts.js.map +1 -0
  13. package/dist/ccip/utils.d.ts +46 -0
  14. package/dist/ccip/utils.d.ts.map +1 -0
  15. package/dist/ccip/utils.js +95 -0
  16. package/dist/ccip/utils.js.map +1 -0
  17. package/dist/consts/multisigIsm.d.ts.map +1 -1
  18. package/dist/consts/multisigIsm.js +27 -9
  19. package/dist/consts/multisigIsm.js.map +1 -1
  20. package/dist/contracts/contracts.d.ts +2 -2
  21. package/dist/contracts/contracts.d.ts.map +1 -1
  22. package/dist/contracts/contracts.js +4 -13
  23. package/dist/contracts/contracts.js.map +1 -1
  24. package/dist/core/HyperlaneRelayer.d.ts +43 -3
  25. package/dist/core/HyperlaneRelayer.d.ts.map +1 -1
  26. package/dist/core/types.d.ts +3558 -2040
  27. package/dist/core/types.d.ts.map +1 -1
  28. package/dist/deploy/proxy.d.ts.map +1 -1
  29. package/dist/deploy/proxy.js +4 -0
  30. package/dist/deploy/proxy.js.map +1 -1
  31. package/dist/deploy/verify/utils.d.ts.map +1 -1
  32. package/dist/deploy/verify/utils.js +3 -9
  33. package/dist/deploy/verify/utils.js.map +1 -1
  34. package/dist/hook/EvmHookModule.d.ts +12 -4
  35. package/dist/hook/EvmHookModule.d.ts.map +1 -1
  36. package/dist/hook/EvmHookModule.hardhat-test.js +2 -106
  37. package/dist/hook/EvmHookModule.hardhat-test.js.map +1 -1
  38. package/dist/hook/EvmHookModule.js +38 -10
  39. package/dist/hook/EvmHookModule.js.map +1 -1
  40. package/dist/hook/EvmHookReader.d.ts +7 -1
  41. package/dist/hook/EvmHookReader.d.ts.map +1 -1
  42. package/dist/hook/EvmHookReader.js +69 -4
  43. package/dist/hook/EvmHookReader.js.map +1 -1
  44. package/dist/hook/EvmHookReader.test.js +50 -1
  45. package/dist/hook/EvmHookReader.test.js.map +1 -1
  46. package/dist/hook/HyperlaneHookDeployer.d.ts +4 -2
  47. package/dist/hook/HyperlaneHookDeployer.d.ts.map +1 -1
  48. package/dist/hook/HyperlaneHookDeployer.js +34 -5
  49. package/dist/hook/HyperlaneHookDeployer.js.map +1 -1
  50. package/dist/hook/contracts.d.ts +4 -1
  51. package/dist/hook/contracts.d.ts.map +1 -1
  52. package/dist/hook/contracts.js +4 -1
  53. package/dist/hook/contracts.js.map +1 -1
  54. package/dist/hook/types.d.ts +2012 -3
  55. package/dist/hook/types.d.ts.map +1 -1
  56. package/dist/hook/types.js +28 -0
  57. package/dist/hook/types.js.map +1 -1
  58. package/dist/index.d.ts +11 -5
  59. package/dist/index.d.ts.map +1 -1
  60. package/dist/index.js +10 -4
  61. package/dist/index.js.map +1 -1
  62. package/dist/ism/EvmIsmModule.d.ts +4 -2
  63. package/dist/ism/EvmIsmModule.d.ts.map +1 -1
  64. package/dist/ism/EvmIsmModule.hardhat-test.js +10 -71
  65. package/dist/ism/EvmIsmModule.hardhat-test.js.map +1 -1
  66. package/dist/ism/EvmIsmModule.js +4 -4
  67. package/dist/ism/EvmIsmModule.js.map +1 -1
  68. package/dist/ism/EvmIsmReader.d.ts +1 -0
  69. package/dist/ism/EvmIsmReader.d.ts.map +1 -1
  70. package/dist/ism/EvmIsmReader.js +45 -7
  71. package/dist/ism/EvmIsmReader.js.map +1 -1
  72. package/dist/ism/EvmIsmReader.test.js +4 -1
  73. package/dist/ism/EvmIsmReader.test.js.map +1 -1
  74. package/dist/ism/HyperlaneIsmFactory.d.ts +9 -4
  75. package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
  76. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js +15 -0
  77. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js.map +1 -1
  78. package/dist/ism/HyperlaneIsmFactory.js +43 -4
  79. package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
  80. package/dist/ism/metadata/builder.d.ts.map +1 -1
  81. package/dist/ism/metadata/builder.js +1 -0
  82. package/dist/ism/metadata/builder.js.map +1 -1
  83. package/dist/ism/metadata/routing.d.ts.map +1 -1
  84. package/dist/ism/metadata/routing.js +8 -2
  85. package/dist/ism/metadata/routing.js.map +1 -1
  86. package/dist/ism/types.d.ts +34 -5
  87. package/dist/ism/types.d.ts.map +1 -1
  88. package/dist/ism/types.js +15 -0
  89. package/dist/ism/types.js.map +1 -1
  90. package/dist/ism/utils.d.ts.map +1 -1
  91. package/dist/ism/utils.js +30 -2
  92. package/dist/ism/utils.js.map +1 -1
  93. package/dist/metadata/agentConfig.d.ts +276 -276
  94. package/dist/metadata/deploymentArtifacts.d.ts +2 -2
  95. package/dist/router/types.d.ts +129 -9
  96. package/dist/router/types.d.ts.map +1 -1
  97. package/dist/test/testUtils.d.ts +8 -0
  98. package/dist/test/testUtils.d.ts.map +1 -1
  99. package/dist/test/testUtils.js +191 -1
  100. package/dist/test/testUtils.js.map +1 -1
  101. package/dist/token/EvmERC20WarpModule.d.ts +4 -1
  102. package/dist/token/EvmERC20WarpModule.d.ts.map +1 -1
  103. package/dist/token/EvmERC20WarpModule.js +12 -8
  104. package/dist/token/EvmERC20WarpModule.js.map +1 -1
  105. package/dist/token/EvmERC20WarpRouteReader.d.ts +4 -3
  106. package/dist/token/EvmERC20WarpRouteReader.d.ts.map +1 -1
  107. package/dist/token/EvmERC20WarpRouteReader.hardhat-test.js +72 -3
  108. package/dist/token/EvmERC20WarpRouteReader.hardhat-test.js.map +1 -1
  109. package/dist/token/EvmERC20WarpRouteReader.js +84 -15
  110. package/dist/token/EvmERC20WarpRouteReader.js.map +1 -1
  111. package/dist/token/adapters/EvmTokenAdapter.d.ts +49 -15
  112. package/dist/token/adapters/EvmTokenAdapter.d.ts.map +1 -1
  113. package/dist/token/adapters/EvmTokenAdapter.js +152 -42
  114. package/dist/token/adapters/EvmTokenAdapter.js.map +1 -1
  115. package/dist/token/adapters/ITokenAdapter.d.ts +19 -0
  116. package/dist/token/adapters/ITokenAdapter.d.ts.map +1 -1
  117. package/dist/token/checker.d.ts +4 -1
  118. package/dist/token/checker.d.ts.map +1 -1
  119. package/dist/token/checker.js +33 -5
  120. package/dist/token/checker.js.map +1 -1
  121. package/dist/token/config.d.ts +1 -0
  122. package/dist/token/config.d.ts.map +1 -1
  123. package/dist/token/config.js +1 -0
  124. package/dist/token/config.js.map +1 -1
  125. package/dist/token/configUtils.d.ts +10 -0
  126. package/dist/token/configUtils.d.ts.map +1 -0
  127. package/dist/token/configUtils.js +48 -0
  128. package/dist/token/configUtils.js.map +1 -0
  129. package/dist/token/deploy.d.ts.map +1 -1
  130. package/dist/token/deploy.hardhat-test.js +69 -6
  131. package/dist/token/deploy.hardhat-test.js.map +1 -1
  132. package/dist/token/deploy.js +6 -4
  133. package/dist/token/deploy.js.map +1 -1
  134. package/dist/token/types.d.ts +1333 -220
  135. package/dist/token/types.d.ts.map +1 -1
  136. package/dist/token/types.js +117 -2
  137. package/dist/token/types.js.map +1 -1
  138. package/dist/token/xerc20.d.ts +13 -0
  139. package/dist/token/xerc20.d.ts.map +1 -0
  140. package/dist/token/xerc20.js +174 -0
  141. package/dist/token/xerc20.js.map +1 -0
  142. package/dist/warp/types.d.ts +14 -14
  143. package/package.json +3 -3
@@ -1,3 +1,4 @@
1
+ import { zeroAddress } from 'viem';
1
2
  import { GasRouter__factory, MailboxClient__factory, TokenRouter__factory, } from '@hyperlane-xyz/core';
2
3
  import { buildArtifact as coreBuildArtifact } from '@hyperlane-xyz/core/buildArtifact.js';
3
4
  import { addressToBytes32, assert, deepEquals, difference, eqAddress, isObjEmpty, objMap, rootLogger, } from '@hyperlane-xyz/utils';
@@ -13,6 +14,7 @@ import { HypERC20Deployer } from './deploy.js';
13
14
  import { HypTokenRouterConfigSchema } from './types.js';
14
15
  export class EvmERC20WarpModule extends HyperlaneModule {
15
16
  multiProvider;
17
+ ccipContractCache;
16
18
  contractVerifier;
17
19
  logger = rootLogger.child({
18
20
  module: 'EvmERC20WarpModule',
@@ -21,9 +23,10 @@ export class EvmERC20WarpModule extends HyperlaneModule {
21
23
  chainName;
22
24
  chainId;
23
25
  domainId;
24
- constructor(multiProvider, args, contractVerifier) {
26
+ constructor(multiProvider, args, ccipContractCache, contractVerifier) {
25
27
  super(args);
26
28
  this.multiProvider = multiProvider;
29
+ this.ccipContractCache = ccipContractCache;
27
30
  this.contractVerifier = contractVerifier;
28
31
  this.reader = new EvmERC20WarpRouteReader(multiProvider, args.chain);
29
32
  this.chainName = this.multiProvider.getChainName(args.chain);
@@ -158,7 +161,8 @@ export class EvmERC20WarpModule extends HyperlaneModule {
158
161
  */
159
162
  async createIsmUpdateTxs(actualConfig, expectedConfig) {
160
163
  const updateTransactions = [];
161
- if (!expectedConfig.interchainSecurityModule) {
164
+ if (!expectedConfig.interchainSecurityModule ||
165
+ expectedConfig.interchainSecurityModule === zeroAddress) {
162
166
  return [];
163
167
  }
164
168
  const actualDeployedIsm = actualConfig.interchainSecurityModule.address;
@@ -180,7 +184,7 @@ export class EvmERC20WarpModule extends HyperlaneModule {
180
184
  }
181
185
  async createHookUpdateTxs(actualConfig, expectedConfig) {
182
186
  const updateTransactions = [];
183
- if (!expectedConfig.hook) {
187
+ if (!expectedConfig.hook || expectedConfig.hook === zeroAddress) {
184
188
  return [];
185
189
  }
186
190
  const actualDeployedHook = actualConfig.hook
@@ -228,7 +232,7 @@ export class EvmERC20WarpModule extends HyperlaneModule {
228
232
  mailbox: expectedConfig.mailbox,
229
233
  deployedIsm: actualConfig.interchainSecurityModule.address,
230
234
  },
231
- }, this.contractVerifier);
235
+ }, this.ccipContractCache, this.contractVerifier);
232
236
  this.logger.info(`Comparing target ISM config with ${this.args.chain} chain`);
233
237
  const updateTransactions = await ismModule.update(expectedConfig.interchainSecurityModule);
234
238
  const { deployedIsm } = ismModule.serialize();
@@ -241,7 +245,7 @@ export class EvmERC20WarpModule extends HyperlaneModule {
241
245
  */
242
246
  async deployOrUpdateHook(actualConfig, expectedConfig) {
243
247
  assert(expectedConfig.hook, 'No hook config');
244
- if (!actualConfig.hook) {
248
+ if (!actualConfig.hook || actualConfig.hook === zeroAddress) {
245
249
  return this.deployNewHook(expectedConfig);
246
250
  }
247
251
  return this.updateExistingHook(expectedConfig, actualConfig);
@@ -292,7 +296,7 @@ export class EvmERC20WarpModule extends HyperlaneModule {
292
296
  proxyAdmin: actualConfig.proxyAdmin?.address,
293
297
  deployedHook: actualConfig.hook.address,
294
298
  },
295
- }, this.contractVerifier);
299
+ }, this.ccipContractCache, this.contractVerifier);
296
300
  this.logger.info(`Comparing target Hook config with ${this.args.chain} chain`);
297
301
  const updateTransactions = await hookModule.update(expectedConfig.hook);
298
302
  const { deployedHook } = hookModule.serialize();
@@ -307,7 +311,7 @@ export class EvmERC20WarpModule extends HyperlaneModule {
307
311
  * @returns A new instance of the EvmERC20WarpHyperlaneModule.
308
312
  */
309
313
  static async create(params) {
310
- const { chain, config, multiProvider, contractVerifier, proxyFactoryFactories, } = params;
314
+ const { chain, config, multiProvider, ccipContractCache, contractVerifier, proxyFactoryFactories, } = params;
311
315
  const chainName = multiProvider.getChainName(chain);
312
316
  const deployer = new HypERC20Deployer(multiProvider);
313
317
  const deployedContracts = await deployer.deployContracts(chainName, config);
@@ -318,7 +322,7 @@ export class EvmERC20WarpModule extends HyperlaneModule {
318
322
  },
319
323
  chain,
320
324
  config,
321
- }, contractVerifier);
325
+ }, ccipContractCache, contractVerifier);
322
326
  if (config.remoteRouters && !isObjEmpty(config.remoteRouters)) {
323
327
  const enrollRemoteTxs = await warpModule.update(config); // @TODO Remove when EvmERC20WarpModule.create can be used
324
328
  const onlyTxIndex = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"EvmERC20WarpModule.js","sourceRoot":"","sources":["../../src/token/EvmERC20WarpModule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EvmERC20WarpModule.js","sourceRoot":"","sources":["../../src/token/EvmERC20WarpModule.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ import { DestinationGas, MailboxClientConfig, RemoteRouters } from '../router/ty
6
6
  import { ChainNameOrId, DeployedOwnableConfig } from '../types.js';
7
7
  import { HyperlaneReader } from '../utils/HyperlaneReader.js';
8
8
  import { TokenType } from './config.js';
9
- import { HypTokenConfig, HypTokenRouterConfig, TokenMetadata } from './types.js';
9
+ import { HypTokenConfig, HypTokenRouterConfig, TokenMetadata, XERC20TokenMetadata } from './types.js';
10
10
  export declare class EvmERC20WarpRouteReader extends HyperlaneReader {
11
11
  protected readonly multiProvider: MultiProvider;
12
12
  protected readonly chain: ChainNameOrId;
@@ -37,14 +37,15 @@ export declare class EvmERC20WarpRouteReader extends HyperlaneReader {
37
37
  * @returns The base metadata for the Warp Route contract, including the mailbox, owner, hook, and ism.
38
38
  */
39
39
  fetchMailboxClientConfig(routerAddress: Address): Promise<MailboxClientConfig>;
40
+ fetchXERC20Config(type: TokenType.XERC20 | TokenType.XERC20Lockbox, xERC20Address: Address, warpRouteAddress: Address): Promise<XERC20TokenMetadata | {}>;
40
41
  /**
41
42
  * Fetches the metadata for a token address.
42
43
  *
43
- * @param tokenAddress - The address of the token.
44
+ * @param warpRouteAddress - The address of the token.
44
45
  * @returns A partial ERC20 metadata object containing the token name, symbol, total supply, and decimals.
45
46
  * Throws if unsupported token type
46
47
  */
47
- fetchTokenConfig(type: TokenType, tokenAddress: Address): Promise<HypTokenConfig>;
48
+ fetchTokenConfig(type: TokenType, warpRouteAddress: Address): Promise<HypTokenConfig>;
48
49
  fetchERC20Metadata(tokenAddress: Address): Promise<TokenMetadata>;
49
50
  fetchRemoteRouters(warpRouteAddress: Address): Promise<RemoteRouters>;
50
51
  fetchProxyAdminConfig(tokenAddress: Address): Promise<DeployedOwnableConfig>;
@@ -1 +1 @@
1
- {"version":3,"file":"EvmERC20WarpRouteReader.d.ts","sourceRoot":"","sources":["../../src/token/EvmERC20WarpRouteReader.ts"],"names":[],"mappings":"AAWA,OAAO,EACL,OAAO,EAKR,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,aAAa,EAEd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAG9D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,aAAa,EACd,MAAM,YAAY,CAAC;AAEpB,qBAAa,uBAAwB,SAAQ,eAAe;IAQxD,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa;IAC/C,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,aAAa;IACvC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM;IATxC,SAAS,CAAC,QAAQ,CAAC,MAAM,uCAEtB;IACH,aAAa,EAAE,aAAa,CAAC;IAC7B,YAAY,EAAE,YAAY,CAAC;gBAGN,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,aAAa,EACpB,WAAW,GAAE,MAA0C;IAO5E;;;;;;OAMG;IACG,qBAAqB,CACzB,gBAAgB,EAAE,OAAO,GACxB,OAAO,CAAC,oBAAoB,CAAC;IAmBhC;;;;;OAKG;IACG,eAAe,CAAC,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;IA6DpE;;;;;OAKG;IACG,wBAAwB,CAC5B,aAAa,EAAE,OAAO,GACrB,OAAO,CAAC,mBAAmB,CAAC;IA2B/B;;;;;;OAMG;IACG,gBAAgB,CACpB,IAAI,EAAE,SAAS,EACf,YAAY,EAAE,OAAO,GACpB,OAAO,CAAC,cAAc,CAAC;IAwDpB,kBAAkB,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;IAYjE,kBAAkB,CAAC,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;IAqBrE,qBAAqB,CACzB,YAAY,EAAE,OAAO,GACpB,OAAO,CAAC,qBAAqB,CAAC;IAa3B,mBAAmB,CACvB,gBAAgB,EAAE,OAAO,GACxB,OAAO,CAAC,cAAc,CAAC;CAqB3B"}
1
+ {"version":3,"file":"EvmERC20WarpRouteReader.d.ts","sourceRoot":"","sources":["../../src/token/EvmERC20WarpRouteReader.ts"],"names":[],"mappings":"AAaA,OAAO,EACL,OAAO,EAKR,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,aAAa,EAEd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAG9D,OAAO,EAA2B,SAAS,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,aAAa,EACb,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAGpB,qBAAa,uBAAwB,SAAQ,eAAe;IAQxD,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa;IAC/C,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,aAAa;IACvC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM;IATxC,SAAS,CAAC,QAAQ,CAAC,MAAM,uCAEtB;IACH,aAAa,EAAE,aAAa,CAAC;IAC7B,YAAY,EAAE,YAAY,CAAC;gBAGN,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,aAAa,EACpB,WAAW,GAAE,MAA0C;IAO5E;;;;;;OAMG;IACG,qBAAqB,CACzB,gBAAgB,EAAE,OAAO,GACxB,OAAO,CAAC,oBAAoB,CAAC;IAmBhC;;;;;OAKG;IACG,eAAe,CAAC,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;IA6EpE;;;;;OAKG;IACG,wBAAwB,CAC5B,aAAa,EAAE,OAAO,GACrB,OAAO,CAAC,mBAAmB,CAAC;IA2BzB,iBAAiB,CACrB,IAAI,EAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,aAAa,EAChD,aAAa,EAAE,OAAO,EACtB,gBAAgB,EAAE,OAAO,GACxB,OAAO,CAAC,mBAAmB,GAAG,EAAE,CAAC;IAqCpC;;;;;;OAMG;IACG,gBAAgB,CACpB,IAAI,EAAE,SAAS,EACf,gBAAgB,EAAE,OAAO,GACxB,OAAO,CAAC,cAAc,CAAC;IA2FpB,kBAAkB,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;IAYjE,kBAAkB,CAAC,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;IAqBrE,qBAAqB,CACzB,YAAY,EAAE,OAAO,GACpB,OAAO,CAAC,qBAAqB,CAAC;IAa3B,mBAAmB,CACvB,gBAAgB,EAAE,OAAO,GACxB,OAAO,CAAC,cAAc,CAAC;CAqB3B"}
@@ -1,6 +1,7 @@
1
1
  import { expect } from 'chai';
2
2
  import hre from 'hardhat';
3
- import { ERC20Test__factory, ERC4626Test__factory, Mailbox__factory, } from '@hyperlane-xyz/core';
3
+ import { zeroAddress } from 'viem';
4
+ import { ERC20Test__factory, ERC4626Test__factory, Mailbox__factory, XERC20LockboxTest__factory, XERC20Test__factory, } from '@hyperlane-xyz/core';
4
5
  import { TestChainName, test3, } from '@hyperlane-xyz/sdk';
5
6
  import { assert } from '@hyperlane-xyz/utils';
6
7
  import { TestCoreDeployer } from '../core/TestCoreDeployer.js';
@@ -112,6 +113,74 @@ describe('ERC20WarpRouterReader', async () => {
112
113
  expect(derivedConfig.decimals).to.equal(TOKEN_DECIMALS);
113
114
  }
114
115
  });
116
+ it('should derive xerc20 config correctly', async () => {
117
+ // Create token
118
+ const xerc20Token = await new XERC20Test__factory(signer).deploy(TOKEN_NAME, TOKEN_NAME, TOKEN_SUPPLY, TOKEN_DECIMALS);
119
+ // Create config
120
+ const config = {
121
+ [chain]: {
122
+ type: TokenType.XERC20,
123
+ token: xerc20Token.address,
124
+ hook: await mailbox.defaultHook(),
125
+ interchainSecurityModule: await mailbox.defaultIsm(),
126
+ ...baseConfig,
127
+ },
128
+ };
129
+ // Deploy with config
130
+ const warpRoute = await deployer.deploy(config);
131
+ // Derive config and check if each value matches
132
+ const derivedConfig = await evmERC20WarpRouteReader.deriveWarpRouteConfig(warpRoute[chain].xERC20.address);
133
+ for (const [key, value] of Object.entries(derivedConfig)) {
134
+ const deployedValue = config[chain][key];
135
+ if (deployedValue && typeof value === 'string')
136
+ expect(deployedValue).to.equal(value);
137
+ }
138
+ // Check hook because they're potentially objects
139
+ expect(derivedConfig.hook).to.deep.equal(await evmERC20WarpRouteReader.evmHookReader.deriveHookConfig(config[chain].hook));
140
+ // Check ism
141
+ expect(derivedConfig.interchainSecurityModule.address).to.be.equal(await mailbox.defaultIsm());
142
+ // Check if token values matches
143
+ if (derivedConfig.type === TokenType.XERC20) {
144
+ expect(derivedConfig.name).to.equal(TOKEN_NAME);
145
+ expect(derivedConfig.symbol).to.equal(TOKEN_NAME);
146
+ expect(derivedConfig.decimals).to.equal(TOKEN_DECIMALS);
147
+ expect(derivedConfig.token).to.equal(xerc20Token.address);
148
+ }
149
+ });
150
+ it('should derive xerc20lockbox config correctly', async () => {
151
+ // Create token
152
+ const xerc20Lockbox = await new XERC20LockboxTest__factory(signer).deploy(TOKEN_NAME, TOKEN_NAME, TOKEN_SUPPLY, TOKEN_DECIMALS);
153
+ // Create config
154
+ const config = {
155
+ [chain]: {
156
+ type: TokenType.XERC20Lockbox,
157
+ token: xerc20Lockbox.address,
158
+ hook: await mailbox.defaultHook(),
159
+ interchainSecurityModule: await mailbox.defaultIsm(),
160
+ ...baseConfig,
161
+ },
162
+ };
163
+ // Deploy with config
164
+ const warpRoute = await deployer.deploy(config);
165
+ // Derive config and check if each value matches
166
+ const derivedConfig = await evmERC20WarpRouteReader.deriveWarpRouteConfig(warpRoute[chain].xERC20Lockbox.address);
167
+ for (const [key, value] of Object.entries(derivedConfig)) {
168
+ const deployedValue = config[chain][key];
169
+ if (deployedValue && typeof value === 'string')
170
+ expect(deployedValue).to.equal(value);
171
+ }
172
+ // Check hook because they're potentially objects
173
+ expect(derivedConfig.hook).to.deep.equal(await evmERC20WarpRouteReader.evmHookReader.deriveHookConfig(config[chain].hook));
174
+ // Check ism
175
+ expect(derivedConfig.interchainSecurityModule.address).to.be.equal(await mailbox.defaultIsm());
176
+ // Check if token values matches
177
+ if (derivedConfig.type === TokenType.XERC20) {
178
+ expect(derivedConfig.name).to.equal(TOKEN_NAME);
179
+ expect(derivedConfig.symbol).to.equal(TOKEN_NAME);
180
+ expect(derivedConfig.decimals).to.equal(TOKEN_DECIMALS);
181
+ expect(derivedConfig.token).to.equal(xerc20Lockbox.address);
182
+ }
183
+ });
115
184
  it('should derive synthetic rebase config correctly', async () => {
116
185
  // Create config
117
186
  const config = {
@@ -227,7 +296,7 @@ describe('ERC20WarpRouterReader', async () => {
227
296
  expect(derivedConfig.owner).to.equal(config[chain].owner);
228
297
  expect(derivedConfig.token).to.equal(token.address);
229
298
  });
230
- it('should return undefined if ism is not set onchain', async () => {
299
+ it('should return 0x0 if ism is not set onchain', async () => {
231
300
  // Create config
232
301
  const config = {
233
302
  [chain]: {
@@ -241,7 +310,7 @@ describe('ERC20WarpRouterReader', async () => {
241
310
  const warpRoute = await deployer.deploy(config);
242
311
  // Derive config and check if each value matches
243
312
  const derivedConfig = await evmERC20WarpRouteReader.deriveWarpRouteConfig(warpRoute[chain].collateral.address);
244
- expect(derivedConfig.interchainSecurityModule).to.be.undefined;
313
+ expect(derivedConfig.interchainSecurityModule).to.be.equal(zeroAddress);
245
314
  });
246
315
  it('should return the remote routers', async () => {
247
316
  // Create config
@@ -1 +1 @@
1
- {"version":3,"file":"EvmERC20WarpRouteReader.hardhat-test.js","sourceRoot":"","sources":["../../src/token/EvmERC20WarpRouteReader.hardhat-test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EvmERC20WarpRouteReader.hardhat-test.js","sourceRoot":"","sources":["../../src/token/EvmERC20WarpRouteReader.hardhat-test.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { BigNumber, constants } from 'ethers';
2
- import { HypERC20Collateral__factory, HypERC20__factory, HypERC4626Collateral__factory, HypERC4626OwnerCollateral__factory, HypERC4626__factory, ProxyAdmin__factory, TokenRouter__factory, } from '@hyperlane-xyz/core';
1
+ import { BigNumber, Contract, constants } from 'ethers';
2
+ import { HypERC20Collateral__factory, HypERC20__factory, HypERC4626Collateral__factory, HypERC4626OwnerCollateral__factory, HypERC4626__factory, HypXERC20Lockbox__factory, IXERC20__factory, ProxyAdmin__factory, TokenRouter__factory, } from '@hyperlane-xyz/core';
3
3
  import { bytes32ToAddress, eqAddress, getLogLevel, rootLogger, } from '@hyperlane-xyz/utils';
4
4
  import { DEFAULT_CONTRACT_READ_CONCURRENCY } from '../consts/concurrency.js';
5
5
  import { EvmHookReader } from '../hook/EvmHookReader.js';
@@ -7,7 +7,8 @@ import { EvmIsmReader } from '../ism/EvmIsmReader.js';
7
7
  import { RemoteRoutersSchema, } from '../router/types.js';
8
8
  import { HyperlaneReader } from '../utils/HyperlaneReader.js';
9
9
  import { proxyAdmin } from './../deploy/proxy.js';
10
- import { TokenType } from './config.js';
10
+ import { NON_ZERO_SENDER_ADDRESS, TokenType } from './config.js';
11
+ import { getExtraLockBoxConfigs } from './xerc20.js';
11
12
  export class EvmERC20WarpRouteReader extends HyperlaneReader {
12
13
  multiProvider;
13
14
  chain;
@@ -65,6 +66,10 @@ export class EvmERC20WarpRouteReader extends HyperlaneReader {
65
66
  factory: HypERC4626OwnerCollateral__factory,
66
67
  method: 'vault',
67
68
  },
69
+ [TokenType.XERC20Lockbox]: {
70
+ factory: HypXERC20Lockbox__factory,
71
+ method: 'lockbox',
72
+ },
68
73
  [TokenType.collateral]: {
69
74
  factory: HypERC20Collateral__factory,
70
75
  method: 'wrappedToken',
@@ -86,6 +91,16 @@ export class EvmERC20WarpRouteReader extends HyperlaneReader {
86
91
  try {
87
92
  const warpRoute = factory.connect(warpRouteAddress, this.provider);
88
93
  await warpRoute[method]();
94
+ if (tokenType === TokenType.collateral) {
95
+ const wrappedToken = await warpRoute.wrappedToken();
96
+ const xerc20 = IXERC20__factory.connect(wrappedToken, this.provider);
97
+ try {
98
+ await xerc20['mintingCurrentLimitOf(address)'](warpRouteAddress);
99
+ return TokenType.XERC20;
100
+ // eslint-disable-next-line no-empty
101
+ }
102
+ catch { }
103
+ }
89
104
  return tokenType;
90
105
  }
91
106
  catch {
@@ -100,9 +115,8 @@ export class EvmERC20WarpRouteReader extends HyperlaneReader {
100
115
  try {
101
116
  await this.multiProvider.estimateGas(this.chain, {
102
117
  to: warpRouteAddress,
103
- from: await this.multiProvider.getSignerAddress(this.chain),
104
118
  value: BigNumber.from(0),
105
- });
119
+ }, NON_ZERO_SENDER_ADDRESS);
106
120
  return TokenType.native;
107
121
  }
108
122
  catch (e) {
@@ -127,10 +141,10 @@ export class EvmERC20WarpRouteReader extends HyperlaneReader {
127
141
  warpRoute.interchainSecurityModule(),
128
142
  ]);
129
143
  const derivedIsm = eqAddress(ism, constants.AddressZero)
130
- ? undefined
144
+ ? constants.AddressZero
131
145
  : await this.evmIsmReader.deriveIsmConfig(ism);
132
146
  const derivedHook = eqAddress(hook, constants.AddressZero)
133
- ? undefined
147
+ ? constants.AddressZero
134
148
  : await this.evmHookReader.deriveHookConfig(hook);
135
149
  return {
136
150
  mailbox,
@@ -139,27 +153,82 @@ export class EvmERC20WarpRouteReader extends HyperlaneReader {
139
153
  interchainSecurityModule: derivedIsm,
140
154
  };
141
155
  }
156
+ async fetchXERC20Config(type, xERC20Address, warpRouteAddress) {
157
+ // fetch the limits if possible
158
+ const rateLimitsABI = [
159
+ 'function rateLimitPerSecond(address) external view returns (uint128)',
160
+ 'function bufferCap(address) external view returns (uint112)',
161
+ ];
162
+ const xERC20 = new Contract(xERC20Address, rateLimitsABI, this.provider);
163
+ try {
164
+ const extraBridgesLimits = await getExtraLockBoxConfigs({
165
+ chain: this.chain,
166
+ multiProvider: this.multiProvider,
167
+ xERC20Address,
168
+ logger: this.logger,
169
+ });
170
+ return {
171
+ xERC20: {
172
+ warpRouteLimits: {
173
+ rateLimitPerSecond: (await xERC20.rateLimitPerSecond(warpRouteAddress)).toString(),
174
+ bufferCap: (await xERC20.bufferCap(warpRouteAddress)).toString(),
175
+ },
176
+ extraBridges: extraBridgesLimits.length > 0 ? extraBridgesLimits : undefined,
177
+ },
178
+ };
179
+ }
180
+ catch (error) {
181
+ this.logger.error(`Error fetching xERC20 limits for token at ${xERC20Address} on chain ${this.chain}`, error);
182
+ return {};
183
+ }
184
+ }
142
185
  /**
143
186
  * Fetches the metadata for a token address.
144
187
  *
145
- * @param tokenAddress - The address of the token.
188
+ * @param warpRouteAddress - The address of the token.
146
189
  * @returns A partial ERC20 metadata object containing the token name, symbol, total supply, and decimals.
147
190
  * Throws if unsupported token type
148
191
  */
149
- async fetchTokenConfig(type, tokenAddress) {
192
+ async fetchTokenConfig(type, warpRouteAddress) {
150
193
  if (type === TokenType.collateral ||
151
194
  type === TokenType.collateralVault ||
152
- type === TokenType.collateralVaultRebase) {
153
- const erc20 = HypERC20Collateral__factory.connect(tokenAddress, this.provider);
154
- const token = await erc20.wrappedToken();
195
+ type === TokenType.collateralVaultRebase ||
196
+ type === TokenType.XERC20 ||
197
+ type === TokenType.XERC20Lockbox) {
198
+ let xerc20Token;
199
+ let lockbox;
200
+ let token;
201
+ let xERC20Metadata = {};
202
+ if (type === TokenType.XERC20Lockbox) {
203
+ // XERC20Lockbox is a special case of collateral, we will fetch it from the xerc20 contract
204
+ const hypXERC20Lockbox = HypXERC20Lockbox__factory.connect(warpRouteAddress, this.provider);
205
+ xerc20Token = await hypXERC20Lockbox.xERC20();
206
+ token = xerc20Token;
207
+ lockbox = await hypXERC20Lockbox.lockbox();
208
+ }
209
+ else {
210
+ const erc20 = HypERC20Collateral__factory.connect(warpRouteAddress, this.provider);
211
+ token = await erc20.wrappedToken();
212
+ }
155
213
  const { name, symbol, decimals, totalSupply } = await this.fetchERC20Metadata(token);
156
- return { type, name, symbol, decimals, totalSupply, token };
214
+ if (type === TokenType.XERC20 || type === TokenType.XERC20Lockbox) {
215
+ xERC20Metadata = await this.fetchXERC20Config(type, token, warpRouteAddress);
216
+ }
217
+ return {
218
+ ...xERC20Metadata,
219
+ type,
220
+ name,
221
+ symbol,
222
+ decimals,
223
+ totalSupply,
224
+ token: lockbox || token,
225
+ };
157
226
  }
158
227
  else if (type === TokenType.synthetic ||
159
228
  type === TokenType.syntheticRebase) {
160
- const baseMetadata = await this.fetchERC20Metadata(tokenAddress);
229
+ const baseMetadata = await this.fetchERC20Metadata(warpRouteAddress);
161
230
  if (type === TokenType.syntheticRebase) {
162
- const hypERC4626 = HypERC4626__factory.connect(tokenAddress, this.provider);
231
+ const hypERC4626 = HypERC4626__factory.connect(warpRouteAddress, this.provider);
163
232
  const collateralChainName = this.multiProvider.getChainName(await hypERC4626.collateralDomain());
164
233
  return { type, ...baseMetadata, collateralChainName };
165
234
  }
@@ -1 +1 @@
1
- {"version":3,"file":"EvmERC20WarpRouteReader.js","sourceRoot":"","sources":["../../src/token/EvmERC20WarpRouteReader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EvmERC20WarpRouteReader.js","sourceRoot":"","sources":["../../src/token/EvmERC20WarpRouteReader.ts"],"names":[],"mappings":"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"}