case class ExecutionInProgressScriptProgram(txSignatureComponent: TxSigComponent, stack: List[ScriptToken], script: List[ScriptToken], originalScript: List[ScriptToken], altStack: List[ScriptToken], flags: Seq[ScriptFlag], lastCodeSeparator: Option[Int], codeSeparatorTapscriptIdx: Option[Int], validationWeightRemaining: Option[Long], conditionalCounter: ConditionalCounter) extends StartedScriptProgram with Product with Serializable
Type for a ScriptProgram that is currently being evaluated by the ScriptInterpreter.
- lastCodeSeparator
The index of the last OP_CODESEPARATOR
- conditionalCounter
Keeps track of where we are within a conditional tree.
- Alphabetic
- By Inheritance
- ExecutionInProgressScriptProgram
- Serializable
- Product
- Equals
- StartedScriptProgram
- ScriptProgram
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new ExecutionInProgressScriptProgram(txSignatureComponent: TxSigComponent, stack: List[ScriptToken], script: List[ScriptToken], originalScript: List[ScriptToken], altStack: List[ScriptToken], flags: Seq[ScriptFlag], lastCodeSeparator: Option[Int], codeSeparatorTapscriptIdx: Option[Int], validationWeightRemaining: Option[Long], conditionalCounter: ConditionalCounter)
- lastCodeSeparator
The index of the last OP_CODESEPARATOR
- conditionalCounter
Keeps track of where we are within a conditional tree.
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def addCondition(condition: Boolean): ExecutionInProgressScriptProgram
Should be called for every OP_IF and OP_NOTIF with whether the first (true) or second (false) branch should be taken.
- val altStack: List[ScriptToken]
The alternative stack is used in some Script op codes.
The alternative stack is used in some Script op codes.
- Definition Classes
- ExecutionInProgressScriptProgram → ScriptProgram
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- val codeSeparatorTapscriptIdx: Option[Int]
- val conditionalCounter: ConditionalCounter
- def decrementValidationWeightRemaining(): ExecutionInProgressScriptProgram
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def failExecution(error: ScriptError): ExecutedScriptProgram
Sets a ScriptError on a given ScriptProgram.
Sets a ScriptError on a given ScriptProgram.
- error
the error that the program hit while being executed in the script interpreter
- returns
the ExecutedScriptProgram with the given error set inside of the trait
- Definition Classes
- ExecutionInProgressScriptProgram → ScriptProgram
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- val flags: Seq[ScriptFlag]
ScriptFlag that are run with the script.
ScriptFlag that are run with the script. These flags indicate special conditions that a script needs to be run with. https://github.com/bitcoin/bitcoin/blob/master/src/script/interpreter.h#L31
- Definition Classes
- ExecutionInProgressScriptProgram → ScriptProgram
- def getAnnexHashOpt: Option[Sha256Digest]
- Definition Classes
- ScriptProgram
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def invertCondition(): StartedScriptProgram
Should be called on for every OP_ELSE
- def isInExecutionBranch: Boolean
Non-conditional opcodes should be executed only if this is true
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- val lastCodeSeparator: Option[Int]
The index of the last code separator WITH push operations in the original script
The index of the last code separator WITH push operations in the original script
- Definition Classes
- ExecutionInProgressScriptProgram → StartedScriptProgram
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- val originalScript: List[ScriptToken]
The original script that was given.
The original script that was given.
- Definition Classes
- ExecutionInProgressScriptProgram → ScriptProgram
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- def removeCondition(): StartedScriptProgram
Should be called on for every OP_ENDIF
- def removeFlags(): ExecutionInProgressScriptProgram
Removes the flags on the given ScriptProgram
- def replaceFlags(newFlags: Seq[ScriptFlag]): ExecutionInProgressScriptProgram
- val script: List[ScriptToken]
The script operations that need to still be executed.
The script operations that need to still be executed.
- Definition Classes
- ExecutionInProgressScriptProgram → ScriptProgram
- def shouldExecuteNextOperation: Boolean
ScriptInterpreter should look at the script head only if this is true.
ScriptInterpreter should look at the script head only if this is true.
Note that OP_IF, OP_NOTIF, OP_ELSE, and OP_ENDIF must be executed even if isInExecutionBranch is false as they must modify the states of trueCount and falseAndIgnoreCount.
- val stack: List[ScriptToken]
The current state of the stack for execution of the ScriptProgram.
The current state of the stack for execution of the ScriptProgram.
- Definition Classes
- ExecutionInProgressScriptProgram → ScriptProgram
- def stackTopIsFalse: Boolean
Returns true if the stack top is false
Returns true if the stack top is false
- Definition Classes
- ScriptProgram
- def stackTopIsTrue: Boolean
Returns true if the stack top is true
Returns true if the stack top is true
- Definition Classes
- ScriptProgram
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def tapLeafHashOpt: Option[Sha256Digest]
Calculates the leaf hash if we have a tapscript, else returns None if we don't have a tapscript
Calculates the leaf hash if we have a tapscript, else returns None if we don't have a tapscript
- Definition Classes
- ScriptProgram
- def taprootSerializationOptions: TaprootSerializationOptions
- Definition Classes
- ExecutionInProgressScriptProgram → StartedScriptProgram
- def toExecutedProgram: ExecutedScriptProgram
- val txSignatureComponent: TxSigComponent
This contains all relevant information for hashing and checking a ScriptSignature for a Transaction.
This contains all relevant information for hashing and checking a ScriptSignature for a Transaction.
- Definition Classes
- ExecutionInProgressScriptProgram → ScriptProgram
- def updateAltStack(tokens: Seq[ScriptToken]): ExecutionInProgressScriptProgram
- def updateLastCodeSeparator(newLastCodeSeparator: Int): ExecutionInProgressScriptProgram
- def updateOriginalScript(tokens: Seq[ScriptToken]): ExecutionInProgressScriptProgram
- def updateScript(tokens: Seq[ScriptToken]): ExecutionInProgressScriptProgram
- def updateStack(tokens: Seq[ScriptToken]): ExecutionInProgressScriptProgram
- def updateStackAndScript(stack: Seq[ScriptToken], script: Seq[ScriptToken]): ExecutionInProgressScriptProgram
- def updateTapscriptCodeSeparatorIdx(newIdx: Int): ExecutionInProgressScriptProgram
- val validationWeightRemaining: Option[Long]
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()