main.rs 904 B

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