Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat!: add change metadata to encrypted data (#6713)
Description --- - Added receiver address, amount, and payment ID to encrypted data so a view-only wallet can identify the receiver when importing a change output. - Fixed payment ID not propagated for interactive transactions. - Added payment ID to burn transactions. - **Edit** Removed `message` from transactions - payment ID is now used consistently throughout _**Note:** Burn transaction status for change outputs needs to be fixed, see #6726_ Motivation and Context --- Change data needs to be available for wallet recovery. This is especially useful for view-only wallets. How Has This Been Tested? --- System-level testing **one-sided** - Sender wallet, one-sided ![image](https://github.com/user-attachments/assets/42ed1cc2-1d18-41f6-a532-47ab9161aed3) - Receiver wallet, one-sided ![image](https://github.com/user-attachments/assets/f7f5d1dc-7e55-4f20-9922-6641db57d7fd) - View-only wallet, one-sided ![image](https://github.com/user-attachments/assets/35ab57b1-eb11-4827-af2d-9c86c69afae0) **interactive** - Sender wallet, interactive ![image](https://github.com/user-attachments/assets/3a3d4609-6730-4696-a720-019897a9ae48) - Receiver wallet, interactive ![image](https://github.com/user-attachments/assets/a97d8033-02a7-4e46-8b20-44445c490125) - View-only wallet, interactive ![image](https://github.com/user-attachments/assets/e32c67c3-58d1-49a2-9d85-8282a4558eeb) **burn** - Sender wallet, burn ![image](https://github.com/user-attachments/assets/6e12b1ad-fd33-4224-be54-990cdaa415a9) - View-only wallet, burn ![image](https://github.com/user-attachments/assets/91d4ad9f-0306-4cd3-979b-533e21686f4a) What process can a PR reviewer use to test or verify this change? --- Code review System-level testing <!-- Checklist --> <!-- 1. Is the title of your PR in the form that would make nice release notes? The title, excluding the conventional commit tag, will be included exactly as is in the CHANGELOG, so please think about it carefully. --> Breaking Changes --- - [ ] None - [ ] Requires data directory on base node to be deleted - [ ] Requires hard fork - [X] Other - Please specify <!-- Does this include a breaking change? If so, include this line as a footer --> BREAKING CHANGE: - Console wallet command line arguments: - `--message` is not supported anymore, only `--payment-id` - Wallet FFI: - `fn completed_transaction_get_message(` removed - `fn pending_outbound_transaction_get_message(` removed - `fn pending_outbound_transaction_get_payment_id(` added - `fn pending_inbound_transaction_get_message(` removed - `fn pending_inbound_transaction_get_payment_id(` added - `fn wallet_send_transaction(` has interface change - Wallet gRPC methods: - `message CreateBurnTransactionRequest {` has interface change - `message PaymentRecipient {` has interface change - `message TransactionInfo {` has interface change - `message CoinSplitRequest {` has interface change - `message ImportUtxosRequest {` has interface change - `message TransactionEvent {` has interface change - `message RegisterValidatorNodeRequest {` has interface change
- Loading branch information