I am learning Solidity. I have managed to create sample dapps with Truffle.
This sample apps are interacting with a smartcontract with web3js.
Each time my dapp calls a smartcontract's function, the metamask popup ask me a confirmation. Everything works fine.
I have tried uniswap and there is something very strange for me: Uniswap ask me to "connect" my metamask wallet.
Then, i can see my Ethereum wallet's balance directly in uniswap webapp...
How can they do that ? I have looked uniswap soldity files on github and i do not understand where they connect the smartcontract to my metamask account.
Is it a good thing in term of privacy ? When i accept to connect my metamask wallet to uniswap, do i allow them to do what they want with my ether ?