use anyhow::Result;
use clap::Args;
use tonic::transport::Channel;
use tonic::Request;
use crate::cdk_mint_client::CdkMintClient;
use crate::{GetQuoteTtlRequest, UpdateQuoteTtlRequest};
#[derive(Args, Debug)]
pub struct UpdateQuoteTtlCommand {
#[arg(long)]
mint_ttl: Option<u64>,
#[arg(long)]
melt_ttl: Option<u64>,
}
pub async fn update_quote_ttl(
client: &mut CdkMintClient<Channel>,
sub_command_args: &UpdateQuoteTtlCommand,
) -> Result<()> {
let _response = client
.update_quote_ttl(Request::new(UpdateQuoteTtlRequest {
mint_ttl: sub_command_args.mint_ttl,
melt_ttl: sub_command_args.melt_ttl,
}))
.await?;
Ok(())
}
#[derive(Args, Debug)]
pub struct GetQuoteTtlCommand {}
pub async fn get_quote_ttl(client: &mut CdkMintClient<Channel>) -> Result<()> {
let response = client
.get_quote_ttl(Request::new(GetQuoteTtlRequest {}))
.await?
.into_inner();
println!("Quote TTL Settings:");
println!(" Mint TTL: {} seconds", response.mint_ttl);
println!(" Melt TTL: {} seconds", response.melt_ttl);
Ok(())
}