Skip to content

Commit 68bb4ed

Browse files
authored
sui-crypto: add QoL derives to keys (#124)
1 parent 9db27e1 commit 68bb4ed

File tree

7 files changed

+15
-6
lines changed

7 files changed

+15
-6
lines changed

crates/sui-crypto/src/ed25519.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ use sui_sdk_types::SignatureScheme;
77
use sui_sdk_types::SimpleSignature;
88
use sui_sdk_types::UserSignature;
99

10+
#[derive(Clone, Eq, PartialEq)]
1011
pub struct Ed25519PrivateKey(ed25519_dalek::SigningKey);
1112

1213
impl std::fmt::Debug for Ed25519PrivateKey {
@@ -133,7 +134,7 @@ impl Signer<UserSignature> for Ed25519PrivateKey {
133134
}
134135
}
135136

136-
#[derive(Debug)]
137+
#[derive(Debug, Clone, Eq, PartialEq, Default)]
137138
pub struct Ed25519VerifyingKey(ed25519_dalek::VerifyingKey);
138139

139140
impl Ed25519VerifyingKey {

crates/sui-crypto/src/multisig.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ use sui_sdk_types::MultisigMemberPublicKey;
66
use sui_sdk_types::MultisigMemberSignature;
77
use sui_sdk_types::UserSignature;
88

9-
#[derive(Default)]
9+
#[derive(Default, Debug, Clone, PartialEq)]
1010
pub struct MultisigVerifier {
1111
#[cfg(feature = "zklogin")]
1212
zklogin_verifier: Option<crate::zklogin::ZkloginVerifier>,
@@ -217,7 +217,7 @@ impl Iterator for BitmapIndices {
217217
}
218218

219219
/// Verifier that will verify all UserSignature variants
220-
#[derive(Default)]
220+
#[derive(Default, Debug, Clone, PartialEq)]
221221
pub struct UserSignatureVerifier {
222222
inner: MultisigVerifier,
223223
}
@@ -276,6 +276,7 @@ impl Verifier<UserSignature> for UserSignatureVerifier {
276276
}
277277
}
278278

279+
#[derive(Debug, Clone, PartialEq)]
279280
pub struct MultisigAggregator {
280281
committee: MultisigCommittee,
281282
signatures: std::collections::BTreeMap<usize, MultisigMemberSignature>,

crates/sui-crypto/src/secp256k1.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ use sui_sdk_types::SignatureScheme;
1010
use sui_sdk_types::SimpleSignature;
1111
use sui_sdk_types::UserSignature;
1212

13+
#[derive(Clone)]
1314
pub struct Secp256k1PrivateKey(SigningKey);
1415

1516
impl std::fmt::Debug for Secp256k1PrivateKey {
@@ -135,7 +136,7 @@ impl Signer<UserSignature> for Secp256k1PrivateKey {
135136
}
136137
}
137138

138-
#[derive(Debug)]
139+
#[derive(Debug, Clone, Eq, PartialEq)]
139140
pub struct Secp256k1VerifyingKey(VerifyingKey);
140141

141142
impl Secp256k1VerifyingKey {

crates/sui-crypto/src/secp256r1.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ use sui_sdk_types::SignatureScheme;
1010
use sui_sdk_types::SimpleSignature;
1111
use sui_sdk_types::UserSignature;
1212

13+
#[derive(Clone)]
1314
pub struct Secp256r1PrivateKey(SigningKey);
1415

1516
impl std::fmt::Debug for Secp256r1PrivateKey {
@@ -135,7 +136,7 @@ impl Signer<UserSignature> for Secp256r1PrivateKey {
135136
}
136137
}
137138

138-
#[derive(Debug)]
139+
#[derive(Debug, Clone, Eq, PartialEq)]
139140
pub struct Secp256r1VerifyingKey(VerifyingKey);
140141

141142
impl Secp256r1VerifyingKey {

crates/sui-crypto/src/simple.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,10 +83,12 @@ mod keypair {
8383
use sui_sdk_types::SimpleSignature;
8484
use sui_sdk_types::UserSignature;
8585

86+
#[derive(Debug, Clone)]
8687
pub struct SimpleKeypair {
8788
inner: InnerKeypair,
8889
}
8990

91+
#[derive(Debug, Clone)]
9092
enum InnerKeypair {
9193
#[cfg(feature = "ed25519")]
9294
Ed25519(crate::ed25519::Ed25519PrivateKey),
@@ -270,10 +272,12 @@ mod keypair {
270272
}
271273
}
272274

275+
#[derive(Debug, Clone, Eq, PartialEq)]
273276
pub struct SimpleVerifiyingKey {
274277
inner: InnerVerifyingKey,
275278
}
276279

280+
#[derive(Debug, Clone, Eq, PartialEq)]
277281
enum InnerVerifyingKey {
278282
#[cfg(feature = "ed25519")]
279283
Ed25519(crate::ed25519::Ed25519VerifyingKey),

crates/sui-crypto/src/zklogin/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ mod verify;
1515
#[cfg(test)]
1616
mod tests;
1717

18+
#[derive(Debug, Clone, PartialEq, Default)]
1819
pub struct ZkloginVerifier {
1920
proof_verifying_key: verify::VerifyingKey,
2021
jwks: HashMap<JwkId, Jwk>,

crates/sui-crypto/src/zklogin/verify.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ use sui_sdk_types::ZkLoginProof;
2424

2525
use super::POSEIDON;
2626

27-
#[derive(Clone, Debug)]
27+
#[derive(Clone, Debug, PartialEq, Default)]
2828
pub struct VerifyingKey {
2929
inner: PreparedVerifyingKey<ark_bn254::Bn254>,
3030
}

0 commit comments

Comments
 (0)