/** * 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 { ProtocolType } from '@hyperlane-xyz/utils'; import type { 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", RadixDashboard = "radixdashboard", TronScan = "tronscan", Other = "other", Unknown = "unknown" } export declare enum ChainTechnicalStack { ArbitrumNitro = "arbitrumnitro", OpStack = "opstack", PolygonCDK = "polygoncdk", PolkadotSubstrate = "polkadotsubstrate", Seismic = "seismic", ZkSync = "zksync", Other = "other", Unknown = "unknown" } 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; webSocket: z.ZodOptional; pagination: z.ZodOptional; minBlockNumber: z.ZodOptional; maxBlockAge: z.ZodOptional; }, z.core.$strip>>; retry: z.ZodOptional>; public: z.ZodOptional; }, z.core.$strip>; export type RpcUrl = z.infer; export declare const BlockExplorerSchema: z.ZodObject<{ name: z.ZodString; url: z.ZodURL; apiUrl: z.ZodString; apiKey: z.ZodOptional; family: z.ZodOptional, z.ZodString]>, z.ZodTransform>>; }, z.core.$strip>; export type BlockExplorer = z.infer; export declare const NativeTokenSchema: z.ZodObject<{ name: z.ZodString; symbol: z.ZodString; decimals: z.ZodNumber; denom: z.ZodOptional; }, z.core.$strip>; export declare const GasPriceSchema: z.ZodObject<{ denom: z.ZodString; amount: z.ZodString; }, z.core.$strip>; export declare const DisabledChainSchema: z.ZodObject<{ status: z.ZodLiteral; reasons: z.ZodArray>; }, z.core.$strip>; export declare const EnabledChainSchema: z.ZodObject<{ status: z.ZodLiteral; }, z.core.$strip>; export type NativeToken = z.infer; /** * A collection of useful properties and settings for chains using Hyperlane * Specified as a Zod schema */ export declare const ChainMetadataSchemaObject: z.ZodObject<{ maxSupportedTransactionVersion: z.ZodOptional, z.ZodLiteral<1>]>>; sealevelV1TransactionsEnabled: z.ZodOptional; sealevelTransactionVersion: z.ZodOptional, z.ZodLiteral<1>]>>; availability: z.ZodOptional; reasons: z.ZodArray>; }, z.core.$strip>, z.ZodObject<{ status: z.ZodLiteral; }, z.core.$strip>]>>; bech32Prefix: z.ZodOptional; blockExplorers: z.ZodOptional; family: z.ZodOptional, z.ZodString]>, z.ZodTransform>>; }, z.core.$strip>>>; blocks: z.ZodOptional>; estimateBlockTime: z.ZodOptional; }, z.core.$strip>>; bypassBatchSimulation: z.ZodOptional; chainId: z.ZodUnion; customGrpcUrls: z.ZodOptional; deployer: z.ZodOptional; url: z.ZodOptional; }, z.core.$strip>>; displayName: z.ZodOptional; displayNameShort: z.ZodOptional; domainId: z.ZodNumber; gasCurrencyCoinGeckoId: z.ZodOptional; gnosisSafeTransactionServiceUrl: z.ZodOptional; gnosisSafeApiKey: z.ZodOptional; gatewayUrls: z.ZodOptional; webSocket: z.ZodOptional; pagination: z.ZodOptional; minBlockNumber: z.ZodOptional; maxBlockAge: z.ZodOptional; }, z.core.$strip>>; retry: z.ZodOptional>; public: z.ZodOptional; }, z.core.$strip>>>; grpcUrls: z.ZodOptional; webSocket: z.ZodOptional; pagination: z.ZodOptional; minBlockNumber: z.ZodOptional; maxBlockAge: z.ZodOptional; }, z.core.$strip>>; retry: z.ZodOptional>; public: z.ZodOptional; }, z.core.$strip>>>; index: z.ZodOptional; }, z.core.$strip>>; isTestnet: z.ZodOptional; logoURI: z.ZodOptional; name: z.ZodString; nativeToken: z.ZodOptional; }, z.core.$strip>>; protocol: z.ZodPipe, z.ZodString]>, z.ZodTransform>; restUrls: z.ZodOptional; webSocket: z.ZodOptional; pagination: z.ZodOptional; minBlockNumber: z.ZodOptional; maxBlockAge: z.ZodOptional; }, z.core.$strip>>; retry: z.ZodOptional>; public: z.ZodOptional; }, z.core.$strip>>>; rpcUrls: z.ZodArray; webSocket: z.ZodOptional; pagination: z.ZodOptional; minBlockNumber: z.ZodOptional; maxBlockAge: z.ZodOptional; }, z.core.$strip>>; retry: z.ZodOptional>; public: z.ZodOptional; }, z.core.$strip>>; slip44: z.ZodOptional; technicalStack: z.ZodOptional, z.ZodString]>, z.ZodTransform>>; transactionOverrides: z.ZodOptional>; gasPrice: z.ZodOptional>; }, z.core.$strip>; export declare const ChainMetadataSchema: z.ZodObject<{ maxSupportedTransactionVersion: z.ZodOptional, z.ZodLiteral<1>]>>; sealevelV1TransactionsEnabled: z.ZodOptional; sealevelTransactionVersion: z.ZodOptional, z.ZodLiteral<1>]>>; availability: z.ZodOptional; reasons: z.ZodArray>; }, z.core.$strip>, z.ZodObject<{ status: z.ZodLiteral; }, z.core.$strip>]>>; bech32Prefix: z.ZodOptional; blockExplorers: z.ZodOptional; family: z.ZodOptional, z.ZodString]>, z.ZodTransform>>; }, z.core.$strip>>>; blocks: z.ZodOptional>; estimateBlockTime: z.ZodOptional; }, z.core.$strip>>; bypassBatchSimulation: z.ZodOptional; chainId: z.ZodUnion; customGrpcUrls: z.ZodOptional; deployer: z.ZodOptional; url: z.ZodOptional; }, z.core.$strip>>; displayName: z.ZodOptional; displayNameShort: z.ZodOptional; domainId: z.ZodNumber; gasCurrencyCoinGeckoId: z.ZodOptional; gnosisSafeTransactionServiceUrl: z.ZodOptional; gnosisSafeApiKey: z.ZodOptional; gatewayUrls: z.ZodOptional; webSocket: z.ZodOptional; pagination: z.ZodOptional; minBlockNumber: z.ZodOptional; maxBlockAge: z.ZodOptional; }, z.core.$strip>>; retry: z.ZodOptional>; public: z.ZodOptional; }, z.core.$strip>>>; grpcUrls: z.ZodOptional; webSocket: z.ZodOptional; pagination: z.ZodOptional; minBlockNumber: z.ZodOptional; maxBlockAge: z.ZodOptional; }, z.core.$strip>>; retry: z.ZodOptional>; public: z.ZodOptional; }, z.core.$strip>>>; index: z.ZodOptional; }, z.core.$strip>>; isTestnet: z.ZodOptional; logoURI: z.ZodOptional; name: z.ZodString; nativeToken: z.ZodOptional; }, z.core.$strip>>; protocol: z.ZodPipe, z.ZodString]>, z.ZodTransform>; restUrls: z.ZodOptional; webSocket: z.ZodOptional; pagination: z.ZodOptional; minBlockNumber: z.ZodOptional; maxBlockAge: z.ZodOptional; }, z.core.$strip>>; retry: z.ZodOptional>; public: z.ZodOptional; }, z.core.$strip>>>; rpcUrls: z.ZodArray; webSocket: z.ZodOptional; pagination: z.ZodOptional; minBlockNumber: z.ZodOptional; maxBlockAge: z.ZodOptional; }, z.core.$strip>>; retry: z.ZodOptional>; public: z.ZodOptional; }, z.core.$strip>>; slip44: z.ZodOptional; technicalStack: z.ZodOptional, z.ZodString]>, z.ZodTransform>>; transactionOverrides: z.ZodOptional>; gasPrice: z.ZodOptional>; }, z.core.$loose>; export type ChainMetadata = z.infer & Ext; export declare function safeParseChainMetadata(c: ChainMetadata): z.ZodSafeParseResult; export declare function isValidChainMetadata(c: ChainMetadata): boolean; export declare function getDomainId(chainMetadata: ChainMetadata): number; export declare function getChainIdNumber(chainMetadata: ChainMetadata): number; export declare function getReorgPeriod(chainMetadata: ChainMetadata): string | number; export declare function mergeChainMetadata(base: ChainMetadata, overrides: Partial | undefined): ChainMetadata; export declare function mergeChainMetadataMap(base: ChainMap, overrides: ChainMap | undefined> | undefined): ChainMap; //# sourceMappingURL=chainMetadataTypes.d.ts.map