-
Notifications
You must be signed in to change notification settings - Fork 209
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Payments to BIP47 payment codes go "missing" (to address not in recipient's wallet) #1642
Comments
I've been unable to reproduce this, even after creating a unit test in sparrowwallet/drongo@4296802 which creates different random wallets and uses the BIP47 protocol to exchange payment information. The "history has changed" message is a bit suspicious here - be aware that any changes to the passphrase will change the seed, and thus the payment code, and thus any previous notification transactions will not apply to the "new wallet". Is there anything unusual about the passphrase? |
I definitely got the passphrase correct each time. Master fingerprint matches, and all txn history remains present after the refresh. The passphrase is an English sentence, with the only punctuation marks being period(s) ✅ NEW Sparrow (2a), No Passphrase ➡️ Sparrow by Raw Payment Code1. Create Sender
2. Pay
3. Receive ✅Funds do show up in target bluewallet! ✅ NEW Sparrow (2b), With Passphrase ➡️ Sparrow by Raw Payment Code1. Create Sender
2. Pay
3. Receive ✅Funds do show up in target bluewallet! The issue really does seem to be confined to my original Sparrow hot wallet. For future wallets, if I can succeed at any raw payment code send from a Sparrow hot wallet, would that suggest that all Payment code sends should work, and the wallet is safe to use? |
Thanks again for the test. It's starting to look like this was a temporary issue related to the state of the wallet at that time, rather than something recorded in the wallet file. But a repeat test sending from the third or fourth account where the issue occurred would confirm that either way.
Yes, that's correct - Sparrow is contacting paynym.rs for this data. This behaviour is controlled by the
Yes, as per BIP47: |
I have observed the following, and I am not sure if it is a bug or user error. I was directed to submit an issue from the Telegram channel.
Steps
Here are three different attempts to use Sparrow to pay to a Payment Code, with steps, pictures, and results.
✅ Sparrow ➡️ Sparrow by PayNym
1. Setup Recipient
m/84'/0'/0'
for this examplewpkh(BIP39)
2. Get Address(es)
tools
->show paynym
PM8TJRQaXFKLoqUV3JdYJvqMTDDP6r1h9UARPUFwBCVnvXbTvpo3uFNGeBnFLpN4b6TGTRQdP29aMrpXmYyeWuzACLqngMSppiNGPqewrgku1z3EArka
+charmingstation96
3. Pay
wpkh(BIP39)
, derivation:m/84'/0'/0'
, with passPHRASE, using Account 3 -m/84'/0'/3'
+charmingstation96
1Q6vvnGguiTnrqmRFRHAUUuR2er7fCh7ev
4. Receive
1Q6vvnGguiTnrqmRFRHAUUuR2er7fCh7ev
5. Pay Again
+charmingstation96
is shown as a linked contact, select it❌ Sparrow ➡️ Sparrow by Raw Payment Code
1. Setup Recipient
m/84'/0'/0'
for this examplewpkh(BIP39)
2. Get Address(es)
tools
->show paynym
PM8TJRHzcJ1xS76sK4pjT7jENsuiSa1HMBbBgn249dVd79NDkbWGTmG7ovtekeJK8hyoVDy1NhDWid9vrZroxivyaeJeYvBsukDZpomhrhjnspEBTG58
3. Pay
wpkh(BIP39)
, derivation:m/84'/0'/0'
, with passPHRASE, using Account 3 -m/84'/0'/3'
PM8TJRHzcJ1xS76sK4pjT7jENsuiSa1HMBbBgn249dVd79NDkbWGTmG7ovtekeJK8hyoVDy1NhDWid9vrZroxivyaeJeYvBsukDZpomhrhjnspEBTG58
bc1qqgg5wd80a00zcf8at47cspjjtv6h50kt9d8jvx
in target wallet4. Receive
bc1qgwvcsqs3qu3nt2szzzwp5xrdq699ua6rpdk7ry
- not the one that was sent to, but that's expected. It should be sent to a PayNym address... let's look at those.There are 3 options:
P2PKH
P2SH-P2WPKH
P2WPKH
bc1qqgg5wd80a00zcf8at47cspjjtv6h50kt9d8jvx
- in it.5. Where Money? 💸
Various maybe useful info?
"From ..."
The "From" payment code above -
PM8TJMRj...kT6
- isn't one I recognize. It is NOT the Payment code shown by the Sending wallet when I retrieve that wallet's PayNym.Unlinked Contacts
The receiving wallet now shows the unrecognized
PM8TJMRj...kT6
as an unlinked contact:❌ Sparrow ➡️ BlueWallet by Raw Payment Code
1. Setup Recipient
HD SegWit (BIP84 Bech32 Native)
M/84'/0'/0'
2. Get Address(es)
PM8TJN6HE49BcEyF6u84R6S2WyiZPVC43jjFmEixkqAh5MEVcmCJJss4t2ecTFRY7CW7BYNeY2K8wnpN7K7AR29dM8CrH38GDuLm7mbihvrsdqMZueyR
3. Pay
wpkh(BIP39)
, derivation:m/84'/0'/0'
, with passPHRASE, using Account 3 -m/84'/0'/3'
PM8TJN6H...eYr
PM8TJN6HE49BcEyF6u84R6S2WyiZPVC43jjFmEixkqAh5MEVcmCJJss4t2ecTFRY7CW7BYNeY2K8wnpN7K7AR29dM8CrH38GDuLm7mbihvrsdqMZueyR
bc1q37r7zzn0s23nxqfhk763ts0gsxf4kdtv687m9y
in target BlueWallet wallet4. Receive
5. Where Money 💸
As far as I can tell, BlueWallet doesn't provide a utility for claiming a PayNym from a payment code, which is what I naturally wanted to test next.
BlueWallet also doesn't provide a list of the BIP47 receive addresses, so I cannot confirm whether
bc1q37r7zzn0s23nxqfhk763ts0gsxf4kdtv687m9y
is actually in there somewhere.Please let me know if I've done something wrong, or if there is any additional information I could provide that would be helpful!
The text was updated successfully, but these errors were encountered: