I want to detect if my user unlock their metamask so I can redirect them to the right page as soon as they unlock instead of having them click away from the "your metamask is locked" page. Is that possible?
2 Answers
If metamask is unlocked you should be able to call web3.eth.accounts.getAccounts() ( v 1.0.x ) to retrieve node's owned accounts or web3.eth.accounts with a non empty array node's owned account as result.
const isLocked = !(await ethereum._metamask.isUnlocked());
if (isLocked) {
window.location.reload()
}
// if not locked execute the rest of the logic
web3.eth.coinbase
is notnull
.