ethers.js/packages/providers/lib/base-provider.d.ts

137 lines
6.6 KiB
TypeScript
Raw Normal View History

2020-03-12 21:14:50 +03:00
/// <reference types="node" />
2019-05-15 01:48:48 +03:00
import { Block, BlockTag, BlockWithTransactions, EventType, Filter, FilterByBlockHash, Listener, Log, Provider, TransactionReceipt, TransactionRequest, TransactionResponse } from "@ethersproject/abstract-provider";
import { BigNumber, BigNumberish } from "@ethersproject/bignumber";
import { Network, Networkish } from "@ethersproject/networks";
2020-06-01 12:04:12 +03:00
import { Deferrable } from "@ethersproject/properties";
2019-05-15 01:48:48 +03:00
import { Transaction } from "@ethersproject/transactions";
import { Formatter } from "./formatter";
2020-03-12 21:14:50 +03:00
export declare class Event {
2019-05-15 01:48:48 +03:00
readonly listener: Listener;
readonly once: boolean;
readonly tag: string;
constructor(tag: string, listener: Listener, once: boolean);
2020-04-16 01:28:04 +03:00
get event(): EventType;
get type(): string;
get hash(): string;
get filter(): Filter;
2019-05-15 01:48:48 +03:00
pollable(): boolean;
}
2020-09-04 08:37:14 +03:00
export interface EnsResolver {
readonly name: string;
readonly address: string;
getAddress(coinType?: 60): Promise<string>;
getContentHash(): Promise<string>;
getText(key: string): Promise<string>;
}
export interface EnsProvider {
resolveName(name: string): Promise<string>;
lookupAddress(address: string): Promise<string>;
getResolver(name: string): Promise<EnsResolver>;
}
export declare class Resolver implements EnsResolver {
readonly provider: BaseProvider;
readonly name: string;
readonly address: string;
constructor(provider: BaseProvider, address: string, name: string);
_fetchBytes(selector: string, parameters?: string): Promise<string>;
_getAddress(coinType: number, hexBytes: string): string;
getAddress(coinType?: number): Promise<string>;
getContentHash(): Promise<string>;
getText(key: string): Promise<string>;
}
export declare class BaseProvider extends Provider implements EnsProvider {
2020-05-04 00:53:58 +03:00
_networkPromise: Promise<Network>;
2019-05-15 01:48:48 +03:00
_network: Network;
_events: Array<Event>;
formatter: Formatter;
_emitted: {
[eventName: string]: number | "pending";
};
_pollingInterval: number;
2020-03-12 21:14:50 +03:00
_poller: NodeJS.Timer;
2020-05-05 06:01:04 +03:00
_bootstrapPoll: NodeJS.Timer;
2019-05-15 01:48:48 +03:00
_lastBlockNumber: number;
_fastBlockNumber: number;
_fastBlockNumberPromise: Promise<number>;
_fastQueryDate: number;
2019-11-20 12:57:38 +03:00
_maxInternalBlockNumber: number;
_internalBlockNumber: Promise<{
blockNumber: number;
reqTime: number;
respTime: number;
}>;
2020-06-03 10:47:17 +03:00
readonly anyNetwork: boolean;
2019-05-15 01:48:48 +03:00
/**
* ready
*
* A Promise<Network> that resolves only once the provider is ready.
*
* Sub-classes that call the super with a network without a chainId
* MUST set this. Standard named networks have a known chainId.
*
*/
constructor(network: Networkish | Promise<Network>);
2020-05-04 00:53:58 +03:00
_ready(): Promise<Network>;
get ready(): Promise<Network>;
2019-05-15 01:48:48 +03:00
static getFormatter(): Formatter;
2019-07-02 23:13:03 +03:00
static getNetwork(network: Networkish): Network;
2019-11-20 12:57:38 +03:00
_getInternalBlockNumber(maxAge: number): Promise<number>;
poll(): Promise<void>;
2019-05-15 01:48:48 +03:00
resetEventsBlock(blockNumber: number): void;
get network(): Network;
2020-06-03 10:47:17 +03:00
detectNetwork(): Promise<Network>;
2019-05-15 01:48:48 +03:00
getNetwork(): Promise<Network>;
get blockNumber(): number;
get polling(): boolean;
set polling(value: boolean);
get pollingInterval(): number;
set pollingInterval(value: number);
2019-05-15 01:48:48 +03:00
_getFastBlockNumber(): Promise<number>;
_setFastBlockNumber(blockNumber: number): void;
2020-02-04 09:06:47 +03:00
waitForTransaction(transactionHash: string, confirmations?: number, timeout?: number): Promise<TransactionReceipt>;
2021-05-17 23:19:36 +03:00
_waitForTransaction(transactionHash: string, confirmations: number, timeout: number, replaceable: {
data: string;
from: string;
nonce: number;
to: string;
value: BigNumber;
startBlock: number;
}): Promise<TransactionReceipt>;
2019-05-15 01:48:48 +03:00
getBlockNumber(): Promise<number>;
getGasPrice(): Promise<BigNumber>;
getBalance(addressOrName: string | Promise<string>, blockTag?: BlockTag | Promise<BlockTag>): Promise<BigNumber>;
getTransactionCount(addressOrName: string | Promise<string>, blockTag?: BlockTag | Promise<BlockTag>): Promise<number>;
getCode(addressOrName: string | Promise<string>, blockTag?: BlockTag | Promise<BlockTag>): Promise<string>;
getStorageAt(addressOrName: string | Promise<string>, position: BigNumberish | Promise<BigNumberish>, blockTag?: BlockTag | Promise<BlockTag>): Promise<string>;
2021-05-17 23:19:36 +03:00
_wrapTransaction(tx: Transaction, hash?: string, startBlock?: number): TransactionResponse;
2019-05-15 01:48:48 +03:00
sendTransaction(signedTransaction: string | Promise<string>): Promise<TransactionResponse>;
2020-06-01 12:04:12 +03:00
_getTransactionRequest(transaction: Deferrable<TransactionRequest>): Promise<Transaction>;
2019-05-15 01:48:48 +03:00
_getFilter(filter: Filter | FilterByBlockHash | Promise<Filter | FilterByBlockHash>): Promise<Filter | FilterByBlockHash>;
2020-06-01 12:04:12 +03:00
call(transaction: Deferrable<TransactionRequest>, blockTag?: BlockTag | Promise<BlockTag>): Promise<string>;
estimateGas(transaction: Deferrable<TransactionRequest>): Promise<BigNumber>;
2019-05-24 02:13:44 +03:00
_getAddress(addressOrName: string | Promise<string>): Promise<string>;
2019-05-15 01:48:48 +03:00
_getBlock(blockHashOrBlockTag: BlockTag | string | Promise<BlockTag | string>, includeTransactions?: boolean): Promise<Block | BlockWithTransactions>;
getBlock(blockHashOrBlockTag: BlockTag | string | Promise<BlockTag | string>): Promise<Block>;
getBlockWithTransactions(blockHashOrBlockTag: BlockTag | string | Promise<BlockTag | string>): Promise<BlockWithTransactions>;
2019-11-20 12:57:38 +03:00
getTransaction(transactionHash: string | Promise<string>): Promise<TransactionResponse>;
getTransactionReceipt(transactionHash: string | Promise<string>): Promise<TransactionReceipt>;
2019-05-15 01:48:48 +03:00
getLogs(filter: Filter | FilterByBlockHash | Promise<Filter | FilterByBlockHash>): Promise<Array<Log>>;
getEtherPrice(): Promise<number>;
_getBlockTag(blockTag: BlockTag | Promise<BlockTag>): Promise<BlockTag>;
2020-09-04 08:37:14 +03:00
getResolver(name: string): Promise<Resolver>;
2019-05-15 01:48:48 +03:00
_getResolver(name: string): Promise<string>;
resolveName(name: string | Promise<string>): Promise<string>;
lookupAddress(address: string | Promise<string>): Promise<string>;
perform(method: string, params: any): Promise<any>;
2020-03-12 21:14:50 +03:00
_startEvent(event: Event): void;
_stopEvent(event: Event): void;
2019-05-15 01:48:48 +03:00
_addEventListener(eventName: EventType, listener: Listener, once: boolean): this;
on(eventName: EventType, listener: Listener): this;
once(eventName: EventType, listener: Listener): this;
emit(eventName: EventType, ...args: Array<any>): boolean;
listenerCount(eventName?: EventType): number;
listeners(eventName?: EventType): Array<Listener>;
off(eventName: EventType, listener?: Listener): this;
removeAllListeners(eventName?: EventType): this;
}
//# sourceMappingURL=base-provider.d.ts.map