use crate::shrincs::PublicKey;
use crate::shrincs::{derive32, Keys, ShrincsSigner};
use crate::sphincs_plus_c;
pub(crate) fn stateful_only_key(seed: &[u8], max: u32) -> (Keys, PublicKey) {
let pk_seed = derive32(b"shrincs-pk-seed", seed, &[]);
let hypertree_root = derive32(b"placeholder-hypertree-root", seed, &[]);
let stateless = sphincs_plus_c::Key::new(
sphincs_plus_c::PrivateKey::new(
sphincs_plus_c::SkSeed::new(derive32(b"shrincs-stateless-sk-seed", seed, &[])),
sphincs_plus_c::PrfSeed::new(derive32(b"shrincs-stateless-prf-seed", seed, &[])),
),
sphincs_plus_c::PublicKey {
pk_seed: sphincs_plus_c::PkSeed::new(pk_seed),
root: sphincs_plus_c::Root::new(hypertree_root),
},
);
ShrincsSigner::build_keys(seed, max, stateless)
}