Is Metamask a web3 provider? I am aware it is a wallet. But is it also a web3 provider?
I have read from here (https://ethereum.stackexchange.com/a/34072/44794) that:
Web3 provider is a website running geth or parity node which talks to Ethereum network.
Then I have read here (https://github.com/Web3Modal/web3modal#introduction) that:
Web3Modal is an easy-to-use library to help developers add support for multiple providers in their apps with a simple customizable configuration.
What do you call Metamask, Dapper, Gnosis Safe, Frame and the rest? Are they web3Providers? Or what are they?
I am asking this line of code here (https://github.com/Web3Modal/web3modal#usage):
const provider = await web3Modal.connect();
const web3 = new Web3(provider)
// what is provider and why should I pass it to a new instantiation of web3?
;