MetaMask Version 6.0.1
When using a derivation path such as m/44'/60'/0'/0, everything works, but if I choose an account with a derivation path like m/44'/60'/0'/2, transactions fail to send because of insufficient funds. I believe this is because it is signing transactions with the wrong account. I would expect those derivation paths to be supported because they are listed as options when connecting the hardware wallet.
Separately, I am unable to connect more than one hardware account at a time.
We are using Ledgers.
cc @brunobar79
Thanks
Our wallet at m/44'/60'/0'/0 had no funds, while our wallet at m/44'/60'/0'/2 had 0.25. We got the received insufficient funds JSON error after confirming the transaction on the device.
The RPC error was "insufficient funds for gas * price + value"
I cannot reproduce this issue with the steps provided. Please keep an eye out for more reports.
I just ran into this, can we re-open? Alternatively, what did you do to try to repro that made it work?
My steps were:
from address.This didn't happen to me the other day, now it happened to me again today. I don't know what makes it happen vs not, but at the moment I have no way to sign a transaction with my ledger as I cannot get it to prompt me with the correct address.
Note: The correct address is presented in the signing UI, but that is not the address that is being signed with. Everything _except_ the address used for signing is correct.
Just got another report of this from an Augur user. They are unable to use MetaMask to sign transactions with their ledger. As above, MM appears to be running gas estimation with the wrong derivation path.
This issue is quite frustrating because it renders the ledger unusable from within MetaMask.
@MicahZoltu I don't think it's related to the gas estimation since we use the public key already imported (and visible in the UI for that).
I believe there's something else going on since with the steps described no one would be able to sign a TX with ledger using the first account of the Legacy HD path and I've verified that's not the case.
I believe I followed a very similar path here and signed a tx proposed by a dapp which worked correctly: http://recordit.co/UNeBMHi6F8
The transaction failed due to not enough gas would be also happening if you're signing a tx with an account that has no balance, which it's likely to happen if there's a bug with the HD path / index of the selected account.
A couple of questions:
It would be even better if you can share the dApp where you're able to reproduce this issue.
It may be hard to reproduce because current versions of Chrome do not work with Ledger: https://support.ledger.com/hc/en-us/articles/360018810413-U2F-timeout-in-Chrome-browser
We have also seen the issue with Brave.
We were on mainnet.
@wjmelements if you upgrade the firmware to 1.5.5 and the ETH app to 1.2.4 via the ledger live app it should work.
Unfortunately, today is a "cannot reproduce" day. 馃槩 Some days I am able to reproduce this 100% of the time (meaning my ledger is useless from MetaMask) and some days I cannot reproduce it at all. I have no idea what triggers whether it can be reproduced.
I vaguely remember that on reproducing days I have the same problem sending ETH via MetaMask UI, it isn't a problem specific to using dapps. Trying to sign _anything_ with the Ledger would have this problem where it was trying to sign with the wrong derivation path.
It may be worth noting, my Ledger has pretty old firmware on it.
Brave: Version 0.62.50 Chromium: 73.0.3683.86 (Official Build) (64-bit)
@MicahZoltu That鈥檚 unfortunate...
I encourage you to upgrade your ledger firmware and ETH app and keep us posted.
Wouldn鈥檛 be surprised if that鈥檚 related.
Most helpful comment
Just got another report of this from an Augur user. They are unable to use MetaMask to sign transactions with their ledger. As above, MM appears to be running gas estimation with the wrong derivation path.
This issue is quite frustrating because it renders the ledger unusable from within MetaMask.