From f15a8421f9f047e9a1bee9cfbc457b056e5e0616 Mon Sep 17 00:00:00 2001 From: cryptozoidberg Date: Wed, 20 Mar 2024 17:49:03 +0100 Subject: [PATCH] added call_wallet_rpc to avoid using of mw_select_wallet --- src/gui/qt-daemon/application/mainwindow.cpp | 20 ++++++++++++++++++++ src/gui/qt-daemon/application/mainwindow.h | 1 + 2 files changed, 21 insertions(+) diff --git a/src/gui/qt-daemon/application/mainwindow.cpp b/src/gui/qt-daemon/application/mainwindow.cpp index 0e3c974e..9f4f0313 100644 --- a/src/gui/qt-daemon/application/mainwindow.cpp +++ b/src/gui/qt-daemon/application/mainwindow.cpp @@ -301,6 +301,26 @@ QString MainWindow::call_rpc(const QString& params) return QString::fromStdString(response_info.m_body); CATCH_ENTRY_FAIL_API_RESPONCE(); } + +QString MainWindow::call_wallet_rpc(const QString& wallet_id_str, const QString& params) +{ + TRY_ENTRY(); + + if (!m_backend.is_core_initialized()) + { + epee::json_rpc::error_response rsp; + rsp.jsonrpc = "2.0"; + rsp.error.code = -1; + rsp.error.message = API_RETURN_CODE_CORE_BUSY; + return QString::fromStdString(epee::serialization::store_t_to_json(static_cast(rsp))); + } + + uint64_t wallet_id = std::stoull(wallet_id_str.toStdString()); + + return QString::fromStdString(m_backend.invoke(wallet_id, params.toStdString())); + CATCH_ENTRY_FAIL_API_RESPONCE(); +} + QString MainWindow::get_default_fee(const QString& param) { TRY_ENTRY(); diff --git a/src/gui/qt-daemon/application/mainwindow.h b/src/gui/qt-daemon/application/mainwindow.h index c2725682..c0df8862 100644 --- a/src/gui/qt-daemon/application/mainwindow.h +++ b/src/gui/qt-daemon/application/mainwindow.h @@ -198,6 +198,7 @@ public: QString request_dummy(const QString& param); QString call_rpc(const QString& params); + QString call_wallet_rpc(const QString& wallet_id, const QString& params); signals: void quit_requested(const QString str);