Skip to content
Snippets Groups Projects
Commit 099e17ef authored by denis's avatar denis
Browse files

[*] add new web 3 command

parent b360a9e9
No related branches found
No related tags found
1 merge request!292[*] add new web 3 command
......@@ -13,18 +13,22 @@ QVariant DapXchangeOrderPurchase::respondToClient(const QVariant &args)
{
DapAbstractCommand::respondToClient(args);
QJsonObject resultObj;
auto resultJson = cmdList->xchangeOrderPurchase(args);
auto resultStruct = cmdList->getJsonResult(resultJson, "DapXchangeOrderPurchase");
auto result = resultStruct.result;
auto failTransaction = [&result, this]() -> QVariant
auto failTransaction = [&args, &result, this]() -> QVariant
{
QJsonObject obj;
obj.insert(SUCCESS,QJsonValue(false));
obj.insert(MESSAGE,QJsonValue(result));
QJsonObject resultObj;
resultObj.insert(SUCCESS,QJsonValue(false));
resultObj.insert(MESSAGE,QJsonValue(result));
QJsonDocument resultDoc(QJsonObject{{RESULT_KEY, resultObj}});
resultObj.insert(RESULT_KEY, obj);
resultObj.insert(ERROR_KEY, result);
addWeb3Result(resultObj, args);
QJsonDocument resultDoc(resultObj);
return resultDoc.toJson();
};
......@@ -57,12 +61,18 @@ QVariant DapXchangeOrderPurchase::respondToClient(const QVariant &args)
qWarning() << "[DapXchangeOrderCreate] The hash string is empty.";
return failTransaction();
}
resultObj.insert(SUCCESS,QJsonValue(true));
resultObj.insert(MESSAGE,QJsonValue("Exchange transaction has done"));
resultObj.insert(HASH, QJsonValue(hash));
QJsonDocument resultDoc(QJsonObject{{RESULT_KEY, resultObj}});
QJsonObject obj;
obj.insert(SUCCESS,QJsonValue(true));
obj.insert(MESSAGE,QJsonValue("Exchange transaction has done"));
obj.insert(HASH, QJsonValue(hash));
QJsonObject resultObj;
resultObj.insert(RESULT_KEY, obj);
addWeb3Result(resultObj, args);
QJsonDocument resultDoc(resultObj);
return resultDoc.toJson();
}
......@@ -76,4 +86,5 @@ void DapXchangeOrderPurchase::replyFromService()
QJsonObject resultObj = replyObj[RESULT_KEY].toObject();
emit serviceResponded(resultObj);
}
......@@ -9,6 +9,7 @@ DapXchangeOrderPurchaseStack::DapXchangeOrderPurchaseStack(const QString &asServ
m_commandManager->setParentCalback([&](const QVariant &args) -> QVariant { return DapXchangeOrderPurchase::respondToClient(args); });
m_commandManager->setWalletNameCalback([&](const QStringList &list) -> QString { return list[2]; });
m_commandManager->setNetworkNameCalback([&](const QStringList &list) -> QString { return list[1];});
m_commandManager->setWeb3UpdateCalback([&](QJsonObject& result, const QVariant& args){ addWeb3Result(result, args); });
DapTransactionQueueController* controller = DapTransactionQueueController::getTransactionController();
DapTransactionQueueController::ParamsFromCommand callbacks;
......@@ -26,6 +27,17 @@ DapXchangeOrderPurchaseStack::DapXchangeOrderPurchaseStack(const QString &asServ
QVariant DapXchangeOrderPurchaseStack::respondToClient(const QVariant &args)
{
QStringList params = args.toStringList();
if(!params.contains("self") && params.contains(WEB3_KEY))
{
QString fee = "50000000000000000";
auto docFee = getFee()[params[1]];
if(!docFee.validatorFeeList["median"].datoshi.isEmpty())
fee = docFee.validatorFeeList["median"].datoshi;
params.insert(4, fee);
return m_commandManager->respondToClient(params);
}
return m_commandManager->respondToClient(args);
}
......
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