Packages

package script

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. All

Package Members

  1. package arithmetic
  2. package bitwise
  3. package constant
  4. package control
  5. package crypto
  6. package flag
  7. package interpreter
  8. package locktime
  9. package reserved
  10. package result
  11. package splice
  12. package stack

Type Members

  1. 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.

    See also

    https://github.com/bitcoin/bitcoin/pull/16902

  2. case class ExecutedScriptProgram(txSignatureComponent: TxSigComponent, stack: List[ScriptToken], script: List[ScriptToken], originalScript: List[ScriptToken], altStack: List[ScriptToken], flags: Seq[ScriptFlag], 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.

  3. case class ExecutionInProgressScriptProgram(txSignatureComponent: TxSigComponent, stack: List[ScriptToken], script: List[ScriptToken], originalScript: List[ScriptToken], altStack: List[ScriptToken], flags: Seq[ScriptFlag], lastCodeSeparator: Option[Int], 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.

  4. 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.

  5. trait ScriptOperationFactory[T <: script.constant.ScriptOperation] extends BitcoinSLogger

    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

  6. sealed trait ScriptProgram extends AnyRef

    Created by chris on 2/3/16.

  7. 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

  8. sealed trait StartedScriptProgram extends ScriptProgram

    This represents any ScriptProgram that is not PreExecution

Value Members

  1. object ConditionalCounter extends Serializable
  2. object PreExecutionScriptProgram extends Serializable
  3. object ScriptOperation extends ScriptOperationFactory[script.constant.ScriptOperation]
  4. object ScriptType

    The different Bitcoin Script type variations

    The different Bitcoin Script type variations

    See also

    standard.h and standarc.cpp from Bitcoin Core

Ungrouped