| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147 | 
							- /**
 
-  *  [[link-etherscan]] provides a third-party service for connecting to
 
-  *  various blockchains over a combination of JSON-RPC and custom API
 
-  *  endpoints.
 
-  *
 
-  *  **Supported Networks**
 
-  *
 
-  *  - Ethereum Mainnet (``mainnet``)
 
-  *  - Goerli Testnet (``goerli``)
 
-  *  - Sepolia Testnet (``sepolia``)
 
-  *  - Holesky Testnet (``holesky``)
 
-  *  - Arbitrum (``arbitrum``)
 
-  *  - Arbitrum Goerli Testnet (``arbitrum-goerli``)
 
-  *  - Base (``base``)
 
-  *  - Base Sepolia Testnet (``base-sepolia``)
 
-  *  - BNB Smart Chain Mainnet (``bnb``)
 
-  *  - BNB Smart Chain Testnet (``bnbt``)
 
-  *  - Optimism (``optimism``)
 
-  *  - Optimism Goerli Testnet (``optimism-goerli``)
 
-  *  - Polygon (``matic``)
 
-  *  - Polygon Mumbai Testnet (``matic-mumbai``)
 
-  *  - Polygon Amoy Testnet (``matic-amoy``)
 
-  *
 
-  *  @_subsection api/providers/thirdparty:Etherscan  [providers-etherscan]
 
-  */
 
- import { Contract } from "../contract/index.js";
 
- import { AbstractProvider } from "./abstract-provider.js";
 
- import { Network } from "./network.js";
 
- import { NetworkPlugin } from "./plugins-network.js";
 
- import { PerformActionRequest } from "./abstract-provider.js";
 
- import type { Networkish } from "./network.js";
 
- import type { TransactionRequest } from "./provider.js";
 
- /**
 
-  *  When subscribing to the ``"debug"`` event on an Etherscan-based
 
-  *  provider, the events receive a **DebugEventEtherscanProvider**
 
-  *  payload.
 
-  *
 
-  *  @_docloc: api/providers/thirdparty:Etherscan
 
-  */
 
- export type DebugEventEtherscanProvider = {
 
-     action: "sendRequest";
 
-     id: number;
 
-     url: string;
 
-     payload: Record<string, any>;
 
- } | {
 
-     action: "receiveRequest";
 
-     id: number;
 
-     result: any;
 
- } | {
 
-     action: "receiveError";
 
-     id: number;
 
-     error: any;
 
- };
 
- /**
 
-  *  A Network can include an **EtherscanPlugin** to provide
 
-  *  a custom base URL.
 
-  *
 
-  *  @_docloc: api/providers/thirdparty:Etherscan
 
-  */
 
- export declare class EtherscanPlugin extends NetworkPlugin {
 
-     /**
 
-      *  The Etherscan API base URL.
 
-      */
 
-     readonly baseUrl: string;
 
-     /**
 
-      *  Creates a new **EtherscanProvider** which will use
 
-      *  %%baseUrl%%.
 
-      */
 
-     constructor(baseUrl: string);
 
-     clone(): EtherscanPlugin;
 
- }
 
- /**
 
-  *  The **EtherscanBaseProvider** is the super-class of
 
-  *  [[EtherscanProvider]], which should generally be used instead.
 
-  *
 
-  *  Since the **EtherscanProvider** includes additional code for
 
-  *  [[Contract]] access, in //rare cases// that contracts are not
 
-  *  used, this class can reduce code size.
 
-  *
 
-  *  @_docloc: api/providers/thirdparty:Etherscan
 
-  */
 
- export declare class EtherscanProvider extends AbstractProvider {
 
-     #private;
 
-     /**
 
-      *  The connected network.
 
-      */
 
-     readonly network: Network;
 
-     /**
 
-      *  The API key or null if using the community provided bandwidth.
 
-      */
 
-     readonly apiKey: null | string;
 
-     /**
 
-      *  Creates a new **EtherscanBaseProvider**.
 
-      */
 
-     constructor(_network?: Networkish, _apiKey?: string);
 
-     /**
 
-      *  Returns the base URL.
 
-      *
 
-      *  If an [[EtherscanPlugin]] is configured on the
 
-      *  [[EtherscanBaseProvider_network]], returns the plugin's
 
-      *  baseUrl.
 
-      */
 
-     getBaseUrl(): string;
 
-     /**
 
-      *  Returns the URL for the %%module%% and %%params%%.
 
-      */
 
-     getUrl(module: string, params: Record<string, string>): string;
 
-     /**
 
-      *  Returns the URL for using POST requests.
 
-      */
 
-     getPostUrl(): string;
 
-     /**
 
-      *  Returns the parameters for using POST requests.
 
-      */
 
-     getPostData(module: string, params: Record<string, any>): Record<string, any>;
 
-     detectNetwork(): Promise<Network>;
 
-     /**
 
-      *  Resolves to the result of calling %%module%% with %%params%%.
 
-      *
 
-      *  If %%post%%, the request is made as a POST request.
 
-      */
 
-     fetch(module: string, params: Record<string, any>, post?: boolean): Promise<any>;
 
-     /**
 
-      *  Returns %%transaction%% normalized for the Etherscan API.
 
-      */
 
-     _getTransactionPostData(transaction: TransactionRequest): Record<string, string>;
 
-     /**
 
-      *  Throws the normalized Etherscan error.
 
-      */
 
-     _checkError(req: PerformActionRequest, error: Error, transaction: any): never;
 
-     _detectNetwork(): Promise<Network>;
 
-     _perform(req: PerformActionRequest): Promise<any>;
 
-     getNetwork(): Promise<Network>;
 
-     /**
 
-      *  Resolves to the current price of ether.
 
-      *
 
-      *  This returns ``0`` on any network other than ``mainnet``.
 
-      */
 
-     getEtherPrice(): Promise<number>;
 
-     /**
 
-      *  Resolves to a [Contract]] for %%address%%, using the
 
-      *  Etherscan API to retreive the Contract ABI.
 
-      */
 
-     getContract(_address: string): Promise<null | Contract>;
 
-     isCommunityResource(): boolean;
 
- }
 
- //# sourceMappingURL=provider-etherscan.d.ts.map
 
 
  |