@hyperlane-xyz/sdk 1.4.3-beta1 → 1.4.3-beta2
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/README.md +7 -1
- package/dist/{HyperlaneApp.d.ts → app/HyperlaneApp.d.ts} +4 -4
- package/dist/app/HyperlaneApp.d.ts.map +1 -0
- package/dist/{HyperlaneApp.js → app/HyperlaneApp.js} +2 -2
- package/dist/app/HyperlaneApp.js.map +1 -0
- package/dist/app/MultiProtocolApp.d.ts +51 -0
- package/dist/app/MultiProtocolApp.d.ts.map +1 -0
- package/dist/app/MultiProtocolApp.js +80 -0
- package/dist/app/MultiProtocolApp.js.map +1 -0
- package/dist/app/MultiProtocolApp.test.d.ts +2 -0
- package/dist/app/MultiProtocolApp.test.d.ts.map +1 -0
- package/dist/app/MultiProtocolApp.test.js +19 -0
- package/dist/app/MultiProtocolApp.test.js.map +1 -0
- package/dist/consts/agentStartBlocks.d.ts +3 -0
- package/dist/consts/agentStartBlocks.d.ts.map +1 -0
- package/dist/consts/agentStartBlocks.js +28 -0
- package/dist/consts/agentStartBlocks.js.map +1 -0
- package/dist/consts/bytecode.js +1 -1
- package/dist/consts/bytecode.js.map +1 -1
- package/dist/consts/chainMetadata.d.ts +2 -58
- package/dist/consts/chainMetadata.d.ts.map +1 -1
- package/dist/consts/chainMetadata.js +1 -19
- package/dist/consts/chainMetadata.js.map +1 -1
- package/dist/consts/chains.d.ts +2 -3
- package/dist/consts/chains.d.ts.map +1 -1
- package/dist/consts/chains.js +2 -3
- package/dist/consts/chains.js.map +1 -1
- package/dist/consts/environments/index.d.ts +3 -3
- package/dist/consts/environments/index.d.ts.map +1 -1
- package/dist/consts/environments/index.js.map +1 -1
- package/dist/{contracts.d.ts → contracts/contracts.d.ts} +3 -15
- package/dist/contracts/contracts.d.ts.map +1 -0
- package/dist/{contracts.js → contracts/contracts.js} +12 -23
- package/dist/contracts/contracts.js.map +1 -0
- package/dist/contracts/types.d.ts +18 -0
- package/dist/contracts/types.d.ts.map +1 -0
- package/dist/contracts/types.js +3 -0
- package/dist/contracts/types.js.map +1 -0
- package/dist/core/CoreDeployer.hardhat-test.js +33 -42
- package/dist/core/CoreDeployer.hardhat-test.js.map +1 -1
- package/dist/core/HyperlaneCore.d.ts +5 -5
- package/dist/core/HyperlaneCore.d.ts.map +1 -1
- package/dist/core/HyperlaneCore.js +15 -28
- package/dist/core/HyperlaneCore.js.map +1 -1
- package/dist/core/HyperlaneCore.test.js +4 -13
- package/dist/core/HyperlaneCore.test.js.map +1 -1
- package/dist/core/HyperlaneCoreChecker.js +80 -99
- package/dist/core/HyperlaneCoreChecker.js.map +1 -1
- package/dist/core/HyperlaneCoreDeployer.d.ts +1 -1
- package/dist/core/HyperlaneCoreDeployer.d.ts.map +1 -1
- package/dist/core/HyperlaneCoreDeployer.js +45 -62
- package/dist/core/HyperlaneCoreDeployer.js.map +1 -1
- package/dist/core/TestCoreApp.d.ts +1 -1
- package/dist/core/TestCoreApp.d.ts.map +1 -1
- package/dist/core/TestCoreApp.js +35 -45
- package/dist/core/TestCoreApp.js.map +1 -1
- package/dist/core/TestCoreDeployer.d.ts +1 -1
- package/dist/core/TestCoreDeployer.d.ts.map +1 -1
- package/dist/core/TestCoreDeployer.js +14 -27
- package/dist/core/TestCoreDeployer.js.map +1 -1
- package/dist/core/contracts.d.ts +1 -1
- package/dist/core/contracts.d.ts.map +1 -1
- package/dist/core/events.d.ts +1 -1
- package/dist/core/events.d.ts.map +1 -1
- package/dist/core/testHyperlaneDeploy.hardhat-test.js +23 -32
- package/dist/core/testHyperlaneDeploy.hardhat-test.js.map +1 -1
- package/dist/core/types.d.ts +1 -1
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +2 -2
- package/dist/core/types.js.map +1 -1
- package/dist/deploy/HyperlaneAppChecker.d.ts +1 -1
- package/dist/deploy/HyperlaneAppChecker.d.ts.map +1 -1
- package/dist/deploy/HyperlaneAppChecker.js +99 -123
- package/dist/deploy/HyperlaneAppChecker.js.map +1 -1
- package/dist/deploy/HyperlaneDeployer.d.ts +1 -1
- package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
- package/dist/deploy/HyperlaneDeployer.js +176 -216
- package/dist/deploy/HyperlaneDeployer.js.map +1 -1
- package/dist/deploy/proxy.d.ts +1 -1
- package/dist/deploy/proxy.d.ts.map +1 -1
- package/dist/deploy/proxy.js +11 -26
- package/dist/deploy/proxy.js.map +1 -1
- package/dist/deploy/types.js +1 -1
- package/dist/deploy/types.js.map +1 -1
- package/dist/deploy/verify/ContractVerifier.js +122 -131
- package/dist/deploy/verify/ContractVerifier.js.map +1 -1
- package/dist/deploy/verify/types.d.ts +3 -3
- package/dist/deploy/verify/types.d.ts.map +1 -1
- package/dist/gas/HyperlaneIgp.d.ts +2 -2
- package/dist/gas/HyperlaneIgp.d.ts.map +1 -1
- package/dist/gas/HyperlaneIgp.js +2 -2
- package/dist/gas/HyperlaneIgp.js.map +1 -1
- package/dist/gas/HyperlaneIgpChecker.js +101 -123
- package/dist/gas/HyperlaneIgpChecker.js.map +1 -1
- package/dist/gas/HyperlaneIgpDeployer.d.ts +1 -1
- package/dist/gas/HyperlaneIgpDeployer.d.ts.map +1 -1
- package/dist/gas/HyperlaneIgpDeployer.js +70 -89
- package/dist/gas/HyperlaneIgpDeployer.js.map +1 -1
- package/dist/gas/contracts.d.ts +1 -1
- package/dist/gas/contracts.d.ts.map +1 -1
- package/dist/gas/contracts.js +6 -1
- package/dist/gas/contracts.js.map +1 -1
- package/dist/gas/token-prices.d.ts +6 -60
- package/dist/gas/token-prices.d.ts.map +1 -1
- package/dist/gas/token-prices.js +37 -54
- package/dist/gas/token-prices.js.map +1 -1
- package/dist/gas/token-prices.test.js +11 -20
- package/dist/gas/token-prices.test.js.map +1 -1
- package/dist/gas/types.d.ts +2 -2
- package/dist/gas/types.d.ts.map +1 -1
- package/dist/gas/types.js +2 -2
- package/dist/gas/types.js.map +1 -1
- package/dist/hook/HyperlaneHookDeployer.d.ts +1 -1
- package/dist/hook/HyperlaneHookDeployer.d.ts.map +1 -1
- package/dist/hook/HyperlaneHookDeployer.js +69 -88
- package/dist/hook/HyperlaneHookDeployer.js.map +1 -1
- package/dist/hook/contracts.d.ts +4 -4
- package/dist/hook/contracts.d.ts.map +1 -1
- package/dist/hook/contracts.js +5 -1
- package/dist/hook/contracts.js.map +1 -1
- package/dist/hook/types.d.ts +3 -3
- package/dist/hook/types.d.ts.map +1 -1
- package/dist/hook/types.js +1 -1
- package/dist/hook/types.js.map +1 -1
- package/dist/index.d.ts +13 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +30 -5
- package/dist/index.js.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.d.ts +2 -2
- package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.hardhat-test.js +14 -23
- package/dist/ism/HyperlaneIsmFactory.hardhat-test.js.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.js +234 -256
- package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
- package/dist/ism/HyperlaneIsmFactoryDeployer.d.ts +1 -1
- package/dist/ism/HyperlaneIsmFactoryDeployer.d.ts.map +1 -1
- package/dist/ism/HyperlaneIsmFactoryDeployer.js +18 -34
- package/dist/ism/HyperlaneIsmFactoryDeployer.js.map +1 -1
- package/dist/ism/contracts.d.ts +1 -1
- package/dist/ism/contracts.d.ts.map +1 -1
- package/dist/ism/types.d.ts +5 -5
- package/dist/ism/types.d.ts.map +1 -1
- package/dist/ism/types.js +1 -1
- package/dist/ism/types.js.map +1 -1
- package/dist/metadata/ChainMetadataManager.d.ts +130 -0
- package/dist/metadata/ChainMetadataManager.d.ts.map +1 -0
- package/dist/metadata/ChainMetadataManager.js +240 -0
- package/dist/metadata/ChainMetadataManager.js.map +1 -0
- package/dist/metadata/agentConfig.d.ts +4 -4
- package/dist/metadata/agentConfig.d.ts.map +1 -1
- package/dist/metadata/agentConfig.js +15 -6
- package/dist/metadata/agentConfig.js.map +1 -1
- package/dist/metadata/chainMetadata.test.js +27 -9
- package/dist/metadata/chainMetadata.test.js.map +1 -1
- package/dist/metadata/chainMetadataTypes.d.ts +2 -2
- package/dist/metadata/chainMetadataTypes.d.ts.map +1 -1
- package/dist/metadata/chainMetadataTypes.js +2 -3
- package/dist/metadata/chainMetadataTypes.js.map +1 -1
- package/dist/metadata/deploymentArtifacts.d.ts +2 -2
- package/dist/metadata/deploymentArtifacts.d.ts.map +1 -1
- package/dist/middleware/account/InterchainAccount.d.ts +1 -1
- package/dist/middleware/account/InterchainAccount.d.ts.map +1 -1
- package/dist/middleware/account/InterchainAccount.js +1 -1
- package/dist/middleware/account/InterchainAccount.js.map +1 -1
- package/dist/middleware/account/InterchainAccountChecker.js +4 -1
- package/dist/middleware/account/InterchainAccountChecker.js.map +1 -1
- package/dist/middleware/account/InterchainAccountDeployer.d.ts +2 -2
- package/dist/middleware/account/InterchainAccountDeployer.d.ts.map +1 -1
- package/dist/middleware/account/InterchainAccountDeployer.js +28 -41
- package/dist/middleware/account/InterchainAccountDeployer.js.map +1 -1
- package/dist/middleware/account/accounts.hardhat-test.js +21 -30
- package/dist/middleware/account/accounts.hardhat-test.js.map +1 -1
- package/dist/middleware/account/contracts.d.ts +1 -1
- package/dist/middleware/account/contracts.d.ts.map +1 -1
- package/dist/middleware/account/contracts.js +5 -1
- package/dist/middleware/account/contracts.js.map +1 -1
- package/dist/middleware/liquidity-layer/LiquidityLayerApp.d.ts +2 -2
- package/dist/middleware/liquidity-layer/LiquidityLayerApp.d.ts.map +1 -1
- package/dist/middleware/liquidity-layer/LiquidityLayerApp.js +130 -152
- package/dist/middleware/liquidity-layer/LiquidityLayerApp.js.map +1 -1
- package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts +3 -3
- package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts.map +1 -1
- package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js +85 -110
- package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js.map +1 -1
- package/dist/middleware/liquidity-layer/contracts.d.ts +1 -1
- package/dist/middleware/liquidity-layer/contracts.d.ts.map +1 -1
- package/dist/middleware/liquidity-layer/contracts.js +6 -1
- package/dist/middleware/liquidity-layer/contracts.js.map +1 -1
- package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js +41 -46
- package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js.map +1 -1
- package/dist/middleware/query/InterchainQuery.d.ts +1 -1
- package/dist/middleware/query/InterchainQuery.d.ts.map +1 -1
- package/dist/middleware/query/InterchainQuery.js +1 -1
- package/dist/middleware/query/InterchainQuery.js.map +1 -1
- package/dist/middleware/query/InterchainQueryDeployer.d.ts +1 -1
- package/dist/middleware/query/InterchainQueryDeployer.d.ts.map +1 -1
- package/dist/middleware/query/InterchainQueryDeployer.js +13 -27
- package/dist/middleware/query/InterchainQueryDeployer.js.map +1 -1
- package/dist/middleware/query/contracts.d.ts +1 -1
- package/dist/middleware/query/contracts.d.ts.map +1 -1
- package/dist/middleware/query/contracts.js +4 -1
- package/dist/middleware/query/contracts.js.map +1 -1
- package/dist/middleware/query/queries.hardhat-test.js +23 -32
- package/dist/middleware/query/queries.hardhat-test.js.map +1 -1
- package/dist/providers/MultiProtocolProvider.d.ts +39 -0
- package/dist/providers/MultiProtocolProvider.d.ts.map +1 -0
- package/dist/providers/MultiProtocolProvider.js +105 -0
- package/dist/providers/MultiProtocolProvider.js.map +1 -0
- package/dist/providers/MultiProtocolProvider.test.d.ts +2 -0
- package/dist/providers/MultiProtocolProvider.test.d.ts.map +1 -0
- package/dist/providers/MultiProtocolProvider.test.js +24 -0
- package/dist/providers/MultiProtocolProvider.test.js.map +1 -0
- package/dist/providers/MultiProvider.d.ts +20 -118
- package/dist/providers/MultiProvider.d.ts.map +1 -1
- package/dist/providers/MultiProvider.js +69 -300
- package/dist/providers/MultiProvider.js.map +1 -1
- package/dist/providers/ProviderType.d.ts +71 -0
- package/dist/providers/ProviderType.d.ts.map +1 -0
- package/dist/providers/ProviderType.js +11 -0
- package/dist/providers/ProviderType.js.map +1 -0
- package/dist/providers/RetryProvider.d.ts +1 -1
- package/dist/providers/RetryProvider.d.ts.map +1 -1
- package/dist/providers/RetryProvider.js +2 -16
- package/dist/providers/RetryProvider.js.map +1 -1
- package/dist/providers/providerBuilders.d.ts +17 -0
- package/dist/providers/providerBuilders.d.ts.map +1 -0
- package/dist/providers/providerBuilders.js +97 -0
- package/dist/providers/providerBuilders.js.map +1 -0
- package/dist/router/GasRouterDeployer.d.ts +1 -1
- package/dist/router/GasRouterDeployer.d.ts.map +1 -1
- package/dist/router/GasRouterDeployer.js +18 -32
- package/dist/router/GasRouterDeployer.js.map +1 -1
- package/dist/router/HyperlaneRouterChecker.d.ts +1 -1
- package/dist/router/HyperlaneRouterChecker.d.ts.map +1 -1
- package/dist/router/HyperlaneRouterChecker.js +37 -55
- package/dist/router/HyperlaneRouterChecker.js.map +1 -1
- package/dist/router/HyperlaneRouterDeployer.d.ts +1 -1
- package/dist/router/HyperlaneRouterDeployer.d.ts.map +1 -1
- package/dist/router/HyperlaneRouterDeployer.js +87 -115
- package/dist/router/HyperlaneRouterDeployer.js.map +1 -1
- package/dist/router/MultiProtocolRouterApps.d.ts +29 -0
- package/dist/router/MultiProtocolRouterApps.d.ts.map +1 -0
- package/dist/router/MultiProtocolRouterApps.js +43 -0
- package/dist/router/MultiProtocolRouterApps.js.map +1 -0
- package/dist/router/MultiProtocolRouterApps.test.d.ts +2 -0
- package/dist/router/MultiProtocolRouterApps.test.d.ts.map +1 -0
- package/dist/router/MultiProtocolRouterApps.test.js +20 -0
- package/dist/router/MultiProtocolRouterApps.test.js.map +1 -0
- package/dist/router/ProxiedRouterChecker.js +14 -34
- package/dist/router/ProxiedRouterChecker.js.map +1 -1
- package/dist/router/ProxiedRouterDeployer.d.ts +1 -1
- package/dist/router/ProxiedRouterDeployer.d.ts.map +1 -1
- package/dist/router/ProxiedRouterDeployer.js +24 -38
- package/dist/router/ProxiedRouterDeployer.js.map +1 -1
- package/dist/router/RouterApps.d.ts +4 -4
- package/dist/router/RouterApps.d.ts.map +1 -1
- package/dist/router/RouterApps.js +8 -18
- package/dist/router/RouterApps.js.map +1 -1
- package/dist/router/adapters/EvmRouterAdapter.d.ts +25 -0
- package/dist/router/adapters/EvmRouterAdapter.d.ts.map +1 -0
- package/dist/router/adapters/EvmRouterAdapter.js +50 -0
- package/dist/router/adapters/EvmRouterAdapter.js.map +1 -0
- package/dist/router/adapters/SealevelRouterAdapter.d.ts +50 -0
- package/dist/router/adapters/SealevelRouterAdapter.d.ts.map +1 -0
- package/dist/router/adapters/SealevelRouterAdapter.js +132 -0
- package/dist/router/adapters/SealevelRouterAdapter.js.map +1 -0
- package/dist/router/adapters/SealevelRouterAdapter.test.d.ts +2 -0
- package/dist/router/adapters/SealevelRouterAdapter.test.d.ts.map +1 -0
- package/dist/router/adapters/SealevelRouterAdapter.test.js +21 -0
- package/dist/router/adapters/SealevelRouterAdapter.test.js.map +1 -0
- package/dist/router/adapters/types.d.ts +18 -0
- package/dist/router/adapters/types.d.ts.map +1 -0
- package/dist/router/adapters/types.js +3 -0
- package/dist/router/adapters/types.js.map +1 -0
- package/dist/router/types.d.ts +12 -9
- package/dist/router/types.d.ts.map +1 -1
- package/dist/router/types.js +1 -1
- package/dist/router/types.js.map +1 -1
- package/dist/test/testUtils.d.ts +1 -1
- package/dist/test/testUtils.d.ts.map +1 -1
- package/dist/test/testUtils.js +12 -23
- package/dist/test/testUtils.js.map +1 -1
- package/dist/types.d.ts +5 -5
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/MultiGeneric.d.ts +1 -1
- package/dist/utils/MultiGeneric.d.ts.map +1 -1
- package/dist/utils/MultiGeneric.js +2 -4
- package/dist/utils/MultiGeneric.js.map +1 -1
- package/dist/utils/fetch.js +8 -16
- package/dist/utils/fetch.js.map +1 -1
- package/dist/utils/wagmi.js +1 -2
- package/dist/utils/wagmi.js.map +1 -1
- package/package.json +10 -7
- package/dist/HyperlaneApp.d.ts.map +0 -1
- package/dist/HyperlaneApp.js.map +0 -1
- package/dist/contracts.d.ts.map +0 -1
- package/dist/contracts.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RetryProvider.js","sourceRoot":"","sources":["../../src/providers/RetryProvider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RetryProvider.js","sourceRoot":"","sources":["../../src/providers/RetryProvider.ts"],"names":[],"mappings":";;;AAAA,4EAA4E;AAC5E,+DAA+D;AAC/D,mCAAgC;AAEhC,gDAA0D;AAU1D,MAAa,oBAAqB,SAAQ,eAAM,CAAC,SAAS;KACvD,qBAAqB;IAEtB,YACE,YAAkC,EAClC,GAA0C,EAC1C,OAAqC;QAErC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACpB,IAAA,cAAM,EACJ,YAAY,CAAC,WAAW,IAAI,CAAC,EAC7B,uCAAuC,CACxC,CAAC;QACF,IAAA,cAAM,EACJ,YAAY,CAAC,WAAW,IAAI,CAAC,EAC7B,uCAAuC,CACxC,CAAC;QACF,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAc,EAAE,MAAkB;QAC3C,OAAO,IAAA,kBAAU,EACf,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,IAAI,CAAC,YAAY,CAAC,WAAW,EAC7B,IAAI,CAAC,YAAY,CAAC,WAAW,CAC9B,CAAC;IACJ,CAAC;CACF;AA3BD,oDA2BC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { providers } from 'ethers';
|
|
2
|
+
import { ProtocolType } from '@hyperlane-xyz/utils';
|
|
3
|
+
import { ChainMetadata } from '../metadata/chainMetadataTypes';
|
|
4
|
+
import { EthersV5Provider, ProviderType, SolanaWeb3Provider, TypedProvider, ViemProvider } from './ProviderType';
|
|
5
|
+
import { RetryProviderOptions } from './RetryProvider';
|
|
6
|
+
export type ProviderBuilderFn<P> = (rpcUrls: ChainMetadata['rpcUrls'], network: number | string, retryOverride?: RetryProviderOptions) => P;
|
|
7
|
+
export type TypedProviderBuilderFn = ProviderBuilderFn<TypedProvider>;
|
|
8
|
+
export declare const DEFAULT_RETRY_OPTIONS: RetryProviderOptions;
|
|
9
|
+
export declare function defaultEthersV5ProviderBuilder(rpcUrls: ChainMetadata['rpcUrls'], network: number | string, retryOverride?: RetryProviderOptions): EthersV5Provider;
|
|
10
|
+
export declare function defaultViemProviderBuilder(rpcUrls: ChainMetadata['rpcUrls'], network: number | string): ViemProvider;
|
|
11
|
+
export declare function defaultSolProviderBuilder(rpcUrls: ChainMetadata['rpcUrls'], _network: number | string): SolanaWeb3Provider;
|
|
12
|
+
export declare function defaultFuelProviderBuilder(rpcUrls: ChainMetadata['rpcUrls'], _network: number | string): EthersV5Provider;
|
|
13
|
+
export declare function defaultProviderBuilder(rpcUrls: ChainMetadata['rpcUrls'], _network: number | string): providers.Provider;
|
|
14
|
+
export type ProviderBuilderMap = Record<ProviderType, ProviderBuilderFn<TypedProvider>>;
|
|
15
|
+
export declare const defaultProviderBuilderMap: ProviderBuilderMap;
|
|
16
|
+
export declare const protocolToDefaultProviderBuilder: Record<ProtocolType, ProviderBuilderFn<TypedProvider>>;
|
|
17
|
+
//# sourceMappingURL=providerBuilders.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"providerBuilders.d.ts","sourceRoot":"","sources":["../../src/providers/providerBuilders.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAGnC,OAAO,EAAE,YAAY,EAAa,MAAM,sBAAsB,CAAC;AAE/D,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,YAAY,EACb,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAwB,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAE7E,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CACjC,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,EACjC,OAAO,EAAE,MAAM,GAAG,MAAM,EACxB,aAAa,CAAC,EAAE,oBAAoB,KACjC,CAAC,CAAC;AACP,MAAM,MAAM,sBAAsB,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;AAEtE,eAAO,MAAM,qBAAqB,EAAE,oBAGnC,CAAC;AAEF,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,EACjC,OAAO,EAAE,MAAM,GAAG,MAAM,EACxB,aAAa,CAAC,EAAE,oBAAoB,GACnC,gBAAgB,CAgBlB;AAcD,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,EACjC,OAAO,EAAE,MAAM,GAAG,MAAM,GACvB,YAAY,CAiBd;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,EACjC,QAAQ,EAAE,MAAM,GAAG,MAAM,GACxB,kBAAkB,CAMpB;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,EACjC,QAAQ,EAAE,MAAM,GAAG,MAAM,GACxB,gBAAgB,CAGlB;AAGD,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,EACjC,QAAQ,EAAE,MAAM,GAAG,MAAM,GACxB,SAAS,CAAC,QAAQ,CAEpB;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,CACrC,YAAY,EACZ,iBAAiB,CAAC,aAAa,CAAC,CACjC,CAAC;AACF,eAAO,MAAM,yBAAyB,EAAE,kBAKvC,CAAC;AAEF,eAAO,MAAM,gCAAgC,EAAE,MAAM,CACnD,YAAY,EACZ,iBAAiB,CAAC,aAAa,CAAC,CAKjC,CAAC"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.protocolToDefaultProviderBuilder = exports.defaultProviderBuilderMap = exports.defaultProviderBuilder = exports.defaultFuelProviderBuilder = exports.defaultSolProviderBuilder = exports.defaultViemProviderBuilder = exports.defaultEthersV5ProviderBuilder = exports.DEFAULT_RETRY_OPTIONS = void 0;
|
|
4
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
5
|
+
const ethers_1 = require("ethers");
|
|
6
|
+
const viem_1 = require("viem");
|
|
7
|
+
const utils_1 = require("@hyperlane-xyz/utils");
|
|
8
|
+
const ProviderType_1 = require("./ProviderType");
|
|
9
|
+
const RetryProvider_1 = require("./RetryProvider");
|
|
10
|
+
exports.DEFAULT_RETRY_OPTIONS = {
|
|
11
|
+
maxRequests: 3,
|
|
12
|
+
baseRetryMs: 250,
|
|
13
|
+
};
|
|
14
|
+
function defaultEthersV5ProviderBuilder(rpcUrls, network, retryOverride) {
|
|
15
|
+
const createProvider = (r) => {
|
|
16
|
+
const retry = r.retry || retryOverride;
|
|
17
|
+
return retry
|
|
18
|
+
? new RetryProvider_1.RetryJsonRpcProvider(retry, r.http, network)
|
|
19
|
+
: new ethers_1.providers.StaticJsonRpcProvider(r.http, network);
|
|
20
|
+
};
|
|
21
|
+
let provider;
|
|
22
|
+
if (rpcUrls.length > 1) {
|
|
23
|
+
provider = new ethers_1.providers.FallbackProvider(rpcUrls.map(createProvider), 1);
|
|
24
|
+
}
|
|
25
|
+
else if (rpcUrls.length === 1) {
|
|
26
|
+
provider = createProvider(rpcUrls[0]);
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
throw new Error('No RPC URLs provided');
|
|
30
|
+
}
|
|
31
|
+
return { type: ProviderType_1.ProviderType.EthersV5, provider };
|
|
32
|
+
}
|
|
33
|
+
exports.defaultEthersV5ProviderBuilder = defaultEthersV5ProviderBuilder;
|
|
34
|
+
// export function defaultEthersV6ProviderBuilder(
|
|
35
|
+
// rpcUrls: ChainMetadata['rpcUrls'],
|
|
36
|
+
// network: number | string,
|
|
37
|
+
// ): EthersV6Provider {
|
|
38
|
+
// // TODO add support for retry providers here
|
|
39
|
+
// if (!rpcUrls.length) throw new Error('No RPC URLs provided');
|
|
40
|
+
// return {
|
|
41
|
+
// type: ProviderType.EthersV6,
|
|
42
|
+
// provider: new Ev6JsonRpcProvider(rpcUrls[0].http, network),
|
|
43
|
+
// };
|
|
44
|
+
// }
|
|
45
|
+
function defaultViemProviderBuilder(rpcUrls, network) {
|
|
46
|
+
if (!rpcUrls.length)
|
|
47
|
+
throw new Error('No RPC URLs provided');
|
|
48
|
+
if (!(0, utils_1.isNumeric)(network))
|
|
49
|
+
throw new Error('Viem requires a numeric network');
|
|
50
|
+
const id = parseInt(network.toString(), 10);
|
|
51
|
+
const name = network.toString(); // TODO get more descriptive name
|
|
52
|
+
const url = rpcUrls[0].http;
|
|
53
|
+
const client = (0, viem_1.createPublicClient)({
|
|
54
|
+
chain: {
|
|
55
|
+
id,
|
|
56
|
+
name,
|
|
57
|
+
network: name,
|
|
58
|
+
nativeCurrency: { name: '', symbol: '', decimals: 0 },
|
|
59
|
+
rpcUrls: { default: { http: [url] }, public: { http: [url] } },
|
|
60
|
+
},
|
|
61
|
+
transport: (0, viem_1.http)(rpcUrls[0].http),
|
|
62
|
+
});
|
|
63
|
+
return { type: ProviderType_1.ProviderType.Viem, provider: client };
|
|
64
|
+
}
|
|
65
|
+
exports.defaultViemProviderBuilder = defaultViemProviderBuilder;
|
|
66
|
+
function defaultSolProviderBuilder(rpcUrls, _network) {
|
|
67
|
+
if (!rpcUrls.length)
|
|
68
|
+
throw new Error('No RPC URLs provided');
|
|
69
|
+
return {
|
|
70
|
+
type: ProviderType_1.ProviderType.SolanaWeb3,
|
|
71
|
+
provider: new web3_js_1.Connection(rpcUrls[0].http, 'confirmed'),
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
exports.defaultSolProviderBuilder = defaultSolProviderBuilder;
|
|
75
|
+
function defaultFuelProviderBuilder(rpcUrls, _network) {
|
|
76
|
+
if (!rpcUrls.length)
|
|
77
|
+
throw new Error('No RPC URLs provided');
|
|
78
|
+
throw new Error('TODO fuel support');
|
|
79
|
+
}
|
|
80
|
+
exports.defaultFuelProviderBuilder = defaultFuelProviderBuilder;
|
|
81
|
+
// Kept for backwards compatibility
|
|
82
|
+
function defaultProviderBuilder(rpcUrls, _network) {
|
|
83
|
+
return defaultEthersV5ProviderBuilder(rpcUrls, _network).provider;
|
|
84
|
+
}
|
|
85
|
+
exports.defaultProviderBuilder = defaultProviderBuilder;
|
|
86
|
+
exports.defaultProviderBuilderMap = {
|
|
87
|
+
[ProviderType_1.ProviderType.EthersV5]: defaultEthersV5ProviderBuilder,
|
|
88
|
+
// [ProviderType.EthersV6]: defaultEthersV6ProviderBuilder,
|
|
89
|
+
[ProviderType_1.ProviderType.Viem]: defaultViemProviderBuilder,
|
|
90
|
+
[ProviderType_1.ProviderType.SolanaWeb3]: defaultSolProviderBuilder,
|
|
91
|
+
};
|
|
92
|
+
exports.protocolToDefaultProviderBuilder = {
|
|
93
|
+
[utils_1.ProtocolType.Ethereum]: defaultEthersV5ProviderBuilder,
|
|
94
|
+
[utils_1.ProtocolType.Sealevel]: defaultSolProviderBuilder,
|
|
95
|
+
[utils_1.ProtocolType.Fuel]: defaultFuelProviderBuilder,
|
|
96
|
+
};
|
|
97
|
+
//# sourceMappingURL=providerBuilders.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"providerBuilders.js","sourceRoot":"","sources":["../../src/providers/providerBuilders.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { GasRouter } from '@hyperlane-xyz/core';
|
|
2
2
|
import { Address } from '@hyperlane-xyz/utils';
|
|
3
|
-
import { HyperlaneContracts, HyperlaneContractsMap, HyperlaneFactories } from '../contracts';
|
|
3
|
+
import { HyperlaneContracts, HyperlaneContractsMap, HyperlaneFactories } from '../contracts/types';
|
|
4
4
|
import { ChainMap } from '../types';
|
|
5
5
|
import { HyperlaneRouterDeployer } from './HyperlaneRouterDeployer';
|
|
6
6
|
import { GasRouterConfig } from './types';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GasRouterDeployer.d.ts","sourceRoot":"","sources":["../../src/router/GasRouterDeployer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,
|
|
1
|
+
{"version":3,"file":"GasRouterDeployer.d.ts","sourceRoot":"","sources":["../../src/router/GasRouterDeployer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,8BAAsB,iBAAiB,CACrC,MAAM,SAAS,eAAe,EAC9B,SAAS,SAAS,kBAAkB,CACpC,SAAQ,uBAAuB,CAAC,MAAM,EAAE,SAAS,CAAC;IAClD,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC,SAAS,CAAC,GAAG,SAAS;IAE9D,mBAAmB,CACvB,YAAY,EAAE,qBAAqB,CAAC,SAAS,CAAC,EAC9C,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,EAC3B,cAAc,GAAE,QAAQ,CAAC,OAAO,CAAM,GACrC,OAAO,CAAC,IAAI,CAAC;CA+BjB"}
|
|
@@ -1,41 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.GasRouterDeployer = void 0;
|
|
13
4
|
const HyperlaneRouterDeployer_1 = require("./HyperlaneRouterDeployer");
|
|
14
5
|
class GasRouterDeployer extends HyperlaneRouterDeployer_1.HyperlaneRouterDeployer {
|
|
15
|
-
enrollRemoteRouters(contractsMap, configMap, foreignRouters = {}) {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
}))
|
|
31
|
-
.filter(({ gas }, index) => !currentConfigs[index].eq(gas));
|
|
32
|
-
if (remoteConfigs.length == 0) {
|
|
33
|
-
continue;
|
|
34
|
-
}
|
|
35
|
-
this.logger(`Set destination gas on ${chain} for ${remoteChains}`);
|
|
36
|
-
yield this.multiProvider.handleTx(chain, this.router(contracts).setDestinationGas(remoteConfigs));
|
|
6
|
+
async enrollRemoteRouters(contractsMap, configMap, foreignRouters = {}) {
|
|
7
|
+
await super.enrollRemoteRouters(contractsMap, configMap, foreignRouters);
|
|
8
|
+
this.logger(`Setting enrolled router destination gas...`);
|
|
9
|
+
for (const [chain, contracts] of Object.entries(contractsMap)) {
|
|
10
|
+
const remoteDomains = await this.router(contracts).domains();
|
|
11
|
+
const remoteChains = remoteDomains.map((domain) => this.multiProvider.getChainName(domain));
|
|
12
|
+
const currentConfigs = await Promise.all(remoteDomains.map((domain) => this.router(contracts).destinationGas(domain)));
|
|
13
|
+
const remoteConfigs = remoteDomains
|
|
14
|
+
.map((domain, i) => ({
|
|
15
|
+
domain,
|
|
16
|
+
gas: configMap[remoteChains[i]].gas,
|
|
17
|
+
}))
|
|
18
|
+
.filter(({ gas }, index) => !currentConfigs[index].eq(gas));
|
|
19
|
+
if (remoteConfigs.length == 0) {
|
|
20
|
+
continue;
|
|
37
21
|
}
|
|
38
|
-
|
|
22
|
+
this.logger(`Set destination gas on ${chain} for ${remoteChains}`);
|
|
23
|
+
await this.multiProvider.handleTx(chain, this.router(contracts).setDestinationGas(remoteConfigs));
|
|
24
|
+
}
|
|
39
25
|
}
|
|
40
26
|
}
|
|
41
27
|
exports.GasRouterDeployer = GasRouterDeployer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GasRouterDeployer.js","sourceRoot":"","sources":["../../src/router/GasRouterDeployer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"GasRouterDeployer.js","sourceRoot":"","sources":["../../src/router/GasRouterDeployer.ts"],"names":[],"mappings":";;;AAUA,uEAAoE;AAGpE,MAAsB,iBAGpB,SAAQ,iDAA0C;IAGlD,KAAK,CAAC,mBAAmB,CACvB,YAA8C,EAC9C,SAA2B,EAC3B,iBAAoC,EAAE;QAEtC,MAAM,KAAK,CAAC,mBAAmB,CAAC,YAAY,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;QAEzE,IAAI,CAAC,MAAM,CAAC,4CAA4C,CAAC,CAAC;QAC1D,KAAK,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;YAC7D,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;YAC7D,MAAM,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAChD,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,CACxC,CAAC;YACF,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,GAAG,CACtC,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAC3B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAC9C,CACF,CAAC;YACF,MAAM,aAAa,GAAG,aAAa;iBAChC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBACnB,MAAM;gBACN,GAAG,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;aACpC,CAAC,CAAC;iBACF,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9D,IAAI,aAAa,CAAC,MAAM,IAAI,CAAC,EAAE;gBAC7B,SAAS;aACV;YAED,IAAI,CAAC,MAAM,CAAC,0BAA0B,KAAK,QAAQ,YAAY,EAAE,CAAC,CAAC;YACnE,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAC/B,KAAK,EACL,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC,aAAa,CAAC,CACxD,CAAC;SACH;IACH,CAAC;CACF;AAzCD,8CAyCC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperlaneRouterChecker.d.ts","sourceRoot":"","sources":["../../src/router/HyperlaneRouterChecker.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"HyperlaneRouterChecker.d.ts","sourceRoot":"","sources":["../../src/router/HyperlaneRouterChecker.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAKL,YAAY,EACb,MAAM,SAAS,CAAC;AAEjB,qBAAa,sBAAsB,CACjC,SAAS,SAAS,kBAAkB,EACpC,GAAG,SAAS,SAAS,CAAC,SAAS,CAAC,EAChC,MAAM,SAAS,YAAY,CAC3B,SAAQ,mBAAmB,CAAC,GAAG,EAAE,MAAM,CAAC;IAClC,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAM3C,8BAA8B,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IA0C/D,oBAAoB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;CAc5D"}
|
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.HyperlaneRouterChecker = void 0;
|
|
13
4
|
const ethers_1 = require("ethers");
|
|
@@ -15,54 +6,45 @@ const utils_1 = require("@hyperlane-xyz/utils");
|
|
|
15
6
|
const HyperlaneAppChecker_1 = require("../deploy/HyperlaneAppChecker");
|
|
16
7
|
const types_1 = require("./types");
|
|
17
8
|
class HyperlaneRouterChecker extends HyperlaneAppChecker_1.HyperlaneAppChecker {
|
|
18
|
-
checkChain(chain) {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
23
|
-
yield this.checkHyperlaneConnectionClient(chain);
|
|
24
|
-
yield this.checkEnrolledRouters(chain);
|
|
25
|
-
yield _super.checkOwnership.call(this, chain, this.configMap[chain].owner);
|
|
26
|
-
});
|
|
9
|
+
async checkChain(chain) {
|
|
10
|
+
await this.checkHyperlaneConnectionClient(chain);
|
|
11
|
+
await this.checkEnrolledRouters(chain);
|
|
12
|
+
await super.checkOwnership(chain, this.configMap[chain].owner);
|
|
27
13
|
}
|
|
28
|
-
checkHyperlaneConnectionClient(chain) {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
yield checkConnectionClientProperty('interchainSecurityModule', types_1.ConnectionClientViolationType.InterchainSecurityModule);
|
|
54
|
-
});
|
|
14
|
+
async checkHyperlaneConnectionClient(chain) {
|
|
15
|
+
const router = this.app.router(this.app.getContracts(chain));
|
|
16
|
+
const checkConnectionClientProperty = async (property, violationType) => {
|
|
17
|
+
const actual = await router[property]();
|
|
18
|
+
// TODO: check for IsmConfig
|
|
19
|
+
const value = this.configMap[chain][property];
|
|
20
|
+
if (value && typeof value === 'object')
|
|
21
|
+
throw new Error('ISM as object unimplemented');
|
|
22
|
+
const expected = value && typeof value === 'string'
|
|
23
|
+
? value
|
|
24
|
+
: ethers_1.ethers.constants.AddressZero;
|
|
25
|
+
if (!(0, utils_1.eqAddress)(actual, expected)) {
|
|
26
|
+
const violation = {
|
|
27
|
+
chain,
|
|
28
|
+
type: violationType,
|
|
29
|
+
contract: router,
|
|
30
|
+
actual,
|
|
31
|
+
expected,
|
|
32
|
+
};
|
|
33
|
+
this.addViolation(violation);
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
await checkConnectionClientProperty('mailbox', types_1.ConnectionClientViolationType.Mailbox);
|
|
37
|
+
await checkConnectionClientProperty('interchainGasPaymaster', types_1.ConnectionClientViolationType.InterchainGasPaymaster);
|
|
38
|
+
await checkConnectionClientProperty('interchainSecurityModule', types_1.ConnectionClientViolationType.InterchainSecurityModule);
|
|
55
39
|
}
|
|
56
|
-
checkEnrolledRouters(chain) {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
})));
|
|
65
|
-
});
|
|
40
|
+
async checkEnrolledRouters(chain) {
|
|
41
|
+
const router = this.app.router(this.app.getContracts(chain));
|
|
42
|
+
await Promise.all(this.app.remoteChains(chain).map(async (remoteChain) => {
|
|
43
|
+
const remoteRouter = this.app.router(this.app.getContracts(remoteChain));
|
|
44
|
+
const remoteDomainId = this.multiProvider.getDomainId(remoteChain);
|
|
45
|
+
const address = await router.routers(remoteDomainId);
|
|
46
|
+
(0, utils_1.assert)(address === (0, utils_1.addressToBytes32)(remoteRouter.address));
|
|
47
|
+
}));
|
|
66
48
|
}
|
|
67
49
|
}
|
|
68
50
|
exports.HyperlaneRouterChecker = HyperlaneRouterChecker;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperlaneRouterChecker.js","sourceRoot":"","sources":["../../src/router/HyperlaneRouterChecker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"HyperlaneRouterChecker.js","sourceRoot":"","sources":["../../src/router/HyperlaneRouterChecker.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAEhC,gDAA2E;AAG3E,uEAAoE;AAIpE,mCAMiB;AAEjB,MAAa,sBAIX,SAAQ,yCAAgC;IACxC,KAAK,CAAC,UAAU,CAAC,KAAgB;QAC/B,MAAM,IAAI,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,KAAK,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,8BAA8B,CAAC,KAAgB;QACnD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;QAE7D,MAAM,6BAA6B,GAAG,KAAK,EACzC,QAAwD,EACxD,aAA4C,EAC5C,EAAE;YACF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxC,4BAA4B;YAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC9C,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;gBACpC,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;YACjD,MAAM,QAAQ,GACZ,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAChC,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,eAAM,CAAC,SAAS,CAAC,WAAW,CAAC;YACnC,IAAI,CAAC,IAAA,iBAAS,EAAC,MAAM,EAAE,QAAQ,CAAC,EAAE;gBAChC,MAAM,SAAS,GAA8B;oBAC3C,KAAK;oBACL,IAAI,EAAE,aAAa;oBACnB,QAAQ,EAAE,MAAM;oBAChB,MAAM;oBACN,QAAQ;iBACT,CAAC;gBACF,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;aAC9B;QACH,CAAC,CAAC;QAEF,MAAM,6BAA6B,CACjC,SAAS,EACT,qCAA6B,CAAC,OAAO,CACtC,CAAC;QACF,MAAM,6BAA6B,CACjC,wBAAwB,EACxB,qCAA6B,CAAC,sBAAsB,CACrD,CAAC;QACF,MAAM,6BAA6B,CACjC,0BAA0B,EAC1B,qCAA6B,CAAC,wBAAwB,CACvD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,KAAgB;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;QAE7D,MAAM,OAAO,CAAC,GAAG,CACf,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE;YACrD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAClC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,WAAW,CAAC,CACnC,CAAC;YACF,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;YACnE,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YACrD,IAAA,cAAM,EAAC,OAAO,KAAK,IAAA,wBAAgB,EAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7D,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;CACF;AAnED,wDAmEC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Router } from '@hyperlane-xyz/core';
|
|
2
2
|
import { Address } from '@hyperlane-xyz/utils';
|
|
3
|
-
import { HyperlaneContracts, HyperlaneContractsMap, HyperlaneFactories } from '../contracts';
|
|
3
|
+
import { HyperlaneContracts, HyperlaneContractsMap, HyperlaneFactories } from '../contracts/types';
|
|
4
4
|
import { HyperlaneDeployer } from '../deploy/HyperlaneDeployer';
|
|
5
5
|
import { RouterConfig } from '../router/types';
|
|
6
6
|
import { ChainMap } from '../types';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperlaneRouterDeployer.d.ts","sourceRoot":"","sources":["../../src/router/HyperlaneRouterDeployer.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,MAAM,EACP,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,OAAO,EAKR,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"HyperlaneRouterDeployer.d.ts","sourceRoot":"","sources":["../../src/router/HyperlaneRouterDeployer.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,MAAM,EACP,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,OAAO,EAKR,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,8BAAsB,uBAAuB,CAC3C,MAAM,SAAS,YAAY,EAC3B,SAAS,SAAS,kBAAkB,CACpC,SAAQ,iBAAiB,CAAC,MAAM,EAAE,SAAS,CAAC;IAC5C,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC,SAAS,CAAC,GAAG,MAAM;IAK3D,WAAW,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAyDvD,qBAAqB,CACzB,YAAY,EAAE,qBAAqB,CAAC,SAAS,CAAC,EAC9C,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,GAC1B,OAAO,CAAC,IAAI,CAAC;IAQV,mBAAmB,CACvB,oBAAoB,EAAE,qBAAqB,CAAC,SAAS,CAAC,EACtD,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,EACnB,cAAc,GAAE,QAAQ,CAAC,OAAO,CAAM,GACrC,OAAO,CAAC,IAAI,CAAC;IAyDV,iBAAiB,CACrB,YAAY,EAAE,qBAAqB,CAAC,SAAS,CAAC,EAC9C,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,GAC1B,OAAO,CAAC,IAAI,CAAC;IAUV,MAAM,CACV,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,GAC1B,OAAO,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;CA2B7C"}
|