-
-
Notifications
You must be signed in to change notification settings - Fork 3.3k
Description
If you send a Monero tx, it enters the pool, and then restore the wallet, then the wallet won't identify the spend tx in the pool. If a user then attempts to construct another tx, the wallet may attempt to re-spend an output already spent in the pool, causing the node to reject the tx as a double spend. Note: this bug requires the pool tx to remain in the pool (as soon as it enters the chain, the wallet will identify the tx as a spend correctly).
Expected behavior: the pool tx should be identified as a spend, and any spent outputs should no longer be usable. The wallet state on restore should match the wallet state of the wallet that originally sent the tx.
Identified by @nahuhh in testing the FCMP++/Carrot integration (the bug is unrelated to the integration, I reproduced the issue on current master).