@asset-projects/ethers-wrapper
Version:
98 lines (97 loc) • 3.55 kB
JavaScript
;
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;