fn ensure_wallet_loaded<E>(
wallet_name: &str,
list_loaded_wallets: impl FnOnce() -> Result<Vec<String>, E>,
list_wallet_dir: impl FnOnce() -> Result<Vec<String>, E>,
load_wallet: impl FnOnce() -> Result<(), E>,
create_wallet: impl FnOnce() -> Result<(), E>,
) -> Result<(), E>