Skip to content

Commit 89b0094

Browse files
Add the batch of release v3.4.1 commits
1 parent 5490fb4 commit 89b0094

26 files changed

+423
-281
lines changed

.gitignore

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
build/
2+
bin/
3+
Windows Installer/Debug/
4+
Windows Installer/Release/
5+
Windows Installer/.vs/
6+
7+
build-bytecoin-gui*
8+
9+
*~
10+
CMakeLists.txt.user*
11+
*.pro.user
12+
13+
# Mac specific
14+
.DS_Store

ReleaseNotes.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,14 @@
11
## Release Notes
22

3+
### v3.4.1
4+
5+
- Fixed creating Amethyst wallets.
6+
- Added support of the new format of sendproofs.
7+
- Fixed mnemonic export.
8+
- Added an option that view-only wallets can detect outgoing addresses.
9+
- Made minor improvements and bug fixes.
10+
- Update the Bytecoin daemons.
11+
312
### v3.4.0
413

514
- Updated the Bytecoin daemons.
@@ -11,7 +20,7 @@
1120

1221
### v3.4.0-beta-20181212
1322

14-
- Added HD wallets (BIP 39) support.
23+
- Added support of deterministic wallets (BIP 39).
1524
- Improved `walletd` parameters dialog box.
1625
- Added stagenet/testnet support.
1726
- Improved external nodes support.

Windows Installer/Installer.vdproj

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1509,23 +1509,23 @@
15091509
{
15101510
"Name" = "8:Microsoft Visual Studio"
15111511
"ProductName" = "8:Bytecoin"
1512-
"ProductCode" = "8:{D9F64938-1870-4947-B9C0-0A3A3543D4C1}"
1513-
"PackageCode" = "8:{E196DC0A-E9C1-4999-B8B9-EB0E847C0C7E}"
1512+
"ProductCode" = "8:{D9D78741-9E49-49BB-A310-DCAC6CBF5F42}"
1513+
"PackageCode" = "8:{77284CC6-1E09-453C-AA55-B6F04240B8F8}"
15141514
"UpgradeCode" = "8:{DC5C7D60-BB08-4B97-B634-E87679CCEB3C}"
15151515
"AspNetVersion" = "8:"
15161516
"RestartWWWService" = "11:FALSE"
15171517
"RemovePreviousVersions" = "11:TRUE"
15181518
"DetectNewerInstalledVersion" = "11:TRUE"
15191519
"InstallAllUsers" = "11:FALSE"
1520-
"ProductVersion" = "8:19.2.7"
1520+
"ProductVersion" = "8:19.3.7"
15211521
"Manufacturer" = "8:Bytecoin Developers"
15221522
"ARPHELPTELEPHONE" = "8:"
15231523
"ARPHELPLINK" = "8:"
1524-
"Title" = "8:Bytecoin 3.4.0 Installer"
1524+
"Title" = "8:Bytecoin 3.4.1 Installer"
15251525
"Subject" = "8:"
15261526
"ARPCONTACT" = "8:Bytecoin Developers"
15271527
"Keywords" = "8:"
1528-
"ARPCOMMENTS" = "8:Release version of bytecoin from 07 Feb 2019"
1528+
"ARPCOMMENTS" = "8:Release version of bytecoin from 07 Mar 2019"
15291529
"ARPURLINFOABOUT" = "8:https://bytecoin.org"
15301530
"ARPPRODUCTICON" = "8:_ABCF8F071D16461785EDF6D56ED2ABCE"
15311531
"ARPIconIndex" = "3:0"
@@ -1732,7 +1732,7 @@
17321732
"ContextData" = "8:"
17331733
"Attributes" = "3:0"
17341734
"Setting" = "3:2"
1735-
"Value" = "8:Release version 3.4.0 of bytecoin core and GUI wallet from 2019/02/07."
1735+
"Value" = "8:Release version 3.4.1 of bytecoin core and GUI wallet from 2019/03/07."
17361736
"DefaultValue" = "8:#1202"
17371737
"UsePlugInResources" = "11:TRUE"
17381738
}
@@ -1971,7 +1971,7 @@
19711971
"ContextData" = "8:"
19721972
"Attributes" = "3:0"
19731973
"Setting" = "3:2"
1974-
"Value" = "8:Release version 3.4.0 of bytecoin core and GUI wallet from 2019/02/07."
1974+
"Value" = "8:Release version 3.4.1 of bytecoin core and GUI wallet from 2019/03/07."
19751975
"DefaultValue" = "8:#1202"
19761976
"UsePlugInResources" = "11:TRUE"
19771977
}

Windows Installer/Installer32.vdproj

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1509,23 +1509,23 @@
15091509
{
15101510
"Name" = "8:Microsoft Visual Studio"
15111511
"ProductName" = "8:Bytecoin"
1512-
"ProductCode" = "8:{DA38A8D0-775E-44E3-99E3-49E710DC16DF}"
1513-
"PackageCode" = "8:{2403EAD2-3C56-444C-818F-C137F08B6276}"
1512+
"ProductCode" = "8:{336C0B6E-746C-4E6C-B776-193FC0A89199}"
1513+
"PackageCode" = "8:{7DCA49C7-9527-4210-B6A8-1633F81F6BF4}"
15141514
"UpgradeCode" = "8:{DC5C7D60-BB08-4B97-B634-E87679CCEB3C}"
15151515
"AspNetVersion" = "8:"
15161516
"RestartWWWService" = "11:FALSE"
15171517
"RemovePreviousVersions" = "11:TRUE"
15181518
"DetectNewerInstalledVersion" = "11:TRUE"
15191519
"InstallAllUsers" = "11:FALSE"
1520-
"ProductVersion" = "8:19.2.7"
1520+
"ProductVersion" = "8:19.3.7"
15211521
"Manufacturer" = "8:Bytecoin Developers"
15221522
"ARPHELPTELEPHONE" = "8:"
15231523
"ARPHELPLINK" = "8:"
1524-
"Title" = "8:32-bit Bytecoin 3.4.0 Installer"
1524+
"Title" = "8:32-bit Bytecoin 3.4.1 Installer"
15251525
"Subject" = "8:"
15261526
"ARPCONTACT" = "8:Bytecoin Developers"
15271527
"Keywords" = "8:"
1528-
"ARPCOMMENTS" = "8:32-bit release version of bytecoin from 07 Feb 2019"
1528+
"ARPCOMMENTS" = "8:32-bit release version of bytecoin from 07 Mar 2019"
15291529
"ARPURLINFOABOUT" = "8:https://bytecoin.org"
15301530
"ARPPRODUCTICON" = "8:_A84FAE3CB14C4108B5D13DF9AD54E661"
15311531
"ARPIconIndex" = "3:0"
@@ -1732,7 +1732,7 @@
17321732
"ContextData" = "8:"
17331733
"Attributes" = "3:0"
17341734
"Setting" = "3:2"
1735-
"Value" = "8:32-bit release version 3.4.0 of bytecoin core and GUI wallet from 2019/02/07."
1735+
"Value" = "8:32-bit release version 3.4.1 of bytecoin core and GUI wallet from 2019/03/07."
17361736
"DefaultValue" = "8:#1202"
17371737
"UsePlugInResources" = "11:TRUE"
17381738
}
@@ -1971,7 +1971,7 @@
19711971
"ContextData" = "8:"
19721972
"Attributes" = "3:0"
19731973
"Setting" = "3:2"
1974-
"Value" = "8:32-bit release version 3.4.0 of bytecoin core and GUI wallet from 2019/02/07."
1974+
"Value" = "8:32-bit release version 3.4.1 of bytecoin core and GUI wallet from 2019/03/07."
19751975
"DefaultValue" = "8:#1202"
19761976
"UsePlugInResources" = "11:TRUE"
19771977
}

src/application.cpp

Lines changed: 23 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -408,7 +408,7 @@ void WalletApplication::openWallet(QWidget* parent)
408408
parent,
409409
tr("Open wallet file"),
410410
QDir::homePath(),
411-
tr("Wallet files (*.wallet);;All files (*)"));
411+
tr("All files (*);;Wallet files (*.wallet)"));
412412
if (fileName.isEmpty())
413413
return;
414414

@@ -530,26 +530,30 @@ void WalletApplication::requestWalletdAuth(QAuthenticator* authenticator)
530530
}
531531
}
532532

533-
void WalletApplication::createProof(const QString& txHash, bool needToFind)
533+
void WalletApplication::createProof(const QString& txHash, const QStringList& addresses, bool /*needToFind*/)
534534
{
535-
QStringList addresses;
535+
// QStringList addresses;
536+
// if (needToFind)
537+
// {
538+
// QStringList addresses_from_address_book;
539+
// QuestionDialog qdlg{tr("Question"), tr("Cannot find history for the selected transaction.\nDo you want to try to find appropriate addresses in your address book?"), m_mainWindow};
540+
// if (qdlg.exec() != QDialog::Accepted)
541+
// return;
542+
// for (auto i = addressBookManager_->getAddressCount() - 1; i >= 0; --i)
543+
// addresses_from_address_book.append(addressBookManager_->getAddress(i).address);
544+
// addresses = addresses_from_address_book;
545+
// }
546+
// else
547+
// addresses = tx_addresses;
536548

537-
if (needToFind)
538-
{
539-
QuestionDialog qdlg{tr("Question"), tr("Cannot find history for the selected transaction.\nDo you want to try to find appropriate addresses in your address book?"), m_mainWindow};
540-
if (qdlg.exec() != QDialog::Accepted)
541-
return;
542-
for (auto i = addressBookManager_->getAddressCount() - 1; i >= 0; --i)
543-
addresses.append(addressBookManager_->getAddress(i).address);
544-
}
549+
CreateProofDialog dlg{txHash, addresses, m_mainWindow};
545550

546-
CreateProofDialog dlg{txHash, m_mainWindow};
547551

548552
connect(&dlg, &CreateProofDialog::generateProofSignal,
549553
this,
550-
[this, &addresses](const QString& txHash, const QString& message)
554+
[this](const QString& txHash, const QString& address, const QString& message)
551555
{
552-
sendCreateProof(txHash, message, addresses);
556+
sendCreateProof(txHash, message, QStringList{address});
553557
});
554558

555559
connect(walletd_, &RemoteWalletd::proofsReceivedSignal,
@@ -570,7 +574,7 @@ void WalletApplication::checkProof()
570574
&dlg,
571575
[&dlg](const RpcApi::ProofCheck& check)
572576
{
573-
dlg.showCheckResult(check.validation_error);
577+
dlg.showCheckResult(check);
574578
});
575579
dlg.exec();
576580
}
@@ -585,14 +589,14 @@ void WalletApplication::showWalletdParams()
585589
dlg.exec();
586590
}
587591

588-
void WalletApplication::exportViewOnlyKeys()
592+
void WalletApplication::exportViewOnlyKeys(bool isAmethyst)
589593
{
590-
emit exportViewOnlyKeysSignal(m_mainWindow, QPrivateSignal{});
594+
emit exportViewOnlyKeysSignal(m_mainWindow, isAmethyst, QPrivateSignal{});
591595
}
592596

593-
void WalletApplication::exportKeys()
597+
void WalletApplication::exportKeys(bool isAmethyst)
594598
{
595-
emit exportKeysSignal(m_mainWindow, QPrivateSignal{});
599+
emit exportKeysSignal(m_mainWindow, isAmethyst, QPrivateSignal{});
596600
}
597601

598602
void WalletApplication::checkForUpdate()

src/application.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -67,14 +67,14 @@ class WalletApplication: public QApplication
6767
void builtinRunSignal();
6868
void remoteConnectedSignal();
6969
void createWalletdSignal(QPrivateSignal);
70-
void exportViewOnlyKeysSignal(QWidget* parent/*, const QString& exportPath*/, QPrivateSignal);
71-
void exportKeysSignal(QWidget* parent, QPrivateSignal);
70+
void exportViewOnlyKeysSignal(QWidget* parent, bool isAmethyst/*, const QString& exportPath*/, QPrivateSignal);
71+
void exportKeysSignal(QWidget* parent, bool isAmethyst, QPrivateSignal);
7272
void updateIsReadySignal(const QString& newVersion);
7373

7474
public slots:
7575
void createTx(const RpcApi::CreateTransaction::Request& req);
7676
void sendTx(const RpcApi::SendTransaction::Request& req);
77-
void createProof(const QString& txHash, bool needToFind);
77+
void createProof(const QString& txHash, const QStringList& tx_addresses, bool needToFind);
7878
void sendCreateProof(const QString& txHash, const QString& message, const QStringList& addresses);
7979
void checkProof();
8080
void sendCheckProof(const QString& proof);
@@ -94,8 +94,8 @@ public slots:
9494

9595
void splashMsg(const QString& msg);
9696

97-
void exportViewOnlyKeys();
98-
void exportKeys();
97+
void exportViewOnlyKeys(bool isAmethyst);
98+
void exportKeys(bool isAmethyst);
9999

100100
private slots:
101101
void connectedToWalletd();

src/bytecoin-gui.pro

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ TEMPLATE = app
1515
macx: QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.11
1616
macx: ICON = images/bytecoin.icns
1717
win32: RC_ICONS = images/bytecoin.ico
18-
win32: VERSION = 3.19.2.7
18+
win32: VERSION = 3.19.3.7
1919

2020
#QMAKE_CXXFLAGS += -fno-omit-frame-pointer -fsanitize=address,undefined
2121
#LIBS += -lasan -lubsan

src/checkproofdialog.cpp

Lines changed: 33 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77

88
#include "checkproofdialog.h"
99
#include "ui_checkproofdialog.h"
10-
#include "rpcapi.h"
1110
#include "common.h"
1211

1312
namespace WalletGUI
@@ -45,42 +44,48 @@ void CheckProofDialog::proofChanged()
4544

4645
clear();
4746

48-
const QString proofString = ui->proofEdit->toPlainText();
49-
const QByteArray proofBytes = proofString.toLatin1();
50-
51-
QJsonParseError parseError;
52-
QJsonDocument jsonDocument = QJsonDocument::fromJson(proofBytes, &parseError);
53-
if (parseError.error != QJsonParseError::NoError)
54-
{
55-
ui->resultLabel->setText(QString("<b><font color='red'>%1</font></b>").arg(tr("The entered text is not a valid JSON object")));
56-
return;
57-
}
58-
59-
if (!jsonDocument.isObject())
60-
{
61-
ui->resultLabel->setText(QString("<b><font color='red'>%1</font></b>").arg(tr("The entered text is not a valid JSON object")));
62-
return;
63-
}
64-
const QJsonObject json = jsonDocument.object();
65-
const RpcApi::Proof proof = RpcApi::Proof::fromJson(json.toVariantMap());
66-
67-
ui->messageLabel->setText(proof.message);
68-
ui->amountLabel->setText(formatAmount(proof.amount) + " BCN");
69-
ui->addressLabel->setText(proof.address);
70-
ui->txHashLabel->setText(proof.transaction_hash);
47+
// const QString proofString = ui->proofEdit->toPlainText();
48+
// const QByteArray proofBytes = proofString.toLatin1();
49+
50+
// QJsonParseError parseError;
51+
// QJsonDocument jsonDocument = QJsonDocument::fromJson(proofBytes, &parseError);
52+
// if (parseError.error != QJsonParseError::NoError)
53+
// {
54+
// ui->resultLabel->setText(QString("<b><font color='red'>%1</font></b>").arg(tr("The entered text is not a valid JSON object")));
55+
// return;
56+
// }
57+
58+
// if (!jsonDocument.isObject())
59+
// {
60+
// ui->resultLabel->setText(QString("<b><font color='red'>%1</font></b>").arg(tr("The entered text is not a valid JSON object")));
61+
// return;
62+
// }
63+
// const QJsonObject json = jsonDocument.object();
64+
// const RpcApi::Proof proof = RpcApi::Proof::fromJson(json.toVariantMap());
65+
66+
// ui->messageLabel->setText(proof.message);
67+
// ui->amountLabel->setText(formatAmount(proof.amount) + " BCN");
68+
// ui->addressLabel->setText(proof.address);
69+
// ui->txHashLabel->setText(proof.transaction_hash);
7170
}
7271

7372
void CheckProofDialog::checkProof()
7473
{
7574
emit checkProofSignal(ui->proofEdit->toPlainText());
7675
}
7776

78-
void CheckProofDialog::showCheckResult(const QString& result)
77+
void CheckProofDialog::showCheckResult(const RpcApi::ProofCheck& result)
7978
{
80-
if (result.isEmpty())
81-
ui->resultLabel->setText(QString("<b><font color='green'>%1</font></b>").arg(tr("The proof is correct!")));
79+
if (!result.validation_error.isEmpty())
80+
ui->resultLabel->setText(QString("<b><font color='red'>%1</font></b>").arg(result.validation_error));
8281
else
83-
ui->resultLabel->setText(QString("<b><font color='red'>%1</font></b>").arg(result));
82+
{
83+
ui->resultLabel->setText(QString("<b><font color='green'>%1</font></b>").arg(tr("The proof is correct!")));
84+
ui->messageLabel->setText(result.message);
85+
ui->amountLabel->setText(formatAmount(result.amount) + " BCN");
86+
ui->addressLabel->setText(result.address);
87+
ui->txHashLabel->setText(result.transaction_hash);
88+
}
8489
}
8590

8691
}

src/checkproofdialog.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
#define CHECKPROOFDIALOG_H
66

77
#include <QDialog>
8+
#include "rpcapi.h"
89

910
namespace Ui {
1011
class CheckProofDialog;
@@ -22,7 +23,7 @@ class CheckProofDialog : public QDialog
2223
~CheckProofDialog();
2324

2425
public slots:
25-
void showCheckResult(const QString& result);
26+
void showCheckResult(const RpcApi::ProofCheck& result);
2627

2728
signals:
2829
void checkProofSignal(const QString& proof);

0 commit comments

Comments
 (0)