UNPKG

@hyperlane-xyz/sdk

Version:

The official SDK for the Hyperlane Network

1,472 lines (1,471 loc) 171 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 { SafeParseReturnType, z } from 'zod'; import { ProtocolType } from '@hyperlane-xyz/utils'; import { ChainMap } from '../types.js'; export declare enum EthJsonRpcBlockParameterTag { Earliest = "earliest", Latest = "latest", Safe = "safe", Finalized = "finalized", Pending = "pending" } export declare enum ExplorerFamily { Etherscan = "etherscan", Blockscout = "blockscout", Routescan = "routescan", Voyager = "voyager", ZkSync = "zksync", Other = "other" } export declare enum ChainTechnicalStack { ArbitrumNitro = "arbitrumnitro", OpStack = "opstack", PolygonCDK = "polygoncdk", PolkadotSubstrate = "polkadotsubstrate", ZkSync = "zksync", Other = "other" } export declare enum ChainStatus { Live = "live", Disabled = "disabled" } export declare enum ChainDisabledReason { BadRpc = "badrpc", Deprecated = "deprecated", Private = "private", Unavailable = "unavailable", Other = "other" } export type ExplorerFamilyValue = `${ExplorerFamily}`; export declare const RpcUrlSchema: 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; }>; export type RpcUrl = z.infer<typeof RpcUrlSchema>; export declare const BlockExplorerSchema: z.ZodObject<{ name: z.ZodString; url: z.ZodString; apiUrl: z.ZodString; apiKey: z.ZodOptional<z.ZodString>; family: z.ZodOptional<z.ZodNativeEnum<typeof ExplorerFamily>>; }, "strip", z.ZodTypeAny, { name: string; url: string; apiUrl: string; apiKey?: string | undefined; family?: ExplorerFamily | undefined; }, { name: string; url: string; apiUrl: string; apiKey?: string | undefined; family?: ExplorerFamily | undefined; }>; export type BlockExplorer = z.infer<typeof BlockExplorerSchema>; export declare const NativeTokenSchema: 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; }>; export declare const GasPriceSchema: z.ZodObject<{ denom: z.ZodString; amount: z.ZodString; }, "strip", z.ZodTypeAny, { denom: string; amount: string; }, { denom: string; amount: string; }>; export declare const DisabledChainSchema: z.ZodObject<{ status: z.ZodLiteral<ChainStatus.Disabled>; reasons: z.ZodArray<z.ZodNativeEnum<typeof ChainDisabledReason>, "many">; }, "strip", z.ZodTypeAny, { status: ChainStatus.Disabled; reasons: ChainDisabledReason[]; }, { status: ChainStatus.Disabled; reasons: ChainDisabledReason[]; }>; export declare const EnabledChainSchema: z.ZodObject<{ status: z.ZodLiteral<ChainStatus.Live>; }, "strip", z.ZodTypeAny, { status: ChainStatus.Live; }, { status: ChainStatus.Live; }>; export type NativeToken = z.infer<typeof NativeTokenSchema>; /** * A collection of useful properties and settings for chains using Hyperlane * Specified as a Zod schema */ export declare const ChainMetadataSchemaObject: z.ZodObject<{ availability: z.ZodOptional<z.ZodUnion<[z.ZodObject<{ status: z.ZodLiteral<ChainStatus.Disabled>; reasons: z.ZodArray<z.ZodNativeEnum<typeof ChainDisabledReason>, "many">; }, "strip", z.ZodTypeAny, { status: ChainStatus.Disabled; reasons: ChainDisabledReason[]; }, { status: ChainStatus.Disabled; reasons: ChainDisabledReason[]; }>, z.ZodObject<{ status: z.ZodLiteral<ChainStatus.Live>; }, "strip", z.ZodTypeAny, { status: ChainStatus.Live; }, { status: 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 ExplorerFamily>>; }, "strip", z.ZodTypeAny, { name: string; url: string; apiUrl: string; apiKey?: string | undefined; family?: ExplorerFamily | undefined; }, { name: string; url: string; apiUrl: string; apiKey?: string | undefined; family?: 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>; }, "strip", z.ZodTypeAny, { from?: number | undefined; }, { from?: number | undefined; }>>; isTestnet: z.ZodOptional<z.ZodBoolean>; logoURI: z.ZodOptional<z.ZodString>; name: 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 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; }>>; }, "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; }[]; availability?: { status: ChainStatus.Disabled; reasons: ChainDisabledReason[]; } | { status: ChainStatus.Live; } | undefined; bech32Prefix?: string | undefined; blockExplorers?: { name: string; url: string; apiUrl: string; apiKey?: string | undefined; family?: 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; } | 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?: ChainTechnicalStack | undefined; transactionOverrides?: Record<string, any> | undefined; gasPrice?: { denom: string; amount: string; } | 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; }[]; availability?: { status: ChainStatus.Disabled; reasons: ChainDisabledReason[]; } | { status: ChainStatus.Live; } | undefined; bech32Prefix?: string | undefined; blockExplorers?: { name: string; url: string; apiUrl: string; apiKey?: string | undefined; family?: 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; } | 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?: ChainTechnicalStack | undefined; transactionOverrides?: Record<string, any> | undefined; gasPrice?: { denom: string; amount: string; } | undefined; }>; export declare const ChainMetadataSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodObject<{ availability: z.ZodOptional<z.ZodUnion<[z.ZodObject<{ status: z.ZodLiteral<ChainStatus.Disabled>; reasons: z.ZodArray<z.ZodNativeEnum<typeof ChainDisabledReason>, "many">; }, "strip", z.ZodTypeAny, { status: ChainStatus.Disabled; reasons: ChainDisabledReason[]; }, { status: ChainStatus.Disabled; reasons: ChainDisabledReason[]; }>, z.ZodObject<{ status: z.ZodLiteral<ChainStatus.Live>; }, "strip", z.ZodTypeAny, { status: ChainStatus.Live; }, { status: 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 ExplorerFamily>>; }, "strip", z.ZodTypeAny, { name: string; url: string; apiUrl: string; apiKey?: string | undefined; family?: ExplorerFamily | undefined; }, { name: string; url: string; apiUrl: string; apiKey?: string | undefined; family?: 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>; }, "strip", z.ZodTypeAny, { from?: number | undefined; }, { from?: number | undefined; }>>; isTestnet: z.ZodOptional<z.ZodBoolean>; logoURI: z.ZodOptional<z.ZodString>; name: 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 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; }>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ availability: z.ZodOptional<z.ZodUnion<[z.ZodObject<{ status: z.ZodLiteral<ChainStatus.Disabled>; reasons: z.ZodArray<z.ZodNativeEnum<typeof ChainDisabledReason>, "many">; }, "strip", z.ZodTypeAny, { status: ChainStatus.Disabled; reasons: ChainDisabledReason[]; }, { status: ChainStatus.Disabled; reasons: ChainDisabledReason[]; }>, z.ZodObject<{ status: z.ZodLiteral<ChainStatus.Live>; }, "strip", z.ZodTypeAny, { status: ChainStatus.Live; }, { status: 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 ExplorerFamily>>; }, "strip", z.ZodTypeAny, { name: string; url: string; apiUrl: string; apiKey?: string | undefined; family?: ExplorerFamily | undefined; }, { name: string; url: string; apiUrl: string; apiKey?: string | undefined; family?: 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>; }, "strip", z.ZodTypeAny, { from?: number | undefined; }, { from?: number | undefined; }>>; isTestnet: z.ZodOptional<z.ZodBoolean>; logoURI: z.ZodOptional<z.ZodString>; name: 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 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; }>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ availability: z.ZodOptional<z.ZodUnion<[z.ZodObject<{ status: z.ZodLiteral<ChainStatus.Disabled>; reasons: z.ZodArray<z.ZodNativeEnum<typeof ChainDisabledReason>, "many">; }, "strip", z.ZodTypeAny, { status: ChainStatus.Disabled; reasons: ChainDisabledReason[]; }, { status: ChainStatus.Disabled; reasons: ChainDisabledReason[]; }>, z.ZodObject<{ status: z.ZodLiteral<ChainStatus.Live>; }, "strip", z.ZodTypeAny, { status: ChainStatus.Live; }, { status: 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 ExplorerFamily>>; }, "strip", z.ZodTypeAny, { name: string; url: string; apiUrl: string; apiKey?: string | undefined; family?: ExplorerFamily | undefined; }, { name: string; url: string; apiUrl: string; apiKey?: string | undefined; family?: 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>; }, "strip", z.ZodTypeAny, { from?: number | undefined; }, { from?: number | undefined; }>>; isTestnet: z.ZodOptional<z.ZodBoolean>; logoURI: z.ZodOptional<z.ZodString>; name: 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;