use super::*;
impl<N: Network> ViewKey<N> {
pub fn to_address(&self) -> Address<N> {
Address::new(N::g_scalar_multiply(self))
}
}
#[cfg(test)]
mod tests {
use super::*;
use snarkvm_console_network::MainnetV0;
type CurrentNetwork = MainnetV0;
const ITERATIONS: u64 = 1000;
#[test]
fn test_try_from() -> Result<()> {
let rng = &mut TestRng::default();
for _ in 0..ITERATIONS {
let private_key = PrivateKey::<CurrentNetwork>::new(rng)?;
let view_key = ViewKey::try_from(private_key)?;
let address = Address::try_from(private_key)?;
assert_eq!(address, view_key.to_address());
}
Ok(())
}
}