diff --git a/chain/wallet/DapConfigManager/DapNodeInstallManager.cpp b/chain/wallet/DapConfigManager/DapNodeInstallManager.cpp index 363e91ded9ec55275a42c39db815dab5bc3f3786..99ebfd0fb67d7895a7a03f9c6d98f1de8dd8d5f8 100644 --- a/chain/wallet/DapConfigManager/DapNodeInstallManager.cpp +++ b/chain/wallet/DapConfigManager/DapNodeInstallManager.cpp @@ -14,21 +14,21 @@ DapNodeInstallManager::DapNodeInstallManager(bool flag_RK, QObject *parent) #if defined(Q_OS_LINUX) && !defined(Q_OS_ANDROID) - m_url = QUrl(QString("https://pub.cellframe.net/linux/cellframe-node/%1/%2/").arg(branch).arg(latest)); + m_url = QUrl(QString("https://pub.cellframe.net/linux/cellframe-node/%1/%2").arg(branch).arg(latest)); m_suffix = QString(".deb"); m_labelUrlFile = "-amd64"; m_baseUrl = QString("https://pub.cellframe.net/linux/cellframe-node/%1").arg(branch); #elif defined (Q_OS_MACOS) - m_url = QUrl(QString("https://pub.cellframe.net/macos/cellframe-node/%1/%2/").arg(branch).arg(latest));//todo: need branch + m_url = QUrl(QString("https://pub.cellframe.net/macos/cellframe-node/%1/%2").arg(branch).arg(latest));//todo: need branch m_suffix = QString(".pkg"); m_labelUrlFile = "-amd64-signed"; m_baseUrl = QString("https://pub.cellframe.net/macos/cellframe-node/%1").arg(branch); #elif defined (Q_OS_WIN) - m_url = QUrl(QString("https://pub.cellframe.net/windows/cellframe-node/%1/%2/").arg(branch).arg(latest)); //todo: need branch + m_url = QUrl(QString("https://pub.cellframe.net/windows/cellframe-node/%1/%2").arg(branch).arg(latest)); //todo: need branch m_suffix = QString(".exe"); m_labelUrlFile = "-installer"; m_baseUrl = QString("https://pub.cellframe.net/windows/cellframe-node/%1").arg(branch); diff --git a/chain/wallet/handlers/DapGetListKeysCommand.cpp b/chain/wallet/handlers/DapGetListKeysCommand.cpp index 0d6d867f35b0091a237c96cea6e288d05d8d9cf5..b76f9332f90d6e3cff6d0d58a0d35fdfbf245faa 100644 --- a/chain/wallet/handlers/DapGetListKeysCommand.cpp +++ b/chain/wallet/handlers/DapGetListKeysCommand.cpp @@ -46,7 +46,21 @@ QVariant DapGetListKeysCommand::respondToClient(const QVariant &args) } else { - resultArray = request.value("result").toArray()[0].toArray(); + auto resultObj = request.value("result").toArray()[0]; + if (resultObj.isObject()) + { + auto errArr = resultObj.toObject().value("errors").toArray(); + if (!errArr.isEmpty()) + { + errorMsg = errArr[0].toObject().value("message").toString(); + } + else + { + errorMsg = "not found"; + } + } + else + resultArray = resultObj.toArray(); } QJsonArray keyArray; for(const auto& itemValue: resultArray) diff --git a/chain/wallet/handlers/DapGetXchangeOrdersList.cpp b/chain/wallet/handlers/DapGetXchangeOrdersList.cpp index 852315f7e4ad7003b0af809e6c65b420a1e59424..4e77fa8847a1d35fc01002959d89362b198736da 100644 --- a/chain/wallet/handlers/DapGetXchangeOrdersList.cpp +++ b/chain/wallet/handlers/DapGetXchangeOrdersList.cpp @@ -70,7 +70,12 @@ QVariant DapGetXchangeOrdersList::respondToClient(const QVariant &args) obj.insert(net, arrOrders); } - QJsonDocument resultDoc(QJsonObject({{RESULT_KEY, obj}})); + QJsonObject resultObject; + resultObject.insert(RESULT_KEY, obj); + addWeb3Result(resultObject, args); + + QJsonDocument resultDoc(resultObject); + return resultDoc.toJson(); } diff --git a/chain/wallet/handlers/DapGetXchangeTokenPair.cpp b/chain/wallet/handlers/DapGetXchangeTokenPair.cpp index 8f2f9f2cdb9ec99e9d09ab45680c7de1d5e99fd6..a9fc73f69d124a3d6bd21b649084d5e40ffc2f03 100644 --- a/chain/wallet/handlers/DapGetXchangeTokenPair.cpp +++ b/chain/wallet/handlers/DapGetXchangeTokenPair.cpp @@ -13,23 +13,12 @@ DapGetXchangeTokenPair::DapGetXchangeTokenPair(const QString &asServicename, QOb QVariant DapGetXchangeTokenPair::respondToClient(const QVariant &args) { DapAbstractCommand::respondToClient(args); - qDebug() << "args " << args; - - QStringList params = args.toStringList(); QJsonArray arrPairs; // get list of networks QStringList netlist = getListNetworks(); - QString tempResult; - - QString fullInfo = params[0]; - - bool update = false; - if (params[0] == "update" || params[1] == "update") - update = true; - for (const QString &net : netlist) { auto resultJson = cmdList->getXchangeTokenPairsList(net); @@ -84,7 +73,11 @@ QVariant DapGetXchangeTokenPair::respondToClient(const QVariant &args) } } - QJsonDocument resultDoc(QJsonObject({{RESULT_KEY, arrPairs}})); + QJsonObject resultObject; + resultObject.insert(RESULT_KEY, arrPairs); + addWeb3Result(resultObject, args); + + QJsonDocument resultDoc(resultObject); return resultDoc.toJson(); } diff --git a/chain/wallet/handlers/DapGetXchangeTokenPriceAverage.cpp b/chain/wallet/handlers/DapGetXchangeTokenPriceAverage.cpp index 375dbf1ba4636ad22222f0a14eddf053b08f6991..0253c97d4db85ebff0d67d74d3b539a09972c7f7 100644 --- a/chain/wallet/handlers/DapGetXchangeTokenPriceAverage.cpp +++ b/chain/wallet/handlers/DapGetXchangeTokenPriceAverage.cpp @@ -84,14 +84,18 @@ QVariant DapGetXchangeTokenPriceAverage::respondToClient(const QVariant &args) time = QString::number(secondData.first); } + QJsonObject obj; + obj.insert("token1",params[1]); + obj.insert("token2",params[2]); + obj.insert("network",params[0]); + obj.insert("rate", rate); + obj.insert("time", time); + QJsonObject resultObj; - resultObj.insert("token1",params[1]); - resultObj.insert("token2",params[2]); - resultObj.insert("network",params[0]); - resultObj.insert("rate", rate); - resultObj.insert("time", time); + resultObj.insert(RESULT_KEY,obj); + addWeb3Result(resultObj, args); - QJsonDocument resultDoc(QJsonObject({{RESULT_KEY, resultObj}})); + QJsonDocument resultDoc(resultObj); return resultDoc.toJson(); } diff --git a/chain/wallet/handlers/DapLedgerTxHashCommand.cpp b/chain/wallet/handlers/DapLedgerTxHashCommand.cpp index 0691440804fa3addadbcb1ccb134d87699003524..77bc2417dfe42b60680cfd8ae8968310bbdce747 100644 --- a/chain/wallet/handlers/DapLedgerTxHashCommand.cpp +++ b/chain/wallet/handlers/DapLedgerTxHashCommand.cpp @@ -26,9 +26,35 @@ QVariant DapLedgerTxHashCommand::respondToClient(const QVariant &args) QJsonObject resultObj; QJsonDocument resultDoc; + auto getErrorMessageFromData = [](const QJsonObject& resultToCheck){ + const QString errsCode = "errors"; + const QString msgsCode = "message"; + if (resultToCheck.contains(errsCode) && resultToCheck[errsCode].isArray()) + { + auto arr = resultToCheck[errsCode].toArray(); + if (!arr.isEmpty() && arr[0].isObject()) + { + auto msgsObj = arr[0].toObject(); + if (msgsObj.contains(msgsCode) && msgsObj[msgsCode].isString()) + { + return msgsObj[msgsCode].toString(); + } + } + } + return QString(); + }; + if(errorMsg.isEmpty()) { - resultObj.insert(RESULT_KEY, result); + QString dataErrMsg = getErrorMessageFromData(result); + if (!dataErrMsg.isEmpty()) + { + resultObj.insert(ERROR_KEY, dataErrMsg); + } + else + { + resultObj.insert(RESULT_KEY, result); + } } else { diff --git a/chain/wallet/handlers/DapVoitingListCommand.cpp b/chain/wallet/handlers/DapVoitingListCommand.cpp index 1e90d92125ef90de7e6e935cc3f51f93f915bf8f..47b4aaba1274a2f9e75d4f4dfd1c97694b3eafbf 100644 --- a/chain/wallet/handlers/DapVoitingListCommand.cpp +++ b/chain/wallet/handlers/DapVoitingListCommand.cpp @@ -17,7 +17,7 @@ QVariant DapVoitingListCommand::respondToClient(const QVariant &args) } QRegularExpression regular( - R"(Voting hash: (.+)\n\s+Voting question: (.+)\n)", QRegularExpression::MultilineOption); + R"(\n*voting_tx: (.+)\n+\s+question: \"(.+)\"\n+\s*\n*)", QRegularExpression::MultilineOption); QRegularExpressionMatchIterator matchItr = regular.globalMatch(result); if(matchItr.hasNext()) diff --git a/chain/wallet/handlers/MempoolCheckCommand.cpp b/chain/wallet/handlers/MempoolCheckCommand.cpp index 5e47b53f906cdaa12db8fe40405921ff8e4825e1..7d26b75d16d97dd7d8c2fd81e8c280d90bcc0ba0 100644 --- a/chain/wallet/handlers/MempoolCheckCommand.cpp +++ b/chain/wallet/handlers/MempoolCheckCommand.cpp @@ -33,6 +33,15 @@ QVariant MempoolCheckCommand::respondToClient(const QVariant &args) { auto resultValue = cmdList->getJsonResult(requestDoc, "mempool check").result.toArray(); mempoolAnswer = resultValue[0].toObject(); + + if(!mempoolAnswer["errors"].isNull()) + { + QJsonArray errArr = mempoolAnswer["errors"].toArray(); + if (!errArr.isEmpty()) + { + errorMsg = errArr[0].toObject()["message"].toString(); + } + } } if(args.toStringList().contains(WEB3_KEY))