@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.
- package/dist/core/EvmCoreModule.d.ts.map +1 -1
- package/dist/core/EvmCoreModule.hardhat-test.js +22 -3
- package/dist/core/EvmCoreModule.hardhat-test.js.map +1 -1
- package/dist/core/EvmCoreModule.js +11 -0
- package/dist/core/EvmCoreModule.js.map +1 -1
- package/dist/core/HyperlaneCoreDeployer.d.ts +2 -1
- package/dist/core/HyperlaneCoreDeployer.d.ts.map +1 -1
- package/dist/core/HyperlaneCoreDeployer.js +13 -4
- package/dist/core/HyperlaneCoreDeployer.js.map +1 -1
- package/dist/core/MultiProtocolCore.test.js +1 -0
- package/dist/core/MultiProtocolCore.test.js.map +1 -1
- package/dist/core/TestCoreApp.d.ts +1 -0
- package/dist/core/TestCoreApp.d.ts.map +1 -1
- package/dist/core/contracts.d.ts +3 -1
- package/dist/core/contracts.d.ts.map +1 -1
- package/dist/core/contracts.js +4 -1
- package/dist/core/contracts.js.map +1 -1
- package/dist/core/types.d.ts +344 -16
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +4 -0
- package/dist/core/types.js.map +1 -1
- package/dist/fee/EvmTokenFeeDeployer.d.ts +2 -0
- package/dist/fee/EvmTokenFeeDeployer.d.ts.map +1 -1
- package/dist/fee/EvmTokenFeeDeployer.hardhat-test.js +80 -9
- package/dist/fee/EvmTokenFeeDeployer.hardhat-test.js.map +1 -1
- package/dist/fee/EvmTokenFeeDeployer.js +68 -25
- package/dist/fee/EvmTokenFeeDeployer.js.map +1 -1
- package/dist/fee/EvmTokenFeeModule.d.ts +5 -3
- package/dist/fee/EvmTokenFeeModule.d.ts.map +1 -1
- package/dist/fee/EvmTokenFeeModule.hardhat-test.js +384 -20
- package/dist/fee/EvmTokenFeeModule.hardhat-test.js.map +1 -1
- package/dist/fee/EvmTokenFeeModule.js +190 -68
- package/dist/fee/EvmTokenFeeModule.js.map +1 -1
- package/dist/fee/EvmTokenFeeReader.d.ts +15 -2
- package/dist/fee/EvmTokenFeeReader.d.ts.map +1 -1
- package/dist/fee/EvmTokenFeeReader.hardhat-test.d.ts.map +1 -1
- package/dist/fee/EvmTokenFeeReader.hardhat-test.js +191 -4
- package/dist/fee/EvmTokenFeeReader.hardhat-test.js.map +1 -1
- package/dist/fee/EvmTokenFeeReader.js +104 -13
- package/dist/fee/EvmTokenFeeReader.js.map +1 -1
- package/dist/fee/contracts.d.ts +3 -1
- package/dist/fee/contracts.d.ts.map +1 -1
- package/dist/fee/contracts.js +3 -1
- package/dist/fee/contracts.js.map +1 -1
- package/dist/fee/crossCollateralUtils.d.ts +8 -0
- package/dist/fee/crossCollateralUtils.d.ts.map +1 -0
- package/dist/fee/crossCollateralUtils.js +49 -0
- package/dist/fee/crossCollateralUtils.js.map +1 -0
- package/dist/fee/types.d.ts +296 -32
- package/dist/fee/types.d.ts.map +1 -1
- package/dist/fee/types.js +94 -11
- package/dist/fee/types.js.map +1 -1
- package/dist/fee/types.test.js +39 -1
- package/dist/fee/types.test.js.map +1 -1
- package/dist/gas/HyperlaneIgpDeployer.d.ts.map +1 -1
- package/dist/gas/HyperlaneIgpDeployer.js +6 -0
- package/dist/gas/HyperlaneIgpDeployer.js.map +1 -1
- package/dist/hook/EvmHookModule.d.ts +5 -1
- package/dist/hook/EvmHookModule.d.ts.map +1 -1
- package/dist/hook/EvmHookModule.hardhat-test.js +69 -1
- package/dist/hook/EvmHookModule.hardhat-test.js.map +1 -1
- package/dist/hook/EvmHookModule.js +65 -2
- package/dist/hook/EvmHookModule.js.map +1 -1
- package/dist/hook/EvmHookReader.d.ts.map +1 -1
- package/dist/hook/EvmHookReader.js +7 -1
- package/dist/hook/EvmHookReader.js.map +1 -1
- package/dist/hook/HyperlaneHookDeployer.d.ts +5 -0
- package/dist/hook/HyperlaneHookDeployer.d.ts.map +1 -1
- package/dist/hook/types.d.ts +60 -0
- package/dist/hook/types.d.ts.map +1 -1
- package/dist/hook/types.js +2 -0
- package/dist/hook/types.js.map +1 -1
- package/dist/ica/types.d.ts +236 -12
- package/dist/ica/types.d.ts.map +1 -1
- package/dist/index.d.ts +6 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -3
- package/dist/index.js.map +1 -1
- package/dist/metadata/warpRouteConfig.d.ts +10 -8
- package/dist/metadata/warpRouteConfig.d.ts.map +1 -1
- package/dist/middleware/account/InterchainAccount.d.ts +8 -8
- package/dist/quoted-calls/builder.d.ts +52 -0
- package/dist/quoted-calls/builder.d.ts.map +1 -0
- package/dist/quoted-calls/builder.js +161 -0
- package/dist/quoted-calls/builder.js.map +1 -0
- package/dist/quoted-calls/builder.test.d.ts +2 -0
- package/dist/quoted-calls/builder.test.d.ts.map +1 -0
- package/dist/quoted-calls/builder.test.js +193 -0
- package/dist/quoted-calls/builder.test.js.map +1 -0
- package/dist/quoted-calls/codec.d.ts +94 -0
- package/dist/quoted-calls/codec.d.ts.map +1 -0
- package/dist/quoted-calls/codec.js +223 -0
- package/dist/quoted-calls/codec.js.map +1 -0
- package/dist/quoted-calls/codec.test.d.ts +2 -0
- package/dist/quoted-calls/codec.test.d.ts.map +1 -0
- package/dist/quoted-calls/codec.test.js +307 -0
- package/dist/quoted-calls/codec.test.js.map +1 -0
- package/dist/quoted-calls/types.d.ts +68 -0
- package/dist/quoted-calls/types.d.ts.map +1 -0
- package/dist/quoted-calls/types.js +22 -0
- package/dist/quoted-calls/types.js.map +1 -0
- package/dist/router/types.d.ts +246 -12
- package/dist/router/types.d.ts.map +1 -1
- package/dist/token/EvmWarpModule.d.ts +1 -0
- package/dist/token/EvmWarpModule.d.ts.map +1 -1
- package/dist/token/EvmWarpModule.hardhat-test.js +146 -2
- package/dist/token/EvmWarpModule.hardhat-test.js.map +1 -1
- package/dist/token/EvmWarpModule.js +36 -5
- package/dist/token/EvmWarpModule.js.map +1 -1
- package/dist/token/EvmWarpRouteReader.d.ts +3 -1
- package/dist/token/EvmWarpRouteReader.d.ts.map +1 -1
- package/dist/token/EvmWarpRouteReader.hardhat-test.js +129 -5
- package/dist/token/EvmWarpRouteReader.hardhat-test.js.map +1 -1
- package/dist/token/EvmWarpRouteReader.js +86 -24
- package/dist/token/EvmWarpRouteReader.js.map +1 -1
- package/dist/token/IToken.d.ts +2 -2
- package/dist/token/Token.d.ts.map +1 -1
- package/dist/token/Token.js +12 -1
- package/dist/token/Token.js.map +1 -1
- package/dist/token/Token.test.js +1 -0
- package/dist/token/Token.test.js.map +1 -1
- package/dist/token/TokenStandard.d.ts +2 -1
- package/dist/token/TokenStandard.d.ts.map +1 -1
- package/dist/token/TokenStandard.js +8 -0
- package/dist/token/TokenStandard.js.map +1 -1
- package/dist/token/adapters/EvmCrossCollateralAdapter.d.ts +1 -1
- package/dist/token/adapters/EvmCrossCollateralAdapter.d.ts.map +1 -1
- package/dist/token/adapters/EvmCrossCollateralAdapter.js +1 -1
- package/dist/token/adapters/EvmCrossCollateralAdapter.js.map +1 -1
- package/dist/token/adapters/EvmTokenAdapter.d.ts +2 -2
- package/dist/token/adapters/EvmTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/EvmTokenAdapter.js +11 -5
- package/dist/token/adapters/EvmTokenAdapter.js.map +1 -1
- package/dist/token/adapters/ITokenAdapter.d.ts +20 -0
- package/dist/token/adapters/ITokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/ITokenAdapter.js +6 -1
- package/dist/token/adapters/ITokenAdapter.js.map +1 -1
- package/dist/token/adapters/SealevelCrossCollateralAdapter.d.ts +36 -0
- package/dist/token/adapters/SealevelCrossCollateralAdapter.d.ts.map +1 -0
- package/dist/token/adapters/SealevelCrossCollateralAdapter.js +364 -0
- package/dist/token/adapters/SealevelCrossCollateralAdapter.js.map +1 -0
- package/dist/token/adapters/SealevelTokenAdapter.d.ts +9 -0
- package/dist/token/adapters/SealevelTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/SealevelTokenAdapter.js +1 -1
- package/dist/token/adapters/SealevelTokenAdapter.js.map +1 -1
- package/dist/token/adapters/serialization.d.ts +27 -0
- package/dist/token/adapters/serialization.d.ts.map +1 -1
- package/dist/token/adapters/serialization.js +93 -0
- package/dist/token/adapters/serialization.js.map +1 -1
- package/dist/token/config.d.ts +2 -0
- package/dist/token/config.d.ts.map +1 -1
- package/dist/token/config.js +2 -0
- package/dist/token/config.js.map +1 -1
- package/dist/token/configUtils.d.ts +0 -6
- package/dist/token/configUtils.d.ts.map +1 -1
- package/dist/token/configUtils.js +108 -15
- package/dist/token/configUtils.js.map +1 -1
- package/dist/token/configUtils.test.js +248 -4
- package/dist/token/configUtils.test.js.map +1 -1
- package/dist/token/contracts.d.ts +3 -2
- package/dist/token/contracts.d.ts.map +1 -1
- package/dist/token/contracts.js +3 -2
- package/dist/token/contracts.js.map +1 -1
- package/dist/token/deploy.d.ts +4 -5
- package/dist/token/deploy.d.ts.map +1 -1
- package/dist/token/deploy.hardhat-test.js +82 -0
- package/dist/token/deploy.hardhat-test.js.map +1 -1
- package/dist/token/deploy.js +60 -17
- package/dist/token/deploy.js.map +1 -1
- package/dist/token/tokenMetadataUtils.d.ts.map +1 -1
- package/dist/token/tokenMetadataUtils.js +17 -2
- package/dist/token/tokenMetadataUtils.js.map +1 -1
- package/dist/token/types.d.ts +2277 -567
- package/dist/token/types.d.ts.map +1 -1
- package/dist/token/types.js +55 -5
- package/dist/token/types.js.map +1 -1
- package/dist/token/types.test.js +132 -0
- package/dist/token/types.test.js.map +1 -1
- package/dist/warp/WarpCore.d.ts +59 -1
- package/dist/warp/WarpCore.d.ts.map +1 -1
- package/dist/warp/WarpCore.js +206 -6
- package/dist/warp/WarpCore.js.map +1 -1
- package/dist/warp/WarpCore.test.js +161 -9
- package/dist/warp/WarpCore.test.js.map +1 -1
- package/dist/warp/types.d.ts +24 -24
- package/package.json +11 -12
package/dist/token/deploy.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { compareVersions } from 'compare-versions';
|
|
2
2
|
import { BigNumber, constants } from 'ethers';
|
|
3
|
-
import { ERC20__factory, EverclearTokenBridge__factory, IMessageTransmitter__factory, MovableCollateralRouter__factory, OpL1V1NativeTokenBridge__factory, OpL2NativeTokenBridge__factory, PackageVersioned__factory, TokenBridgeCctpBase__factory, TokenBridgeCctpV2__factory, } from '@hyperlane-xyz/core';
|
|
4
|
-
import { CrossCollateralRouter__factory, TokenBridgeOft__factory, } from '@hyperlane-xyz/multicollateral';
|
|
3
|
+
import { CrossCollateralRouter__factory, ERC20__factory, EverclearTokenBridge__factory, IMessageTransmitter__factory, MovableCollateralRouter__factory, OpL1V1NativeTokenBridge__factory, OpL2NativeTokenBridge__factory, PackageVersioned__factory, TokenBridgeOft__factory, TokenBridgeCctpBase__factory, TokenBridgeCctpV2__factory, TokenBridgeDepositAddress__factory, } from '@hyperlane-xyz/core';
|
|
5
4
|
import { addressToBytes32, isEVMLike, assert, objFilter, objKeys, objMap, promiseObjAll, rootLogger, } from '@hyperlane-xyz/utils';
|
|
6
5
|
import { EvmTokenFeeModule } from '../fee/EvmTokenFeeModule.js';
|
|
7
6
|
import { GasRouterDeployer } from '../router/GasRouterDeployer.js';
|
|
@@ -12,7 +11,7 @@ import { gasOverhead } from './config.js';
|
|
|
12
11
|
import { resolveTokenFeeAddress } from './configUtils.js';
|
|
13
12
|
import { getCctpFactory, hypERC20contracts, hypERC20factories, hypERC721contracts, hypERC721factories, } from './contracts.js';
|
|
14
13
|
import { deriveTokenMetadata } from './tokenMetadataUtils.js';
|
|
15
|
-
import { isCctpTokenConfig, isCollateralTokenConfig, isEverclearCollateralTokenConfig, isEverclearEthBridgeTokenConfig, isEverclearTokenBridgeConfig, isMovableCollateralTokenConfig, isCrossCollateralTokenConfig, isNativeTokenConfig, isOftTokenConfig, isOpL1TokenConfig, isOpL2TokenConfig, isSyntheticRebaseTokenConfig, isSyntheticTokenConfig, isXERC20TokenConfig, } from './types.js';
|
|
14
|
+
import { isCctpTokenConfig, isCollateralTokenConfig, isEverclearCollateralTokenConfig, isEverclearEthBridgeTokenConfig, isEverclearTokenBridgeConfig, isDepositAddressTokenConfig, isMovableCollateralTokenConfig, isCrossCollateralTokenConfig, isNativeTokenConfig, isOftTokenConfig, isOpL1TokenConfig, isOpL2TokenConfig, isSyntheticRebaseTokenConfig, isSyntheticTokenConfig, isXERC20TokenConfig, } from './types.js';
|
|
16
15
|
// initialize(address _hook, address _owner)
|
|
17
16
|
const OP_L2_INITIALIZE_SIGNATURE = 'initialize(address,address)';
|
|
18
17
|
// initialize(address _owner, string[] memory _urls)
|
|
@@ -99,6 +98,9 @@ class TokenDeployer extends GasRouterDeployer {
|
|
|
99
98
|
else if (isOftTokenConfig(config)) {
|
|
100
99
|
return [config.oft, config.owner];
|
|
101
100
|
}
|
|
101
|
+
else if (isDepositAddressTokenConfig(config)) {
|
|
102
|
+
return [config.token, config.owner];
|
|
103
|
+
}
|
|
102
104
|
else if (isCctpTokenConfig(config)) {
|
|
103
105
|
switch (config.cctpVersion) {
|
|
104
106
|
case 'V1':
|
|
@@ -146,6 +148,9 @@ class TokenDeployer extends GasRouterDeployer {
|
|
|
146
148
|
// OFT is deployed unproxied — owner is set in constructor, no initialize
|
|
147
149
|
throw new Error('OFT does not use initialize');
|
|
148
150
|
}
|
|
151
|
+
else if (isDepositAddressTokenConfig(config)) {
|
|
152
|
+
throw new Error('Direct bridge adapters do not use initialize');
|
|
153
|
+
}
|
|
149
154
|
else if (isCollateralTokenConfig(config) ||
|
|
150
155
|
isXERC20TokenConfig(config) ||
|
|
151
156
|
isNativeTokenConfig(config) ||
|
|
@@ -250,6 +255,24 @@ class TokenDeployer extends GasRouterDeployer {
|
|
|
250
255
|
}
|
|
251
256
|
}));
|
|
252
257
|
}
|
|
258
|
+
async configureDepositAddressDestinations(configMap, deployedContractsMap) {
|
|
259
|
+
const depositConfigs = objFilter(configMap, (_, config) => isDepositAddressTokenConfig(config));
|
|
260
|
+
await promiseObjAll(objMap(depositConfigs, async (chain, config) => {
|
|
261
|
+
const router = this.router(deployedContractsMap[chain]).address;
|
|
262
|
+
const tokenBridge = TokenBridgeDepositAddress__factory.connect(router, this.multiProvider.getSigner(chain));
|
|
263
|
+
const resolvedConfigs = resolveRouterMapConfig(this.multiProvider, config.destinationConfigs);
|
|
264
|
+
for (const [domainId, destinationConfig] of Object.entries(resolvedConfigs)) {
|
|
265
|
+
for (const [recipient, recipientConfig] of Object.entries(destinationConfig)) {
|
|
266
|
+
this.logger.info(`Setting deposit-address bridge destination config on ${chain}`, {
|
|
267
|
+
destination: domainId,
|
|
268
|
+
depositAddress: recipientConfig.depositAddress,
|
|
269
|
+
recipient,
|
|
270
|
+
});
|
|
271
|
+
await this.multiProvider.handleTx(chain, tokenBridge.addDestinationConfig(Number(domainId), recipientConfig.depositAddress, recipient, BigNumber.from(recipientConfig.feeBps ?? 0)));
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
}));
|
|
275
|
+
}
|
|
253
276
|
async configureOftDomains(configMap, deployedContractsMap) {
|
|
254
277
|
const oftConfigs = objFilter(configMap, (_, config) => isOftTokenConfig(config));
|
|
255
278
|
await promiseObjAll(objMap(oftConfigs, async (chain, config) => {
|
|
@@ -263,7 +286,6 @@ class TokenDeployer extends GasRouterDeployer {
|
|
|
263
286
|
});
|
|
264
287
|
await this.multiProvider.handleTx(chain, tokenBridge.addDomain(Number(domainId), lzEid));
|
|
265
288
|
}
|
|
266
|
-
// Set extra options if configured
|
|
267
289
|
if (config.extraOptions) {
|
|
268
290
|
this.logger.info(`Setting OFT extra options on ${chain}`);
|
|
269
291
|
await this.multiProvider.handleTx(chain, tokenBridge.setExtraOptions(config.extraOptions));
|
|
@@ -416,29 +438,50 @@ class TokenDeployer extends GasRouterDeployer {
|
|
|
416
438
|
// override intermediate owner to the signer
|
|
417
439
|
owner: await this.multiProvider.getSigner(chain).getAddress(),
|
|
418
440
|
})));
|
|
419
|
-
|
|
420
|
-
// and must not be in this.deployedContracts during super.deploy(), which calls
|
|
421
|
-
// enrollRemoteRouters/configureClients on all entries.
|
|
441
|
+
const directBridgeContracts = {};
|
|
422
442
|
const oftContracts = {};
|
|
423
443
|
for (const [chain, config] of Object.entries(resolvedConfigMap)) {
|
|
424
|
-
if (
|
|
444
|
+
if (isDepositAddressTokenConfig(config)) {
|
|
445
|
+
const contractKey = this.routerContractKey(config);
|
|
446
|
+
const constructorArgs = await this.constructorArgs(chain, config);
|
|
447
|
+
const contract = await this.deployContractWithName(chain, contractKey, this.routerContractName(config), constructorArgs);
|
|
448
|
+
directBridgeContracts[chain] = { [contractKey]: contract };
|
|
449
|
+
delete resolvedConfigMap[chain];
|
|
425
450
|
continue;
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
451
|
+
}
|
|
452
|
+
if (isOftTokenConfig(config)) {
|
|
453
|
+
const contractKey = this.routerContractKey(config);
|
|
454
|
+
const constructorArgs = await this.constructorArgs(chain, config);
|
|
455
|
+
const contract = await this.deployContract(chain, contractKey, constructorArgs);
|
|
456
|
+
oftContracts[chain] = { [contractKey]: contract };
|
|
457
|
+
delete resolvedConfigMap[chain];
|
|
458
|
+
}
|
|
459
|
+
}
|
|
460
|
+
const deployedContractsMap = Object.keys(resolvedConfigMap).length > 0
|
|
461
|
+
? await super.deploy(resolvedConfigMap)
|
|
462
|
+
: // CAST: with no router-style deploys, the accumulated in-memory deploy state already
|
|
463
|
+
// matches the public return shape even though the base field is declared less precisely.
|
|
464
|
+
this.deployedContracts;
|
|
465
|
+
for (const [chain, contracts] of Object.entries(directBridgeContracts)) {
|
|
466
|
+
this.addDeployedContracts(chain, contracts);
|
|
467
|
+
deployedContractsMap[chain] = {
|
|
468
|
+
...deployedContractsMap[chain],
|
|
469
|
+
...contracts,
|
|
470
|
+
};
|
|
471
|
+
}
|
|
472
|
+
// Now safe to merge direct-bridge / OFT entries — Router-specific methods have already run
|
|
435
473
|
for (const [chain, contracts] of Object.entries(oftContracts)) {
|
|
436
474
|
this.addDeployedContracts(chain, contracts);
|
|
475
|
+
deployedContractsMap[chain] = {
|
|
476
|
+
...deployedContractsMap[chain],
|
|
477
|
+
...contracts,
|
|
478
|
+
};
|
|
437
479
|
}
|
|
438
480
|
// Configure CCTP domains after all routers are deployed and remotes are enrolled (in super.deploy)
|
|
439
481
|
await this.configureCctpDomains(configMap, deployedContractsMap);
|
|
440
482
|
// Set maxFeeBps for CCTP V2 routers (constructor sets it for direct deploys, this handles proxies)
|
|
441
483
|
await this.configureCctpV2MaxFee(configMap, deployedContractsMap);
|
|
484
|
+
await this.configureDepositAddressDestinations(configMap, deployedContractsMap);
|
|
442
485
|
// Configure OFT domain mappings (Hyperlane domain → LZ EID)
|
|
443
486
|
await this.configureOftDomains(configMap, deployedContractsMap);
|
|
444
487
|
await this.setRebalancers(configMap, deployedContractsMap);
|
package/dist/token/deploy.js.map
CHANGED
|
@@ -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,
|
|
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,GAC/B,OAAO,CAAC,gBAAgB,CAAC,CAsH3B"}
|
|
@@ -2,11 +2,25 @@ import { ERC20__factory, ERC721Enumerable__factory, IERC4626__factory, IXERC20Lo
|
|
|
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, isEverclearCollateralTokenConfig, isEverclearEthBridgeTokenConfig, isCrossCollateralTokenConfig, isNativeTokenConfig, isTokenMetadata, isXERC20TokenConfig, } from './types.js';
|
|
5
|
+
import { TokenMetadataSchema, isCctpTokenConfig, isCollateralTokenConfig, isDepositAddressTokenConfig, isEverclearCollateralTokenConfig, isEverclearEthBridgeTokenConfig, isCrossCollateralTokenConfig, isNativeTokenConfig, isTokenMetadata, isXERC20TokenConfig, } from './types.js';
|
|
6
6
|
export async function deriveTokenMetadata(multiProvider, configMap) {
|
|
7
7
|
const metadataMap = new TokenMetadataMap();
|
|
8
|
+
const prioritizedTypes = new Set([
|
|
9
|
+
TokenType.collateral,
|
|
10
|
+
TokenType.collateralVault,
|
|
11
|
+
TokenType.collateralVaultRebase,
|
|
12
|
+
TokenType.collateralCctp,
|
|
13
|
+
TokenType.collateralDepositAddress,
|
|
14
|
+
TokenType.collateralEverclear,
|
|
15
|
+
TokenType.XERC20,
|
|
16
|
+
TokenType.XERC20Lockbox,
|
|
17
|
+
TokenType.native,
|
|
18
|
+
]);
|
|
8
19
|
const priorityGetter = (type) => {
|
|
9
|
-
|
|
20
|
+
if (prioritizedTypes.has(type)) {
|
|
21
|
+
return 1;
|
|
22
|
+
}
|
|
23
|
+
return -1;
|
|
10
24
|
};
|
|
11
25
|
const sortedEntries = Object.entries(configMap).sort(([, a], [, b]) => priorityGetter(b.type) - priorityGetter(a.type));
|
|
12
26
|
for (const [chain, config] of sortedEntries) {
|
|
@@ -30,6 +44,7 @@ export async function deriveTokenMetadata(multiProvider, configMap) {
|
|
|
30
44
|
isCrossCollateralTokenConfig(config) ||
|
|
31
45
|
isXERC20TokenConfig(config) ||
|
|
32
46
|
isCctpTokenConfig(config) ||
|
|
47
|
+
isDepositAddressTokenConfig(config) ||
|
|
33
48
|
isEverclearCollateralTokenConfig(config)) {
|
|
34
49
|
const provider = multiProvider.getProvider(chain);
|
|
35
50
|
if (config.isNft) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokenMetadataUtils.js","sourceRoot":"","sources":["../../src/token/tokenMetadataUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,yBAAyB,EACzB,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAIjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EACL,mBAAmB,EAEnB,iBAAiB,EACjB,uBAAuB,EACvB,gCAAgC,EAChC,+BAA+B,EAC/B,4BAA4B,EAC5B,mBAAmB,EACnB,eAAe,EACf,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAEpB,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,aAA4B,EAC5B,SAAgC;IAEhC,MAAM,WAAW,GAAG,IAAI,gBAAgB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"tokenMetadataUtils.js","sourceRoot":"","sources":["../../src/token/tokenMetadataUtils.ts"],"names":[],"mappings":"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"}
|