use bp_rpc::BP_NODE_RPC_ENDPOINT;
use clap::{Parser, ValueHint};
use internet2::addr::ServiceAddr;
use microservices::shell::shell_setup;
use crate::opts::Opts as SharedOpts;
#[derive(Parser)]
#[derive(Clone, Ord, PartialOrd, Eq, PartialEq, Hash, Debug)]
#[clap(author, version, name = "bpd", about = "RGB node managing service")]
pub struct Opts {
#[clap(flatten)]
pub shared: SharedOpts,
#[clap(
short = 'R',
long = "rpc",
env = "BP_NODE_RPC_ENDPOINT",
default_value = BP_NODE_RPC_ENDPOINT,
value_hint = ValueHint::FilePath
)]
pub rpc_endpoint: ServiceAddr,
#[clap(short = 't', long = "threaded")]
pub threaded_daemons: bool,
}
impl Opts {
pub fn process(&mut self) {
self.shared.process();
shell_setup(self.shared.verbose, [&mut self.rpc_endpoint], &mut self.shared.data_dir, &[(
"{chain}",
self.shared.chain.to_string(),
)]);
}
}