use sha2::{Digest, Sha256};
use crate::LocalSigner;
pub const DEFAULT_DEV_ACCOUNT_SEED: &str = "thruput-dev-accounts";
pub const DEFAULT_DEV_ACCOUNT_COUNT: usize = 10;
pub fn derive_dev_account_secret(seed: &str, index: usize) -> [u8; 32] {
let mut hasher = Sha256::new();
hasher.update(seed.as_bytes());
hasher.update(b":");
hasher.update(format!("account-{index}").as_bytes());
hasher.finalize().into()
}
pub fn derive_dev_account_signer(seed: &str, index: usize) -> LocalSigner {
LocalSigner::from_secret_key(derive_dev_account_secret(seed, index))
}
pub fn derive_default_dev_account_signer(index: usize) -> LocalSigner {
derive_dev_account_signer(DEFAULT_DEV_ACCOUNT_SEED, index)
}