grin-gui icon indicating copy to clipboard operation
grin-gui copied to clipboard

[Bug]: CancelTx removes only one of two logs from self-spend tx

Open phyro opened this issue 1 year ago • 3 comments


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:

  1. Make a self-spend tx and notice two new TxLog entries (Send and Receive entry)
  2. Click on Receive entry to expand it
  3. Click Cancel
  4. 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.

phyro avatar Jan 19 '24 11:01 phyro

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.

phyro avatar Jan 19 '24 13:01 phyro

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

yeastplume avatar Feb 21 '24 14:02 yeastplume

#90 Fix now included

yeastplume avatar Feb 23 '24 17:02 yeastplume