Closed CommanderUkraine closed 2 years ago
Is this the same PayNym from #474?
Also, what method of connection are you using with Sparrow - Bitcoin Core or Electrum server?
Also, what method of connection are you using with Sparrow - Bitcoin Core or Electrum server?
Electrum Server and yes it is the same paynym like 474.
My log is full of these ERRORs... :-(
022-03-20 21:21:53,490 ERROR [JavaFX Application Thread] c.s.s.w.WalletForm [null:-1] Could not determine payment codes for wallet SparrowWallet java.lang.IllegalStateException: Cannot add payment code wallet to P2TR wallet at com.sparrowwallet.drongo/com.sparrowwallet.drongo.wallet.Wallet.addChildWallet(Unknown Source) at com.sparrowwallet.drongo/com.sparrowwallet.drongo.wallet.Wallet.addChildWallet(Unknown Source) at com.sparrowwallet.sparrow@1.6.2/com.sparrowwallet.sparrow.net.ElectrumServer$PaymentCodesService$1.call(Unknown Source) at com.sparrowwallet.sparrow@1.6.2/com.sparrowwallet.sparrow.net.ElectrumServer$PaymentCodesService$1.call(Unknown Source) at javafx.graphics/javafx.concurrent.Task$TaskCallable.call(Unknown Source) at java.base/java.util.concurrent.FutureTask.run(Unknown Source) at javafx.graphics/javafx.concurrent.Service.lambda$executeTask$6(Unknown Source) at java.base/java.security.AccessController.doPrivileged(Unknown Source) at javafx.graphics/javafx.concurrent.Service.lambda$executeTask$7(Unknown Source) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.base/java.lang.Thread.run(Unknown Source) 2022-03-20 21:21:53,949 ERROR [JavaFX Application Thread] c.s.s.w.WalletForm [null:-1] Could not determine payment codes for wallet SparrowWallet java.lang.IllegalStateException: Cannot add payment code wallet to P2TR wallet at com.sparrowwallet.drongo/com.sparrowwallet.drongo.wallet.Wallet.addChildWallet(Unknown Source) at com.sparrowwallet.drongo/com.sparrowwallet.drongo.wallet.Wallet.addChildWallet(Unknown Source) at com.sparrowwallet.sparrow@1.6.2/com.sparrowwallet.sparrow.net.ElectrumServer$PaymentCodesService$1.call(Unknown Source) at com.sparrowwallet.sparrow@1.6.2/com.sparrowwallet.sparrow.net.ElectrumServer$PaymentCodesService$1.call(Unknown Source) at javafx.graphics/javafx.concurrent.Task$TaskCallable.call(Unknown Source) at java.base/java.util.concurrent.FutureTask.run(Unknown Source) at javafx.graphics/javafx.concurrent.Service.lambda$executeTask$6(Unknown Source) at java.base/java.security.AccessController.doPrivileged(Unknown Source) at javafx.graphics/javafx.concurrent.Service.lambda$executeTask$7(Unknown Source) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.base/java.lang.Thread.run(Unknown Source) 2022-03-20 21:21:54,621 ERROR [JavaFX Application Thread] c.s.s.w.WalletForm [null:-1] Could not determine payment codes for wallet SparrowWallet com.sparrowwallet.sparrow.net.ServerException: Failed to retrieve transaction history for paths: [m/0] at com.sparrowwallet.sparrow@1.6.2/com.sparrowwallet.sparrow.net.ElectrumServer.getReferences(Unknown Source) at com.sparrowwallet.sparrow@1.6.2/com.sparrowwallet.sparrow.net.ElectrumServer.getHistoryToGapLimit(Unknown Source) at com.sparrowwallet.sparrow@1.6.2/com.sparrowwallet.sparrow.net.ElectrumServer.getHistory(Unknown Source) at com.sparrowwallet.sparrow@1.6.2/com.sparrowwallet.sparrow.net.ElectrumServer$PaymentCodesService$1.call(Unknown Source) at com.sparrowwallet.sparrow@1.6.2/com.sparrowwallet.sparrow.net.ElectrumServer$PaymentCodesService$1.call(Unknown Source) at javafx.graphics/javafx.concurrent.Task$TaskCallable.call(Unknown Source) at java.base/java.util.concurrent.FutureTask.run(Unknown Source) at javafx.graphics/javafx.concurrent.Service.lambda$executeTask$6(Unknown Source) at java.base/java.security.AccessController.doPrivileged(Unknown Source) at javafx.graphics/javafx.concurrent.Service.lambda$executeTask$7(Unknown Source) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.base/java.lang.Thread.run(Unknown Source) Caused by: com.sparrowwallet.sparrow.net.ServerException: Retries exhausted at com.sparrowwallet.sparrow@1.6.2/
Thanks for the logs.
It appears you are using a Taproot (P2TR) wallet. PayNyms are not currently supported in P2TR wallets - Sparrow should have done a better job to disable BIP47 functionality, and this has been fixed in https://github.com/sparrowwallet/drongo/commit/88bd6ada98d98451c580ee4209ec86ec95fa2c94. I've also updated the documentation for this. Taproot wallets will probably be supported in future, but the spec will need to be extended for this.
The good news is that the funds are not lost. You can create a Native Segwit wallet in Sparrow with the same seed words to recover them. You may need to send another notification transaction (it depends if one was already sent from the Samourai +fancyunion929 wallet) but once the link is established Sparrow should find the previously sent transaction.
Well, after recovering the wallet I get a new/different paynym ID of course - it does not find the previous transactions.
You should not get a new PayNym, since the payment code for the wallet is constructed independently of the script type.
Check that the master fingerprint of the Native Segwit wallet matches that of the Taproot wallet - if they differ, the seed is different.
Negative. I still have access to the Taproot Wallet and can display my BIP-39 seed. Using exactly this seed for creating a new keystore and importing it into a new wallet I get a different fingerprint (!).
Are you using a passphrase in either wallet?
Yes, I do.
Different passphrases are the only explanation here - make sure the passphrase is the same in the Taproot and Native Segwit wallets. If the passphrase and the seed words are identical, the master fingerprint and PayNym will be too.
User to dumb error - mixed up password and passphrase ... thanks for your help!
Made a TX from SamuraiWallet to SparrowWallet Paynym Contact - tx has 12 confirmations but Sparrow does not show any income :-(