UNPKG

@hyperlane-xyz/sdk

Version:

The official SDK for the Hyperlane Network

1,427 lines 303 kB
/** * The types defined here are the source of truth for chain metadata. * ANY CHANGES HERE NEED TO BE REFLECTED IN HYPERLANE-BASE CONFIG PARSING. */ import { z } from 'zod'; import { ModuleType } from '@hyperlane-xyz/sdk'; import { ProtocolType } from '@hyperlane-xyz/utils'; import { MultiProvider } from '../providers/MultiProvider.js'; import { ChainMap, ChainName } from '../types.js'; import { HyperlaneDeploymentArtifacts } from './deploymentArtifacts.js'; export declare enum RpcConsensusType { Single = "single", Fallback = "fallback", Quorum = "quorum" } export declare enum AgentLogLevel { Off = "off", Error = "error", Warn = "warn", Info = "info", Debug = "debug", Trace = "trace" } export declare enum AgentLogFormat { Json = "json", Compact = "compact", Full = "full", Pretty = "pretty" } export declare enum AgentIndexMode { Block = "block", Sequence = "sequence" } export declare enum AgentSignerKeyType { Aws = "aws", Hex = "hexKey", Node = "node", Cosmos = "cosmosKey", Starknet = "starkKey" } export declare enum AgentSealevelPriorityFeeOracleType { Helius = "helius", Constant = "constant" } export declare enum AgentSealevelHeliusFeeLevel { Recommended = "recommended", Min = "min", Low = "low", Medium = "medium", High = "high", VeryHigh = "veryHigh", UnsafeMax = "unsafeMax" } export declare enum AgentSealevelTransactionSubmitterType { Rpc = "rpc", Jito = "jito" } declare const AgentSignerHexKeySchema: z.ZodObject<{ type: z.ZodOptional<z.ZodLiteral<AgentSignerKeyType.Hex>>; key: z.ZodString; }, "strip", z.ZodTypeAny, { key: string; type?: AgentSignerKeyType.Hex | undefined; }, { key: string; type?: AgentSignerKeyType.Hex | undefined; }>; declare const AgentSignerAwsKeySchema: z.ZodObject<{ type: z.ZodOptional<z.ZodLiteral<AgentSignerKeyType.Aws>>; id: z.ZodString; region: z.ZodString; }, "strip", z.ZodTypeAny, { id: string; region: string; type?: AgentSignerKeyType.Aws | undefined; }, { id: string; region: string; type?: AgentSignerKeyType.Aws | undefined; }>; declare const AgentSignerNodeSchema: z.ZodObject<{ type: z.ZodLiteral<AgentSignerKeyType.Node>; }, "strip", z.ZodTypeAny, { type: AgentSignerKeyType.Node; }, { type: AgentSignerKeyType.Node; }>; declare const AgentSignerSchema: z.ZodUnion<[z.ZodObject<{ type: z.ZodOptional<z.ZodLiteral<AgentSignerKeyType.Hex>>; key: z.ZodString; }, "strip", z.ZodTypeAny, { key: string; type?: AgentSignerKeyType.Hex | undefined; }, { key: string; type?: AgentSignerKeyType.Hex | undefined; }>, z.ZodObject<{ type: z.ZodOptional<z.ZodLiteral<AgentSignerKeyType.Aws>>; id: z.ZodString; region: z.ZodString; }, "strip", z.ZodTypeAny, { id: string; region: string; type?: AgentSignerKeyType.Aws | undefined; }, { id: string; region: string; type?: AgentSignerKeyType.Aws | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<AgentSignerKeyType.Cosmos>; prefix: z.ZodString; key: z.ZodString; }, "strip", z.ZodTypeAny, { type: AgentSignerKeyType.Cosmos; key: string; prefix: string; }, { type: AgentSignerKeyType.Cosmos; key: string; prefix: string; }>, z.ZodObject<{ type: z.ZodLiteral<AgentSignerKeyType.Node>; }, "strip", z.ZodTypeAny, { type: AgentSignerKeyType.Node; }, { type: AgentSignerKeyType.Node; }>]>; export type AgentSignerHexKey = z.infer<typeof AgentSignerHexKeySchema>; export type AgentSignerAwsKey = z.infer<typeof AgentSignerAwsKeySchema>; export type AgentSignerCosmosKey = z.infer<typeof AgentSignerNodeSchema>; export type AgentSignerNode = z.infer<typeof AgentSignerNodeSchema>; export type AgentSigner = z.infer<typeof AgentSignerSchema>; declare const AgentCosmosChainMetadataSchema: z.ZodObject<{ canonicalAsset: z.ZodString; gasPrice: z.ZodObject<{ denom: z.ZodString; amount: z.ZodString; }, "strip", z.ZodTypeAny, { denom: string; amount: string; }, { denom: string; amount: string; }>; contractAddressBytes: z.ZodNumber; }, "strip", z.ZodTypeAny, { gasPrice: { denom: string; amount: string; }; canonicalAsset: string; contractAddressBytes: number; }, { gasPrice: { denom: string; amount: string; }; canonicalAsset: string; contractAddressBytes: number; }>; export type AgentCosmosGasPrice = z.infer<typeof AgentCosmosChainMetadataSchema>['gasPrice']; declare const AgentSealevelChainMetadataSchema: z.ZodObject<{ priorityFeeOracle: z.ZodOptional<z.ZodUnion<[z.ZodObject<{ type: z.ZodLiteral<AgentSealevelPriorityFeeOracleType.Helius>; url: z.ZodString; feeLevel: z.ZodNativeEnum<typeof AgentSealevelHeliusFeeLevel>; }, "strip", z.ZodTypeAny, { type: AgentSealevelPriorityFeeOracleType.Helius; url: string; feeLevel: AgentSealevelHeliusFeeLevel; }, { type: AgentSealevelPriorityFeeOracleType.Helius; url: string; feeLevel: AgentSealevelHeliusFeeLevel; }>, z.ZodObject<{ type: z.ZodLiteral<AgentSealevelPriorityFeeOracleType.Constant>; fee: z.ZodUnion<[z.ZodNumber, z.ZodString]>; }, "strip", z.ZodTypeAny, { type: AgentSealevelPriorityFeeOracleType.Constant; fee: string | number; }, { type: AgentSealevelPriorityFeeOracleType.Constant; fee: string | number; }>]>>; transactionSubmitter: z.ZodOptional<z.ZodObject<{ type: z.ZodNativeEnum<typeof AgentSealevelTransactionSubmitterType>; url: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { type: AgentSealevelTransactionSubmitterType; url?: string | undefined; }, { type: AgentSealevelTransactionSubmitterType; url?: string | undefined; }>>; }, "strip", z.ZodTypeAny, { priorityFeeOracle?: { type: AgentSealevelPriorityFeeOracleType.Helius; url: string; feeLevel: AgentSealevelHeliusFeeLevel; } | { type: AgentSealevelPriorityFeeOracleType.Constant; fee: string | number; } | undefined; transactionSubmitter?: { type: AgentSealevelTransactionSubmitterType; url?: string | undefined; } | undefined; }, { priorityFeeOracle?: { type: AgentSealevelPriorityFeeOracleType.Helius; url: string; feeLevel: AgentSealevelHeliusFeeLevel; } | { type: AgentSealevelPriorityFeeOracleType.Constant; fee: string | number; } | undefined; transactionSubmitter?: { type: AgentSealevelTransactionSubmitterType; url?: string | undefined; } | undefined; }>; export type AgentSealevelChainMetadata = z.infer<typeof AgentSealevelChainMetadataSchema>; export type AgentSealevelPriorityFeeOracle = AgentSealevelChainMetadata['priorityFeeOracle']; export type AgentSealevelTransactionSubmitter = AgentSealevelChainMetadata['transactionSubmitter']; export declare const AgentChainMetadataSchema: z.ZodEffects<z.ZodObject<{ name: z.ZodString; availability: z.ZodOptional<z.ZodUnion<[z.ZodObject<{ status: z.ZodLiteral<import("@hyperlane-xyz/sdk").ChainStatus.Disabled>; reasons: z.ZodArray<z.ZodNativeEnum<typeof import("@hyperlane-xyz/sdk").ChainDisabledReason>, "many">; }, "strip", z.ZodTypeAny, { status: import("@hyperlane-xyz/sdk").ChainStatus.Disabled; reasons: import("@hyperlane-xyz/sdk").ChainDisabledReason[]; }, { status: import("@hyperlane-xyz/sdk").ChainStatus.Disabled; reasons: import("@hyperlane-xyz/sdk").ChainDisabledReason[]; }>, z.ZodObject<{ status: z.ZodLiteral<import("@hyperlane-xyz/sdk").ChainStatus.Live>; }, "strip", z.ZodTypeAny, { status: import("@hyperlane-xyz/sdk").ChainStatus.Live; }, { status: import("@hyperlane-xyz/sdk").ChainStatus.Live; }>]>>; bech32Prefix: z.ZodOptional<z.ZodString>; blockExplorers: z.ZodOptional<z.ZodArray<z.ZodObject<{ name: z.ZodString; url: z.ZodString; apiUrl: z.ZodString; apiKey: z.ZodOptional<z.ZodString>; family: z.ZodOptional<z.ZodNativeEnum<typeof import("@hyperlane-xyz/sdk").ExplorerFamily>>; }, "strip", z.ZodTypeAny, { name: string; url: string; apiUrl: string; apiKey?: string | undefined; family?: import("@hyperlane-xyz/sdk").ExplorerFamily | undefined; }, { name: string; url: string; apiUrl: string; apiKey?: string | undefined; family?: import("@hyperlane-xyz/sdk").ExplorerFamily | undefined; }>, "many">>; blocks: z.ZodOptional<z.ZodObject<{ confirmations: z.ZodNumber; reorgPeriod: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>; estimateBlockTime: z.ZodOptional<z.ZodNumber>; }, "strip", z.ZodTypeAny, { confirmations: number; reorgPeriod?: string | number | undefined; estimateBlockTime?: number | undefined; }, { confirmations: number; reorgPeriod?: string | number | undefined; estimateBlockTime?: number | undefined; }>>; bypassBatchSimulation: z.ZodOptional<z.ZodBoolean>; chainId: z.ZodUnion<[z.ZodNumber, z.ZodString]>; customGrpcUrls: z.ZodOptional<z.ZodString>; deployer: z.ZodOptional<z.ZodObject<{ name: z.ZodString; email: z.ZodOptional<z.ZodString>; url: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { name: string; email?: string | undefined; url?: string | undefined; }, { name: string; email?: string | undefined; url?: string | undefined; }>>; displayName: z.ZodOptional<z.ZodString>; displayNameShort: z.ZodOptional<z.ZodString>; domainId: z.ZodNumber; gasCurrencyCoinGeckoId: z.ZodOptional<z.ZodString>; gnosisSafeTransactionServiceUrl: z.ZodOptional<z.ZodString>; grpcUrls: z.ZodOptional<z.ZodArray<z.ZodObject<{ http: z.ZodString; concurrency: z.ZodOptional<z.ZodNumber>; webSocket: z.ZodOptional<z.ZodString>; pagination: z.ZodOptional<z.ZodObject<{ maxBlockRange: z.ZodOptional<z.ZodNumber>; minBlockNumber: z.ZodOptional<z.ZodNumber>; maxBlockAge: z.ZodOptional<z.ZodNumber>; }, "strip", z.ZodTypeAny, { maxBlockRange?: number | undefined; minBlockNumber?: number | undefined; maxBlockAge?: number | undefined; }, { maxBlockRange?: number | undefined; minBlockNumber?: number | undefined; maxBlockAge?: number | undefined; }>>; retry: z.ZodOptional<z.ZodObject<{ maxRequests: z.ZodNumber; baseRetryMs: z.ZodNumber; }, "strip", z.ZodTypeAny, { maxRequests: number; baseRetryMs: number; }, { maxRequests: number; baseRetryMs: number; }>>; public: z.ZodOptional<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { http: string; concurrency?: number | undefined; webSocket?: string | undefined; pagination?: { maxBlockRange?: number | undefined; minBlockNumber?: number | undefined; maxBlockAge?: number | undefined; } | undefined; retry?: { maxRequests: number; baseRetryMs: number; } | undefined; public?: boolean | undefined; }, { http: string; concurrency?: number | undefined; webSocket?: string | undefined; pagination?: { maxBlockRange?: number | undefined; minBlockNumber?: number | undefined; maxBlockAge?: number | undefined; } | undefined; retry?: { maxRequests: number; baseRetryMs: number; } | undefined; public?: boolean | undefined; }>, "many">>; index: z.ZodOptional<z.ZodObject<{ from: z.ZodOptional<z.ZodNumber>; chunk: z.ZodOptional<z.ZodNumber>; mode: z.ZodOptional<z.ZodNativeEnum<typeof AgentIndexMode>>; }, "strip", z.ZodTypeAny, { from?: number | undefined; chunk?: number | undefined; mode?: AgentIndexMode | undefined; }, { from?: number | undefined; chunk?: number | undefined; mode?: AgentIndexMode | undefined; }>>; isTestnet: z.ZodOptional<z.ZodBoolean>; logoURI: z.ZodOptional<z.ZodString>; nativeToken: z.ZodOptional<z.ZodObject<{ name: z.ZodString; symbol: z.ZodString; decimals: z.ZodNumber; denom: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { symbol: string; name: string; decimals: number; denom?: string | undefined; }, { symbol: string; name: string; decimals: number; denom?: string | undefined; }>>; protocol: z.ZodNativeEnum<typeof ProtocolType>; restUrls: z.ZodOptional<z.ZodArray<z.ZodObject<{ http: z.ZodString; concurrency: z.ZodOptional<z.ZodNumber>; webSocket: z.ZodOptional<z.ZodString>; pagination: z.ZodOptional<z.ZodObject<{ maxBlockRange: z.ZodOptional<z.ZodNumber>; minBlockNumber: z.ZodOptional<z.ZodNumber>; maxBlockAge: z.ZodOptional<z.ZodNumber>; }, "strip", z.ZodTypeAny, { maxBlockRange?: number | undefined; minBlockNumber?: number | undefined; maxBlockAge?: number | undefined; }, { maxBlockRange?: number | undefined; minBlockNumber?: number | undefined; maxBlockAge?: number | undefined; }>>; retry: z.ZodOptional<z.ZodObject<{ maxRequests: z.ZodNumber; baseRetryMs: z.ZodNumber; }, "strip", z.ZodTypeAny, { maxRequests: number; baseRetryMs: number; }, { maxRequests: number; baseRetryMs: number; }>>; public: z.ZodOptional<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { http: string; concurrency?: number | undefined; webSocket?: string | undefined; pagination?: { maxBlockRange?: number | undefined; minBlockNumber?: number | undefined; maxBlockAge?: number | undefined; } | undefined; retry?: { maxRequests: number; baseRetryMs: number; } | undefined; public?: boolean | undefined; }, { http: string; concurrency?: number | undefined; webSocket?: string | undefined; pagination?: { maxBlockRange?: number | undefined; minBlockNumber?: number | undefined; maxBlockAge?: number | undefined; } | undefined; retry?: { maxRequests: number; baseRetryMs: number; } | undefined; public?: boolean | undefined; }>, "many">>; rpcUrls: z.ZodArray<z.ZodObject<{ http: z.ZodString; concurrency: z.ZodOptional<z.ZodNumber>; webSocket: z.ZodOptional<z.ZodString>; pagination: z.ZodOptional<z.ZodObject<{ maxBlockRange: z.ZodOptional<z.ZodNumber>; minBlockNumber: z.ZodOptional<z.ZodNumber>; maxBlockAge: z.ZodOptional<z.ZodNumber>; }, "strip", z.ZodTypeAny, { maxBlockRange?: number | undefined; minBlockNumber?: number | undefined; maxBlockAge?: number | undefined; }, { maxBlockRange?: number | undefined; minBlockNumber?: number | undefined; maxBlockAge?: number | undefined; }>>; retry: z.ZodOptional<z.ZodObject<{ maxRequests: z.ZodNumber; baseRetryMs: z.ZodNumber; }, "strip", z.ZodTypeAny, { maxRequests: number; baseRetryMs: number; }, { maxRequests: number; baseRetryMs: number; }>>; public: z.ZodOptional<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { http: string; concurrency?: number | undefined; webSocket?: string | undefined; pagination?: { maxBlockRange?: number | undefined; minBlockNumber?: number | undefined; maxBlockAge?: number | undefined; } | undefined; retry?: { maxRequests: number; baseRetryMs: number; } | undefined; public?: boolean | undefined; }, { http: string; concurrency?: number | undefined; webSocket?: string | undefined; pagination?: { maxBlockRange?: number | undefined; minBlockNumber?: number | undefined; maxBlockAge?: number | undefined; } | undefined; retry?: { maxRequests: number; baseRetryMs: number; } | undefined; public?: boolean | undefined; }>, "many">; slip44: z.ZodOptional<z.ZodNumber>; technicalStack: z.ZodOptional<z.ZodNativeEnum<typeof import("@hyperlane-xyz/sdk").ChainTechnicalStack>>; transactionOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>; gasPrice: z.ZodOptional<z.ZodObject<{ denom: z.ZodString; amount: z.ZodString; }, "strip", z.ZodTypeAny, { denom: string; amount: string; }, { denom: string; amount: string; }>>; signer: z.ZodOptional<z.ZodUnion<[z.ZodObject<{ type: z.ZodOptional<z.ZodLiteral<AgentSignerKeyType.Hex>>; key: z.ZodString; }, "strip", z.ZodTypeAny, { key: string; type?: AgentSignerKeyType.Hex | undefined; }, { key: string; type?: AgentSignerKeyType.Hex | undefined; }>, z.ZodObject<{ type: z.ZodOptional<z.ZodLiteral<AgentSignerKeyType.Aws>>; id: z.ZodString; region: z.ZodString; }, "strip", z.ZodTypeAny, { id: string; region: string; type?: AgentSignerKeyType.Aws | undefined; }, { id: string; region: string; type?: AgentSignerKeyType.Aws | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<AgentSignerKeyType.Cosmos>; prefix: z.ZodString; key: z.ZodString; }, "strip", z.ZodTypeAny, { type: AgentSignerKeyType.Cosmos; key: string; prefix: string; }, { type: AgentSignerKeyType.Cosmos; key: string; prefix: string; }>, z.ZodObject<{ type: z.ZodLiteral<AgentSignerKeyType.Node>; }, "strip", z.ZodTypeAny, { type: AgentSignerKeyType.Node; }, { type: AgentSignerKeyType.Node; }>]>>; merkleTreeHook: z.ZodString; interchainGasPaymaster: z.ZodString; mailbox: z.ZodString; interchainSecurityModule: z.ZodOptional<z.ZodString>; validatorAnnounce: z.ZodString; canonicalAsset: z.ZodOptional<z.ZodString>; contractAddressBytes: z.ZodOptional<z.ZodNumber>; customRpcUrls: z.ZodOptional<z.ZodString>; rpcConsensusType: z.ZodOptional<z.ZodNativeEnum<typeof RpcConsensusType>>; priorityFeeOracle: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodObject<{ type: z.ZodLiteral<AgentSealevelPriorityFeeOracleType.Helius>; url: z.ZodString; feeLevel: z.ZodNativeEnum<typeof AgentSealevelHeliusFeeLevel>; }, "strip", z.ZodTypeAny, { type: AgentSealevelPriorityFeeOracleType.Helius; url: string; feeLevel: AgentSealevelHeliusFeeLevel; }, { type: AgentSealevelPriorityFeeOracleType.Helius; url: string; feeLevel: AgentSealevelHeliusFeeLevel; }>, z.ZodObject<{ type: z.ZodLiteral<AgentSealevelPriorityFeeOracleType.Constant>; fee: z.ZodUnion<[z.ZodNumber, z.ZodString]>; }, "strip", z.ZodTypeAny, { type: AgentSealevelPriorityFeeOracleType.Constant; fee: string | number; }, { type: AgentSealevelPriorityFeeOracleType.Constant; fee: string | number; }>]>>>; transactionSubmitter: z.ZodOptional<z.ZodOptional<z.ZodObject<{ type: z.ZodNativeEnum<typeof AgentSealevelTransactionSubmitterType>; url: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { type: AgentSealevelTransactionSubmitterType; url?: string | undefined; }, { type: AgentSealevelTransactionSubmitterType; url?: string | undefined; }>>>; }, "strip", z.ZodTypeAny, { name: string; chainId: string | number; domainId: number; protocol: ProtocolType; rpcUrls: { http: string; concurrency?: number | undefined; webSocket?: string | undefined; pagination?: { maxBlockRange?: number | undefined; minBlockNumber?: number | undefined; maxBlockAge?: number | undefined; } | undefined; retry?: { maxRequests: number; baseRetryMs: number; } | undefined; public?: boolean | undefined; }[]; merkleTreeHook: string; interchainGasPaymaster: string; mailbox: string; validatorAnnounce: string; availability?: { status: import("@hyperlane-xyz/sdk").ChainStatus.Disabled; reasons: import("@hyperlane-xyz/sdk").ChainDisabledReason[]; } | { status: import("@hyperlane-xyz/sdk").ChainStatus.Live; } | undefined; bech32Prefix?: string | undefined; blockExplorers?: { name: string; url: string; apiUrl: string; apiKey?: string | undefined; family?: import("@hyperlane-xyz/sdk").ExplorerFamily | undefined; }[] | undefined; blocks?: { confirmations: number; reorgPeriod?: string | number | undefined; estimateBlockTime?: number | undefined; } | undefined; bypassBatchSimulation?: boolean | undefined; customGrpcUrls?: string | undefined; deployer?: { name: string; email?: string | undefined; url?: string | undefined; } | undefined; displayName?: string | undefined; displayNameShort?: string | undefined; gasCurrencyCoinGeckoId?: string | undefined; gnosisSafeTransactionServiceUrl?: string | undefined; grpcUrls?: { http: string; concurrency?: number | undefined; webSocket?: string | undefined; pagination?: { maxBlockRange?: number | undefined; minBlockNumber?: number | undefined; maxBlockAge?: number | undefined; } | undefined; retry?: { maxRequests: number; baseRetryMs: number; } | undefined; public?: boolean | undefined; }[] | undefined; index?: { from?: number | undefined; chunk?: number | undefined; mode?: AgentIndexMode | undefined; } | undefined; isTestnet?: boolean | undefined; logoURI?: string | undefined; nativeToken?: { symbol: string; name: string; decimals: number; denom?: string | undefined; } | undefined; restUrls?: { http: string; concurrency?: number | undefined; webSocket?: string | undefined; pagination?: { maxBlockRange?: number | undefined; minBlockNumber?: number | undefined; maxBlockAge?: number | undefined; } | undefined; retry?: { maxRequests: number; baseRetryMs: number; } | undefined; public?: boolean | undefined; }[] | undefined; slip44?: number | undefined; technicalStack?: import("@hyperlane-xyz/sdk").ChainTechnicalStack | undefined; transactionOverrides?: Record<string, any> | undefined; gasPrice?: { denom: string; amount: string; } | undefined; signer?: { key: string; type?: AgentSignerKeyType.Hex | undefined; } | { id: string; region: string; type?: AgentSignerKeyType.Aws | undefined; } | { type: AgentSignerKeyType.Cosmos; key: string; prefix: string; } | { type: AgentSignerKeyType.Node; } | undefined; interchainSecurityModule?: string | undefined; canonicalAsset?: string | undefined; contractAddressBytes?: number | undefined; customRpcUrls?: string | undefined; rpcConsensusType?: RpcConsensusType | undefined; priorityFeeOracle?: { type: AgentSealevelPriorityFeeOracleType.Helius; url: string; feeLevel: AgentSealevelHeliusFeeLevel; } | { type: AgentSealevelPriorityFeeOracleType.Constant; fee: string | number; } | undefined; transactionSubmitter?: { type: AgentSealevelTransactionSubmitterType; url?: string | undefined; } | undefined; }, { name: string; chainId: string | number; domainId: number; protocol: ProtocolType; rpcUrls: { http: string; concurrency?: number | undefined; webSocket?: string | undefined; pagination?: { maxBlockRange?: number | undefined; minBlockNumber?: number | undefined; maxBlockAge?: number | undefined; } | undefined; retry?: { maxRequests: number; baseRetryMs: number; } | undefined; public?: boolean | undefined; }[]; merkleTreeHook: string; interchainGasPaymaster: string; mailbox: string; validatorAnnounce: string; availability?: { status: import("@hyperlane-xyz/sdk").ChainStatus.Disabled; reasons: import("@hyperlane-xyz/sdk").ChainDisabledReason[]; } | { status: import("@hyperlane-xyz/sdk").ChainStatus.Live; } | undefined; bech32Prefix?: string | undefined; blockExplorers?: { name: string; url: string; apiUrl: string; apiKey?: string | undefined; family?: import("@hyperlane-xyz/sdk").ExplorerFamily | undefined; }[] | undefined; blocks?: { confirmations: number; reorgPeriod?: string | number | undefined; estimateBlockTime?: number | undefined; } | undefined; bypassBatchSimulation?: boolean | undefined; customGrpcUrls?: string | undefined; deployer?: { name: string; email?: string | undefined; url?: string | undefined; } | undefined; displayName?: string | undefined; displayNameShort?: string | undefined; gasCurrencyCoinGeckoId?: string | undefined; gnosisSafeTransactionServiceUrl?: string | undefined; grpcUrls?: { http: string; concurrency?: number | undefined; webSocket?: string | undefined; pagination?: { maxBlockRange?: number | undefined; minBlockNumber?: number | undefined; maxBlockAge?: number | undefined; } | undefined; retry?: { maxRequests: number; baseRetryMs: number; } | undefined; public?: boolean | undefined; }[] | undefined; index?: { from?: number | undefined; chunk?: number | undefined; mode?: AgentIndexMode | undefined; } | undefined; isTestnet?: boolean | undefined; logoURI?: string | undefined; nativeToken?: { symbol: string; name: string; decimals: number; denom?: string | undefined; } | undefined; restUrls?: { http: string; concurrency?: number | undefined; webSocket?: string | undefined; pagination?: { maxBlockRange?: number | undefined; minBlockNumber?: number | undefined; maxBlockAge?: number | undefined; } | undefined; retry?: { maxRequests: number; baseRetryMs: number; } | undefined; public?: boolean | undefined; }[] | undefined; slip44?: number | undefined; technicalStack?: import("@hyperlane-xyz/sdk").ChainTechnicalStack | undefined; transactionOverrides?: Record<string, any> | undefined; gasPrice?: { denom: string; amount: string; } | undefined; signer?: { key: string; type?: AgentSignerKeyType.Hex | undefined; } | { id: string; region: string; type?: AgentSignerKeyType.Aws | undefined; } | { type: AgentSignerKeyType.Cosmos; key: string; prefix: string; } | { type: AgentSignerKeyType.Node; } | undefined; interchainSecurityModule?: string | undefined; canonicalAsset?: string | undefined; contractAddressBytes?: number | undefined; customRpcUrls?: string | undefined; rpcConsensusType?: RpcConsensusType | undefined; priorityFeeOracle?: { type: AgentSealevelPriorityFeeOracleType.Helius; url: string; feeLevel: AgentSealevelHeliusFeeLevel; } | { type: AgentSealevelPriorityFeeOracleType.Constant; fee: string | number; } | undefined; transactionSubmitter?: { type: AgentSealevelTransactionSubmitterType; url?: string | undefined; } | undefined; }>, { name: string; chainId: string | number; domainId: number; protocol: ProtocolType; rpcUrls: { http: string; concurrency?: number | undefined; webSocket?: string | undefined; pagination?: { maxBlockRange?: number | undefined; minBlockNumber?: number | undefined; maxBlockAge?: number | undefined; } | undefined; retry?: { maxRequests: number; baseRetryMs: number; } | undefined; public?: boolean | undefined; }[]; merkleTreeHook: string; interchainGasPaymaster: string; mailbox: string; validatorAnnounce: string; availability?: { status: import("@hyperlane-xyz/sdk").ChainStatus.Disabled; reasons: import("@hyperlane-xyz/sdk").ChainDisabledReason[]; } | { status: import("@hyperlane-xyz/sdk").ChainStatus.Live; } | undefined; bech32Prefix?: string | undefined; blockExplorers?: { name: string; url: string; apiUrl: string; apiKey?: string | undefined; family?: import("@hyperlane-xyz/sdk").ExplorerFamily | undefined; }[] | undefined; blocks?: { confirmations: number; reorgPeriod?: string | number | undefined; estimateBlockTime?: number | undefined; } | undefined; bypassBatchSimulation?: boolean | undefined; customGrpcUrls?: string | undefined; deployer?: { name: string; email?: string | undefined; url?: string | undefined; } | undefined; displayName?: string | undefined; displayNameShort?: string | undefined; gasCurrencyCoinGeckoId?: string | undefined; gnosisSafeTransactionServiceUrl?: string | undefined; grpcUrls?: { http: string; concurrency?: number | undefined; webSocket?: string | undefined; pagination?: { maxBlockRange?: number | undefined; minBlockNumber?: number | undefined; maxBlockAge?: number | undefined; } | undefined; retry?: { maxRequests: number; baseRetryMs: number; } | undefined; public?: boolean | undefined; }[] | undefined; index?: { from?: number | undefined; chunk?: number | undefined; mode?: AgentIndexMode | undefined; } | undefined; isTestnet?: boolean | undefined; logoURI?: string | undefined; nativeToken?: { symbol: string; name: string; decimals: number; denom?: string | undefined; } | undefined; restUrls?: { http: string; concurrency?: number | undefined; webSocket?: string | undefined; pagination?: { maxBlockRange?: number | undefined; minBlockNumber?: number | undefined; maxBlockAge?: number | undefined; } | undefined; retry?: { maxRequests: number; baseRetryMs: number; } | undefined; public?: boolean | undefined; }[] | undefined; slip44?: number | undefined; technicalStack?: import("@hyperlane-xyz/sdk").ChainTechnicalStack | undefined; transactionOverrides?: Record<string, any> | undefined; gasPrice?: { denom: string; amount: string; } | undefined; signer?: { key: string; type?: AgentSignerKeyType.Hex | undefined; } | { id: string; region: string; type?: AgentSignerKeyType.Aws | undefined; } | { type: AgentSignerKeyType.Cosmos; key: string; prefix: string; } | { type: AgentSignerKeyType.Node; } | undefined; interchainSecurityModule?: string | undefined; canonicalAsset?: string | undefined; contractAddressBytes?: number | undefined; customRpcUrls?: string | undefined; rpcConsensusType?: RpcConsensusType | undefined; priorityFeeOracle?: { type: AgentSealevelPriorityFeeOracleType.Helius; url: string; feeLevel: AgentSealevelHeliusFeeLevel; } | { type: AgentSealevelPriorityFeeOracleType.Constant; fee: string | number; } | undefined; transactionSubmitter?: { type: AgentSealevelTransactionSubmitterType; url?: string | undefined; } | undefined; }, { name: string; chainId: string | number; domainId: number; protocol: ProtocolType; rpcUrls: { http: string; concurrency?: number | undefined; webSocket?: string | undefined; pagination?: { maxBlockRange?: number | undefined; minBlockNumber?: number | undefined; maxBlockAge?: number | undefined; } | undefined; retry?: { maxRequests: number; baseRetryMs: number; } | undefined; public?: boolean | undefined; }[]; merkleTreeHook: string; interchainGasPaymaster: string; mailbox: string; validatorAnnounce: string; availability?: { status: import("@hyperlane-xyz/sdk").ChainStatus.Disabled; reasons: import("@hyperlane-xyz/sdk").ChainDisabledReason[]; } | { status: import("@hyperlane-xyz/sdk").ChainStatus.Live; } | undefined; bech32Prefix?: string | undefined; blockExplorers?: { name: string; url: string; apiUrl: string; apiKey?: string | undefined; family?: import("@hyperlane-xyz/sdk").ExplorerFamily | undefined; }[] | undefined; blocks?: { confirmations: number; reorgPeriod?: string | number | undefined; estimateBlockTime?: number | undefined; } | undefined; bypassBatchSimulation?: boolean | undefined; customGrpcUrls?: string | undefined; deployer?: { name: string; email?: string | undefined; url?: string | undefined; } | undefined; displayName?: string | undefined; displayNameShort?: string | undefined; gasCurrencyCoinGeckoId?: string | undefined; gnosisSafeTransactionServiceUrl?: string | undefined; grpcUrls?: { http: string; concurrency?: number | undefined; webSocket?: string | undefined; pagination?: { maxBlockRange?: number | undefined; minBlockNumber?: number | undefined; maxBlockAge?: number | undefined; } | undefined; retry?: { maxRequests: number; baseRetryMs: number; } | undefined; public?: boolean | undefined; }[] | undefined; index?: { from?: number | undefined; chunk?: number | undefined; mode?: AgentIndexMode | undefined; } | undefined; isTestnet?: boolean | undefined; logoURI?: string | undefined; nativeToken?: { symbol: string; name: string; decimals: number; denom?: string | undefined; } | undefined; restUrls?: { http: string; concurrency?: number | undefined; webSocket?: string | undefined; pagination?: { maxBlockRange?: number | undefined; minBlockNumber?: number | undefined; maxBlockAge?: number | undefined; } | undefined; retry?: { maxRequests: number; baseRetryMs: number; } | undefined; public?: boolean | undefined; }[] | undefined; slip44?: number | undefined; technicalStack?: import("@hyperlane-xyz/sdk").ChainTechnicalStack | undefined; transactionOverrides?: Record<string, any> | undefined; gasPrice?: { denom: string; amount: string; } | undefined; signer?: { key: string; type?: AgentSignerKeyType.Hex | undefined; } | { id: string; region: string; type?: AgentSignerKeyType.Aws | undefined; } | { type: AgentSignerKeyType.Cosmos; key: string; prefix: string; } | { type: AgentSignerKeyType.Node; } | undefined; interchainSecurityModule?: string | undefined; canonicalAsset?: string | undefined; contractAddressBytes?: number | undefined; customRpcUrls?: string | undefined; rpcConsensusType?: RpcConsensusType | undefined; priorityFeeOracle?: { type: AgentSealevelPriorityFeeOracleType.Helius; url: string; feeLevel: AgentSealevelHeliusFeeLevel; } | { type: AgentSealevelPriorityFeeOracleType.Constant; fee: string | number; } | undefined; transactionSubmitter?: { type: AgentSealevelTransactionSubmitterType; url?: string | undefined; } | undefined; }>; export type AgentChainMetadata = z.infer<typeof AgentChainMetadataSchema>; export declare const AgentConfigSchema: z.ZodObject<{ metricsPort: z.ZodOptional<z.ZodNumber>; chains: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodEffects<z.ZodObject<{ name: z.ZodString; availability: z.ZodOptional<z.ZodUnion<[z.ZodObject<{ status: z.ZodLiteral<import("@hyperlane-xyz/sdk").ChainStatus.Disabled>; reasons: z.ZodArray<z.ZodNativeEnum<typeof import("@hyperlane-xyz/sdk").ChainDisabledReason>, "many">; }, "strip", z.ZodTypeAny, { status: import("@hyperlane-xyz/sdk").ChainStatus.Disabled; reasons: import("@hyperlane-xyz/sdk").ChainDisabledReason[]; }, { status: import("@hyperlane-xyz/sdk").ChainStatus.Disabled; reasons: import("@hyperlane-xyz/sdk").ChainDisabledReason[]; }>, z.ZodObject<{ status: z.ZodLiteral<import("@hyperlane-xyz/sdk").ChainStatus.Live>; }, "strip", z.ZodTypeAny, { status: import("@hyperlane-xyz/sdk").ChainStatus.Live; }, { status: import("@hyperlane-xyz/sdk").ChainStatus.Live; }>]>>; bech32Prefix: z.ZodOptional<z.ZodString>; blockExplorers: z.ZodOptional<z.ZodArray<z.ZodObject<{ name: z.ZodString; url: z.ZodString; apiUrl: z.ZodString; apiKey: z.ZodOptional<z.ZodString>; family: z.ZodOptional<z.ZodNativeEnum<typeof import("@hyperlane-xyz/sdk").ExplorerFamily>>; }, "strip", z.ZodTypeAny, { name: string; url: string; apiUrl: string; apiKey?: string | undefined; family?: import("@hyperlane-xyz/sdk").ExplorerFamily | undefined; }, { name: string; url: string; apiUrl: string; apiKey?: string | undefined; family?: import("@hyperlane-xyz/sdk").ExplorerFamily | undefined; }>, "many">>; blocks: z.ZodOptional<z.ZodObject<{ confirmations: z.ZodNumber; reorgPeriod: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>; estimateBlockTime: z.ZodOptional<z.ZodNumber>; }, "strip", z.ZodTypeAny, { confirmations: number; reorgPeriod?: string | number | undefined; estimateBlockTime?: number | undefined; }, { confirmations: number; reorgPeriod?: string | number | undefined; estimateBlockTime?: number | undefined; }>>; bypassBatchSimulation: z.ZodOptional<z.ZodBoolean>; chainId: z.ZodUnion<[z.ZodNumber, z.ZodString]>; customGrpcUrls: z.ZodOptional<z.ZodString>; deployer: z.ZodOptional<z.ZodObject<{ name: z.ZodString; email: z.ZodOptional<z.ZodString>; url: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { name: string; email?: string | undefined; url?: string | undefined; }, { name: string; email?: string | undefined; url?: string | undefined; }>>; displayName: z.ZodOptional<z.ZodString>; displayNameShort: z.ZodOptional<z.ZodString>; domainId: z.ZodNumber; gasCurrencyCoinGeckoId: z.ZodOptional<z.ZodString>; gnosisSafeTransactionServiceUrl: z.ZodOptional<z.ZodString>; grpcUrls: z.ZodOptional<z.ZodArray<z.ZodObject<{ http: z.ZodString; concurrency: z.ZodOptional<z.ZodNumber>; webSocket: z.ZodOptional<z.ZodString>; pagination: z.ZodOptional<z.ZodObject<{ maxBlockRange: z.ZodOptional<z.ZodNumber>; minBlockNumber: z.ZodOptional<z.ZodNumber>; maxBlockAge: z.ZodOptional<z.ZodNumber>; }, "strip", z.ZodTypeAny, { maxBlockRange?: number | undefined; minBlockNumber?: number | undefined; maxBlockAge?: number | undefined; }, { maxBlockRange?: number | undefined; minBlockNumber?: number | undefined; maxBlockAge?: number | undefined; }>>; retry: z.ZodOptional<z.ZodObject<{ maxRequests: z.ZodNumber; baseRetryMs: z.ZodNumber; }, "strip", z.ZodTypeAny, { maxRequests: number; baseRetryMs: number; }, { maxRequests: number; baseRetryMs: number; }>>; public: z.ZodOptional<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { http: string; concurrency?: number | undefined; webSocket?: string | undefined; pagination?: { maxBlockRange?: number | undefined; minBlockNumber?: number | undefined; maxBlockAge?: number | undefined; } | undefined; retry?: { maxRequests: number; baseRetryMs: number; } | undefined; public?: boolean | undefined; }, { http: string; concurrency?: number | undefined; webSocket?: string | undefined; pagination?: { maxBlockRange?: number | undefined; minBlockNumber?: number | undefined; maxBlockAge?: number | undefined; } | undefined; retry?: { maxRequests: number; baseRetryMs: number; } | undefined; public?: boolean | undefined; }>, "many">>; index: z.ZodOptional<z.ZodObject<{ from: z.ZodOptional<z.ZodNumber>; chunk: z.ZodOptional<z.ZodNumber>; mode: z.ZodOptional<z.ZodNativeEnum<typeof AgentIndexMode>>; }, "strip", z.ZodTypeAny, { from?: number | undefined; chunk?: number | undefined; mode?: AgentIndexMode | undefined; }, { from?: number | undefined; chunk?: number | undefined; mode?: AgentIndexMode | undefined; }>>; isTestnet: z.ZodOptional<z.ZodBoolean>; logoURI: z.ZodOptional<z.ZodString>; nativeToken: z.ZodOptional<z.ZodObject<{ name: z.ZodString; symbol: z.ZodString; decimals: z.ZodNumber; denom: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { symbol: string; name: string; decimals: number; denom?: string | undefined; }, { symbol: string; name: string; decimals: number; denom?: string | undefined; }>>; protocol: z.ZodNativeEnum<typeof ProtocolType>; restUrls: z.ZodOptional<z.ZodArray<z.ZodObject<{ http: z.ZodString; concurrency: z.ZodOptional<z.ZodNumber>; webSocket: z.ZodOptional<z.ZodString>; pagination: z.ZodOptional<z.ZodObject<{ maxBlockRange: z.ZodOptional<z.ZodNumber>; minBlockNumber: z.ZodOptional<z.ZodNumber>; maxBlockAge: z.ZodOptional<z.ZodNumber>; }, "strip", z.ZodTypeAny, { maxBlockRange?: number | undefined; minBlockNumber?: number | undefined; maxBlockAge?: number | undefined; }, { maxBlockRange?: number | undefined; minBlockNumber?: number | undefined; maxBlockAge?: number | undefined; }>>; retry: z.ZodOptional<z.ZodObject<{ maxRequests: z.ZodNumber; baseRetryMs: z.ZodNumber; }, "strip", z.ZodTypeAny, { maxRequests: number; baseRetryMs: number; }, { maxRequests: number; baseRetryMs: number; }>>; public: z.ZodOptional<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { http: string; concurrency?: number | undefined; webSocket?: string | undefined; pagination?: { maxBlockRange?: number | undefined; minBlockNumber?: number | undefined; maxBlockAge?: number | undefined; } | undefined; retry?: { maxRequests: number; baseRetryMs: number; } | undefined; public?: boolean | undefined; }, { http: string; concurrency?: number | undefined; webSocket?: string | undefined; pagination?: { maxBlockRange?: number | undefined; minBlockNumber?: number | undefined; maxBlockAge?: number | undefined; } | undefined; retry?: { maxRequests: number; baseRetryMs: number; } | undefined; public?: boolean | undefined; }>, "many">>; rpcUrls: z.ZodArray<z.ZodObject<{ http: z.ZodString; concurrency: z.ZodOptional<z.ZodNumber>; webSocket: z.ZodOptional<z.ZodString>; pagination: z.ZodOptional<z.ZodObject<{ maxBlockRange: z.ZodOptional<z.ZodNumber>; minBlockNumber: z.ZodOptional<z.ZodNumber>; maxBlockAge: z.ZodOptional<z.ZodNumber>; }, "strip", z.ZodTypeAny, { maxBlockRange?: number | undefined; minBlockNumber?: number | undefined; maxBlockAge?: number | undefined; }, { maxBlockRange?: number | undefined; minBlockNumber?: number | undefined; maxBlockAge?: number | undefined; }>>; retry: z.ZodOptional<z.ZodObject<{ maxRequests: z.ZodNumber; baseRetryMs: z.ZodNumber; }, "strip", z.ZodTypeAny, { maxRequests: number; baseRetryMs: number; }, { maxRequests: number; baseRetryMs: number; }>>; public: z.ZodOptional<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { http: string; concurrency?: number | undefined; webSocket?: string | undefined; pagination?: { maxBlockRange?: number | undefined; minBlockNumber?: number | undefined; maxBlockAge?: number | undefined; } | undefined; retry?: { maxRequests: number; baseRetryMs: number; } | undefined; public?: boolean | undefined; }, { http: string; concurrency?: number | undefined; webSocket?: string | undefined; pagination?: { maxBlockRange?: number | undefined; minBlockNumber?: number | undefined; maxBlockAge?: number | undefined; } | undefined; retry?: { maxRequests: number; baseRetryMs: number; } | undefined; public?: boolean | undefined; }>, "many">; slip44: z.ZodOptional<z.ZodNumber>; technicalStack: z.ZodOptional<z.ZodNativeEnum<typeof import("@hyperlane-xyz/sdk").ChainTechnicalStack>>; transactionOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>; gasPrice: z.ZodOptional<z.ZodObject<{ denom: z.ZodString; amount: z.ZodString; }, "strip", z.ZodTypeAny, { denom: string; amount: string; }, { denom: string; amount: string; }>>; signer: z.ZodOptional<z.ZodUnion<[z.ZodObject<{ type: z.ZodOptional<