Commit 81bc6926 authored by Noah Zinsmeister's avatar Noah Zinsmeister Committed by GitHub

Merge pull request #422 from NoahZinsmeister/beta

make web3 connection logic more robust
parents 9796c04d 45a0e93d
......@@ -32,8 +32,10 @@ const SpinnerWrapper = styled(Spinner)`
`
function tryToSetConnector(setConnector, setError) {
setConnector('Injected', { suppressAndThrowErrors: true }).catch(error => {
setConnector('Network')
setConnector('Injected', { suppressAndThrowErrors: true }).catch(() => {
setConnector('Network', { suppressAndThrowErrors: true }).catch(error => {
setError(error)
})
})
}
......@@ -54,25 +56,31 @@ export default function Web3ReactManager({ children }) {
if (accounts.length >= 1) {
tryToSetConnector(setConnector, setError)
} else {
setConnector('Network')
setConnector('Network', { suppressAndThrowErrors: true }).catch(error => {
setError(error)
})
}
})
}
} else {
setConnector('Network')
setConnector('Network', { suppressAndThrowErrors: true }).catch(error => {
setError(error)
})
}
}
}, [active, error, setConnector, setError])
})
// parse the error
useEffect(() => {
if (error) {
// if the user changes to the wrong network, unset the connector
if (error.code === Connector.errorCodes.UNSUPPORTED_NETWORK) {
setConnector('Network')
setConnector('Network', { suppressAndThrowErrors: true }).catch(error => {
setError(error)
})
}
}
}, [error, setConnector])
})
const [showLoader, setShowLoader] = useState(false)
useEffect(() => {
......
......@@ -77,7 +77,7 @@ export function Updater() {
useEffect(() => {
if (library) {
if (connectorName === 'Network') {
library.pollingInterval = 15
library.polling = false
} else {
library.pollingInterval = 5
}
......@@ -86,6 +86,7 @@ export function Updater() {
// update usd price
useEffect(() => {
if (library) {
let stale = false
getUSDPrice(library)
......@@ -99,11 +100,12 @@ export function Updater() {
updateUSDPrice(networkId, null)
}
})
}
}, [globalBlockNumber, library, networkId, updateUSDPrice])
// update block number
useEffect(() => {
if ((networkId || networkId === 0) && library) {
if (library) {
let stale = false
function update() {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment