@hyperlane-xyz/sdk 13.2.0 → 13.3.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/consts/multisigIsm.d.ts.map +1 -1
- package/dist/consts/multisigIsm.js +36 -0
- package/dist/consts/multisigIsm.js.map +1 -1
- package/dist/core/CoreDeployer.hardhat-test.js +5 -0
- package/dist/core/CoreDeployer.hardhat-test.js.map +1 -1
- package/dist/core/CosmosNativeCoreModule.d.ts.map +1 -1
- package/dist/core/CosmosNativeCoreModule.js +0 -1
- package/dist/core/CosmosNativeCoreModule.js.map +1 -1
- package/dist/core/EvmCoreModule.d.ts.map +1 -1
- package/dist/core/EvmCoreModule.hardhat-test.js +1 -2
- package/dist/core/EvmCoreModule.hardhat-test.js.map +1 -1
- package/dist/core/EvmCoreModule.js +7 -7
- package/dist/core/EvmCoreModule.js.map +1 -1
- package/dist/core/EvmCoreReader.d.ts.map +1 -1
- package/dist/core/EvmCoreReader.js +1 -1
- package/dist/core/EvmCoreReader.js.map +1 -1
- package/dist/core/EvmIcaModule.d.ts +3 -4
- package/dist/core/EvmIcaModule.d.ts.map +1 -1
- package/dist/core/EvmIcaModule.hardhat-test.js +25 -2
- package/dist/core/EvmIcaModule.hardhat-test.js.map +1 -1
- package/dist/core/EvmIcaModule.js +13 -11
- package/dist/core/EvmIcaModule.js.map +1 -1
- package/dist/core/HyperlaneRelayer.d.ts +20 -5
- package/dist/core/HyperlaneRelayer.d.ts.map +1 -1
- package/dist/core/types.d.ts +2801 -1286
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +0 -1
- package/dist/core/types.js.map +1 -1
- package/dist/deploy/HyperlaneDeployer.d.ts +2 -1
- package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
- package/dist/deploy/HyperlaneDeployer.js +11 -8
- 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 +4 -5
- package/dist/deploy/proxy.js.map +1 -1
- package/dist/gas/token-prices.d.ts.map +1 -1
- package/dist/gas/token-prices.js +23 -4
- package/dist/gas/token-prices.js.map +1 -1
- package/dist/ica/EvmIcaReader.d.ts +2 -5
- package/dist/ica/EvmIcaReader.d.ts.map +1 -1
- package/dist/ica/EvmIcaReader.hardhat-test.js +2 -7
- package/dist/ica/EvmIcaReader.hardhat-test.js.map +1 -1
- package/dist/ica/EvmIcaReader.js +10 -44
- package/dist/ica/EvmIcaReader.js.map +1 -1
- package/dist/ica/types.d.ts +965 -47
- package/dist/ica/types.d.ts.map +1 -1
- package/dist/ica/types.js +7 -22
- package/dist/ica/types.js.map +1 -1
- package/dist/index.d.ts +19 -17
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -14
- package/dist/index.js.map +1 -1
- package/dist/ism/EvmIsmModule.hardhat-test.js +0 -5
- package/dist/ism/EvmIsmModule.hardhat-test.js.map +1 -1
- package/dist/ism/EvmIsmReader.d.ts +4 -1
- package/dist/ism/EvmIsmReader.d.ts.map +1 -1
- package/dist/ism/EvmIsmReader.js +66 -42
- package/dist/ism/EvmIsmReader.js.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.d.ts +0 -1
- package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.js +4 -11
- package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
- package/dist/ism/metadata/arbL2ToL1.hardhat-test.js +0 -1
- package/dist/ism/metadata/arbL2ToL1.hardhat-test.js.map +1 -1
- package/dist/ism/metadata/builder.d.ts +2 -2
- package/dist/ism/metadata/builder.d.ts.map +1 -1
- package/dist/ism/metadata/builder.hardhat-test.js +0 -1
- package/dist/ism/metadata/builder.hardhat-test.js.map +1 -1
- package/dist/ism/metadata/builder.js +3 -4
- package/dist/ism/metadata/builder.js.map +1 -1
- package/dist/ism/metadata/ccipread.d.ts +4 -4
- package/dist/ism/metadata/ccipread.d.ts.map +1 -1
- package/dist/ism/metadata/ccipread.hardhat-test.js +5 -37
- package/dist/ism/metadata/ccipread.hardhat-test.js.map +1 -1
- package/dist/ism/metadata/ccipread.js +4 -4
- package/dist/ism/metadata/ccipread.js.map +1 -1
- package/dist/ism/metadata/routing.d.ts.map +1 -1
- package/dist/ism/metadata/routing.js +8 -11
- package/dist/ism/metadata/routing.js.map +1 -1
- package/dist/ism/types.d.ts +59 -19
- package/dist/ism/types.d.ts.map +1 -1
- package/dist/ism/types.js +17 -12
- package/dist/ism/types.js.map +1 -1
- package/dist/ism/utils.d.ts.map +1 -1
- package/dist/ism/utils.js +7 -5
- package/dist/ism/utils.js.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 +3 -9
- package/dist/middleware/account/InterchainAccount.js.map +1 -1
- package/dist/middleware/account/InterchainAccountChecker.d.ts +3 -6
- package/dist/middleware/account/InterchainAccountChecker.d.ts.map +1 -1
- package/dist/middleware/account/InterchainAccountChecker.js +2 -17
- package/dist/middleware/account/InterchainAccountChecker.js.map +1 -1
- package/dist/middleware/account/InterchainAccountDeployer.d.ts +3 -8
- package/dist/middleware/account/InterchainAccountDeployer.d.ts.map +1 -1
- package/dist/middleware/account/InterchainAccountDeployer.js +11 -31
- package/dist/middleware/account/InterchainAccountDeployer.js.map +1 -1
- package/dist/middleware/account/accounts.hardhat-test.js +10 -1
- package/dist/middleware/account/accounts.hardhat-test.js.map +1 -1
- package/dist/middleware/account/contracts.d.ts +1 -4
- package/dist/middleware/account/contracts.d.ts.map +1 -1
- package/dist/middleware/account/contracts.js +1 -4
- package/dist/middleware/account/contracts.js.map +1 -1
- package/dist/middleware/account/types.d.ts +2 -2
- package/dist/providers/transactions/submitter/builder/types.d.ts +10 -10
- package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.d.ts +2 -3
- package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.d.ts.map +1 -1
- package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.js +20 -16
- package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.js.map +1 -1
- package/dist/providers/transactions/transformer/ethersV5/types.d.ts +3 -3
- package/dist/providers/transactions/transformer/types.d.ts +3 -3
- package/dist/router/EvmRouterReader.d.ts +18 -0
- package/dist/router/EvmRouterReader.d.ts.map +1 -0
- package/dist/router/EvmRouterReader.js +60 -0
- package/dist/router/EvmRouterReader.js.map +1 -0
- package/dist/router/HyperlaneRouterChecker.d.ts +3 -0
- package/dist/router/HyperlaneRouterChecker.d.ts.map +1 -1
- package/dist/router/HyperlaneRouterChecker.js +14 -4
- package/dist/router/HyperlaneRouterChecker.js.map +1 -1
- package/dist/router/types.d.ts +79 -31
- package/dist/router/types.d.ts.map +1 -1
- package/dist/router/types.js +13 -4
- package/dist/router/types.js.map +1 -1
- package/dist/token/EvmERC20WarpModule.d.ts +13 -0
- package/dist/token/EvmERC20WarpModule.d.ts.map +1 -1
- package/dist/token/EvmERC20WarpModule.hardhat-test.js +354 -9
- package/dist/token/EvmERC20WarpModule.hardhat-test.js.map +1 -1
- package/dist/token/EvmERC20WarpModule.js +210 -9
- package/dist/token/EvmERC20WarpModule.js.map +1 -1
- package/dist/token/EvmERC20WarpRouteReader.d.ts +7 -11
- package/dist/token/EvmERC20WarpRouteReader.d.ts.map +1 -1
- package/dist/token/EvmERC20WarpRouteReader.js +98 -47
- package/dist/token/EvmERC20WarpRouteReader.js.map +1 -1
- package/dist/token/TokenMetadataMap.d.ts +1 -2
- package/dist/token/TokenMetadataMap.d.ts.map +1 -1
- package/dist/token/TokenMetadataMap.js +2 -20
- package/dist/token/TokenMetadataMap.js.map +1 -1
- package/dist/token/TokenStandard.d.ts.map +1 -1
- package/dist/token/TokenStandard.js +3 -0
- package/dist/token/TokenStandard.js.map +1 -1
- package/dist/token/config.d.ts +25 -0
- package/dist/token/config.d.ts.map +1 -1
- package/dist/token/config.js +25 -0
- package/dist/token/config.js.map +1 -1
- package/dist/token/configUtils.d.ts.map +1 -1
- package/dist/token/configUtils.js +13 -3
- package/dist/token/configUtils.js.map +1 -1
- package/dist/token/contracts.d.ts +37 -31
- package/dist/token/contracts.d.ts.map +1 -1
- package/dist/token/contracts.js +8 -1
- package/dist/token/contracts.js.map +1 -1
- package/dist/token/deploy.d.ts +12 -5
- package/dist/token/deploy.d.ts.map +1 -1
- package/dist/token/deploy.js +137 -5
- package/dist/token/deploy.js.map +1 -1
- package/dist/token/types.d.ts +2720 -101
- package/dist/token/types.d.ts.map +1 -1
- package/dist/token/types.js +76 -5
- package/dist/token/types.js.map +1 -1
- package/dist/types.d.ts +2 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utils/decimals.d.ts +4 -0
- package/dist/utils/decimals.d.ts.map +1 -0
- package/dist/utils/decimals.js +26 -0
- package/dist/utils/decimals.js.map +1 -0
- package/package.json +12 -8
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { OperationType, } from '@safe-global/safe-core-sdk-types';
|
|
1
2
|
import { assert, rootLogger } from '@hyperlane-xyz/utils';
|
|
2
3
|
// prettier-ignore
|
|
3
4
|
// @ts-ignore
|
|
@@ -29,27 +30,30 @@ export class EV5GnosisSafeTxSubmitter {
|
|
|
29
30
|
const safeService = await getSafeService(chain, multiProvider);
|
|
30
31
|
return new EV5GnosisSafeTxSubmitter(multiProvider, props, safe, safeService);
|
|
31
32
|
}
|
|
32
|
-
async createSafeTransaction(
|
|
33
|
+
async createSafeTransaction(...transactions) {
|
|
33
34
|
const nextNonce = await this.safeService.getNextNonce(this.props.safeAddress);
|
|
34
35
|
const submitterChainId = this.multiProvider.getChainId(this.props.chain);
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
options: { nonce: nextNonce },
|
|
36
|
+
const safeTransactionData = transactions.map(({ to, data, value, chainId }) => {
|
|
37
|
+
assert(chainId, 'Invalid AnnotatedEV5Transaction: chainId is required');
|
|
38
|
+
assert(chainId === submitterChainId, `Invalid AnnotatedEV5Transaction: Cannot submit tx for chain ID ${chainId} to submitter for chain ID ${submitterChainId}.`);
|
|
39
|
+
return { to, data, value: value?.toString() ?? '0' };
|
|
40
40
|
});
|
|
41
|
+
const isMultiSend = transactions.length > 1;
|
|
42
|
+
const safeTransaction = await this.safe.createTransaction({
|
|
43
|
+
safeTransactionData,
|
|
44
|
+
onlyCalls: isMultiSend,
|
|
45
|
+
options: {
|
|
46
|
+
nonce: nextNonce,
|
|
47
|
+
operation: isMultiSend
|
|
48
|
+
? OperationType.DelegateCall
|
|
49
|
+
: OperationType.Call,
|
|
50
|
+
},
|
|
51
|
+
});
|
|
52
|
+
return safeTransaction;
|
|
41
53
|
}
|
|
42
54
|
async submit(...txs) {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
async proposeIndividualTransactions(txs) {
|
|
46
|
-
const safeTransactions = [];
|
|
47
|
-
for (const tx of txs) {
|
|
48
|
-
const safeTransaction = await this.createSafeTransaction(tx);
|
|
49
|
-
await this.proposeSafeTransaction(safeTransaction);
|
|
50
|
-
safeTransactions.push(safeTransaction);
|
|
51
|
-
}
|
|
52
|
-
return safeTransactions;
|
|
55
|
+
const safeTransaction = await this.createSafeTransaction(...txs);
|
|
56
|
+
return this.proposeSafeTransaction(safeTransaction);
|
|
53
57
|
}
|
|
54
58
|
async proposeSafeTransaction(safeTransaction) {
|
|
55
59
|
const safeTxHash = await this.safe.getTransactionHash(safeTransaction);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EV5GnosisSafeTxSubmitter.js","sourceRoot":"","sources":["../../../../../src/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"EV5GnosisSafeTxSubmitter.js","sourceRoot":"","sources":["../../../../../src/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,8 +35,7 @@ export declare const EV5InterchainAccountTxTransformerPropsSchema: z.ZodObject<P
|
|
|
35
35
|
ismOverride?: string | undefined;
|
|
36
36
|
}>;
|
|
37
37
|
hookMetadata: z.ZodOptional<z.ZodString>;
|
|
38
|
-
}, "
|
|
39
|
-
chain: string;
|
|
38
|
+
}, "config" | "chain" | "hookMetadata">, "strip", z.ZodTypeAny, {
|
|
40
39
|
config: {
|
|
41
40
|
owner: string;
|
|
42
41
|
origin: string;
|
|
@@ -44,9 +43,9 @@ export declare const EV5InterchainAccountTxTransformerPropsSchema: z.ZodObject<P
|
|
|
44
43
|
routerOverride?: string | undefined;
|
|
45
44
|
ismOverride?: string | undefined;
|
|
46
45
|
};
|
|
46
|
+
chain: string;
|
|
47
47
|
hookMetadata?: string | undefined;
|
|
48
48
|
}, {
|
|
49
|
-
chain: string;
|
|
50
49
|
config: {
|
|
51
50
|
owner: string;
|
|
52
51
|
origin: string;
|
|
@@ -54,6 +53,7 @@ export declare const EV5InterchainAccountTxTransformerPropsSchema: z.ZodObject<P
|
|
|
54
53
|
routerOverride?: string | undefined;
|
|
55
54
|
ismOverride?: string | undefined;
|
|
56
55
|
};
|
|
56
|
+
chain: string;
|
|
57
57
|
hookMetadata?: string | undefined;
|
|
58
58
|
}>;
|
|
59
59
|
export type EV5InterchainAccountTxTransformerProps = z.infer<typeof EV5InterchainAccountTxTransformerPropsSchema>;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { TxTransformerType } from './TxTransformerTypes.js';
|
|
3
3
|
export declare const TransformerMetadataSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
|
|
4
|
-
chain: z.ZodString;
|
|
5
4
|
config: z.ZodObject<{
|
|
6
5
|
origin: z.ZodString;
|
|
7
6
|
owner: z.ZodString;
|
|
@@ -21,11 +20,11 @@ export declare const TransformerMetadataSchema: z.ZodDiscriminatedUnion<"type",
|
|
|
21
20
|
routerOverride?: string | undefined;
|
|
22
21
|
ismOverride?: string | undefined;
|
|
23
22
|
}>;
|
|
23
|
+
chain: z.ZodString;
|
|
24
24
|
hookMetadata: z.ZodOptional<z.ZodString>;
|
|
25
25
|
type: z.ZodLiteral<TxTransformerType>;
|
|
26
26
|
}, "strip", z.ZodTypeAny, {
|
|
27
27
|
type: TxTransformerType;
|
|
28
|
-
chain: string;
|
|
29
28
|
config: {
|
|
30
29
|
owner: string;
|
|
31
30
|
origin: string;
|
|
@@ -33,10 +32,10 @@ export declare const TransformerMetadataSchema: z.ZodDiscriminatedUnion<"type",
|
|
|
33
32
|
routerOverride?: string | undefined;
|
|
34
33
|
ismOverride?: string | undefined;
|
|
35
34
|
};
|
|
35
|
+
chain: string;
|
|
36
36
|
hookMetadata?: string | undefined;
|
|
37
37
|
}, {
|
|
38
38
|
type: TxTransformerType;
|
|
39
|
-
chain: string;
|
|
40
39
|
config: {
|
|
41
40
|
owner: string;
|
|
42
41
|
origin: string;
|
|
@@ -44,6 +43,7 @@ export declare const TransformerMetadataSchema: z.ZodDiscriminatedUnion<"type",
|
|
|
44
43
|
routerOverride?: string | undefined;
|
|
45
44
|
ismOverride?: string | undefined;
|
|
46
45
|
};
|
|
46
|
+
chain: string;
|
|
47
47
|
hookMetadata?: string | undefined;
|
|
48
48
|
}>]>;
|
|
49
49
|
export type TransformerMetadata = z.infer<typeof TransformerMetadataSchema>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Address } from '@hyperlane-xyz/utils';
|
|
2
|
+
import { EvmHookReader } from '../hook/EvmHookReader.js';
|
|
3
|
+
import { EvmIsmReader } from '../ism/EvmIsmReader.js';
|
|
4
|
+
import { MultiProvider } from '../providers/MultiProvider.js';
|
|
5
|
+
import { ChainNameOrId } from '../types.js';
|
|
6
|
+
import { HyperlaneReader } from '../utils/HyperlaneReader.js';
|
|
7
|
+
import { DerivedMailboxClientConfig, DerivedRouterConfig, RemoteRouters } from './types.js';
|
|
8
|
+
export declare class EvmRouterReader extends HyperlaneReader {
|
|
9
|
+
protected readonly concurrency: number;
|
|
10
|
+
protected readonly logger: import("pino").default.Logger<never>;
|
|
11
|
+
protected evmHookReader: EvmHookReader;
|
|
12
|
+
protected evmIsmReader: EvmIsmReader;
|
|
13
|
+
constructor(multiProvider: MultiProvider, chain: ChainNameOrId, concurrency?: number);
|
|
14
|
+
readRouterConfig(address: Address): Promise<DerivedRouterConfig>;
|
|
15
|
+
fetchMailboxClientConfig(routerAddress: Address): Promise<DerivedMailboxClientConfig>;
|
|
16
|
+
fetchRemoteRouters(routerAddress: Address): Promise<RemoteRouters>;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=EvmRouterReader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EvmRouterReader.d.ts","sourceRoot":"","sources":["../../src/router/EvmRouterReader.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAyB,MAAM,sBAAsB,CAAC;AAGtE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,EACL,0BAA0B,EAC1B,mBAAmB,EACnB,aAAa,EAEd,MAAM,YAAY,CAAC;AAEpB,qBAAa,eAAgB,SAAQ,eAAe;IAQhD,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM;IAPxC,SAAS,CAAC,QAAQ,CAAC,MAAM,uCAAmD;IAC5E,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC;IACvC,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC;gBAGnC,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,aAAa,EACD,WAAW,GAAE,MAA0C;IAO/D,gBAAgB,CAC3B,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,mBAAmB,CAAC;IAWzB,wBAAwB,CAC5B,aAAa,EAAE,OAAO,GACrB,OAAO,CAAC,0BAA0B,CAAC;IA2BhC,kBAAkB,CAAC,aAAa,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;CAazE"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { constants } from 'ethers';
|
|
2
|
+
import { MailboxClient__factory, Router__factory } from '@hyperlane-xyz/core';
|
|
3
|
+
import { eqAddress, rootLogger } from '@hyperlane-xyz/utils';
|
|
4
|
+
import { DEFAULT_CONTRACT_READ_CONCURRENCY } from '../consts/concurrency.js';
|
|
5
|
+
import { EvmHookReader } from '../hook/EvmHookReader.js';
|
|
6
|
+
import { EvmIsmReader } from '../ism/EvmIsmReader.js';
|
|
7
|
+
import { HyperlaneReader } from '../utils/HyperlaneReader.js';
|
|
8
|
+
import { RemoteRoutersSchema, } from './types.js';
|
|
9
|
+
export class EvmRouterReader extends HyperlaneReader {
|
|
10
|
+
concurrency;
|
|
11
|
+
logger = rootLogger.child({ module: 'EvmRouterReader' });
|
|
12
|
+
evmHookReader;
|
|
13
|
+
evmIsmReader;
|
|
14
|
+
constructor(multiProvider, chain, concurrency = DEFAULT_CONTRACT_READ_CONCURRENCY) {
|
|
15
|
+
super(multiProvider, chain);
|
|
16
|
+
this.concurrency = concurrency;
|
|
17
|
+
this.evmHookReader = new EvmHookReader(multiProvider, chain, concurrency);
|
|
18
|
+
this.evmIsmReader = new EvmIsmReader(multiProvider, chain, concurrency);
|
|
19
|
+
}
|
|
20
|
+
async readRouterConfig(address) {
|
|
21
|
+
const mailboxClientConfig = await this.fetchMailboxClientConfig(address);
|
|
22
|
+
const remoteRouters = await this.fetchRemoteRouters(address);
|
|
23
|
+
// proxyAdmin and foreignDeployment are not directly readable from a generic router
|
|
24
|
+
// and depend on deployment context or specific router implementations.
|
|
25
|
+
return {
|
|
26
|
+
...mailboxClientConfig,
|
|
27
|
+
remoteRouters,
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
async fetchMailboxClientConfig(routerAddress) {
|
|
31
|
+
const mailboxClient = MailboxClient__factory.connect(routerAddress, this.provider);
|
|
32
|
+
const [mailbox, owner, hookAddress, ismAddress] = await Promise.all([
|
|
33
|
+
mailboxClient.mailbox(),
|
|
34
|
+
mailboxClient.owner(),
|
|
35
|
+
mailboxClient.hook(),
|
|
36
|
+
mailboxClient.interchainSecurityModule(),
|
|
37
|
+
]);
|
|
38
|
+
const derivedIsm = eqAddress(ismAddress, constants.AddressZero)
|
|
39
|
+
? constants.AddressZero
|
|
40
|
+
: await this.evmIsmReader.deriveIsmConfig(ismAddress);
|
|
41
|
+
const derivedHook = eqAddress(hookAddress, constants.AddressZero)
|
|
42
|
+
? constants.AddressZero
|
|
43
|
+
: await this.evmHookReader.deriveHookConfig(hookAddress);
|
|
44
|
+
return {
|
|
45
|
+
owner,
|
|
46
|
+
mailbox,
|
|
47
|
+
hook: derivedHook,
|
|
48
|
+
interchainSecurityModule: derivedIsm,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
async fetchRemoteRouters(routerAddress) {
|
|
52
|
+
const router = Router__factory.connect(routerAddress, this.provider);
|
|
53
|
+
const domains = await router.domains();
|
|
54
|
+
const routers = Object.fromEntries(await Promise.all(domains.map(async (domain) => {
|
|
55
|
+
return [domain, { address: await router.routers(domain) }];
|
|
56
|
+
})));
|
|
57
|
+
return RemoteRoutersSchema.parse(routers);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=EvmRouterReader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EvmRouterReader.js","sourceRoot":"","sources":["../../src/router/EvmRouterReader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Router } from '@hyperlane-xyz/core';
|
|
1
2
|
import { HyperlaneFactories } from '../contracts/types.js';
|
|
2
3
|
import { HyperlaneAppChecker } from '../deploy/HyperlaneAppChecker.js';
|
|
3
4
|
import { HyperlaneIsmFactory } from '../ism/HyperlaneIsmFactory.js';
|
|
@@ -10,6 +11,8 @@ export declare class HyperlaneRouterChecker<Factories extends HyperlaneFactories
|
|
|
10
11
|
readonly logger: import("pino").default.Logger<never>;
|
|
11
12
|
constructor(multiProvider: MultiProvider, app: App, configMap: ChainMap<Config>, ismFactory?: HyperlaneIsmFactory | undefined, logger?: import("pino").default.Logger<never>);
|
|
12
13
|
checkChain(chain: ChainName): Promise<void>;
|
|
14
|
+
protected checkMailbox(chain: ChainName, router: Router, config: RouterConfig): Promise<void>;
|
|
15
|
+
protected checkMailboxIsm(chain: ChainName, router: Router, config: RouterConfig): Promise<void>;
|
|
13
16
|
checkMailboxClient(chain: ChainName): Promise<void>;
|
|
14
17
|
checkEnrolledRouters(chain: ChainName, expectedRemoteChains?: ChainName[]): Promise<void>;
|
|
15
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperlaneRouterChecker.d.ts","sourceRoot":"","sources":["../../src/router/HyperlaneRouterChecker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"HyperlaneRouterChecker.d.ts","sourceRoot":"","sources":["../../src/router/HyperlaneRouterChecker.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAS7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAEvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAGpE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAKL,YAAY,EAGb,MAAM,YAAY,CAAC;AAEpB,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;IAKtC,QAAQ,CAAC,UAAU,CAAC;IACpB,QAAQ,CAAC,MAAM;gBAJf,aAAa,EAAE,aAAa,EAC5B,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,EAClB,UAAU,CAAC,iCAAqB,EAChC,MAAM,uCAAyD;IAKpE,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;cAUjC,YAAY,CAC1B,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,IAAI,CAAC;cA0BA,eAAe,CAC7B,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,IAAI,CAAC;IAgDV,kBAAkB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAOnD,oBAAoB,CACxB,KAAK,EAAE,SAAS,EAChB,oBAAoB,GAAE,SAAS,EAAO,GACrC,OAAO,CAAC,IAAI,CAAC;CAoFjB"}
|
|
@@ -17,9 +17,7 @@ export class HyperlaneRouterChecker extends HyperlaneAppChecker {
|
|
|
17
17
|
await this.checkEnrolledRouters(chain);
|
|
18
18
|
await super.checkOwnership(chain, this.configMap[chain].owner, this.configMap[chain].ownerOverrides);
|
|
19
19
|
}
|
|
20
|
-
async
|
|
21
|
-
const router = this.app.router(this.app.getContracts(chain));
|
|
22
|
-
const config = this.configMap[chain];
|
|
20
|
+
async checkMailbox(chain, router, config) {
|
|
23
21
|
const mailboxAddr = await router.mailbox();
|
|
24
22
|
if (!eqAddress(mailboxAddr, config.mailbox)) {
|
|
25
23
|
this.addViolation({
|
|
@@ -42,12 +40,18 @@ export class HyperlaneRouterChecker extends HyperlaneAppChecker {
|
|
|
42
40
|
});
|
|
43
41
|
}
|
|
44
42
|
}
|
|
43
|
+
}
|
|
44
|
+
async checkMailboxIsm(chain, router, config) {
|
|
45
|
+
const mailboxAddr = await router.mailbox();
|
|
45
46
|
const actualIsmAddress = await router.interchainSecurityModule();
|
|
47
|
+
// If the router is its own ism (e.g. the ICA router, skip checking configs)
|
|
48
|
+
if (eqAddress(actualIsmAddress, router.address))
|
|
49
|
+
return;
|
|
46
50
|
const matches = await moduleMatchesConfig(chain, actualIsmAddress, config.interchainSecurityModule ?? ethers.constants.AddressZero, this.multiProvider, this.ismFactory?.chainMap[chain] ?? {}, mailboxAddr);
|
|
47
51
|
if (!matches) {
|
|
48
52
|
const ismReader = new EvmIsmReader(this.multiProvider, chain);
|
|
49
53
|
let actualConfig = ethers.constants.AddressZero;
|
|
50
|
-
if (actualIsmAddress
|
|
54
|
+
if (!isZeroishAddress(actualIsmAddress)) {
|
|
51
55
|
actualConfig = await ismReader.deriveIsmConfig(actualIsmAddress);
|
|
52
56
|
}
|
|
53
57
|
let expectedConfig = config.interchainSecurityModule;
|
|
@@ -69,6 +73,12 @@ export class HyperlaneRouterChecker extends HyperlaneAppChecker {
|
|
|
69
73
|
this.addViolation(violation);
|
|
70
74
|
}
|
|
71
75
|
}
|
|
76
|
+
async checkMailboxClient(chain) {
|
|
77
|
+
const router = this.app.router(this.app.getContracts(chain));
|
|
78
|
+
const config = this.configMap[chain];
|
|
79
|
+
await this.checkMailbox(chain, router, config);
|
|
80
|
+
await this.checkMailboxIsm(chain, router, config);
|
|
81
|
+
}
|
|
72
82
|
async checkEnrolledRouters(chain, expectedRemoteChains = []) {
|
|
73
83
|
const router = this.app.router(this.app.getContracts(chain));
|
|
74
84
|
const actualRemoteChains = await this.app.remoteChains(chain);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperlaneRouterChecker.js","sourceRoot":"","sources":["../../src/router/HyperlaneRouterChecker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"HyperlaneRouterChecker.js","sourceRoot":"","sources":["../../src/router/HyperlaneRouterChecker.ts"],"names":[],"mappings":"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"}
|
package/dist/router/types.d.ts
CHANGED
|
@@ -6,17 +6,18 @@ import { UpgradeConfig } from '../deploy/proxy.js';
|
|
|
6
6
|
import { CheckerViolation } from '../deploy/types.js';
|
|
7
7
|
import { DerivedHookConfig } from '../hook/types.js';
|
|
8
8
|
import { DerivedIsmConfig } from '../ism/types.js';
|
|
9
|
+
import { MultiProvider } from '../providers/MultiProvider.js';
|
|
9
10
|
import { ChainMap } from '../types.js';
|
|
10
11
|
export type RouterAddress = {
|
|
11
12
|
router: Address;
|
|
12
13
|
};
|
|
13
14
|
export type MailboxClientConfig = z.infer<typeof MailboxClientConfigSchema>;
|
|
14
|
-
export type
|
|
15
|
-
hook:
|
|
16
|
-
interchainSecurityModule:
|
|
15
|
+
export type DerivedMailboxClientConfig = MailboxClientConfig & {
|
|
16
|
+
hook: DerivedHookConfig | Address;
|
|
17
|
+
interchainSecurityModule: DerivedIsmConfig | Address;
|
|
17
18
|
};
|
|
18
|
-
export type DerivedMailboxClientConfig = Omit<MailboxClientConfig, keyof DerivedMailboxClientFields> & DerivedMailboxClientFields;
|
|
19
19
|
export type RouterConfig = z.infer<typeof RouterConfigSchema>;
|
|
20
|
+
export type DerivedRouterConfig = RouterConfig & DerivedMailboxClientConfig;
|
|
20
21
|
export type GasRouterConfig = z.infer<typeof GasRouterConfigSchema>;
|
|
21
22
|
export type ProxiedRouterConfig = RouterConfig & Partial<UpgradeConfig>;
|
|
22
23
|
export type ProxiedFactories = HyperlaneFactories & {
|
|
@@ -312,11 +313,20 @@ export declare const MailboxClientConfigSchema: z.ZodObject<{
|
|
|
312
313
|
type: import("../ism/types.js").IsmType.ARB_L2_TO_L1;
|
|
313
314
|
bridge: string;
|
|
314
315
|
}>, z.ZodObject<{
|
|
315
|
-
|
|
316
|
+
owner: z.ZodString;
|
|
317
|
+
ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
318
|
+
type: z.ZodLiteral<import("../ism/types.js").IsmType.OFFCHAIN_LOOKUP>;
|
|
319
|
+
urls: z.ZodArray<z.ZodString, "many">;
|
|
316
320
|
}, "strip", z.ZodTypeAny, {
|
|
317
|
-
type: import("../ism/types.js").IsmType.
|
|
321
|
+
type: import("../ism/types.js").IsmType.OFFCHAIN_LOOKUP;
|
|
322
|
+
owner: string;
|
|
323
|
+
urls: string[];
|
|
324
|
+
ownerOverrides?: Record<string, string> | undefined;
|
|
318
325
|
}, {
|
|
319
|
-
type: import("../ism/types.js").IsmType.
|
|
326
|
+
type: import("../ism/types.js").IsmType.OFFCHAIN_LOOKUP;
|
|
327
|
+
owner: string;
|
|
328
|
+
urls: string[];
|
|
329
|
+
ownerOverrides?: Record<string, string> | undefined;
|
|
320
330
|
}>]>>;
|
|
321
331
|
}, "strip", z.ZodTypeAny, {
|
|
322
332
|
owner: string;
|
|
@@ -401,7 +411,10 @@ export declare const MailboxClientConfigSchema: z.ZodObject<{
|
|
|
401
411
|
type: import("../ism/types.js").IsmType.ARB_L2_TO_L1;
|
|
402
412
|
bridge: string;
|
|
403
413
|
} | {
|
|
404
|
-
type: import("../ism/types.js").IsmType.
|
|
414
|
+
type: import("../ism/types.js").IsmType.OFFCHAIN_LOOKUP;
|
|
415
|
+
owner: string;
|
|
416
|
+
urls: string[];
|
|
417
|
+
ownerOverrides?: Record<string, string> | undefined;
|
|
405
418
|
} | import("../ism/types.js").RoutingIsmConfig | import("../ism/types.js").AggregationIsmConfig | undefined;
|
|
406
419
|
}, {
|
|
407
420
|
owner: string;
|
|
@@ -486,7 +499,10 @@ export declare const MailboxClientConfigSchema: z.ZodObject<{
|
|
|
486
499
|
type: import("../ism/types.js").IsmType.ARB_L2_TO_L1;
|
|
487
500
|
bridge: string;
|
|
488
501
|
} | {
|
|
489
|
-
type: import("../ism/types.js").IsmType.
|
|
502
|
+
type: import("../ism/types.js").IsmType.OFFCHAIN_LOOKUP;
|
|
503
|
+
owner: string;
|
|
504
|
+
urls: string[];
|
|
505
|
+
ownerOverrides?: Record<string, string> | undefined;
|
|
490
506
|
} | import("../ism/types.js").RoutingIsmConfig | import("../ism/types.js").AggregationIsmConfig | undefined;
|
|
491
507
|
}>;
|
|
492
508
|
export declare const ForeignDeploymentConfigSchema: z.ZodObject<{
|
|
@@ -496,7 +512,9 @@ export declare const ForeignDeploymentConfigSchema: z.ZodObject<{
|
|
|
496
512
|
}, {
|
|
497
513
|
foreignDeployment?: string | undefined;
|
|
498
514
|
}>;
|
|
499
|
-
export declare const
|
|
515
|
+
export declare const RemoteRouterDomainOrChainNameSchema: z.ZodUnion<[z.ZodString, z.ZodNumber]>;
|
|
516
|
+
export type RemoteRouterDomainOrChainName = z.infer<typeof RemoteRouterDomainOrChainNameSchema>;
|
|
517
|
+
export declare function resolveRouterMapConfig<T>(multiProvider: MultiProvider, routerMap: Record<RemoteRouterDomainOrChainName, T>): Record<number, T>;
|
|
500
518
|
export declare const RemoteRouterRouter: z.ZodObject<{
|
|
501
519
|
address: z.ZodString;
|
|
502
520
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -504,7 +522,7 @@ export declare const RemoteRouterRouter: z.ZodObject<{
|
|
|
504
522
|
}, {
|
|
505
523
|
address: string;
|
|
506
524
|
}>;
|
|
507
|
-
export declare const RemoteRoutersSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
525
|
+
export declare const RemoteRoutersSchema: z.ZodRecord<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodObject<{
|
|
508
526
|
address: z.ZodString;
|
|
509
527
|
}, "strip", z.ZodTypeAny, {
|
|
510
528
|
address: string;
|
|
@@ -762,14 +780,23 @@ export declare const RouterConfigSchema: z.ZodObject<{
|
|
|
762
780
|
type: import("../ism/types.js").IsmType.ARB_L2_TO_L1;
|
|
763
781
|
bridge: string;
|
|
764
782
|
}>, z.ZodObject<{
|
|
765
|
-
|
|
783
|
+
owner: z.ZodString;
|
|
784
|
+
ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
785
|
+
type: z.ZodLiteral<import("../ism/types.js").IsmType.OFFCHAIN_LOOKUP>;
|
|
786
|
+
urls: z.ZodArray<z.ZodString, "many">;
|
|
766
787
|
}, "strip", z.ZodTypeAny, {
|
|
767
|
-
type: import("../ism/types.js").IsmType.
|
|
788
|
+
type: import("../ism/types.js").IsmType.OFFCHAIN_LOOKUP;
|
|
789
|
+
owner: string;
|
|
790
|
+
urls: string[];
|
|
791
|
+
ownerOverrides?: Record<string, string> | undefined;
|
|
768
792
|
}, {
|
|
769
|
-
type: import("../ism/types.js").IsmType.
|
|
793
|
+
type: import("../ism/types.js").IsmType.OFFCHAIN_LOOKUP;
|
|
794
|
+
owner: string;
|
|
795
|
+
urls: string[];
|
|
796
|
+
ownerOverrides?: Record<string, string> | undefined;
|
|
770
797
|
}>]>>;
|
|
771
798
|
foreignDeployment: z.ZodOptional<z.ZodString>;
|
|
772
|
-
remoteRouters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
799
|
+
remoteRouters: z.ZodOptional<z.ZodRecord<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodObject<{
|
|
773
800
|
address: z.ZodString;
|
|
774
801
|
}, "strip", z.ZodTypeAny, {
|
|
775
802
|
address: string;
|
|
@@ -872,10 +899,13 @@ export declare const RouterConfigSchema: z.ZodObject<{
|
|
|
872
899
|
type: import("../ism/types.js").IsmType.ARB_L2_TO_L1;
|
|
873
900
|
bridge: string;
|
|
874
901
|
} | {
|
|
875
|
-
type: import("../ism/types.js").IsmType.
|
|
902
|
+
type: import("../ism/types.js").IsmType.OFFCHAIN_LOOKUP;
|
|
903
|
+
owner: string;
|
|
904
|
+
urls: string[];
|
|
905
|
+
ownerOverrides?: Record<string, string> | undefined;
|
|
876
906
|
} | import("../ism/types.js").RoutingIsmConfig | import("../ism/types.js").AggregationIsmConfig | undefined;
|
|
877
907
|
foreignDeployment?: string | undefined;
|
|
878
|
-
remoteRouters?: Record<string, {
|
|
908
|
+
remoteRouters?: Record<string | number, {
|
|
879
909
|
address: string;
|
|
880
910
|
}> | undefined;
|
|
881
911
|
proxyAdmin?: {
|
|
@@ -966,10 +996,13 @@ export declare const RouterConfigSchema: z.ZodObject<{
|
|
|
966
996
|
type: import("../ism/types.js").IsmType.ARB_L2_TO_L1;
|
|
967
997
|
bridge: string;
|
|
968
998
|
} | {
|
|
969
|
-
type: import("../ism/types.js").IsmType.
|
|
999
|
+
type: import("../ism/types.js").IsmType.OFFCHAIN_LOOKUP;
|
|
1000
|
+
owner: string;
|
|
1001
|
+
urls: string[];
|
|
1002
|
+
ownerOverrides?: Record<string, string> | undefined;
|
|
970
1003
|
} | import("../ism/types.js").RoutingIsmConfig | import("../ism/types.js").AggregationIsmConfig | undefined;
|
|
971
1004
|
foreignDeployment?: string | undefined;
|
|
972
|
-
remoteRouters?: Record<string, {
|
|
1005
|
+
remoteRouters?: Record<string | number, {
|
|
973
1006
|
address: string;
|
|
974
1007
|
}> | undefined;
|
|
975
1008
|
proxyAdmin?: {
|
|
@@ -978,7 +1011,7 @@ export declare const RouterConfigSchema: z.ZodObject<{
|
|
|
978
1011
|
address?: string | undefined;
|
|
979
1012
|
} | undefined;
|
|
980
1013
|
}>;
|
|
981
|
-
export declare const DestinationGasSchema: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
1014
|
+
export declare const DestinationGasSchema: z.ZodRecord<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodString>;
|
|
982
1015
|
export declare const GasRouterConfigSchema: z.ZodObject<{
|
|
983
1016
|
owner: z.ZodString;
|
|
984
1017
|
ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
@@ -1243,14 +1276,23 @@ export declare const GasRouterConfigSchema: z.ZodObject<{
|
|
|
1243
1276
|
type: import("../ism/types.js").IsmType.ARB_L2_TO_L1;
|
|
1244
1277
|
bridge: string;
|
|
1245
1278
|
}>, z.ZodObject<{
|
|
1246
|
-
|
|
1279
|
+
owner: z.ZodString;
|
|
1280
|
+
ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
1281
|
+
type: z.ZodLiteral<import("../ism/types.js").IsmType.OFFCHAIN_LOOKUP>;
|
|
1282
|
+
urls: z.ZodArray<z.ZodString, "many">;
|
|
1247
1283
|
}, "strip", z.ZodTypeAny, {
|
|
1248
|
-
type: import("../ism/types.js").IsmType.
|
|
1284
|
+
type: import("../ism/types.js").IsmType.OFFCHAIN_LOOKUP;
|
|
1285
|
+
owner: string;
|
|
1286
|
+
urls: string[];
|
|
1287
|
+
ownerOverrides?: Record<string, string> | undefined;
|
|
1249
1288
|
}, {
|
|
1250
|
-
type: import("../ism/types.js").IsmType.
|
|
1289
|
+
type: import("../ism/types.js").IsmType.OFFCHAIN_LOOKUP;
|
|
1290
|
+
owner: string;
|
|
1291
|
+
urls: string[];
|
|
1292
|
+
ownerOverrides?: Record<string, string> | undefined;
|
|
1251
1293
|
}>]>>;
|
|
1252
1294
|
foreignDeployment: z.ZodOptional<z.ZodString>;
|
|
1253
|
-
remoteRouters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
1295
|
+
remoteRouters: z.ZodOptional<z.ZodRecord<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodObject<{
|
|
1254
1296
|
address: z.ZodString;
|
|
1255
1297
|
}, "strip", z.ZodTypeAny, {
|
|
1256
1298
|
address: string;
|
|
@@ -1258,7 +1300,7 @@ export declare const GasRouterConfigSchema: z.ZodObject<{
|
|
|
1258
1300
|
address: string;
|
|
1259
1301
|
}>>>;
|
|
1260
1302
|
gas: z.ZodOptional<z.ZodNumber>;
|
|
1261
|
-
destinationGas: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
1303
|
+
destinationGas: z.ZodOptional<z.ZodRecord<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodString>>;
|
|
1262
1304
|
}, "strip", z.ZodTypeAny, {
|
|
1263
1305
|
owner: string;
|
|
1264
1306
|
mailbox: string;
|
|
@@ -1347,14 +1389,17 @@ export declare const GasRouterConfigSchema: z.ZodObject<{
|
|
|
1347
1389
|
type: import("../ism/types.js").IsmType.ARB_L2_TO_L1;
|
|
1348
1390
|
bridge: string;
|
|
1349
1391
|
} | {
|
|
1350
|
-
type: import("../ism/types.js").IsmType.
|
|
1392
|
+
type: import("../ism/types.js").IsmType.OFFCHAIN_LOOKUP;
|
|
1393
|
+
owner: string;
|
|
1394
|
+
urls: string[];
|
|
1395
|
+
ownerOverrides?: Record<string, string> | undefined;
|
|
1351
1396
|
} | import("../ism/types.js").RoutingIsmConfig | import("../ism/types.js").AggregationIsmConfig | undefined;
|
|
1352
1397
|
foreignDeployment?: string | undefined;
|
|
1353
|
-
remoteRouters?: Record<string, {
|
|
1398
|
+
remoteRouters?: Record<string | number, {
|
|
1354
1399
|
address: string;
|
|
1355
1400
|
}> | undefined;
|
|
1356
1401
|
gas?: number | undefined;
|
|
1357
|
-
destinationGas?: Record<string, string> | undefined;
|
|
1402
|
+
destinationGas?: Record<string | number, string> | undefined;
|
|
1358
1403
|
}, {
|
|
1359
1404
|
owner: string;
|
|
1360
1405
|
mailbox: string;
|
|
@@ -1443,13 +1488,16 @@ export declare const GasRouterConfigSchema: z.ZodObject<{
|
|
|
1443
1488
|
type: import("../ism/types.js").IsmType.ARB_L2_TO_L1;
|
|
1444
1489
|
bridge: string;
|
|
1445
1490
|
} | {
|
|
1446
|
-
type: import("../ism/types.js").IsmType.
|
|
1491
|
+
type: import("../ism/types.js").IsmType.OFFCHAIN_LOOKUP;
|
|
1492
|
+
owner: string;
|
|
1493
|
+
urls: string[];
|
|
1494
|
+
ownerOverrides?: Record<string, string> | undefined;
|
|
1447
1495
|
} | import("../ism/types.js").RoutingIsmConfig | import("../ism/types.js").AggregationIsmConfig | undefined;
|
|
1448
1496
|
foreignDeployment?: string | undefined;
|
|
1449
|
-
remoteRouters?: Record<string, {
|
|
1497
|
+
remoteRouters?: Record<string | number, {
|
|
1450
1498
|
address: string;
|
|
1451
1499
|
}> | undefined;
|
|
1452
1500
|
gas?: number | undefined;
|
|
1453
|
-
destinationGas?: Record<string, string> | undefined;
|
|
1501
|
+
destinationGas?: Record<string | number, string> | undefined;
|
|
1454
1502
|
}>;
|
|
1455
1503
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/router/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,MAAM,EACN,2BAA2B,EAC5B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/router/types.ts"],"names":[],"mappings":"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"}
|
package/dist/router/types.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { ProxyAdmin__factory, TimelockController__factory, } from '@hyperlane-xyz/core';
|
|
3
|
+
import { isNumeric } from '@hyperlane-xyz/utils';
|
|
3
4
|
import { HookConfigSchema } from '../hook/types.js';
|
|
4
5
|
import { IsmConfigSchema } from '../ism/types.js';
|
|
5
6
|
import { ZHash } from '../metadata/customZodTypes.js';
|
|
@@ -28,18 +29,26 @@ export const MailboxClientConfigSchema = OwnableSchema.extend({
|
|
|
28
29
|
export const ForeignDeploymentConfigSchema = z.object({
|
|
29
30
|
foreignDeployment: z.string().optional(),
|
|
30
31
|
});
|
|
31
|
-
export const
|
|
32
|
+
export const RemoteRouterDomainOrChainNameSchema = z.string().or(z.number());
|
|
33
|
+
export function resolveRouterMapConfig(multiProvider, routerMap) {
|
|
34
|
+
return Object.fromEntries(Object.entries(routerMap).map(([domainIdOrChainName, value]) => {
|
|
35
|
+
if (isNumeric(domainIdOrChainName)) {
|
|
36
|
+
return [parseInt(domainIdOrChainName), value];
|
|
37
|
+
}
|
|
38
|
+
const meta = multiProvider.getChainMetadata(domainIdOrChainName);
|
|
39
|
+
return [meta.domainId, value];
|
|
40
|
+
}));
|
|
41
|
+
}
|
|
32
42
|
export const RemoteRouterRouter = z.object({
|
|
33
43
|
address: z.string().startsWith('0x'),
|
|
34
44
|
});
|
|
35
|
-
export const RemoteRoutersSchema = z.record(
|
|
45
|
+
export const RemoteRoutersSchema = z.record(RemoteRouterDomainOrChainNameSchema, RemoteRouterRouter);
|
|
36
46
|
export const RouterConfigSchema = MailboxClientConfigSchema.merge(ForeignDeploymentConfigSchema).merge(z.object({
|
|
37
47
|
remoteRouters: RemoteRoutersSchema.optional(),
|
|
38
48
|
proxyAdmin: DeployedOwnableSchema.optional(),
|
|
39
49
|
}));
|
|
40
|
-
const DestinationGasDomain = z.string();
|
|
41
50
|
const DestinationGasAmount = z.string(); // This must be a string type to match Ether's type
|
|
42
|
-
export const DestinationGasSchema = z.record(
|
|
51
|
+
export const DestinationGasSchema = z.record(RemoteRouterDomainOrChainNameSchema, DestinationGasAmount);
|
|
43
52
|
export const GasRouterConfigSchema = RouterConfigSchema.extend({
|
|
44
53
|
gas: z.number().optional(),
|
|
45
54
|
destinationGas: DestinationGasSchema.optional(),
|