diff --git a/Cargo.lock b/Cargo.lock index 59939b8ddc903..f040c228604f5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1140,16 +1140,27 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10" +[[package]] +name = "ed25519" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf038a7b6fd7ef78ad3348b63f3a17550877b0e28f8d68bcc94894d1412158bc" +dependencies = [ + "signature", +] + [[package]] name = "ed25519-dalek" -version = "1.0.0-pre.3" +version = "1.0.0-pre.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978710b352437433c97b2bff193f2fb1dfd58a093f863dd95e225a19baa599a2" +checksum = "21a8a37f4e8b35af971e6db5e3897e7a6344caa3f92f6544f88125a1f5f0035a" dependencies = [ - "clear_on_drop", "curve25519-dalek", + "ed25519", "rand 0.7.3", + "serde", "sha2", + "zeroize", ] [[package]] @@ -2759,9 +2770,9 @@ dependencies = [ [[package]] name = "libp2p-core" -version = "0.20.0" +version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11ca8d5a64a5d19b45e00e8f24afda6b8e1b605fb25ad7bcf62a42ecf19d7ff3" +checksum = "6a694fd76d7c33a45a0e6e1525e9b9b5d11127c9c94e560ac0f8abba54ed80af" dependencies = [ "asn1_der", "bs58", @@ -7325,6 +7336,12 @@ dependencies = [ "libc", ] +[[package]] +name = "signature" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65211b7b6fc3f14ff9fc7a2011a434e3e6880585bd2e9e9396315ae24cbf7852" + [[package]] name = "slab" version = "0.4.2" diff --git a/primitives/core/Cargo.toml b/primitives/core/Cargo.toml index 9b9a8b270e0b2..a43ca8bb6db05 100644 --- a/primitives/core/Cargo.toml +++ b/primitives/core/Cargo.toml @@ -41,7 +41,7 @@ parity-util-mem = { version = "0.7.0", default-features = false, features = ["pr futures = { version = "0.3.1", optional = true } # full crypto -ed25519-dalek = { version = "1.0.0-pre.3", default-features = false, features = ["u64_backend", "alloc"], optional = true } +ed25519-dalek = { version = "1.0.0-pre.4", default-features = false, features = ["u64_backend", "alloc"], optional = true } blake2-rfc = { version = "0.2.18", default-features = false, optional = true } tiny-keccak = { version = "2.0.1", features = ["keccak"], optional = true } schnorrkel = { version = "0.9.1", features = ["preaudit_deprecated", "u64_backend"], default-features = false, optional = true } diff --git a/primitives/core/src/ed25519.rs b/primitives/core/src/ed25519.rs index f6e7227013728..fcc84c5c2edcf 100644 --- a/primitives/core/src/ed25519.rs +++ b/primitives/core/src/ed25519.rs @@ -29,6 +29,8 @@ use codec::{Encode, Decode}; use blake2_rfc; #[cfg(feature = "full_crypto")] use core::convert::TryFrom; +#[cfg(feature = "full_crypto")] +use ed25519_dalek::{Signer as _, Verifier as _}; #[cfg(feature = "std")] use substrate_bip39::seed_from_entropy; #[cfg(feature = "std")] @@ -513,7 +515,7 @@ impl TraitPair for Pair { Err(_) => return false, }; - let sig = match ed25519_dalek::Signature::from_bytes(sig) { + let sig = match ed25519_dalek::Signature::try_from(sig) { Ok(s) => s, Err(_) => return false };