#[structopt(name = "xmr-btc-swap", about = "Trustless XMR BTC swaps")]
pubenumOptions{
Alice{
#[structopt(default_value = "http://127.0.0.1:8332", long = "bitcoind")]
SellXmr{
#[structopt(
short="b",
long="bitcoind",
default_value="http://127.0.0.1:8332"
)]
bitcoind_url: Url,
#[structopt(default_value = "http://127.0.0.1:18083/json_rpc", long = "monerod")]
monerod_url: Url,
#[structopt(short = "n", long = "bitcoin-wallet-name")]
bitcoin_wallet_name: String,
#[structopt(default_value = "/ip4/127.0.0.1/tcp/9876", long = "listen-addr")]
#[structopt(
short="m",
long="monero-wallet-rpc",
default_value="http://127.0.0.1:18083/json_rpc"
)]
monero_wallet_rpc_url: Url,
#[structopt(
short="a",
long="listen-addr",
default_value="/ip4/127.0.0.1/tcp/9876"
)]
listen_addr: Multiaddr,
#[structopt(long = "tor-port")]
tor_port: Option<u16>,
},
Bob{
#[structopt(long = "sats")]
satoshis: u64,
#[structopt(short = "s", long = "send-xmr", help = "Monero amount as floating point nr without denomination (e.g. 125.1)", parse(try_from_str = parse_xmr))]
send_monero: xmr_btc::monero::Amount,
#[structopt(long = "alice-addr")]
#[structopt(short = "r", long = "receive-btc", help = "Bitcoin amount as floating point nr without denomination (e.g. 1.25)", parse(try_from_str = parse_btc))]
receive_bitcoin: bitcoin::Amount,
},
BuyXmr{
#[structopt(short = "a", long = "connect-addr")]
alice_addr: Multiaddr,
#[structopt(default_value = "http://127.0.0.1:8332", long = "bitcoind")]
#[structopt(short = "p", long = "connect-peer-id")]
alice_peer_id: PeerId,
#[structopt(
short="b",
long="bitcoind",
default_value="http://127.0.0.1:8332"
)]
bitcoind_url: Url,
#[structopt(default_value = "http://127.0.0.1:18083/json_rpc", long = "monerod")]
monerod_url: Url,
#[structopt(short = "n", long = "bitcoin-wallet-name")]
bitcoin_wallet_name: String,
#[structopt(
short="m",
long="monerod",
default_value="http://127.0.0.1:18083/json_rpc"
)]
monero_wallet_rpc_url: Url,
#[structopt(long = "tor")]
tor: bool,
#[structopt(short = "s", long = "send-btc", help = "Bitcoin amount as floating point nr without denomination (e.g. 1.25)", parse(try_from_str = parse_btc))]
send_bitcoin: bitcoin::Amount,
#[structopt(short = "r", long = "receive-xmr", help = "Monero amount as floating point nr without denomination (e.g. 125.1)", parse(try_from_str = parse_xmr))]
receive_monero: xmr_btc::monero::Amount,
},
History,
Recover{
@ -44,5 +76,18 @@ pub enum Options {
#[structopt(default_value = "http://127.0.0.1:18083/json_rpc", long = "monerod")]
monerod_url: Url,
#[structopt(short = "n", long = "bitcoin-wallet-name")]