Skip to main content

verify_script

Function verify_script 

Source
pub fn verify_script(
    script_sig: &ByteString,
    script_pubkey: &[u8],
    witness: Option<&ByteString>,
    flags: u32,
) -> Result<bool>
Expand description

Spec-locked to Orange Paper Section 5.2: VerifyScript

VerifyScript: 𝒮𝒞 × 𝒮𝒞 × 𝒲 × ℕ → {true, false}

For scriptSig ss, scriptPubKey spk, witness w, and flags f:

  1. Execute ss on empty stack
  2. Execute spk on resulting stack
  3. If witness present: execute w on stack
  4. Return final stack has exactly one true value

Performance: Pre-allocates stack capacity, caches verification results in production mode