Packages

package musig

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. Protected

Type Members

  1. sealed trait KeySet extends AnyRef

    Represents an ordered set of MuSig signers and their tweaks.

    Represents an ordered set of MuSig signers and their tweaks. This is the data required to (non-interactively) compute the aggPubKey.

  2. case class LexicographicKeySet(keys: Vector[SchnorrPublicKey], tweaks: Vector[MuSigTweak] = Vector.empty) extends KeySet with Product with Serializable

    The default way of ordering a KeySet is lexicographically

  3. case class MuSigNoncePriv(privNonces: Vector[ECPrivateKey]) extends NetworkElement with Product with Serializable

    Wraps the ephemeral private keys making up a MuSig2 nonce

  4. case class MuSigNoncePub(pubNonces: Vector[SecpPoint]) extends NetworkElement with Product with Serializable

    Wraps the ephemeral points making up a MuSig2 nonce

  5. case class MuSigTweak(tweak: FieldElement, isXOnlyT: Boolean) extends Product with Serializable

    Used to tweak a MuSig aggregate public key, as defined here https://github.com/jonasnick/bips/blob/musig2/bip-musig2.mediawiki#tweaking-definition

  6. case class MuSigTweakContext(parityAcc: ParityMultiplier, tweakAcc: FieldElement) extends Product with Serializable

    Represents the total tweak sum and net parity multiplier after applying all tweaks

  7. case class MuSigTweakData(context: MuSigTweakContext, aggPubKeyParity: KeyParity, e: FieldElement) extends Product with Serializable

    The data required to apply the net tweak during MuSig signature aggregation

  8. sealed trait ParityMultiplier extends AnyRef

    Represents either FieldElement.one or FieldElement.orderMinusOne.

    Represents either FieldElement.one or FieldElement.orderMinusOne. Using this ADT rather than those actual FieldElements saves computation including some unnecessary point multiplications.

    In general there is a correspondence between Pos <-> EvenParity and Neg <-> OddParity, this is because in general x-only keys are assumed to be even and need to be negated if they are meant to be used as odd keys.

  9. case class SigningSession(b: FieldElement, aggNonce: ECPublicKey, e: FieldElement) extends Product with Serializable

    The data relevant to computing and verifying MuSig partial signatures

  10. case class UnsortedKeySet(keys: Vector[SchnorrPublicKey], tweaks: Vector[MuSigTweak] = Vector.empty) extends KeySet with Product with Serializable

    This represents an arbitrary KeySet, for use in tests.

    This represents an arbitrary KeySet, for use in tests. If you have a non-lexicographical order, extend KeySet.

Value Members

  1. object KeySet
  2. object MuSigNoncePriv extends Factory[MuSigNoncePriv] with Serializable
  3. object MuSigNoncePub extends Factory[MuSigNoncePub] with Serializable
  4. object MuSigTweakContext extends Serializable
  5. object MuSigUtil

    Contains constants, hash functions, and signing/verification functionality for MuSig

  6. case object Neg extends ParityMultiplier with Product with Serializable

    Represents FieldElement.orderMinusOne

  7. object ParityMultiplier
  8. case object Pos extends ParityMultiplier with Product with Serializable

    Represents FieldElement.one

  9. object SigningSession extends Serializable

Ungrouped