Skip to content

Commit 6eb040e

Browse files
zkp: Add Musig2 module
squash! zkp: Add Musig2 module Remove agg_pk from KeyAggCache Co-authored-by: sanket1729 <[email protected]>
1 parent 9caabee commit 6eb040e

File tree

3 files changed

+1238
-0
lines changed

3 files changed

+1238
-0
lines changed

src/lib.rs

+24
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,22 @@ pub enum Error {
116116
CannotCreateWhitelistSignature,
117117
/// The given whitelist signature doesn't correctly prove inclusion in the whitelist.
118118
InvalidWhitelistProof,
119+
/// Cannot establish Musig pre-session
120+
InvalidMusigKeyAggCache,
121+
/// Invalid tweak to Musig public key
122+
InvalidMusigTweak,
123+
/// Cannot establish a Musig session
124+
InvalidMusigSession,
125+
/// Invalid Musig public nonces
126+
CannotGenMusigNonce,
127+
/// Invalid Musig public nonce
128+
InvalidMusigPubNonce,
129+
/// Invalid Musig aggregated nonce
130+
InvalidMusigAggNonce,
131+
/// Invalid Musig partial signature
132+
InvalidMusigPartSig,
133+
/// Cannot extract Musig secret adaptor
134+
InvalidMusigExtract,
119135
}
120136

121137
// Passthrough Debug to Display, since errors should be user-visible
@@ -143,6 +159,14 @@ impl fmt::Display for Error {
143159
Error::InvalidWhitelistProof => {
144160
"given whitelist signature doesn't correctly prove inclusion in the whitelist"
145161
}
162+
Error::InvalidMusigKeyAggCache => "failed to create Musig pre-session",
163+
Error::InvalidMusigTweak => "malformed Musig tweak",
164+
Error::InvalidMusigSession => "failed to create a Musig session",
165+
Error::CannotGenMusigNonce => "failed to create a Musig nonce pair",
166+
Error::InvalidMusigPubNonce => "malformed Musig public nonce(s)",
167+
Error::InvalidMusigAggNonce => "malformed Musig aggregated nonce",
168+
Error::InvalidMusigPartSig => "malformed Musig partial signature",
169+
Error::InvalidMusigExtract => "failed to extract Musig secret adaptor",
146170
};
147171

148172
f.write_str(str)

src/zkp/mod.rs

+4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
mod ecdsa_adaptor;
22
mod generator;
33
#[cfg(feature = "std")]
4+
mod musig;
5+
#[cfg(feature = "std")]
46
mod pedersen;
57
#[cfg(feature = "std")]
68
mod rangeproof;
@@ -12,6 +14,8 @@ mod whitelist;
1214
pub use self::ecdsa_adaptor::*;
1315
pub use self::generator::*;
1416
#[cfg(feature = "std")]
17+
pub use self::musig::*;
18+
#[cfg(feature = "std")]
1519
pub use self::pedersen::*;
1620
#[cfg(feature = "std")]
1721
pub use self::rangeproof::*;

0 commit comments

Comments
 (0)