Move `hash` module to `radicle-crypto`

Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
This commit is contained in:
Alexis Sellier 2022-11-27 12:56:37 +01:00
parent 09a8b46f34
commit be789a487f
No known key found for this signature in database
10 changed files with 14 additions and 20 deletions

1
Cargo.lock generated
View File

@ -2224,7 +2224,6 @@ dependencies = [
"radicle-ssh", "radicle-ssh",
"serde", "serde",
"serde_json", "serde_json",
"sha2 0.10.6",
"siphasher", "siphasher",
"sqlite", "sqlite",
"tempfile", "tempfile",

View File

@ -10,13 +10,14 @@ edition = "2021"
[features] [features]
test = ["fastrand", "quickcheck"] test = ["fastrand", "quickcheck"]
ssh = ["base64", "radicle-ssh", "sha2", "ssh-key"] ssh = ["base64", "radicle-ssh", "ssh-key"]
[dependencies] [dependencies]
ed25519-compact = { version = "2.0.2", features = ["pem"] } ed25519-compact = { version = "2.0.2", features = ["pem"] }
cyphernet = { version = "0", optional = true } cyphernet = { version = "0", optional = true }
multibase = { version = "0.9.1" } multibase = { version = "0.9.1" }
serde = { version = "1", features = ["derive"] } serde = { version = "1", features = ["derive"] }
sha2 = { version = "0.10.2" }
sqlite = { version = "0.28.1", optional = true } sqlite = { version = "0.28.1", optional = true }
thiserror = { version = "1" } thiserror = { version = "1" }
zeroize = { version = "1.5.7" } zeroize = { version = "1.5.7" }
@ -47,10 +48,6 @@ version = "0"
default-features = false default-features = false
optional = true optional = true
[dependencies.sha2]
version = "0.10.2"
optional = true
[dependencies.base64] [dependencies.base64]
version = "0.13" version = "0.13"
optional = true optional = true

View File

@ -10,6 +10,7 @@ pub use ed25519::{Error, KeyPair, Seed};
#[cfg(any(test, feature = "test"))] #[cfg(any(test, feature = "test"))]
pub mod test; pub mod test;
pub mod hash;
#[cfg(feature = "ssh")] #[cfg(feature = "ssh")]
pub mod ssh; pub mod ssh;

View File

@ -1,6 +1,6 @@
use quickcheck::Arbitrary; use quickcheck::Arbitrary;
use crate::{test::signer::MockSigner, KeyPair, PublicKey, SecretKey, Seed}; use crate::{hash, test::signer::MockSigner, KeyPair, PublicKey, SecretKey, Seed};
impl Arbitrary for MockSigner { impl Arbitrary for MockSigner {
fn arbitrary(g: &mut quickcheck::Gen) -> Self { fn arbitrary(g: &mut quickcheck::Gen) -> Self {
@ -22,6 +22,13 @@ impl Arbitrary for PublicKey {
} }
} }
impl Arbitrary for hash::Digest {
fn arbitrary(g: &mut quickcheck::Gen) -> Self {
let bytes: Vec<u8> = Arbitrary::arbitrary(g);
hash::Digest::new(&bytes)
}
}
#[derive(Clone, Debug)] #[derive(Clone, Debug)]
pub struct ByteArray<const N: usize>([u8; N]); pub struct ByteArray<const N: usize>([u8; N]);

View File

@ -13,13 +13,13 @@ pub mod tests;
pub mod wire; pub mod wire;
pub use nakamoto_net::{Io, Link, LocalDuration, LocalTime}; pub use nakamoto_net::{Io, Link, LocalDuration, LocalTime};
pub use radicle::{collections, crypto, git, hash, identity, node, profile, rad, storage}; pub use radicle::{collections, crypto, git, identity, node, profile, rad, storage};
pub mod prelude { pub mod prelude {
pub use crate::clock::Timestamp; pub use crate::clock::Timestamp;
pub use crate::crypto::hash::Digest;
pub use crate::crypto::{PublicKey, Signature, Signer}; pub use crate::crypto::{PublicKey, Signature, Signer};
pub use crate::deserializer::Deserializer; pub use crate::deserializer::Deserializer;
pub use crate::hash::Digest;
pub use crate::identity::{Did, Id}; pub use crate::identity::{Did, Id};
pub use crate::service::filter::Filter; pub use crate::service::filter::Filter;
pub use crate::service::message::Address; pub use crate::service::message::Address;

View File

@ -13,11 +13,11 @@ use nakamoto_net as nakamoto;
use nakamoto_net::{Link, LocalTime}; use nakamoto_net::{Link, LocalTime};
use crate::address; use crate::address;
use crate::crypto::hash::Digest;
use crate::crypto::{PublicKey, Signature, Signer, Unverified}; use crate::crypto::{PublicKey, Signature, Signer, Unverified};
use crate::deserializer::Deserializer; use crate::deserializer::Deserializer;
use crate::git; use crate::git;
use crate::git::fmt; use crate::git::fmt;
use crate::hash::Digest;
use crate::identity::Id; use crate::identity::Id;
use crate::node; use crate::node;
use crate::service; use crate::service;

View File

@ -23,7 +23,6 @@ multibase = { version = "0.9.1" }
log = { version = "0.4.17", features = ["std"] } log = { version = "0.4.17", features = ["std"] }
once_cell = { version = "1.13" } once_cell = { version = "1.13" }
olpc-cjson = { version = "0.1.1" } olpc-cjson = { version = "0.1.1" }
sha2 = { version = "0.10.2" }
serde = { version = "1", features = ["derive"] } serde = { version = "1", features = ["derive"] }
serde_json = { version = "1", features = ["preserve_order"] } serde_json = { version = "1", features = ["preserve_order"] }
siphasher = { version = "0.3.10" } siphasher = { version = "0.3.10" }

View File

@ -8,7 +8,6 @@ pub extern crate radicle_crypto as crypto;
pub mod cob; pub mod cob;
pub mod collections; pub mod collections;
pub mod git; pub mod git;
pub mod hash;
pub mod identity; pub mod identity;
pub mod node; pub mod node;
pub mod profile; pub mod profile;

View File

@ -10,7 +10,6 @@ use quickcheck::Arbitrary;
use crate::collections::HashMap; use crate::collections::HashMap;
use crate::git; use crate::git;
use crate::hash;
use crate::identity::{project::Delegate, project::Doc, Did, Id}; use crate::identity::{project::Delegate, project::Doc, Did, Id};
use crate::storage; use crate::storage;
use crate::storage::refs::{Refs, SignedRefs}; use crate::storage::refs::{Refs, SignedRefs};
@ -198,10 +197,3 @@ impl Arbitrary for Id {
Id::from(oid) Id::from(oid)
} }
} }
impl Arbitrary for hash::Digest {
fn arbitrary(g: &mut quickcheck::Gen) -> Self {
let bytes: Vec<u8> = Arbitrary::arbitrary(g);
hash::Digest::new(&bytes)
}
}