package utxo

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. Protected

Type Members

  1. case class AddressLabelTag(name: String) extends InternalAddressTag with Product with Serializable

    Used for generic address labeling, generally labels should be provided by the user so they keep track which parties are aware of which addresses

  2. case class AddressLabelTagName(name: String) extends InternalAddressTagName with Product with Serializable
  3. trait AddressTag extends AnyRef

    An tag for an address.

    An tag for an address. It's name is what it is referred to as and it's tagType is its parent AddressTagType

  4. trait AddressTagFactory[Tag <: AddressTag] extends StringFactory[Tag]
  5. trait AddressTagName extends AnyRef
  6. trait AddressTagType extends AnyRef

    A type of address tag, many AddressTags of the same type should inherit the AddressTagType that they all share

  7. sealed trait Conditional extends ConditionalPath
  8. case class ConditionalInputInfo(outPoint: TransactionOutPoint, amount: CurrencyUnit, scriptPubKey: ConditionalScriptPubKey, conditionalPath: ConditionalPath, hashPreImages: Vector[NetworkElement] = Vector.empty) extends RawInputInfo with Product with Serializable
  9. sealed trait ConditionalPath extends AnyRef

    Represents the spending branch being taken in a ScriptPubKey's execution

    Represents the spending branch being taken in a ScriptPubKey's execution

    If you over-specify a path, such as giving a condition where none is needed, then the remaining over-specified path will be ignored.

    For example, if you wanted to spend a ConditionalScriptPubKey(P2PK1, P2PK2) (which looks like OP_IF <P2PK1> OP_ELSE <P2PK2> OP_ENDIF) with the P2PK1 case, then you would construct a ConditionalSpendingInfo using nonNestedTrue as your ConditionalPath. Otherwise if you wanted to use P2PK2 you would use nonNestedFalse.

  10. case class ECSignatureParams[+InputType <: InputInfo](inputInfo: InputType, prevTransaction: Transaction, signer: Sign, hashType: HashType) extends InputSigningInfo[InputType] with Product with Serializable

    Stores the information needed to generate an ECDigitalSignature for a use in spending a UTXO.

  11. case class EmptyInputInfo(outPoint: TransactionOutPoint, amount: CurrencyUnit) extends RawInputInfo with Product with Serializable
  12. trait ExternalAddressTag extends AddressTag

    Address Tags defined outside the library, used for other projects creating there own address tags that aren't supported by bitcoin-s

  13. trait ExternalAddressTagName extends AddressTagName

    Address Tag Names defined outside the library, used for other projects creating there own address tags that aren't supported by bitcoin-s

  14. trait ExternalAddressTagType extends AddressTagType

    Address Tag Types defined outside the library, used for other projects creating there own address tags that aren't supported by bitcoin-s

  15. sealed trait InputInfo extends AnyRef

    An InputInfo contains all information other than private keys about a particular spending condition in a UTXO.

    An InputInfo contains all information other than private keys about a particular spending condition in a UTXO.

    Note that while some pieces of information (TxOutPoint, amount, etc.) apply to all input types, other pieces are specific to particular ones such as a witness to a SegWit input.

  16. sealed trait InputSigningInfo[+InputType <: InputInfo] extends AnyRef

    Stores the information required to generate a signature (ECSignatureParams) or to generate a script signature (ScriptSignatureParams) for a given satisfaction condition on a UTXO.

  17. sealed trait InternalAddressTag extends AddressTag

    An AddressTag that is native to Bitcoin-S.

    An AddressTag that is native to Bitcoin-S. InternalAddressTags are still usable when using Bitcoin-S as a dependency

  18. sealed trait InternalAddressTagName extends AddressTagName

    An AddressTagNames that is native to Bitcoin-S.

    An AddressTagNames that is native to Bitcoin-S. InternalAddressTagNames are still usable when using Bitcoin-S as a dependency

  19. sealed trait InternalAddressTagType extends AddressTagType

    An AddressTagType that is native to Bitcoin-S.

    An AddressTagType that is native to Bitcoin-S. InternalAddressTagTypes are still usable when using Bitcoin-S as a dependency

  20. case class LockTimeInputInfo(outPoint: TransactionOutPoint, amount: CurrencyUnit, scriptPubKey: LockTimeScriptPubKey, conditionalPath: ConditionalPath, hashPreImages: Vector[NetworkElement] = Vector.empty) extends RawInputInfo with Product with Serializable
  21. case class MultiSignatureInputInfo(outPoint: TransactionOutPoint, amount: CurrencyUnit, scriptPubKey: MultiSignatureScriptPubKey) extends RawInputInfo with Product with Serializable
  22. case class P2PKHInputInfo(outPoint: TransactionOutPoint, amount: CurrencyUnit, pubKey: ECPublicKey) extends RawInputInfo with Product with Serializable
  23. case class P2PKInputInfo(outPoint: TransactionOutPoint, amount: CurrencyUnit, scriptPubKey: P2PKScriptPubKey) extends RawInputInfo with Product with Serializable
  24. case class P2PKWithTimeoutInputInfo(outPoint: TransactionOutPoint, amount: CurrencyUnit, scriptPubKey: P2PKWithTimeoutScriptPubKey, isBeforeTimeout: Boolean) extends RawInputInfo with Product with Serializable
  25. sealed trait P2SHInputInfo extends InputInfo
  26. case class P2SHNestedSegwitV0InputInfo(outPoint: TransactionOutPoint, amount: CurrencyUnit, scriptWitness: ScriptWitnessV0, conditionalPath: ConditionalPath, hashPreImages: Vector[NetworkElement] = Vector.empty) extends P2SHInputInfo with Product with Serializable
  27. case class P2SHNonSegwitInputInfo(outPoint: TransactionOutPoint, amount: CurrencyUnit, redeemScript: RawScriptPubKey, conditionalPath: ConditionalPath, hashPreImages: Vector[NetworkElement] = Vector.empty) extends P2SHInputInfo with Product with Serializable
  28. case class P2WPKHV0InputInfo(outPoint: TransactionOutPoint, amount: CurrencyUnit, pubKey: ECPublicKey) extends SegwitV0NativeInputInfo with Product with Serializable
  29. case class P2WSHV0InputInfo(outPoint: TransactionOutPoint, amount: CurrencyUnit, scriptWitness: P2WSHWitnessV0, conditionalPath: ConditionalPath, hashPreImages: Vector[NetworkElement] = Vector.empty) extends SegwitV0NativeInputInfo with Product with Serializable
  30. sealed trait RawInputInfo extends InputInfo
  31. sealed abstract class ReceivedState extends TxoState
  32. case class ScriptSignatureParams[+InputType <: InputInfo](inputInfo: InputType, prevTransaction: Transaction, signers: Vector[Sign], hashType: HashType) extends InputSigningInfo[InputType] with Product with Serializable

    Stores the information needed to generate a ScriptSignature for a specific spending condition on a UTXO.

  33. sealed trait SegwitV0NativeInputInfo extends InputInfo
  34. sealed abstract class SpentState extends TxoState
  35. sealed trait StorageLocationTag extends InternalAddressTag

    Storage Location of the private keys associated with the address

  36. sealed abstract class TxoState extends AnyRef

    Represents the various states a transaction output can be in

  37. case class UnassignedSegwitNativeInputInfo(outPoint: TransactionOutPoint, amount: CurrencyUnit, scriptPubKey: WitnessScriptPubKey, scriptWitness: ScriptWitness, conditionalPath: ConditionalPath, pubKeys: Vector[ECPublicKey]) extends InputInfo with Product with Serializable
  38. case class UnknownAddressTag(tagName: AddressTagName, tagType: AddressTagType) extends InternalAddressTag with Product with Serializable

    An address tag without an unknown type, most likely an internal representation of an ExternalAddressTag

  39. case class UnknownAddressTagName(name: String) extends InternalAddressTagName with Product with Serializable

    An unknown address tag name, most likely an internal representation of an ExternalAddressTagName

  40. case class UnknownAddressTagType(typeName: String) extends InternalAddressTagType with Product with Serializable

    An unknown address tag type, most likely an internal representation of an ExternalAddressTagType

Ungrouped