12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- use std::env;
- use anyhow::Result;
- use cdk::cdk_database::mint_memory::MintMemoryDatabase;
- use cdk_integration_tests::init_regtest::{
- fund_ln, get_temp_dir, init_bitcoin_client, init_bitcoind, init_cln, init_cln_client, init_lnd,
- init_lnd_client, open_channel, start_cln_mint,
- };
- use cdk_redb::MintRedbDatabase;
- use cdk_sqlite::MintSqliteDatabase;
- #[tokio::main]
- async fn main() -> Result<()> {
- let mut bitcoind = init_bitcoind();
- bitcoind.start_bitcoind()?;
- let bitcoin_client = init_bitcoin_client()?;
- bitcoin_client.create_wallet().ok();
- bitcoin_client.load_wallet()?;
- let new_add = bitcoin_client.get_new_address()?;
- bitcoin_client.generate_blocks(&new_add, 200).unwrap();
- let mut clnd = init_cln();
- clnd.start_clnd()?;
- let cln_client = init_cln_client().await?;
- let mut lnd = init_lnd().await;
- lnd.start_lnd().unwrap();
- let lnd_client = init_lnd_client().await.unwrap();
- fund_ln(&bitcoin_client, &cln_client, &lnd_client)
- .await
- .unwrap();
- open_channel(&bitcoin_client, &cln_client, &lnd_client)
- .await
- .unwrap();
- let addr = "127.0.0.1";
- let port = 8085;
- let mint_db_kind = env::var("MINT_DATABASE")?;
- match mint_db_kind.as_str() {
- "MEMORY" => {
- start_cln_mint(addr, port, MintMemoryDatabase::default()).await?;
- }
- "SQLITE" => {
- let sqlite_db = MintSqliteDatabase::new(&get_temp_dir().join("mint")).await?;
- sqlite_db.migrate().await;
- start_cln_mint(addr, port, sqlite_db).await?;
- }
- "REDB" => {
- let redb_db = MintRedbDatabase::new(&get_temp_dir().join("mint")).unwrap();
- start_cln_mint(addr, port, redb_db).await?;
- }
- _ => panic!("Unknown mint db type: {}", mint_db_kind),
- };
- Ok(())
- }
|