Skip to content
This repository was archived by the owner on Nov 15, 2023. It is now read-only.

Commit 51695bb

Browse files
andresilvaskunert
andauthored
bump ed25519-dalek to 2.0 (#14776)
* bump ed25519-dalek to 2.0 * sp-statement-store: don't use deprecated SecretKey::new * Remove snow patch --------- Co-authored-by: Sebastian Kunert <skunert49@gmail.com>
1 parent b382462 commit 51695bb

5 files changed

Lines changed: 65 additions & 47 deletions

File tree

Cargo.lock

Lines changed: 56 additions & 35 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

primitives/io/Cargo.toml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,7 @@ tracing = { version = "0.1.29", default-features = false }
3333
tracing-core = { version = "0.1.28", default-features = false}
3434

3535
# Required for backwards compatibility reason, but only used for verifying when `UseDalekExt` is set.
36-
ed25519-dalek = { version = "1.0.1", default-features = false, optional = true }
37-
# Force the usage of ed25519, this is being used in `ed25519-dalek`.
38-
ed25519 = { version = "1.5.2", optional = true }
36+
ed25519-dalek = { version = "2.0.0", default-features = false, optional = true }
3937

4038
[build-dependencies]
4139
rustversion = "1.0.6"
@@ -58,7 +56,6 @@ std = [
5856
"tracing-core/std",
5957
"log",
6058
"ed25519-dalek",
61-
"ed25519",
6259
"sp-keystore/std"
6360
]
6461

primitives/io/src/lib.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -825,11 +825,11 @@ pub trait Crypto {
825825
{
826826
use ed25519_dalek::Verifier;
827827

828-
let Ok(public_key) = ed25519_dalek::PublicKey::from_bytes(&pub_key.0) else {
828+
let Ok(public_key) = ed25519_dalek::VerifyingKey::from_bytes(&pub_key.0) else {
829829
return false
830830
};
831831

832-
let Ok(sig) = ed25519_dalek::Signature::from_bytes(&sig.0) else { return false };
832+
let sig = ed25519_dalek::Signature::from_bytes(&sig.0);
833833

834834
public_key.verify(msg, &sig).is_ok()
835835
} else {

primitives/statement-store/Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@ sp-externalities = { version = "0.19.0", default-features = false, path = "../ex
2525
thiserror = { version = "1.0", optional = true }
2626

2727
# ECIES dependencies
28-
ed25519-dalek = { version = "1.0", optional = true }
29-
x25519-dalek = { version = "2.0.0-pre.1", optional = true }
30-
curve25519-dalek = { version = "3.2", optional = true }
28+
ed25519-dalek = { version = "2.0.0", optional = true }
29+
x25519-dalek = { version = "2.0.0", optional = true, features = ["static_secrets"] }
30+
curve25519-dalek = { version = "4.0.0", optional = true }
3131
aes-gcm = { version = "0.10", optional = true }
3232
hkdf = { version = "0.12.0", optional = true }
3333
sha2 = { version = "0.10.7", optional = true }

primitives/statement-store/src/ecies.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ fn kdf(shared_secret: &[u8]) -> [u8; AES_KEY_LEN] {
7171
/// Encrypt `plaintext` with the given public x25519 public key. Decryption can be performed with
7272
/// the matching secret key.
7373
pub fn encrypt_x25519(pk: &PublicKey, plaintext: &[u8]) -> Result<Vec<u8>, Error> {
74-
let ephemeral_sk = x25519_dalek::StaticSecret::new(OsRng);
74+
let ephemeral_sk = x25519_dalek::StaticSecret::random_from_rng(OsRng);
7575
let ephemeral_pk = x25519_dalek::PublicKey::from(&ephemeral_sk);
7676

7777
let mut shared_secret = ephemeral_sk.diffie_hellman(pk).to_bytes().to_vec();
@@ -135,7 +135,7 @@ mod test {
135135

136136
#[test]
137137
fn basic_x25519_encryption() {
138-
let sk = SecretKey::new(OsRng);
138+
let sk = SecretKey::random_from_rng(OsRng);
139139
let pk = PublicKey::from(&sk);
140140

141141
let plain_message = b"An important secret message";
@@ -159,7 +159,7 @@ mod test {
159159

160160
#[test]
161161
fn fails_on_bad_data() {
162-
let sk = SecretKey::new(OsRng);
162+
let sk = SecretKey::random_from_rng(OsRng);
163163
let pk = PublicKey::from(&sk);
164164

165165
let plain_message = b"An important secret message";

0 commit comments

Comments
 (0)