@hyperlane-xyz/sdk
Version:
The official SDK for the Hyperlane Network
1,181 lines • 60.2 kB
TypeScript
import { z } from 'zod';
import { MailboxClient, ProxyAdmin__factory, Router, TimelockController__factory } from '@hyperlane-xyz/core';
import { Address, AddressBytes32 } from '@hyperlane-xyz/utils';
import { HyperlaneFactories } from '../contracts/types.js';
import { UpgradeConfig } from '../deploy/proxy.js';
import { CheckerViolation } from '../deploy/types.js';
import { DerivedHookConfig } from '../hook/types.js';
import { DerivedIsmConfig } from '../ism/types.js';
import { ChainMap } from '../types.js';
export type RouterAddress = {
router: Address;
};
export type MailboxClientConfig = z.infer<typeof MailboxClientConfigSchema>;
export type DerivedMailboxClientFields = {
hook: string | DerivedHookConfig;
interchainSecurityModule: string | DerivedIsmConfig;
};
export type DerivedMailboxClientConfig = Omit<MailboxClientConfig, keyof DerivedMailboxClientFields> & DerivedMailboxClientFields;
export type RouterConfig = z.infer<typeof RouterConfigSchema>;
export type GasRouterConfig = z.infer<typeof GasRouterConfigSchema>;
export type ProxiedRouterConfig = RouterConfig & Partial<UpgradeConfig>;
export type ProxiedFactories = HyperlaneFactories & {
proxyAdmin: ProxyAdmin__factory;
timelockController: TimelockController__factory;
};
export declare const proxiedFactories: ProxiedFactories;
export declare enum ClientViolationType {
InterchainSecurityModule = "ClientIsm",
Mailbox = "ClientMailbox",
Hook = "ClientHook"
}
export interface ClientViolation extends CheckerViolation {
type: ClientViolationType;
contract: MailboxClient;
description?: string;
}
export declare enum RouterViolationType {
MisconfiguredEnrolledRouter = "MisconfiguredEnrolledRouter",
MissingEnrolledRouter = "MissingEnrolledRouter",
MissingRouter = "MissingRouter"
}
export interface RouterViolation extends CheckerViolation {
type: RouterViolationType.MisconfiguredEnrolledRouter;
contract: Router;
routerDiff: ChainMap<{
actual: AddressBytes32;
expected: AddressBytes32;
}>;
description?: string;
}
export interface MissingEnrolledRouterViolation extends CheckerViolation {
type: RouterViolationType.MissingEnrolledRouter;
contract: Router;
missingChains: string[];
description?: string;
}
export interface MissingRouterViolation extends CheckerViolation {
type: RouterViolationType.MissingRouter;
contract: Router;
description?: string;
}
export type RemoteRouters = z.infer<typeof RemoteRoutersSchema>;
export type DestinationGas = z.infer<typeof DestinationGasSchema>;
export declare const MailboxClientConfigSchema: z.ZodObject<{
owner: z.ZodString;
ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
mailbox: z.ZodString;
hook: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
owner: z.ZodString;
ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
type: z.ZodLiteral<import("../hook/types.js").HookType.PROTOCOL_FEE>;
beneficiary: z.ZodString;
maxProtocolFee: z.ZodString;
protocolFee: z.ZodString;
}, "strip", z.ZodTypeAny, {
type: import("../hook/types.js").HookType.PROTOCOL_FEE;
owner: string;
protocolFee: string;
beneficiary: string;
maxProtocolFee: string;
ownerOverrides?: Record<string, string> | undefined;
}, {
type: import("../hook/types.js").HookType.PROTOCOL_FEE;
owner: string;
protocolFee: string;
beneficiary: string;
maxProtocolFee: string;
ownerOverrides?: Record<string, string> | undefined;
}>, z.ZodObject<{
owner: z.ZodString;
ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
paused: z.ZodBoolean;
type: z.ZodLiteral<import("../hook/types.js").HookType.PAUSABLE>;
}, "strip", z.ZodTypeAny, {
type: import("../hook/types.js").HookType.PAUSABLE;
owner: string;
paused: boolean;
ownerOverrides?: Record<string, string> | undefined;
}, {
type: import("../hook/types.js").HookType.PAUSABLE;
owner: string;
paused: boolean;
ownerOverrides?: Record<string, string> | undefined;
}>, z.ZodObject<{
owner: z.ZodString;
ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
type: z.ZodLiteral<import("../hook/types.js").HookType.OP_STACK>;
nativeBridge: z.ZodString;
destinationChain: z.ZodString;
}, "strip", z.ZodTypeAny, {
type: import("../hook/types.js").HookType.OP_STACK;
owner: string;
nativeBridge: string;
destinationChain: string;
ownerOverrides?: Record<string, string> | undefined;
}, {
type: import("../hook/types.js").HookType.OP_STACK;
owner: string;
nativeBridge: string;
destinationChain: string;
ownerOverrides?: Record<string, string> | undefined;
}>, z.ZodObject<{
type: z.ZodLiteral<import("../hook/types.js").HookType.MERKLE_TREE>;
}, "strip", z.ZodTypeAny, {
type: import("../hook/types.js").HookType.MERKLE_TREE;
}, {
type: import("../hook/types.js").HookType.MERKLE_TREE;
}>, z.ZodObject<{
owner: z.ZodString;
ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
type: z.ZodLiteral<import("../hook/types.js").HookType.INTERCHAIN_GAS_PAYMASTER>;
beneficiary: z.ZodString;
oracleKey: z.ZodString;
overhead: z.ZodRecord<z.ZodString, z.ZodNumber>;
oracleConfig: z.ZodRecord<z.ZodString, z.ZodObject<{
gasPrice: z.ZodString;
tokenExchangeRate: z.ZodString;
tokenDecimals: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
gasPrice: string;
tokenExchangeRate: string;
tokenDecimals?: number | undefined;
}, {
gasPrice: string;
tokenExchangeRate: string;
tokenDecimals?: number | undefined;
}>>;
}, "strip", z.ZodTypeAny, {
type: import("../hook/types.js").HookType.INTERCHAIN_GAS_PAYMASTER;
owner: string;
beneficiary: string;
oracleKey: string;
overhead: Record<string, number>;
oracleConfig: Record<string, {
gasPrice: string;
tokenExchangeRate: string;
tokenDecimals?: number | undefined;
}>;
ownerOverrides?: Record<string, string> | undefined;
}, {
type: import("../hook/types.js").HookType.INTERCHAIN_GAS_PAYMASTER;
owner: string;
beneficiary: string;
oracleKey: string;
overhead: Record<string, number>;
oracleConfig: Record<string, {
gasPrice: string;
tokenExchangeRate: string;
tokenDecimals?: number | undefined;
}>;
ownerOverrides?: Record<string, string> | undefined;
}>, z.ZodType<import("../hook/types.js").DomainRoutingHookConfig, z.ZodTypeDef, import("../hook/types.js").DomainRoutingHookConfig>, z.ZodType<import("../hook/types.js").FallbackRoutingHookConfig, z.ZodTypeDef, import("../hook/types.js").FallbackRoutingHookConfig>, z.ZodType<import("../hook/types.js").AmountRoutingHookConfig, z.ZodTypeDef, import("../hook/types.js").AmountRoutingHookConfig>, z.ZodType<import("../hook/types.js").AggregationHookConfig, z.ZodTypeDef, import("../hook/types.js").AggregationHookConfig>, z.ZodObject<{
type: z.ZodLiteral<import("../hook/types.js").HookType.ARB_L2_TO_L1>;
arbSys: z.ZodString;
bridge: z.ZodOptional<z.ZodString>;
destinationChain: z.ZodString;
childHook: z.ZodLazy<z.ZodType<any, z.ZodTypeDef, any>>;
}, "strip", z.ZodTypeAny, {
type: import("../hook/types.js").HookType.ARB_L2_TO_L1;
destinationChain: string;
arbSys: string;
bridge?: string | undefined;
childHook?: any;
}, {
type: import("../hook/types.js").HookType.ARB_L2_TO_L1;
destinationChain: string;
arbSys: string;
bridge?: string | undefined;
childHook?: any;
}>, z.ZodObject<{
type: z.ZodLiteral<import("../hook/types.js").HookType.MAILBOX_DEFAULT>;
}, "strip", z.ZodTypeAny, {
type: import("../hook/types.js").HookType.MAILBOX_DEFAULT;
}, {
type: import("../hook/types.js").HookType.MAILBOX_DEFAULT;
}>, z.ZodObject<{
type: z.ZodLiteral<import("../hook/types.js").HookType.CCIP>;
destinationChain: z.ZodString;
}, "strip", z.ZodTypeAny, {
type: import("../hook/types.js").HookType.CCIP;
destinationChain: string;
}, {
type: import("../hook/types.js").HookType.CCIP;
destinationChain: string;
}>]>>;
interchainSecurityModule: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
type: z.ZodLiteral<import("../ism/types.js").IsmType.TEST_ISM>;
}, "strip", z.ZodTypeAny, {
type: import("../ism/types.js").IsmType.TEST_ISM;
}, {
type: import("../ism/types.js").IsmType.TEST_ISM;
}>, z.ZodObject<{
type: z.ZodLiteral<import("../ism/types.js").IsmType.OP_STACK>;
origin: z.ZodString;
nativeBridge: z.ZodString;
}, "strip", z.ZodTypeAny, {
type: import("../ism/types.js").IsmType.OP_STACK;
origin: string;
nativeBridge: string;
}, {
type: import("../ism/types.js").IsmType.OP_STACK;
origin: string;
nativeBridge: string;
}>, z.ZodIntersection<z.ZodObject<{
owner: z.ZodString;
ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
paused: z.ZodBoolean;
}, "strip", z.ZodTypeAny, {
owner: string;
paused: boolean;
ownerOverrides?: Record<string, string> | undefined;
}, {
owner: string;
paused: boolean;
ownerOverrides?: Record<string, string> | undefined;
}>, z.ZodObject<{
type: z.ZodLiteral<import("../ism/types.js").IsmType.PAUSABLE>;
}, "strip", z.ZodTypeAny, {
type: import("../ism/types.js").IsmType.PAUSABLE;
}, {
type: import("../ism/types.js").IsmType.PAUSABLE;
}>>, z.ZodObject<{
type: z.ZodLiteral<import("../ism/types.js").IsmType.TRUSTED_RELAYER>;
relayer: z.ZodString;
}, "strip", z.ZodTypeAny, {
type: import("../ism/types.js").IsmType.TRUSTED_RELAYER;
relayer: string;
}, {
type: import("../ism/types.js").IsmType.TRUSTED_RELAYER;
relayer: string;
}>, z.ZodObject<{
type: z.ZodLiteral<import("../ism/types.js").IsmType.CCIP>;
originChain: z.ZodString;
}, "strip", z.ZodTypeAny, {
type: import("../ism/types.js").IsmType.CCIP;
originChain: string;
}, {
type: import("../ism/types.js").IsmType.CCIP;
originChain: string;
}>, z.ZodIntersection<z.ZodObject<{
validators: z.ZodArray<z.ZodString, "many">;
threshold: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
validators: string[];
threshold: number;
}, {
validators: string[];
threshold: number;
}>, z.ZodObject<{
type: z.ZodUnion<[z.ZodLiteral<import("../ism/types.js").IsmType.MERKLE_ROOT_MULTISIG>, z.ZodLiteral<import("../ism/types.js").IsmType.MESSAGE_ID_MULTISIG>, z.ZodLiteral<import("../ism/types.js").IsmType.STORAGE_MERKLE_ROOT_MULTISIG>, z.ZodLiteral<import("../ism/types.js").IsmType.STORAGE_MESSAGE_ID_MULTISIG>]>;
}, "strip", z.ZodTypeAny, {
type: import("../ism/types.js").IsmType.MERKLE_ROOT_MULTISIG | import("../ism/types.js").IsmType.MESSAGE_ID_MULTISIG | import("../ism/types.js").IsmType.STORAGE_MERKLE_ROOT_MULTISIG | import("../ism/types.js").IsmType.STORAGE_MESSAGE_ID_MULTISIG;
}, {
type: import("../ism/types.js").IsmType.MERKLE_ROOT_MULTISIG | import("../ism/types.js").IsmType.MESSAGE_ID_MULTISIG | import("../ism/types.js").IsmType.STORAGE_MERKLE_ROOT_MULTISIG | import("../ism/types.js").IsmType.STORAGE_MESSAGE_ID_MULTISIG;
}>>, z.ZodIntersection<z.ZodObject<{
validators: z.ZodArray<z.ZodObject<{
signingAddress: z.ZodString;
weight: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
signingAddress: string;
weight: number;
}, {
signingAddress: string;
weight: number;
}>, "many">;
thresholdWeight: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
validators: {
signingAddress: string;
weight: number;
}[];
thresholdWeight: number;
}, {
validators: {
signingAddress: string;
weight: number;
}[];
thresholdWeight: number;
}>, z.ZodObject<{
type: z.ZodUnion<[z.ZodLiteral<import("../ism/types.js").IsmType.WEIGHTED_MERKLE_ROOT_MULTISIG>, z.ZodLiteral<import("../ism/types.js").IsmType.WEIGHTED_MESSAGE_ID_MULTISIG>]>;
}, "strip", z.ZodTypeAny, {
type: import("../ism/types.js").IsmType.WEIGHTED_MERKLE_ROOT_MULTISIG | import("../ism/types.js").IsmType.WEIGHTED_MESSAGE_ID_MULTISIG;
}, {
type: import("../ism/types.js").IsmType.WEIGHTED_MERKLE_ROOT_MULTISIG | import("../ism/types.js").IsmType.WEIGHTED_MESSAGE_ID_MULTISIG;
}>>, z.ZodType<import("../ism/types.js").RoutingIsmConfig, z.ZodTypeDef, import("../ism/types.js").RoutingIsmConfig>, z.ZodType<import("../ism/types.js").AggregationIsmConfig, z.ZodTypeDef, import("../ism/types.js").AggregationIsmConfig>, z.ZodObject<{
type: z.ZodLiteral<import("../ism/types.js").IsmType.ARB_L2_TO_L1>;
bridge: z.ZodString;
}, "strip", z.ZodTypeAny, {
type: import("../ism/types.js").IsmType.ARB_L2_TO_L1;
bridge: string;
}, {
type: import("../ism/types.js").IsmType.ARB_L2_TO_L1;
bridge: string;
}>]>>;
}, "strip", z.ZodTypeAny, {
owner: string;
mailbox: string;
ownerOverrides?: Record<string, string> | undefined;
hook?: string | {
type: import("../hook/types.js").HookType.MERKLE_TREE;
} | {
type: import("../hook/types.js").HookType.INTERCHAIN_GAS_PAYMASTER;
owner: string;
beneficiary: string;
oracleKey: string;
overhead: Record<string, number>;
oracleConfig: Record<string, {
gasPrice: string;
tokenExchangeRate: string;
tokenDecimals?: number | undefined;
}>;
ownerOverrides?: Record<string, string> | undefined;
} | {
type: import("../hook/types.js").HookType.PROTOCOL_FEE;
owner: string;
protocolFee: string;
beneficiary: string;
maxProtocolFee: string;
ownerOverrides?: Record<string, string> | undefined;
} | {
type: import("../hook/types.js").HookType.PAUSABLE;
owner: string;
paused: boolean;
ownerOverrides?: Record<string, string> | undefined;
} | {
type: import("../hook/types.js").HookType.OP_STACK;
owner: string;
nativeBridge: string;
destinationChain: string;
ownerOverrides?: Record<string, string> | undefined;
} | {
type: import("../hook/types.js").HookType.ARB_L2_TO_L1;
destinationChain: string;
arbSys: string;
bridge?: string | undefined;
childHook?: any;
} | {
type: import("../hook/types.js").HookType.MAILBOX_DEFAULT;
} | {
type: import("../hook/types.js").HookType.CCIP;
destinationChain: string;
} | import("../hook/types.js").DomainRoutingHookConfig | import("../hook/types.js").FallbackRoutingHookConfig | import("../hook/types.js").AmountRoutingHookConfig | import("../hook/types.js").AggregationHookConfig | undefined;
interchainSecurityModule?: string | ({
validators: string[];
threshold: number;
} & {
type: import("../ism/types.js").IsmType.MERKLE_ROOT_MULTISIG | import("../ism/types.js").IsmType.MESSAGE_ID_MULTISIG | import("../ism/types.js").IsmType.STORAGE_MERKLE_ROOT_MULTISIG | import("../ism/types.js").IsmType.STORAGE_MESSAGE_ID_MULTISIG;
}) | ({
validators: {
signingAddress: string;
weight: number;
}[];
thresholdWeight: number;
} & {
type: import("../ism/types.js").IsmType.WEIGHTED_MERKLE_ROOT_MULTISIG | import("../ism/types.js").IsmType.WEIGHTED_MESSAGE_ID_MULTISIG;
}) | {
type: import("../ism/types.js").IsmType.TEST_ISM;
} | ({
owner: string;
paused: boolean;
ownerOverrides?: Record<string, string> | undefined;
} & {
type: import("../ism/types.js").IsmType.PAUSABLE;
}) | {
type: import("../ism/types.js").IsmType.OP_STACK;
origin: string;
nativeBridge: string;
} | {
type: import("../ism/types.js").IsmType.TRUSTED_RELAYER;
relayer: string;
} | {
type: import("../ism/types.js").IsmType.CCIP;
originChain: string;
} | {
type: import("../ism/types.js").IsmType.ARB_L2_TO_L1;
bridge: string;
} | import("../ism/types.js").RoutingIsmConfig | import("../ism/types.js").AggregationIsmConfig | undefined;
}, {
owner: string;
mailbox: string;
ownerOverrides?: Record<string, string> | undefined;
hook?: string | {
type: import("../hook/types.js").HookType.MERKLE_TREE;
} | {
type: import("../hook/types.js").HookType.INTERCHAIN_GAS_PAYMASTER;
owner: string;
beneficiary: string;
oracleKey: string;
overhead: Record<string, number>;
oracleConfig: Record<string, {
gasPrice: string;
tokenExchangeRate: string;
tokenDecimals?: number | undefined;
}>;
ownerOverrides?: Record<string, string> | undefined;
} | {
type: import("../hook/types.js").HookType.PROTOCOL_FEE;
owner: string;
protocolFee: string;
beneficiary: string;
maxProtocolFee: string;
ownerOverrides?: Record<string, string> | undefined;
} | {
type: import("../hook/types.js").HookType.PAUSABLE;
owner: string;
paused: boolean;
ownerOverrides?: Record<string, string> | undefined;
} | {
type: import("../hook/types.js").HookType.OP_STACK;
owner: string;
nativeBridge: string;
destinationChain: string;
ownerOverrides?: Record<string, string> | undefined;
} | {
type: import("../hook/types.js").HookType.ARB_L2_TO_L1;
destinationChain: string;
arbSys: string;
bridge?: string | undefined;
childHook?: any;
} | {
type: import("../hook/types.js").HookType.MAILBOX_DEFAULT;
} | {
type: import("../hook/types.js").HookType.CCIP;
destinationChain: string;
} | import("../hook/types.js").DomainRoutingHookConfig | import("../hook/types.js").FallbackRoutingHookConfig | import("../hook/types.js").AmountRoutingHookConfig | import("../hook/types.js").AggregationHookConfig | undefined;
interchainSecurityModule?: string | ({
validators: string[];
threshold: number;
} & {
type: import("../ism/types.js").IsmType.MERKLE_ROOT_MULTISIG | import("../ism/types.js").IsmType.MESSAGE_ID_MULTISIG | import("../ism/types.js").IsmType.STORAGE_MERKLE_ROOT_MULTISIG | import("../ism/types.js").IsmType.STORAGE_MESSAGE_ID_MULTISIG;
}) | ({
validators: {
signingAddress: string;
weight: number;
}[];
thresholdWeight: number;
} & {
type: import("../ism/types.js").IsmType.WEIGHTED_MERKLE_ROOT_MULTISIG | import("../ism/types.js").IsmType.WEIGHTED_MESSAGE_ID_MULTISIG;
}) | {
type: import("../ism/types.js").IsmType.TEST_ISM;
} | ({
owner: string;
paused: boolean;
ownerOverrides?: Record<string, string> | undefined;
} & {
type: import("../ism/types.js").IsmType.PAUSABLE;
}) | {
type: import("../ism/types.js").IsmType.OP_STACK;
origin: string;
nativeBridge: string;
} | {
type: import("../ism/types.js").IsmType.TRUSTED_RELAYER;
relayer: string;
} | {
type: import("../ism/types.js").IsmType.CCIP;
originChain: string;
} | {
type: import("../ism/types.js").IsmType.ARB_L2_TO_L1;
bridge: string;
} | import("../ism/types.js").RoutingIsmConfig | import("../ism/types.js").AggregationIsmConfig | undefined;
}>;
export declare const ForeignDeploymentConfigSchema: z.ZodObject<{
foreignDeployment: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
foreignDeployment?: string | undefined;
}, {
foreignDeployment?: string | undefined;
}>;
export declare const RemoteRouterDomain: z.ZodString;
export declare const RemoteRouterRouter: z.ZodObject<{
address: z.ZodString;
}, "strip", z.ZodTypeAny, {
address: string;
}, {
address: string;
}>;
export declare const RemoteRoutersSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
address: z.ZodString;
}, "strip", z.ZodTypeAny, {
address: string;
}, {
address: string;
}>>;
export declare const RouterConfigSchema: z.ZodObject<{
owner: z.ZodString;
ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
mailbox: z.ZodString;
hook: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
owner: z.ZodString;
ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
type: z.ZodLiteral<import("../hook/types.js").HookType.PROTOCOL_FEE>;
beneficiary: z.ZodString;
maxProtocolFee: z.ZodString;
protocolFee: z.ZodString;
}, "strip", z.ZodTypeAny, {
type: import("../hook/types.js").HookType.PROTOCOL_FEE;
owner: string;
protocolFee: string;
beneficiary: string;
maxProtocolFee: string;
ownerOverrides?: Record<string, string> | undefined;
}, {
type: import("../hook/types.js").HookType.PROTOCOL_FEE;
owner: string;
protocolFee: string;
beneficiary: string;
maxProtocolFee: string;
ownerOverrides?: Record<string, string> | undefined;
}>, z.ZodObject<{
owner: z.ZodString;
ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
paused: z.ZodBoolean;
type: z.ZodLiteral<import("../hook/types.js").HookType.PAUSABLE>;
}, "strip", z.ZodTypeAny, {
type: import("../hook/types.js").HookType.PAUSABLE;
owner: string;
paused: boolean;
ownerOverrides?: Record<string, string> | undefined;
}, {
type: import("../hook/types.js").HookType.PAUSABLE;
owner: string;
paused: boolean;
ownerOverrides?: Record<string, string> | undefined;
}>, z.ZodObject<{
owner: z.ZodString;
ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
type: z.ZodLiteral<import("../hook/types.js").HookType.OP_STACK>;
nativeBridge: z.ZodString;
destinationChain: z.ZodString;
}, "strip", z.ZodTypeAny, {
type: import("../hook/types.js").HookType.OP_STACK;
owner: string;
nativeBridge: string;
destinationChain: string;
ownerOverrides?: Record<string, string> | undefined;
}, {
type: import("../hook/types.js").HookType.OP_STACK;
owner: string;
nativeBridge: string;
destinationChain: string;
ownerOverrides?: Record<string, string> | undefined;
}>, z.ZodObject<{
type: z.ZodLiteral<import("../hook/types.js").HookType.MERKLE_TREE>;
}, "strip", z.ZodTypeAny, {
type: import("../hook/types.js").HookType.MERKLE_TREE;
}, {
type: import("../hook/types.js").HookType.MERKLE_TREE;
}>, z.ZodObject<{
owner: z.ZodString;
ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
type: z.ZodLiteral<import("../hook/types.js").HookType.INTERCHAIN_GAS_PAYMASTER>;
beneficiary: z.ZodString;
oracleKey: z.ZodString;
overhead: z.ZodRecord<z.ZodString, z.ZodNumber>;
oracleConfig: z.ZodRecord<z.ZodString, z.ZodObject<{
gasPrice: z.ZodString;
tokenExchangeRate: z.ZodString;
tokenDecimals: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
gasPrice: string;
tokenExchangeRate: string;
tokenDecimals?: number | undefined;
}, {
gasPrice: string;
tokenExchangeRate: string;
tokenDecimals?: number | undefined;
}>>;
}, "strip", z.ZodTypeAny, {
type: import("../hook/types.js").HookType.INTERCHAIN_GAS_PAYMASTER;
owner: string;
beneficiary: string;
oracleKey: string;
overhead: Record<string, number>;
oracleConfig: Record<string, {
gasPrice: string;
tokenExchangeRate: string;
tokenDecimals?: number | undefined;
}>;
ownerOverrides?: Record<string, string> | undefined;
}, {
type: import("../hook/types.js").HookType.INTERCHAIN_GAS_PAYMASTER;
owner: string;
beneficiary: string;
oracleKey: string;
overhead: Record<string, number>;
oracleConfig: Record<string, {
gasPrice: string;
tokenExchangeRate: string;
tokenDecimals?: number | undefined;
}>;
ownerOverrides?: Record<string, string> | undefined;
}>, z.ZodType<import("../hook/types.js").DomainRoutingHookConfig, z.ZodTypeDef, import("../hook/types.js").DomainRoutingHookConfig>, z.ZodType<import("../hook/types.js").FallbackRoutingHookConfig, z.ZodTypeDef, import("../hook/types.js").FallbackRoutingHookConfig>, z.ZodType<import("../hook/types.js").AmountRoutingHookConfig, z.ZodTypeDef, import("../hook/types.js").AmountRoutingHookConfig>, z.ZodType<import("../hook/types.js").AggregationHookConfig, z.ZodTypeDef, import("../hook/types.js").AggregationHookConfig>, z.ZodObject<{
type: z.ZodLiteral<import("../hook/types.js").HookType.ARB_L2_TO_L1>;
arbSys: z.ZodString;
bridge: z.ZodOptional<z.ZodString>;
destinationChain: z.ZodString;
childHook: z.ZodLazy<z.ZodType<any, z.ZodTypeDef, any>>;
}, "strip", z.ZodTypeAny, {
type: import("../hook/types.js").HookType.ARB_L2_TO_L1;
destinationChain: string;
arbSys: string;
bridge?: string | undefined;
childHook?: any;
}, {
type: import("../hook/types.js").HookType.ARB_L2_TO_L1;
destinationChain: string;
arbSys: string;
bridge?: string | undefined;
childHook?: any;
}>, z.ZodObject<{
type: z.ZodLiteral<import("../hook/types.js").HookType.MAILBOX_DEFAULT>;
}, "strip", z.ZodTypeAny, {
type: import("../hook/types.js").HookType.MAILBOX_DEFAULT;
}, {
type: import("../hook/types.js").HookType.MAILBOX_DEFAULT;
}>, z.ZodObject<{
type: z.ZodLiteral<import("../hook/types.js").HookType.CCIP>;
destinationChain: z.ZodString;
}, "strip", z.ZodTypeAny, {
type: import("../hook/types.js").HookType.CCIP;
destinationChain: string;
}, {
type: import("../hook/types.js").HookType.CCIP;
destinationChain: string;
}>]>>;
interchainSecurityModule: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
type: z.ZodLiteral<import("../ism/types.js").IsmType.TEST_ISM>;
}, "strip", z.ZodTypeAny, {
type: import("../ism/types.js").IsmType.TEST_ISM;
}, {
type: import("../ism/types.js").IsmType.TEST_ISM;
}>, z.ZodObject<{
type: z.ZodLiteral<import("../ism/types.js").IsmType.OP_STACK>;
origin: z.ZodString;
nativeBridge: z.ZodString;
}, "strip", z.ZodTypeAny, {
type: import("../ism/types.js").IsmType.OP_STACK;
origin: string;
nativeBridge: string;
}, {
type: import("../ism/types.js").IsmType.OP_STACK;
origin: string;
nativeBridge: string;
}>, z.ZodIntersection<z.ZodObject<{
owner: z.ZodString;
ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
paused: z.ZodBoolean;
}, "strip", z.ZodTypeAny, {
owner: string;
paused: boolean;
ownerOverrides?: Record<string, string> | undefined;
}, {
owner: string;
paused: boolean;
ownerOverrides?: Record<string, string> | undefined;
}>, z.ZodObject<{
type: z.ZodLiteral<import("../ism/types.js").IsmType.PAUSABLE>;
}, "strip", z.ZodTypeAny, {
type: import("../ism/types.js").IsmType.PAUSABLE;
}, {
type: import("../ism/types.js").IsmType.PAUSABLE;
}>>, z.ZodObject<{
type: z.ZodLiteral<import("../ism/types.js").IsmType.TRUSTED_RELAYER>;
relayer: z.ZodString;
}, "strip", z.ZodTypeAny, {
type: import("../ism/types.js").IsmType.TRUSTED_RELAYER;
relayer: string;
}, {
type: import("../ism/types.js").IsmType.TRUSTED_RELAYER;
relayer: string;
}>, z.ZodObject<{
type: z.ZodLiteral<import("../ism/types.js").IsmType.CCIP>;
originChain: z.ZodString;
}, "strip", z.ZodTypeAny, {
type: import("../ism/types.js").IsmType.CCIP;
originChain: string;
}, {
type: import("../ism/types.js").IsmType.CCIP;
originChain: string;
}>, z.ZodIntersection<z.ZodObject<{
validators: z.ZodArray<z.ZodString, "many">;
threshold: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
validators: string[];
threshold: number;
}, {
validators: string[];
threshold: number;
}>, z.ZodObject<{
type: z.ZodUnion<[z.ZodLiteral<import("../ism/types.js").IsmType.MERKLE_ROOT_MULTISIG>, z.ZodLiteral<import("../ism/types.js").IsmType.MESSAGE_ID_MULTISIG>, z.ZodLiteral<import("../ism/types.js").IsmType.STORAGE_MERKLE_ROOT_MULTISIG>, z.ZodLiteral<import("../ism/types.js").IsmType.STORAGE_MESSAGE_ID_MULTISIG>]>;
}, "strip", z.ZodTypeAny, {
type: import("../ism/types.js").IsmType.MERKLE_ROOT_MULTISIG | import("../ism/types.js").IsmType.MESSAGE_ID_MULTISIG | import("../ism/types.js").IsmType.STORAGE_MERKLE_ROOT_MULTISIG | import("../ism/types.js").IsmType.STORAGE_MESSAGE_ID_MULTISIG;
}, {
type: import("../ism/types.js").IsmType.MERKLE_ROOT_MULTISIG | import("../ism/types.js").IsmType.MESSAGE_ID_MULTISIG | import("../ism/types.js").IsmType.STORAGE_MERKLE_ROOT_MULTISIG | import("../ism/types.js").IsmType.STORAGE_MESSAGE_ID_MULTISIG;
}>>, z.ZodIntersection<z.ZodObject<{
validators: z.ZodArray<z.ZodObject<{
signingAddress: z.ZodString;
weight: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
signingAddress: string;
weight: number;
}, {
signingAddress: string;
weight: number;
}>, "many">;
thresholdWeight: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
validators: {
signingAddress: string;
weight: number;
}[];
thresholdWeight: number;
}, {
validators: {
signingAddress: string;
weight: number;
}[];
thresholdWeight: number;
}>, z.ZodObject<{
type: z.ZodUnion<[z.ZodLiteral<import("../ism/types.js").IsmType.WEIGHTED_MERKLE_ROOT_MULTISIG>, z.ZodLiteral<import("../ism/types.js").IsmType.WEIGHTED_MESSAGE_ID_MULTISIG>]>;
}, "strip", z.ZodTypeAny, {
type: import("../ism/types.js").IsmType.WEIGHTED_MERKLE_ROOT_MULTISIG | import("../ism/types.js").IsmType.WEIGHTED_MESSAGE_ID_MULTISIG;
}, {
type: import("../ism/types.js").IsmType.WEIGHTED_MERKLE_ROOT_MULTISIG | import("../ism/types.js").IsmType.WEIGHTED_MESSAGE_ID_MULTISIG;
}>>, z.ZodType<import("../ism/types.js").RoutingIsmConfig, z.ZodTypeDef, import("../ism/types.js").RoutingIsmConfig>, z.ZodType<import("../ism/types.js").AggregationIsmConfig, z.ZodTypeDef, import("../ism/types.js").AggregationIsmConfig>, z.ZodObject<{
type: z.ZodLiteral<import("../ism/types.js").IsmType.ARB_L2_TO_L1>;
bridge: z.ZodString;
}, "strip", z.ZodTypeAny, {
type: import("../ism/types.js").IsmType.ARB_L2_TO_L1;
bridge: string;
}, {
type: import("../ism/types.js").IsmType.ARB_L2_TO_L1;
bridge: string;
}>]>>;
foreignDeployment: z.ZodOptional<z.ZodString>;
remoteRouters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
address: z.ZodString;
}, "strip", z.ZodTypeAny, {
address: string;
}, {
address: string;
}>>>;
proxyAdmin: z.ZodOptional<z.ZodObject<{
owner: z.ZodString;
ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
address: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
owner: string;
ownerOverrides?: Record<string, string> | undefined;
address?: string | undefined;
}, {
owner: string;
ownerOverrides?: Record<string, string> | undefined;
address?: string | undefined;
}>>;
}, "strip", z.ZodTypeAny, {
owner: string;
mailbox: string;
ownerOverrides?: Record<string, string> | undefined;
hook?: string | {
type: import("../hook/types.js").HookType.MERKLE_TREE;
} | {
type: import("../hook/types.js").HookType.INTERCHAIN_GAS_PAYMASTER;
owner: string;
beneficiary: string;
oracleKey: string;
overhead: Record<string, number>;
oracleConfig: Record<string, {
gasPrice: string;
tokenExchangeRate: string;
tokenDecimals?: number | undefined;
}>;
ownerOverrides?: Record<string, string> | undefined;
} | {
type: import("../hook/types.js").HookType.PROTOCOL_FEE;
owner: string;
protocolFee: string;
beneficiary: string;
maxProtocolFee: string;
ownerOverrides?: Record<string, string> | undefined;
} | {
type: import("../hook/types.js").HookType.PAUSABLE;
owner: string;
paused: boolean;
ownerOverrides?: Record<string, string> | undefined;
} | {
type: import("../hook/types.js").HookType.OP_STACK;
owner: string;
nativeBridge: string;
destinationChain: string;
ownerOverrides?: Record<string, string> | undefined;
} | {
type: import("../hook/types.js").HookType.ARB_L2_TO_L1;
destinationChain: string;
arbSys: string;
bridge?: string | undefined;
childHook?: any;
} | {
type: import("../hook/types.js").HookType.MAILBOX_DEFAULT;
} | {
type: import("../hook/types.js").HookType.CCIP;
destinationChain: string;
} | import("../hook/types.js").DomainRoutingHookConfig | import("../hook/types.js").FallbackRoutingHookConfig | import("../hook/types.js").AmountRoutingHookConfig | import("../hook/types.js").AggregationHookConfig | undefined;
interchainSecurityModule?: string | ({
validators: string[];
threshold: number;
} & {
type: import("../ism/types.js").IsmType.MERKLE_ROOT_MULTISIG | import("../ism/types.js").IsmType.MESSAGE_ID_MULTISIG | import("../ism/types.js").IsmType.STORAGE_MERKLE_ROOT_MULTISIG | import("../ism/types.js").IsmType.STORAGE_MESSAGE_ID_MULTISIG;
}) | ({
validators: {
signingAddress: string;
weight: number;
}[];
thresholdWeight: number;
} & {
type: import("../ism/types.js").IsmType.WEIGHTED_MERKLE_ROOT_MULTISIG | import("../ism/types.js").IsmType.WEIGHTED_MESSAGE_ID_MULTISIG;
}) | {
type: import("../ism/types.js").IsmType.TEST_ISM;
} | ({
owner: string;
paused: boolean;
ownerOverrides?: Record<string, string> | undefined;
} & {
type: import("../ism/types.js").IsmType.PAUSABLE;
}) | {
type: import("../ism/types.js").IsmType.OP_STACK;
origin: string;
nativeBridge: string;
} | {
type: import("../ism/types.js").IsmType.TRUSTED_RELAYER;
relayer: string;
} | {
type: import("../ism/types.js").IsmType.CCIP;
originChain: string;
} | {
type: import("../ism/types.js").IsmType.ARB_L2_TO_L1;
bridge: string;
} | import("../ism/types.js").RoutingIsmConfig | import("../ism/types.js").AggregationIsmConfig | undefined;
foreignDeployment?: string | undefined;
remoteRouters?: Record<string, {
address: string;
}> | undefined;
proxyAdmin?: {
owner: string;
ownerOverrides?: Record<string, string> | undefined;
address?: string | undefined;
} | undefined;
}, {
owner: string;
mailbox: string;
ownerOverrides?: Record<string, string> | undefined;
hook?: string | {
type: import("../hook/types.js").HookType.MERKLE_TREE;
} | {
type: import("../hook/types.js").HookType.INTERCHAIN_GAS_PAYMASTER;
owner: string;
beneficiary: string;
oracleKey: string;
overhead: Record<string, number>;
oracleConfig: Record<string, {
gasPrice: string;
tokenExchangeRate: string;
tokenDecimals?: number | undefined;
}>;
ownerOverrides?: Record<string, string> | undefined;
} | {
type: import("../hook/types.js").HookType.PROTOCOL_FEE;
owner: string;
protocolFee: string;
beneficiary: string;
maxProtocolFee: string;
ownerOverrides?: Record<string, string> | undefined;
} | {
type: import("../hook/types.js").HookType.PAUSABLE;
owner: string;
paused: boolean;
ownerOverrides?: Record<string, string> | undefined;
} | {
type: import("../hook/types.js").HookType.OP_STACK;
owner: string;
nativeBridge: string;
destinationChain: string;
ownerOverrides?: Record<string, string> | undefined;
} | {
type: import("../hook/types.js").HookType.ARB_L2_TO_L1;
destinationChain: string;
arbSys: string;
bridge?: string | undefined;
childHook?: any;
} | {
type: import("../hook/types.js").HookType.MAILBOX_DEFAULT;
} | {
type: import("../hook/types.js").HookType.CCIP;
destinationChain: string;
} | import("../hook/types.js").DomainRoutingHookConfig | import("../hook/types.js").FallbackRoutingHookConfig | import("../hook/types.js").AmountRoutingHookConfig | import("../hook/types.js").AggregationHookConfig | undefined;
interchainSecurityModule?: string | ({
validators: string[];
threshold: number;
} & {
type: import("../ism/types.js").IsmType.MERKLE_ROOT_MULTISIG | import("../ism/types.js").IsmType.MESSAGE_ID_MULTISIG | import("../ism/types.js").IsmType.STORAGE_MERKLE_ROOT_MULTISIG | import("../ism/types.js").IsmType.STORAGE_MESSAGE_ID_MULTISIG;
}) | ({
validators: {
signingAddress: string;
weight: number;
}[];
thresholdWeight: number;
} & {
type: import("../ism/types.js").IsmType.WEIGHTED_MERKLE_ROOT_MULTISIG | import("../ism/types.js").IsmType.WEIGHTED_MESSAGE_ID_MULTISIG;
}) | {
type: import("../ism/types.js").IsmType.TEST_ISM;
} | ({
owner: string;
paused: boolean;
ownerOverrides?: Record<string, string> | undefined;
} & {
type: import("../ism/types.js").IsmType.PAUSABLE;
}) | {
type: import("../ism/types.js").IsmType.OP_STACK;
origin: string;
nativeBridge: string;
} | {
type: import("../ism/types.js").IsmType.TRUSTED_RELAYER;
relayer: string;
} | {
type: import("../ism/types.js").IsmType.CCIP;
originChain: string;
} | {
type: import("../ism/types.js").IsmType.ARB_L2_TO_L1;
bridge: string;
} | import("../ism/types.js").RoutingIsmConfig | import("../ism/types.js").AggregationIsmConfig | undefined;
foreignDeployment?: string | undefined;
remoteRouters?: Record<string, {
address: string;
}> | undefined;
proxyAdmin?: {
owner: string;
ownerOverrides?: Record<string, string> | undefined;
address?: string | undefined;
} | undefined;
}>;
export declare const DestinationGasSchema: z.ZodRecord<z.ZodString, z.ZodString>;
export declare const GasRouterConfigSchema: z.ZodObject<{
owner: z.ZodString;
ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
mailbox: z.ZodString;
proxyAdmin: z.ZodOptional<z.ZodObject<{
owner: z.ZodString;
ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
address: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
owner: string;
ownerOverrides?: Record<string, string> | undefined;
address?: string | undefined;
}, {
owner: string;
ownerOverrides?: Record<string, string> | undefined;
address?: string | undefined;
}>>;
hook: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
owner: z.ZodString;
ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
type: z.ZodLiteral<import("../hook/types.js").HookType.PROTOCOL_FEE>;
beneficiary: z.ZodString;
maxProtocolFee: z.ZodString;
protocolFee: z.ZodString;
}, "strip", z.ZodTypeAny, {
type: import("../hook/types.js").HookType.PROTOCOL_FEE;
owner: string;
protocolFee: string;
beneficiary: string;
maxProtocolFee: string;
ownerOverrides?: Record<string, string> | undefined;
}, {
type: import("../hook/types.js").HookType.PROTOCOL_FEE;
owner: string;
protocolFee: string;
beneficiary: string;
maxProtocolFee: string;
ownerOverrides?: Record<string, string> | undefined;
}>, z.ZodObject<{
owner: z.ZodString;
ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
paused: z.ZodBoolean;
type: z.ZodLiteral<import("../hook/types.js").HookType.PAUSABLE>;
}, "strip", z.ZodTypeAny, {
type: import("../hook/types.js").HookType.PAUSABLE;
owner: string;
paused: boolean;
ownerOverrides?: Record<string, string> | undefined;
}, {
type: import("../hook/types.js").HookType.PAUSABLE;
owner: string;
paused: boolean;
ownerOverrides?: Record<string, string> | undefined;
}>, z.ZodObject<{
owner: z.ZodString;
ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
type: z.ZodLiteral<import("../hook/types.js").HookType.OP_STACK>;
nativeBridge: z.ZodString;
destinationChain: z.ZodString;
}, "strip", z.ZodTypeAny, {
type: import("../hook/types.js").HookType.OP_STACK;
owner: string;
nativeBridge: string;
destinationChain: string;
ownerOverrides?: Record<string, string> | undefined;
}, {
type: import("../hook/types.js").HookType.OP_STACK;
owner: string;
nativeBridge: string;
destinationChain: string;
ownerOverrides?: Record<string, string> | undefined;
}>, z.ZodObject<{
type: z.ZodLiteral<import("../hook/types.js").HookType.MERKLE_TREE>;
}, "strip", z.ZodTypeAny, {
type: import("../hook/types.js").HookType.MERKLE_TREE;
}, {
type: import("../hook/types.js").HookType.MERKLE_TREE;
}>, z.ZodObject<{
owner: z.ZodString;
ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
type: z.ZodLiteral<import("../hook/types.js").HookType.INTERCHAIN_GAS_PAYMASTER>;
beneficiary: z.ZodString;
oracleKey: z.ZodString;
overhead: z.ZodRecord<z.ZodString, z.ZodNumber>;
oracleConfig: z.ZodRecord<z.ZodString, z.ZodObject<{
gasPrice: z.ZodString;
tokenExchangeRate: z.ZodString;
tokenDecimals: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
gasPrice: string;
tokenExchangeRate: string;
tokenDecimals?: number | undefined;
}, {
gasPrice: string;
tokenExchangeRate: string;
tokenDecimals?: number | undefined;
}>>;
}, "strip", z.ZodTypeAny, {
type: import("../hook/types.js").HookType.INTERCHAIN_GAS_PAYMASTER;
owner: string;
beneficiary: string;
oracleKey: string;
overhead: Record<string, number>;
oracleConfig: Record<string, {
gasPrice: string;
tokenExchangeRate: string;
tokenDecimals?: number | undefined;
}>;
ownerOverrides?: Record<string, string> | undefined;
}, {
type: import("../hook/types.js").HookType.INTERCHAIN_GAS_PAYMASTER;
owner: string;
beneficiary: string;
oracleKey: string;
overhead: Record<string, number>;
oracleConfig: Record<string, {
gasPrice: string;
tokenExchangeRate: string;
tokenDecimals?: number | undefined;
}>;
ownerOverrides?: Record<string, string> | undefined;
}>, z.ZodType<import("../hook/types.js").DomainRoutingHookConfig, z.ZodTypeDef, import("../hook/types.js").DomainRoutingHookConfig>, z.ZodType<import("../hook/types.js").FallbackRoutingHookConfig, z.ZodTypeDef, import("../hook/types.js").FallbackRoutingHookConfig>, z.ZodType<import("../hook/types.js").AmountRoutingHookConfig, z.ZodTypeDef, import("../hook/types.js").AmountRoutingHookConfig>, z.ZodType<import("../hook/types.js").AggregationHookConfig, z.ZodTypeDef, import("../hook/types.js").AggregationHookConfig>, z.ZodObject<{
type: z.ZodLiteral<import("../hook/types.js").HookType.ARB_L2_TO_L1>;
arbSys: z.ZodString;
bridge: z.ZodOptional<z.ZodString>;
destinationChain: z.ZodString;
childHook: z.ZodLazy<z.ZodType<any, z.ZodTypeDef, any>>;
}, "strip", z.ZodTypeAny, {
type: import("../hook/types.js").HookType.ARB_L2_TO_L1;
destinationChain: string;
arbSys: string;
bridge?: string | undefined;
childHook?: any;
}, {
type: import("../hook/types.js").HookType.ARB_L2_TO_L1;
destinationChain: string;
arbSys: string;
bridge?: string | undefined;
childHook?: any;
}>, z.ZodObject<{
type: z.ZodLiteral<import("../hook/types.js").HookType.MAILBOX_DEFAULT>;
}, "strip", z.ZodTypeAny, {
type: import("../hook/types.js").HookType.MAILBOX_DEFAULT;
}, {
type: import("../hook/types.js").HookType.MAILBOX_DEFAULT;
}>, z.ZodObject<{
type: z.ZodLiteral<import("../hook/types.js").HookType.CCIP>;
destinationChain: z.ZodString;
}, "strip", z.ZodTypeAny, {
type: import("../hook/types.js").HookType.CCIP;
destinationChain: string;
}, {
type: import("../hook/types.js").HookType.CCIP;
destinationChain: string;
}>]>>;
interchainSecurityModule: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
type: z.ZodLiteral<import("../ism/types.js").IsmType.TEST_ISM>;
}, "strip", z.ZodTypeAny, {
type: import("../ism/types.js").IsmType.TEST_ISM;
}, {
type: import("../ism/types.js").IsmType.TEST_ISM;
}>, z.ZodObject<{
type: z.ZodLiteral<import("../ism/types.js").IsmType.OP_STACK>;
origin: z.ZodString;
nativeBridge: z.ZodString;
}, "strip", z.ZodTypeAny, {
type: import("../ism/types.js").IsmType.OP_STACK;
origin: string;
nativeBridge: string;
}, {
type: import("../ism/types.js").IsmType.OP_STACK;
origin: string;
nativeBridge: string;
}>, z.ZodIntersection<z.ZodObject<{
owner: z.ZodString;
ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
paused: z.ZodBoolean;
}, "strip", z.ZodTypeAny, {
owner: string;
paused: boolean;
ownerOverrides?: Record<string, string> | undefined;
}, {
owner: string;
paused: boolean;
ownerOverrides?: Record<string, string> | undefined;
}>, z.ZodObject<{
type: z.ZodLiteral<import("../ism/types.js").IsmType.PAUSABLE>;
}, "strip", z.ZodTypeAny, {
type: import("../ism/types.js").IsmType.PAUSABLE;
}, {
type: import("../ism/types.js").IsmType.PAUSABLE;
}>>, z.ZodObject<{
type: z.ZodLiteral<import("../ism/types.js").IsmType.TRUSTED_RELAYER>;
relayer: z.ZodString;
}, "strip", z.ZodTypeAny, {
type: import("../ism/types.js").IsmType.TRUSTED_RELAYER;
relayer: string;
}, {
type: import("../ism/types.js").IsmType.TRUSTED_RELAYER;
relayer: string;
}>, z.ZodObject<{
type: z.ZodLiteral<import("../ism/types.js").IsmType.CCIP>;
originChain: z.ZodString;
}, "strip", z.ZodTypeAny, {
type: import("../ism/types.js").IsmType.CCIP;
originChain: string;
}, {
type: import("../ism/types.js").IsmType.CCIP;
originChain: string;
}>, z.ZodIntersection<z.ZodObject<{
validators: z.ZodArray<z.ZodString, "many">;
threshold: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
validators: string[];
threshold: number;
}, {
validators: string[];
threshold: number;
}>, z.ZodObject<{
type: z.ZodUnion<[z.ZodLiteral<import("../ism/types.js").IsmType.MERKLE_ROOT_MULTISIG>, z.ZodLiteral<import("../ism/types.js").IsmType.MESSAGE_ID_MULTISIG>, z.ZodLiteral<import("../ism/types.js").IsmType.STORAGE_MERKLE_ROOT_MULTISIG>, z.ZodLiteral<import("../ism/