mirror of
https://github.com/wownero/wowlet.git
synced 2026-10-17 07:11:29 +02:00
wowlet: wownero loose-string sweep + P0 send fix. Bump monero submodule -> gui@1ed9d64c (drops feather's monero-checkpoint check_rct_distribution() that made every send throw 'Output distribution size too small'). feather-src: local-node probe + wizard port 18081->34568 (Utils.cpp getDefaultRpcPort, PageNetwork.ui); confirmationsRequired + lock display 10->4 = wownero spendable age (TransactionRow, TxInfoDialog, BalanceDialog, SendWidget); amount precision 12->11 (config, SettingsDialog); tx-pool backlog x2->x5 (5-min blocks); revuo + CCS off default plugins
This commit is contained in:
+1
-1
Submodule monero updated: 30e1cfecf5...1ed9d64c33
+1
-1
@@ -1719,7 +1719,7 @@ void MainWindow::onTxPoolBacklog(const QVector<quint64> &backlog, quint64 origin
|
|||||||
QString("There is a backlog of %1 blocks (≈ %2 minutes) in the transaction pool "
|
QString("There is a backlog of %1 blocks (≈ %2 minutes) in the transaction pool "
|
||||||
"at the maximum automatic fee level.\n\n"
|
"at the maximum automatic fee level.\n\n"
|
||||||
"Do you want to increase the fee for this transaction?")
|
"Do you want to increase the fee for this transaction?")
|
||||||
.arg(QString::number(backlog[1]), QString::number(backlog[1] * 2)));
|
.arg(QString::number(backlog[1]), QString::number(backlog[1] * 5)));
|
||||||
if (button == QMessageBox::Yes) {
|
if (button == QMessageBox::Yes) {
|
||||||
feeLevel = 3;
|
feeLevel = 3;
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -222,7 +222,7 @@ void SendWidget::sendClicked() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (unlocked_balance == 0) {
|
if (unlocked_balance == 0) {
|
||||||
Utils::showError(this, "Unable to create transaction", QString("No spendable balance.\n\n%1 WOW becomes spendable within 10 blocks (~20 minutes).").arg(WalletManager::displayAmount(total_balance - unlocked_balance)), {"Wait for more balance to unlock.", "Click 'Help' to learn more about how balance works."}, "balance");
|
Utils::showError(this, "Unable to create transaction", QString("No spendable balance.\n\n%1 WOW becomes spendable within 4 blocks (~20 minutes).").arg(WalletManager::displayAmount(total_balance - unlocked_balance)), {"Wait for more balance to unlock.", "Click 'Help' to learn more about how balance works."}, "balance");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -86,7 +86,7 @@ void Settings::setupAppearanceTab() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
// [Amount precision]
|
// [Amount precision]
|
||||||
for (int i = 0; i <= 12; i++) {
|
for (int i = 0; i <= 11; i++) {
|
||||||
ui->comboBox_amountPrecision->addItem(QString::number(i));
|
ui->comboBox_amountPrecision->addItem(QString::number(i));
|
||||||
}
|
}
|
||||||
ui->comboBox_amountPrecision->setCurrentIndex(conf()->get(Config::amountPrecision).toInt());
|
ui->comboBox_amountPrecision->setCurrentIndex(conf()->get(Config::amountPrecision).toInt());
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ BalanceDialog::BalanceDialog(QWidget *parent, Wallet *wallet)
|
|||||||
|
|
||||||
connect(m_wallet, &Wallet::balanceUpdated, this, &BalanceDialog::updateBalance);
|
connect(m_wallet, &Wallet::balanceUpdated, this, &BalanceDialog::updateBalance);
|
||||||
|
|
||||||
ui->label_unconfirmed_help->setHelpText("Unconfirmed balance", "Outputs require 10 confirmations before they become spendable. "
|
ui->label_unconfirmed_help->setHelpText("Unconfirmed balance", "Outputs require 4 confirmations before they become spendable. "
|
||||||
"This will take 20 minutes on average.", "balance");
|
"This will take 20 minutes on average.", "balance");
|
||||||
|
|
||||||
ui->label_unconfirmed->setFont(Utils::getMonospaceFont());
|
ui->label_unconfirmed->setFont(Utils::getMonospaceFont());
|
||||||
|
|||||||
@@ -139,7 +139,7 @@ void TxInfoDialog::setData(const TransactionRow &tx) {
|
|||||||
|
|
||||||
|
|
||||||
if (tx.confirmationsRequired() > tx.confirmations) {
|
if (tx.confirmationsRequired() > tx.confirmations) {
|
||||||
bool mandatoryLock = tx.confirmationsRequired() == 10;
|
bool mandatoryLock = tx.confirmationsRequired() == 4;
|
||||||
QString confsRequired = QString::number(tx.confirmationsRequired() - tx.confirmations);
|
QString confsRequired = QString::number(tx.confirmationsRequired() - tx.confirmations);
|
||||||
ui->label_lock->setText(QString("Lock: Outputs become spendable in %1 blocks (%2)").arg(confsRequired, mandatoryLock ? "consensus rule" : "specified by sender"));
|
ui->label_lock->setText(QString("Lock: Outputs become spendable in %1 blocks (%2)").arg(confsRequired, mandatoryLock ? "consensus rule" : "specified by sender"));
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ QString TransactionRow::displayFee() const
|
|||||||
|
|
||||||
quint64 TransactionRow::confirmationsRequired() const
|
quint64 TransactionRow::confirmationsRequired() const
|
||||||
{
|
{
|
||||||
return (blockHeight < unlockTime) ? unlockTime - blockHeight : 10;
|
return (blockHeight < unlockTime) ? unlockTime - blockHeight : 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
QString TransactionRow::date() const
|
QString TransactionRow::date() const
|
||||||
|
|||||||
+2
-2
@@ -372,13 +372,13 @@ bool portOpen(const QString &hostname, quint16 port) { // TODO: this call should
|
|||||||
quint16 getDefaultRpcPort(NetworkType::Type type) {
|
quint16 getDefaultRpcPort(NetworkType::Type type) {
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case NetworkType::Type::MAINNET:
|
case NetworkType::Type::MAINNET:
|
||||||
return 18081;
|
return 34568;
|
||||||
case NetworkType::Type::TESTNET:
|
case NetworkType::Type::TESTNET:
|
||||||
return 28081;
|
return 28081;
|
||||||
case NetworkType::Type::STAGENET:
|
case NetworkType::Type::STAGENET:
|
||||||
return 38081;
|
return 38081;
|
||||||
}
|
}
|
||||||
return 18081;
|
return 34568;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool isTorsocks() {
|
bool isTorsocks() {
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ static const QHash<Config::ConfigKey, ConfigDirective> configStrings = {
|
|||||||
{Config::pruneBlockchain,{QS("pruneBlockchain"), false}}, // full archival by default
|
{Config::pruneBlockchain,{QS("pruneBlockchain"), false}}, // full archival by default
|
||||||
{Config::wownerodPath,{QS("wownerodPath"), ""}}, // optional override; bundled by default
|
{Config::wownerodPath,{QS("wownerodPath"), ""}}, // optional override; bundled by default
|
||||||
{Config::broadcastOverTor,{QS("broadcastOverTor"), true}},// wowlet: --tx-proxy our txs through Tor (hide originating IP)
|
{Config::broadcastOverTor,{QS("broadcastOverTor"), true}},// wowlet: --tx-proxy our txs through Tor (hide originating IP)
|
||||||
{Config::amountPrecision, {QS("amountPrecision"), 12}},
|
{Config::amountPrecision, {QS("amountPrecision"), 11}},
|
||||||
{Config::dateFormat, {QS("dateFormat"), "yyyy-MM-dd"}},
|
{Config::dateFormat, {QS("dateFormat"), "yyyy-MM-dd"}},
|
||||||
{Config::timeFormat, {QS("timeFormat"), "HH:mm"}},
|
{Config::timeFormat, {QS("timeFormat"), "HH:mm"}},
|
||||||
{Config::balanceDisplay, {QS("balanceDisplay"), Config::BalanceDisplay::spendablePlusUnconfirmed}},
|
{Config::balanceDisplay, {QS("balanceDisplay"), Config::BalanceDisplay::spendablePlusUnconfirmed}},
|
||||||
@@ -124,7 +124,7 @@ static const QHash<Config::ConfigKey, ConfigDirective> configStrings = {
|
|||||||
{Config::useLocalTor, {QS("useLocalTor"), false}},
|
{Config::useLocalTor, {QS("useLocalTor"), false}},
|
||||||
{Config::initSyncThreshold, {QS("initSyncThreshold"), 360}},
|
{Config::initSyncThreshold, {QS("initSyncThreshold"), 360}},
|
||||||
|
|
||||||
{Config::enabledPlugins, {QS("enabledPlugins"), QStringList{"tickers", "crowdfunding", "revuo", "calc"}}},
|
{Config::enabledPlugins, {QS("enabledPlugins"), QStringList{"tickers", "calc"}}},
|
||||||
{Config::restartRequired, {QS("restartRequired"), false}},
|
{Config::restartRequired, {QS("restartRequired"), false}},
|
||||||
|
|
||||||
{Config::tickers, {QS("tickers"), QStringList{"WOW", "BTC", "WOW/BTC"}}},
|
{Config::tickers, {QS("tickers"), QStringList{"WOW", "BTC", "WOW/BTC"}}},
|
||||||
|
|||||||
+1
-1
@@ -60,7 +60,7 @@ struct FeatherNode {
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
if (url.port() == -1)
|
if (url.port() == -1)
|
||||||
url.setPort(18081);
|
url.setPort(34568);
|
||||||
};
|
};
|
||||||
|
|
||||||
int height;
|
int height;
|
||||||
|
|||||||
@@ -153,7 +153,7 @@ void NodeWidget::onCustomAddClicked(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool ok;
|
bool ok;
|
||||||
QString text = QInputDialog::getMultiLineText(this, "Add custom node(s).", "One node per line\nE.g: user:password@127.0.0.1:18081", currentNodesText, &ok);
|
QString text = QInputDialog::getMultiLineText(this, "Add custom node(s).", "One node per line\nE.g: user:password@127.0.0.1:34568", currentNodesText, &ok);
|
||||||
if (!ok || text.isEmpty()) {
|
if (!ok || text.isEmpty()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -111,7 +111,7 @@
|
|||||||
<item>
|
<item>
|
||||||
<widget class="QLabel" name="label_nodeDetected">
|
<widget class="QLabel" name="label_nodeDetected">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>wowlet detected a local node on port 18081.</string>
|
<string>wowlet detected a local node on port 34568.</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
@@ -178,10 +178,10 @@
|
|||||||
<item row="0" column="1">
|
<item row="0" column="1">
|
||||||
<widget class="QLineEdit" name="line_customNode">
|
<widget class="QLineEdit" name="line_customNode">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>127.0.0.1:18081</string>
|
<string>127.0.0.1:34568</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="placeholderText">
|
<property name="placeholderText">
|
||||||
<string>127.0.0.1:18081</string>
|
<string>127.0.0.1:34568</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
|||||||
Reference in New Issue
Block a user