From 97aa47dee7fc8c34b9a1aad1662629f3b2decc23 Mon Sep 17 00:00:00 2001 From: benthecarman Date: Tue, 4 Aug 2026 00:12:35 -0500 Subject: [PATCH] Make mnemonic RNG selection explicit Mnemonic generation is infrequent, so source randomness directly from OS entropy instead of initializing a thread-local generator. Also given recent events, better have this more explicitly defined than in a dep. Generated with assistance from OpenAI Codex. --- src/entropy.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/entropy.rs b/src/entropy.rs index beed1e9ea0..eb94cfb493 100644 --- a/src/entropy.rs +++ b/src/entropy.rs @@ -9,7 +9,7 @@ use std::fmt; -use bip39::Mnemonic; +use bip39::{rand::rngs::OsRng, Language, Mnemonic}; use crate::config::WALLET_KEYS_SEED_LEN; use crate::io; @@ -128,7 +128,8 @@ impl fmt::Debug for NodeEntropy { /// [`Node`]: crate::Node pub fn generate_entropy_mnemonic(word_count: Option) -> Mnemonic { let word_count = word_count.unwrap_or(WordCount::Words24).word_count(); - Mnemonic::generate(word_count).expect("Failed to generate mnemonic") + Mnemonic::generate_in_with(&mut OsRng, Language::English, word_count) + .expect("Failed to generate mnemonic") } /// Supported BIP39 mnemonic word counts for entropy generation.