remove lifpay wallet
Description
fix #2613
Lifpay Wallet Completely Removed
- Data Migration: Users with a Lifpay Lightning address are migrated to the "Custom Lightning Address" wallet (LN_ADDR).
- Cleanup: Lifpay wallets without a Lightning address are deleted.
- Removal: Lifpay is removed from the WalletTemplate and WalletName enums.
This ensures there are no new Lifpay attachments, no remaining Lifpay templates, and that existing users continue to receive via their Lightning address in LN_ADDR, if any.
Screenshots
Additional Context
- The enum change required deleting/recreating the foregin key constraint between Wallet.templateName and WalletTemplate.name to avoid P3006 errors.
- The migration performs data updates before the enum change to avoid "invalid input value for enum" errors.
Checklist
Are your changes backward compatible? Please answer below: No, the WalletName enum loses a value (LIFPAY), which is not backwards compatible.
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: 7/10
For frontend changes: Tested on mobile, light and dark mode? Please answer below: NaN
Did you introduce any new environment variables? If so, call them out explicitly here: No
Did you use AI for this? If so, how much did it assist you? Yes, to draft the migration order.
The enum change required deleting/recreating the encryption key between Wallet.templateName and WalletTemplate.name to avoid P3006 errors.
encryption key?
I agree with just doing the migration by removing lifpay only from the UI, it's definitely easier that way.
The enum change required deleting/recreating the encryption key between Wallet.templateName and WalletTemplate.name to avoid P3006 errors.
encryption key?
Sorry, I was referring to the foreign key constraint
In this commit I simplified the migration, kept lifpay in the database and otherwise followed the instructions given
Did you use AI for this? If so, how much did it assist you?
Yes, to draft the migration order.
What did you mean with "migration order"? Do you mean the migration itself?
What about the PR description? Did you write it yourself?