otterscan/src/useProvider.ts

25 lines
626 B
TypeScript
Raw Normal View History

2021-07-09 16:54:59 +00:00
import { useMemo } from "react";
2021-07-08 19:02:42 +00:00
import { ethers } from "ethers";
export const DEFAULT_ERIGON_URL = "http://127.0.0.1:8545";
2021-07-09 05:07:20 +00:00
export const useProvider = (
2021-07-09 16:54:59 +00:00
erigonURL?: string
2021-07-09 05:07:20 +00:00
): ethers.providers.JsonRpcProvider | undefined => {
2021-07-08 19:02:42 +00:00
if (erigonURL === "") {
console.info(`Using default erigon URL: ${DEFAULT_ERIGON_URL}`);
erigonURL = DEFAULT_ERIGON_URL;
} else {
console.log(`Using configured erigon URL: ${erigonURL}`);
}
2021-07-09 16:54:59 +00:00
const provider = useMemo(
() => new ethers.providers.JsonRpcProvider(erigonURL, "mainnet"),
[erigonURL]
);
if (!erigonURL) {
return undefined;
}
return provider;
2021-07-08 19:02:42 +00:00
};