UNPKG

hardhat

Version:

Hardhat is an extensible developer tool that helps smart contract developers increase productivity by reliably bringing together the tools they want.

49 lines 1.94 kB
import type { NetworkConfig, NetworkConfigOverride } from "./config.js"; import type { EthereumProvider } from "./providers.js"; /** * Represents the possible chain types for the network. The options are: * - `GenericNetworkType`: Represents the most generic type of network. * - `"l1"`: Represents Layer 1 networks like Ethereum. * - `"op"`: Represents Layer 2 networks like Optimism. */ export type ChainType = GenericChainType | "l1" | "op"; /** * The most generic chanin type. */ export type GenericChainType = "generic"; /** * Determines the default chain type to use when no chain type is specified. * The default chain type is GenericNetworkType by default. You can customize the * default chain type by adding a `defaultChainType` property to the * `ChainTypeConfig` interface with a valid `ChainType` value. * For example: * ```ts * declare module "hardhat/types/network" { * export interface ChainTypeConfig { * defaultChainType: "l1"; * } * } * ``` */ export type DefaultChainType = ChainTypeConfig extends { defaultChainType: infer T; } ? T extends ChainType ? T : GenericChainType : GenericChainType; export interface ChainTypeConfig { } export interface NetworkConnectionParams<ChainTypeT extends ChainType | string = DefaultChainType> { network?: string; chainType?: ChainTypeT; override?: NetworkConfigOverride; } export interface NetworkManager { connect<ChainTypeT extends ChainType | string = DefaultChainType>(networkOrParams?: NetworkConnectionParams<ChainTypeT> | string): Promise<NetworkConnection<ChainTypeT>>; } export interface NetworkConnection<ChainTypeT extends ChainType | string = DefaultChainType> { readonly id: number; readonly networkName: string; readonly networkConfig: Readonly<NetworkConfig>; readonly chainType: ChainTypeT; readonly provider: EthereumProvider; close(): Promise<void>; } //# sourceMappingURL=network.d.ts.map