@hyperlane-xyz/sdk 8.8.1 → 9.0.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/block-explorer/etherscan.d.ts +41 -0
- package/dist/block-explorer/etherscan.d.ts.map +1 -0
- package/dist/block-explorer/etherscan.js +53 -0
- package/dist/block-explorer/etherscan.js.map +1 -0
- package/dist/ccip/HyperlaneCCIPDeployer.d.ts +18 -0
- package/dist/ccip/HyperlaneCCIPDeployer.d.ts.map +1 -0
- package/dist/ccip/HyperlaneCCIPDeployer.js +122 -0
- package/dist/ccip/HyperlaneCCIPDeployer.js.map +1 -0
- package/dist/ccip/consts.d.ts +24 -0
- package/dist/ccip/consts.d.ts.map +1 -0
- package/dist/ccip/consts.js +691 -0
- package/dist/ccip/consts.js.map +1 -0
- package/dist/ccip/utils.d.ts +46 -0
- package/dist/ccip/utils.d.ts.map +1 -0
- package/dist/ccip/utils.js +95 -0
- package/dist/ccip/utils.js.map +1 -0
- package/dist/consts/multisigIsm.d.ts.map +1 -1
- package/dist/consts/multisigIsm.js +45 -9
- package/dist/consts/multisigIsm.js.map +1 -1
- package/dist/contracts/contracts.d.ts +2 -2
- package/dist/contracts/contracts.d.ts.map +1 -1
- package/dist/contracts/contracts.js +4 -13
- package/dist/contracts/contracts.js.map +1 -1
- package/dist/core/HyperlaneCoreDeployer.d.ts.map +1 -1
- package/dist/core/HyperlaneCoreDeployer.js +6 -2
- package/dist/core/HyperlaneCoreDeployer.js.map +1 -1
- package/dist/core/HyperlaneRelayer.d.ts +43 -3
- package/dist/core/HyperlaneRelayer.d.ts.map +1 -1
- package/dist/core/types.d.ts +3558 -2040
- package/dist/core/types.d.ts.map +1 -1
- package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
- package/dist/deploy/HyperlaneDeployer.js +6 -1
- package/dist/deploy/HyperlaneDeployer.js.map +1 -1
- package/dist/deploy/proxy.d.ts.map +1 -1
- package/dist/deploy/proxy.js +4 -0
- package/dist/deploy/proxy.js.map +1 -1
- package/dist/deploy/verify/utils.d.ts.map +1 -1
- package/dist/deploy/verify/utils.js +3 -9
- package/dist/deploy/verify/utils.js.map +1 -1
- package/dist/gas/HyperlaneIgpDeployer.d.ts.map +1 -1
- package/dist/gas/HyperlaneIgpDeployer.js +15 -3
- package/dist/gas/HyperlaneIgpDeployer.js.map +1 -1
- package/dist/hook/EvmHookModule.d.ts +12 -4
- package/dist/hook/EvmHookModule.d.ts.map +1 -1
- package/dist/hook/EvmHookModule.hardhat-test.js +2 -106
- package/dist/hook/EvmHookModule.hardhat-test.js.map +1 -1
- package/dist/hook/EvmHookModule.js +38 -10
- package/dist/hook/EvmHookModule.js.map +1 -1
- package/dist/hook/EvmHookReader.d.ts +7 -1
- package/dist/hook/EvmHookReader.d.ts.map +1 -1
- package/dist/hook/EvmHookReader.js +69 -4
- package/dist/hook/EvmHookReader.js.map +1 -1
- package/dist/hook/EvmHookReader.test.js +50 -1
- package/dist/hook/EvmHookReader.test.js.map +1 -1
- package/dist/hook/HyperlaneHookDeployer.d.ts +4 -2
- package/dist/hook/HyperlaneHookDeployer.d.ts.map +1 -1
- package/dist/hook/HyperlaneHookDeployer.js +39 -6
- package/dist/hook/HyperlaneHookDeployer.js.map +1 -1
- package/dist/hook/contracts.d.ts +4 -1
- package/dist/hook/contracts.d.ts.map +1 -1
- package/dist/hook/contracts.js +4 -1
- package/dist/hook/contracts.js.map +1 -1
- package/dist/hook/types.d.ts +2012 -3
- package/dist/hook/types.d.ts.map +1 -1
- package/dist/hook/types.js +28 -0
- package/dist/hook/types.js.map +1 -1
- package/dist/index.d.ts +11 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -4
- package/dist/index.js.map +1 -1
- package/dist/ism/EvmIsmModule.d.ts +4 -2
- package/dist/ism/EvmIsmModule.d.ts.map +1 -1
- package/dist/ism/EvmIsmModule.hardhat-test.js +10 -71
- package/dist/ism/EvmIsmModule.hardhat-test.js.map +1 -1
- package/dist/ism/EvmIsmModule.js +4 -4
- package/dist/ism/EvmIsmModule.js.map +1 -1
- package/dist/ism/EvmIsmReader.d.ts +1 -0
- package/dist/ism/EvmIsmReader.d.ts.map +1 -1
- package/dist/ism/EvmIsmReader.js +45 -7
- package/dist/ism/EvmIsmReader.js.map +1 -1
- package/dist/ism/EvmIsmReader.test.js +4 -1
- package/dist/ism/EvmIsmReader.test.js.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.d.ts +9 -4
- package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.hardhat-test.js +15 -0
- package/dist/ism/HyperlaneIsmFactory.hardhat-test.js.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.js +43 -4
- package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
- package/dist/ism/metadata/builder.d.ts.map +1 -1
- package/dist/ism/metadata/builder.js +1 -0
- package/dist/ism/metadata/builder.js.map +1 -1
- package/dist/ism/metadata/routing.d.ts.map +1 -1
- package/dist/ism/metadata/routing.js +8 -2
- package/dist/ism/metadata/routing.js.map +1 -1
- package/dist/ism/types.d.ts +34 -5
- package/dist/ism/types.d.ts.map +1 -1
- package/dist/ism/types.js +15 -0
- package/dist/ism/types.js.map +1 -1
- package/dist/ism/utils.d.ts.map +1 -1
- package/dist/ism/utils.js +30 -2
- package/dist/ism/utils.js.map +1 -1
- package/dist/metadata/agentConfig.d.ts +276 -276
- package/dist/metadata/chainMetadataTypes.d.ts +1 -0
- package/dist/metadata/chainMetadataTypes.d.ts.map +1 -1
- package/dist/metadata/chainMetadataTypes.js +1 -0
- package/dist/metadata/chainMetadataTypes.js.map +1 -1
- package/dist/metadata/deploymentArtifacts.d.ts +2 -2
- package/dist/providers/ProviderType.d.ts +29 -5
- package/dist/providers/ProviderType.d.ts.map +1 -1
- package/dist/providers/ProviderType.js +2 -0
- package/dist/providers/ProviderType.js.map +1 -1
- package/dist/providers/explorerHealthTest.d.ts.map +1 -1
- package/dist/providers/explorerHealthTest.js +1 -0
- package/dist/providers/explorerHealthTest.js.map +1 -1
- package/dist/providers/providerBuilders.d.ts +2 -1
- package/dist/providers/providerBuilders.d.ts.map +1 -1
- package/dist/providers/providerBuilders.js +9 -0
- package/dist/providers/providerBuilders.js.map +1 -1
- package/dist/router/types.d.ts +129 -9
- package/dist/router/types.d.ts.map +1 -1
- package/dist/test/testUtils.d.ts +8 -0
- package/dist/test/testUtils.d.ts.map +1 -1
- package/dist/test/testUtils.js +191 -1
- package/dist/test/testUtils.js.map +1 -1
- package/dist/token/EvmERC20WarpModule.d.ts +4 -1
- package/dist/token/EvmERC20WarpModule.d.ts.map +1 -1
- package/dist/token/EvmERC20WarpModule.js +12 -8
- package/dist/token/EvmERC20WarpModule.js.map +1 -1
- package/dist/token/EvmERC20WarpRouteReader.d.ts +4 -3
- package/dist/token/EvmERC20WarpRouteReader.d.ts.map +1 -1
- package/dist/token/EvmERC20WarpRouteReader.hardhat-test.js +72 -3
- package/dist/token/EvmERC20WarpRouteReader.hardhat-test.js.map +1 -1
- package/dist/token/EvmERC20WarpRouteReader.js +84 -15
- package/dist/token/EvmERC20WarpRouteReader.js.map +1 -1
- package/dist/token/Token.test.js +4 -0
- package/dist/token/Token.test.js.map +1 -1
- package/dist/token/TokenStandard.d.ts +8 -1
- package/dist/token/TokenStandard.d.ts.map +1 -1
- package/dist/token/TokenStandard.js +23 -0
- package/dist/token/TokenStandard.js.map +1 -1
- package/dist/token/adapters/EvmTokenAdapter.d.ts +49 -15
- package/dist/token/adapters/EvmTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/EvmTokenAdapter.js +152 -42
- package/dist/token/adapters/EvmTokenAdapter.js.map +1 -1
- package/dist/token/adapters/ITokenAdapter.d.ts +19 -0
- package/dist/token/adapters/ITokenAdapter.d.ts.map +1 -1
- package/dist/token/checker.d.ts +4 -1
- package/dist/token/checker.d.ts.map +1 -1
- package/dist/token/checker.js +33 -5
- package/dist/token/checker.js.map +1 -1
- package/dist/token/config.d.ts +1 -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 +10 -0
- package/dist/token/configUtils.d.ts.map +1 -0
- package/dist/token/configUtils.js +48 -0
- package/dist/token/configUtils.js.map +1 -0
- package/dist/token/contracts.d.ts +2 -2
- package/dist/token/contracts.d.ts.map +1 -1
- package/dist/token/contracts.js +4 -3
- package/dist/token/contracts.js.map +1 -1
- package/dist/token/deploy.d.ts +2 -2
- package/dist/token/deploy.d.ts.map +1 -1
- package/dist/token/deploy.hardhat-test.js +69 -6
- package/dist/token/deploy.hardhat-test.js.map +1 -1
- package/dist/token/deploy.js +12 -8
- package/dist/token/deploy.js.map +1 -1
- package/dist/token/nativeTokenMetadata.d.ts.map +1 -1
- package/dist/token/nativeTokenMetadata.js +6 -0
- package/dist/token/nativeTokenMetadata.js.map +1 -1
- package/dist/token/types.d.ts +3631 -252
- package/dist/token/types.d.ts.map +1 -1
- package/dist/token/types.js +125 -3
- package/dist/token/types.js.map +1 -1
- package/dist/token/types.test.js +2 -3
- package/dist/token/types.test.js.map +1 -1
- package/dist/token/xerc20.d.ts +13 -0
- package/dist/token/xerc20.d.ts.map +1 -0
- package/dist/token/xerc20.js +174 -0
- package/dist/token/xerc20.js.map +1 -0
- package/dist/utils/cosmos.d.ts +2 -2
- package/dist/warp/types.d.ts +14 -14
- package/package.json +4 -3
package/dist/token/checker.js
CHANGED
|
@@ -1,14 +1,39 @@
|
|
|
1
1
|
import { BigNumber } from 'ethers';
|
|
2
|
-
import { ERC20__factory, IXERC20Lockbox__factory, } from '@hyperlane-xyz/core';
|
|
2
|
+
import { ERC20__factory, IXERC20Lockbox__factory, Ownable__factory, ProxyAdmin__factory, } from '@hyperlane-xyz/core';
|
|
3
3
|
import { eqAddress, objMap } from '@hyperlane-xyz/utils';
|
|
4
|
+
import { filterOwnableContracts } from '../contracts/contracts.js';
|
|
5
|
+
import { isProxy, proxyAdmin } from '../deploy/proxy.js';
|
|
4
6
|
import { ProxiedRouterChecker } from '../router/ProxiedRouterChecker.js';
|
|
5
7
|
import { TokenType } from './config.js';
|
|
6
|
-
import { isCollateralTokenConfig, isNativeTokenConfig, isSyntheticTokenConfig, } from './types.js';
|
|
8
|
+
import { isCollateralTokenConfig, isNativeTokenConfig, isSyntheticTokenConfig, isXERC20TokenConfig, } from './types.js';
|
|
7
9
|
export class HypERC20Checker extends ProxiedRouterChecker {
|
|
8
10
|
async checkChain(chain) {
|
|
9
11
|
await super.checkChain(chain);
|
|
10
12
|
await this.checkToken(chain);
|
|
11
13
|
}
|
|
14
|
+
async ownables(chain) {
|
|
15
|
+
const contracts = this.app.getContracts(chain);
|
|
16
|
+
if (isCollateralTokenConfig(this.configMap[chain]) ||
|
|
17
|
+
isXERC20TokenConfig(this.configMap[chain])) {
|
|
18
|
+
let collateralToken = await this.getCollateralToken(chain);
|
|
19
|
+
const provider = this.multiProvider.getProvider(chain);
|
|
20
|
+
// XERC20s are Ownable
|
|
21
|
+
const expectedConfig = this.configMap[chain];
|
|
22
|
+
if (expectedConfig.type === TokenType.XERC20Lockbox) {
|
|
23
|
+
const lockbox = IXERC20Lockbox__factory.connect(expectedConfig.token, provider);
|
|
24
|
+
collateralToken = ERC20__factory.connect(await lockbox.callStatic['XERC20()'](), provider);
|
|
25
|
+
contracts['collateralToken'] = Ownable__factory.connect(collateralToken.address, provider);
|
|
26
|
+
}
|
|
27
|
+
if (expectedConfig.type === TokenType.XERC20) {
|
|
28
|
+
contracts['collateralToken'] = Ownable__factory.connect(collateralToken.address, provider);
|
|
29
|
+
}
|
|
30
|
+
if (await isProxy(provider, collateralToken.address)) {
|
|
31
|
+
const admin = await proxyAdmin(provider, collateralToken.address);
|
|
32
|
+
contracts['collateralProxyAdmin'] = ProxyAdmin__factory.connect(admin, provider);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return filterOwnableContracts(contracts);
|
|
36
|
+
}
|
|
12
37
|
async checkToken(chain) {
|
|
13
38
|
const checkERC20 = async (token, config) => {
|
|
14
39
|
const checks = [
|
|
@@ -56,7 +81,8 @@ export class HypERC20Checker extends ProxiedRouterChecker {
|
|
|
56
81
|
else if (isSyntheticTokenConfig(expectedConfig)) {
|
|
57
82
|
await checkERC20(hypToken, expectedConfig);
|
|
58
83
|
}
|
|
59
|
-
else if (isCollateralTokenConfig(expectedConfig)
|
|
84
|
+
else if (isCollateralTokenConfig(expectedConfig) ||
|
|
85
|
+
isXERC20TokenConfig(expectedConfig)) {
|
|
60
86
|
const collateralToken = await this.getCollateralToken(chain);
|
|
61
87
|
const actualToken = await hypToken.wrappedToken();
|
|
62
88
|
if (!eqAddress(collateralToken.address, actualToken)) {
|
|
@@ -99,7 +125,8 @@ export class HypERC20Checker extends ProxiedRouterChecker {
|
|
|
99
125
|
else if (isSyntheticTokenConfig(expectedConfig)) {
|
|
100
126
|
decimals = await hypToken.decimals();
|
|
101
127
|
}
|
|
102
|
-
else if (isCollateralTokenConfig(expectedConfig)
|
|
128
|
+
else if (isCollateralTokenConfig(expectedConfig) ||
|
|
129
|
+
isXERC20TokenConfig(expectedConfig)) {
|
|
103
130
|
const collateralToken = await this.getCollateralToken(chain);
|
|
104
131
|
decimals = await collateralToken.decimals();
|
|
105
132
|
}
|
|
@@ -111,7 +138,8 @@ export class HypERC20Checker extends ProxiedRouterChecker {
|
|
|
111
138
|
async getCollateralToken(chain) {
|
|
112
139
|
const expectedConfig = this.configMap[chain];
|
|
113
140
|
let collateralToken = undefined;
|
|
114
|
-
if (isCollateralTokenConfig(expectedConfig)
|
|
141
|
+
if (isCollateralTokenConfig(expectedConfig) ||
|
|
142
|
+
isXERC20TokenConfig(expectedConfig)) {
|
|
115
143
|
const provider = this.multiProvider.getProvider(chain);
|
|
116
144
|
if (expectedConfig.type === TokenType.XERC20Lockbox) {
|
|
117
145
|
const collateralTokenAddress = await IXERC20Lockbox__factory.connect(expectedConfig.token, provider).callStatic.ERC20();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checker.js","sourceRoot":"","sources":["../../src/token/checker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEnC,OAAO,EAEL,cAAc,EAEd,uBAAuB,
|
|
1
|
+
{"version":3,"file":"checker.js","sourceRoot":"","sources":["../../src/token/checker.ts"],"names":[],"mappings":"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"}
|
package/dist/token/config.d.ts
CHANGED
|
@@ -15,4 +15,5 @@ export declare enum TokenType {
|
|
|
15
15
|
nativeScaled = "nativeScaled"
|
|
16
16
|
}
|
|
17
17
|
export declare const gasOverhead: (tokenType: TokenType) => number;
|
|
18
|
+
export declare const NON_ZERO_SENDER_ADDRESS = "0x0000000000000000000000000000000000000001";
|
|
18
19
|
//# sourceMappingURL=config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/token/config.ts"],"names":[],"mappings":"AAAA,oBAAY,SAAS;IACnB,SAAS,cAAc;IACvB,eAAe,oBAAoB;IACnC,aAAa,kBAAkB;IAC/B,YAAY,iBAAiB;IAC7B,UAAU,eAAe;IACzB,eAAe,oBAAoB;IACnC,qBAAqB,0BAA0B;IAC/C,MAAM,WAAW;IACjB,aAAa,kBAAkB;IAC/B,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;IACjC,aAAa,kBAAkB;IAC/B,MAAM,WAAW;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/token/config.ts"],"names":[],"mappings":"AAAA,oBAAY,SAAS;IACnB,SAAS,cAAc;IACvB,eAAe,oBAAoB;IACnC,aAAa,kBAAkB;IAC/B,YAAY,iBAAiB;IAC7B,UAAU,eAAe;IACzB,eAAe,oBAAoB;IACnC,qBAAqB,0BAA0B;IAC/C,MAAM,WAAW;IACjB,aAAa,kBAAkB;IAC/B,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;IACjC,aAAa,kBAAkB;IAC/B,MAAM,WAAW;IAEjB,YAAY,iBAAiB;CAC9B;AAED,eAAO,MAAM,WAAW,cAAe,SAAS,KAAG,MAUlD,CAAC;AAEF,eAAO,MAAM,uBAAuB,+CACU,CAAC"}
|
package/dist/token/config.js
CHANGED
|
@@ -13,6 +13,7 @@ export var TokenType;
|
|
|
13
13
|
TokenType["fastCollateral"] = "fastCollateral";
|
|
14
14
|
TokenType["collateralUri"] = "collateralUri";
|
|
15
15
|
TokenType["native"] = "native";
|
|
16
|
+
// backwards compatible alias to native
|
|
16
17
|
TokenType["nativeScaled"] = "nativeScaled";
|
|
17
18
|
})(TokenType || (TokenType = {}));
|
|
18
19
|
export const gasOverhead = (tokenType) => {
|
|
@@ -26,4 +27,5 @@ export const gasOverhead = (tokenType) => {
|
|
|
26
27
|
return 68000;
|
|
27
28
|
}
|
|
28
29
|
};
|
|
30
|
+
export const NON_ZERO_SENDER_ADDRESS = '0x0000000000000000000000000000000000000001';
|
|
29
31
|
//# sourceMappingURL=config.js.map
|
package/dist/token/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/token/config.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/token/config.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,SAgBX;AAhBD,WAAY,SAAS;IACnB,oCAAuB,CAAA;IACvB,gDAAmC,CAAA;IACnC,4CAA+B,CAAA;IAC/B,0CAA6B,CAAA;IAC7B,sCAAyB,CAAA;IACzB,gDAAmC,CAAA;IACnC,4DAA+C,CAAA;IAC/C,8BAAiB,CAAA;IACjB,4CAA+B,CAAA;IAC/B,8CAAiC,CAAA;IACjC,8CAAiC,CAAA;IACjC,4CAA+B,CAAA;IAC/B,8BAAiB,CAAA;IACjB,uCAAuC;IACvC,0CAA6B,CAAA;AAC/B,CAAC,EAhBW,SAAS,KAAT,SAAS,QAgBpB;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,SAAoB,EAAU,EAAE;IAC1D,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,SAAS,CAAC,aAAa,CAAC;QAC7B,KAAK,SAAS,CAAC,SAAS;YACtB,OAAO,KAAM,CAAC;QAChB,KAAK,SAAS,CAAC,MAAM;YACnB,OAAO,KAAM,CAAC;QAChB;YACE,OAAO,KAAM,CAAC;IAClB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAClC,4CAA4C,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Address } from '@hyperlane-xyz/utils';
|
|
2
|
+
import { MultiProvider } from '../providers/MultiProvider.js';
|
|
3
|
+
import { DestinationGas, RemoteRouters } from '../router/types.js';
|
|
4
|
+
import { ChainMap } from '../types.js';
|
|
5
|
+
import { WarpCoreConfig } from '../warp/types.js';
|
|
6
|
+
import { WarpRouteDeployConfig } from './types.js';
|
|
7
|
+
export declare function getDefaultRemoteRouterAndDestinationGasConfig(multiProvider: MultiProvider, chain: string, deployedRoutersAddresses: ChainMap<Address>, warpDeployConfig: WarpRouteDeployConfig): [RemoteRouters, DestinationGas];
|
|
8
|
+
export declare function getRouterAddressesFromWarpCoreConfig(warpCoreConfig: WarpCoreConfig): ChainMap<Address>;
|
|
9
|
+
export declare function expandWarpDeployConfig(multiProvider: MultiProvider, warpDeployConfig: WarpRouteDeployConfig, deployedRoutersAddresses: ChainMap<Address>): Promise<WarpRouteDeployConfig>;
|
|
10
|
+
//# sourceMappingURL=configUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configUtils.d.ts","sourceRoot":"","sources":["../../src/token/configUtils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAU,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAIlD,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAYnD,wBAAgB,6CAA6C,CAC3D,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,MAAM,EACb,wBAAwB,EAAE,QAAQ,CAAC,OAAO,CAAC,EAC3C,gBAAgB,EAAE,qBAAqB,GACtC,CAAC,aAAa,EAAE,cAAc,CAAC,CAmBjC;AAED,wBAAgB,oCAAoC,CAClD,cAAc,EAAE,cAAc,GAC7B,QAAQ,CAAC,OAAO,CAAC,CAOnB;AAED,wBAAsB,sBAAsB,CAC1C,aAAa,EAAE,aAAa,EAC5B,gBAAgB,EAAE,qBAAqB,EACvC,wBAAwB,EAAE,QAAQ,CAAC,OAAO,CAAC,GAC1C,OAAO,CAAC,qBAAqB,CAAC,CA2BhC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { zeroAddress } from 'viem';
|
|
2
|
+
import { objMap } from '@hyperlane-xyz/utils';
|
|
3
|
+
import { gasOverhead } from './config.js';
|
|
4
|
+
import { HypERC20Deployer } from './deploy.js';
|
|
5
|
+
/**
|
|
6
|
+
* Gets gas configuration for a chain
|
|
7
|
+
*/
|
|
8
|
+
const getGasConfig = (warpDeployConfig, chain) => warpDeployConfig[chain].gas?.toString() ||
|
|
9
|
+
gasOverhead(warpDeployConfig[chain].type).toString();
|
|
10
|
+
export function getDefaultRemoteRouterAndDestinationGasConfig(multiProvider, chain, deployedRoutersAddresses, warpDeployConfig) {
|
|
11
|
+
const remoteRouters = {};
|
|
12
|
+
const destinationGas = {};
|
|
13
|
+
const otherChains = multiProvider
|
|
14
|
+
.getRemoteChains(chain)
|
|
15
|
+
.filter((c) => Object.keys(deployedRoutersAddresses).includes(c));
|
|
16
|
+
for (const otherChain of otherChains) {
|
|
17
|
+
const domainId = multiProvider.getDomainId(otherChain);
|
|
18
|
+
remoteRouters[domainId] = {
|
|
19
|
+
address: deployedRoutersAddresses[otherChain],
|
|
20
|
+
};
|
|
21
|
+
destinationGas[domainId] = getGasConfig(warpDeployConfig, otherChain);
|
|
22
|
+
}
|
|
23
|
+
return [remoteRouters, destinationGas];
|
|
24
|
+
}
|
|
25
|
+
export function getRouterAddressesFromWarpCoreConfig(warpCoreConfig) {
|
|
26
|
+
return Object.fromEntries(warpCoreConfig.tokens.map((token) => [
|
|
27
|
+
token.chainName,
|
|
28
|
+
token.addressOrDenom,
|
|
29
|
+
]));
|
|
30
|
+
}
|
|
31
|
+
export async function expandWarpDeployConfig(multiProvider, warpDeployConfig, deployedRoutersAddresses) {
|
|
32
|
+
const derivedTokenMetadata = await HypERC20Deployer.deriveTokenMetadata(multiProvider, warpDeployConfig);
|
|
33
|
+
return objMap(warpDeployConfig, (chain, config) => {
|
|
34
|
+
const [remoteRouters, destinationGas] = getDefaultRemoteRouterAndDestinationGasConfig(multiProvider, chain, deployedRoutersAddresses, warpDeployConfig);
|
|
35
|
+
return {
|
|
36
|
+
// Default Expansion
|
|
37
|
+
...derivedTokenMetadata,
|
|
38
|
+
remoteRouters,
|
|
39
|
+
destinationGas,
|
|
40
|
+
hook: zeroAddress,
|
|
41
|
+
interchainSecurityModule: zeroAddress,
|
|
42
|
+
proxyAdmin: { owner: config.owner },
|
|
43
|
+
// User-specified config takes precedence
|
|
44
|
+
...config,
|
|
45
|
+
};
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=configUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configUtils.js","sourceRoot":"","sources":["../../src/token/configUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAEnC,OAAO,EAAW,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAOvD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAG/C;;GAEG;AACH,MAAM,YAAY,GAAG,CACnB,gBAAuC,EACvC,KAAa,EACL,EAAE,CACV,gBAAgB,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE;IACvC,WAAW,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;AAEvD,MAAM,UAAU,6CAA6C,CAC3D,aAA4B,EAC5B,KAAa,EACb,wBAA2C,EAC3C,gBAAuC;IAEvC,MAAM,aAAa,GAAkB,EAAE,CAAC;IACxC,MAAM,cAAc,GAAmB,EAAE,CAAC;IAE1C,MAAM,WAAW,GAAG,aAAa;SAC9B,eAAe,CAAC,KAAK,CAAC;SACtB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAEpE,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAEvD,aAAa,CAAC,QAAQ,CAAC,GAAG;YACxB,OAAO,EAAE,wBAAwB,CAAC,UAAU,CAAC;SAC9C,CAAC;QAEF,cAAc,CAAC,QAAQ,CAAC,GAAG,YAAY,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;IACxE,CAAC;IAED,OAAO,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,oCAAoC,CAClD,cAA8B;IAE9B,OAAO,MAAM,CAAC,WAAW,CACvB,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;QACnC,KAAK,CAAC,SAAS;QACf,KAAK,CAAC,cAAc;KACrB,CAAC,CACkB,CAAC;AACzB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,aAA4B,EAC5B,gBAAuC,EACvC,wBAA2C;IAE3C,MAAM,oBAAoB,GAAG,MAAM,gBAAgB,CAAC,mBAAmB,CACrE,aAAa,EACb,gBAAgB,CACjB,CAAC;IACF,OAAO,MAAM,CAAC,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAChD,MAAM,CAAC,aAAa,EAAE,cAAc,CAAC,GACnC,6CAA6C,CAC3C,aAAa,EACb,KAAK,EACL,wBAAwB,EACxB,gBAAgB,CACjB,CAAC;QAEJ,OAAO;YACL,oBAAoB;YACpB,GAAG,oBAAoB;YACvB,aAAa;YACb,cAAc;YACd,IAAI,EAAE,WAAW;YACjB,wBAAwB,EAAE,WAAW;YACrC,UAAU,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE;YAEnC,yCAAyC;YACzC,GAAG,MAAM;SACV,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FastHypERC20Collateral__factory, FastHypERC20__factory, HypERC20Collateral__factory, HypERC20__factory, HypERC721Collateral__factory, HypERC721URICollateral__factory, HypERC721URIStorage__factory, HypERC721__factory, HypERC4626Collateral__factory, HypERC4626OwnerCollateral__factory, HypERC4626__factory, HypFiatToken__factory,
|
|
1
|
+
import { FastHypERC20Collateral__factory, FastHypERC20__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 } from '@hyperlane-xyz/core';
|
|
2
2
|
export declare const hypERC20contracts: {
|
|
3
3
|
fastCollateral: string;
|
|
4
4
|
fastSynthetic: string;
|
|
@@ -26,7 +26,7 @@ export declare const hypERC20factories: {
|
|
|
26
26
|
xERC20: HypXERC20__factory;
|
|
27
27
|
xERC20Lockbox: HypXERC20Lockbox__factory;
|
|
28
28
|
native: HypNative__factory;
|
|
29
|
-
nativeScaled:
|
|
29
|
+
nativeScaled: HypNative__factory;
|
|
30
30
|
};
|
|
31
31
|
export type HypERC20Factories = typeof hypERC20factories;
|
|
32
32
|
export declare const hypERC721contracts: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/token/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,+BAA+B,EAC/B,qBAAqB,EACrB,2BAA2B,EAC3B,iBAAiB,EACjB,4BAA4B,EAC5B,+BAA+B,EAC/B,4BAA4B,EAC5B,kBAAkB,EAClB,6BAA6B,EAC7B,kCAAkC,EAClC,mBAAmB,EACnB,qBAAqB,EACrB,
|
|
1
|
+
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/token/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,+BAA+B,EAC/B,qBAAqB,EACrB,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,EACnB,MAAM,qBAAqB,CAAC;AAI7B,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;CAc7B,CAAC;AACF,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC;AAEzD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;CAa7B,CAAC;AACF,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC;AAEzD,eAAO,MAAM,kBAAkB;;;;;CAK9B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAC;AAE3D,eAAO,MAAM,kBAAkB;;;;;CAK9B,CAAC;AACF,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAC;AAE3D,MAAM,MAAM,cAAc,GAAG,iBAAiB,GAAG,kBAAkB,CAAC"}
|
package/dist/token/contracts.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FastHypERC20Collateral__factory, FastHypERC20__factory, HypERC20Collateral__factory, HypERC20__factory, HypERC721Collateral__factory, HypERC721URICollateral__factory, HypERC721URIStorage__factory, HypERC721__factory, HypERC4626Collateral__factory, HypERC4626OwnerCollateral__factory, HypERC4626__factory, HypFiatToken__factory,
|
|
1
|
+
import { FastHypERC20Collateral__factory, FastHypERC20__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, } from '@hyperlane-xyz/core';
|
|
2
2
|
import { TokenType } from './config.js';
|
|
3
3
|
export const hypERC20contracts = {
|
|
4
4
|
[TokenType.fastCollateral]: 'FastHypERC20Collateral',
|
|
@@ -12,7 +12,8 @@ export const hypERC20contracts = {
|
|
|
12
12
|
[TokenType.collateralVault]: 'HypERC4626OwnerCollateral',
|
|
13
13
|
[TokenType.collateralVaultRebase]: 'HypERC4626Collateral',
|
|
14
14
|
[TokenType.native]: 'HypNative',
|
|
15
|
-
|
|
15
|
+
// uses same contract as native
|
|
16
|
+
[TokenType.nativeScaled]: 'HypNative',
|
|
16
17
|
};
|
|
17
18
|
export const hypERC20factories = {
|
|
18
19
|
[TokenType.fastCollateral]: new FastHypERC20Collateral__factory(),
|
|
@@ -26,7 +27,7 @@ export const hypERC20factories = {
|
|
|
26
27
|
[TokenType.XERC20]: new HypXERC20__factory(),
|
|
27
28
|
[TokenType.XERC20Lockbox]: new HypXERC20Lockbox__factory(),
|
|
28
29
|
[TokenType.native]: new HypNative__factory(),
|
|
29
|
-
[TokenType.nativeScaled]: new
|
|
30
|
+
[TokenType.nativeScaled]: new HypNative__factory(),
|
|
30
31
|
};
|
|
31
32
|
export const hypERC721contracts = {
|
|
32
33
|
[TokenType.collateralUri]: 'HypERC721URICollateral',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/token/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,+BAA+B,EAC/B,qBAAqB,EACrB,2BAA2B,EAC3B,iBAAiB,EACjB,4BAA4B,EAC5B,+BAA+B,EAC/B,4BAA4B,EAC5B,kBAAkB,EAClB,6BAA6B,EAC7B,kCAAkC,EAClC,mBAAmB,EACnB,qBAAqB,EACrB,
|
|
1
|
+
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/token/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,+BAA+B,EAC/B,qBAAqB,EACrB,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,GACnB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,wBAAwB;IACpD,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,cAAc;IACzC,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,UAAU;IACjC,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,YAAY;IACzC,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,oBAAoB;IAC5C,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,cAAc;IAC1C,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,WAAW;IAC/B,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,kBAAkB;IAC7C,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,2BAA2B;IACxD,CAAC,SAAS,CAAC,qBAAqB,CAAC,EAAE,sBAAsB;IACzD,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,WAAW;IAC/B,+BAA+B;IAC/B,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,WAAW;CACtC,CAAC;AAGF,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,IAAI,+BAA+B,EAAE;IACjE,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,IAAI,qBAAqB,EAAE;IACtD,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,IAAI,iBAAiB,EAAE;IAC9C,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,IAAI,2BAA2B,EAAE;IACzD,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,IAAI,kCAAkC,EAAE;IACrE,CAAC,SAAS,CAAC,qBAAqB,CAAC,EAAE,IAAI,6BAA6B,EAAE;IACtE,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,IAAI,mBAAmB,EAAE;IACtD,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,IAAI,qBAAqB,EAAE;IACvD,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,IAAI,kBAAkB,EAAE;IAC5C,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,IAAI,yBAAyB,EAAE;IAC1D,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,IAAI,kBAAkB,EAAE;IAC5C,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,IAAI,kBAAkB,EAAE;CACnD,CAAC;AAGF,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,wBAAwB;IACnD,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,qBAAqB;IAC7C,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,qBAAqB;IAC/C,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,WAAW;CACnC,CAAC;AAIF,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,IAAI,+BAA+B,EAAE;IAChE,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,IAAI,4BAA4B,EAAE;IAC1D,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,IAAI,4BAA4B,EAAE;IAC5D,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,IAAI,kBAAkB,EAAE;CAChD,CAAC"}
|
package/dist/token/deploy.d.ts
CHANGED
|
@@ -6,13 +6,13 @@ import { MultiProvider } from '../providers/MultiProvider.js';
|
|
|
6
6
|
import { GasRouterDeployer } from '../router/GasRouterDeployer.js';
|
|
7
7
|
import { ChainName } from '../types.js';
|
|
8
8
|
import { HypERC20Factories, HypERC721Factories, TokenFactories } from './contracts.js';
|
|
9
|
-
import { HypTokenRouterConfig, TokenMetadata, WarpRouteDeployConfig } from './types.js';
|
|
9
|
+
import { HypTokenRouterConfig, TokenMetadata, WarpRouteDeployConfig, WarpRouteDeployConfigMailboxRequired } from './types.js';
|
|
10
10
|
declare abstract class TokenDeployer<Factories extends TokenFactories> extends GasRouterDeployer<HypTokenRouterConfig, Factories> {
|
|
11
11
|
constructor(multiProvider: MultiProvider, factories: Factories, loggerName: string, ismFactory?: HyperlaneIsmFactory, contractVerifier?: ContractVerifier, concurrentDeploy?: boolean);
|
|
12
12
|
constructorArgs(_: ChainName, config: HypTokenRouterConfig): Promise<any>;
|
|
13
13
|
initializeArgs(chain: ChainName, config: HypTokenRouterConfig): Promise<any>;
|
|
14
14
|
static deriveTokenMetadata(multiProvider: MultiProvider, configMap: WarpRouteDeployConfig): Promise<TokenMetadata | undefined>;
|
|
15
|
-
deploy(configMap:
|
|
15
|
+
deploy(configMap: WarpRouteDeployConfigMailboxRequired): Promise<import("../contracts/types.js").HyperlaneContractsMap<Factories & import("../contracts/types.js").HyperlaneFactories & {
|
|
16
16
|
proxyAdmin: import("@hyperlane-xyz/core").ProxyAdmin__factory;
|
|
17
17
|
timelockController: import("@hyperlane-xyz/core").TimelockController__factory;
|
|
18
18
|
}>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/token/deploy.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,SAAS,EAGV,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,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,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EAKf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,oBAAoB,EACpB,aAAa,EAEb,qBAAqB,
|
|
1
|
+
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/token/deploy.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,SAAS,EAGV,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,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,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EAKf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,oBAAoB,EACpB,aAAa,EAEb,qBAAqB,EACrB,oCAAoC,EAOrC,MAAM,YAAY,CAAC;AAEpB,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,UAAQ;IAUpB,eAAe,CACnB,CAAC,EAAE,SAAS,EACZ,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,GAAG,CAAC;IAqBT,cAAc,CAClB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,GAAG,CAAC;WAuBF,mBAAmB,CAC9B,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,qBAAqB,GAC/B,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IA4E/B,MAAM,CAAC,SAAS,EAAE,oCAAoC;;;;CAmB7D;AAED,qBAAa,gBAAiB,SAAQ,aAAa,CAAC,iBAAiB,CAAC;gBAElE,aAAa,EAAE,aAAa,EAC5B,UAAU,CAAC,EAAE,mBAAmB,EAChC,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,gBAAgB,UAAQ;IAY1B,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC,iBAAiB,CAAC,GAAG,SAAS;IASnE,iBAAiB,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM,iBAAiB;IAKxE,kBAAkB,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM;CAGzD;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"}
|
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
import { expect } from 'chai';
|
|
2
|
+
import { ethers } from 'ethers';
|
|
2
3
|
import hre from 'hardhat';
|
|
3
|
-
import { ERC20Test__factory } from '@hyperlane-xyz/core';
|
|
4
|
+
import { ERC20Test__factory, ProxyAdmin__factory, TransparentUpgradeableProxy__factory, XERC20Test__factory, } from '@hyperlane-xyz/core';
|
|
4
5
|
import { objMap } from '@hyperlane-xyz/utils';
|
|
5
6
|
import { TestChainName } from '../consts/testChains.js';
|
|
6
7
|
import { TestCoreDeployer } from '../core/TestCoreDeployer.js';
|
|
7
8
|
import { HyperlaneProxyFactoryDeployer } from '../deploy/HyperlaneProxyFactoryDeployer.js';
|
|
9
|
+
import { ViolationType } from '../deploy/types.js';
|
|
8
10
|
import { HyperlaneIsmFactory } from '../ism/HyperlaneIsmFactory.js';
|
|
9
11
|
import { MultiProvider } from '../providers/MultiProvider.js';
|
|
10
12
|
import { EvmERC20WarpRouteReader } from './EvmERC20WarpRouteReader.js';
|
|
13
|
+
import { HypERC20App } from './app.js';
|
|
14
|
+
import { HypERC20Checker } from './checker.js';
|
|
11
15
|
import { TokenType } from './config.js';
|
|
12
16
|
import { HypERC20Deployer } from './deploy.js';
|
|
13
17
|
const chain = TestChainName.test1;
|
|
@@ -18,6 +22,9 @@ describe('TokenDeployer', async () => {
|
|
|
18
22
|
let coreApp;
|
|
19
23
|
let config;
|
|
20
24
|
let token;
|
|
25
|
+
let xerc20;
|
|
26
|
+
let erc20;
|
|
27
|
+
let admin;
|
|
21
28
|
before(async () => {
|
|
22
29
|
[signer] = await hre.ethers.getSigners();
|
|
23
30
|
multiProvider = MultiProvider.createTestMultiProvider({ signer });
|
|
@@ -34,17 +41,73 @@ describe('TokenDeployer', async () => {
|
|
|
34
41
|
totalSupply: '100000',
|
|
35
42
|
...c,
|
|
36
43
|
}));
|
|
37
|
-
const { name, decimals, symbol, totalSupply } = config[chain];
|
|
38
|
-
const contract = await new ERC20Test__factory(signer).deploy(name, symbol, totalSupply, decimals);
|
|
39
|
-
token = contract.address;
|
|
40
44
|
});
|
|
41
45
|
beforeEach(async () => {
|
|
46
|
+
const { name, decimals, symbol, totalSupply } = config[chain];
|
|
47
|
+
const implementation = await new XERC20Test__factory(signer).deploy(name, symbol, totalSupply, decimals);
|
|
48
|
+
admin = await new ProxyAdmin__factory(signer).deploy();
|
|
49
|
+
const proxy = await new TransparentUpgradeableProxy__factory(signer).deploy(implementation.address, admin.address, XERC20Test__factory.createInterface().encodeFunctionData('initialize'));
|
|
50
|
+
token = proxy.address;
|
|
51
|
+
xerc20 = XERC20Test__factory.connect(token, signer);
|
|
52
|
+
erc20 = await new ERC20Test__factory(signer).deploy(name, symbol, totalSupply, decimals);
|
|
42
53
|
deployer = new HypERC20Deployer(multiProvider);
|
|
43
54
|
});
|
|
44
55
|
it('deploys', async () => {
|
|
45
56
|
await deployer.deploy(config);
|
|
46
57
|
});
|
|
47
|
-
for (const type of [
|
|
58
|
+
for (const type of [
|
|
59
|
+
TokenType.collateral,
|
|
60
|
+
TokenType.synthetic,
|
|
61
|
+
TokenType.XERC20,
|
|
62
|
+
]) {
|
|
63
|
+
const token = () => {
|
|
64
|
+
switch (type) {
|
|
65
|
+
case TokenType.XERC20:
|
|
66
|
+
return xerc20.address;
|
|
67
|
+
case TokenType.collateral:
|
|
68
|
+
return erc20.address;
|
|
69
|
+
default:
|
|
70
|
+
return undefined;
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
describe('HypERC20Checker', async () => {
|
|
74
|
+
let checker;
|
|
75
|
+
beforeEach(async () => {
|
|
76
|
+
config[chain] = {
|
|
77
|
+
...config[chain],
|
|
78
|
+
type,
|
|
79
|
+
// @ts-ignore
|
|
80
|
+
token: token(),
|
|
81
|
+
};
|
|
82
|
+
const contractsMap = await deployer.deploy(config);
|
|
83
|
+
const app = new HypERC20App(contractsMap, multiProvider);
|
|
84
|
+
checker = new HypERC20Checker(multiProvider, app, config);
|
|
85
|
+
});
|
|
86
|
+
it(`should have no violations on clean deploy of ${type}`, async () => {
|
|
87
|
+
await checker.check();
|
|
88
|
+
checker.expectEmpty();
|
|
89
|
+
});
|
|
90
|
+
it(`should check owner of collateral`, async () => {
|
|
91
|
+
if (type !== TokenType.XERC20) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
await xerc20.transferOwnership(ethers.Wallet.createRandom().address);
|
|
95
|
+
await checker.check();
|
|
96
|
+
checker.expectViolations({
|
|
97
|
+
[ViolationType.Owner]: 1,
|
|
98
|
+
});
|
|
99
|
+
});
|
|
100
|
+
it(`should check owner of collateral proxyAdmin`, async () => {
|
|
101
|
+
if (type !== TokenType.XERC20) {
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
await admin.transferOwnership(ethers.Wallet.createRandom().address);
|
|
105
|
+
await checker.check();
|
|
106
|
+
checker.expectViolations({
|
|
107
|
+
[ViolationType.Owner]: 1,
|
|
108
|
+
});
|
|
109
|
+
});
|
|
110
|
+
});
|
|
48
111
|
describe('ERC20WarpRouterReader', async () => {
|
|
49
112
|
let reader;
|
|
50
113
|
let routerAddress;
|
|
@@ -56,7 +119,7 @@ describe('TokenDeployer', async () => {
|
|
|
56
119
|
...config[chain],
|
|
57
120
|
type,
|
|
58
121
|
// @ts-ignore
|
|
59
|
-
token:
|
|
122
|
+
token: token(),
|
|
60
123
|
};
|
|
61
124
|
const warpRoute = await deployer.deploy(config);
|
|
62
125
|
routerAddress = warpRoute[chain][type].address;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.hardhat-test.js","sourceRoot":"","sources":["../../src/token/deploy.hardhat-test.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,GAAG,MAAM,SAAS,CAAC;AAE1B,OAAO,
|
|
1
|
+
{"version":3,"file":"deploy.hardhat-test.js","sourceRoot":"","sources":["../../src/token/deploy.hardhat-test.ts"],"names":[],"mappings":"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"}
|
package/dist/token/deploy.js
CHANGED
|
@@ -4,7 +4,7 @@ import { assert, objKeys, objMap, rootLogger } from '@hyperlane-xyz/utils';
|
|
|
4
4
|
import { GasRouterDeployer } from '../router/GasRouterDeployer.js';
|
|
5
5
|
import { TokenType, gasOverhead } from './config.js';
|
|
6
6
|
import { hypERC20contracts, hypERC20factories, hypERC721contracts, hypERC721factories, } from './contracts.js';
|
|
7
|
-
import { TokenMetadataSchema, isCollateralTokenConfig, isNativeTokenConfig, isSyntheticRebaseTokenConfig, isSyntheticTokenConfig, isTokenMetadata, } from './types.js';
|
|
7
|
+
import { TokenMetadataSchema, isCollateralTokenConfig, isNativeTokenConfig, isSyntheticRebaseTokenConfig, isSyntheticTokenConfig, isTokenMetadata, isXERC20TokenConfig, } from './types.js';
|
|
8
8
|
class TokenDeployer extends GasRouterDeployer {
|
|
9
9
|
constructor(multiProvider, factories, loggerName, ismFactory, contractVerifier, concurrentDeploy = false) {
|
|
10
10
|
super(multiProvider, factories, {
|
|
@@ -15,19 +15,21 @@ class TokenDeployer extends GasRouterDeployer {
|
|
|
15
15
|
}); // factories not used in deploy
|
|
16
16
|
}
|
|
17
17
|
async constructorArgs(_, config) {
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
// TODO: derive as specified in https://github.com/hyperlane-xyz/hyperlane-monorepo/issues/5296
|
|
19
|
+
const scale = config.scale ?? 1;
|
|
20
|
+
if (isCollateralTokenConfig(config) || isXERC20TokenConfig(config)) {
|
|
21
|
+
return [config.token, scale, config.mailbox];
|
|
20
22
|
}
|
|
21
23
|
else if (isNativeTokenConfig(config)) {
|
|
22
|
-
return
|
|
24
|
+
return [scale, config.mailbox];
|
|
23
25
|
}
|
|
24
26
|
else if (isSyntheticTokenConfig(config)) {
|
|
25
27
|
assert(config.decimals, 'decimals is undefined for config'); // decimals must be defined by this point
|
|
26
|
-
return [config.decimals, config.mailbox];
|
|
28
|
+
return [config.decimals, scale, config.mailbox];
|
|
27
29
|
}
|
|
28
30
|
else if (isSyntheticRebaseTokenConfig(config)) {
|
|
29
31
|
const collateralDomain = this.multiProvider.getDomainId(config.collateralChainName);
|
|
30
|
-
return [config.decimals, config.mailbox, collateralDomain];
|
|
32
|
+
return [config.decimals, scale, config.mailbox, collateralDomain];
|
|
31
33
|
}
|
|
32
34
|
else {
|
|
33
35
|
throw new Error('Unknown token type when constructing arguments');
|
|
@@ -41,7 +43,9 @@ class TokenDeployer extends GasRouterDeployer {
|
|
|
41
43
|
// TransferOwnership will happen later in RouterDeployer
|
|
42
44
|
signer,
|
|
43
45
|
];
|
|
44
|
-
if (isCollateralTokenConfig(config) ||
|
|
46
|
+
if (isCollateralTokenConfig(config) ||
|
|
47
|
+
isXERC20TokenConfig(config) ||
|
|
48
|
+
isNativeTokenConfig(config)) {
|
|
45
49
|
return defaultArgs;
|
|
46
50
|
}
|
|
47
51
|
else if (isSyntheticTokenConfig(config)) {
|
|
@@ -70,7 +74,7 @@ class TokenDeployer extends GasRouterDeployer {
|
|
|
70
74
|
});
|
|
71
75
|
}
|
|
72
76
|
}
|
|
73
|
-
if (isCollateralTokenConfig(config)) {
|
|
77
|
+
if (isCollateralTokenConfig(config) || isXERC20TokenConfig(config)) {
|
|
74
78
|
const provider = multiProvider.getProvider(chain);
|
|
75
79
|
if (config.isNft) {
|
|
76
80
|
const erc721 = ERC721Enumerable__factory.connect(config.token, provider);
|
package/dist/token/deploy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/token/deploy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEnC,OAAO,EACL,cAAc,EACd,yBAAyB,EAEzB,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAM3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAGnE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAIL,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAGL,mBAAmB,
|
|
1
|
+
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/token/deploy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nativeTokenMetadata.d.ts","sourceRoot":"","sources":["../../src/token/nativeTokenMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAEhE,eAAO,MAAM,gCAAgC,EAAE,MAAM,CACnD,YAAY,EACZ,WAAW,
|
|
1
|
+
{"version":3,"file":"nativeTokenMetadata.d.ts","sourceRoot":"","sources":["../../src/token/nativeTokenMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAEhE,eAAO,MAAM,gCAAgC,EAAE,MAAM,CACnD,YAAY,EACZ,WAAW,CAwBZ,CAAC"}
|
|
@@ -16,5 +16,11 @@ export const PROTOCOL_TO_DEFAULT_NATIVE_TOKEN = {
|
|
|
16
16
|
name: 'Atom',
|
|
17
17
|
symbol: 'ATOM',
|
|
18
18
|
},
|
|
19
|
+
[ProtocolType.Starknet]: {
|
|
20
|
+
decimals: 18,
|
|
21
|
+
denom: '0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7',
|
|
22
|
+
name: 'Ether',
|
|
23
|
+
symbol: 'ETH',
|
|
24
|
+
},
|
|
19
25
|
};
|
|
20
26
|
//# sourceMappingURL=nativeTokenMetadata.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nativeTokenMetadata.js","sourceRoot":"","sources":["../../src/token/nativeTokenMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAIpD,MAAM,CAAC,MAAM,gCAAgC,GAGzC;IACF,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE;QACvB,QAAQ,EAAE,EAAE;QACZ,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,KAAK;KACd;IACD,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE;QACvB,QAAQ,EAAE,CAAC;QACX,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,KAAK;KACd;IACD,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE;QACrB,QAAQ,EAAE,CAAC;QACX,KAAK,EAAE,OAAO;QACd,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,MAAM;KACf;CACF,CAAC"}
|
|
1
|
+
{"version":3,"file":"nativeTokenMetadata.js","sourceRoot":"","sources":["../../src/token/nativeTokenMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAIpD,MAAM,CAAC,MAAM,gCAAgC,GAGzC;IACF,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE;QACvB,QAAQ,EAAE,EAAE;QACZ,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,KAAK;KACd;IACD,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE;QACvB,QAAQ,EAAE,CAAC;QACX,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,KAAK;KACd;IACD,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE;QACrB,QAAQ,EAAE,CAAC;QACX,KAAK,EAAE,OAAO;QACd,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,MAAM;KACf;IACD,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE;QACvB,QAAQ,EAAE,EAAE;QACZ,KAAK,EAAE,oEAAoE;QAC3E,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,KAAK;KACd;CACF,CAAC"}
|