aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRiccardo Spagni <ric@spagni.net>2017-08-23 21:22:50 +0200
committerRiccardo Spagni <ric@spagni.net>2017-08-23 21:22:50 +0200
commitc04417d37b80752e4f4e6b2ea1d6c702aeabd18a (patch)
treec9096a2df37aa38d2995a3fb4e2603263b55dc8a
parent7521472325f430995e694df7823f43a383909489 (diff)
parenta7f52db61386e1af24ce3aa3836f6991decebae3 (diff)
downloadmonzero-gui-c04417d37b80752e4f4e6b2ea1d6c702aeabd18a.tar.gz
monzero-gui-c04417d37b80752e4f4e6b2ea1d6c702aeabd18a.tar.xz
monzero-gui-c04417d37b80752e4f4e6b2ea1d6c702aeabd18a.zip
Merge pull request #807
a7f52db History: Support coinbase txs requires #2247 (Jaquee)
-rw-r--r--components/HistoryTable.qml6
-rw-r--r--src/libwalletqt/TransactionHistory.cpp5
-rw-r--r--src/libwalletqt/TransactionInfo.cpp5
-rw-r--r--src/libwalletqt/TransactionInfo.h2
-rw-r--r--src/model/TransactionHistoryModel.cpp4
-rw-r--r--src/model/TransactionHistoryModel.h1
6 files changed, 18 insertions, 5 deletions
diff --git a/components/HistoryTable.qml b/components/HistoryTable.qml
index 933c606c..082822d3 100644
--- a/components/HistoryTable.qml
+++ b/components/HistoryTable.qml
@@ -259,11 +259,11 @@ ListView {
//elide: Text.ElideRight
font.family: "Arial"
font.pixelSize: 13
- color: (confirmations < 10)? "#FF6C3C" : "#545454"
+ color: (confirmations < confirmationsRequired)? "#FF6C3C" : "#545454"
text: {
if (!isPending)
- if(confirmations < 10)
- return blockHeight + " " + qsTr("(%1/10 confirmations)").arg(confirmations)
+ if(confirmations < confirmationsRequired)
+ return blockHeight + " " + qsTr("(%1/%2 confirmations)").arg(confirmations).arg(confirmationsRequired)
else
return blockHeight
if (!isOut)
diff --git a/src/libwalletqt/TransactionHistory.cpp b/src/libwalletqt/TransactionHistory.cpp
index 9cd22bee..31e8952e 100644
--- a/src/libwalletqt/TransactionHistory.cpp
+++ b/src/libwalletqt/TransactionHistory.cpp
@@ -45,11 +45,12 @@ QList<TransactionInfo *> TransactionHistory::getAll() const
if (ti->timestamp() <= firstDateTime) {
firstDateTime = ti->timestamp();
}
+ quint64 requiredConfirmations = (ti->blockHeight() < ti->unlockTime()) ? ti->unlockTime() - ti->blockHeight() : 0;
// store last tx height
- if (ti->confirmations() < 10 && ti->blockHeight() >= lastTxHeight ){
+ if (ti->confirmations() < requiredConfirmations && ti->blockHeight() >= lastTxHeight) {
lastTxHeight = ti->blockHeight();
// TODO: Fetch block time and confirmations needed from wallet2?
- m_minutesToUnlock = (10 - ti->confirmations()) * 2;
+ m_minutesToUnlock = (requiredConfirmations - ti->confirmations()) * 2;
m_locked = true;
}
diff --git a/src/libwalletqt/TransactionInfo.cpp b/src/libwalletqt/TransactionInfo.cpp
index 71df2b02..5ad739bf 100644
--- a/src/libwalletqt/TransactionInfo.cpp
+++ b/src/libwalletqt/TransactionInfo.cpp
@@ -51,6 +51,11 @@ quint64 TransactionInfo::confirmations() const
return m_pimpl->confirmations();
}
+quint64 TransactionInfo::unlockTime() const
+{
+ return m_pimpl->unlockTime();
+}
+
QString TransactionInfo::hash() const
{
return QString::fromStdString(m_pimpl->hash());
diff --git a/src/libwalletqt/TransactionInfo.h b/src/libwalletqt/TransactionInfo.h
index 30418b88..fa13a3be 100644
--- a/src/libwalletqt/TransactionInfo.h
+++ b/src/libwalletqt/TransactionInfo.h
@@ -19,6 +19,7 @@ class TransactionInfo : public QObject
Q_PROPERTY(QString fee READ fee)
Q_PROPERTY(quint64 blockHeight READ blockHeight)
Q_PROPERTY(quint64 confirmations READ confirmations)
+ Q_PROPERTY(quint64 unlockTime READ unlockTime)
Q_PROPERTY(QString hash READ hash)
Q_PROPERTY(QDateTime timestamp READ timestamp)
Q_PROPERTY(QString date READ date)
@@ -44,6 +45,7 @@ public:
QString fee() const;
quint64 blockHeight() const;
quint64 confirmations() const;
+ quint64 unlockTime() const;
//! transaction_id
QString hash() const;
QDateTime timestamp() const;
diff --git a/src/model/TransactionHistoryModel.cpp b/src/model/TransactionHistoryModel.cpp
index 2e232259..c1f61fa1 100644
--- a/src/model/TransactionHistoryModel.cpp
+++ b/src/model/TransactionHistoryModel.cpp
@@ -85,6 +85,9 @@ QVariant TransactionHistoryModel::data(const QModelIndex &index, int role) const
case TransactionConfirmationsRole:
result = tInfo->confirmations();
break;
+ case TransactionConfirmationsRequiredRole:
+ result = (tInfo->blockHeight() < tInfo->unlockTime()) ? tInfo->unlockTime() - tInfo->blockHeight() : 0;
+ break;
case TransactionHashRole:
result = tInfo->hash();
break;
@@ -130,6 +133,7 @@ QHash<int, QByteArray> TransactionHistoryModel::roleNames() const
roleNames.insert(TransactionFeeRole, "fee");
roleNames.insert(TransactionBlockHeightRole, "blockHeight");
roleNames.insert(TransactionConfirmationsRole, "confirmations");
+ roleNames.insert(TransactionConfirmationsRequiredRole, "confirmationsRequired");
roleNames.insert(TransactionHashRole, "hash");
roleNames.insert(TransactionTimeStampRole, "timeStamp");
roleNames.insert(TransactionPaymentIdRole, "paymentId");
diff --git a/src/model/TransactionHistoryModel.h b/src/model/TransactionHistoryModel.h
index 449d8003..a2dbd967 100644
--- a/src/model/TransactionHistoryModel.h
+++ b/src/model/TransactionHistoryModel.h
@@ -26,6 +26,7 @@ public:
TransactionFeeRole,
TransactionBlockHeightRole,
TransactionConfirmationsRole,
+ TransactionConfirmationsRequiredRole,
TransactionHashRole,
TransactionTimeStampRole,
TransactionPaymentIdRole,