WalletWasabi: v1.1.12 Unable to sign with usb-connected ColdCard

General Description

Even though it is not a best security practice, the other issues reported with Trezor and Ledger HW-devices pushed me to try and use the ColdCard over USB to see if that still works with the latest firmware. Conclusion, it does not! With a similar error as the other hardware wallet gave when trying to sign the testnet txs. Actually no prompt to sign a txs was shown on the ColdCard at all, in contrast to the LedgerNanoS test #3931 edit: The prompt on ColdCard shows up ~2 minutes too late.

How To Reproduce?

  1. Go to ‘Send’
  2. Make a test txs with selected coins and receiving address
  3. Click on ‘Send Transaction’
  4. Wait for hardware wallet to respond
  5. See error

Screenshots

image

Operating System

Win10 Version 10.0.18363 Build 18363

Logs

2020-07-14 19:59:46 INFO WalletManager (194) Wallet started. 2020-07-14 20:00:13 INFO TransactionFactory (108) Calculating dynamic transaction fee… 2020-07-14 20:00:14 INFO TransactionFactory (176) Fee: 178 Satoshi. 2020-07-14 20:00:14 INFO TransactionFactory (179) Estimated tx size: 178 vBytes. 2020-07-14 20:00:14 INFO TransactionFactory (219) Signing transaction… 2020-07-14 20:00:14 INFO TransactionFactory (307) Transaction is successfully built: 87dc22ecaa532816932413dfffdfc6b42798cead3d10804b47bfc5cbf9c42c2d. 2020-07-14 20:00:58 ERROR ConnectHardwareWalletViewModel (140) System.Threading.Tasks.TaskCanceledException: A task was canceled. 2020-07-14 20:03:14 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.WithAwaitCancellationAsync[T](Task1 me, CancellationToken cancel, Int32 waitForGracefulTerminationMilliseconds) at System.Diagnostics.ProcessExtensions.WaitForExitAsync(Process process, CancellationToken cancel) --- End of inner exception stack trace --- at System.Diagnostics.ProcessExtensions.WaitForExitAsync(Process process, CancellationToken cancel) at WalletWasabi.Microservices.ProcessBridge.SendCommandAsync(String arguments, Boolean openConsole, CancellationToken cancel, Action1 standardInputWriter) 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

v1.1.12 rc

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Comments: 15 (4 by maintainers)

Most upvoted comments

I am closing it. Feel free to reopen if occurs again. By the way, I had similar problems with Ledger and turned out the USB cable was just not “compatible”. As soon I as replaced with another one all issues went away.

After a long wait and machine reboot, the 2 UTXO consolidation worked properly! Also confirmed 5 UTXO can be consolidated without issues: image Perhaps this issue is simply related to some USB bitrate setting on my PC, causing very lengthy communication times once in a while… otherwise I have no good explanation for this behaviour.

Tested again with 1.1.12rc2, selected both 5 and 2 UTXO to try: image 2020-07-27 00 37 58 With 5 UTXO I did not see any prompt on the Coldcard (via USB) and with 2 UTXO selected I did see the prompt. Here I signed/accepted, but Wasabi did not properly receive/broadcast the transaction 😢

@molnard @MaxHillebrand Update 2: I’ve now been able to successfully sign over USB, after updating dotnet Core to the latest version and rebooting my machine! image Perhaps something funny was going on with the USB interface when connecting different hardware wallets during the same session, don’t know for sure. Probably safe to say Wasabi Wallet rc1.1.12 does USB-signing correct now too for me. Waiting time was just a few seconds, not 5 minutes, before the ColdCard displayed the TXs details to sign.

What I noticed now, trying to reproduce the error, is that the ColdCard gives me the ‘OK to Send?’ message about ~2 minutes after the time-out of 3 minutes for sending a TXs in WasabiWallet. After signing on the ColdCard the transaction does not get communicated with WasabiWallet anymore, also after clicking the Send Transaction button in the Send tab again. I have the idea that there is a big delay, maybe because of a big txs, or because HWI is not responsive enough with detecting and forwarding the txs to sign. image 2020-07-16 16 22 48