Packages

package script

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. Protected

Type Members

  1. sealed trait CLTVScriptPubKey extends ScriptPubKey with LockTimeScriptPubKey

    Represents a scriptPubKey that contains OP_CHECKLOCKTIMEVERIFY. Adds an absolute/defined locktime condition to any scriptPubKey.

    Represents a scriptPubKey that contains OP_CHECKLOCKTIMEVERIFY. Adds an absolute/defined locktime condition to any scriptPubKey. BIP65 Format: <locktime> OP_CLTV OP_DROP <scriptPubKey>

  2. sealed trait CLTVScriptSignature extends ScriptSignature with LockTimeScriptSignature
  3. sealed trait CSVScriptPubKey extends ScriptPubKey with LockTimeScriptPubKey

    Represents a scriptPubKey that contains OP_CHECKSEQUENCEVERIFY Adds a relative lockTime condition to any scriptPubKey.

    Represents a scriptPubKey that contains OP_CHECKSEQUENCEVERIFY Adds a relative lockTime condition to any scriptPubKey. BIP112 Format: <locktime> OP_CSV OP_DROP <scriptPubKey>

  4. sealed trait CSVScriptSignature extends ScriptSignature with LockTimeScriptSignature
  5. sealed trait ConditionalScriptPubKey extends ScriptPubKey with RawScriptPubKey

    Currently only supports a single OP_IF ...

    Currently only supports a single OP_IF ... OP_ELSE ... OP_ENDIF ScriptPubKey

  6. sealed trait ConditionalScriptSignature extends ScriptSignature

    ScriptSignature for both OP_IF and OP_NOTIF ScriptPubKeys

  7. sealed trait IfConditionalScriptPubKey extends ScriptPubKey with ConditionalScriptPubKey
  8. sealed trait LockTimeScriptPubKey extends ScriptPubKey with RawScriptPubKey
  9. sealed trait LockTimeScriptSignature extends ScriptSignature

    Parent type for all lock time script signatures, these spend LockTimeScriptPubKey

  10. sealed trait MultiSignatureScriptPubKey extends ScriptPubKey with RawScriptPubKey

    Represents a multisignature script public key https://bitcoin.org/en/developer-guide#multisig Format: <m> <A pubkey> [B pubkey] [C pubkey...] <n> OP_CHECKMULTISIG

  11. sealed trait MultiSignatureScriptSignature extends ScriptSignature

    Represents a multisignature script signature https://bitcoin.org/en/developer-guide#multisig Multisig script sigs have the following format OP_0 <A sig> [B sig] [C sig...]

  12. sealed trait MultiSignatureWithTimeoutScriptPubKey extends ScriptPubKey with IfConditionalScriptPubKey
  13. sealed trait NonStandardScriptPubKey extends ScriptPubKey with RawScriptPubKey
  14. sealed trait NonStandardScriptSignature extends ScriptSignature
  15. sealed trait NonWitnessScriptPubKey extends ScriptPubKey

    Trait for all Non-SegWit ScriptPubKeys

  16. sealed trait NotIfConditionalScriptPubKey extends ScriptPubKey with ConditionalScriptPubKey
  17. sealed trait P2PKHScriptPubKey extends ScriptPubKey with RawScriptPubKey

    Represents a pay-to-pubkey hash script pubkey

    Represents a pay-to-pubkey hash script pubkey

    Format: OP_DUP OP_HASH160 <PubKeyHash> OP_EQUALVERIFY OP_CHECKSIG

  18. sealed trait P2PKHScriptSignature extends ScriptSignature

    P2PKH script signatures have only one public key https://bitcoin.org/en/developer-guide#pay-to-public-key-hash-p2pkh P2PKH scriptSigs follow this format <sig> <pubkey>

  19. sealed trait P2PKScriptPubKey extends ScriptPubKey with RawScriptPubKey

    Represents a pay to public key script public key Format: <pubkey> OP_CHECKSIG

  20. sealed trait P2PKScriptSignature extends ScriptSignature

    Represents a pay to public key script signature https://bitcoin.org/en/developer-guide#pubkey Signature script: <sig>

  21. sealed trait P2PKWithTimeoutScriptPubKey extends ScriptPubKey with RawScriptPubKey

    The type for ScriptPubKeys of the form: OP_IF <Public Key> OP_ELSE <Timeout> OP_CHECKSEQUENCEVERIFY OP_DROP <Timeout Public Key> OP_ENDIF OP_CHECKSIG

  22. sealed trait P2SHScriptPubKey extends ScriptPubKey with NonWitnessScriptPubKey

    Represents a pay-to-scripthash public key Format: OP_HASH160 <Hash160(redeemScript)> OP_EQUAL

  23. sealed trait P2SHScriptSignature extends ScriptSignature

    Represents a pay-to-script-hash script signature https://bitcoin.org/en/developer-guide#pay-to-script-hash-p2sh P2SH scriptSigs have the following format <sig> [sig] [sig...] <redeemScript>

  24. sealed abstract class P2WPKHWitnessSPKV0 extends WitnessScriptPubKeyV0

    Represents the pay-to-witness-pubkeyhash script pubkey type as defined in BIP141

  25. sealed abstract class P2WPKHWitnessV0 extends ScriptWitnessV0

    Represents a org.bitcoins.core.protocol.script.ScriptWitness that is needed to spend a P2WPKHWitnessV0 scriptPubKey https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki#p2wpkh-nested-in-bip16-p2sh Format: <pubKey> <signature>

  26. sealed abstract class P2WSHWitnessSPKV0 extends WitnessScriptPubKeyV0

    Reprents the pay-to-witness-scripthash script pubkey type as defined in BIP141

  27. sealed abstract class P2WSHWitnessV0 extends ScriptWitnessV0

    Represents a ScriptWitness that is needed to spend a P2WSHWitnessV0 scriptPubKey https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki#p2wsh Format: <redeem script> <scriptSig data1> <scriptSig data2> ...

    Represents a ScriptWitness that is needed to spend a P2WSHWitnessV0 scriptPubKey https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki#p2wsh Format: <redeem script> <scriptSig data1> <scriptSig data2> ... <scriptSig dataN>

  28. sealed trait RawScriptPubKey extends ScriptPubKey with NonWitnessScriptPubKey

    Trait for all raw, non-nested ScriptPubKeys (no P2SH)

    Trait for all raw, non-nested ScriptPubKeys (no P2SH)

    Note that all WitnessScriptPubKeys including P2WPKH are not considered to be non-nested and hence not RawScriptPubKeys.

  29. abstract class Script extends NetworkElement

    This is meant to be a super type for scripts in the bitcoin protocol.

    This is meant to be a super type for scripts in the bitcoin protocol. This gives us access to the asm representation, and how to serialize the script

  30. trait ScriptFactory[T <: Script] extends Factory[T]

    Created by chris on 12/9/16.

  31. sealed abstract class ScriptPubKey extends Script

    Created by chris on 12/26/15.

  32. sealed trait ScriptPubKeyUpdateIndicator extends AnyRef

    Created by chris on 1/19/16.

  33. sealed abstract class ScriptSignature extends Script

    Created by chris on 12/26/15.

    Created by chris on 12/26/15.

    We only give standard types to ScriptSignatures that are Policy compliant. This is because if we wanted to be closer to Consensus compliant then it would be near impossible to type things.

    For example almost anything could be a ConditionalScriptSignature since in consensus logic almost any ScriptToken is interpreted as True, while under Policy only OP_TRUE is True.

  34. sealed abstract class ScriptWitness extends NetworkElement

    Created by chris on 11/10/16.

  35. sealed abstract class ScriptWitnessV0 extends ScriptWitness
  36. sealed trait SignatureVersion extends AnyRef

    Represents the transaction digest algorithm for signature verification in Bitcoin Core With the implementation of segwit, we have added different algorithm, the first alternative being BIP143 https://github.com/bitcoin/bips/blob/master/bip-0143.mediawiki https://github.com/bitcoin/bitcoin/blob/53133c1c041d113c2a480a18e6ff38681d135dca/src/script/interpreter.h#L120-L124

  37. case class UnassignedWitness(version: ScriptNumberOperation) extends WitnessVersion with Product with Serializable

    The witness version that represents all witnesses that have not been allocated yet

  38. sealed trait UnassignedWitnessScriptPubKey extends ScriptPubKey with WitnessScriptPubKey

    Type to represent all WitnessScriptPubKeys we have not used yet in the bitcoin protocol

  39. case class UpdateScriptPubKeyAsm(asm: Seq[ScriptToken]) extends ScriptPubKeyUpdateIndicator with Product with Serializable
  40. case class UpdateScriptPubKeyBytes(bytes: ByteVector) extends ScriptPubKeyUpdateIndicator with Product with Serializable
  41. sealed trait WitnessCommitment extends ScriptPubKey with RawScriptPubKey

    This trait represents the witness commitment found in the coinbase transaction This is needed to commit to the wtxids of all of the witness transactions, since the merkle tree does not commit to the witnesses for all WitnessTransaction See BIP141 for more info https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki#commitment-structure

  42. sealed trait WitnessScriptPubKey extends ScriptPubKey

    This type represents a ScriptPubKey to evaluate a ScriptWitness

  43. sealed abstract class WitnessScriptPubKeyV0 extends ScriptPubKey with WitnessScriptPubKey

    Represents a BIP141 Witness program

  44. sealed trait WitnessVersion extends BitcoinSLogger

    Created by chris on 11/10/16.

    Created by chris on 11/10/16. The version of the WitnessScriptPubKey, this indicates how a ScriptWitness is rebuilt. BIP141

Value Members

  1. object CLTVScriptPubKey extends Factory[CLTVScriptPubKey] with ScriptFactory[CLTVScriptPubKey]
  2. object CLTVScriptSignature extends Factory[CLTVScriptSignature] with ScriptFactory[CLTVScriptSignature]

    Note that extend org.bitcoins.core.protocol.script.ScriptFactory here but technically ANYTHING can be a CLTVScriptSignature since the CLTVScriptPubKey does not manipulate the stack

  3. object CSVScriptPubKey extends Factory[CSVScriptPubKey] with ScriptFactory[CSVScriptPubKey]
  4. object CSVScriptSignature extends Factory[CSVScriptSignature] with ScriptFactory[CSVScriptSignature]
  5. object ConditionalScriptPubKey
  6. object ConditionalScriptSignature extends Factory[ConditionalScriptSignature] with ScriptFactory[ConditionalScriptSignature]
  7. case object EmptyScriptPubKey extends ScriptPubKey with RawScriptPubKey with Product with Serializable

    Represents the empty ScriptPubKey

  8. case object EmptyScriptSignature extends ScriptSignature with Product with Serializable

    Represents the empty script signature

  9. case object EmptyScriptWitness extends ScriptWitness with Product with Serializable
  10. object LockTimeScriptPubKey extends Factory[LockTimeScriptPubKey] with ScriptFactory[LockTimeScriptPubKey]
  11. object MultiSignatureScriptPubKey extends Factory[MultiSignatureScriptPubKey] with ScriptFactory[MultiSignatureScriptPubKey]
  12. object MultiSignatureScriptSignature extends Factory[MultiSignatureScriptSignature] with ScriptFactory[MultiSignatureScriptSignature]
  13. object MultiSignatureWithTimeoutScriptPubKey extends Factory[MultiSignatureWithTimeoutScriptPubKey] with ScriptFactory[MultiSignatureWithTimeoutScriptPubKey]
  14. object NonStandardIfConditionalScriptPubKey extends Factory[IfConditionalScriptPubKey] with ScriptFactory[IfConditionalScriptPubKey]
  15. object NonStandardNotIfConditionalScriptPubKey extends Factory[NotIfConditionalScriptPubKey] with ScriptFactory[NotIfConditionalScriptPubKey]
  16. object NonStandardScriptPubKey extends Factory[NonStandardScriptPubKey] with ScriptFactory[NonStandardScriptPubKey]
  17. object NonStandardScriptSignature extends Factory[NonStandardScriptSignature] with ScriptFactory[NonStandardScriptSignature]
  18. object NonWitnessScriptPubKey extends Factory[NonWitnessScriptPubKey] with ScriptFactory[NonWitnessScriptPubKey]
  19. object P2PKHScriptPubKey extends Factory[P2PKHScriptPubKey] with ScriptFactory[P2PKHScriptPubKey]
  20. object P2PKHScriptSignature extends Factory[P2PKHScriptSignature] with ScriptFactory[P2PKHScriptSignature]
  21. object P2PKScriptPubKey extends Factory[P2PKScriptPubKey] with ScriptFactory[P2PKScriptPubKey]
  22. object P2PKScriptSignature extends Factory[P2PKScriptSignature] with ScriptFactory[P2PKScriptSignature]
  23. object P2PKWithTimeoutScriptPubKey extends Factory[P2PKWithTimeoutScriptPubKey] with ScriptFactory[P2PKWithTimeoutScriptPubKey]
  24. object P2PKWithTimeoutScriptSignature extends Factory[ConditionalScriptSignature] with ScriptFactory[ConditionalScriptSignature]
  25. object P2SHScriptPubKey extends Factory[P2SHScriptPubKey] with ScriptFactory[P2SHScriptPubKey]
  26. object P2SHScriptSignature extends Factory[P2SHScriptSignature] with ScriptFactory[P2SHScriptSignature]
  27. object P2WPKHWitnessSPKV0 extends Factory[P2WPKHWitnessSPKV0] with ScriptFactory[P2WPKHWitnessSPKV0]
  28. object P2WPKHWitnessV0
  29. object P2WSHWitnessSPKV0 extends Factory[P2WSHWitnessSPKV0] with ScriptFactory[P2WSHWitnessSPKV0]
  30. object P2WSHWitnessV0
  31. object RawScriptPubKey extends Factory[RawScriptPubKey] with ScriptFactory[RawScriptPubKey]
  32. object ScriptPubKey extends Factory[ScriptPubKey] with ScriptFactory[ScriptPubKey]

    Factory companion object used to create ScriptPubKey objects

  33. object ScriptSignature extends Factory[ScriptSignature] with ScriptFactory[ScriptSignature]
  34. object ScriptWitness
  35. case object SigVersionBase extends SignatureVersion with Product with Serializable

    The original digest algorithm created by Satoshi

  36. case object SigVersionWitnessV0 extends SignatureVersion with Product with Serializable

    The digest algorithm implemented by BIP143 https://github.com/bitcoin/bips/blob/master/bip-0143.mediawiki

  37. case object TrivialTrueScriptSignature extends ScriptSignature with Product with Serializable

    A script signature to be used in tests for signing EmptyScriptPubKey.

    A script signature to be used in tests for signing EmptyScriptPubKey. This script pushes an OP_TRUE onto the stack, causing a successful spend.

  38. object UnassignedWitnessScriptPubKey extends Factory[UnassignedWitnessScriptPubKey] with ScriptFactory[UnassignedWitnessScriptPubKey]
  39. object WitnessCommitment extends Factory[WitnessCommitment] with ScriptFactory[WitnessCommitment]
  40. object WitnessScriptPubKey extends Factory[WitnessScriptPubKey] with ScriptFactory[WitnessScriptPubKey]
  41. object WitnessScriptPubKeyV0
  42. object WitnessVersion
  43. case object WitnessVersion0 extends WitnessVersion with Product with Serializable

Ungrouped