Replay Attacks and possible mitigations

Here’s an idea: as soon as a previously-spent output appears either in the mempool or on-chain, a wallet will spend it entirely as fees. That is, aggregate it with a 1-input, 0-output tx with fees equal to its value.

This also minimizes the odds that a wallet, after restore, finds any spendable outputs on chain that it previously spent.