Commits the signature to the transaction inputs and outputs under the legacy ALL signing model.
NONE leaves outputs outside the signature commitment; SINGLE commits the corresponding output under the legacy rules.
Combined with ALL/NONE/SINGLE, it changes the input commitment so the signature can be associated with only the signed input.
| Area | Finding | Status |
|---|---|---|
| Signature hash concept | The signature verification path uses a transaction-derived digest rather than signing raw transaction bytes directly. | Legacy architecture |
| SIGHASH_ALL | Legacy SIGHASH_ALL commits the signed input set and outputs under the standard legacy signing model. | Legacy semantics |
| SIGHASH_NONE | Legacy SIGHASH_NONE omits the output commitment from the signature hash. | Legacy semantics |
| SIGHASH_SINGLE | Legacy SIGHASH_SINGLE commits the output corresponding to the signed input, with a defined legacy out-of-range edge case. | Legacy semantics |
| SIGHASH_ANYONECANPAY | The high-bit modifier changes which inputs are committed; it can be combined with ALL/NONE/SINGLE. | Legacy semantics |
| Exact VTA SignatureHash() implementation | The current audit package does not claim a release-pinned line-by-line VTA SignatureHash() reconstruction. | Release-specific verification required |
| Modern witness sighash | BIP143/SegWit semantics are not treated as VTA evidence. | Not established |
| Taproot sighash | Taproot-specific SIGHASH_DEFAULT and BIP341 rules are not treated as VTA evidence. | Not established |
| Independent test vectors | No VTA-specific signature-hash corpus was executed by this page. | Not measured |
tx_hex: <raw transaction> input_index: <nIn> script_code: <locking/spending script context> hash_type: 01 / 02 / 03 / 81 / 82 / 83 ... expected_hash: <32-byte digest>
A release-pinned verifier can compare these fields against the VTA implementation and then feed the resulting digest into ECDSA verification.