@hyperlane-xyz/sdk 3.10.1-beta1 → 3.20.0-beta0
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/app/MultiProtocolApp.test.js +9 -11
- package/dist/app/MultiProtocolApp.test.js.map +1 -1
- package/dist/consts/igp.d.ts +3 -1
- package/dist/consts/igp.d.ts.map +1 -1
- package/dist/consts/igp.js +3 -1
- package/dist/consts/igp.js.map +1 -1
- package/dist/consts/multisigIsm.d.ts.map +1 -1
- package/dist/consts/multisigIsm.js +11 -4
- package/dist/consts/multisigIsm.js.map +1 -1
- package/dist/consts/multisigIsmVerifyCosts.d.ts +210 -0
- package/dist/consts/multisigIsmVerifyCosts.d.ts.map +1 -0
- package/dist/consts/multisigIsmVerifyCosts.js +211 -0
- package/dist/consts/multisigIsmVerifyCosts.js.map +1 -0
- package/dist/consts/testChains.d.ts +17 -0
- package/dist/consts/testChains.d.ts.map +1 -0
- package/dist/consts/testChains.js +105 -0
- package/dist/consts/testChains.js.map +1 -0
- package/dist/core/CoreDeployer.hardhat-test.js +9 -6
- package/dist/core/CoreDeployer.hardhat-test.js.map +1 -1
- package/dist/core/HyperlaneCore.d.ts +0 -2
- package/dist/core/HyperlaneCore.d.ts.map +1 -1
- package/dist/core/HyperlaneCore.js +1 -10
- package/dist/core/HyperlaneCore.js.map +1 -1
- package/dist/core/HyperlaneCore.test.js +2 -6
- package/dist/core/HyperlaneCore.test.js.map +1 -1
- package/dist/core/MultiProtocolCore.d.ts +0 -2
- package/dist/core/MultiProtocolCore.d.ts.map +1 -1
- package/dist/core/MultiProtocolCore.js +0 -8
- package/dist/core/MultiProtocolCore.js.map +1 -1
- package/dist/core/MultiProtocolCore.test.js +15 -77
- package/dist/core/MultiProtocolCore.test.js.map +1 -1
- package/dist/core/TestCoreDeployer.js +2 -2
- package/dist/core/TestCoreDeployer.js.map +1 -1
- package/dist/core/adapters/CosmWasmCoreAdapter.test.js +10 -2
- package/dist/core/adapters/CosmWasmCoreAdapter.test.js.map +1 -1
- package/dist/core/read.d.ts +3 -3
- package/dist/core/read.d.ts.map +1 -1
- package/dist/core/read.js +1 -1
- package/dist/core/read.js.map +1 -1
- package/dist/core/testHyperlaneDeploy.hardhat-test.js +3 -3
- package/dist/core/testHyperlaneDeploy.hardhat-test.js.map +1 -1
- package/dist/crud/AbstractCrudModule.d.ts +21 -0
- package/dist/crud/AbstractCrudModule.d.ts.map +1 -0
- package/dist/crud/AbstractCrudModule.js +10 -0
- package/dist/crud/AbstractCrudModule.js.map +1 -0
- package/dist/crud/EvmHookModule.d.ts +18 -0
- package/dist/crud/EvmHookModule.d.ts.map +1 -0
- package/dist/crud/EvmHookModule.js +28 -0
- package/dist/crud/EvmHookModule.js.map +1 -0
- package/dist/crud/EvmIsmModule.d.ts +18 -0
- package/dist/crud/EvmIsmModule.d.ts.map +1 -0
- package/dist/crud/EvmIsmModule.js +28 -0
- package/dist/crud/EvmIsmModule.js.map +1 -0
- package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
- package/dist/deploy/HyperlaneDeployer.js +4 -4
- package/dist/deploy/HyperlaneDeployer.js.map +1 -1
- package/dist/gas/HyperlaneIgp.d.ts +0 -2
- package/dist/gas/HyperlaneIgp.d.ts.map +1 -1
- package/dist/gas/HyperlaneIgp.js +0 -9
- package/dist/gas/HyperlaneIgp.js.map +1 -1
- package/dist/gas/HyperlaneIgpChecker.d.ts.map +1 -1
- package/dist/gas/HyperlaneIgpChecker.js +2 -5
- package/dist/gas/HyperlaneIgpChecker.js.map +1 -1
- package/dist/gas/HyperlaneIgpDeployer.d.ts.map +1 -1
- package/dist/gas/HyperlaneIgpDeployer.js +12 -7
- package/dist/gas/HyperlaneIgpDeployer.js.map +1 -1
- package/dist/gas/oracle/configure-gas-oracles.hardhat-test.js +3 -2
- package/dist/gas/oracle/configure-gas-oracles.hardhat-test.js.map +1 -1
- package/dist/gas/oracle/types.d.ts.map +1 -1
- package/dist/gas/oracle/types.js +4 -3
- package/dist/gas/oracle/types.js.map +1 -1
- package/dist/gas/token-prices.d.ts +2 -2
- package/dist/gas/token-prices.d.ts.map +1 -1
- package/dist/gas/token-prices.js +4 -7
- package/dist/gas/token-prices.js.map +1 -1
- package/dist/gas/token-prices.test.js +6 -6
- package/dist/gas/token-prices.test.js.map +1 -1
- package/dist/hook/HyperlaneHookDeployer.d.ts.map +1 -1
- package/dist/hook/HyperlaneHookDeployer.js +1 -2
- package/dist/hook/HyperlaneHookDeployer.js.map +1 -1
- package/dist/hook/read.d.ts +4 -5
- package/dist/hook/read.d.ts.map +1 -1
- package/dist/hook/read.js +2 -2
- package/dist/hook/read.js.map +1 -1
- package/dist/hook/read.test.js +5 -9
- package/dist/hook/read.test.js.map +1 -1
- package/dist/index.d.ts +13 -13
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -9
- package/dist/index.js.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.d.ts +0 -2
- package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.hardhat-test.js +10 -8
- package/dist/ism/HyperlaneIsmFactory.hardhat-test.js.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.js +2 -14
- package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
- package/dist/ism/read.d.ts +4 -4
- package/dist/ism/read.d.ts.map +1 -1
- package/dist/ism/read.js +2 -2
- package/dist/ism/read.js.map +1 -1
- package/dist/ism/read.test.js +3 -4
- package/dist/ism/read.test.js.map +1 -1
- package/dist/ism/utils.d.ts.map +1 -1
- package/dist/ism/utils.js +1 -3
- package/dist/ism/utils.js.map +1 -1
- package/dist/metadata/ChainMetadataManager.d.ts +12 -2
- package/dist/metadata/ChainMetadataManager.d.ts.map +1 -1
- package/dist/metadata/ChainMetadataManager.js +26 -12
- package/dist/metadata/ChainMetadataManager.js.map +1 -1
- package/dist/metadata/agentConfig.d.ts +219 -1
- package/dist/metadata/agentConfig.d.ts.map +1 -1
- package/dist/metadata/agentConfig.js +4 -8
- package/dist/metadata/agentConfig.js.map +1 -1
- package/dist/metadata/agentConfig.test.js +9 -9
- package/dist/metadata/agentConfig.test.js.map +1 -1
- package/dist/metadata/blockExplorer.d.ts.map +1 -1
- package/dist/metadata/blockExplorer.js +3 -7
- package/dist/metadata/blockExplorer.js.map +1 -1
- package/dist/metadata/blockExplorer.test.d.ts +2 -0
- package/dist/metadata/blockExplorer.test.d.ts.map +1 -0
- package/dist/metadata/blockExplorer.test.js +41 -0
- package/dist/metadata/blockExplorer.test.js.map +1 -0
- package/dist/metadata/chainMetadata.test.js +0 -10
- package/dist/metadata/chainMetadata.test.js.map +1 -1
- package/dist/metadata/chainMetadataTypes.d.ts +102 -0
- package/dist/metadata/chainMetadataTypes.d.ts.map +1 -1
- package/dist/metadata/chainMetadataTypes.js +13 -9
- package/dist/metadata/chainMetadataTypes.js.map +1 -1
- package/dist/middleware/account/InterchainAccount.d.ts +0 -2
- package/dist/middleware/account/InterchainAccount.d.ts.map +1 -1
- package/dist/middleware/account/InterchainAccount.js +2 -12
- package/dist/middleware/account/InterchainAccount.js.map +1 -1
- package/dist/middleware/account/accounts.hardhat-test.js +3 -3
- package/dist/middleware/account/accounts.hardhat-test.js.map +1 -1
- package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js +5 -6
- package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js.map +1 -1
- package/dist/middleware/query/InterchainQuery.d.ts +0 -2
- package/dist/middleware/query/InterchainQuery.d.ts.map +1 -1
- package/dist/middleware/query/InterchainQuery.js +0 -9
- package/dist/middleware/query/InterchainQuery.js.map +1 -1
- package/dist/middleware/query/queries.hardhat-test.js +5 -6
- package/dist/middleware/query/queries.hardhat-test.js.map +1 -1
- package/dist/providers/MultiProtocolProvider.d.ts +6 -2
- package/dist/providers/MultiProtocolProvider.d.ts.map +1 -1
- package/dist/providers/MultiProtocolProvider.js +15 -2
- package/dist/providers/MultiProtocolProvider.js.map +1 -1
- package/dist/providers/MultiProtocolProvider.test.js +8 -9
- package/dist/providers/MultiProtocolProvider.test.js.map +1 -1
- package/dist/providers/MultiProvider.d.ts +1 -1
- package/dist/providers/MultiProvider.d.ts.map +1 -1
- package/dist/providers/MultiProvider.js +4 -6
- package/dist/providers/MultiProvider.js.map +1 -1
- package/dist/providers/ProviderType.d.ts +26 -2
- package/dist/providers/ProviderType.d.ts.map +1 -1
- package/dist/providers/ProviderType.js +0 -3
- package/dist/providers/ProviderType.js.map +1 -1
- package/dist/providers/providerBuilders.d.ts.map +1 -1
- package/dist/providers/providerBuilders.js +0 -2
- package/dist/providers/providerBuilders.js.map +1 -1
- package/dist/router/MultiProtocolRouterApps.test.js +4 -4
- package/dist/router/MultiProtocolRouterApps.test.js.map +1 -1
- package/dist/test/MockCoinGecko.d.ts +12 -0
- package/dist/test/MockCoinGecko.d.ts.map +1 -0
- package/dist/test/MockCoinGecko.js +38 -0
- package/dist/test/MockCoinGecko.js.map +1 -0
- package/dist/test/testUtils.d.ts +8 -10
- package/dist/test/testUtils.d.ts.map +1 -1
- package/dist/test/testUtils.js +25 -39
- package/dist/test/testUtils.js.map +1 -1
- package/dist/token/Token.test.js +30 -37
- package/dist/token/Token.test.js.map +1 -1
- package/dist/token/TokenAmount.test.js +4 -5
- package/dist/token/TokenAmount.test.js.map +1 -1
- package/dist/token/TokenStandard.d.ts +2 -3
- package/dist/token/TokenStandard.d.ts.map +1 -1
- package/dist/token/TokenStandard.js +3 -8
- package/dist/token/TokenStandard.js.map +1 -1
- package/dist/token/adapters/CosmWasmTokenAdapter.test.d.ts.map +1 -1
- package/dist/token/adapters/CosmWasmTokenAdapter.test.js +10 -13
- package/dist/token/adapters/CosmWasmTokenAdapter.test.js.map +1 -1
- package/dist/token/deploy.hardhat-test.js +48 -2
- package/dist/token/deploy.hardhat-test.js.map +1 -1
- package/dist/token/read.d.ts +42 -0
- package/dist/token/read.d.ts.map +1 -0
- package/dist/token/read.js +88 -0
- package/dist/token/read.js.map +1 -0
- package/dist/types.d.ts +0 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/MultiGeneric.d.ts.map +1 -1
- package/dist/utils/MultiGeneric.js +1 -2
- package/dist/utils/MultiGeneric.js.map +1 -1
- package/dist/utils/cosmos.d.ts +1180 -0
- package/dist/utils/cosmos.d.ts.map +1 -0
- package/dist/utils/cosmos.js +375 -0
- package/dist/utils/cosmos.js.map +1 -0
- package/dist/utils/ism.js +1 -1
- package/dist/utils/ism.js.map +1 -1
- package/dist/utils/wagmi.d.ts +0 -2
- package/dist/utils/wagmi.d.ts.map +1 -1
- package/dist/utils/wagmi.js +2 -5
- package/dist/utils/wagmi.js.map +1 -1
- package/dist/warp/WarpCore.d.ts.map +1 -1
- package/dist/warp/WarpCore.js +9 -5
- package/dist/warp/WarpCore.js.map +1 -1
- package/dist/warp/WarpCore.test.js +34 -35
- package/dist/warp/WarpCore.test.js.map +1 -1
- package/package.json +4 -5
- package/dist/consts/chainMetadata.d.ts +0 -88
- package/dist/consts/chainMetadata.d.ts.map +0 -1
- package/dist/consts/chainMetadata.js +0 -1021
- package/dist/consts/chainMetadata.js.map +0 -1
- package/dist/consts/chains.d.ts +0 -57
- package/dist/consts/chains.d.ts.map +0 -1
- package/dist/consts/chains.js +0 -99
- package/dist/consts/chains.js.map +0 -1
- package/dist/consts/environments/index.d.ts +0 -509
- package/dist/consts/environments/index.d.ts.map +0 -1
- package/dist/consts/environments/index.js +0 -7
- package/dist/consts/environments/index.js.map +0 -1
- package/dist/consts/environments/mainnet.json +0 -351
- package/dist/consts/environments/testnet.json +0 -132
- package/dist/consts/multisigIsmVerifyCosts.json +0 -209
- package/dist/metadata/health.d.ts +0 -9
- package/dist/metadata/health.d.ts.map +0 -1
- package/dist/metadata/health.js +0 -112
- package/dist/metadata/health.js.map +0 -1
- package/dist/providers/SmartProvider/SmartProvider.test.d.ts +0 -2
- package/dist/providers/SmartProvider/SmartProvider.test.d.ts.map +0 -1
- package/dist/providers/SmartProvider/SmartProvider.test.js +0 -161
- package/dist/providers/SmartProvider/SmartProvider.test.js.map +0 -1
- package/dist/test/metadata-check.d.ts +0 -2
- package/dist/test/metadata-check.d.ts.map +0 -1
- package/dist/test/metadata-check.js +0 -81
- package/dist/test/metadata-check.js.map +0 -1
|
@@ -7,7 +7,7 @@ export declare enum TokenStandard {
|
|
|
7
7
|
EvmNative = "EvmNative",
|
|
8
8
|
EvmHypNative = "EvmHypNative",
|
|
9
9
|
EvmHypCollateral = "EvmHypCollateral",
|
|
10
|
-
|
|
10
|
+
EvmHypCollateralVault = "EvmHypCollateralVault",
|
|
11
11
|
EvmHypSynthetic = "EvmHypSynthetic",
|
|
12
12
|
SealevelSpl = "SealevelSpl",
|
|
13
13
|
SealevelSpl2022 = "SealevelSpl2022",
|
|
@@ -24,8 +24,7 @@ export declare enum TokenStandard {
|
|
|
24
24
|
CW721 = "CW721",
|
|
25
25
|
CwHypNative = "CwHypNative",
|
|
26
26
|
CwHypCollateral = "CwHypCollateral",
|
|
27
|
-
CwHypSynthetic = "CwHypSynthetic"
|
|
28
|
-
FuelNative = "FuelNative"
|
|
27
|
+
CwHypSynthetic = "CwHypSynthetic"
|
|
29
28
|
}
|
|
30
29
|
export declare const TOKEN_STANDARD_TO_PROTOCOL: Record<TokenStandard, ProtocolType>;
|
|
31
30
|
export declare const TOKEN_STANDARD_TO_PROVIDER_TYPE: Record<TokenStandard, ProviderType>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TokenStandard.d.ts","sourceRoot":"","sources":["../../src/token/TokenStandard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAU,MAAM,sBAAsB,CAAC;AAE5D,OAAO,EAEL,YAAY,EACb,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,oBAAY,aAAa;IAEvB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,SAAS,cAAc;IACvB,YAAY,iBAAiB;IAC7B,gBAAgB,qBAAqB;IACrC,qBAAqB,0BAA0B;IAC/C,eAAe,oBAAoB;IAGnC,WAAW,gBAAgB;IAC3B,eAAe,oBAAoB;IACnC,cAAc,mBAAmB;IACjC,iBAAiB,sBAAsB;IACvC,qBAAqB,0BAA0B;IAC/C,oBAAoB,yBAAyB;IAG7C,WAAW,gBAAgB;IAC3B,YAAY,iBAAiB;IAC7B,YAAY,iBAAiB;IAC7B,SAAS,cAAc;IAGvB,IAAI,SAAS;IACb,QAAQ,aAAa;IACrB,KAAK,UAAU;IACf,WAAW,gBAAgB;IAC3B,eAAe,oBAAoB;IACnC,cAAc,mBAAmB;
|
|
1
|
+
{"version":3,"file":"TokenStandard.d.ts","sourceRoot":"","sources":["../../src/token/TokenStandard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAU,MAAM,sBAAsB,CAAC;AAE5D,OAAO,EAEL,YAAY,EACb,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,oBAAY,aAAa;IAEvB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,SAAS,cAAc;IACvB,YAAY,iBAAiB;IAC7B,gBAAgB,qBAAqB;IACrC,qBAAqB,0BAA0B;IAC/C,eAAe,oBAAoB;IAGnC,WAAW,gBAAgB;IAC3B,eAAe,oBAAoB;IACnC,cAAc,mBAAmB;IACjC,iBAAiB,sBAAsB;IACvC,qBAAqB,0BAA0B;IAC/C,oBAAoB,yBAAyB;IAG7C,WAAW,gBAAgB;IAC3B,YAAY,iBAAiB;IAC7B,YAAY,iBAAiB;IAC7B,SAAS,cAAc;IAGvB,IAAI,SAAS;IACb,QAAQ,aAAa;IACrB,KAAK,UAAU;IACf,WAAW,gBAAgB;IAC3B,eAAe,oBAAoB;IACnC,cAAc,mBAAmB;CAClC;AAGD,eAAO,MAAM,0BAA0B,EAAE,MAAM,CAAC,aAAa,EAAE,YAAY,CA+B1E,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,MAAM,CAClD,aAAa,EACb,YAAY,CAIZ,CAAC;AAEH,eAAO,MAAM,mBAAmB,iBAK/B,CAAC;AAEF,eAAO,MAAM,8BAA8B,iBAO1C,CAAC;AAEF,eAAO,MAAM,mBAAmB,iBAU/B,CAAC;AAEF,eAAO,MAAM,2BAA2B,iBAGvC,CAAC;AAIF,eAAO,MAAM,wBAAwB,iBAOpC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,SAAS,EAAE,aAAa,CAUnE,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAAC,YAAY,EAAE,aAAa,CAKzE,CAAC"}
|
|
@@ -9,7 +9,7 @@ export var TokenStandard;
|
|
|
9
9
|
TokenStandard["EvmNative"] = "EvmNative";
|
|
10
10
|
TokenStandard["EvmHypNative"] = "EvmHypNative";
|
|
11
11
|
TokenStandard["EvmHypCollateral"] = "EvmHypCollateral";
|
|
12
|
-
TokenStandard["
|
|
12
|
+
TokenStandard["EvmHypCollateralVault"] = "EvmHypCollateralVault";
|
|
13
13
|
TokenStandard["EvmHypSynthetic"] = "EvmHypSynthetic";
|
|
14
14
|
// Sealevel (Solana)
|
|
15
15
|
TokenStandard["SealevelSpl"] = "SealevelSpl";
|
|
@@ -30,8 +30,6 @@ export var TokenStandard;
|
|
|
30
30
|
TokenStandard["CwHypNative"] = "CwHypNative";
|
|
31
31
|
TokenStandard["CwHypCollateral"] = "CwHypCollateral";
|
|
32
32
|
TokenStandard["CwHypSynthetic"] = "CwHypSynthetic";
|
|
33
|
-
// Fuel (TODO)
|
|
34
|
-
TokenStandard["FuelNative"] = "FuelNative";
|
|
35
33
|
})(TokenStandard || (TokenStandard = {}));
|
|
36
34
|
// Allows for omission of protocol field in token args
|
|
37
35
|
export const TOKEN_STANDARD_TO_PROTOCOL = {
|
|
@@ -41,7 +39,7 @@ export const TOKEN_STANDARD_TO_PROTOCOL = {
|
|
|
41
39
|
EvmNative: ProtocolType.Ethereum,
|
|
42
40
|
EvmHypNative: ProtocolType.Ethereum,
|
|
43
41
|
EvmHypCollateral: ProtocolType.Ethereum,
|
|
44
|
-
|
|
42
|
+
EvmHypCollateralVault: ProtocolType.Ethereum,
|
|
45
43
|
EvmHypSynthetic: ProtocolType.Ethereum,
|
|
46
44
|
// Sealevel (Solana)
|
|
47
45
|
SealevelSpl: ProtocolType.Sealevel,
|
|
@@ -62,8 +60,6 @@ export const TOKEN_STANDARD_TO_PROTOCOL = {
|
|
|
62
60
|
CwHypNative: ProtocolType.Cosmos,
|
|
63
61
|
CwHypCollateral: ProtocolType.Cosmos,
|
|
64
62
|
CwHypSynthetic: ProtocolType.Cosmos,
|
|
65
|
-
// Fuel (TODO)
|
|
66
|
-
FuelNative: ProtocolType.Fuel,
|
|
67
63
|
};
|
|
68
64
|
export const TOKEN_STANDARD_TO_PROVIDER_TYPE = objMap(TOKEN_STANDARD_TO_PROTOCOL, (k, v) => {
|
|
69
65
|
if (k.startsWith('Cosmos'))
|
|
@@ -112,7 +108,7 @@ export const TOKEN_COSMWASM_STANDARDS = [
|
|
|
112
108
|
export const TOKEN_TYPE_TO_STANDARD = {
|
|
113
109
|
[TokenType.native]: TokenStandard.EvmHypNative,
|
|
114
110
|
[TokenType.collateral]: TokenStandard.EvmHypCollateral,
|
|
115
|
-
[TokenType.collateralVault]: TokenStandard.
|
|
111
|
+
[TokenType.collateralVault]: TokenStandard.EvmHypCollateralVault,
|
|
116
112
|
[TokenType.collateralUri]: TokenStandard.EvmHypCollateral,
|
|
117
113
|
[TokenType.fastCollateral]: TokenStandard.EvmHypCollateral,
|
|
118
114
|
[TokenType.synthetic]: TokenStandard.EvmHypSynthetic,
|
|
@@ -124,6 +120,5 @@ export const PROTOCOL_TO_NATIVE_STANDARD = {
|
|
|
124
120
|
[ProtocolType.Ethereum]: TokenStandard.EvmNative,
|
|
125
121
|
[ProtocolType.Cosmos]: TokenStandard.CosmosNative,
|
|
126
122
|
[ProtocolType.Sealevel]: TokenStandard.SealevelNative,
|
|
127
|
-
[ProtocolType.Fuel]: TokenStandard.FuelNative,
|
|
128
123
|
};
|
|
129
124
|
//# sourceMappingURL=TokenStandard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TokenStandard.js","sourceRoot":"","sources":["../../src/token/TokenStandard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,EACL,iCAAiC,EACjC,YAAY,GACb,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"TokenStandard.js","sourceRoot":"","sources":["../../src/token/TokenStandard.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CosmWasmTokenAdapter.test.d.ts","sourceRoot":"","sources":["../../../src/token/adapters/CosmWasmTokenAdapter.test.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,qBAAqB,EACtB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAY,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"CosmWasmTokenAdapter.test.d.ts","sourceRoot":"","sources":["../../../src/token/adapters/CosmWasmTokenAdapter.test.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,qBAAqB,EACtB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAY,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AA8BnE,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM;;;;;;GAuClD;AA+CD,wBAAsB,WAAW,kBAqBhC;AAED,wBAAsB,UAAU,kBAmE/B;AAED,wBAAsB,OAAO,kBA6I5B;AAED,wBAAsB,gBAAgB,kBAiCrC"}
|
|
@@ -5,8 +5,7 @@ import { Secp256k1, keccak256 } from '@cosmjs/crypto';
|
|
|
5
5
|
import { DirectSecp256k1Wallet } from '@cosmjs/proto-signing';
|
|
6
6
|
import { GasPrice, SigningStargateClient } from '@cosmjs/stargate';
|
|
7
7
|
import { Tendermint37Client } from '@cosmjs/tendermint-rpc';
|
|
8
|
-
import {
|
|
9
|
-
import { Chains } from '../../consts/chains.js';
|
|
8
|
+
import { TestChainName, testCosmosChain } from '../../consts/testChains.js';
|
|
10
9
|
import { CosmWasmCoreAdapter } from '../../core/adapters/CosmWasmCoreAdapter.js';
|
|
11
10
|
import { CosmWasmMultisigAdapter } from '../../ism/adapters/CosmWasmMultisigAdapter.js';
|
|
12
11
|
import { MultiProtocolProvider } from '../../providers/MultiProtocolProvider.js';
|
|
@@ -14,14 +13,12 @@ const neutronAddresses = {
|
|
|
14
13
|
mailbox: 'neutron1sjzzd4gwkggy6hrrs8kxxatexzcuz3jecsxm3wqgregkulzj8r7qlnuef4',
|
|
15
14
|
validatorAnnounce: 'neutron17w4q6efzym3p4c6umyp4cjf2ustjtmwfqdhd7rt2fpcpk9fmjzsq0kj0f8',
|
|
16
15
|
};
|
|
17
|
-
const
|
|
18
|
-
const
|
|
19
|
-
const multiProtocolProvider = new MultiProtocolProvider();
|
|
20
|
-
const adapter = new CosmWasmCoreAdapter(Chains.neutron, multiProtocolProvider, neutronAddresses);
|
|
16
|
+
const multiProtocolProvider = MultiProtocolProvider.createTestMultiProtocolProvider();
|
|
17
|
+
const adapter = new CosmWasmCoreAdapter(testCosmosChain.name, multiProtocolProvider, neutronAddresses);
|
|
21
18
|
export async function getSigningClient(pkey) {
|
|
22
|
-
const wallet = await DirectSecp256k1Wallet.fromKey(Buffer.from(pkey, 'hex'),
|
|
19
|
+
const wallet = await DirectSecp256k1Wallet.fromKey(Buffer.from(pkey, 'hex'), testCosmosChain.bech32Prefix);
|
|
23
20
|
const [account] = await wallet.getAccounts();
|
|
24
|
-
const clientBase = await Tendermint37Client.connect(
|
|
21
|
+
const clientBase = await Tendermint37Client.connect(testCosmosChain.rpcUrls[0].http);
|
|
25
22
|
const gasPrice = GasPrice.fromString('0.1untrn');
|
|
26
23
|
const wasm = await SigningCosmWasmClient.createWithSigner(clientBase, wallet, {
|
|
27
24
|
gasPrice,
|
|
@@ -161,8 +158,8 @@ export async function summary() {
|
|
|
161
158
|
};
|
|
162
159
|
const defaultIsmContract = await provider.getContract(defaultIsm);
|
|
163
160
|
if (defaultIsmContract.label === 'hpl_ism_multisig') {
|
|
164
|
-
const multisigAdapter = new CosmWasmMultisigAdapter(
|
|
165
|
-
const multisigConfig = await multisigAdapter.getConfig(
|
|
161
|
+
const multisigAdapter = new CosmWasmMultisigAdapter(testCosmosChain.name, multiProtocolProvider, { multisig: defaultIsm });
|
|
162
|
+
const multisigConfig = await multisigAdapter.getConfig(TestChainName.test1);
|
|
166
163
|
const owner = await getOwner(defaultIsm);
|
|
167
164
|
summary.defaultIsm = {
|
|
168
165
|
...multisigConfig,
|
|
@@ -247,11 +244,11 @@ export async function summary() {
|
|
|
247
244
|
// console.log(JSON.stringify(summary));
|
|
248
245
|
}
|
|
249
246
|
export async function rotateValidators() {
|
|
250
|
-
const multisigAdapter = new CosmWasmMultisigAdapter(
|
|
247
|
+
const multisigAdapter = new CosmWasmMultisigAdapter(testCosmosChain.name, multiProtocolProvider, {
|
|
251
248
|
multisig: 'neutron1q75ky8reksqzh0lkhk9k3csvjwv74jjquahrj233xc7dvzz5fv4qtvw0qg',
|
|
252
249
|
});
|
|
253
250
|
const instructions = await multisigAdapter.configureMultisig({
|
|
254
|
-
[
|
|
251
|
+
[TestChainName.test1]: {
|
|
255
252
|
threshold: 5,
|
|
256
253
|
validators: [
|
|
257
254
|
'8e668c97ad76d0e28375275c41ece4972ab8a5bc', // hyperlane
|
|
@@ -271,5 +268,5 @@ export async function rotateValidators() {
|
|
|
271
268
|
// const tx = await safe.wasm.executeMultiple(safe.signer, instructions, 'auto');
|
|
272
269
|
// console.log(tx);
|
|
273
270
|
}
|
|
274
|
-
summary().catch(console.error);
|
|
271
|
+
// summary().catch(console.error);
|
|
275
272
|
//# sourceMappingURL=CosmWasmTokenAdapter.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CosmWasmTokenAdapter.test.js","sourceRoot":"","sources":["../../../src/token/adapters/CosmWasmTokenAdapter.test.ts"],"names":[],"mappings":"AAAA,sEAAsE;AAEtE,+BAA+B;AAC/B,OAAO,EAGL,qBAAqB,GACtB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAI5D,OAAO,EAAE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"CosmWasmTokenAdapter.test.js","sourceRoot":"","sources":["../../../src/token/adapters/CosmWasmTokenAdapter.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,21 @@
|
|
|
1
|
+
import { expect } from 'chai';
|
|
1
2
|
import hre from 'hardhat';
|
|
3
|
+
import { ERC20Test__factory, Mailbox__factory, } from '@hyperlane-xyz/core';
|
|
4
|
+
import { TestChainName } from '@hyperlane-xyz/sdk';
|
|
2
5
|
import { objMap } from '@hyperlane-xyz/utils';
|
|
3
6
|
import { TestCoreDeployer } from '../core/TestCoreDeployer.js';
|
|
4
7
|
import { HyperlaneProxyFactoryDeployer } from '../deploy/HyperlaneProxyFactoryDeployer.js';
|
|
5
8
|
import { HyperlaneIsmFactory } from '../ism/HyperlaneIsmFactory.js';
|
|
6
9
|
import { MultiProvider } from '../providers/MultiProvider.js';
|
|
7
|
-
import { TokenType } from './config.js';
|
|
10
|
+
import { TokenType, } from './config.js';
|
|
8
11
|
import { HypERC20Deployer } from './deploy.js';
|
|
12
|
+
import { EvmERC20WarpRouteReader } from './read.js';
|
|
9
13
|
describe('TokenDeployer', async () => {
|
|
10
14
|
let signer;
|
|
11
15
|
let deployer;
|
|
12
16
|
let multiProvider;
|
|
13
17
|
let coreApp;
|
|
18
|
+
let routerConfigMap;
|
|
14
19
|
let config;
|
|
15
20
|
before(async () => {
|
|
16
21
|
[signer] = await hre.ethers.getSigners();
|
|
@@ -19,7 +24,7 @@ describe('TokenDeployer', async () => {
|
|
|
19
24
|
const factories = await ismFactoryDeployer.deploy(multiProvider.mapKnownChains(() => ({})));
|
|
20
25
|
const ismFactory = new HyperlaneIsmFactory(factories, multiProvider);
|
|
21
26
|
coreApp = await new TestCoreDeployer(multiProvider, ismFactory).deployApp();
|
|
22
|
-
|
|
27
|
+
routerConfigMap = coreApp.getRouterConfig(signer.address);
|
|
23
28
|
config = objMap(routerConfigMap, (chain, c) => ({
|
|
24
29
|
type: TokenType.synthetic,
|
|
25
30
|
name: chain,
|
|
@@ -36,5 +41,46 @@ describe('TokenDeployer', async () => {
|
|
|
36
41
|
it('deploys', async () => {
|
|
37
42
|
await deployer.deploy(config);
|
|
38
43
|
});
|
|
44
|
+
describe('ERC20WarpRouterReader', async () => {
|
|
45
|
+
const TOKEN_NAME = 'fake';
|
|
46
|
+
const TOKEN_SUPPLY = '100000000000000000000';
|
|
47
|
+
const TOKEN_DECIMALS = 18;
|
|
48
|
+
let erc20Factory;
|
|
49
|
+
let token;
|
|
50
|
+
before(async () => {
|
|
51
|
+
erc20Factory = new ERC20Test__factory(signer);
|
|
52
|
+
token = await erc20Factory.deploy(TOKEN_NAME, TOKEN_NAME, TOKEN_SUPPLY, TOKEN_DECIMALS);
|
|
53
|
+
});
|
|
54
|
+
async function deriveWarpConfig(chainName, address) {
|
|
55
|
+
return new EvmERC20WarpRouteReader(multiProvider, chainName).deriveWarpRouteConfig(address);
|
|
56
|
+
}
|
|
57
|
+
it('should derive ERC20RouterConfig from collateral correctly', async () => {
|
|
58
|
+
const baseConfig = routerConfigMap[TestChainName.test1];
|
|
59
|
+
const mailbox = Mailbox__factory.connect(baseConfig.mailbox, signer);
|
|
60
|
+
// Create config
|
|
61
|
+
const config = {
|
|
62
|
+
[TestChainName.test1]: {
|
|
63
|
+
type: TokenType.collateral,
|
|
64
|
+
token: token.address,
|
|
65
|
+
hook: await mailbox.defaultHook(),
|
|
66
|
+
gas: 65000,
|
|
67
|
+
...baseConfig,
|
|
68
|
+
},
|
|
69
|
+
};
|
|
70
|
+
// Deploy with config
|
|
71
|
+
const warpRoute = await deployer.deploy(config);
|
|
72
|
+
// Derive config and check if each value matches
|
|
73
|
+
const derivedConfig = await deriveWarpConfig(TestChainName.test1, warpRoute[TestChainName.test1].collateral.address);
|
|
74
|
+
for (const [key, value] of Object.entries(derivedConfig)) {
|
|
75
|
+
const deployedValue = config[TestChainName.test1][key];
|
|
76
|
+
if (deployedValue)
|
|
77
|
+
expect(deployedValue).to.equal(value);
|
|
78
|
+
}
|
|
79
|
+
// Check if token values matches
|
|
80
|
+
expect(derivedConfig.name).to.equal(TOKEN_NAME);
|
|
81
|
+
expect(derivedConfig.symbol).to.equal(TOKEN_NAME);
|
|
82
|
+
expect(derivedConfig.decimals).to.equal(TOKEN_DECIMALS);
|
|
83
|
+
});
|
|
84
|
+
});
|
|
39
85
|
});
|
|
40
86
|
//# sourceMappingURL=deploy.hardhat-test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.hardhat-test.js","sourceRoot":"","sources":["../../src/token/deploy.hardhat-test.ts"],"names":[],"mappings":"AACA,OAAO,GAAG,MAAM,SAAS,CAAC;AAE1B,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAG9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,6BAA6B,EAAE,MAAM,4CAA4C,CAAC;
|
|
1
|
+
{"version":3,"file":"deploy.hardhat-test.js","sourceRoot":"","sources":["../../src/token/deploy.hardhat-test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { providers } from 'ethers';
|
|
2
|
+
import { ERC20Metadata, ERC20RouterConfig } from '@hyperlane-xyz/sdk';
|
|
3
|
+
import { Address } from '@hyperlane-xyz/utils';
|
|
4
|
+
import { EvmHookReader } from '../hook/read.js';
|
|
5
|
+
import { EvmIsmReader } from '../ism/read.js';
|
|
6
|
+
import { MultiProvider } from '../providers/MultiProvider.js';
|
|
7
|
+
import { ChainName } from '../types.js';
|
|
8
|
+
type WarpRouteBaseMetadata = Record<'mailbox' | 'owner' | 'token' | 'hook' | 'interchainSecurityModule', string>;
|
|
9
|
+
type DerivedERC20WarpRouteConfig = Omit<ERC20RouterConfig, 'type' | 'gas'>;
|
|
10
|
+
export declare class EvmERC20WarpRouteReader {
|
|
11
|
+
protected readonly multiProvider: MultiProvider;
|
|
12
|
+
protected readonly chain: ChainName;
|
|
13
|
+
protected readonly concurrency: number;
|
|
14
|
+
provider: providers.Provider;
|
|
15
|
+
evmHookReader: EvmHookReader;
|
|
16
|
+
evmIsmReader: EvmIsmReader;
|
|
17
|
+
constructor(multiProvider: MultiProvider, chain: ChainName, concurrency?: number);
|
|
18
|
+
/**
|
|
19
|
+
* Derives the configuration for a Hyperlane ERC20 router contract at the given address.
|
|
20
|
+
*
|
|
21
|
+
* @param address - The address of the Hyperlane ERC20 router contract.
|
|
22
|
+
* @returns The configuration for the Hyperlane ERC20 router.
|
|
23
|
+
*
|
|
24
|
+
*/
|
|
25
|
+
deriveWarpRouteConfig(address: Address): Promise<DerivedERC20WarpRouteConfig>;
|
|
26
|
+
/**
|
|
27
|
+
* Fetches the base metadata for a Warp Route contract.
|
|
28
|
+
*
|
|
29
|
+
* @param routerAddress - The address of the Warp Route contract.
|
|
30
|
+
* @returns The base metadata for the Warp Route contract, including the mailbox, owner, wrapped token address, hook, and interchain security module.
|
|
31
|
+
*/
|
|
32
|
+
fetchBaseMetadata(routerAddress: Address): Promise<WarpRouteBaseMetadata>;
|
|
33
|
+
/**
|
|
34
|
+
* Fetches the metadata for a token address.
|
|
35
|
+
*
|
|
36
|
+
* @param tokenAddress - The address of the token.
|
|
37
|
+
* @returns A partial ERC20 metadata object containing the token name, symbol, total supply, and decimals.
|
|
38
|
+
*/
|
|
39
|
+
fetchTokenMetadata(tokenAddress: Address): Promise<ERC20Metadata>;
|
|
40
|
+
}
|
|
41
|
+
export {};
|
|
42
|
+
//# sourceMappingURL=read.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../src/token/read.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,SAAS,EAAE,MAAM,QAAQ,CAAC;AAM3C,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAG/C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,KAAK,qBAAqB,GAAG,MAAM,CACjC,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,0BAA0B,EACnE,MAAM,CACP,CAAC;AAEF,KAAK,2BAA2B,GAAG,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC;AAE3E,qBAAa,uBAAuB;IAMhC,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa;IAC/C,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS;IACnC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM;IAPxC,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC;IAC7B,aAAa,EAAE,aAAa,CAAC;IAC7B,YAAY,EAAE,YAAY,CAAC;gBAGN,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,SAAS,EAChB,WAAW,GAAE,MAA0C;IAO5E;;;;;;OAMG;IACG,qBAAqB,CACzB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,2BAA2B,CAAC;IA8BvC;;;;;OAKG;IACG,iBAAiB,CACrB,aAAa,EAAE,OAAO,GACrB,OAAO,CAAC,qBAAqB,CAAC;IAuBjC;;;;;OAKG;IACG,kBAAkB,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;CAWxE"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { ethers } from 'ethers';
|
|
2
|
+
import { ERC20__factory, HypERC20Collateral__factory, } from '@hyperlane-xyz/core';
|
|
3
|
+
import { DEFAULT_CONTRACT_READ_CONCURRENCY } from '../consts/crud.js';
|
|
4
|
+
import { EvmHookReader } from '../hook/read.js';
|
|
5
|
+
import { EvmIsmReader } from '../ism/read.js';
|
|
6
|
+
export class EvmERC20WarpRouteReader {
|
|
7
|
+
multiProvider;
|
|
8
|
+
chain;
|
|
9
|
+
concurrency;
|
|
10
|
+
provider;
|
|
11
|
+
evmHookReader;
|
|
12
|
+
evmIsmReader;
|
|
13
|
+
constructor(multiProvider, chain, concurrency = DEFAULT_CONTRACT_READ_CONCURRENCY) {
|
|
14
|
+
this.multiProvider = multiProvider;
|
|
15
|
+
this.chain = chain;
|
|
16
|
+
this.concurrency = concurrency;
|
|
17
|
+
this.provider = this.multiProvider.getProvider(chain);
|
|
18
|
+
this.evmHookReader = new EvmHookReader(multiProvider, chain, concurrency);
|
|
19
|
+
this.evmIsmReader = new EvmIsmReader(multiProvider, chain, concurrency);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Derives the configuration for a Hyperlane ERC20 router contract at the given address.
|
|
23
|
+
*
|
|
24
|
+
* @param address - The address of the Hyperlane ERC20 router contract.
|
|
25
|
+
* @returns The configuration for the Hyperlane ERC20 router.
|
|
26
|
+
*
|
|
27
|
+
*/
|
|
28
|
+
async deriveWarpRouteConfig(address) {
|
|
29
|
+
const fetchedBaseMetadata = await this.fetchBaseMetadata(address);
|
|
30
|
+
const fetchedTokenMetadata = await this.fetchTokenMetadata(fetchedBaseMetadata.token);
|
|
31
|
+
const results = {
|
|
32
|
+
...fetchedBaseMetadata,
|
|
33
|
+
...fetchedTokenMetadata,
|
|
34
|
+
};
|
|
35
|
+
if (fetchedBaseMetadata.interchainSecurityModule !==
|
|
36
|
+
ethers.constants.AddressZero) {
|
|
37
|
+
results.interchainSecurityModule =
|
|
38
|
+
await this.evmIsmReader.deriveIsmConfig(fetchedBaseMetadata.interchainSecurityModule);
|
|
39
|
+
}
|
|
40
|
+
// @todo add after https://github.com/hyperlane-xyz/hyperlane-monorepo/issues/3667 is fixed
|
|
41
|
+
// if (fetchedBaseMetadata.hook !== ethers.constants.AddressZero) {
|
|
42
|
+
// results.hook = await this.evmHookReader.deriveHookConfig(
|
|
43
|
+
// fetchedBaseMetadata.hook,
|
|
44
|
+
// );
|
|
45
|
+
// }
|
|
46
|
+
return results;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Fetches the base metadata for a Warp Route contract.
|
|
50
|
+
*
|
|
51
|
+
* @param routerAddress - The address of the Warp Route contract.
|
|
52
|
+
* @returns The base metadata for the Warp Route contract, including the mailbox, owner, wrapped token address, hook, and interchain security module.
|
|
53
|
+
*/
|
|
54
|
+
async fetchBaseMetadata(routerAddress) {
|
|
55
|
+
const warpRoute = HypERC20Collateral__factory.connect(routerAddress, this.provider);
|
|
56
|
+
const [mailbox, owner, token, hook, interchainSecurityModule] = await Promise.all([
|
|
57
|
+
warpRoute.mailbox(),
|
|
58
|
+
warpRoute.owner(),
|
|
59
|
+
warpRoute.wrappedToken(),
|
|
60
|
+
warpRoute.hook(),
|
|
61
|
+
warpRoute.interchainSecurityModule(),
|
|
62
|
+
]);
|
|
63
|
+
return {
|
|
64
|
+
mailbox,
|
|
65
|
+
owner,
|
|
66
|
+
token,
|
|
67
|
+
hook,
|
|
68
|
+
interchainSecurityModule,
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Fetches the metadata for a token address.
|
|
73
|
+
*
|
|
74
|
+
* @param tokenAddress - The address of the token.
|
|
75
|
+
* @returns A partial ERC20 metadata object containing the token name, symbol, total supply, and decimals.
|
|
76
|
+
*/
|
|
77
|
+
async fetchTokenMetadata(tokenAddress) {
|
|
78
|
+
const erc20 = ERC20__factory.connect(tokenAddress, this.provider);
|
|
79
|
+
const [name, symbol, totalSupply, decimals] = await Promise.all([
|
|
80
|
+
erc20.name(),
|
|
81
|
+
erc20.symbol(),
|
|
82
|
+
erc20.totalSupply(),
|
|
83
|
+
erc20.decimals(),
|
|
84
|
+
]);
|
|
85
|
+
return { name, symbol, totalSupply, decimals };
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=read.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read.js","sourceRoot":"","sources":["../../src/token/read.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -2,7 +2,6 @@ import type { ethers } from 'ethers';
|
|
|
2
2
|
import type { ChainId, Domain } from '@hyperlane-xyz/utils';
|
|
3
3
|
export type ChainName = string;
|
|
4
4
|
export type ChainMap<Value> = Record<string, Value>;
|
|
5
|
-
export type TestChainNames = 'test1' | 'test2' | 'test3';
|
|
6
5
|
export type ChainNameOrId = ChainName | ChainId | Domain;
|
|
7
6
|
export type Connection = ethers.providers.Provider | ethers.Signer;
|
|
8
7
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAG5D,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAE/B,MAAM,MAAM,QAAQ,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAEpD,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAG5D,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAE/B,MAAM,MAAM,QAAQ,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAEpD,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AAEzD,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiGeneric.d.ts","sourceRoot":"","sources":["../../src/utils/MultiGeneric.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MultiGeneric.d.ts","sourceRoot":"","sources":["../../src/utils/MultiGeneric.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGlD,qBAAa,YAAY,CAAC,KAAK;aACD,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC;gBAAzB,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC;IAErD;;;OAGG;IACH,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK;IAQtC;;;OAGG;IACH,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,GAAG,IAAI;IAIhD;;;OAGG;IACH,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK;IAKpD,MAAM,IAAI,SAAS,EAAE;IAIrB,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI;IAMpD,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,KAAK,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAQhE,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAIzD,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;CAGtC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { AllDeprecatedChains } from '../consts/chains.js';
|
|
2
1
|
// Generalized map container for chain name to some value
|
|
3
2
|
export class MultiGeneric {
|
|
4
3
|
chainMap;
|
|
@@ -32,7 +31,7 @@ export class MultiGeneric {
|
|
|
32
31
|
return value;
|
|
33
32
|
}
|
|
34
33
|
chains() {
|
|
35
|
-
return Object.keys(this.chainMap)
|
|
34
|
+
return Object.keys(this.chainMap);
|
|
36
35
|
}
|
|
37
36
|
forEach(fn) {
|
|
38
37
|
for (const chain of this.chains()) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiGeneric.js","sourceRoot":"","sources":["../../src/utils/MultiGeneric.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MultiGeneric.js","sourceRoot":"","sources":["../../src/utils/MultiGeneric.ts"],"names":[],"mappings":"AAEA,yDAAyD;AACzD,MAAM,OAAO,YAAY;IACK;IAA5B,YAA4B,QAAyB;QAAzB,aAAQ,GAAR,QAAQ,CAAiB;IAAG,CAAC;IAEzD;;;OAGG;IACO,GAAG,CAAC,KAAgB;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;QAC3C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,4BAA4B,KAAK,EAAE,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;OAGG;IACO,MAAM,CAAC,KAAgB;QAC/B,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;IACtC,CAAC;IAED;;;OAGG;IACO,GAAG,CAAC,KAAgB,EAAE,KAAY;QAC1C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;QAC7B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM;QACJ,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,CAAC,EAAqC;QAC3C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YAClC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,GAAG,CAAS,EAAuC;QACjD,MAAM,OAAO,GAA0B,EAAE,CAAC;QAC1C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAe;QAChC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC;IACrD,CAAC;IAED,UAAU,CAAC,KAAgB;QACzB,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC;CACF"}
|