| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 | /** *  A **Network** encapsulates the various properties required to *  interact with a specific chain. * *  @_subsection: api/providers:Networks  [networks] */import type { BigNumberish } from "../utils/index.js";import type { TransactionLike } from "../transaction/index.js";import type { NetworkPlugin } from "./plugins-network.js";/** *  A Networkish can be used to allude to a Network, by specifing: *  - a [[Network]] object *  - a well-known (or registered) network name *  - a well-known (or registered) chain ID *  - an object with sufficient details to describe a network */export type Networkish = Network | number | bigint | string | {    name?: string;    chainId?: number;    ensAddress?: string;    ensNetwork?: number;};/** *  A **Network** provides access to a chain's properties and allows *  for plug-ins to extend functionality. */export declare class Network {    #private;    /**     *  Creates a new **Network** for %%name%% and %%chainId%%.     */    constructor(name: string, chainId: BigNumberish);    /**     *  Returns a JSON-compatible representation of a Network.     */    toJSON(): any;    /**     *  The network common name.     *     *  This is the canonical name, as networks migh have multiple     *  names.     */    get name(): string;    set name(value: string);    /**     *  The network chain ID.     */    get chainId(): bigint;    set chainId(value: BigNumberish);    /**     *  Returns true if %%other%% matches this network. Any chain ID     *  must match, and if no chain ID is present, the name must match.     *     *  This method does not currently check for additional properties,     *  such as ENS address or plug-in compatibility.     */    matches(other: Networkish): boolean;    /**     *  Returns the list of plugins currently attached to this Network.     */    get plugins(): Array<NetworkPlugin>;    /**     *  Attach a new %%plugin%% to this Network. The network name     *  must be unique, excluding any fragment.     */    attachPlugin(plugin: NetworkPlugin): this;    /**     *  Return the plugin, if any, matching %%name%% exactly. Plugins     *  with fragments will not be returned unless %%name%% includes     *  a fragment.     */    getPlugin<T extends NetworkPlugin = NetworkPlugin>(name: string): null | T;    /**     *  Gets a list of all plugins that match %%name%%, with otr without     *  a fragment.     */    getPlugins<T extends NetworkPlugin = NetworkPlugin>(basename: string): Array<T>;    /**     *  Create a copy of this Network.     */    clone(): Network;    /**     *  Compute the intrinsic gas required for a transaction.     *     *  A GasCostPlugin can be attached to override the default     *  values.     */    computeIntrinsicGas(tx: TransactionLike): number;    /**     *  Returns a new Network for the %%network%% name or chainId.     */    static from(network?: Networkish): Network;    /**     *  Register %%nameOrChainId%% with a function which returns     *  an instance of a Network representing that chain.     */    static register(nameOrChainId: string | number | bigint, networkFunc: () => Network): void;}//# sourceMappingURL=network.d.ts.map
 |