spentByLocalTx
Whether this UTXO was marked SPENT by our local transaction.
Purpose: Distinguish between:
SPENT by our local tx (trust it, even if indexer is behind)
SPENT by sync/incorrectly (can be restored if indexer says available)
Self-healing: During sync, if spentByLocalTx=false and indexer shows the UTXO as available, we restore it to AVAILABLE (fixes incorrect state). If spentByLocalTx=true, we keep it SPENT (our tx might be ahead of indexer).