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

Merge branch 'features-15582' into 'master'

[*] add new web 3 command

See merge request !292
parents b360a9e9 099e17ef
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) ...@@ -13,18 +13,22 @@ QVariant DapXchangeOrderPurchase::respondToClient(const QVariant &args)
{ {
DapAbstractCommand::respondToClient(args); DapAbstractCommand::respondToClient(args);
QJsonObject resultObj;
auto resultJson = cmdList->xchangeOrderPurchase(args); auto resultJson = cmdList->xchangeOrderPurchase(args);
auto resultStruct = cmdList->getJsonResult(resultJson, "DapXchangeOrderPurchase"); auto resultStruct = cmdList->getJsonResult(resultJson, "DapXchangeOrderPurchase");
auto result = resultStruct.result; 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; QJsonObject resultObj;
resultObj.insert(SUCCESS,QJsonValue(false)); resultObj.insert(RESULT_KEY, obj);
resultObj.insert(MESSAGE,QJsonValue(result)); resultObj.insert(ERROR_KEY, result);
QJsonDocument resultDoc(QJsonObject{{RESULT_KEY, resultObj}}); addWeb3Result(resultObj, args);
QJsonDocument resultDoc(resultObj);
return resultDoc.toJson(); return resultDoc.toJson();
}; };
...@@ -57,12 +61,18 @@ QVariant DapXchangeOrderPurchase::respondToClient(const QVariant &args) ...@@ -57,12 +61,18 @@ QVariant DapXchangeOrderPurchase::respondToClient(const QVariant &args)
qWarning() << "[DapXchangeOrderCreate] The hash string is empty."; qWarning() << "[DapXchangeOrderCreate] The hash string is empty.";
return failTransaction(); 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(); return resultDoc.toJson();
} }
...@@ -76,4 +86,5 @@ void DapXchangeOrderPurchase::replyFromService() ...@@ -76,4 +86,5 @@ void DapXchangeOrderPurchase::replyFromService()
QJsonObject resultObj = replyObj[RESULT_KEY].toObject(); QJsonObject resultObj = replyObj[RESULT_KEY].toObject();
emit serviceResponded(resultObj); emit serviceResponded(resultObj);
} }
...@@ -9,6 +9,7 @@ DapXchangeOrderPurchaseStack::DapXchangeOrderPurchaseStack(const QString &asServ ...@@ -9,6 +9,7 @@ DapXchangeOrderPurchaseStack::DapXchangeOrderPurchaseStack(const QString &asServ
m_commandManager->setParentCalback([&](const QVariant &args) -> QVariant { return DapXchangeOrderPurchase::respondToClient(args); }); m_commandManager->setParentCalback([&](const QVariant &args) -> QVariant { return DapXchangeOrderPurchase::respondToClient(args); });
m_commandManager->setWalletNameCalback([&](const QStringList &list) -> QString { return list[2]; }); m_commandManager->setWalletNameCalback([&](const QStringList &list) -> QString { return list[2]; });
m_commandManager->setNetworkNameCalback([&](const QStringList &list) -> QString { return list[1];}); 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* controller = DapTransactionQueueController::getTransactionController();
DapTransactionQueueController::ParamsFromCommand callbacks; DapTransactionQueueController::ParamsFromCommand callbacks;
...@@ -26,6 +27,17 @@ DapXchangeOrderPurchaseStack::DapXchangeOrderPurchaseStack(const QString &asServ ...@@ -26,6 +27,17 @@ DapXchangeOrderPurchaseStack::DapXchangeOrderPurchaseStack(const QString &asServ
QVariant DapXchangeOrderPurchaseStack::respondToClient(const QVariant &args) 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); 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