CHECK_AND_ASSERT_THROW_MES(private_key_and_certificate_path.first.empty()==private_key_and_certificate_path.second.empty(),"private key and certificate must be either both given or both empty");
CHECK_AND_ASSERT_THROW_MES(private_key_and_certificate_path.first.empty()==private_key_and_certificate_path.second.empty(),"private key and certificate must be either both given or both empty");
constcommand_line::arg_descriptor<std::string>daemon_ssl_private_key={"daemon-ssl-private-key",tools::wallet2::tr("Path to a PEM format private key"),""};
constcommand_line::arg_descriptor<std::string>daemon_ssl_private_key={"daemon-ssl-private-key",tools::wallet2::tr("Path to a PEM format private key"),""};
constcommand_line::arg_descriptor<std::string>daemon_ssl_certificate={"daemon-ssl-certificate",tools::wallet2::tr("Path to a PEM format certificate"),""};
constcommand_line::arg_descriptor<std::string>daemon_ssl_certificate={"daemon-ssl-certificate",tools::wallet2::tr("Path to a PEM format certificate"),""};
constcommand_line::arg_descriptor<std::vector<std::string>>daemon_ssl_allowed_certificates={"daemon-ssl-allowed-certificates",tools::wallet2::tr("List of paths to PEM format certificates of allowed RPC servers")};
constcommand_line::arg_descriptor<std::vector<std::string>>daemon_ssl_allowed_certificates={"daemon-ssl-allowed-certificates",tools::wallet2::tr("List of paths to PEM format certificates of allowed RPC servers")};
constcommand_line::arg_descriptor<std::vector<std::string>>daemon_ssl_allowed_fingerprints={"daemon-ssl-allowed-fingerprints",tools::wallet2::tr("List of valid fingerprints of allowed RPC servers")};
constcommand_line::arg_descriptor<bool>daemon_ssl_allow_any_cert={"daemon-ssl-allow-any-cert",tools::wallet2::tr("Allow any SSL certificate from the daemon"),false};
constcommand_line::arg_descriptor<bool>daemon_ssl_allow_any_cert={"daemon-ssl-allow-any-cert",tools::wallet2::tr("Allow any SSL certificate from the daemon"),false};
constcommand_line::arg_descriptor<bool>testnet={"testnet",tools::wallet2::tr("For testnet. Daemon must also be launched with --testnet flag"),false};
constcommand_line::arg_descriptor<bool>testnet={"testnet",tools::wallet2::tr("For testnet. Daemon must also be launched with --testnet flag"),false};
constcommand_line::arg_descriptor<bool>stagenet={"stagenet",tools::wallet2::tr("For stagenet. Daemon must also be launched with --stagenet flag"),false};
constcommand_line::arg_descriptor<bool>stagenet={"stagenet",tools::wallet2::tr("For stagenet. Daemon must also be launched with --stagenet flag"),false};
constcommand_line::arg_descriptor<std::string>arg_rpc_ssl_private_key={"rpc-ssl-private-key",tools::wallet2::tr("Path to a PEM format private key"),""};
constcommand_line::arg_descriptor<std::string>arg_rpc_ssl_private_key={"rpc-ssl-private-key",tools::wallet2::tr("Path to a PEM format private key"),""};
constcommand_line::arg_descriptor<std::string>arg_rpc_ssl_certificate={"rpc-ssl-certificate",tools::wallet2::tr("Path to a PEM format certificate"),""};
constcommand_line::arg_descriptor<std::string>arg_rpc_ssl_certificate={"rpc-ssl-certificate",tools::wallet2::tr("Path to a PEM format certificate"),""};
constcommand_line::arg_descriptor<std::vector<std::string>>arg_rpc_ssl_allowed_certificates={"rpc-ssl-allowed-certificates",tools::wallet2::tr("List of paths to PEM format certificates of allowed RPC servers (all allowed if empty)")};
constcommand_line::arg_descriptor<std::vector<std::string>>arg_rpc_ssl_allowed_certificates={"rpc-ssl-allowed-certificates",tools::wallet2::tr("List of paths to PEM format certificates of allowed RPC servers (all allowed if empty)")};
constcommand_line::arg_descriptor<std::vector<std::string>>arg_rpc_ssl_allowed_fingerprints={"rpc-ssl-allowed-fingerprints",tools::wallet2::tr("List of certificate fingerprints to allow")};