| 2131 | } |
| 2132 | |
| 2133 | size_t static WitnessSigOps(int witversion, const std::vector<unsigned char>& witprogram, const CScriptWitness& witness) |
| 2134 | { |
| 2135 | if (witversion == 0) { |
| 2136 | if (witprogram.size() == WITNESS_V0_KEYHASH_SIZE) |
| 2137 | return 1; |
| 2138 | |
| 2139 | if (witprogram.size() == WITNESS_V0_SCRIPTHASH_SIZE && witness.stack.size() > 0) { |
| 2140 | CScript subscript(witness.stack.back().begin(), witness.stack.back().end()); |
| 2141 | return subscript.GetSigOpCount(true); |
| 2142 | } |
| 2143 | } |
| 2144 | |
| 2145 | // Future flags may be implemented here. |
| 2146 | return 0; |
| 2147 | } |
| 2148 | |
| 2149 | size_t CountWitnessSigOps(const CScript& scriptSig, const CScript& scriptPubKey, const CScriptWitness& witness, script_verify_flags flags) |
| 2150 | { |
no test coverage detected