UNPKG

cosmic-local-interchain

Version:

A command-line utility for Cosmic Interchain Messenger Local Networks

1,344 lines 202 kB
import { z } from 'zod'; import { ChainMap, HookConfig, HookType } from '@hyperlane-xyz/sdk'; import { Address } from '@hyperlane-xyz/utils'; import { CommandContext } from '../context/types.js'; declare const HooksConfigSchema: z.ZodObject<{ default: z.ZodUnion<[z.ZodString, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; type: z.ZodLiteral<HookType.PROTOCOL_FEE>; beneficiary: z.ZodString; maxProtocolFee: z.ZodString; protocolFee: z.ZodString; }, "strip", z.ZodTypeAny, { type: HookType.PROTOCOL_FEE; owner: string; beneficiary: string; maxProtocolFee: string; protocolFee: string; ownerOverrides?: Record<string, string> | undefined; }, { type: HookType.PROTOCOL_FEE; owner: string; beneficiary: string; maxProtocolFee: string; protocolFee: 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<HookType.PAUSABLE>; }, "strip", z.ZodTypeAny, { type: HookType.PAUSABLE; owner: string; paused: boolean; ownerOverrides?: Record<string, string> | undefined; }, { type: 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<HookType.OP_STACK>; nativeBridge: z.ZodString; destinationChain: z.ZodString; }, "strip", z.ZodTypeAny, { type: HookType.OP_STACK; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record<string, string> | undefined; }, { type: HookType.OP_STACK; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record<string, string> | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<HookType.MERKLE_TREE>; }, "strip", z.ZodTypeAny, { type: HookType.MERKLE_TREE; }, { type: HookType.MERKLE_TREE; }>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; type: z.ZodLiteral<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; }, "strip", z.ZodTypeAny, { gasPrice: string; tokenExchangeRate: string; }, { gasPrice: string; tokenExchangeRate: string; }>>; }, "strip", z.ZodTypeAny, { type: HookType.INTERCHAIN_GAS_PAYMASTER; owner: string; beneficiary: string; oracleKey: string; overhead: Record<string, number>; oracleConfig: Record<string, { gasPrice: string; tokenExchangeRate: string; }>; ownerOverrides?: Record<string, string> | undefined; }, { type: HookType.INTERCHAIN_GAS_PAYMASTER; owner: string; beneficiary: string; oracleKey: string; overhead: Record<string, number>; oracleConfig: Record<string, { gasPrice: string; tokenExchangeRate: string; }>; ownerOverrides?: Record<string, string> | undefined; }>, z.ZodType<import("@hyperlane-xyz/sdk").DomainRoutingHookConfig, z.ZodTypeDef, import("@hyperlane-xyz/sdk").DomainRoutingHookConfig>, z.ZodType<import("@hyperlane-xyz/sdk").FallbackRoutingHookConfig, z.ZodTypeDef, import("@hyperlane-xyz/sdk").FallbackRoutingHookConfig>, z.ZodType<import("@hyperlane-xyz/sdk").AggregationHookConfig, z.ZodTypeDef, import("@hyperlane-xyz/sdk").AggregationHookConfig>, z.ZodObject<{ type: z.ZodLiteral<HookType.ARB_L2_TO_L1>; arbSys: z.ZodString; bridge: z.ZodOptional<z.ZodString>; destinationChain: z.ZodString; }, "strip", z.ZodTypeAny, { type: HookType.ARB_L2_TO_L1; destinationChain: string; arbSys: string; bridge?: string | undefined; }, { type: HookType.ARB_L2_TO_L1; destinationChain: string; arbSys: string; bridge?: string | undefined; }>]>; required: z.ZodUnion<[z.ZodString, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; type: z.ZodLiteral<HookType.PROTOCOL_FEE>; beneficiary: z.ZodString; maxProtocolFee: z.ZodString; protocolFee: z.ZodString; }, "strip", z.ZodTypeAny, { type: HookType.PROTOCOL_FEE; owner: string; beneficiary: string; maxProtocolFee: string; protocolFee: string; ownerOverrides?: Record<string, string> | undefined; }, { type: HookType.PROTOCOL_FEE; owner: string; beneficiary: string; maxProtocolFee: string; protocolFee: 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<HookType.PAUSABLE>; }, "strip", z.ZodTypeAny, { type: HookType.PAUSABLE; owner: string; paused: boolean; ownerOverrides?: Record<string, string> | undefined; }, { type: 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<HookType.OP_STACK>; nativeBridge: z.ZodString; destinationChain: z.ZodString; }, "strip", z.ZodTypeAny, { type: HookType.OP_STACK; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record<string, string> | undefined; }, { type: HookType.OP_STACK; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record<string, string> | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<HookType.MERKLE_TREE>; }, "strip", z.ZodTypeAny, { type: HookType.MERKLE_TREE; }, { type: HookType.MERKLE_TREE; }>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; type: z.ZodLiteral<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; }, "strip", z.ZodTypeAny, { gasPrice: string; tokenExchangeRate: string; }, { gasPrice: string; tokenExchangeRate: string; }>>; }, "strip", z.ZodTypeAny, { type: HookType.INTERCHAIN_GAS_PAYMASTER; owner: string; beneficiary: string; oracleKey: string; overhead: Record<string, number>; oracleConfig: Record<string, { gasPrice: string; tokenExchangeRate: string; }>; ownerOverrides?: Record<string, string> | undefined; }, { type: HookType.INTERCHAIN_GAS_PAYMASTER; owner: string; beneficiary: string; oracleKey: string; overhead: Record<string, number>; oracleConfig: Record<string, { gasPrice: string; tokenExchangeRate: string; }>; ownerOverrides?: Record<string, string> | undefined; }>, z.ZodType<import("@hyperlane-xyz/sdk").DomainRoutingHookConfig, z.ZodTypeDef, import("@hyperlane-xyz/sdk").DomainRoutingHookConfig>, z.ZodType<import("@hyperlane-xyz/sdk").FallbackRoutingHookConfig, z.ZodTypeDef, import("@hyperlane-xyz/sdk").FallbackRoutingHookConfig>, z.ZodType<import("@hyperlane-xyz/sdk").AggregationHookConfig, z.ZodTypeDef, import("@hyperlane-xyz/sdk").AggregationHookConfig>, z.ZodObject<{ type: z.ZodLiteral<HookType.ARB_L2_TO_L1>; arbSys: z.ZodString; bridge: z.ZodOptional<z.ZodString>; destinationChain: z.ZodString; }, "strip", z.ZodTypeAny, { type: HookType.ARB_L2_TO_L1; destinationChain: string; arbSys: string; bridge?: string | undefined; }, { type: HookType.ARB_L2_TO_L1; destinationChain: string; arbSys: string; bridge?: string | undefined; }>]>; }, "strip", z.ZodTypeAny, { default: string | { type: HookType.PROTOCOL_FEE; owner: string; beneficiary: string; maxProtocolFee: string; protocolFee: string; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.PAUSABLE; owner: string; paused: boolean; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.OP_STACK; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.MERKLE_TREE; } | { type: HookType.INTERCHAIN_GAS_PAYMASTER; owner: string; beneficiary: string; oracleKey: string; overhead: Record<string, number>; oracleConfig: Record<string, { gasPrice: string; tokenExchangeRate: string; }>; ownerOverrides?: Record<string, string> | undefined; } | import("@hyperlane-xyz/sdk").AggregationHookConfig | { type: HookType.ARB_L2_TO_L1; destinationChain: string; arbSys: string; bridge?: string | undefined; } | (string & { type: HookType.PROTOCOL_FEE; owner: string; beneficiary: string; maxProtocolFee: string; protocolFee: string; ownerOverrides?: Record<string, string> | undefined; }) | (string & { type: HookType.PAUSABLE; owner: string; paused: boolean; ownerOverrides?: Record<string, string> | undefined; }) | (string & { type: HookType.OP_STACK; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record<string, string> | undefined; }) | (string & { type: HookType.MERKLE_TREE; }) | (string & { type: HookType.INTERCHAIN_GAS_PAYMASTER; owner: string; beneficiary: string; oracleKey: string; overhead: Record<string, number>; oracleConfig: Record<string, { gasPrice: string; tokenExchangeRate: string; }>; ownerOverrides?: Record<string, string> | undefined; }) | (string & { owner: string; ownerOverrides?: Record<string, string> | undefined; } & { domains: ChainMap<string | { type: HookType.PROTOCOL_FEE; owner: string; beneficiary: string; maxProtocolFee: string; protocolFee: string; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.PAUSABLE; owner: string; paused: boolean; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.OP_STACK; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.MERKLE_TREE; } | { type: HookType.INTERCHAIN_GAS_PAYMASTER; owner: string; beneficiary: string; oracleKey: string; overhead: Record<string, number>; oracleConfig: Record<string, { gasPrice: string; tokenExchangeRate: string; }>; ownerOverrides?: Record<string, string> | undefined; } | import("@hyperlane-xyz/sdk").DomainRoutingHookConfig | import("@hyperlane-xyz/sdk").FallbackRoutingHookConfig | import("@hyperlane-xyz/sdk").AggregationHookConfig | { type: HookType.ARB_L2_TO_L1; destinationChain: string; arbSys: string; bridge?: string | undefined; }>; } & { type: HookType.ROUTING; }) | (string & { owner: string; ownerOverrides?: Record<string, string> | undefined; } & { domains: ChainMap<string | { type: HookType.PROTOCOL_FEE; owner: string; beneficiary: string; maxProtocolFee: string; protocolFee: string; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.PAUSABLE; owner: string; paused: boolean; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.OP_STACK; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.MERKLE_TREE; } | { type: HookType.INTERCHAIN_GAS_PAYMASTER; owner: string; beneficiary: string; oracleKey: string; overhead: Record<string, number>; oracleConfig: Record<string, { gasPrice: string; tokenExchangeRate: string; }>; ownerOverrides?: Record<string, string> | undefined; } | import("@hyperlane-xyz/sdk").DomainRoutingHookConfig | import("@hyperlane-xyz/sdk").FallbackRoutingHookConfig | import("@hyperlane-xyz/sdk").AggregationHookConfig | { type: HookType.ARB_L2_TO_L1; destinationChain: string; arbSys: string; bridge?: string | undefined; }>; } & { type: HookType.FALLBACK_ROUTING; fallback: string | { type: HookType.PROTOCOL_FEE; owner: string; beneficiary: string; maxProtocolFee: string; protocolFee: string; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.PAUSABLE; owner: string; paused: boolean; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.OP_STACK; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.MERKLE_TREE; } | { type: HookType.INTERCHAIN_GAS_PAYMASTER; owner: string; beneficiary: string; oracleKey: string; overhead: Record<string, number>; oracleConfig: Record<string, { gasPrice: string; tokenExchangeRate: string; }>; ownerOverrides?: Record<string, string> | undefined; } | import("@hyperlane-xyz/sdk").DomainRoutingHookConfig | import("@hyperlane-xyz/sdk").FallbackRoutingHookConfig | import("@hyperlane-xyz/sdk").AggregationHookConfig | { type: HookType.ARB_L2_TO_L1; destinationChain: string; arbSys: string; bridge?: string | undefined; }; }) | (string & import("@hyperlane-xyz/sdk").AggregationHookConfig) | (string & { type: HookType.ARB_L2_TO_L1; destinationChain: string; arbSys: string; bridge?: string | undefined; }) | ({ type: HookType.PROTOCOL_FEE; owner: string; beneficiary: string; maxProtocolFee: string; protocolFee: string; ownerOverrides?: Record<string, string> | undefined; } & string) | ({ type: HookType.PAUSABLE; owner: string; paused: boolean; ownerOverrides?: Record<string, string> | undefined; } & string) | ({ type: HookType.OP_STACK; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record<string, string> | undefined; } & string) | ({ type: HookType.MERKLE_TREE; } & string) | ({ type: HookType.INTERCHAIN_GAS_PAYMASTER; owner: string; beneficiary: string; oracleKey: string; overhead: Record<string, number>; oracleConfig: Record<string, { gasPrice: string; tokenExchangeRate: string; }>; ownerOverrides?: Record<string, string> | undefined; } & string) | ({ owner: string; ownerOverrides?: Record<string, string> | undefined; } & { domains: ChainMap<string | { type: HookType.PROTOCOL_FEE; owner: string; beneficiary: string; maxProtocolFee: string; protocolFee: string; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.PAUSABLE; owner: string; paused: boolean; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.OP_STACK; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.MERKLE_TREE; } | { type: HookType.INTERCHAIN_GAS_PAYMASTER; owner: string; beneficiary: string; oracleKey: string; overhead: Record<string, number>; oracleConfig: Record<string, { gasPrice: string; tokenExchangeRate: string; }>; ownerOverrides?: Record<string, string> | undefined; } | import("@hyperlane-xyz/sdk").DomainRoutingHookConfig | import("@hyperlane-xyz/sdk").FallbackRoutingHookConfig | import("@hyperlane-xyz/sdk").AggregationHookConfig | { type: HookType.ARB_L2_TO_L1; destinationChain: string; arbSys: string; bridge?: string | undefined; }>; } & { type: HookType.ROUTING; } & string) | ({ owner: string; ownerOverrides?: Record<string, string> | undefined; } & { domains: ChainMap<string | { type: HookType.PROTOCOL_FEE; owner: string; beneficiary: string; maxProtocolFee: string; protocolFee: string; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.PAUSABLE; owner: string; paused: boolean; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.OP_STACK; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.MERKLE_TREE; } | { type: HookType.INTERCHAIN_GAS_PAYMASTER; owner: string; beneficiary: string; oracleKey: string; overhead: Record<string, number>; oracleConfig: Record<string, { gasPrice: string; tokenExchangeRate: string; }>; ownerOverrides?: Record<string, string> | undefined; } | import("@hyperlane-xyz/sdk").DomainRoutingHookConfig | import("@hyperlane-xyz/sdk").FallbackRoutingHookConfig | import("@hyperlane-xyz/sdk").AggregationHookConfig | { type: HookType.ARB_L2_TO_L1; destinationChain: string; arbSys: string; bridge?: string | undefined; }>; } & { type: HookType.ROUTING; }) | ({ owner: string; ownerOverrides?: Record<string, string> | undefined; } & { domains: ChainMap<string | { type: HookType.PROTOCOL_FEE; owner: string; beneficiary: string; maxProtocolFee: string; protocolFee: string; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.PAUSABLE; owner: string; paused: boolean; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.OP_STACK; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.MERKLE_TREE; } | { type: HookType.INTERCHAIN_GAS_PAYMASTER; owner: string; beneficiary: string; oracleKey: string; overhead: Record<string, number>; oracleConfig: Record<string, { gasPrice: string; tokenExchangeRate: string; }>; ownerOverrides?: Record<string, string> | undefined; } | import("@hyperlane-xyz/sdk").DomainRoutingHookConfig | import("@hyperlane-xyz/sdk").FallbackRoutingHookConfig | import("@hyperlane-xyz/sdk").AggregationHookConfig | { type: HookType.ARB_L2_TO_L1; destinationChain: string; arbSys: string; bridge?: string | undefined; }>; } & { type: HookType.FALLBACK_ROUTING; fallback: string | { type: HookType.PROTOCOL_FEE; owner: string; beneficiary: string; maxProtocolFee: string; protocolFee: string; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.PAUSABLE; owner: string; paused: boolean; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.OP_STACK; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.MERKLE_TREE; } | { type: HookType.INTERCHAIN_GAS_PAYMASTER; owner: string; beneficiary: string; oracleKey: string; overhead: Record<string, number>; oracleConfig: Record<string, { gasPrice: string; tokenExchangeRate: string; }>; ownerOverrides?: Record<string, string> | undefined; } | import("@hyperlane-xyz/sdk").DomainRoutingHookConfig | import("@hyperlane-xyz/sdk").FallbackRoutingHookConfig | import("@hyperlane-xyz/sdk").AggregationHookConfig | { type: HookType.ARB_L2_TO_L1; destinationChain: string; arbSys: string; bridge?: string | undefined; }; } & string) | ({ owner: string; ownerOverrides?: Record<string, string> | undefined; } & { domains: ChainMap<string | { type: HookType.PROTOCOL_FEE; owner: string; beneficiary: string; maxProtocolFee: string; protocolFee: string; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.PAUSABLE; owner: string; paused: boolean; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.OP_STACK; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.MERKLE_TREE; } | { type: HookType.INTERCHAIN_GAS_PAYMASTER; owner: string; beneficiary: string; oracleKey: string; overhead: Record<string, number>; oracleConfig: Record<string, { gasPrice: string; tokenExchangeRate: string; }>; ownerOverrides?: Record<string, string> | undefined; } | import("@hyperlane-xyz/sdk").DomainRoutingHookConfig | import("@hyperlane-xyz/sdk").FallbackRoutingHookConfig | import("@hyperlane-xyz/sdk").AggregationHookConfig | { type: HookType.ARB_L2_TO_L1; destinationChain: string; arbSys: string; bridge?: string | undefined; }>; } & { type: HookType.FALLBACK_ROUTING; fallback: string | { type: HookType.PROTOCOL_FEE; owner: string; beneficiary: string; maxProtocolFee: string; protocolFee: string; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.PAUSABLE; owner: string; paused: boolean; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.OP_STACK; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.MERKLE_TREE; } | { type: HookType.INTERCHAIN_GAS_PAYMASTER; owner: string; beneficiary: string; oracleKey: string; overhead: Record<string, number>; oracleConfig: Record<string, { gasPrice: string; tokenExchangeRate: string; }>; ownerOverrides?: Record<string, string> | undefined; } | import("@hyperlane-xyz/sdk").DomainRoutingHookConfig | import("@hyperlane-xyz/sdk").FallbackRoutingHookConfig | import("@hyperlane-xyz/sdk").AggregationHookConfig | { type: HookType.ARB_L2_TO_L1; destinationChain: string; arbSys: string; bridge?: string | undefined; }; }) | (import("@hyperlane-xyz/sdk").AggregationHookConfig & string) | ({ type: HookType.ARB_L2_TO_L1; destinationChain: string; arbSys: string; bridge?: string | undefined; } & string); required: string | { type: HookType.PROTOCOL_FEE; owner: string; beneficiary: string; maxProtocolFee: string; protocolFee: string; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.PAUSABLE; owner: string; paused: boolean; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.OP_STACK; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.MERKLE_TREE; } | { type: HookType.INTERCHAIN_GAS_PAYMASTER; owner: string; beneficiary: string; oracleKey: string; overhead: Record<string, number>; oracleConfig: Record<string, { gasPrice: string; tokenExchangeRate: string; }>; ownerOverrides?: Record<string, string> | undefined; } | import("@hyperlane-xyz/sdk").AggregationHookConfig | { type: HookType.ARB_L2_TO_L1; destinationChain: string; arbSys: string; bridge?: string | undefined; } | (string & { type: HookType.PROTOCOL_FEE; owner: string; beneficiary: string; maxProtocolFee: string; protocolFee: string; ownerOverrides?: Record<string, string> | undefined; }) | (string & { type: HookType.PAUSABLE; owner: string; paused: boolean; ownerOverrides?: Record<string, string> | undefined; }) | (string & { type: HookType.OP_STACK; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record<string, string> | undefined; }) | (string & { type: HookType.MERKLE_TREE; }) | (string & { type: HookType.INTERCHAIN_GAS_PAYMASTER; owner: string; beneficiary: string; oracleKey: string; overhead: Record<string, number>; oracleConfig: Record<string, { gasPrice: string; tokenExchangeRate: string; }>; ownerOverrides?: Record<string, string> | undefined; }) | (string & { owner: string; ownerOverrides?: Record<string, string> | undefined; } & { domains: ChainMap<string | { type: HookType.PROTOCOL_FEE; owner: string; beneficiary: string; maxProtocolFee: string; protocolFee: string; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.PAUSABLE; owner: string; paused: boolean; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.OP_STACK; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.MERKLE_TREE; } | { type: HookType.INTERCHAIN_GAS_PAYMASTER; owner: string; beneficiary: string; oracleKey: string; overhead: Record<string, number>; oracleConfig: Record<string, { gasPrice: string; tokenExchangeRate: string; }>; ownerOverrides?: Record<string, string> | undefined; } | import("@hyperlane-xyz/sdk").DomainRoutingHookConfig | import("@hyperlane-xyz/sdk").FallbackRoutingHookConfig | import("@hyperlane-xyz/sdk").AggregationHookConfig | { type: HookType.ARB_L2_TO_L1; destinationChain: string; arbSys: string; bridge?: string | undefined; }>; } & { type: HookType.ROUTING; }) | (string & { owner: string; ownerOverrides?: Record<string, string> | undefined; } & { domains: ChainMap<string | { type: HookType.PROTOCOL_FEE; owner: string; beneficiary: string; maxProtocolFee: string; protocolFee: string; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.PAUSABLE; owner: string; paused: boolean; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.OP_STACK; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.MERKLE_TREE; } | { type: HookType.INTERCHAIN_GAS_PAYMASTER; owner: string; beneficiary: string; oracleKey: string; overhead: Record<string, number>; oracleConfig: Record<string, { gasPrice: string; tokenExchangeRate: string; }>; ownerOverrides?: Record<string, string> | undefined; } | import("@hyperlane-xyz/sdk").DomainRoutingHookConfig | import("@hyperlane-xyz/sdk").FallbackRoutingHookConfig | import("@hyperlane-xyz/sdk").AggregationHookConfig | { type: HookType.ARB_L2_TO_L1; destinationChain: string; arbSys: string; bridge?: string | undefined; }>; } & { type: HookType.FALLBACK_ROUTING; fallback: string | { type: HookType.PROTOCOL_FEE; owner: string; beneficiary: string; maxProtocolFee: string; protocolFee: string; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.PAUSABLE; owner: string; paused: boolean; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.OP_STACK; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.MERKLE_TREE; } | { type: HookType.INTERCHAIN_GAS_PAYMASTER; owner: string; beneficiary: string; oracleKey: string; overhead: Record<string, number>; oracleConfig: Record<string, { gasPrice: string; tokenExchangeRate: string; }>; ownerOverrides?: Record<string, string> | undefined; } | import("@hyperlane-xyz/sdk").DomainRoutingHookConfig | import("@hyperlane-xyz/sdk").FallbackRoutingHookConfig | import("@hyperlane-xyz/sdk").AggregationHookConfig | { type: HookType.ARB_L2_TO_L1; destinationChain: string; arbSys: string; bridge?: string | undefined; }; }) | (string & import("@hyperlane-xyz/sdk").AggregationHookConfig) | (string & { type: HookType.ARB_L2_TO_L1; destinationChain: string; arbSys: string; bridge?: string | undefined; }) | ({ type: HookType.PROTOCOL_FEE; owner: string; beneficiary: string; maxProtocolFee: string; protocolFee: string; ownerOverrides?: Record<string, string> | undefined; } & string) | ({ type: HookType.PAUSABLE; owner: string; paused: boolean; ownerOverrides?: Record<string, string> | undefined; } & string) | ({ type: HookType.OP_STACK; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record<string, string> | undefined; } & string) | ({ type: HookType.MERKLE_TREE; } & string) | ({ type: HookType.INTERCHAIN_GAS_PAYMASTER; owner: string; beneficiary: string; oracleKey: string; overhead: Record<string, number>; oracleConfig: Record<string, { gasPrice: string; tokenExchangeRate: string; }>; ownerOverrides?: Record<string, string> | undefined; } & string) | ({ owner: string; ownerOverrides?: Record<string, string> | undefined; } & { domains: ChainMap<string | { type: HookType.PROTOCOL_FEE; owner: string; beneficiary: string; maxProtocolFee: string; protocolFee: string; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.PAUSABLE; owner: string; paused: boolean; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.OP_STACK; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.MERKLE_TREE; } | { type: HookType.INTERCHAIN_GAS_PAYMASTER; owner: string; beneficiary: string; oracleKey: string; overhead: Record<string, number>; oracleConfig: Record<string, { gasPrice: string; tokenExchangeRate: string; }>; ownerOverrides?: Record<string, string> | undefined; } | import("@hyperlane-xyz/sdk").DomainRoutingHookConfig | import("@hyperlane-xyz/sdk").FallbackRoutingHookConfig | import("@hyperlane-xyz/sdk").AggregationHookConfig | { type: HookType.ARB_L2_TO_L1; destinationChain: string; arbSys: string; bridge?: string | undefined; }>; } & { type: HookType.ROUTING; } & string) | ({ owner: string; ownerOverrides?: Record<string, string> | undefined; } & { domains: ChainMap<string | { type: HookType.PROTOCOL_FEE; owner: string; beneficiary: string; maxProtocolFee: string; protocolFee: string; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.PAUSABLE; owner: string; paused: boolean; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.OP_STACK; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.MERKLE_TREE; } | { type: HookType.INTERCHAIN_GAS_PAYMASTER; owner: string; beneficiary: string; oracleKey: string; overhead: Record<string, number>; oracleConfig: Record<string, { gasPrice: string; tokenExchangeRate: string; }>; ownerOverrides?: Record<string, string> | undefined; } | import("@hyperlane-xyz/sdk").DomainRoutingHookConfig | import("@hyperlane-xyz/sdk").FallbackRoutingHookConfig | import("@hyperlane-xyz/sdk").AggregationHookConfig | { type: HookType.ARB_L2_TO_L1; destinationChain: string; arbSys: string; bridge?: string | undefined; }>; } & { type: HookType.ROUTING; }) | ({ owner: string; ownerOverrides?: Record<string, string> | undefined; } & { domains: ChainMap<string | { type: HookType.PROTOCOL_FEE; owner: string; beneficiary: string; maxProtocolFee: string; protocolFee: string; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.PAUSABLE; owner: string; paused: boolean; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.OP_STACK; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.MERKLE_TREE; } | { type: HookType.INTERCHAIN_GAS_PAYMASTER; owner: string; beneficiary: string; oracleKey: string; overhead: Record<string, number>; oracleConfig: Record<string, { gasPrice: string; tokenExchangeRate: string; }>; ownerOverrides?: Record<string, string> | undefined; } | import("@hyperlane-xyz/sdk").DomainRoutingHookConfig | import("@hyperlane-xyz/sdk").FallbackRoutingHookConfig | import("@hyperlane-xyz/sdk").AggregationHookConfig | { type: HookType.ARB_L2_TO_L1; destinationChain: string; arbSys: string; bridge?: string | undefined; }>; } & { type: HookType.FALLBACK_ROUTING; fallback: string | { type: HookType.PROTOCOL_FEE; owner: string; beneficiary: string; maxProtocolFee: string; protocolFee: string; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.PAUSABLE; owner: string; paused: boolean; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.OP_STACK; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.MERKLE_TREE; } | { type: HookType.INTERCHAIN_GAS_PAYMASTER; owner: string; beneficiary: string; oracleKey: string; overhead: Record<string, number>; oracleConfig: Record<string, { gasPrice: string; tokenExchangeRate: string; }>; ownerOverrides?: Record<string, string> | undefined; } | import("@hyperlane-xyz/sdk").DomainRoutingHookConfig | import("@hyperlane-xyz/sdk").FallbackRoutingHookConfig | import("@hyperlane-xyz/sdk").AggregationHookConfig | { type: HookType.ARB_L2_TO_L1; destinationChain: string; arbSys: string; bridge?: string | undefined; }; } & string) | ({ owner: string; ownerOverrides?: Record<string, string> | undefined; } & { domains: ChainMap<string | { type: HookType.PROTOCOL_FEE; owner: string; beneficiary: string; maxProtocolFee: string; protocolFee: string; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.PAUSABLE; owner: string; paused: boolean; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.OP_STACK; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.MERKLE_TREE; } | { type: HookType.INTERCHAIN_GAS_PAYMASTER; owner: string; beneficiary: string; oracleKey: string; overhead: Record<string, number>; oracleConfig: Record<string, { gasPrice: string; tokenExchangeRate: string; }>; ownerOverrides?: Record<string, string> | undefined; } | import("@hyperlane-xyz/sdk").DomainRoutingHookConfig | import("@hyperlane-xyz/sdk").FallbackRoutingHookConfig | import("@hyperlane-xyz/sdk").AggregationHookConfig | { type: HookType.ARB_L2_TO_L1; destinationChain: string; arbSys: string; bridge?: string | undefined; }>; } & { type: HookType.FALLBACK_ROUTING; fallback: string | { type: HookType.PROTOCOL_FEE; owner: string; beneficiary: string; maxProtocolFee: string; protocolFee: string; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.PAUSABLE; owner: string; paused: boolean; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.OP_STACK; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.MERKLE_TREE; } | { type: HookType.INTERCHAIN_GAS_PAYMASTER; owner: string; beneficiary: string; oracleKey: string; overhead: Record<string, number>; oracleConfig: Record<string, { gasPrice: string; tokenExchangeRate: string; }>; ownerOverrides?: Record<string, string> | undefined; } | import("@hyperlane-xyz/sdk").DomainRoutingHookConfig | import("@hyperlane-xyz/sdk").FallbackRoutingHookConfig | import("@hyperlane-xyz/sdk").AggregationHookConfig | { type: HookType.ARB_L2_TO_L1; destinationChain: string; arbSys: string; bridge?: string | undefined; }; }) | (import("@hyperlane-xyz/sdk").AggregationHookConfig & string) | ({ type: HookType.ARB_L2_TO_L1; destinationChain: string; arbSys: string; bridge?: string | undefined; } & string); }, { default: string | { type: HookType.PROTOCOL_FEE; owner: string; beneficiary: string; maxProtocolFee: string; protocolFee: string; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.PAUSABLE; owner: string; paused: boolean; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.OP_STACK; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.MERKLE_TREE; } | { type: HookType.INTERCHAIN_GAS_PAYMASTER; owner: string; beneficiary: string; oracleKey: string; overhead: Record<string, number>; oracleConfig: Record<string, { gasPrice: string; tokenExchangeRate: string; }>; ownerOverrides?: Record<string, string> | undefined; } | import("@hyperlane-xyz/sdk").AggregationHookConfig | { type: HookType.ARB_L2_TO_L1; destinationChain: string; arbSys: string; bridge?: string | undefined; } | (string & { owner: string; ownerOverrides?: Record<string, string> | undefined; } & { domains: ChainMap<string | { type: HookType.PROTOCOL_FEE; owner: string; beneficiary: string; maxProtocolFee: string; protocolFee: string; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.PAUSABLE; owner: string; paused: boolean; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.OP_STACK; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.MERKLE_TREE; } | { type: HookType.INTERCHAIN_GAS_PAYMASTER; owner: string; beneficiary: string; oracleKey: string; overhead: Record<string, number>; oracleConfig: Record<string, { gasPrice: string; tokenExchangeRate: string; }>; ownerOverrides?: Record<string, string> | undefined; } | import("@hyperlane-xyz/sdk").DomainRoutingHookConfig | import("@hyperlane-xyz/sdk").FallbackRoutingHookConfig | import("@hyperlane-xyz/sdk").AggregationHookConfig | { type: HookType.ARB_L2_TO_L1; destinationChain: string; arbSys: string; bridge?: string | undefined; }>; } & { type: HookType.ROUTING; }) | (string & { owner: string; ownerOverrides?: Record<string, string> | undefined; } & { domains: ChainMap<string | { type: HookType.PROTOCOL_FEE; owner: string; beneficiary: string; maxProtocolFee: string; protocolFee: string; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.PAUSABLE; owner: string; paused: boolean; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.OP_STACK; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.MERKLE_TREE; } | { type: HookType.INTERCHAIN_GAS_PAYMASTER; owner: string; beneficiary: string; oracleKey: string; overhead: Record<string, number>; oracleConfig: Record<string, { gasPrice: string; tokenExchangeRate: string; }>; ownerOverrides?: Record<string, string> | undefined; } | import("@hyperlane-xyz/sdk").DomainRoutingHookConfig | import("@hyperlane-xyz/sdk").FallbackRoutingHookConfig | import("@hyperlane-xyz/sdk").AggregationHookConfig | { type: HookType.ARB_L2_TO_L1; destinationChain: string; arbSys: string; bridge?: string | undefined; }>; } & { type: HookType.FALLBACK_ROUTING; fallback: string | { type: HookType.PROTOCOL_FEE; owner: string; beneficiary: string; maxProtocolFee: string; protocolFee: string; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.PAUSABLE; owner: string; paused: boolean; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.OP_STACK; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record<string, string> | undefined; } | { type: HookType.MERKLE_TREE; } | { type: HookType.INTERCHAIN_GAS_PAYMASTER; owner: string; beneficiary: string; oracleKey: string; overhead: Record<string, number>; oracleConfig: Record<string, { gasPrice: string; toke