main.rs 852 B

12345678910111213141516171819202122232425262728293031323334353637
  1. //! CDK MINTD
  2. use std::sync::Arc;
  3. use anyhow::Result;
  4. use cdk_mintd::cli::CLIArgs;
  5. use cdk_mintd::{get_work_directory, load_settings};
  6. use clap::Parser;
  7. use tokio::runtime::Runtime;
  8. fn main() -> Result<()> {
  9. let rt = Arc::new(Runtime::new()?);
  10. let rt_clone = Arc::clone(&rt);
  11. rt.block_on(async {
  12. let args = CLIArgs::parse();
  13. let work_dir = get_work_directory(&args).await?;
  14. let settings = load_settings(&work_dir, args.config)?;
  15. #[cfg(feature = "sqlcipher")]
  16. let password = Some(CLIArgs::parse().password);
  17. #[cfg(not(feature = "sqlcipher"))]
  18. let password = None;
  19. cdk_mintd::run_mintd(
  20. &work_dir,
  21. &settings,
  22. password,
  23. args.enable_logging,
  24. Some(rt_clone),
  25. vec![],
  26. )
  27. .await
  28. })
  29. }