# Class BSV::Wallet::Store::Models::TxProof <a id="class-BSV-Wallet-Store-Models-TxProof"></a>

**Inherits:** `Sequel::Model`

## Constants
### `VERIFIED_VIA_BROADCAST_ACK` <a id="constant-VERIFIED_VIA_BROADCAST_ACK"></a> <a id="VERIFIED_VIA_BROADCAST_ACK-constant"></a>
Not documented.

### `VERIFIED_VIA_SELF_BUILT` <a id="constant-VERIFIED_VIA_SELF_BUILT"></a> <a id="VERIFIED_VIA_SELF_BUILT-constant"></a>
verification_source enum values (ADR-033 / HLR #516). Referenced by every
mark_verified write site — no bare literals.

### `VERIFIED_VIA_SPV` <a id="constant-VERIFIED_VIA_SPV"></a> <a id="VERIFIED_VIA_SPV-constant"></a>
Not documented.

### `VERIFIED_VIA_TRUSTED` <a id="constant-VERIFIED_VIA_TRUSTED"></a> <a id="VERIFIED_VIA_TRUSTED-constant"></a>
Short-circuit trust set for BeefImporter Sub 5. Only +'spv'+ rows are trusted
for the SDK's <code>verified:</code> pre-seed today.

An +'spv'+ row can be either ANCHORED (carries a merkle proof and a
`block_id`) or UNANCHORED (intermediate ancestor visited by a prior
+Tx#verify+ walk that terminated at a proven leaf further down the chain).
Both classes are safe to pre-seed: anchored rows are re-verified directly by
Sub 6.1's anchor- liveness pass (join on <code>blocks.id</code>); unanchored
rows are cleared transitively by Sub 6.2's descendant walk when the anchor
they depend on invalidates. Together they cover the re-org invalidation
surface for the read path. Copilot on #537.

+'broadcast_ack'+ is deliberately EXCLUDED even though HLR #516 synthesis
originally included it: it doesn't fit either class above. `broadcast_ack`
rows carry +block_id = NULL+ AND are not necessarily downstream of any
anchored ancestor (ARC accepted a submission that may never mine), so neither
the direct nor the transitive invalidation path reaches them. Trusting an
unanchored row without a liveness mechanism would leave orphaned / RBF'd
broadcast_ack ancestors as permanent trust sources — a phantom-balance vector.
Re-admitting `VERIFIED_VIA_BROADCAST_ACK` must land WITH its liveness design
(proof-acquisition escalation, TTL, or equivalent). White-hat on #537 (I1);
see #522 discussion for the trace.

`self_built` is intentionally excluded from short-circuit trust (see
docs/reference/verification-cache.md).

### `VERIFIED_VIA_VALUES` <a id="constant-VERIFIED_VIA_VALUES"></a> <a id="VERIFIED_VIA_VALUES-constant"></a>
Not documented.
