@@ -308,16 +308,18 @@ impl MultiWalletOpts {
308
308
let mut signers = Vec :: new ( ) ;
309
309
310
310
let mut passwords_iter =
311
- self . keystore_passwords . clone ( ) . unwrap_or_default ( ) . into_iter ( ) ;
311
+ self . keystore_passwords . iter ( ) . flat_map ( |passwords| passwords . iter ( ) ) ;
312
312
313
- let mut password_files_iter =
314
- self . keystore_password_files . clone ( ) . unwrap_or_default ( ) . into_iter ( ) ;
313
+ let mut password_files_iter = self
314
+ . keystore_password_files
315
+ . iter ( )
316
+ . flat_map ( |password_files| password_files. iter ( ) ) ;
315
317
316
318
for path in & keystore_paths {
317
319
let ( maybe_signer, maybe_pending) = utils:: create_keystore_signer (
318
320
path,
319
- passwords_iter. next ( ) . as_deref ( ) ,
320
- password_files_iter. next ( ) . as_deref ( ) ,
321
+ passwords_iter. next ( ) . map ( |password| password . as_str ( ) ) ,
322
+ password_files_iter. next ( ) . map ( |password_file| password_file . as_str ( ) ) ,
321
323
) ?;
322
324
if let Some ( pending_signer) = maybe_pending {
323
325
pending. push ( pending_signer) ;
@@ -334,18 +336,22 @@ impl MultiWalletOpts {
334
336
if let Some ( ref mnemonics) = self . mnemonics {
335
337
let mut wallets = vec ! [ ] ;
336
338
337
- let mut hd_paths_iter = self . hd_paths . clone ( ) . unwrap_or_default ( ) . into_iter ( ) ;
339
+ let mut hd_paths_iter =
340
+ self . hd_paths . iter ( ) . flat_map ( |paths| paths. iter ( ) . map ( String :: as_str) ) ;
338
341
339
- let mut passphrases_iter =
340
- self . mnemonic_passphrases . clone ( ) . unwrap_or_default ( ) . into_iter ( ) ;
342
+ let mut passphrases_iter = self
343
+ . mnemonic_passphrases
344
+ . iter ( )
345
+ . flat_map ( |passphrases| passphrases. iter ( ) . map ( String :: as_str) ) ;
341
346
342
- let mut indexes_iter = self . mnemonic_indexes . clone ( ) . unwrap_or_default ( ) . into_iter ( ) ;
347
+ let mut indexes_iter =
348
+ self . mnemonic_indexes . iter ( ) . flat_map ( |indexes| indexes. iter ( ) . copied ( ) ) ;
343
349
344
350
for mnemonic in mnemonics {
345
351
let wallet = utils:: create_mnemonic_signer (
346
352
mnemonic,
347
- passphrases_iter. next ( ) . as_deref ( ) ,
348
- hd_paths_iter. next ( ) . as_deref ( ) ,
353
+ passphrases_iter. next ( ) ,
354
+ hd_paths_iter. next ( ) ,
349
355
indexes_iter. next ( ) . unwrap_or ( 0 ) ,
350
356
) ?;
351
357
wallets. push ( wallet) ;
0 commit comments