A wallet prepares transaction inputs, outputs and signing material; the network validates the resulting transaction independently.
The reviewed VTA validation path reaches script/signature checks through CheckInputs().
A complete release-pinned wallet signing test corpus still needs to be executed.
| Area | Finding | Status |
|---|---|---|
| Transaction signing boundary | The wallet prepares/signs transactions, while node validation independently verifies transaction inputs and scripts. | Architecture |
| CheckInputs() | The reviewed VTA CheckInputs() path checks input validity, scripts/signatures and amounts. | Source verified |
| STRICTENC | The reviewed mempool/input path calls CheckInputs() with SCRIPT_VERIFY_P2SH | SCRIPT_VERIFY_STRICTENC. | Source verified |
| CHECKSIG | The VTA script engine contains a CHECKSIG verification path. | Source verified |
| CHECKMULTISIG | The VTA script engine contains a CHECKMULTISIG verification path. | Source verified |
| Signature hash | Signature verification is connected to the legacy transaction signature-hash mechanism. | Architecture verified |
| Wallet key storage | This page does not inspect or expose wallet.dat, private keys, seed phrases or user balances. | Security boundary |
| Wallet signing test vectors | No independent release-pinned wallet signing corpus was executed in this package. | Not measured |
| Modern witness verification | SegWit/Taproot behavior is not assumed without VTA-specific source evidence. | Not established |
A. P2PKH valid signature B. P2PKH wrong signature C. Wrong public key D. Changed input amount / prevout E. Changed output under SIGHASH_ALL F. SIGHASH_NONE output variation G. SIGHASH_SINGLE paired-output test H. ANYONECANPAY input variation I. CHECKMULTISIG valid / invalid cases J. P2SH valid / invalid redeem script K. Non-canonical signature encoding L. Non-canonical public-key encoding