Skip to content
Snippets Groups Projects
Commit 8a2fee9b authored by littletux89@gmail.com's avatar littletux89@gmail.com
Browse files

Merge branch 'develop' into features-3005

# Conflicts:
#	CellFrameDashboardGUI/DapServiceController.cpp
#	CellFrameDashboardGUI/DapServiceController.h
#	CellFrameDashboardGUI/qml.qrc
#	CellFrameDashboardGUI/screen/DapMainApplicationWindow.qml
#	CellFrameDashboardGUI/screen/desktop/Dashboard/DapDashboardTab.qml
#	CellFrameDashboardGUI/screen/desktop/Dashboard/DapDashboardTopPanel.qml
#	CellFrameDashboardService/DapServiceController.cpp
#	CellFrameDashboardService/DapServiceController.h
#	libCellFrameDashboardCommon/libCellFrameDashboardCommon.pri
#	libdap-qt-ui-qml
parents d80186f7 052e3e10
No related branches found
No related tags found
1 merge request!11Cellframe clone
......@@ -62,6 +62,10 @@ void DapServiceController::registerCommand()
m_pServer->addService(new DapGetWalletAddressesCommand("DapGetWalletAddressesCommand", m_pServer));
m_pServer->addService(new DapGetWalletTokenInfoCommand("DapGetWalletTokenInfoCommand", m_pServer));
// Creating a token transfer transaction between wallets
m_pServer->addService(new DapCreateTransactionCommand("DapCreateTransactionCommand", m_pServer, CLI_PATH));
// Transaction confirmation
m_pServer->addService(new DapMempoolProcessCommand("DapMempoolProcessCommand", m_pServer, CLI_PATH));
}
/// Initialize system tray.
......
......@@ -33,6 +33,8 @@ typedef class DapRpcLocalServer DapUiService;
#include "Handlers/DapGetWalletAddressesCommand.h"
#include "Handlers/DapExportLogCommand.h"
#include "Handlers/DapGetWalletTokenInfoCommand.h"
#include "Handlers/DapCreateTransactionCommand.h"
#include "Handlers/DapMempoolProcessCommand.h"
#include "DapSystemTrayIcon.h"
#include "DapToolTipWidget.h"
......
#include "DapCreateTransactionCommand.h"
/// Overloaded constructor.
/// @param asServiceName Service name.
/// @param parent Parent.
/// @details The parent must be either DapRPCSocket or DapRPCLocalServer.
/// @param asCliPath The path to cli nodes.
DapCreateTransactionCommand::DapCreateTransactionCommand(const QString &asServicename, QObject *parent, const QString &asCliPath)
: DapAbstractCommand(asServicename, parent), m_sCliPath(asCliPath)
{
}
/// Send a response to the client.
/// @details Performed on the service side.
/// @param arg1 Network.
/// @param arg2 Chain.
/// @param arg3 Wallet sender.
/// @param arg4 Recipient's wallet address.
/// @param arg5 Token.
/// @param arg6 Transfer amount.
/// @return Reply to client.
QVariant DapCreateTransactionCommand::respondToClient(const QVariant &arg1, const QVariant &arg2, const QVariant &arg3, const QVariant &arg4, const QVariant &arg5, const QVariant &arg6, const QVariant &arg7, const QVariant &arg8, const QVariant &arg9, const QVariant &arg10)
{
Q_UNUSED(arg7)
Q_UNUSED(arg8)
Q_UNUSED(arg9)
Q_UNUSED(arg10)
QProcess processCreate;
processCreate.start(QString("%1 tx_create -net %2 -chain %3 -from_wallet %3 -to_addr %4 -token %5 -value %6")
.arg(m_sCliPath)
.arg(arg1.toString())
.arg(arg2.toString())
.arg(arg3.toString())
.arg(arg4.toString())
.arg(arg5.toString())
.arg(arg6.toString()));
processCreate.waitForFinished(-1);
QByteArray result = processCreate.readAll();
QRegExp rx("transfer=(\\w+)");
rx.indexIn(result, 0);
if(rx.cap(1) == "Ok")
{
return true;
}
return false;
}
#ifndef DAPCREATETRANSACTIONCOMMAND_H
#define DAPCREATETRANSACTIONCOMMAND_H
#include <QProcess>
#include "DapAbstractCommand.h"
class DapCreateTransactionCommand : public DapAbstractCommand
{
/// The path to cli nodes.
QString m_sCliPath;
public:
/// Overloaded constructor.
/// @param asServiceName Service name.
/// @param parent Parent.
/// @details The parent must be either DapRPCSocket or DapRPCLocalServer.
/// @param asCliPath The path to cli nodes.
DapCreateTransactionCommand(const QString &asServicename, QObject *parent = nullptr, const QString &asCliPath = QString());
public slots:
/// Send a response to the client.
/// @details Performed on the service side.
/// @param arg1 Network.
/// @param arg2 Chain.
/// @param arg3 Wallet sender.
/// @param arg4 Recipient's wallet address.
/// @param arg5 Token.
/// @param arg6 Transfer amount.
/// @return Reply to client.
QVariant respondToClient(const QVariant &arg1 = QVariant(), const QVariant &arg2 = QVariant(),
const QVariant &arg3 = QVariant(), const QVariant &arg4 = QVariant(),
const QVariant &arg5 = QVariant(), const QVariant &arg6 = QVariant(),
const QVariant &arg7 = QVariant(), const QVariant &arg8 = QVariant(),
const QVariant &arg9 = QVariant(), const QVariant &arg10 = QVariant()) override;
};
#endif // DAPCREATETRANSACTIONCOMMAND_H
#include "DapMempoolProcessCommand.h"
/// Overloaded constructor.
/// @param asServiceName Service name.
/// @param parent Parent.
/// @details The parent must be either DapRPCSocket or DapRPCLocalServer.
/// @param asCliPath The path to cli nodes.
DapMempoolProcessCommand::DapMempoolProcessCommand(const QString &asServicename, QObject *parent, const QString &asCliPath)
: DapAbstractCommand(asServicename, parent), m_sCliPath(asCliPath)
{
}
/// Send a response to the client.
/// @details Performed on the service side.
/// @param arg1 Network.
/// @param arg2 Chain.
/// @param arg3...arg10 Parameters.
/// @return Reply to client.
QVariant DapMempoolProcessCommand::respondToClient(const QVariant &arg1, const QVariant &arg2, const QVariant &arg3, const QVariant &arg4, const QVariant &arg5, const QVariant &arg6, const QVariant &arg7, const QVariant &arg8, const QVariant &arg9, const QVariant &arg10)
{
Q_UNUSED(arg1)
Q_UNUSED(arg2)
Q_UNUSED(arg3)
Q_UNUSED(arg4)
Q_UNUSED(arg5)
Q_UNUSED(arg6)
Q_UNUSED(arg7)
Q_UNUSED(arg8)
Q_UNUSED(arg9)
Q_UNUSED(arg10)
QProcess process;
process.start(QString("%1 mempool_proc -net %2 -chain %3").arg(m_sCliPath).arg(arg1.toString()).arg(arg2.toString()));
process.waitForFinished(-1);
process.readAll();
QString result = QString::fromLatin1(process.readAll());
if(result.isEmpty() || result.isNull() || result.contains("No records in mempool") )
{
return false;
}
return true;
}
#ifndef DAPMEMPOOLPROCESSCOMMAND_H
#define DAPMEMPOOLPROCESSCOMMAND_H
#include <QProcess>
#include "DapAbstractCommand.h"
class DapMempoolProcessCommand : public DapAbstractCommand
{
/// The path to cli nodes.
QString m_sCliPath;
public:
/// Overloaded constructor.
/// @param asServiceName Service name.
/// @param parent Parent.
/// @details The parent must be either DapRPCSocket or DapRPCLocalServer.
/// @param asCliPath The path to cli nodes.
DapMempoolProcessCommand(const QString &asServicename, QObject *parent = nullptr, const QString &asCliPath = QString());
public slots:
/// Send a response to the client.
/// @details Performed on the service side.
/// @param arg1 Network.
/// @param arg2 Chain.
/// @param arg3...arg10 Parameters.
/// @return Reply to client.
QVariant respondToClient(const QVariant &arg1 = QVariant(), const QVariant &arg2 = QVariant(),
const QVariant &arg3 = QVariant(), const QVariant &arg4 = QVariant(),
const QVariant &arg5 = QVariant(), const QVariant &arg6 = QVariant(),
const QVariant &arg7 = QVariant(), const QVariant &arg8 = QVariant(),
const QVariant &arg9 = QVariant(), const QVariant &arg10 = QVariant()) override;
};
#endif // DAPMEMPOOLPROCESSCOMMAND_H
......@@ -28,6 +28,8 @@ SOURCES +=\
$$PWD/Handlers/DapExportLogCommand.cpp \
$$PWD/Handlers/DapGetWalletAddressesCommand.cpp \
$$PWD/Handlers/DapGetWalletTokenInfoCommand.cpp \
$$PWD/Handlers/DapCreateTransactionCommand.cpp \
$$PWD/Handlers/DapMempoolProcessCommand.cpp \
$$PWD/Handlers/DapQuitApplicationCommand.cpp \
$$PWD/Handlers/DapAddWalletCommand.cpp \
$$PWD/Handlers/DapUpdateLogsCommand.cpp \
......@@ -50,6 +52,8 @@ HEADERS +=\
$$PWD/Handlers/DapExportLogCommand.h \
$$PWD/Handlers/DapGetWalletAddressesCommand.h \
$$PWD/Handlers/DapGetWalletTokenInfoCommand.h \
$$PWD/Handlers/DapCreateTransactionCommand.h \
$$PWD/Handlers/DapMempoolProcessCommand.h \
$$PWD/Handlers/DapQuitApplicationCommand.h \
$$PWD/Handlers/DapAddWalletCommand.h \
$$PWD/Handlers/DapUpdateLogsCommand.h \
......
Subproject commit 57caaca1a58415e7e54fa5f953abafc5e0ad4912
Subproject commit 43d8780f269cf47ed375e6c1e2b87f5fca8ec056
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