ExperimentalExperimentalExperimentalExperimentalDrop branch rows for a spent VTXO, then delete now-orphaned VirtualTx rows.
ExperimentalReplace the entire stored branch for a VTXO.
ExperimentalUpsert: non-null incoming fields overwrite; null (or, for type,
Unspecified) is treated as absent and preserves the stored value.
Virtual-tx persistence is inert by default. This repository opens its DB at INTENT_DB_VERSION and creates the virtualtx stores, so it must be given a dedicated
dbNamedistinct from the wallet/contract DB until this persistence is activated in the shared schema — otherwise the shared DB's version-conflict guard rejects the mismatched open.