Implementing alternative for opCodeSeparator

This commit is contained in:
Chris Stewart 2016-04-07 09:27:41 -05:00
parent 6b34cc43c7
commit be45a5c3ec

View file

@ -143,7 +143,13 @@ trait CryptoInterpreter extends ControlOperationsInterpreter with BitcoinSLogger
*/
def opCodeSeparator(program : ScriptProgram) : ScriptProgram = {
require(program.script.headOption.isDefined && program.script.head == OP_CODESEPARATOR, "Script top must be OP_CODESEPARATOR")
???
val fullScript = program.txSignatureComponent.scriptSignature.asm.containsSlice(program.script) match {
case true => program.txSignatureComponent.scriptSignature.asm
case false => program.txSignatureComponent.scriptPubKey.asm
}
val indexOfOpCodeSeparator = fullScript.indexOf(OP_CODESEPARATOR)
require(indexOfOpCodeSeparator != -1,"The script we searched MUST contain an OP_CODESEPARTOR. Script: " + fullScript)
ScriptProgramFactory.factory(program,program.script.tail,ScriptProgramFactory.Script,indexOfOpCodeSeparator)
}