Packages

package descriptor

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. Protected

Type Members

  1. sealed abstract class ComboDescriptor extends ScriptDescriptor
  2. case class ComboDescriptorCompressed(expression: ComboExpression, checksum: Option[String]) extends ComboDescriptor with Product with Serializable
  3. case class ComboDescriptorUncompressed(expression: ComboExpression, checksum: Option[String]) extends ComboDescriptor with Product with Serializable
  4. 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)

  5. sealed abstract class Descriptor extends AnyRef

  6. sealed abstract class DescriptorExpression extends AnyRef
  7. sealed abstract class DescriptorFactory[T <: Descriptor, E <: DescriptorExpression, U <: DescriptorType] extends StringFactory[T]
  8. case class DescriptorIterator(descriptor: String) extends Product with Serializable
  9. sealed abstract class DescriptorType extends AnyRef

  10. sealed trait ECPublicKeyExpression extends PubKeyTypeExpression[ECPublicKey]
  11. sealed trait ExpressionSource extends AnyRef

    The source for where a ScriptExpression derives its information

  12. 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/\*

  13. sealed abstract class ExtXOnlyPublicKeyExpression extends SingleXOnlyPubKeyExpression
  14. 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

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

  16. case class KeyOriginExpression(fingerprint: String, path: BIP32Path) extends Product with Serializable
  17. 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)

  18. case class MultisigDescriptor(expression: MultisigExpression, checksum: Option[String]) extends ScriptDescriptor with Product with Serializable
  19. case class MultisigExpression(source: MultisigKeyExpression) extends MultisigScriptExpression with KeyExpressionScriptExpression[ECPublicKey] with Product with Serializable

    A multisig expression Example: multi(1,L4rK1yDtCWekvXuE6oXD9jCYfFNV2cWRpVuPLBcCU2z8TrisoyY1,5KYZdUEo39z3FPrtuX2QbbwGnNP5zTd7yyr2SC1j299sBCnWjss)

  20. case class MultisigKeyExpression(numSigsRequired: Int, keyExpressions: Vector[SingleECPublicKeyExpression]) extends KeyExpression[ECPublicKey] with PubKeyTypeExpression[ECPublicKey] with Product with Serializable
  21. sealed abstract class MultisigScriptExpression extends RawSPKScriptExpression with KeyExpressionScriptExpression[ECPublicKey]
  22. sealed trait NestedScriptExpression extends ExpressionSource

    A script expression nested inside of another script expression Example: sh(wsh(pkh(03a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd)))

  23. case class P2PKDescriptor[T <: PublicKey](expression: P2PKScriptExpression[T], checksum: Option[String]) extends ScriptDescriptor with Product with Serializable
  24. case class P2PKHDescriptor(expression: P2PKHScriptExpression, checksum: Option[String]) extends ScriptDescriptor with Product with Serializable
  25. case class P2PKHScriptExpression(source: SingleECPublicKeyExpression) extends RawSPKScriptExpression with KeyExpressionScriptExpression[ECPublicKey] with Product with Serializable
  26. case class P2PKScriptExpression[T <: PublicKey](source: SingleKeyExpression[T]) extends RawSPKScriptExpression with KeyExpressionScriptExpression[T] with Product with Serializable
  27. case class P2SHDescriptor(expression: P2SHExpression, checksum: Option[String]) extends ScriptDescriptor with Product with Serializable
  28. case class P2SHExpression(source: ScriptExpression) extends ScriptExpression with NestedScriptExpression with Product with Serializable
  29. case class P2WPKHDescriptor(expression: P2WPKHExpression, checksum: Option[String]) extends ScriptDescriptor with Product with Serializable
  30. case class P2WPKHExpression(source: SingleECPublicKeyExpression) extends ScriptExpression with KeyExpressionScriptExpression[ECPublicKey] with Product with Serializable
  31. case class P2WSHDescriptor(expression: P2WSHExpression, checksum: Option[String]) extends ScriptDescriptor with Product with Serializable
  32. case class P2WSHExpression(source: RawSPKScriptExpression) extends ScriptExpression with NestedScriptExpression with Product with Serializable
  33. sealed abstract class PrivateECPublicKeyExpression extends SingleECPublicKeyExpression
  34. sealed abstract class PrivateXOnlyPublicKeyExpression extends SingleXOnlyPubKeyExpression
  35. 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

  36. sealed abstract class PublicECPublicKeyExpression extends SingleECPublicKeyExpression
  37. case class RawDescriptor(expression: RawScriptExpression, checksum: Option[String]) extends ScriptDescriptor with Product with Serializable
  38. 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

  39. case class RawPrivateXOnlyPublicKeyExpression(raw: RawPrivateECPublicKeyExpression) extends PrivateXOnlyPublicKeyExpression with XOnlyPublicKeyExpression with Product with Serializable

    A private key expression that produces an XOnlyPubKey Example: tr(L4rK1yDtCWekvXuE6oXD9jCYfFNV2cWRpVuPLBcCU2z8TrisoyY1)

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

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

  42. sealed abstract class RawSPKScriptExpression extends ScriptExpression

    A descriptor that produces a scriptPubKey of type RawScriptPubKey

  43. case class RawScriptExpression(scriptPubKey: RawScriptPubKey) extends RawSPKScriptExpression with Product with Serializable

    Examples: raw(deadbeef) raw(a9149a4d9901d6af519b2a23d4a2f51650fcba87ce7b87)

  44. sealed abstract class ScriptDescriptor extends Descriptor
  45. sealed abstract class ScriptDescriptorType extends DescriptorType
  46. sealed abstract class ScriptExpression extends DescriptorExpression
  47. 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))

  48. sealed abstract class SingleECPublicKeyExpression extends SingleKeyExpression[ECPublicKey]
  49. sealed abstract class SingleKeyExpression[T <: PublicKey] extends KeyExpression[T]
  50. sealed abstract class SingleXOnlyPubKeyExpression extends SingleKeyExpression[XOnlyPubKey]

    Represents an expression that corresponds to a single XOnlyPubKey Example: tr(a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd)

  51. case class SortedMultisigDescriptor(expression: SortedMultisigExpression, checksum: Option[String]) extends ScriptDescriptor with Product with Serializable
  52. 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/\*)

  53. case class TaprootDescriptor(expression: TreeExpression, checksum: Option[String]) extends ScriptDescriptor with Product with Serializable
  54. 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

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

  56. sealed abstract class TapscriptTreeExpression extends DescriptorExpression

    Example: { pk(xprvA2JDeKCSNNZky6uBCviVfJSKyQ1mDYahRjijr5idH2WwLsEd4Hsb2Tyh8RfQMuPh7f7RtyzTtdrbdqqsunu5Mm3wDvUAKRHSC34sJ7in334/0), { { pk(xpub6ERApfZwUNrhLCkDtcHTcxd75RbzS1ed54G1LkBUHQVHQKqhMkhgbmJbZRkrgZw4koxb5JaHWkY4ALHY2grBGRjaDMzQLcgJvLJuZZvRcEL), pk(02df12b7035bdac8e3bab862a3a83d06ea6b17b6753d52edecba9be46f5d09e076)},pk(L4rK1yDtCWekvXuE6oXD9jCYfFNV2cWRpVuPLBcCU2z8TrisoyY1) } }

  57. sealed trait TapscriptTreeExpressionSource extends ExpressionSource
  58. sealed abstract class TreeExpression extends ScriptExpression

    Tree expression corresponding to BIP386 https://github.com/bitcoin/bips/blob/master/bip-0386.mediawiki

  59. sealed trait XOnlyPublicKeyExpression extends PubKeyTypeExpression[XOnlyPubKey]
  60. 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

  61. case class XprvXOnlyPublicKeyExpression(ecPublicKeyExpression: XprvECPublicKeyExpression) extends ExtXOnlyPublicKeyExpression with XOnlyPublicKeyExpression with Product with Serializable
  62. 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

  63. case class XpubXOnlyPublicKeyExpression(ecPublicKeyExpression: ExtECPublicKeyExpression) extends ExtXOnlyPublicKeyExpression with XOnlyPublicKeyExpression with Product with Serializable

    Produces XOnlyPubKey from ExtPublicKey

Value Members

  1. object ComboDescriptor extends DescriptorFactory[ComboDescriptor, ComboExpression, Combo.type]
  2. object Descriptor extends StringFactory[Descriptor]
  3. object DescriptorType extends StringFactory[DescriptorType]
  4. object KeyExpression extends StringFactory[KeyExpression[ECPublicKey]]
  5. object KeyOriginExpression extends StringFactory[KeyOriginExpression] with Serializable
  6. object MultisigDescriptor extends DescriptorFactory[MultisigDescriptor, MultisigExpression, Multi.type] with Serializable
  7. object MultisigKeyExpression extends StringFactory[MultisigKeyExpression] with Serializable
  8. object P2PKDescriptor extends DescriptorFactory[P2PKDescriptor[PublicKey], P2PKScriptExpression[PublicKey], PK.type] with Serializable
  9. object P2PKHDescriptor extends DescriptorFactory[P2PKHDescriptor, P2PKHScriptExpression, PKH.type] with Serializable
  10. object P2SHDescriptor extends DescriptorFactory[P2SHDescriptor, P2SHExpression, SH.type] with Serializable
  11. object P2WPKHDescriptor extends DescriptorFactory[P2WPKHDescriptor, P2WPKHExpression, WPKH.type] with Serializable
  12. object P2WSHDescriptor extends DescriptorFactory[P2WSHDescriptor, P2WSHExpression, WSH.type] with Serializable
  13. object RawDescriptor extends DescriptorFactory[RawDescriptor, RawScriptExpression, Raw.type] with Serializable
  14. object ScriptDescriptor extends StringFactory[ScriptDescriptor]
  15. object ScriptExpressionECKey extends StringFactory[ScriptExpression]

    Creates ScriptExpression from ECPublicKey's

  16. object ScriptExpressionXOnlyKey extends StringFactory[ScriptExpression]
  17. object SingleECPublicKeyExpression extends StringFactory[SingleECPublicKeyExpression]
  18. object SingleXOnlyPubKeyExpression extends StringFactory[SingleXOnlyPubKeyExpression]
  19. object SortedMultisigDescriptor extends DescriptorFactory[SortedMultisigDescriptor, SortedMultisigExpression, SortedMulti.type] with Serializable
  20. object TaprootDescriptor extends DescriptorFactory[TaprootDescriptor, TreeExpression, TR.type] with Serializable

Ungrouped