finaly add random sietch addr generation
This commit is contained in:
@@ -460,6 +460,39 @@ impl LightWallet {
|
||||
|
||||
zaddr
|
||||
}
|
||||
// Add a new Sietch Addr. This will derive a new zdust address from the seed
|
||||
pub fn add_zaddrdust(&self) -> String {
|
||||
if !self.unlocked {
|
||||
return "".to_string();
|
||||
}
|
||||
|
||||
let pos = self.extsks.read().unwrap().len() as u32;
|
||||
|
||||
// Use random generator to create a new Sietch seed every time when call.
|
||||
|
||||
let mut rng = rand::thread_rng();
|
||||
let letter: String = rng.gen_range(b'A', b'Z').to_string();
|
||||
let number: String = rng.gen_range(0, 999999).to_string();
|
||||
// let combi: String = letter.to_string() + number.to_string();
|
||||
let s = format!("{}{:06}", letter, number);
|
||||
//println!("{}", s);
|
||||
|
||||
let my_string = String::from(s);
|
||||
// let my_immutable_string = &my_string; //This is a &String type
|
||||
let dust: &str = &my_string; //This is an &str type
|
||||
|
||||
|
||||
|
||||
let bip39_seed = bip39::Seed::new(&Mnemonic::from_entropy(&self.seed, Language::English).unwrap(), dust);
|
||||
|
||||
let (_extsk, _extfvk, address) =
|
||||
LightWallet::get_zaddr_from_bip39seed(&self.config, &bip39_seed.as_bytes(), pos);
|
||||
|
||||
let zaddr = encode_payment_address(self.config.hrp_sapling_address(), &address);
|
||||
|
||||
|
||||
zaddr
|
||||
}
|
||||
|
||||
/// Add a new t address to the wallet. This will derive a new address from the seed
|
||||
/// at the next position.
|
||||
|
||||
Reference in New Issue
Block a user