Skip to content
Snippets Groups Projects
Commit 6b106b95 authored by Evgenii Tagiltsev's avatar Evgenii Tagiltsev
Browse files

[*] divided mempool and sending money

parent 7466d482
No related branches found
No related tags found
1 merge request!11Cellframe clone
......@@ -79,12 +79,17 @@ void DapCommandController::changeCurrentNetwork(const QString& aNetwork)
m_DAPRpcSocket->invokeRemoteMethod("RPCServer.changeCurrentNetwork", aNetwork);
}
void DapCommandController::sendTransaction(const QString& aFromWallet, const QString& aToAddress, const QString& aToken, const QString& aNetwork, const quint64 aValue)
void DapCommandController::sendMempool(const QString& aFromWallet, const QString& aToAddress, const QString& aToken, const QString& aNetwork, const quint64 aValue)
{
DapRpcServiceReply *reply = m_DAPRpcSocket->invokeRemoteMethod("RPCServer.createTransaction", aFromWallet, aToAddress, aToken, aNetwork, aValue);
connect(reply, SIGNAL(finished()), this, SLOT(processGetResultTransaction()));
}
void DapCommandController::takeFromMempool(const QString& aNetwork)
{
m_DAPRpcSocket->invokeRemoteMethod("RPCServer.takeFromMempool", aNetwork);
}
void DapCommandController::setNewWalletData(const QVariant& aData)
{
emit sigWalletData(QByteArray::fromHex(aData.toByteArray()));
......
......@@ -180,7 +180,9 @@ public slots:
void requestWalletData();
void sendTransaction(const QString& aFromWallet, const QString& aToAddress, const QString& aToken, const QString& aNetwork, const quint64 aValue);
void sendMempool(const QString& aFromWallet, const QString& aToAddress, const QString& aToken, const QString& aNetwork, const quint64 aValue);
void takeFromMempool(const QString& aNetwork);
};
#endif // COMMANDCONTROLLER_H
......@@ -73,7 +73,8 @@ void DapServiceController::init(DapServiceClient *apDapServiceClient)
connect(m_pDapCommandController, &DapCommandController::sigWalletData, &DapChainWalletModel::instance(), &DapChainWalletModel::setWalletData);
connect(&DapTransaction::instance(), &DapTransaction::sendTransaction, m_pDapCommandController, &DapCommandController::sendTransaction);
connect(&DapTransaction::instance(), &DapTransaction::sendMempool, m_pDapCommandController, &DapCommandController::sendMempool);
connect(&DapTransaction::instance(), &DapTransaction::sendToken, m_pDapCommandController, &DapCommandController::takeFromMempool);
connect(m_pDapCommandController, &DapCommandController::sendResponseTransaction, &DapTransaction::instance(), &DapTransaction::receiveResult);
}
......
......@@ -13,7 +13,12 @@ DapTransaction& DapTransaction::instance()
void DapTransaction::createRequestTransaction(const QString& aFromWallet, const QString& aToAddress, const QString& aToken, const QString& aNetwork, const quint64 aValue)
{
emit sendTransaction(aFromWallet, aToAddress, aToken, aNetwork, aValue);
emit sendMempool(aFromWallet, aToAddress, aToken, aNetwork, aValue);
}
void DapTransaction::sendToken(const QString& aNetwork)
{
emit sendTransaction(aNetwork);
}
void DapTransaction::receiveResult(const bool aSuccessful)
......
......@@ -6,17 +6,20 @@
class DapTransaction : public QObject
{
Q_OBJECT
public:
explicit DapTransaction(QObject *parent = nullptr);
static DapTransaction& instance();
public slots:
void createRequestTransaction(const QString& aFromWallet, const QString& aToAddress, const QString& aToken, const QString& aNetwork, const quint64 aValue);
void sendToken(const QString& aNetwork);
void receiveResult(const bool aSuccessful);
signals:
void sendResult(bool result);
void sendTransaction(const QString& fromWallet, const QString& toAddress, const QString& token, const QString& network, const quint64 value);
void sendMempool(const QString& fromWallet, const QString& toAddress, const QString& token, const QString& network, const quint64 value);
void sendTransaction(const QString& network);
};
#endif // DAPTRANSACTION_H
......@@ -229,3 +229,8 @@ bool DapChainDashboardService::createTransaction(const QString& aFromWallet, con
{
return m_pDapChainTransaction->createTransaction(aFromWallet, aToAddress, aTokenName, aNetwork, aValue);
}
void DapChainDashboardService::takeFromMempool(const QString& aNetwork)
{
m_pDapChainTransaction->takeFromMempool(aNetwork);
}
......@@ -143,6 +143,8 @@ public slots:
bool createTransaction(const QString& aFromWallet, const QString& aToAddress, const QString& aTokenName, const QString& aNetwork, const quint64 aValue);
void takeFromMempool(const QString& aNetwork);
private slots:
/// Request new history request by handle wallet's name
void doRequestWallets();
......
......@@ -21,14 +21,18 @@ bool DapChainTransaction::createTransaction(const QString& aFromWallet, const QS
QRegExp rx("transfer=(\\w+)");
rx.indexIn(result, 0);
if(rx.cap(1) == "Ok") {
QProcess processMempool;
processMempool.start(QString("%1 mempool_proc -net " + aNetwork +" -chain gdb").arg(CLI_PATH));
processMempool.waitForFinished(-1);
processMempool.readAll();
if(rx.cap(1) == "Ok")
{
return true;
}
return false;
}
void DapChainTransaction::takeFromMempool(const QString& aNetwork)
{
QProcess processMempool;
processMempool.start(QString("%1 mempool_proc -net " + aNetwork +" -chain gdb").arg(CLI_PATH));
processMempool.waitForFinished(-1);
processMempool.readAll();
}
......@@ -20,6 +20,8 @@ public:
/// @param sum for transaction
/// @return result of trying to do transaction
bool createTransaction(const QString& aFromWallet, const QString& aToAddress, const QString& aTokenName, const QString& aNetwork, const quint64 aValue) const;
void takeFromMempool(const QString& aNetwork);
};
#endif // DAPCHAINTRANSACTION_H
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