Disallow OP_CMS in taproot (#4485)

This commit is contained in:
benthecarman 2022-07-10 18:47:31 -05:00 committed by GitHub
parent cc45924ed8
commit 990e344a49
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -4,6 +4,7 @@ import org.bitcoins.core.consensus.Consensus
import org.bitcoins.core.crypto._
import org.bitcoins.core.protocol.script.{
SigVersionBase,
SigVersionTaproot,
SigVersionTaprootKeySpend,
SigVersionTapscript,
SigVersionWitnessV0
@ -308,7 +309,12 @@ sealed abstract class CryptoInterpreter {
"Script top must be OP_CHECKMULTISIG")
val flags = program.flags
if (program.stack.size < 1) {
if (
program.txSignatureComponent.sigVersion
.isInstanceOf[SigVersionTaproot]
) {
program.failExecution(ScriptErrorTapScriptCheckMultiSig)
} else if (program.stack.size < 1) {
program.failExecution(ScriptErrorInvalidStackOperation)
} else {
//these next lines remove the appropriate stack/script values after the signatures have been checked