Delete NWC plaintext credentials that allow payments #2367
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Final comment
This will delete wallets that are now empty but it will not update badges by ending streaks. I think that's okay. Instead of accidentally inserting something wrong into the
Streak
table, a simple wallet save by the stacker will bring their badges to the correct state (if it ended up being wrong)As mentioned in #2365, we should delete the NWC credentials that have been saved in plaintext with any method that supports paying.
To automate this, I added basic nip47 support to
nak
in fiatjaf/nak#78 today.Steps
Steps to find the IDs we should delete:
nak
with nip47 supportpay_invoice
support:I will run these steps again after we deployed #2365.
Additional Context
statistics
Sanity check: 167 matches number of rows in
WalletRecvNWC
How many
get_info
timeouts after 10s? 95 (will run them again with bigger timeouts)How many with
pay_invoice
support? 6How many failed because of nip04 vs nip44? 1 (I only added nip44 support)
Checklist
Are your changes backward compatible? Please answer below:
yes
On a scale of 1-10 how well and how have you QA'd this change and any features it might affect? Please answer below:
9
. Tested with a wallet that only has one protocol that should get deleted (wallet gets deleted, too) and wallet that has one protocol remaining (wallet does not get deleted)For frontend changes: Tested on mobile, light and dark mode? Please answer below:
n/a
Did you introduce any new environment variables? If so, call them out explicitly here:
no