Walletwasabi: v1.1.12rc Unable to sign txs with LedgerNanoS hardware wallet

Created on 14 Jul 2020  路  11Comments  路  Source: zkSNACKs/WalletWasabi

General Description

Using TestNet and a LedgerNanoS (latest firmware 1.6.0) I was unable to get WasabiWallet to sign with my hardware wallet.
The transaction did show up on my Ledger NanoS to sign, which I did verify and approve, but only after the error message occured.

How To Reproduce?

  1. Go to 'Send', make a test txs
  2. Click on 'Send Transaction'
  3. Connect LedgerNanoS, enter pin, open Bitcoin/BitcoinTest app
  4. See error after waiting several minutes

Screenshots

image

Operating System

Windows 10
Version 10.0.18363 Build 18363

Logs

2020-07-14 19:10:17 INFO TransactionFactory (108) Calculating dynamic transaction fee...
2020-07-14 19:10:17 INFO TransactionFactory (176) Fee: 314 Satoshi.
2020-07-14 19:10:17 INFO TransactionFactory (179) Estimated tx size: 314 vBytes.
2020-07-14 19:10:17 INFO TransactionFactory (219) Signing transaction...
2020-07-14 19:10:17 INFO TransactionFactory (307) Transaction is successfully built: 131887740981018c5c41ed23d7e408fe636bd08653bdb34d54068efd4d2baf74.
2020-07-14 19:11:12 INFO WasabiSynchronizer (288) Downloaded filter for block 1780696.
2020-07-14 19:11:13 INFO MempoolService (117) Start cleaning out mempool...
2020-07-14 19:11:16 INFO MempoolService (127) 193 transactions were cleaned from mempool.
2020-07-14 19:13:17 ERROR SendControlViewModel (361) System.OperationCanceledException: 'hwi --testnet --fingerprint "myfingerprint" --stdin signtx' operation is canceled.
---> System.Threading.Tasks.TaskCanceledException: Waiting for process exiting was canceled.
---> System.OperationCanceledException: The operation was canceled.
at System.Threading.Tasks.TaskExtensions.WithAwaitCancellationAsyncT
at WalletWasabi.Hwi.HwiClient.SendCommandAsync(IEnumerable1 options, Nullable1 command, String commandArguments, Boolean openConsole, CancellationToken cancel, Boolean isRecursion, Action1 standardInputWriter) --- End of inner exception stack trace --- at WalletWasabi.Hwi.HwiClient.SendCommandAsync(IEnumerable1 options, Nullable1 command, String commandArguments, Boolean openConsole, CancellationToken cancel, Boolean isRecursion, Action1 standardInputWriter)
at WalletWasabi.Hwi.HwiClient.SignTxImplAsync(Nullable1 deviceType, String devicePath, Nullable1 fingerprint, PSBT psbt, CancellationToken cancel)
at WalletWasabi.Hwi.HwiClient.SignTxAsync(HDFingerprint fingerprint, PSBT psbt, CancellationToken cancel)
at WalletWasabi.Gui.Controls.WalletExplorer.SendTabViewModel.BuildTransaction(String password, PaymentIntent payments, FeeStrategy feeStrategy, Boolean allowUnconfirmed, IEnumerable`1 allowedInputs)
at WalletWasabi.Gui.Controls.WalletExplorer.SendControlViewModel.<.ctor>b__28_29()

Wasabi Version

Release candidate 1.1.12

debug

Most helpful comment

HWI signtx is never returning and our timeout is 3 minutes, because we want to let the user have some time to review and and ACK or NACK the transaction.

On another note, this is somewhat silly. One should be logged into the Bitcoin app on Ledger before he send a transaction. I don't know if HWI or Ledger itself doesn't reply, but @achow101, @gre, @charlesledger if you think it's worth looking into, can you make sure that when signtx request goes to Ledger and the user isn't logged into the Bitcoin app on the device then an insta error comes back?

I'm closing this as this is outside of Wasabi's control.

All 11 comments

I can't reproduce with my Ledger but today I saw that error many times while I was testing Trezor devices.

@RiccardoMasutti Could be a similar issue? Perhaps related with the HWI interface?

@RiccardoMasutti Could be a similar issue? Perhaps related with the HWI interface?

I think it's normal behaviour when something goes wrong with the communication between wasabi and the device, it also happened to me multiple times.
I'm still investigating

2020-07-14 19:46:09 ERROR ConnectHardwareWalletViewModel (140) System.Threading.Tasks.TaskCanceledException: A task was canceled.

Looks like loading/detecting the NanoLedgerS in Wallet Manager also has issues, task cancelled instead of identifying the hardware device.

https://giphy.com/gifs/d5qhkH7YQdsFC6RWPz
Can't upload video above 10MB, included a short clip of the signing of the test txs on the NanoS that did not get recognized by WasabiWallet afterwards.

I'm pretty sure that this error appears when the device is busy.
For example, this appears if I try to display an address to the Trezor and sign a transaction at the same time:
trezor-error-busy-fingerprint

(Even though mine and your error are different, I believe the principle and cause are the same)

so many hww issues...
2 points

so many hww issues...
2 points

Do I have to open an issue for my specific error? Today I found 2 other different ones, they change according to the operations I perform.

However, they are probably all related to the reason I mentioned above.

yes, I think there's a fundamental fuckup with hardware wallets in wasabi right now... I think the issues are alright as they are now, and it will be recognized in the contribution game adequately.

Thanks for testing y'all!

Probably this is just because of larger PSBT and slower processing and we need to increase the timeout.

HWI signtx is never returning and our timeout is 3 minutes, because we want to let the user have some time to review and and ACK or NACK the transaction.

On another note, this is somewhat silly. One should be logged into the Bitcoin app on Ledger before he send a transaction. I don't know if HWI or Ledger itself doesn't reply, but @achow101, @gre, @charlesledger if you think it's worth looking into, can you make sure that when signtx request goes to Ledger and the user isn't logged into the Bitcoin app on the device then an insta error comes back?

I'm closing this as this is outside of Wasabi's control.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

nopara73 picture nopara73  路  3Comments

molnard picture molnard  路  3Comments

yahiheb picture yahiheb  路  3Comments

yahiheb picture yahiheb  路  3Comments

trading2835 picture trading2835  路  3Comments