[Bug]: CancelTx removes only one of two logs from self-spend tx
name: Bug report about: CancelTx removes only one of two logs from self-spend tx
Describe the bug
When we hit Cancel on gui to cancel a transaction, we delete a single log entry when even if the transaction created multiple entries.
NOTE: I tried this with Legacy flow, not contracts.
To Reproduce Steps to reproduce the behavior:
- Make a self-spend tx and notice two new TxLog entries (Send and Receive entry)
- Click on Receive entry to expand it
- Click Cancel
- Observe that this one disappears while the Send is still there
Expected behavior Ideally, we'd delete both entries. At first I thought that deleting all txlogs that contain the transaction's kernel would be a good idea, but then I remembered that NRD kernels have different transactions with the same kernel which might delete too much if we had these.
Screenshots /
Desktop (please complete the following information):
- OS: Linux (Debian)
Additional context This is might be more of a grin-wallet issue, but since we're reporting gui issues, it's here.
I just noticed that we have a Shared ID in transaction details that's the same. Perhaps we could use that to delete all txs after doing a cancel. Maybe this should be a part of the cancel rework when we robustly handle transaction cancelling by potentially issuing another tx that double-spends the input.
Yes, it does look like the wallet lib itself is failing to cancel both txs when given a UUID. I'll look into getting that working first
#90 Fix now included