From 10fe5f3cd4ee3ae102aeee57b34b99f9b9b04bdd Mon Sep 17 00:00:00 2001 From: adityapk00 Date: Tue, 22 Jan 2019 23:10:01 -0800 Subject: [PATCH] Add pending ops --- src/rpc.h | 1 + src/websockets.cpp | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/src/rpc.h b/src/rpc.h index 3b53fb8..09f7bd4 100644 --- a/src/rpc.h +++ b/src/rpc.h @@ -46,6 +46,7 @@ public: void sendZTransaction (json params, const std::function& cb); void watchTxStatus(); void addNewTxToWatch(Tx tx, const QString& newOpid); + const QMap getWatchingTxns() { return watchingOps; } const TxTableModel* getTransactionsModel() { return transactionsTableModel; } const QList* getAllZAddresses() { return zaddresses; } diff --git a/src/websockets.cpp b/src/websockets.cpp index 7296a2e..e0c8dd5 100644 --- a/src/websockets.cpp +++ b/src/websockets.cpp @@ -185,6 +185,22 @@ QJsonDocument AppDataServer::processGetInfo(MainWindow* mainWindow) { QJsonDocument AppDataServer::processGetTransactions(MainWindow* mainWindow) { QJsonArray txns; auto model = mainWindow->getRPC()->getTransactionsModel(); + + // Manually add pending ops, so that computing transactions will also show up + auto wtxns = mainWindow->getRPC()->getWatchingTxns(); + for (auto opid : wtxns.keys()) { + txns.append(QJsonObject{ + {"type", "send"}, + {"datetime", QDateTime::currentSecsSinceEpoch()}, + {"amount", wtxns[opid].toAddrs[0].amount}, + {"txid", ""}, + {"address", wtxns[opid].toAddrs[0].addr}, + {"memo", wtxns[opid].toAddrs[0].txtMemo}, + {"confirmations", 0} + }); + } + + // Add transactions for (int i = 0; i < model->rowCount(QModelIndex()) && i < Settings::getMaxMobileAppTxns(); i++) { txns.append(QJsonObject{ {"type", model->getType(i)},