better way to allow no config

This commit is contained in:
Bryan Stitt 2023-01-22 17:48:33 -08:00
parent 51a9beaf6f
commit ec5c28b64b

View File

@ -117,45 +117,43 @@ fn main() -> anyhow::Result<()> {
let mut cli_config: Web3ProxyCli = argh::from_env();
if cli_config.config.is_none() && cli_config.db_url.is_none() {
if cli_config.config.is_none() && cli_config.db_url.is_none() && cli_config.sentry_url.is_none()
{
// TODO: default to example.toml if development.toml doesn't exist
info!("defaulting to development config");
cli_config.config = Some("./config/development.toml".to_string());
}
let top_config = if let Some(top_config_path) = cli_config.config.clone() {
if top_config_path.is_empty() {
None
} else {
let top_config_path = Path::new(&top_config_path)
.canonicalize()
.context(format!("checking for config at {}", top_config_path))?;
let top_config_path = Path::new(&top_config_path)
.canonicalize()
.context(format!("checking for config at {}", top_config_path))?;
let top_config: String = fs::read_to_string(top_config_path)?;
let mut top_config: TopConfig = toml::from_str(&top_config)?;
let top_config: String = fs::read_to_string(top_config_path)?;
let mut top_config: TopConfig = toml::from_str(&top_config)?;
// TODO: this doesn't seem to do anything
proctitle::set_title(format!("web3_proxy-{}", top_config.app.chain_id));
// TODO: this doesn't seem to do anything
proctitle::set_title(format!("web3_proxy-{}", top_config.app.chain_id));
if cli_config.db_url.is_none() {
cli_config.db_url = top_config.app.db_url.clone();
}
if let Some(sentry_url) = top_config.app.sentry_url.clone() {
cli_config.sentry_url = Some(sentry_url);
}
if top_config.app.chain_id == 137 {
if top_config.app.gas_increase_min.is_none() {
top_config.app.gas_increase_min = Some(U256::from(25_000));
}
if top_config.app.gas_increase_percent.is_none() {
top_config.app.gas_increase_percent = Some(U256::from(25));
}
}
Some(top_config)
if cli_config.db_url.is_none() {
cli_config.db_url = top_config.app.db_url.clone();
}
if let Some(sentry_url) = top_config.app.sentry_url.clone() {
cli_config.sentry_url = Some(sentry_url);
}
if top_config.app.chain_id == 137 {
if top_config.app.gas_increase_min.is_none() {
top_config.app.gas_increase_min = Some(U256::from(25_000));
}
if top_config.app.gas_increase_percent.is_none() {
top_config.app.gas_increase_percent = Some(U256::from(25));
}
}
Some(top_config)
} else {
None
};