UNPKG

@asset-projects/ethers-wrapper

Version:
98 lines (97 loc) 3.55 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getEtherscanProvider = exports.getAnkrProvider = exports.getAlchemyProvider = exports.getInfuraProvider = exports.getJsonRpcProvider = exports.getDefaultProvider = void 0; const ethers_1 = require("ethers"); /** * @param network Networkish: string | number | undefined; default: homestead; Support Network: ("homestead", "ropsten", 1, 3, ...) * @returns ethers.providers.BaseProvider | undefined */ const getDefaultProvider = (network) => { try { return ethers_1.ethers.getDefaultProvider(network); } catch (_a) { return; } }; exports.getDefaultProvider = getDefaultProvider; /** * * @param jsonRpcUrl string * @returns ethers.providers.JsonRpcProvider */ const getJsonRpcProvider = (jsonRpcUrl) => { if (!jsonRpcUrl.match(/(http(s)?:\/\/.)?(www\.)?[-a-zA-Z0-9@:%._+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_+.~#?&//=]*)/g)) { return; } try { return new ethers_1.ethers.providers.JsonRpcProvider(jsonRpcUrl); } catch (_a) { return; } }; exports.getJsonRpcProvider = getJsonRpcProvider; /** * * @param network Networkish: string | number | undefined; default: homestead; Support Network: ("homestead" | "ropsten" | "rinkeby" | "goerli" | "kovan" | "matic" | "maticmum" | "optimism" | "optimism-kovan" | "arbitrum" | "arbitrum-rinkeby") * @returns ethers.providers.InfuraProvider | ethers.providers.InfuraWebSocketProvider | undefined */ const getInfuraProvider = (network, apikey) => { const key = !apikey || (!apikey.projectId && !apikey.projectSecret) ? undefined : apikey.projectId && !apikey.projectSecret ? apikey.projectId : apikey; try { return new ethers_1.ethers.providers.InfuraProvider(network, key); } catch (_a) { return; } }; exports.getInfuraProvider = getInfuraProvider; /** * * @param network Networkish: string | number | undefined; default: homestead; Support Network: ("homestead" | "ropsten" | "rinkeby" | "goerli" | "kovan" | "matic" | "maticmum" | "optimism" | "optimism-kovan" | "arbitrum" | "arbitrum-rinkeby") * @param apikey string | undefined * @returns ethers.providers.AlchemyProvider | ethers.providers.AlchemyWebSocketProvider | undefined */ const getAlchemyProvider = (network, apikey) => { try { return new ethers_1.ethers.providers.AlchemyProvider(network, apikey); } catch (_a) { return; } }; exports.getAlchemyProvider = getAlchemyProvider; /** * * @param network Networkish: string | number | undefined; default: homestead; Support Network: ("homestead" | "matic" | "arbitrum") * @param apikey string | undefined * @returns ethers.providers.AnkrProvider | undefined */ const getAnkrProvider = (network, apikey) => { try { return new ethers_1.ethers.providers.AnkrProvider(network, apikey); } catch (_a) { return; } }; exports.getAnkrProvider = getAnkrProvider; /** * @param network Networkish: string | number | undefined; default: homestead; Support Network: ("homestead" | "ropsten" | "rinkeby" | "goerli" | "kovan" | 1 | 3 | 4 | 5 | 42) * @param apikey string | undefined * @returns ethers.providers.EtherscanProvider | undefined */ const getEtherscanProvider = (network, apikey) => { try { return new ethers_1.ethers.providers.EtherscanProvider(network, apikey); } catch (_a) { return; } }; exports.getEtherscanProvider = getEtherscanProvider;