import Web3 from 'web3';
import { AUCTION } from '../../utils/config';
let web3js;
const resolveWeb3 = async (resolve) => {
if (window.web3) {
web3js = new Web3(window.web3.currentProvider);
}
if (window.ethereum) {
web3js = new Web3(window.ethereum);
} else {
web3js = new Web3();
web3js.setProvider(
new web3js.providers.HttpProvider(AUCTION.HTTP_PROVIDER_URL)
);
}
resolve(web3js);
};
const waitForWeb3 = () =>
new Promise((resolve) => {
if (web3js) {
resolve(web3js);
return;
}
if (window.web3 || window.ethereum) {
resolveWeb3(resolve);
return;
}
if (window.document.readyState === 'complete') {
resolveWeb3(resolve);
return;
}
window.addEventListener('load', () => resolveWeb3(resolve));
});
export default waitForWeb3;