Use new fee multipliers after v5 fork

requires #1915
pull/2/head
Jaquee 7 years ago
parent f05f0b73c3
commit 9c4c34d502

@ -286,6 +286,9 @@ ApplicationWindow {
leftPanel.networkStatus.connected = status
leftPanel.progressBar.visible = (status === Wallet.ConnectionStatus_Connected) && !daemonSynced
// Update fee multiplier dropdown on transfer page
middlePanel.transferView.updatePriorityDropdown();
// If wallet isnt connected and no daemon is running - Ask
if(!walletInitialized && status === Wallet.ConnectionStatus_Disconnected && !daemonManager.running(persistentSettings.testnet)){
daemonManagerDialog.open();

@ -195,6 +195,17 @@ Rectangle {
ListElement { column1: qsTr("High (x166 fee)") ; column2: ""; priority: PendingTransaction.Priority_High }
}
// Priorites after v5
ListModel {
id: priorityModelV5
ListElement { column1: qsTr("Low (x1 fee)") ; column2: ""; priority: 1}
ListElement { column1: qsTr("Default (x4 fee)") ; column2: ""; priority: 2 }
ListElement { column1: qsTr("Medium (x20 fee)") ; column2: ""; priority: 3 }
ListElement { column1: qsTr("High (x166 fee)") ; column2: ""; priority: 4 }
}
StandardDropdown {
id: priorityDropdown
anchors.top: transactionPriority.bottom
@ -206,7 +217,6 @@ Rectangle {
shadowPressedColor: "#B32D00"
releasedColor: "#FF6C3C"
pressedColor: "#FF4304"
dataModel: priorityModel
z: 1
}
@ -700,6 +710,19 @@ Rectangle {
console.log("transfer page loaded")
updateStatus();
updateMixin();
updatePriorityDropdown()
}
function updatePriorityDropdown() {
// Use new fee multipliers after v5 fork
if (typeof currentWallet != "undefined" && currentWallet.useForkRules(5)) {
priorityDropdown.dataModel = priorityModelV5;
priorityDropdown.currentIndex = 1
} else {
priorityDropdown.dataModel = priorityModel;
priorityDropdown.currentIndex = 0
}
}
//TODO: Add daemon sync status

@ -587,6 +587,11 @@ bool Wallet::rescanSpent()
return m_walletImpl->rescanSpent();
}
bool Wallet::useForkRules(quint8 required_version, quint64 earlyBlocks) const
{
return m_walletImpl->useForkRules(required_version,earlyBlocks);
}
Wallet::Wallet(Monero::Wallet *w, QObject *parent)
: QObject(parent)
, m_walletImpl(w)

@ -228,6 +228,9 @@ public:
// Rescan spent outputs
Q_INVOKABLE bool rescanSpent();
// check if fork rules should be used
Q_INVOKABLE bool useForkRules(quint8 version, quint64 earlyBlocks) const;
// TODO: setListenter() when it implemented in API
signals:
// emitted on every event happened with wallet

@ -338,16 +338,6 @@ QString WalletManager::checkUpdates(const QString &software, const QString &subd
return QString::fromStdString(std::get<1>(result) + "|" + std::get<2>(result) + "|" + std::get<3>(result) + "|" + std::get<4>(result));
}
bool WalletManager::useForkRules(quint8 required_version) const
{
quint64 earliest_height;
quint8 version;
m_pimpl->hardForkInfo(version, earliest_height);
return version >= required_version;
}
WalletManager::WalletManager(QObject *parent) : QObject(parent)
{
m_pimpl = Monero::WalletManagerFactory::getWalletManager();

@ -136,8 +136,6 @@ public:
Q_INVOKABLE bool saveQrCode(const QString &, const QString &) const;
Q_INVOKABLE QString checkUpdates(const QString &software, const QString &subdir) const;
Q_INVOKABLE bool useForkRules(quint8 version) const;
signals:
void walletOpened(Wallet * wallet);