package script
- Alphabetic
- Public
- Protected
Package Members
Type Members
- case class ConditionalCounter(trueCount: Int, falseAndIgnoreCount: Int) extends Product with Serializable
Implements the counting required for O(1) handling of conditionals in Bitcoin Script.
Implements the counting required for O(1) handling of conditionals in Bitcoin Script.
- trueCount
The depth of OP_IFs/OP_NOTIFs we've entered on the true condition before the first false.
- falseAndIgnoreCount
The depth of OP_IFs/OP_NOTIFs we've entered after and including the first false condition. Every OP_IF/OP_NOTIF adds to trueCount or falseAndIgnoreCount. OP_ELSE has an effect only when falseAndIgnoreCount \== 0 or 1, in which case it moves 1 from trueCount to falseAndIgnoreCount or vice versa. OP_ENDIF subtracts one from either falseAndIgnoreCount or trueCount if falseAndIgnoreCount == 0. trueCount + falseAndIgnoreCount represents the current depth in the conditional tree. falseAndIgnoreCount \== 0 represents whether operations should be executed.
- case class ExecutedScriptProgram(txSignatureComponent: TxSigComponent, stack: List[ScriptToken], script: List[ScriptToken], originalScript: List[ScriptToken], altStack: List[ScriptToken], flags: Seq[ScriptFlag], lastCodeSeparator: Option[Int], codeSeparatorTapscriptIdx: Option[Int], error: Option[ScriptError]) extends StartedScriptProgram with Product with Serializable
Type for a ScriptProgram that has been evaluated completely by the ScriptInterpreter.
Type for a ScriptProgram that has been evaluated completely by the ScriptInterpreter.
- error
Indicates if the ScriptProgram has encountered a ScriptError in its execution.
- 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.
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.
- case class PreExecutionScriptProgram(txSignatureComponent: TxSigComponent, stack: List[ScriptToken], script: List[ScriptToken], originalScript: List[ScriptToken], altStack: List[ScriptToken], flags: Seq[ScriptFlag]) extends ScriptProgram with Product with Serializable
This represents a ScriptProgram before any script operations have been executed in the ScriptInterpreter.
- trait ScriptOperationFactory[T <: script.constant.ScriptOperation] extends StringFactory[T]
Created by chris on 1/8/16.
Created by chris on 1/8/16. Responsible for matching script op codes with their given hexadecimal representation or byte representation
- sealed trait ScriptProgram extends AnyRef
Created by chris on 2/3/16.
- sealed abstract class ScriptType extends AnyRef
The different Bitcoin Script type variations
The different Bitcoin Script type variations
- See also
standard.h and standarc.cpp from Bitcoin Core
- sealed trait StartedScriptProgram extends ScriptProgram
This represents any ScriptProgram that is not PreExecution
Value Members
- object ConditionalCounter extends Serializable
- object PreExecutionScriptProgram extends Serializable
- object ScriptOperation extends ScriptOperationFactory[script.constant.ScriptOperation]
- object ScriptType extends StringFactory[ScriptType]
The different Bitcoin Script type variations
The different Bitcoin Script type variations
- See also
standard.h and standarc.cpp from Bitcoin Core