Walletwasabi: Coldcard is rejecting Wasabi's PSBT

Created on 11 Jul 2019  路  18Comments  路  Source: zkSNACKs/WalletWasabi

I upgraded wasabi and coldcard firmware to 1.1.6 and 2.1.1 but when i try to sign the wasabi PSBT output it gives me a "failure none of the keys in this transaction..." and immediately exits. my identity is correct and it works for electrum PSBT

It is the issue as also described here: https://github.com/zkSNACKs/WalletWasabi/pull/1663#issuecomment-507857776

Heard from multiple people they are getting the same issue. My OS is Windows 10

debug priority questioresearch

Most helpful comment

@MaxHillebrand I did not have CC before the upgrade. i've only ever used wasabi wallet export on CC and on Firmware 2.1.1

I'm still able to reproduce error on my end after reinstalling latest versions:

Running wasabi v1.1.6
Coldcard 2.1.1 2019-07-03

Steps taken:

  • download CC .dfu file
  • place file onMicroSD
  • Put microSD in CC, upgrade from microSD to install new firmware
  • enter PIN, recognize code words, enter 2nd part of PIN,
  • enter passphrase
  • verify master key fingerprint on CC matches one initially made with CC
  • export wasabi wallet, created new-wasabi.json
  • launch Wasabi > Hardware Wallet > Import Coldcard.
  • File system error, write out the file path and click import
  • Imported correctly, wasabi can detect my old transactions.
  • Note: I'm not entirely sure what master key fingerprint means to both of these devices, is it determinable from the master pubkey? in any case CC and Wasabi don't match forward or reverse.
  • Build transaction, send something to myself. Hit export PSBT, file error so write in location manually
  • psbt on microSD, put microSD in CC (no need for passphrase this time since CC still on and passphrase still entered, verified with identity on CC)
  • ready to sign, detected psbt file, attempt to sign and get previous error

All 18 comments

I had this problem too. The solution for me was to re-export the Wasabi skeleton file on the Coldcard and then import it into Wasabi. After launching Wasabi, click on "Hardware Wallet" on the left, then select "Import Coldcard," and select & import the Wasabi skeleton file that was written to the SD card by the Coldcard.

Open that newly imported wallet and follow your workflow to build/export/sign. Should fix your problem.

Hmm. Not sure why multiple ppl have suggested this. Especially cause I don't know any other way/workflow that you would do to sign transactions generated by wasabi on coldcard. This is exactly how I went about producing the problem. The, start over and do it again approach as you suggest yields the same outcome.

I think multiple people are suggesting it because it fixed the exact problem you are referencing.

Coldcard changed the endianness of their master fingerprint export with the newest FW. If you exported your skeleton file and copied it into the Wasabi Wallets directory before upgrading to the most current FW, you would be unable to sign any of the PSBTs from the current version of Wasabi.

I believe this was the reason for the "Import Coldcard" functionality.

Of course, if you've freshly exported the skeleton file and followed the workflow properly, your issue could be entirely different.

thanks for documenting it, @brandontom - This seems like a known issue though.
Good observation, thanks @wundrellama.

@brandontom, did you have the cold card imported before the upgrade?
Are both the cold card, and wasabi on the same network, meaning mainnet or testnet?

my identity is correct

Unintuitively you should see that your identity is incorrect to be correct.
Reverse your master fingerprint in Wasabi's wallet file. 1 byte = 2 characters.
So if you see this: ABCD1234, then you change it to 3412CDAB.

Updating wasabi or coldcard firmware doesn't fix the already improperly imported wallet file, only the import coldcard function can handle the difference between coldcard versions.

Thanks for the replies,

I'll try reinstalling the latest CC firmware tonight and see if i can reproduce the bugs and note my steps down.

I saw last night that my master fingerprint identity on Wasabi did not match the master fingerprint identity on CC so i'll have to check that out again.

@brandontom is it possible you missed my comment? https://github.com/zkSNACKs/WalletWasabi/issues/1891#issuecomment-510991460

Do this:
image
https://steemit.com/bitcoin/@krav/partially-signed-bitcoin-transaction-with-wasabiwallet-and-coldcard

@nopara73 No i read it which made me think about how there was a mismatch, not entirely sure the relationship between the two, it could very well be the latest CC commit, so i'll verify that now.

@kravens Nice tutorial, like the pictures. Yeah that was the method I followed, i didn't do anything strange when attempting to sign it, and redid the workflow several times.

I'm going to reinstall wasabi and reinstall CC firmware right now and see if I can get it working

@MaxHillebrand I did not have CC before the upgrade. i've only ever used wasabi wallet export on CC and on Firmware 2.1.1

I'm still able to reproduce error on my end after reinstalling latest versions:

Running wasabi v1.1.6
Coldcard 2.1.1 2019-07-03

Steps taken:

  • download CC .dfu file
  • place file onMicroSD
  • Put microSD in CC, upgrade from microSD to install new firmware
  • enter PIN, recognize code words, enter 2nd part of PIN,
  • enter passphrase
  • verify master key fingerprint on CC matches one initially made with CC
  • export wasabi wallet, created new-wasabi.json
  • launch Wasabi > Hardware Wallet > Import Coldcard.
  • File system error, write out the file path and click import
  • Imported correctly, wasabi can detect my old transactions.
  • Note: I'm not entirely sure what master key fingerprint means to both of these devices, is it determinable from the master pubkey? in any case CC and Wasabi don't match forward or reverse.
  • Build transaction, send something to myself. Hit export PSBT, file error so write in location manually
  • psbt on microSD, put microSD in CC (no need for passphrase this time since CC still on and passphrase still entered, verified with identity on CC)
  • ready to sign, detected psbt file, attempt to sign and get previous error

Oh i see, my CC master fingerprint wallet = ABCD1234
the MasterFingerprint in my wasabi skeleton wallet file exported by CC = 3412CDAB

Yes, just as @nopara73 said.

My master fingerprint in the PSBT Json and in wasabi's stored "wallet.json" file does not match the above masterfingerprint(s)
Although not sure if the should? I'm not well versed in parsing PSBT or other BTC txns

Thanks for the step-by-step, it seems you are doing everything correctly @brandontom...1
Are you on the same network [test/main] on both cc and ww?

If yes, then I really don't know what's going on...

Maybe, try compiling the latest master branch to see if it is already fixed?

I noticed that wasabi is importing the testnet path wrong:

"AccountKeyPath": "84'/0'/0'"

but it should be 84'/1'/0' for testnet

not sure if it's related to this issue but I dropped by to report this.

@brandontom btw your fingerprint matches, but coldcard just displays the bytes in the reverse order for some reason.

Good catch @jb55, but it seems this still works for my testnet cold card without issue.

I noticed that wasabi is importing the testnet path wrong:

We uses mainnet path for every network.

Anyhow, this is a different topic. I think this issue is properly explored to close it.

Having this same issue. "None of the keys in this transaction belong to this coldcard."

Created wallet.
Exported from Coldcard into Wasabi.
Sent $btc from Coinbase to wallet.
Now trying to send back, save PSBT.
Selecting 'Ready to Sign' reproduces error from above.

For future reference, I replied here: https://github.com/zkSNACKs/WalletWasabi/pull/1663#issuecomment-617529759

Was this page helpful?
0 / 5 - 0 ratings

Related issues

yahiheb picture yahiheb  路  3Comments

davterra picture davterra  路  3Comments

yahiheb picture yahiheb  路  3Comments

RiccardoMasutti picture RiccardoMasutti  路  3Comments

MaxHillebrand picture MaxHillebrand  路  3Comments