diff --git a/identity/CHANGELOG.md b/identity/CHANGELOG.md index 961b5c6921d..d84e20416c3 100644 --- a/identity/CHANGELOG.md +++ b/identity/CHANGELOG.md @@ -1,3 +1,10 @@ +## 0.1.2 - unreleased + +- Implement `Copy` for `identity::secp256k1::{Keypair,SecretKey,PublicKey}`. + See [PR 3707]. + +[PR 3707]: https://github.com/libp2p/rust-libp2p/pull/3707 + ## 0.1.1 - Add `From` impl for specific keypairs. diff --git a/identity/Cargo.toml b/identity/Cargo.toml index e2764e1e5e3..b7c2d45e04f 100644 --- a/identity/Cargo.toml +++ b/identity/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "libp2p-identity" -version = "0.1.1" +version = "0.1.2" edition = "2021" description = "Data structures and algorithms for identifying peers in libp2p." rust-version = "1.60.0" diff --git a/identity/src/keypair.rs b/identity/src/keypair.rs index 0e4cce683b1..4231cba81cd 100644 --- a/identity/src/keypair.rs +++ b/identity/src/keypair.rs @@ -203,7 +203,7 @@ impl Keypair { #[cfg(all(feature = "rsa", not(target_arch = "wasm32")))] Rsa(pair) => PublicKey::Rsa(pair.public()), #[cfg(feature = "secp256k1")] - Secp256k1(pair) => PublicKey::Secp256k1(pair.public().clone()), + Secp256k1(pair) => PublicKey::Secp256k1(*pair.public()), #[cfg(feature = "ecdsa")] Ecdsa(pair) => PublicKey::Ecdsa(pair.public().clone()), } diff --git a/identity/src/secp256k1.rs b/identity/src/secp256k1.rs index 119c3ef64e9..8b0e54bdf2f 100644 --- a/identity/src/secp256k1.rs +++ b/identity/src/secp256k1.rs @@ -30,7 +30,7 @@ use sha2::{Digest as ShaDigestTrait, Sha256}; use zeroize::Zeroize; /// A Secp256k1 keypair. -#[derive(Clone)] +#[derive(Clone, Copy)] pub struct Keypair { secret: SecretKey, public: PublicKey, @@ -77,7 +77,7 @@ impl From for SecretKey { } /// A Secp256k1 secret key. -#[derive(Clone)] +#[derive(Clone, Copy)] pub struct SecretKey(libsecp256k1::SecretKey); impl fmt::Debug for SecretKey { @@ -151,7 +151,7 @@ impl SecretKey { } /// A Secp256k1 public key. -#[derive(Eq, Clone)] +#[derive(Eq, Clone, Copy)] pub struct PublicKey(libsecp256k1::PublicKey); impl fmt::Debug for PublicKey {