|
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