Skip to content
Snippets Groups Projects
Commit 9197830c authored by Denis Sumin's avatar Denis Sumin
Browse files

Merge branch 'release-3.1-18' into 'master'

[+] add new web 3 commands - GetDexOrderList, GetDexPairs, GetDexPairRate

See merge request !293
parents bf68664d 2e874438
No related branches found
No related tags found
2 merge requests!294bugfix-15120-better-error-message,!293[+] add new web 3 commands - GetDexOrderList, GetDexPairs, GetDexPairRate
......@@ -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);
......
......@@ -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)
......
......@@ -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();
}
......
......@@ -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();
}
......
......@@ -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();
}
......
......@@ -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
{
......
......@@ -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())
......
......@@ -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))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment