BitBoxSwiss / bitbox-bridge

A bridge that connects web wallets like MyEtherWallet to BitBox02
Apache License 2.0
20 stars 14 forks source link

Support for MetaMask #29

Closed JohannesHoppe closed 2 years ago

JohannesHoppe commented 3 years ago

This is really a showstopper for me. Currently I have to stay with Ledger for my web3.js activities because this device has an integration with MetaMask. The existing support for MEW (My Ether Wallet) is not helpful either, because the bridge can only be used to operate the proprietary portal. MEW CX has no support for the bridge, too.

see also https://github.com/MetaMask/metamask-extension/issues/8119 (one year old 😞 )

benma commented 3 years ago

MetaMask unfortunately seems to not have any capacity to review a PR or finish their plugin system rework. We are reaching out to them regularly with no success. Thanks for commenting in the other issue. We will keep pushing :pray:

I went to https://www.mewcx.com/, but I can't quite tell what it does. What is it? Maybe we can help make that use case work.

We will also be looking into WalletConnect - is that something that could help?

JohannesHoppe commented 3 years ago

We will also be looking into WalletConnect - is that something that could help?

Yes – and more often no! 😞

WalletConnect is supported by a number of sites, but not all. As long as I want to open a session with WalletConnect for the Etherium Mainnet, everything is fine. But even with my Ledger, I have not been able to do this for the Binance Smart Chain. There is not even an option to choose the network. Also the Binance Bridge is right now not supporting WalletConnect – but the Binance Bridge is fundamentally important for moving assets between both blockchains.

And last but not least, many simple pages (for stacking low maket cap tokens) usually only call up await window.ethereum.send('eth_requestAccounts') (as in EIP-1102 and EIP-1193). Usually, the MetaMask window or another web3 compatible wallet will open. That's all you can do – no barcode window for WalletConnect.

JohannesHoppe commented 3 years ago

I went to https://www.mewcx.com/, but I can't quite tell what it does. What is it? Maybe we can help make that use case work.

Just a simple Web3 Wallet like MetaMask, since the "old" My Ether Wallet is a locked garden and you can only do the things with MEW that the developers have built into the portal.

But unfortunately MEW CX does not support crypto hardware at all. Not even Ledger and Trezor. It says MEW on it, but there is no MEW inside.

JohannesHoppe commented 3 years ago

I created a follow up issue here: #30

In the end, I don't really care whether it's MetaMask or another wallet. I want to interact with dApps securely via my BitBox.

benma commented 2 years ago

The Metamask PR has been up for a while: https://github.com/MetaMask/metamask-extension/pull/12097

Metamask unfortunately does not want to merge it and recommended to us that we wait for their plugin system, which should allow such integrations independently.

benma commented 2 years ago

I will close this issue as there is nothing to do in the BitBoxBridge for this (it already allows bridging connections to extensions). The integration itself can be tracked in https://github.com/MetaMask/metamask-extension/issues/8119.

Flash1232 commented 2 years ago

Sad to see another delay, but thanks for trying anyways! Well, the folks from Lattice1 HW at least made it to an apparent MM HW sprint. PR found here.

EDIT: This seems to be moving towards a merge. Maybe you should switch to a review from their reviewer as well? :thinking: I don't understand how they would allow some HW wallets to integrate but tell others to wait for their plugin system.

gdiciancia commented 2 years ago

They do have screenshots/how-to's on their site for Legder/Trezor. Perhaps they expect a payment or partnership to add a HW integration...

Flash1232 commented 2 years ago

Lattice1's PR was merged yesterday. Maybe you should ask @danjm and @PeterYinusa from the MetaMask repo to review your PR as well.

feld commented 2 years ago

I don't understand how they would allow some HW wallets to integrate but tell others to wait for their plugin system.

The Lattice isn't a USB device. It connects to your wifi and you communicate with it over the network. MetaMask is against USB wallets because of reliability issues, but that does seem like a cop out

Toporin commented 2 years ago

Hi @benma, we have recently developped eth-walletconnect-keyring, an implementation of MetaMask's Keyring interface that uses the WalletConnect protocol to connect a (hardware) wallet to Metamask. A beta release of Metamask with this solution is available here for testing: https://github.com/Toporin/metamask-extension/releases/tag/v10.13.0-WC

This is an early proof-of-concept, but it would allow any wallet (hardware/software) that supports the WalletConnect protocol to connect to Metamask. It is a standard and neutral solution, quite simple and without USB/hardware requirements, so we hope that the Metamask team would be more willing to integrate it (like they did with the QR-code approach supported by multiple vendors).

Would you be interested to check this approach, and maybe collaborate with us to push this solution forward? The more people involved, the greater the chance to have a pull request accepted!

Everything is open source, questions, comments and pull requests are welcome!

schmitmd commented 1 year ago

@Toporin did anything ever come of your project? It sounds intriguing, but what did the MetaMask folks say? I couldn't really find any PRs or issues on it..

thisconnect commented 1 year ago

Have you tried using Rabby instead of MetaMask?

schmitmd commented 1 year ago

Yeah, rabby works fine but last I checked, it's chromium-based browsers only and doesn't have the brand recognition MetaMask does. I'm not blocked or anything, just wanted to follow up because toporin's thing sounded like a novel way of getting better hardware wallet support into MetaMask without asking them to include more USB stuff.

Toporin commented 1 year ago

@schmitmd, I had submitted a PR to Metamask about 1 year ago (https://github.com/MetaMask/metamask-extension/pull/14895), but without much reaction except a polite acknowledgement. I just sent them a reminder just in case...