Drop branch rows for a spent VTXO, then delete now-orphaned VirtualTx rows.
Replace the entire stored branch for a VTXO.
Upsert: non-null incoming fields overwrite; null (or, for type,
Unspecified) is treated as absent and preserves the stored value.
Resolved virtual txs in the VTXO's branch, ordered by position asc.