use super::*;
#[derive(Debug, clap::Args)]
pub struct CommandPrime {
#[arg(value_name = "BIT-LENGTH")]
bits: u16,
#[arg(short, long, value_name = "FORMAT", default_value = "base10")]
format: BinFormat,
}
impl CommandPrime {
pub fn process<T: AsMut<S>, S: ToolState, W: Write>(
&self,
mut tool_state: T,
out: &mut W,
) -> Result<(), Error> {
let tool_state = tool_state.as_mut();
let secret = tool_state.current_secret()?;
let bn = secret.extract_prime_v1_big_uint(self.bits)?;
self.format.write(out, &bn.to_bytes_be())?;
Ok(())
}
}