ed25519-bip32 0.4.3

Ed25519 BIP32
Documentation
use super::*;

fn new_sk() -> XPrv {
    let b = [0; XPRV_SIZE];
    XPrv::normalize_bytes_force3rd(b)
}

#[bench]
fn derivate_hard_v1(b: &mut test::Bencher) {
    let sk = new_sk();
    b.iter(|| {
        let _ = sk.derive(DerivationScheme::V1, 0x80000000);
    })
}
#[bench]
fn derivate_hard_v2(b: &mut test::Bencher) {
    let sk = new_sk();
    b.iter(|| {
        let _ = sk.derive(DerivationScheme::V2, 0x80000000);
    })
}

#[bench]
fn derivate_soft_v1_xprv(b: &mut test::Bencher) {
    let sk = new_sk();
    b.iter(|| {
        let _ = sk.derive(DerivationScheme::V1, 0);
    })
}
#[bench]
fn derivate_soft_v2_xprv(b: &mut test::Bencher) {
    let sk = new_sk();
    b.iter(|| {
        let _ = sk.derive(DerivationScheme::V2, 0);
    })
}
#[bench]
fn derivate_soft_v1_xpub(b: &mut test::Bencher) {
    let sk = new_sk();
    let pk = sk.public();
    b.iter(|| {
        let _ = pk.derive(DerivationScheme::V1, 0);
    })
}
#[bench]
fn derivate_soft_v2_xpub(b: &mut test::Bencher) {
    let sk = new_sk();
    let pk = sk.public();
    b.iter(|| {
        let _ = pk.derive(DerivationScheme::V2, 0);
    })
}