package descriptor
- Alphabetic
- Public
- Protected
Type Members
- sealed abstract class ComboDescriptor extends ScriptDescriptor
- case class ComboDescriptorCompressed(expression: ComboExpression, checksum: Option[String]) extends ComboDescriptor with Product with Serializable
- case class ComboDescriptorUncompressed(expression: ComboExpression, checksum: Option[String]) extends ComboDescriptor with Product with Serializable
- case class ComboExpression(source: SingleECPublicKeyExpression, scriptType: ScriptType = ScriptType.PUBKEYHASH) extends ScriptExpression with KeyExpressionScriptExpression[ECPublicKey] with Product with Serializable
An expression that can produce multiple types of scripts Example: combo(L4rK1yDtCWekvXuE6oXD9jCYfFNV2cWRpVuPLBcCU2z8TrisoyY1) combo([01234567]xpub6ERApfZwUNrhLCkDtcHTcxd75RbzS1ed54G1LkBUHQVHQKqhMkhgbmJbZRkrgZw4koxb5JaHWkY4ALHY2grBGRjaDMzQLcgJvLJuZZvRcEL)
- sealed abstract class Descriptor extends AnyRef
- sealed abstract class DescriptorExpression extends AnyRef
- sealed abstract class DescriptorFactory[T <: Descriptor, E <: DescriptorExpression, U <: DescriptorType] extends StringFactory[T]
- case class DescriptorIterator(descriptor: String) extends Product with Serializable
- sealed abstract class DescriptorType extends AnyRef
- sealed trait ECPublicKeyExpression extends PubKeyTypeExpression[ECPublicKey]
- sealed trait ExpressionSource extends AnyRef
The source for where a ScriptExpression derives its information
- sealed abstract class ExtECPublicKeyExpression extends SingleECPublicKeyExpression
Represents key expressions that are BIP32 keys Examples: xprvA1RpRA33e1JQ7ifknakTFpgNXPmW2YvmhqLQYMmrj4xJXXWYpDPS3xz7iAxn8L39njGVyuoseXzU6rcxFLJ8HFsTjSyQbLYnMpCqE2VbFWc [deadbeef/0'/1'/2']xprvA1RpRA33e1JQ7ifknakTFpgNXPmW2YvmhqLQYMmrj4xJXXWYpDPS3xz7iAxn8L39njGVyuoseXzU6rcxFLJ8HFsTjSyQbLYnMpCqE2VbFWc/3/4/5 [deadbeef/0'/1'/2']xprvA1RpRA33e1JQ7ifknakTFpgNXPmW2YvmhqLQYMmrj4xJXXWYpDPS3xz7iAxn8L39njGVyuoseXzU6rcxFLJ8HFsTjSyQbLYnMpCqE2VbFWc/3/4/5/\*
- sealed abstract class ExtXOnlyPublicKeyExpression extends SingleXOnlyPubKeyExpression
- sealed abstract class KeyExpression[T <: PublicKey] extends DescriptorExpression
Denotes a key expression, examples of which are 0260b2003c386519fc9eadf2b5cf124dd8eea4c4e68d5e154050a9346ea98ce600 [deadbeef/0h/0h/0h]0260b2003c386519fc9eadf2b5cf124dd8eea4c4e68d5e154050a9346ea98ce60 [deadbeef/0h/1h/2h]xpub6ERApfZwUNrhLCkDtcHTcxd75RbzS1ed54G1LkBUHQVHQKqhMkhgbmJbZRkrgZw4koxb5JaHWkY4ALHY2grBGRjaDMzQLcgJvLJuZZvRcE
- sealed trait KeyExpressionScriptExpression[T <: PublicKey] extends ExpressionSource
A script expression derived from a key expression Example: tr(a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd) tr(L4rK1yDtCWekvXuE6oXD9jCYfFNV2cWRpVuPLBcCU2z8TrisoyY1) pkh([bd16bee5/2147483647']xpub69H7F5dQzmVd3vPuLKtcXJziMEQByuDidnX3YdwgtNsecY5HRGtAAQC5mXTt4dsv9RzyjgDjAQs9VGVV6ydYCHnprc9vvaA5YtqWyL6hyds/0)
- case class KeyOriginExpression(fingerprint: String, path: BIP32Path) extends Product with Serializable
- case class KeyPathOnlyTreeExpression(source: SingleXOnlyPubKeyExpression) extends TreeExpression with KeyExpressionScriptExpression[XOnlyPubKey] with Product with Serializable
A tapscript tree expression with ONLY the keypath.
A tapscript tree expression with ONLY the keypath. Example: tr(L4rK1yDtCWekvXuE6oXD9jCYfFNV2cWRpVuPLBcCU2z8TrisoyY1) tr(a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd)
- case class MultisigDescriptor(expression: MultisigExpression, checksum: Option[String]) extends ScriptDescriptor with Product with Serializable
- case class MultisigExpression(source: MultisigKeyExpression) extends MultisigScriptExpression with KeyExpressionScriptExpression[ECPublicKey] with Product with Serializable
A multisig expression Example: multi(1,L4rK1yDtCWekvXuE6oXD9jCYfFNV2cWRpVuPLBcCU2z8TrisoyY1,5KYZdUEo39z3FPrtuX2QbbwGnNP5zTd7yyr2SC1j299sBCnWjss)
- case class MultisigKeyExpression(numSigsRequired: Int, keyExpressions: Vector[SingleECPublicKeyExpression]) extends KeyExpression[ECPublicKey] with PubKeyTypeExpression[ECPublicKey] with Product with Serializable
- sealed abstract class MultisigScriptExpression extends RawSPKScriptExpression with KeyExpressionScriptExpression[ECPublicKey]
- sealed trait NestedScriptExpression extends ExpressionSource
A script expression nested inside of another script expression Example: sh(wsh(pkh(03a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd)))
- case class P2PKDescriptor[T <: PublicKey](expression: P2PKScriptExpression[T], checksum: Option[String]) extends ScriptDescriptor with Product with Serializable
- case class P2PKHDescriptor(expression: P2PKHScriptExpression, checksum: Option[String]) extends ScriptDescriptor with Product with Serializable
- case class P2PKHScriptExpression(source: SingleECPublicKeyExpression) extends RawSPKScriptExpression with KeyExpressionScriptExpression[ECPublicKey] with Product with Serializable
- case class P2PKScriptExpression[T <: PublicKey](source: SingleKeyExpression[T]) extends RawSPKScriptExpression with KeyExpressionScriptExpression[T] with Product with Serializable
- case class P2SHDescriptor(expression: P2SHExpression, checksum: Option[String]) extends ScriptDescriptor with Product with Serializable
- case class P2SHExpression(source: ScriptExpression) extends ScriptExpression with NestedScriptExpression with Product with Serializable
- case class P2WPKHDescriptor(expression: P2WPKHExpression, checksum: Option[String]) extends ScriptDescriptor with Product with Serializable
- case class P2WPKHExpression(source: SingleECPublicKeyExpression) extends ScriptExpression with KeyExpressionScriptExpression[ECPublicKey] with Product with Serializable
- case class P2WSHDescriptor(expression: P2WSHExpression, checksum: Option[String]) extends ScriptDescriptor with Product with Serializable
- case class P2WSHExpression(source: RawSPKScriptExpression) extends ScriptExpression with NestedScriptExpression with Product with Serializable
- sealed abstract class PrivateECPublicKeyExpression extends SingleECPublicKeyExpression
- sealed abstract class PrivateXOnlyPublicKeyExpression extends SingleXOnlyPubKeyExpression
- sealed trait PubKeyTypeExpression[T <: PublicKey] extends AnyRef
A trait that allows us to parameterize by PublicKey type.
A trait that allows us to parameterize by PublicKey type. This is needed for re-using descriptors across ECPublicKey and XOnlyPubKey
- sealed abstract class PublicECPublicKeyExpression extends SingleECPublicKeyExpression
- case class RawDescriptor(expression: RawScriptExpression, checksum: Option[String]) extends ScriptDescriptor with Product with Serializable
- case class RawPrivateECPublicKeyExpression(key: ECPrivateKeyBytes, network: NetworkParameters, originOpt: Option[KeyOriginExpression]) extends PrivateECPublicKeyExpression with ECPublicKeyExpression with Product with Serializable
A private key descriptor expression Examples of what this data structure can represent 5KYZdUEo39z3FPrtuX2QbbwGnNP5zTd7yyr2SC1j299sBCnWjss L4rK1yDtCWekvXuE6oXD9jCYfFNV2cWRpVuPLBcCU2z8TrisoyY1
A private key descriptor expression Examples of what this data structure can represent 5KYZdUEo39z3FPrtuX2QbbwGnNP5zTd7yyr2SC1j299sBCnWjss L4rK1yDtCWekvXuE6oXD9jCYfFNV2cWRpVuPLBcCU2z8TrisoyY1
Its unclear to me at this point if private keys can have key origin
- case class RawPrivateXOnlyPublicKeyExpression(raw: RawPrivateECPublicKeyExpression) extends PrivateXOnlyPublicKeyExpression with XOnlyPublicKeyExpression with Product with Serializable
A private key expression that produces an XOnlyPubKey Example: tr(L4rK1yDtCWekvXuE6oXD9jCYfFNV2cWRpVuPLBcCU2z8TrisoyY1)
- case class RawPublicECPublicKeyExpression(key: ECPublicKeyBytes, originOpt: Option[KeyOriginExpression]) extends PublicECPublicKeyExpression with ECPublicKeyExpression with Product with Serializable
A key expression that looks like 0260b2003c386519fc9eadf2b5cf124dd8eea4c4e68d5e154050a9346ea98ce600 [deadbeef/0h/0h/0h]0260b2003c386519fc9eadf2b5cf124dd8eea4c4e68d5e154050a9346ea98ce600
- case class RawPublicXOnlyPublicKeyExpression(originOpt: Option[KeyOriginExpression], pubKey: XOnlyPubKey) extends SingleXOnlyPubKeyExpression with XOnlyPublicKeyExpression with Product with Serializable
A single XOnlyPubKey in a descriptor Example: tr(a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd)
- sealed abstract class RawSPKScriptExpression extends ScriptExpression
A descriptor that produces a scriptPubKey of type RawScriptPubKey
- case class RawScriptExpression(scriptPubKey: RawScriptPubKey) extends RawSPKScriptExpression with Product with Serializable
Examples: raw(deadbeef) raw(a9149a4d9901d6af519b2a23d4a2f51650fcba87ce7b87)
- sealed abstract class ScriptDescriptor extends Descriptor
- sealed abstract class ScriptDescriptorType extends DescriptorType
- sealed abstract class ScriptExpression extends DescriptorExpression
- case class ScriptPathTreeExpression(keyPath: KeyPathOnlyTreeExpression, source: TapscriptTreeExpression) extends TreeExpression with TapscriptTreeExpressionSource with Product with Serializable
Tapscript tree with BOTH keypath and script path cases.
Tapscript tree with BOTH keypath and script path cases. Example: tr(a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd,pk(669b8afcec803a0d323e9a17f3ea8e68e8abe5a278020a929adbec52421adbd0))
- sealed abstract class SingleECPublicKeyExpression extends SingleKeyExpression[ECPublicKey]
- sealed abstract class SingleKeyExpression[T <: PublicKey] extends KeyExpression[T]
- sealed abstract class SingleXOnlyPubKeyExpression extends SingleKeyExpression[XOnlyPubKey]
Represents an expression that corresponds to a single XOnlyPubKey Example: tr(a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd)
- case class SortedMultisigDescriptor(expression: SortedMultisigExpression, checksum: Option[String]) extends ScriptDescriptor with Product with Serializable
- case class SortedMultisigExpression(source: MultisigKeyExpression) extends MultisigScriptExpression with KeyExpressionScriptExpression[ECPublicKey] with Product with Serializable
Multisig expressions with lexographically sorted public keys Example: sortedmulti(2,xpub6ERApfZwUNrhLCkDtcHTcxd75RbzS1ed54G1LkBUHQVHQKqhMkhgbmJbZRkrgZw4koxb5JaHWkY4ALHY2grBGRjaDMzQLcgJvLJuZZvRcEL/\*,xpub68NZiKmJWnxxS6aaHmn81bvJeTESw724CRDs6HbuccFQN9Ku14VQrADWgqbhhTHBaohPX4CjNLf9fq9MYo6oDaPPLPxSb7gwQN3ih19Zm4Y/0/0/\*)
- case class TaprootDescriptor(expression: TreeExpression, checksum: Option[String]) extends ScriptDescriptor with Product with Serializable
- case class TapscriptBranchExpression(left: TapscriptTreeExpression, right: TapscriptTreeExpression) extends TapscriptTreeExpression with Product with Serializable
Branches in a TapscriptTreeExpression.
Branches in a TapscriptTreeExpression. This corresponds to TapBranch
- case class TapscriptLeafExpression(source: RawSPKScriptExpression) extends TapscriptTreeExpression with Product with Serializable
A leaf in a TapscriptTreeExpression.
A leaf in a TapscriptTreeExpression. This corresponds to TapLeaf
- sealed abstract class TapscriptTreeExpression extends DescriptorExpression
Example: { pk(xprvA2JDeKCSNNZky6uBCviVfJSKyQ1mDYahRjijr5idH2WwLsEd4Hsb2Tyh8RfQMuPh7f7RtyzTtdrbdqqsunu5Mm3wDvUAKRHSC34sJ7in334/0), { { pk(xpub6ERApfZwUNrhLCkDtcHTcxd75RbzS1ed54G1LkBUHQVHQKqhMkhgbmJbZRkrgZw4koxb5JaHWkY4ALHY2grBGRjaDMzQLcgJvLJuZZvRcEL), pk(02df12b7035bdac8e3bab862a3a83d06ea6b17b6753d52edecba9be46f5d09e076)},pk(L4rK1yDtCWekvXuE6oXD9jCYfFNV2cWRpVuPLBcCU2z8TrisoyY1) } }
- sealed trait TapscriptTreeExpressionSource extends ExpressionSource
- sealed abstract class TreeExpression extends ScriptExpression
Tree expression corresponding to BIP386 https://github.com/bitcoin/bips/blob/master/bip-0386.mediawiki
- sealed trait XOnlyPublicKeyExpression extends PubKeyTypeExpression[XOnlyPubKey]
- case class XprvECPublicKeyExpression(extKey: ExtPrivateKey, originOpt: Option[KeyOriginExpression], pathOpt: Option[BIP32Path], childrenHardenedOpt: Option[Option[HardenedType]]) extends ExtECPublicKeyExpression with ECPublicKeyExpression with Product with Serializable
Produces ECPublicKey from ExtPrivateKey
- case class XprvXOnlyPublicKeyExpression(ecPublicKeyExpression: XprvECPublicKeyExpression) extends ExtXOnlyPublicKeyExpression with XOnlyPublicKeyExpression with Product with Serializable
- case class XpubECPublicKeyExpression(extKey: ExtPublicKey, originOpt: Option[KeyOriginExpression], pathOpt: Option[BIP32Path], childrenHardenedOpt: Option[Option[HardenedType]]) extends ExtECPublicKeyExpression with ECPublicKeyExpression with Product with Serializable
Produces ECPublicKey from ExtPublicKey
- case class XpubXOnlyPublicKeyExpression(ecPublicKeyExpression: ExtECPublicKeyExpression) extends ExtXOnlyPublicKeyExpression with XOnlyPublicKeyExpression with Product with Serializable
Produces XOnlyPubKey from ExtPublicKey
Value Members
- object ComboDescriptor extends DescriptorFactory[ComboDescriptor, ComboExpression, Combo.type]
- object Descriptor extends StringFactory[Descriptor]
- object DescriptorType extends StringFactory[DescriptorType]
- object KeyExpression extends StringFactory[KeyExpression[ECPublicKey]]
- object KeyOriginExpression extends StringFactory[KeyOriginExpression] with Serializable
- object MultisigDescriptor extends DescriptorFactory[MultisigDescriptor, MultisigExpression, Multi.type] with Serializable
- object MultisigKeyExpression extends StringFactory[MultisigKeyExpression] with Serializable
- object P2PKDescriptor extends DescriptorFactory[P2PKDescriptor[PublicKey], P2PKScriptExpression[PublicKey], PK.type] with Serializable
- object P2PKHDescriptor extends DescriptorFactory[P2PKHDescriptor, P2PKHScriptExpression, PKH.type] with Serializable
- object P2SHDescriptor extends DescriptorFactory[P2SHDescriptor, P2SHExpression, SH.type] with Serializable
- object P2WPKHDescriptor extends DescriptorFactory[P2WPKHDescriptor, P2WPKHExpression, WPKH.type] with Serializable
- object P2WSHDescriptor extends DescriptorFactory[P2WSHDescriptor, P2WSHExpression, WSH.type] with Serializable
- object RawDescriptor extends DescriptorFactory[RawDescriptor, RawScriptExpression, Raw.type] with Serializable
- object ScriptDescriptor extends StringFactory[ScriptDescriptor]
- object ScriptExpressionECKey extends StringFactory[ScriptExpression]
Creates ScriptExpression from ECPublicKey's
- object ScriptExpressionXOnlyKey extends StringFactory[ScriptExpression]
- object SingleECPublicKeyExpression extends StringFactory[SingleECPublicKeyExpression]
- object SingleXOnlyPubKeyExpression extends StringFactory[SingleXOnlyPubKeyExpression]
- object SortedMultisigDescriptor extends DescriptorFactory[SortedMultisigDescriptor, SortedMultisigExpression, SortedMulti.type] with Serializable
- object TaprootDescriptor extends DescriptorFactory[TaprootDescriptor, TreeExpression, TR.type] with Serializable