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

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

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.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

v1.1.12 rc

debug

All 15 comments

good catch - 2 points!

good catch - 2 points!

Were you able to reproduce the error?

Cannot repro.

CC v3.1.7 TestNet

Created several txs and worked well.

Did you censor "myfingerprint" in your logs or that is what you really have in your wallet file?

Cannot repro.

CC v3.1.7 TestNet

Created several txs and worked well.

Did you censor "myfingerprint" in your logs or that is what you really have in your wallet file?

Neither am I able to reproduce it.

@kravens can you check your wallet file if you might hacked that and left over the invalid fingerprint?

I censored it in the log I posted, actual fingerprint in the walletfile is OK.

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

Cannot reproduce.
Coldcard mk2 /current firmware/ Testnet

@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.

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 馃槩

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.

So this seems to be solved? Are you still encountering long delays?

I think it is solved now, but I thought that before too... So because of inconsistency between tests I think this has nothing to do with Wasabi (perhaps HWI or USB related) and we can probably close the issue.

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.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

yahiheb picture yahiheb  路  3Comments

the-metalworker picture the-metalworker  路  3Comments

trading2835 picture trading2835  路  3Comments

kenny47 picture kenny47  路  3Comments

gabridome picture gabridome  路  3Comments