pub use crate::generated::ark::v1::admin_service_client::AdminServiceClient;
pub use crate::generated::ark::v1::CreateNoteRequest;
pub use crate::generated::ark::v1::CreateNoteResponse;
use ark_core::ArkNote;
pub const DEFAULT_ADMIN_URL: &str = "http://localhost:7071";
pub async fn create_notes(
amount_sats: u32,
quantity: u32,
) -> Result<Vec<ArkNote>, Box<dyn std::error::Error + Send + Sync>> {
create_notes_with_url(DEFAULT_ADMIN_URL, amount_sats, quantity).await
}
pub async fn create_notes_with_url(
admin_url: &str,
amount_sats: u32,
quantity: u32,
) -> Result<Vec<ArkNote>, Box<dyn std::error::Error + Send + Sync>> {
let mut client = AdminServiceClient::connect(admin_url.to_string()).await?;
let response = client
.create_note(CreateNoteRequest {
amount: amount_sats,
quantity,
})
.await?;
let notes = response
.into_inner()
.notes
.into_iter()
.map(|note_str| ArkNote::from_string(¬e_str))
.collect::<Result<Vec<_>, _>>()?;
Ok(notes)
}