|
|
|
//
|
|
|
|
// Created by mwo on 13/04/16.
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef CROWXMR_RPCCALLS_H
|
|
|
|
#define CROWXMR_RPCCALLS_H
|
|
|
|
|
|
|
|
#include "src/monero_headers.h"
|
|
|
|
|
|
|
|
#include <mutex>
|
|
|
|
#include <chrono>
|
|
|
|
|
|
|
|
namespace xmreg
|
|
|
|
{
|
|
|
|
|
|
|
|
using namespace cryptonote;
|
|
|
|
using namespace crypto;
|
|
|
|
using namespace std;
|
|
|
|
|
|
|
|
using namespace std::chrono_literals;
|
|
|
|
|
|
|
|
class RPCCalls
|
|
|
|
{
|
|
|
|
string deamon_url;
|
|
|
|
uint64_t timeout_time;
|
|
|
|
|
|
|
|
chrono::seconds rpc_timeout;
|
|
|
|
|
|
|
|
epee::net_utils::http::url_content url;
|
|
|
|
|
|
|
|
epee::net_utils::http::http_simple_client m_http_client;
|
|
|
|
|
|
|
|
std::mutex m_daemon_rpc_mutex;
|
|
|
|
|
|
|
|
string port;
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
RPCCalls(string _deamon_url = "http:://127.0.0.1:18081",
|
|
|
|
chrono::seconds _timeout = 3min + 30s);
|
|
|
|
|
|
|
|
virtual bool
|
|
|
|
connect_to_monero_deamon();
|
|
|
|
|
|
|
|
virtual bool
|
|
|
|
commit_tx(const string& tx_blob,
|
|
|
|
string& error_msg,
|
|
|
|
bool do_not_relay = false);
|
|
|
|
|
|
|
|
virtual bool
|
|
|
|
commit_tx(tools::wallet2::pending_tx& ptx,
|
|
|
|
string& error_msg);
|
|
|
|
|
|
|
|
virtual bool
|
|
|
|
get_current_height(uint64_t& current_height);
|
|
|
|
|
|
|
|
virtual ~RPCCalls() = default;
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
|
|
template <typename Command>
|
|
|
|
bool
|
|
|
|
check_if_response_is_ok(Command const& res,
|
|
|
|
string& error_msg) const;
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif //CROWXMR_RPCCALLS_H
|