2021-03-02 00:22:39 -05:00
use crate ::bitcoin ::Amount ;
2021-03-03 19:28:58 -05:00
use bitcoin ::util ::amount ::ParseAmountError ;
use bitcoin ::Denomination ;
2021-02-10 23:07:01 -05:00
use std ::path ::PathBuf ;
#[ derive(structopt::StructOpt, Debug) ]
pub struct Arguments {
#[ structopt(
long = " config " ,
help = " Provide a custom path to the configuration file. The configuration file must be a toml file. " ,
parse ( from_os_str )
) ]
pub config : Option < PathBuf > ,
#[ structopt(subcommand) ]
pub cmd : Command ,
}
#[ derive(structopt::StructOpt, Debug) ]
#[ structopt(name = " xmr_btc-swap " , about = " XMR BTC atomic swap " ) ]
pub enum Command {
2021-02-24 21:54:12 -05:00
Start {
2021-03-02 00:22:39 -05:00
#[ structopt(long = " max-buy-btc " , help = " The maximum amount of BTC the ASB is willing to buy. " , default_value= " 0.005 " , parse(try_from_str = parse_btc)) ]
max_buy : Amount ,
2021-02-24 21:54:12 -05:00
} ,
2021-02-10 23:07:01 -05:00
History ,
}
2021-02-24 21:54:12 -05:00
2021-03-02 00:22:39 -05:00
fn parse_btc ( s : & str ) -> Result < Amount , ParseAmountError > {
Amount ::from_str_in ( s , Denomination ::Bitcoin )
2021-02-24 21:54:12 -05:00
}