CLI: Make derived address seed.len() check a clap validator

This commit is contained in:
Trent Nelson
2021-02-18 00:07:14 -07:00
committed by mergify[bot]
parent 84e7ba0b3f
commit 16e0a4b412
2 changed files with 18 additions and 8 deletions

View File

@ -3,7 +3,7 @@ use chrono::DateTime;
use solana_sdk::{
clock::{Epoch, Slot},
hash::Hash,
pubkey::Pubkey,
pubkey::{Pubkey, MAX_SEED_LEN},
signature::{read_keypair_file, Signature},
};
use std::fmt::Display;
@ -291,6 +291,21 @@ where
.map(|_| ())
}
pub fn is_derived_address_seed<T>(value: T) -> Result<(), String>
where
T: AsRef<str> + Display,
{
let value = value.as_ref();
if value.len() > MAX_SEED_LEN {
Err(format!(
"Address seed must not be longer than {} bytes",
MAX_SEED_LEN
))
} else {
Ok(())
}
}
#[cfg(test)]
mod tests {
use super::*;