Skip to content

Commit

Permalink
remove dusk_pki dep, move tests
Browse files Browse the repository at this point in the history
  • Loading branch information
Neotamandua committed Nov 2, 2023
1 parent bcd75b7 commit b977e4f
Show file tree
Hide file tree
Showing 11 changed files with 66 additions and 17 deletions.
2 changes: 0 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ dusk-bls12_381 = { version = "0.12", default-features = false }
dusk-bls12_381-sign = { version = "0.5", default-features = false }
dusk-jubjub = { version = "0.13", default-features = false }
dusk-poseidon = { version = "0.31", default-features = false }
dusk-pki = { version = "0.13", default-features = false } # remove
dusk-schnorr = { version = "0.15.0", default-features = false }
subtle = { version = "^2.2.1", default-features = false }
rkyv = { version = "0.7", optional = true, default-features = false }
Expand All @@ -33,7 +32,6 @@ alloc = []
rkyv-impl = [
"dusk-poseidon/rkyv-impl",
"dusk-jubjub/rkyv-impl",
"dusk-pki/rkyv-impl",
"dusk-bls12_381/rkyv-impl",
"dusk-bls12_381-sign/rkyv-impl",
"rkyv",
Expand Down
2 changes: 1 addition & 1 deletion src/fee.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@

//! Fee module contains the logic related to `Fee` and `Remainder` structure

use crate::{Ownable, PublicSpendKey, StealthAddress};
use dusk_bytes::{DeserializableSlice, Error as BytesError, Serializable};
use dusk_jubjub::JubJubScalar;
use dusk_pki::{Ownable, PublicSpendKey, StealthAddress};
use dusk_poseidon::sponge::hash;
use rand_core::{CryptoRng, RngCore};

Expand Down
3 changes: 1 addition & 2 deletions src/fee/remainder.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,7 @@

//! Remainder module contains the logic related to `Remainder` structure

use dusk_pki::Ownable;
use dusk_pki::StealthAddress;
use crate::{Ownable, StealthAddress};

#[cfg(feature = "rkyv-impl")]
use rkyv::{Archive, Deserialize, Serialize};
Expand Down
2 changes: 1 addition & 1 deletion src/keys/public.rs
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ impl PublicSpendKey {
let rA = G * rA;

let pk_r = rA + self.B;
let pk_r = NotePublicKey::from_raw_unchecked(pk_r);
let pk_r = NotePublicKey::from(pk_r);

StealthAddress { R, pk_r }
}
Expand Down
2 changes: 1 addition & 1 deletion src/keys/secret.rs
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ impl SecretSpendKey {
let aR = sa.R() * self.a;
let aR = permutation::hash(&aR);

NoteSecretKey(aR + self.b)
(aR + self.b).into()
}

/// Derive the secret to deterministically construct a [`PublicSpendKey`]
Expand Down
2 changes: 1 addition & 1 deletion src/message.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ use crate::{BlsScalar, Error, Note, NoteType};
#[cfg(feature = "rkyv-impl")]
use rkyv::{Archive, Deserialize, Serialize};

use crate::PublicSpendKey;
use dusk_bytes::{DeserializableSlice, Serializable};
use dusk_jubjub::{dhke, JubJubAffine, JubJubExtended, JubJubScalar};
use dusk_pki::PublicSpendKey;
use dusk_poseidon::cipher::PoseidonCipher;
use dusk_poseidon::sponge;
use ff::Field;
Expand Down
4 changes: 1 addition & 3 deletions src/note.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,12 @@

use core::convert::{TryFrom, TryInto};

use crate::{Ownable, PublicSpendKey, SecretSpendKey, StealthAddress, ViewKey};
use dusk_bytes::{DeserializableSlice, Error as BytesError, Serializable};
use dusk_jubjub::{
dhke, JubJubAffine, JubJubExtended, JubJubScalar, GENERATOR_EXTENDED,
GENERATOR_NUMS_EXTENDED,
};
use dusk_pki::{
Ownable, PublicSpendKey, SecretSpendKey, StealthAddress, ViewKey,
};
use dusk_poseidon::cipher::PoseidonCipher;
use dusk_poseidon::sponge::hash;
use ff::Field;
Expand Down
3 changes: 1 addition & 2 deletions tests/crossover.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,7 @@
use core::convert::TryInto;

use dusk_jubjub::JubJubScalar;
use dusk_pki::SecretSpendKey;
use phoenix_core::{Error, Message, Note};
use phoenix_core::{Error, Message, Note, SecretSpendKey};
use rand_core::OsRng;

#[test]
Expand Down
55 changes: 55 additions & 0 deletions tests/keys.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
use dusk_bytes::{DeserializableSlice, ParseHexStr, Serializable};
use phoenix_core::{PublicSpendKey, SecretSpendKey, ViewKey};
use rand_core::OsRng;

#[test]
fn ssk_from_bytes() {
let ssk_a = SecretSpendKey::random(&mut OsRng);
let bytes = ssk_a.to_bytes();
let ssk_b = SecretSpendKey::from_slice(&bytes).expect("Serde error");

assert_eq!(ssk_a, ssk_b);
}

#[test]
fn keys_encoding() {
let ssk = SecretSpendKey::random(&mut OsRng);
let vk = ssk.view_key();
let psk = ssk.public_spend_key();

assert_eq!(
vk,
ViewKey::from_hex_str(format!("{:x}", vk).as_str()).unwrap()
);
assert_eq!(
psk,
PublicSpendKey::from_hex_str(format!("{:x}", psk).as_str()).unwrap()
);
}

#[test]
fn keys_consistency() {
use dusk_jubjub::{JubJubScalar, GENERATOR_EXTENDED};

let r = JubJubScalar::random(&mut OsRng);
let ssk = SecretSpendKey::random(&mut OsRng);
let psk = ssk.public_spend_key();
let vk = ssk.view_key();
let sa = psk.gen_stealth_address(&r);

assert!(vk.owns(&sa));

let wrong_ssk = SecretSpendKey::random(&mut OsRng);
let wrong_vk = wrong_ssk.view_key();

assert_ne!(ssk, wrong_ssk);
assert_ne!(vk, wrong_vk);

assert!(!wrong_vk.owns(&sa));

let sk_r = ssk.sk_r(&sa);
let wrong_sk_r = wrong_ssk.sk_r(&sa);

assert_eq!(sa.address(), &(GENERATOR_EXTENDED * sk_r.as_ref()));
assert_ne!(sa.address(), &(GENERATOR_EXTENDED * wrong_sk_r.as_ref()));
}
3 changes: 1 addition & 2 deletions tests/message.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,7 @@
use dusk_bytes::Serializable;
use dusk_jubjub::JubJubScalar;
use dusk_jubjub::{GENERATOR_EXTENDED, GENERATOR_NUMS_EXTENDED};
use dusk_pki::SecretSpendKey;
use phoenix_core::Message;
use phoenix_core::{Message, SecretSpendKey};
use rand_core::OsRng;

#[test]
Expand Down
5 changes: 3 additions & 2 deletions tests/note_test.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,10 @@
use core::convert::TryInto;
use dusk_bls12_381::BlsScalar;
use dusk_jubjub::{JubJubScalar, GENERATOR_EXTENDED, GENERATOR_NUMS_EXTENDED};
use dusk_pki::{Ownable, SecretSpendKey};
use ff::Field;
use phoenix_core::{Crossover, Error, Fee, Note, NoteType};
use phoenix_core::{
Crossover, Error, Fee, Note, NoteType, Ownable, SecretSpendKey,
};
use rand_core::OsRng;

#[test]
Expand Down

0 comments on commit b977e4f

Please sign in to comment.