61 lines
2.0 KiB
JavaScript
61 lines
2.0 KiB
JavaScript
"use strict";
|
|
import { Provider } from "@ethersproject/abstract-provider";
|
|
import { getNetwork } from "@ethersproject/networks";
|
|
import { BaseProvider } from "./base-provider";
|
|
import { AlchemyProvider } from "./alchemy-provider";
|
|
import { CloudflareProvider } from "./cloudflare-provider";
|
|
import { EtherscanProvider } from "./etherscan-provider";
|
|
import { FallbackProvider } from "./fallback-provider";
|
|
import { IpcProvider } from "./ipc-provider";
|
|
import { InfuraProvider } from "./infura-provider";
|
|
import { JsonRpcProvider, JsonRpcSigner } from "./json-rpc-provider";
|
|
import { NodesmithProvider } from "./nodesmith-provider";
|
|
import { Web3Provider } from "./web3-provider";
|
|
import { WebSocketProvider } from "./websocket-provider";
|
|
import { Formatter } from "./formatter";
|
|
import { Logger } from "@ethersproject/logger";
|
|
import { version } from "./_version";
|
|
const logger = new Logger(version);
|
|
////////////////////////
|
|
// Helper Functions
|
|
function getDefaultProvider(network, options) {
|
|
if (network == null) {
|
|
network = "homestead";
|
|
}
|
|
const n = getNetwork(network);
|
|
if (!n || !n._defaultProvider) {
|
|
logger.throwError("unsupported getDefaultProvider network", Logger.errors.NETWORK_ERROR, {
|
|
operation: "getDefaultProvider",
|
|
network: network
|
|
});
|
|
}
|
|
return n._defaultProvider({
|
|
FallbackProvider,
|
|
AlchemyProvider,
|
|
CloudflareProvider,
|
|
EtherscanProvider,
|
|
InfuraProvider,
|
|
JsonRpcProvider,
|
|
NodesmithProvider,
|
|
Web3Provider,
|
|
IpcProvider,
|
|
}, options);
|
|
}
|
|
////////////////////////
|
|
// Exports
|
|
export {
|
|
// Abstract Providers (or Abstract-ish)
|
|
Provider, BaseProvider,
|
|
///////////////////////
|
|
// Concreate Providers
|
|
FallbackProvider, AlchemyProvider, CloudflareProvider, EtherscanProvider, InfuraProvider, JsonRpcProvider, NodesmithProvider, Web3Provider, WebSocketProvider, IpcProvider,
|
|
///////////////////////
|
|
// Signer
|
|
JsonRpcSigner,
|
|
///////////////////////
|
|
// Functions
|
|
getDefaultProvider, getNetwork,
|
|
///////////////////////
|
|
// Objects
|
|
Formatter };
|