Merge master
This commit is contained in:
@@ -10,14 +10,14 @@ Head over to the releases page and grab the latest installers or binary. https:/
|
|||||||
|
|
||||||
If you are on Debian/Ubuntu, please download the `.deb` package and install it.
|
If you are on Debian/Ubuntu, please download the `.deb` package and install it.
|
||||||
```
|
```
|
||||||
sudo dpkg -i linux-deb-zec-qt-wallet-v0.5.7.deb
|
sudo dpkg -i linux-deb-zec-qt-wallet-v0.5.10.deb
|
||||||
sudo apt install -f
|
sudo apt install -f
|
||||||
```
|
```
|
||||||
|
|
||||||
Or you can download and run the binaries directly.
|
Or you can download and run the binaries directly.
|
||||||
```
|
```
|
||||||
tar -xvf zec-qt-wallet-v0.5.7.tar.gz
|
tar -xvf zec-qt-wallet-v0.5.10.tar.gz
|
||||||
./zec-qt-wallet-v0.5.7/zec-qt-wallet
|
./zec-qt-wallet-v0.5.10/zec-qt-wallet
|
||||||
```
|
```
|
||||||
|
|
||||||
### Windows
|
### Windows
|
||||||
|
|||||||
52
public_key.asc
Normal file
52
public_key.asc
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||||
|
|
||||||
|
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
|
||||||
|
8/k3fH5u794KFQQ3WbeHVoJ4mXI4RsQ=
|
||||||
|
=lY99
|
||||||
|
-----END PGP PUBLIC KEY BLOCK-----
|
||||||
13
res/SIGNATURES_README
Normal file
13
res/SIGNATURES_README
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
This directory contains the hashes and signatures for zec-qt-wallet
|
||||||
|
|
||||||
|
Verify the hashes by running:
|
||||||
|
sha256sum -c sha256sum-vX.Y.Z.txt
|
||||||
|
|
||||||
|
Verify signatures:
|
||||||
|
1. First, import the public key (Available on github
|
||||||
|
at https://github.com/ZcashFoundation/zec-qt-wallet/blob/master/public_key.asc)
|
||||||
|
gpg --import public_key.asc
|
||||||
|
|
||||||
|
2. Verify signature
|
||||||
|
gpg --verify <filename.sig> <downloaded-filename-to-verify>
|
||||||
|
|
||||||
@@ -3,6 +3,7 @@
|
|||||||
#include "ui_mainwindow.h"
|
#include "ui_mainwindow.h"
|
||||||
#include "settings.h"
|
#include "settings.h"
|
||||||
#include "mainwindow.h"
|
#include "mainwindow.h"
|
||||||
|
#include "rpc.h"
|
||||||
|
|
||||||
|
|
||||||
AddressBookModel::AddressBookModel(QTableView *parent)
|
AddressBookModel::AddressBookModel(QTableView *parent)
|
||||||
@@ -221,6 +222,9 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) {
|
|||||||
fnSetTargetLabelAddr(target, item.first, item.second);
|
fnSetTargetLabelAddr(target, item.first, item.second);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Refresh after the dialog is closed to update the labels everywhere.
|
||||||
|
parent->getRPC()->refresh(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
//=============
|
//=============
|
||||||
|
|||||||
@@ -700,10 +700,6 @@ void MainWindow::doImport(QList<QString>* keys) {
|
|||||||
|
|
||||||
if (keys->isEmpty()) {
|
if (keys->isEmpty()) {
|
||||||
delete keys;
|
delete keys;
|
||||||
|
|
||||||
QMessageBox::information(this,
|
|
||||||
"Imported", tr("The keys were imported. It may take several minutes to rescan the blockchain. Until then, functionality may be limited"),
|
|
||||||
QMessageBox::Ok);
|
|
||||||
ui->statusBar->showMessage(tr("Private key import rescan finished"));
|
ui->statusBar->showMessage(tr("Private key import rescan finished"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -836,7 +832,12 @@ void MainWindow::importPrivKey() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
// Start the import. The function takes ownership of keys
|
// Start the import. The function takes ownership of keys
|
||||||
doImport(keys);
|
QTimer::singleShot(1, [=]() {doImport(keys);});
|
||||||
|
|
||||||
|
// Show the dialog that keys will be imported.
|
||||||
|
QMessageBox::information(this,
|
||||||
|
"Imported", tr("The keys were imported. It may take several minutes to rescan the blockchain. Until then, functionality may be limited"),
|
||||||
|
QMessageBox::Ok);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ Exec=/usr/local/bin/zec-qt-wallet
|
|||||||
Icon=zec-qt-wallet.xpm
|
Icon=zec-qt-wallet.xpm
|
||||||
Type=Application
|
Type=Application
|
||||||
StartupNotify=true
|
StartupNotify=true
|
||||||
StartupWMClass=Code
|
StartupWMClass=zecqtwallet
|
||||||
Categories=Utility;
|
Categories=Utility;
|
||||||
MimeType=text/plain;inode/directory;
|
MimeType=text/plain;inode/directory;
|
||||||
Keywords=zec-qt-wallet;
|
Keywords=zec-qt-wallet;
|
||||||
|
|||||||
@@ -61,7 +61,9 @@ ssh $winserver "New-Item zqwbuild -itemtype directory" | Out-Null
|
|||||||
# Same while copying the built msi. A straight scp pull from windows to here doesn't work,
|
# Same while copying the built msi. A straight scp pull from windows to here doesn't work,
|
||||||
# so we ssh to windows, and then scp push the file to here.
|
# so we ssh to windows, and then scp push the file to here.
|
||||||
$myhostname = (hostname) | Out-String -NoNewline
|
$myhostname = (hostname) | Out-String -NoNewline
|
||||||
Remove-Item -Path /tmp/zqwbuild -Recurse -ErrorAction Ignore | Out-Null
|
# Powershell seems not to be able to remove this directory for some reason!
|
||||||
|
# Remove-Item -Path /tmp/zqwbuild -Recurse -ErrorAction Ignore | Out-Null
|
||||||
|
bash "rm -rf /tmp/zqwbuild" 2>&1 | Out-Null
|
||||||
New-Item -Path /tmp/zqwbuild -itemtype directory | Out-Null
|
New-Item -Path /tmp/zqwbuild -itemtype directory | Out-Null
|
||||||
Copy-Item src /tmp/zqwbuild/ -Recurse
|
Copy-Item src /tmp/zqwbuild/ -Recurse
|
||||||
Copy-Item res /tmp/zqwbuild/ -Recurse
|
Copy-Item res /tmp/zqwbuild/ -Recurse
|
||||||
@@ -87,3 +89,7 @@ if (! (Test-Path ./artifacts/linux-binaries-zec-qt-wallet-v$version.tar.gz) -or
|
|||||||
exit 1;
|
exit 1;
|
||||||
}
|
}
|
||||||
Write-Host "[OK]"
|
Write-Host "[OK]"
|
||||||
|
|
||||||
|
Write-Host -NoNewline "Signing Binaries......"
|
||||||
|
bash src/scripts/signbinaries.sh --version $version
|
||||||
|
Write-Host "[OK]"
|
||||||
|
|||||||
50
src/scripts/signbinaries.sh
Executable file
50
src/scripts/signbinaries.sh
Executable file
@@ -0,0 +1,50 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Accept the variables as command line arguments as well
|
||||||
|
POSITIONAL=()
|
||||||
|
while [[ $# -gt 0 ]]
|
||||||
|
do
|
||||||
|
key="$1"
|
||||||
|
|
||||||
|
case $key in
|
||||||
|
-v|--version)
|
||||||
|
APP_VERSION="$2"
|
||||||
|
shift # past argument
|
||||||
|
shift # past value
|
||||||
|
;;
|
||||||
|
*) # unknown option
|
||||||
|
POSITIONAL+=("$1") # save it in an array for later
|
||||||
|
shift # past argument
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
set -- "${POSITIONAL[@]}" # restore positional parameters
|
||||||
|
|
||||||
|
if [ -z $APP_VERSION ]; then echo "APP_VERSION is not set"; exit 1; fi
|
||||||
|
|
||||||
|
# Store the hash and signatures here
|
||||||
|
rm -rf release/signatures
|
||||||
|
mkdir -p release/signatures
|
||||||
|
|
||||||
|
cd artifacts
|
||||||
|
echo "[Signing Binaries]"
|
||||||
|
|
||||||
|
# Remove previous signatures/hashes
|
||||||
|
rm -f sha256sum-v$APP_VERSION.txt
|
||||||
|
rm -f signatures-v$APP_VERSION.tar.gz
|
||||||
|
|
||||||
|
# sha256sum the binaries
|
||||||
|
gsha256sum *$APP_VERSION* > sha256sum-v$APP_VERSION.txt
|
||||||
|
|
||||||
|
for i in $( ls *zec-qt-wallet-v$APP_VERSION* sha256sum-v$APP_VERSION* ); do
|
||||||
|
echo "Signing" $i
|
||||||
|
gpg --batch --output ../release/signatures/$i.sig --detach-sig $i
|
||||||
|
done
|
||||||
|
|
||||||
|
mv sha256sum-v$APP_VERSION.txt ../release/signatures/
|
||||||
|
cp ../res/SIGNATURES_README ../release/signatures/README
|
||||||
|
|
||||||
|
cd ../release/signatures
|
||||||
|
tar -czf signatures-v$APP_VERSION.tar.gz *
|
||||||
|
mv signatures-v$APP_VERSION.tar.gz ../../artifacts
|
||||||
|
|
||||||
@@ -12,8 +12,7 @@ using json = nlohmann::json;
|
|||||||
|
|
||||||
void MainWindow::setupSendTab() {
|
void MainWindow::setupSendTab() {
|
||||||
// Create the validator for send to/amount fields
|
// Create the validator for send to/amount fields
|
||||||
auto amtValidator = new QDoubleValidator(0, 21000000, 8, ui->Amount1);
|
auto amtValidator = new QRegExpValidator(QRegExp("[0-9]{0,8}\\.?[0-9]{0,8}"));
|
||||||
amtValidator->setNotation(QDoubleValidator::StandardNotation);
|
|
||||||
ui->Amount1->setValidator(amtValidator);
|
ui->Amount1->setValidator(amtValidator);
|
||||||
|
|
||||||
// Send button
|
// Send button
|
||||||
@@ -74,8 +73,7 @@ void MainWindow::setupSendTab() {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
//Fees validator
|
//Fees validator
|
||||||
auto feesValidator = new QDoubleValidator(0, 1, 8, ui->Amount1);
|
auto feesValidator = new QRegExpValidator(QRegExp("[0-9]{0,8}\\.?[0-9]{0,8}"));
|
||||||
feesValidator->setNotation(QDoubleValidator::StandardNotation);
|
|
||||||
ui->minerFeeAmt->setValidator(feesValidator);
|
ui->minerFeeAmt->setValidator(feesValidator);
|
||||||
|
|
||||||
// Font for the first Memo label
|
// Font for the first Memo label
|
||||||
@@ -219,8 +217,9 @@ void MainWindow::addAddressSection() {
|
|||||||
Amount1->setPlaceholderText(tr("Amount"));
|
Amount1->setPlaceholderText(tr("Amount"));
|
||||||
Amount1->setObjectName(QString("Amount") % QString::number(itemNumber));
|
Amount1->setObjectName(QString("Amount") % QString::number(itemNumber));
|
||||||
Amount1->setBaseSize(QSize(200, 0));
|
Amount1->setBaseSize(QSize(200, 0));
|
||||||
|
Amount1->setAlignment(Qt::AlignRight);
|
||||||
// Create the validator for send to/amount fields
|
// Create the validator for send to/amount fields
|
||||||
auto amtValidator = new QDoubleValidator(0, 21000000, 8, Amount1);
|
auto amtValidator = new QRegExpValidator(QRegExp("[0-9]{0,8}\\.?[0-9]{0,8}"));
|
||||||
Amount1->setValidator(amtValidator);
|
Amount1->setValidator(amtValidator);
|
||||||
QObject::connect(Amount1, &QLineEdit::textChanged, [=] (auto text) {
|
QObject::connect(Amount1, &QLineEdit::textChanged, [=] (auto text) {
|
||||||
this->amountChanged(itemNumber, text);
|
this->amountChanged(itemNumber, text);
|
||||||
|
|||||||
Reference in New Issue
Block a user