|
29 | 29 | std::{process::exit, rc::Rc, str::FromStr, sync::Arc, time::Duration}, |
30 | 30 | }; |
31 | 31 |
|
| 32 | +fn get_cli_config(matches: &ArgMatches) -> solana_cli_config::Config { |
| 33 | + if let Some(config_file) = matches.value_of("config_file") { |
| 34 | + solana_cli_config::Config::load(config_file).unwrap_or_else(|_| { |
| 35 | + eprintln!("error: Could not find config file `{}`", config_file); |
| 36 | + exit(1); |
| 37 | + }) |
| 38 | + } else if let Some(config_file) = &*solana_cli_config::CONFIG_FILE { |
| 39 | + solana_cli_config::Config::load(config_file).unwrap_or_default() |
| 40 | + } else { |
| 41 | + solana_cli_config::Config::default() |
| 42 | + } |
| 43 | +} |
| 44 | + |
32 | 45 | type SignersOf = Vec<(Arc<dyn Signer>, Pubkey)>; |
33 | 46 | fn signers_of( |
34 | 47 | matches: &ArgMatches, |
@@ -84,16 +97,7 @@ impl<'a> Config<'a> { |
84 | 97 | bulk_signers: &mut Vec<Arc<dyn Signer>>, |
85 | 98 | multisigner_ids: &'a mut Vec<Pubkey>, |
86 | 99 | ) -> Config<'a> { |
87 | | - let cli_config = if let Some(config_file) = matches.value_of("config_file") { |
88 | | - solana_cli_config::Config::load(config_file).unwrap_or_else(|_| { |
89 | | - eprintln!("error: Could not find config file `{}`", config_file); |
90 | | - exit(1); |
91 | | - }) |
92 | | - } else if let Some(config_file) = &*solana_cli_config::CONFIG_FILE { |
93 | | - solana_cli_config::Config::load(config_file).unwrap_or_default() |
94 | | - } else { |
95 | | - solana_cli_config::Config::default() |
96 | | - }; |
| 100 | + let cli_config = get_cli_config(matches); |
97 | 101 | let json_rpc_url = normalize_to_url_if_moniker( |
98 | 102 | matches |
99 | 103 | .value_of("json_rpc_url") |
@@ -165,16 +169,7 @@ impl<'a> Config<'a> { |
165 | 169 | program_client: Arc<dyn ProgramClient<ProgramRpcClientSendTransaction>>, |
166 | 170 | websocket_url: String, |
167 | 171 | ) -> Config<'a> { |
168 | | - let cli_config = if let Some(config_file) = matches.value_of("config_file") { |
169 | | - solana_cli_config::Config::load(config_file).unwrap_or_else(|_| { |
170 | | - eprintln!("error: Could not find config file `{}`", config_file); |
171 | | - exit(1); |
172 | | - }) |
173 | | - } else if let Some(config_file) = &*solana_cli_config::CONFIG_FILE { |
174 | | - solana_cli_config::Config::load(config_file).unwrap_or_default() |
175 | | - } else { |
176 | | - solana_cli_config::Config::default() |
177 | | - }; |
| 172 | + let cli_config = get_cli_config(matches); |
178 | 173 | let multisigner_pubkeys = |
179 | 174 | Self::extract_multisig_signers(matches, wallet_manager, bulk_signers, multisigner_ids); |
180 | 175 |
|
|
0 commit comments