package utxo
- Alphabetic
- Public
- Protected
Type Members
- 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
- case class AddressLabelTagName(name: String) extends InternalAddressTagName with Product with Serializable
- 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
- trait AddressTagFactory[Tag <: AddressTag] extends StringFactory[Tag]
- trait AddressTagName extends AnyRef
- trait AddressTagType extends AnyRef
A type of address tag, many AddressTags of the same type should inherit the AddressTagType that they all share
- sealed trait Conditional extends ConditionalPath
- case class ConditionalInputInfo(outPoint: TransactionOutPoint, amount: CurrencyUnit, scriptPubKey: ConditionalScriptPubKey, conditionalPath: ConditionalPath, hashPreImages: Vector[NetworkElement] = Vector.empty) extends RawInputInfo with Product with Serializable
- 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.
- 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.
- case class EmptyInputInfo(outPoint: TransactionOutPoint, amount: CurrencyUnit) extends RawInputInfo with Product with Serializable
- 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
- 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
- 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
- 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.
- 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.
- 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
- 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
- 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
- case class LockTimeInputInfo(outPoint: TransactionOutPoint, amount: CurrencyUnit, scriptPubKey: LockTimeScriptPubKey, conditionalPath: ConditionalPath, hashPreImages: Vector[NetworkElement] = Vector.empty) extends RawInputInfo with Product with Serializable
- case class MultiSignatureInputInfo(outPoint: TransactionOutPoint, amount: CurrencyUnit, scriptPubKey: MultiSignatureScriptPubKey) extends RawInputInfo with Product with Serializable
- case class P2PKHInputInfo(outPoint: TransactionOutPoint, amount: CurrencyUnit, pubKey: ECPublicKey) extends RawInputInfo with Product with Serializable
- case class P2PKInputInfo(outPoint: TransactionOutPoint, amount: CurrencyUnit, scriptPubKey: P2PKScriptPubKey) extends RawInputInfo with Product with Serializable
- case class P2PKWithTimeoutInputInfo(outPoint: TransactionOutPoint, amount: CurrencyUnit, scriptPubKey: P2PKWithTimeoutScriptPubKey, isBeforeTimeout: Boolean) extends RawInputInfo with Product with Serializable
- sealed trait P2SHInputInfo extends InputInfo
- case class P2SHNestedSegwitV0InputInfo(outPoint: TransactionOutPoint, amount: CurrencyUnit, scriptWitness: ScriptWitnessV0, conditionalPath: ConditionalPath, hashPreImages: Vector[NetworkElement] = Vector.empty) extends P2SHInputInfo with Product with Serializable
- case class P2SHNonSegwitInputInfo(outPoint: TransactionOutPoint, amount: CurrencyUnit, redeemScript: RawScriptPubKey, conditionalPath: ConditionalPath, hashPreImages: Vector[NetworkElement] = Vector.empty) extends P2SHInputInfo with Product with Serializable
- case class P2WPKHV0InputInfo(outPoint: TransactionOutPoint, amount: CurrencyUnit, pubKey: ECPublicKey) extends SegwitV0NativeInputInfo with Product with Serializable
- case class P2WSHV0InputInfo(outPoint: TransactionOutPoint, amount: CurrencyUnit, scriptWitness: P2WSHWitnessV0, conditionalPath: ConditionalPath, hashPreImages: Vector[NetworkElement] = Vector.empty) extends SegwitV0NativeInputInfo with Product with Serializable
- sealed trait RawInputInfo extends InputInfo
- sealed abstract class ReceivedState extends TxoState
- 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.
- sealed trait SegwitV0NativeInputInfo extends InputInfo
- sealed abstract class SpentState extends TxoState
- sealed trait StorageLocationTag extends InternalAddressTag
Storage Location of the private keys associated with the address
- sealed trait TaprootInputInfo extends InputInfo
- case class TaprootKeyPathInputInfo(outPoint: TransactionOutPoint, amount: CurrencyUnit, scriptPubKey: TaprootScriptPubKey, previousOutputMap: PreviousOutputMap) extends TaprootInputInfo with Product with Serializable
- sealed abstract class TxoState extends AnyRef
Represents the various states a transaction output can be in
- case class UnassignedSegwitNativeInputInfo(outPoint: TransactionOutPoint, amount: CurrencyUnit, scriptPubKey: WitnessScriptPubKey, scriptWitness: ScriptWitness, conditionalPath: ConditionalPath, pubKeys: Vector[ECPublicKey]) extends InputInfo with Product with Serializable
- 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
- case class UnknownAddressTagName(name: String) extends InternalAddressTagName with Product with Serializable
An unknown address tag name, most likely an internal representation of an ExternalAddressTagName
- case class UnknownAddressTagType(typeName: String) extends InternalAddressTagType with Product with Serializable
An unknown address tag type, most likely an internal representation of an ExternalAddressTagType
Value Members
- object AddressLabelTagType extends InternalAddressTagType
- object ConditionalPath
- object InputInfo
- object InternalAddressTag
- object InternalAddressTagName extends StringFactory[InternalAddressTagName]
- object InternalAddressTagType extends StringFactory[InternalAddressTagType]
- object RawInputInfo
- object ScriptSignatureParams extends Serializable
- object SegwitV0NativeInputInfo
- object StorageLocationTag extends AddressTagFactory[StorageLocationTag]
- object StorageLocationTagType extends InternalAddressTagType
- object TxoState extends StringFactory[TxoState]
- object UnknownAddressTag extends Serializable