Packages

package descriptor

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. Protected

Type Members

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

  7. sealed abstract class Descriptor extends AnyRef

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

  12. sealed trait ECPublicKeyExpression extends PubKeyTypeExpression[ECPublicKey]
  13. sealed trait ExpressionSource extends AnyRef

    The source for where a ScriptExpression derives its information

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

  15. sealed abstract class ExtXOnlyPublicKeyExpression extends SingleXOnlyPubKeyExpression
  16. 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

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

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

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

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

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

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

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

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

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

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

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

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

  44. sealed abstract class RawSPKScriptExpression extends ScriptExpression

    A descriptor that produces a scriptPubKey of type RawScriptPubKey

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

    Examples: raw(deadbeef) raw(a9149a4d9901d6af519b2a23d4a2f51650fcba87ce7b87)

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

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

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

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

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

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

  58. sealed abstract class TapscriptTreeExpression extends DescriptorExpression

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

  59. sealed trait TapscriptTreeExpressionSource extends ExpressionSource
  60. sealed abstract class TreeExpression extends ScriptExpression

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

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

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

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

    Produces XOnlyPubKey from ExtPublicKey

Value Members

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

    Creates ScriptExpression from ECPublicKey's

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

Ungrouped