zcl-ify
This commit is contained in:
parent
be6ff50614
commit
27b1373595
|
@ -26,5 +26,5 @@ bin/
|
||||||
electrum_data/
|
electrum_data/
|
||||||
gui/kivy/theming/light-0.png
|
gui/kivy/theming/light-0.png
|
||||||
gui/kivy/theming/light.atlas
|
gui/kivy/theming/light.atlas
|
||||||
Electrum_Zcash.egg-info/
|
Electrum_Zclassic.egg-info/
|
||||||
.pytest_cache
|
.pytest_cache
|
||||||
|
|
20
.travis.yml
20
.travis.yml
|
@ -22,9 +22,9 @@ matrix:
|
||||||
os: linux
|
os: linux
|
||||||
python: "3.6"
|
python: "3.6"
|
||||||
before_install:
|
before_install:
|
||||||
- source contrib/zcash/travis/electrum_zcash_version_env.sh
|
- source contrib/zclassic/travis/electrum_zclassic_version_env.sh
|
||||||
- echo electrum-zcash version is $ELECTRUM_ZCASH_VERSION
|
- echo electrum-zclassic version is $ELECTRUM_ZCL_VERSION
|
||||||
- mkdir -p build && cp contrib/zcash/travis/* ./build/
|
- mkdir -p build && cp contrib/zclassic/travis/* ./build/
|
||||||
- if [[ -n $TRAVIS_TAG ]] && [[ $TRAVIS_OS_NAME == 'osx' ]]; then
|
- if [[ -n $TRAVIS_TAG ]] && [[ $TRAVIS_OS_NAME == 'osx' ]]; then
|
||||||
./build/before_install-osx.sh;
|
./build/before_install-osx.sh;
|
||||||
fi
|
fi
|
||||||
|
@ -56,20 +56,20 @@ deploy:
|
||||||
api_key:
|
api_key:
|
||||||
secure: G+TcxPJSQQ2bTNhkTX4aofnsiNFrzbuFTGty/+jIKDb/IQ69etXS9Ulu8KGD71VjEdXugFWdus+2a8fFSCSg79+AvrSxKa1ztXQ2q6tmovRkUcnF5Bkbc+ORLm3+FMZhonvMg+MLnHS3hnvJL/CZU0Pn2dkfODn7/t+MsGs99MN0G44qimq+FCu+YHaKVcGgiTs1I6nextIH+lnPw5qE6VxTQKdFp4PTHqY1qZJWamReVvtyMnfGpa+QwcKf43dXzZrHMLfFprfzEi1DExrhRi0a8RZlFWmAtkwH9zzJXzqOEmivniLfeALJzWkBJG4I2Fu7QSQhvPllhnt5uGdV3pgmHZUxL1DZckrqVG5b6P/Cnmbu0hWXbkPpZ7sXQ4X7wGhAVgH2sRPF1SfE9XvqDsmKvpspdKGmI+9yKoaWekbt8igfJ8jRBK4yRJAt+F/waeXkj7HJhSPIYg9wNvYCnCmoih4brRcTE4nyJBo/ySY3DVocflS3QGoClOrBpwXGgzwaUzBamRhJeCUe9ockPJyUs9DkuBIdsPfhq0nZfZFMhNBtpzm1hPGE92NojUi+DcI12WqweUqDWZzY/02MmfHLeN6mGgjTWvgOwnq1fvc6s7sVy7nANtA6UseWF2KUBYfuMKAxTU4WadpZ102znz4XiL4B7TILKJMU+Ht+a+c=
|
secure: G+TcxPJSQQ2bTNhkTX4aofnsiNFrzbuFTGty/+jIKDb/IQ69etXS9Ulu8KGD71VjEdXugFWdus+2a8fFSCSg79+AvrSxKa1ztXQ2q6tmovRkUcnF5Bkbc+ORLm3+FMZhonvMg+MLnHS3hnvJL/CZU0Pn2dkfODn7/t+MsGs99MN0G44qimq+FCu+YHaKVcGgiTs1I6nextIH+lnPw5qE6VxTQKdFp4PTHqY1qZJWamReVvtyMnfGpa+QwcKf43dXzZrHMLfFprfzEi1DExrhRi0a8RZlFWmAtkwH9zzJXzqOEmivniLfeALJzWkBJG4I2Fu7QSQhvPllhnt5uGdV3pgmHZUxL1DZckrqVG5b6P/Cnmbu0hWXbkPpZ7sXQ4X7wGhAVgH2sRPF1SfE9XvqDsmKvpspdKGmI+9yKoaWekbt8igfJ8jRBK4yRJAt+F/waeXkj7HJhSPIYg9wNvYCnCmoih4brRcTE4nyJBo/ySY3DVocflS3QGoClOrBpwXGgzwaUzBamRhJeCUe9ockPJyUs9DkuBIdsPfhq0nZfZFMhNBtpzm1hPGE92NojUi+DcI12WqweUqDWZzY/02MmfHLeN6mGgjTWvgOwnq1fvc6s7sVy7nANtA6UseWF2KUBYfuMKAxTU4WadpZ102znz4XiL4B7TILKJMU+Ht+a+c=
|
||||||
file:
|
file:
|
||||||
- build/electrum-zcash/dist/electrum-zcash-$ELECTRUM_ZCASH_VERSION-macosx.dmg
|
- build/electrum-zclassic/dist/electrum-zclassic-$ELECTRUM_ZCL_VERSION-macosx.dmg
|
||||||
on:
|
on:
|
||||||
repo: zebra-lucky/electrum-zcash
|
repo: zebra-lucky/electrum-zclassic
|
||||||
tags: true
|
tags: true
|
||||||
condition: "$TRAVIS_OS_NAME = osx"
|
condition: "$TRAVIS_OS_NAME = osx"
|
||||||
- provider: releases
|
- provider: releases
|
||||||
api_key:
|
api_key:
|
||||||
secure: G+TcxPJSQQ2bTNhkTX4aofnsiNFrzbuFTGty/+jIKDb/IQ69etXS9Ulu8KGD71VjEdXugFWdus+2a8fFSCSg79+AvrSxKa1ztXQ2q6tmovRkUcnF5Bkbc+ORLm3+FMZhonvMg+MLnHS3hnvJL/CZU0Pn2dkfODn7/t+MsGs99MN0G44qimq+FCu+YHaKVcGgiTs1I6nextIH+lnPw5qE6VxTQKdFp4PTHqY1qZJWamReVvtyMnfGpa+QwcKf43dXzZrHMLfFprfzEi1DExrhRi0a8RZlFWmAtkwH9zzJXzqOEmivniLfeALJzWkBJG4I2Fu7QSQhvPllhnt5uGdV3pgmHZUxL1DZckrqVG5b6P/Cnmbu0hWXbkPpZ7sXQ4X7wGhAVgH2sRPF1SfE9XvqDsmKvpspdKGmI+9yKoaWekbt8igfJ8jRBK4yRJAt+F/waeXkj7HJhSPIYg9wNvYCnCmoih4brRcTE4nyJBo/ySY3DVocflS3QGoClOrBpwXGgzwaUzBamRhJeCUe9ockPJyUs9DkuBIdsPfhq0nZfZFMhNBtpzm1hPGE92NojUi+DcI12WqweUqDWZzY/02MmfHLeN6mGgjTWvgOwnq1fvc6s7sVy7nANtA6UseWF2KUBYfuMKAxTU4WadpZ102znz4XiL4B7TILKJMU+Ht+a+c=
|
secure: G+TcxPJSQQ2bTNhkTX4aofnsiNFrzbuFTGty/+jIKDb/IQ69etXS9Ulu8KGD71VjEdXugFWdus+2a8fFSCSg79+AvrSxKa1ztXQ2q6tmovRkUcnF5Bkbc+ORLm3+FMZhonvMg+MLnHS3hnvJL/CZU0Pn2dkfODn7/t+MsGs99MN0G44qimq+FCu+YHaKVcGgiTs1I6nextIH+lnPw5qE6VxTQKdFp4PTHqY1qZJWamReVvtyMnfGpa+QwcKf43dXzZrHMLfFprfzEi1DExrhRi0a8RZlFWmAtkwH9zzJXzqOEmivniLfeALJzWkBJG4I2Fu7QSQhvPllhnt5uGdV3pgmHZUxL1DZckrqVG5b6P/Cnmbu0hWXbkPpZ7sXQ4X7wGhAVgH2sRPF1SfE9XvqDsmKvpspdKGmI+9yKoaWekbt8igfJ8jRBK4yRJAt+F/waeXkj7HJhSPIYg9wNvYCnCmoih4brRcTE4nyJBo/ySY3DVocflS3QGoClOrBpwXGgzwaUzBamRhJeCUe9ockPJyUs9DkuBIdsPfhq0nZfZFMhNBtpzm1hPGE92NojUi+DcI12WqweUqDWZzY/02MmfHLeN6mGgjTWvgOwnq1fvc6s7sVy7nANtA6UseWF2KUBYfuMKAxTU4WadpZ102znz4XiL4B7TILKJMU+Ht+a+c=
|
||||||
file:
|
file:
|
||||||
- build/electrum-zcash/dist/Electrum-Zcash-$ELECTRUM_ZCASH_VERSION.tar.gz
|
- build/electrum-zclassic/dist/Electrum-Zclassic-$ELECTRUM_ZCL_VERSION.tar.gz
|
||||||
- build/electrum-zcash/dist/electrum-zcash-$ELECTRUM_ZCASH_VERSION-setup-win32.exe
|
- build/electrum-zclassic/dist/electrum-zclassic-$ELECTRUM_ZCL_VERSION-setup-win32.exe
|
||||||
- build/electrum-zcash/dist/electrum-zcash-$ELECTRUM_ZCASH_VERSION-setup-win64.exe
|
- build/electrum-zclassic/dist/electrum-zclassic-$ELECTRUM_ZCL_VERSION-setup-win64.exe
|
||||||
- build/electrum-zcash/bin/Electrum_Zcash-$ELECTRUM_ZCASH_APK_VERSION-release-unsigned.apk
|
- build/electrum-zclassic/bin/Electrum_Zclassic-$ELECTRUM_ZCL_APK_VERSION-release-unsigned.apk
|
||||||
on:
|
on:
|
||||||
repo: zebra-lucky/electrum-zcash
|
repo: zebra-lucky/electrum-zclassic
|
||||||
tags: true
|
tags: true
|
||||||
condition: "$TRAVIS_OS_NAME = linux"
|
condition: "$TRAVIS_OS_NAME = linux"
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
include LICENCE RELEASE-NOTES AUTHORS
|
include LICENCE RELEASE-NOTES AUTHORS
|
||||||
include README.rst
|
include README.rst
|
||||||
include electrum-zcash.conf.sample
|
include electrum-zclassic.conf.sample
|
||||||
include electrum-zcash.desktop
|
include electrum-zclassic.desktop
|
||||||
include *.py
|
include *.py
|
||||||
include electrum-zcash
|
include electrum-zclassic
|
||||||
include contrib/requirements/requirements.txt
|
include contrib/requirements/requirements.txt
|
||||||
include contrib/requirements/requirements-hw.txt
|
include contrib/requirements/requirements-hw.txt
|
||||||
recursive-include lib *.py
|
recursive-include lib *.py
|
||||||
|
|
28
README.rst
28
README.rst
|
@ -1,4 +1,4 @@
|
||||||
Electrum-Zcash - Lightweight Zcash client
|
Electrum-Zclassic - Lightweight Zclassic client
|
||||||
=====================================
|
=====================================
|
||||||
|
|
||||||
::
|
::
|
||||||
|
@ -6,11 +6,11 @@ Electrum-Zcash - Lightweight Zcash client
|
||||||
Licence: MIT Licence
|
Licence: MIT Licence
|
||||||
Author: Thomas Voegtlin
|
Author: Thomas Voegtlin
|
||||||
Language: Python
|
Language: Python
|
||||||
Homepage: https://github.com/zebra-lucky/electrum-zcash
|
Homepage: https://github.com/zebra-lucky/electrum-zclassic
|
||||||
|
|
||||||
|
|
||||||
.. image:: https://travis-ci.org/zebra-lucky/electrum-zcash.svg?branch=master
|
.. image:: https://travis-ci.org/zebra-lucky/electrum-zclassic.svg?branch=master
|
||||||
:target: https://travis-ci.org/zebra-lucky/electrum-zcash
|
:target: https://travis-ci.org/zebra-lucky/electrum-zclassic
|
||||||
:alt: Build Status
|
:alt: Build Status
|
||||||
|
|
||||||
|
|
||||||
|
@ -20,30 +20,30 @@ Electrum-Zcash - Lightweight Zcash client
|
||||||
Getting started
|
Getting started
|
||||||
===============
|
===============
|
||||||
|
|
||||||
Electrum-Zcash is a pure python application. If you want to use the
|
Electrum-Zclassic is a pure python application. If you want to use the
|
||||||
Qt interface, install the Qt dependencies::
|
Qt interface, install the Qt dependencies::
|
||||||
|
|
||||||
sudo apt-get install python3-pyqt5
|
sudo apt-get install python3-pyqt5
|
||||||
|
|
||||||
If you downloaded the official package (tar.gz), you can run
|
If you downloaded the official package (tar.gz), you can run
|
||||||
Electrum-Zcash from its root directory, without installing it on your
|
Electrum-Zclassic from its root directory, without installing it on your
|
||||||
system; all the python dependencies are included in the 'packages'
|
system; all the python dependencies are included in the 'packages'
|
||||||
directory. To run Electrum-Zcash from its root directory, just do::
|
directory. To run Electrum-Zclassic from its root directory, just do::
|
||||||
|
|
||||||
./electrum-zcash
|
./electrum-zclassic
|
||||||
|
|
||||||
You can also install Electrum-Zcash on your system, by running this command::
|
You can also install Electrum-Zclassic on your system, by running this command::
|
||||||
|
|
||||||
sudo apt-get install python3-setuptools
|
sudo apt-get install python3-setuptools
|
||||||
pip3 install .[full]
|
pip3 install .[full]
|
||||||
|
|
||||||
This will download and install the Python dependencies used by
|
This will download and install the Python dependencies used by
|
||||||
Electrum-Zcash, instead of using the 'packages' directory.
|
Electrum-Zclassic, instead of using the 'packages' directory.
|
||||||
The 'full' extra contains some optional dependencies that we think
|
The 'full' extra contains some optional dependencies that we think
|
||||||
are often useful but they are not strictly needed.
|
are often useful but they are not strictly needed.
|
||||||
|
|
||||||
If you cloned the git repository, you need to compile extra files
|
If you cloned the git repository, you need to compile extra files
|
||||||
before you can run Electrum-Zcash. Read the next section, "Development
|
before you can run Electrum-Zclassic. Read the next section, "Development
|
||||||
Version".
|
Version".
|
||||||
|
|
||||||
|
|
||||||
|
@ -53,8 +53,8 @@ Development version
|
||||||
|
|
||||||
Check out the code from GitHub::
|
Check out the code from GitHub::
|
||||||
|
|
||||||
git clone git://github.com/zebra-lucky/electrum-zcash.git
|
git clone git://github.com/zebra-lucky/electrum-zclassic.git
|
||||||
cd electrum-zcash
|
cd electrum-zclassic
|
||||||
|
|
||||||
Run install (this should install dependencies)::
|
Run install (this should install dependencies)::
|
||||||
|
|
||||||
|
@ -86,7 +86,7 @@ To create binaries, create the 'packages' directory::
|
||||||
|
|
||||||
./contrib/make_packages
|
./contrib/make_packages
|
||||||
|
|
||||||
This directory contains the python dependencies used by Electrum-Zcash.
|
This directory contains the python dependencies used by Electrum-Zclassic.
|
||||||
|
|
||||||
Android
|
Android
|
||||||
-------
|
-------
|
||||||
|
|
|
@ -27,9 +27,9 @@ Manual signing:
|
||||||
jarsigner -verbose \
|
jarsigner -verbose \
|
||||||
-tsa http://sha256timestamp.ws.symantec.com/sha256/timestamp \
|
-tsa http://sha256timestamp.ws.symantec.com/sha256/timestamp \
|
||||||
-sigalg SHA1withRSA -digestalg SHA1 \
|
-sigalg SHA1withRSA -digestalg SHA1 \
|
||||||
-sigfile zcash-electrum \
|
-sigfile zclassic-electrum \
|
||||||
-keystore ~/.jks/keystore \
|
-keystore ~/.jks/keystore \
|
||||||
Electrum_Zcash-3.0.6.1-release-unsigned.apk \
|
Electrum_Zclassic-3.0.6.1-release-unsigned.apk \
|
||||||
electrum.z.cash
|
electrum.z.cash
|
||||||
|
|
||||||
Zipalign from Android SDK build tools is also required (set path to bin in
|
Zipalign from Android SDK build tools is also required (set path to bin in
|
||||||
|
@ -48,8 +48,8 @@ settings file or with key -z). To install:
|
||||||
Manual zip aligning:
|
Manual zip aligning:
|
||||||
|
|
||||||
android-sdk-linux/build-tools/27.0.3/zipalign -v 4 \
|
android-sdk-linux/build-tools/27.0.3/zipalign -v 4 \
|
||||||
Electrum_Zcash-3.0.6.1-release-unsigned.apk \
|
Electrum_Zclassic-3.0.6.1-release-unsigned.apk \
|
||||||
Electrum_Zcash-3.0.6.1-release.apk
|
Electrum_Zclassic-3.0.6.1-release.apk
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -143,9 +143,9 @@ PEP440_PUBVER_PATTERN = re.compile('^((\d+)!)?'
|
||||||
'([a-zA-Z]+\d+)?'
|
'([a-zA-Z]+\d+)?'
|
||||||
'((\.[a-zA-Z]+\d+)*)$')
|
'((\.[a-zA-Z]+\d+)*)$')
|
||||||
REL_NOTES_PATTERN = re.compile('^#.+?(^[^#].+?)^#.+?', re.M | re.S)
|
REL_NOTES_PATTERN = re.compile('^#.+?(^[^#].+?)^#.+?', re.M | re.S)
|
||||||
SDIST_NAME_PATTERN = re.compile('^Electrum-Zcash-(.*).tar.gz$')
|
SDIST_NAME_PATTERN = re.compile('^Electrum-Zclassic-(.*).tar.gz$')
|
||||||
SDIST_DIR_TEMPLATE = 'Electrum-Zcash-{version}'
|
SDIST_DIR_TEMPLATE = 'Electrum-Zclassic-{version}'
|
||||||
PPA_SOURCE_NAME = 'electrum-zcash'
|
PPA_SOURCE_NAME = 'electrum-zclassic'
|
||||||
PPA_ORIG_NAME_TEMPLATE = '%s_{version}.orig.tar.gz' % PPA_SOURCE_NAME
|
PPA_ORIG_NAME_TEMPLATE = '%s_{version}.orig.tar.gz' % PPA_SOURCE_NAME
|
||||||
CHANGELOG_TEMPLATE = """%s ({ppa_version}) {series}; urgency=medium
|
CHANGELOG_TEMPLATE = """%s ({ppa_version}) {series}; urgency=medium
|
||||||
{changes} -- {uid} {time}""" % PPA_SOURCE_NAME
|
{changes} -- {uid} {time}""" % PPA_SOURCE_NAME
|
||||||
|
@ -164,12 +164,12 @@ JARSIGNER_ARGS = [
|
||||||
'jarsigner', '-verbose',
|
'jarsigner', '-verbose',
|
||||||
'-tsa', 'http://sha256timestamp.ws.symantec.com/sha256/timestamp',
|
'-tsa', 'http://sha256timestamp.ws.symantec.com/sha256/timestamp',
|
||||||
'-sigalg', 'SHA1withRSA', '-digestalg', 'SHA1',
|
'-sigalg', 'SHA1withRSA', '-digestalg', 'SHA1',
|
||||||
'-sigfile', 'zcash-electrum',
|
'-sigfile', 'zclassic-electrum',
|
||||||
'-storepass:env', JKS_STOREPASS,
|
'-storepass:env', JKS_STOREPASS,
|
||||||
'-keypass:env', JKS_KEYPASS,
|
'-keypass:env', JKS_KEYPASS,
|
||||||
]
|
]
|
||||||
UNSIGNED_APK_PATTERN = re.compile('^Electrum_Zcash-(.*)-release-unsigned.apk$')
|
UNSIGNED_APK_PATTERN = re.compile('^Electrum_Zclassic-(.*)-release-unsigned.apk$')
|
||||||
SIGNED_APK_TEMPLATE = 'Electrum_Zcash-{version}-release.apk'
|
SIGNED_APK_TEMPLATE = 'Electrum_Zclassic-{version}-release.apk'
|
||||||
|
|
||||||
|
|
||||||
os.environ['QUILT_PATCHES'] = 'debian/patches'
|
os.environ['QUILT_PATCHES'] = 'debian/patches'
|
||||||
|
|
|
@ -1,14 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
VERSION_STRING=(`grep ELECTRUM_VERSION lib/version.py`)
|
|
||||||
ELECTRUM_ZCASH_VERSION=${VERSION_STRING[2]}
|
|
||||||
ELECTRUM_ZCASH_VERSION=${ELECTRUM_ZCASH_VERSION#\'}
|
|
||||||
ELECTRUM_ZCASH_VERSION=${ELECTRUM_ZCASH_VERSION%\'}
|
|
||||||
DOTS=`echo $ELECTRUM_ZCASH_VERSION | grep -o "\." | wc -l`
|
|
||||||
if [[ $DOTS -lt 3 ]]; then
|
|
||||||
ELECTRUM_ZCASH_APK_VERSION=$ELECTRUM_ZCASH_VERSION.0
|
|
||||||
else
|
|
||||||
ELECTRUM_ZCASH_APK_VERSION=$ELECTRUM_ZCASH_VERSION
|
|
||||||
fi
|
|
||||||
export ELECTRUM_ZCASH_VERSION
|
|
||||||
export ELECTRUM_ZCASH_APK_VERSION
|
|
|
@ -1,6 +1,6 @@
|
||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
"""Search and replaces BTC addresses and private keys in WIF to Zcash variant"""
|
"""Search and replaces BTC addresses and private keys in WIF to Zclassic variant"""
|
||||||
|
|
||||||
import click
|
import click
|
||||||
import imp
|
import imp
|
|
@ -38,12 +38,12 @@ hiddenimports += [
|
||||||
]
|
]
|
||||||
|
|
||||||
datas = [
|
datas = [
|
||||||
('lib/servers.json', 'electrum_zcash'),
|
('lib/servers.json', 'electrum_zclassic'),
|
||||||
('lib/servers_testnet.json', 'electrum_zcash'),
|
('lib/servers_testnet.json', 'electrum_zclassic'),
|
||||||
('lib/servers_regtest.json', 'electrum_zcash'),
|
('lib/servers_regtest.json', 'electrum_zclassic'),
|
||||||
('lib/currencies.json', 'electrum_zcash'),
|
('lib/currencies.json', 'electrum_zclassic'),
|
||||||
('lib/locale', 'electrum_zcash/locale'),
|
('lib/locale', 'electrum_zclassic/locale'),
|
||||||
('lib/wordlist', 'electrum_zcash/wordlist'),
|
('lib/wordlist', 'electrum_zclassic/wordlist'),
|
||||||
('C:\\zbarw', '.'),
|
('C:\\zbarw', '.'),
|
||||||
]
|
]
|
||||||
datas += collect_data_files('trezorlib')
|
datas += collect_data_files('trezorlib')
|
||||||
|
@ -88,7 +88,7 @@ excludes += [
|
||||||
'PyQt5.QtWinExtras',
|
'PyQt5.QtWinExtras',
|
||||||
]
|
]
|
||||||
|
|
||||||
a = Analysis(['electrum-zcash'],
|
a = Analysis(['electrum-zclassic'],
|
||||||
pathex=['plugins'],
|
pathex=['plugins'],
|
||||||
hiddenimports=hiddenimports,
|
hiddenimports=hiddenimports,
|
||||||
datas=datas,
|
datas=datas,
|
||||||
|
@ -102,14 +102,14 @@ for d in a.datas:
|
||||||
a.datas.remove(d)
|
a.datas.remove(d)
|
||||||
break
|
break
|
||||||
|
|
||||||
# Add TOC to electrum_zcash, electrum_zcash_gui, electrum_zcash_plugins
|
# Add TOC to electrum_zclassic, electrum_zclassic_gui, electrum_zclassic_plugins
|
||||||
for p in sorted(a.pure):
|
for p in sorted(a.pure):
|
||||||
if p[0].startswith('lib') and p[2] == 'PYMODULE':
|
if p[0].startswith('lib') and p[2] == 'PYMODULE':
|
||||||
a.pure += [('electrum_zcash%s' % p[0][3:] , p[1], p[2])]
|
a.pure += [('electrum_zclassic%s' % p[0][3:] , p[1], p[2])]
|
||||||
if p[0].startswith('gui') and p[2] == 'PYMODULE':
|
if p[0].startswith('gui') and p[2] == 'PYMODULE':
|
||||||
a.pure += [('electrum_zcash_gui%s' % p[0][3:] , p[1], p[2])]
|
a.pure += [('electrum_zclassic_gui%s' % p[0][3:] , p[1], p[2])]
|
||||||
if p[0].startswith('plugins') and p[2] == 'PYMODULE':
|
if p[0].startswith('plugins') and p[2] == 'PYMODULE':
|
||||||
a.pure += [('electrum_zcash_plugins%s' % p[0][7:] , p[1], p[2])]
|
a.pure += [('electrum_zclassic_plugins%s' % p[0][7:] , p[1], p[2])]
|
||||||
|
|
||||||
pyz = PYZ(a.pure)
|
pyz = PYZ(a.pure)
|
||||||
|
|
||||||
|
@ -120,7 +120,7 @@ exe = EXE(pyz,
|
||||||
strip=False,
|
strip=False,
|
||||||
upx=False,
|
upx=False,
|
||||||
console=False,
|
console=False,
|
||||||
icon='icons/electrum-zcash.ico',
|
icon='icons/electrum-zclassic.ico',
|
||||||
name=os.path.join('build\\pyi.win32\\electrum', cmdline_name))
|
name=os.path.join('build\\pyi.win32\\electrum', cmdline_name))
|
||||||
|
|
||||||
# exe with console output
|
# exe with console output
|
||||||
|
@ -131,7 +131,7 @@ conexe = EXE(pyz,
|
||||||
strip=False,
|
strip=False,
|
||||||
upx=False,
|
upx=False,
|
||||||
console=True,
|
console=True,
|
||||||
icon='icons/electrum-zcash.ico',
|
icon='icons/electrum-zclassic.ico',
|
||||||
name=os.path.join('build\\pyi.win32\\electrum',
|
name=os.path.join('build\\pyi.win32\\electrum',
|
||||||
'console-%s' % cmdline_name))
|
'console-%s' % cmdline_name))
|
||||||
|
|
||||||
|
@ -157,4 +157,4 @@ coll = COLLECT(exe, conexe, tctl_exe,
|
||||||
a.datas,
|
a.datas,
|
||||||
strip=False,
|
strip=False,
|
||||||
upx=False,
|
upx=False,
|
||||||
name=os.path.join('dist', 'electrum-zcash'))
|
name=os.path.join('dist', 'electrum-zclassic'))
|
|
@ -7,8 +7,8 @@
|
||||||
;--------------------------------
|
;--------------------------------
|
||||||
;Variables
|
;Variables
|
||||||
|
|
||||||
!define PRODUCT_NAME "Electrum-Zcash"
|
!define PRODUCT_NAME "Electrum-Zclassic"
|
||||||
!define PRODUCT_WEB_SITE "https://github.com/zebra-lucky/electrum-zcash"
|
!define PRODUCT_WEB_SITE "https://github.com/zebra-lucky/electrum-zclassic"
|
||||||
!define PRODUCT_PUBLISHER "Electrum Technologies GmbH"
|
!define PRODUCT_PUBLISHER "Electrum Technologies GmbH"
|
||||||
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
|
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
|
||||||
!define BUILD_ARCH "${WINEARCH}"
|
!define BUILD_ARCH "${WINEARCH}"
|
||||||
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
;Name and file
|
;Name and file
|
||||||
Name "${PRODUCT_NAME}"
|
Name "${PRODUCT_NAME}"
|
||||||
OutFile "dist/electrum-zcash-${PRODUCT_VERSION}-setup-${BUILD_ARCH}.exe"
|
OutFile "dist/electrum-zclassic-${PRODUCT_VERSION}-setup-${BUILD_ARCH}.exe"
|
||||||
|
|
||||||
;Default installation folder
|
;Default installation folder
|
||||||
InstallDir "$PROGRAMFILES\${PRODUCT_NAME}"
|
InstallDir "$PROGRAMFILES\${PRODUCT_NAME}"
|
||||||
|
@ -74,7 +74,7 @@
|
||||||
!define MUI_ABORTWARNING
|
!define MUI_ABORTWARNING
|
||||||
!define MUI_ABORTWARNING_TEXT "Are you sure you wish to abort the installation of ${PRODUCT_NAME}?"
|
!define MUI_ABORTWARNING_TEXT "Are you sure you wish to abort the installation of ${PRODUCT_NAME}?"
|
||||||
|
|
||||||
!define MUI_ICON "icons\electrum-zcash.ico"
|
!define MUI_ICON "icons\electrum-zclassic.ico"
|
||||||
|
|
||||||
;--------------------------------
|
;--------------------------------
|
||||||
;Pages
|
;Pages
|
||||||
|
@ -122,8 +122,8 @@ Section
|
||||||
Delete "$SMPROGRAMS\${PRODUCT_NAME}\*.*"
|
Delete "$SMPROGRAMS\${PRODUCT_NAME}\*.*"
|
||||||
|
|
||||||
;Files to pack into the installer
|
;Files to pack into the installer
|
||||||
File /r "dist\electrum-zcash\*.*"
|
File /r "dist\electrum-zclassic\*.*"
|
||||||
File "icons\electrum-zcash.ico"
|
File "icons\electrum-zclassic.ico"
|
||||||
|
|
||||||
;Store installation folder
|
;Store installation folder
|
||||||
WriteRegStr HKCU "Software\${PRODUCT_NAME}" "" $INSTDIR
|
WriteRegStr HKCU "Software\${PRODUCT_NAME}" "" $INSTDIR
|
||||||
|
@ -134,21 +134,21 @@ Section
|
||||||
|
|
||||||
;Create desktop shortcut
|
;Create desktop shortcut
|
||||||
DetailPrint "Creating desktop shortcut..."
|
DetailPrint "Creating desktop shortcut..."
|
||||||
CreateShortCut "$DESKTOP\${PRODUCT_NAME}.lnk" "$INSTDIR\electrum-zcash-${PRODUCT_VERSION}.exe" ""
|
CreateShortCut "$DESKTOP\${PRODUCT_NAME}.lnk" "$INSTDIR\electrum-zclassic-${PRODUCT_VERSION}.exe" ""
|
||||||
|
|
||||||
;Create start-menu items
|
;Create start-menu items
|
||||||
DetailPrint "Creating start-menu items..."
|
DetailPrint "Creating start-menu items..."
|
||||||
CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME}"
|
CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME}"
|
||||||
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Uninstall.lnk" "$INSTDIR\Uninstall.exe" "" "$INSTDIR\Uninstall.exe" 0
|
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Uninstall.lnk" "$INSTDIR\Uninstall.exe" "" "$INSTDIR\Uninstall.exe" 0
|
||||||
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME}.lnk" "$INSTDIR\electrum-zcash-${PRODUCT_VERSION}.exe" "" "$INSTDIR\electrum-zcash-${PRODUCT_VERSION}.exe" 0
|
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME}.lnk" "$INSTDIR\electrum-zclassic-${PRODUCT_VERSION}.exe" "" "$INSTDIR\electrum-zclassic-${PRODUCT_VERSION}.exe" 0
|
||||||
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME} Testnet.lnk" "$INSTDIR\electrum-zcash-${PRODUCT_VERSION}.exe" "--testnet" "$INSTDIR\electrum-zcash-${PRODUCT_VERSION}.exe" 0
|
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME} Testnet.lnk" "$INSTDIR\electrum-zclassic-${PRODUCT_VERSION}.exe" "--testnet" "$INSTDIR\electrum-zclassic-${PRODUCT_VERSION}.exe" 0
|
||||||
|
|
||||||
|
|
||||||
;Links zcash: URI's to Electrum
|
;Links zclassic: URI's to Electrum
|
||||||
WriteRegStr HKCU "Software\Classes\zcash" "" "URL:zcash Protocol"
|
WriteRegStr HKCU "Software\Classes\zclassic" "" "URL:zclassic Protocol"
|
||||||
WriteRegStr HKCU "Software\Classes\zcash" "URL Protocol" ""
|
WriteRegStr HKCU "Software\Classes\zclassic" "URL Protocol" ""
|
||||||
WriteRegStr HKCU "Software\Classes\zcash" "DefaultIcon" "$\"$INSTDIR\electrum-zcash.ico, 0$\""
|
WriteRegStr HKCU "Software\Classes\zclassic" "DefaultIcon" "$\"$INSTDIR\electrum-zclassic.ico, 0$\""
|
||||||
WriteRegStr HKCU "Software\Classes\zcash\shell\open\command" "" "$\"$INSTDIR\electrum-zcash-${PRODUCT_VERSION}.exe$\" $\"%1$\""
|
WriteRegStr HKCU "Software\Classes\zclassic\shell\open\command" "" "$\"$INSTDIR\electrum-zclassic-${PRODUCT_VERSION}.exe$\" $\"%1$\""
|
||||||
|
|
||||||
;Adds an uninstaller possibility to Windows Uninstall or change a program section
|
;Adds an uninstaller possibility to Windows Uninstall or change a program section
|
||||||
WriteRegStr HKCU "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
|
WriteRegStr HKCU "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
|
||||||
|
@ -156,7 +156,7 @@ Section
|
||||||
WriteRegStr HKCU "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
|
WriteRegStr HKCU "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
|
||||||
WriteRegStr HKCU "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"
|
WriteRegStr HKCU "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"
|
||||||
WriteRegStr HKCU "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
|
WriteRegStr HKCU "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
|
||||||
WriteRegStr HKCU "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\electrum-zcash.ico"
|
WriteRegStr HKCU "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\electrum-zclassic.ico"
|
||||||
|
|
||||||
;Fixes Windows broken size estimates
|
;Fixes Windows broken size estimates
|
||||||
${GetSize} "$INSTDIR" "/S=0K" $0 $1 $2
|
${GetSize} "$INSTDIR" "/S=0K" $0 $1 $2
|
||||||
|
@ -179,7 +179,7 @@ Section "Uninstall"
|
||||||
Delete "$SMPROGRAMS\${PRODUCT_NAME}\*.*"
|
Delete "$SMPROGRAMS\${PRODUCT_NAME}\*.*"
|
||||||
RMDir "$SMPROGRAMS\${PRODUCT_NAME}"
|
RMDir "$SMPROGRAMS\${PRODUCT_NAME}"
|
||||||
|
|
||||||
DeleteRegKey HKCU "Software\Classes\zcash"
|
DeleteRegKey HKCU "Software\Classes\zclassic"
|
||||||
DeleteRegKey HKCU "Software\${PRODUCT_NAME}"
|
DeleteRegKey HKCU "Software\${PRODUCT_NAME}"
|
||||||
DeleteRegKey HKCU "${PRODUCT_UNINST_KEY}"
|
DeleteRegKey HKCU "${PRODUCT_UNINST_KEY}"
|
||||||
SectionEnd
|
SectionEnd
|
|
@ -42,12 +42,12 @@ hiddenimports += [
|
||||||
]
|
]
|
||||||
|
|
||||||
datas = [
|
datas = [
|
||||||
('lib/servers.json', 'electrum_zcash'),
|
('lib/servers.json', 'electrum_zclassic'),
|
||||||
('lib/servers_testnet.json', 'electrum_zcash'),
|
('lib/servers_testnet.json', 'electrum_zclassic'),
|
||||||
('lib/servers_regtest.json', 'electrum_zcash'),
|
('lib/servers_regtest.json', 'electrum_zclassic'),
|
||||||
('lib/currencies.json', 'electrum_zcash'),
|
('lib/currencies.json', 'electrum_zclassic'),
|
||||||
('lib/locale', 'electrum_zcash/locale'),
|
('lib/locale', 'electrum_zclassic/locale'),
|
||||||
('lib/wordlist', 'electrum_zcash/wordlist'),
|
('lib/wordlist', 'electrum_zclassic/wordlist'),
|
||||||
]
|
]
|
||||||
datas += collect_data_files('trezorlib')
|
datas += collect_data_files('trezorlib')
|
||||||
datas += collect_data_files('btchip')
|
datas += collect_data_files('btchip')
|
||||||
|
@ -91,7 +91,7 @@ excludes += [
|
||||||
'PyQt5.QtWinExtras',
|
'PyQt5.QtWinExtras',
|
||||||
]
|
]
|
||||||
|
|
||||||
a = Analysis(['electrum-zcash'],
|
a = Analysis(['electrum-zclassic'],
|
||||||
pathex=['plugins'],
|
pathex=['plugins'],
|
||||||
hiddenimports=hiddenimports,
|
hiddenimports=hiddenimports,
|
||||||
datas=datas,
|
datas=datas,
|
||||||
|
@ -105,14 +105,14 @@ for d in a.datas:
|
||||||
a.datas.remove(d)
|
a.datas.remove(d)
|
||||||
break
|
break
|
||||||
|
|
||||||
# Add TOC to electrum_zcash, electrum_zcash_gui, electrum_zcash_plugins
|
# Add TOC to electrum_zclassic, electrum_zclassic_gui, electrum_zclassic_plugins
|
||||||
for p in sorted(a.pure):
|
for p in sorted(a.pure):
|
||||||
if p[0].startswith('lib') and p[2] == 'PYMODULE':
|
if p[0].startswith('lib') and p[2] == 'PYMODULE':
|
||||||
a.pure += [('electrum_zcash%s' % p[0][3:] , p[1], p[2])]
|
a.pure += [('electrum_zclassic%s' % p[0][3:] , p[1], p[2])]
|
||||||
if p[0].startswith('gui') and p[2] == 'PYMODULE':
|
if p[0].startswith('gui') and p[2] == 'PYMODULE':
|
||||||
a.pure += [('electrum_zcash_gui%s' % p[0][3:] , p[1], p[2])]
|
a.pure += [('electrum_zclassic_gui%s' % p[0][3:] , p[1], p[2])]
|
||||||
if p[0].startswith('plugins') and p[2] == 'PYMODULE':
|
if p[0].startswith('plugins') and p[2] == 'PYMODULE':
|
||||||
a.pure += [('electrum_zcash_plugins%s' % p[0][7:] , p[1], p[2])]
|
a.pure += [('electrum_zclassic_plugins%s' % p[0][7:] , p[1], p[2])]
|
||||||
|
|
||||||
pyz = PYZ(a.pure)
|
pyz = PYZ(a.pure)
|
||||||
|
|
||||||
|
@ -123,8 +123,8 @@ exe = EXE(pyz,
|
||||||
strip=False,
|
strip=False,
|
||||||
upx=False,
|
upx=False,
|
||||||
console=False,
|
console=False,
|
||||||
icon='icons/electrum-zcash.ico',
|
icon='icons/electrum-zclassic.ico',
|
||||||
name=os.path.join('build/electrum-zcash/electrum-zcash', cmdline_name))
|
name=os.path.join('build/electrum-zclassic/electrum-zclassic', cmdline_name))
|
||||||
|
|
||||||
# trezorctl separate bin
|
# trezorctl separate bin
|
||||||
tctl_a = Analysis([os.path.join(PY36BINDIR, 'trezorctl')],
|
tctl_a = Analysis([os.path.join(PY36BINDIR, 'trezorctl')],
|
||||||
|
@ -141,17 +141,17 @@ tctl_exe = EXE(tctl_pyz,
|
||||||
strip=False,
|
strip=False,
|
||||||
upx=False,
|
upx=False,
|
||||||
console=True,
|
console=True,
|
||||||
name=os.path.join('build/electrum-zcash/electrum-zcash', 'trezorctl.bin'))
|
name=os.path.join('build/electrum-zclassic/electrum-zclassic', 'trezorctl.bin'))
|
||||||
|
|
||||||
coll = COLLECT(exe, tctl_exe,
|
coll = COLLECT(exe, tctl_exe,
|
||||||
a.binaries,
|
a.binaries,
|
||||||
a.datas,
|
a.datas,
|
||||||
strip=False,
|
strip=False,
|
||||||
upx=False,
|
upx=False,
|
||||||
name=os.path.join('dist', 'electrum-zcash'))
|
name=os.path.join('dist', 'electrum-zclassic'))
|
||||||
|
|
||||||
app = BUNDLE(coll,
|
app = BUNDLE(coll,
|
||||||
name=os.path.join('dist', 'Electrum-Zcash.app'),
|
name=os.path.join('dist', 'Electrum-Zclassic.app'),
|
||||||
appname="Electrum-Zcash",
|
appname="Electrum-Zclassic",
|
||||||
icon='electrum-zcash.icns',
|
icon='electrum-zclassic.icns',
|
||||||
version = 'ELECTRUM_VERSION')
|
version = 'ELECTRUM_VERSION')
|
|
@ -23,7 +23,7 @@ def _new_load_module(name, file, pathname, description):
|
||||||
imp.load_module = _new_load_module
|
imp.load_module = _new_load_module
|
||||||
|
|
||||||
|
|
||||||
PLUGINS_PREFIX = 'electrum_zcash_plugins'
|
PLUGINS_PREFIX = 'electrum_zclassic_plugins'
|
||||||
|
|
||||||
KEYSTORE_PLUGINS = [
|
KEYSTORE_PLUGINS = [
|
||||||
'hw_wallet',
|
'hw_wallet',
|
|
@ -1,17 +1,17 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
source ./contrib/zcash/travis/electrum_zcash_version_env.sh;
|
source ./contrib/zclassic/travis/electrum_zclassic_version_env.sh;
|
||||||
echo wine build version is $ELECTRUM_ZCASH_VERSION
|
echo wine build version is $ELECTRUM_ZCL_VERSION
|
||||||
|
|
||||||
mv /opt/zbarw $WINEPREFIX/drive_c/
|
mv /opt/zbarw $WINEPREFIX/drive_c/
|
||||||
cd $WINEPREFIX/drive_c/electrum-zcash
|
cd $WINEPREFIX/drive_c/electrum-zclassic
|
||||||
|
|
||||||
rm -rf build
|
rm -rf build
|
||||||
rm -rf dist/electrum-zcash
|
rm -rf dist/electrum-zclassic
|
||||||
|
|
||||||
cp contrib/zcash/deterministic.spec .
|
cp contrib/zclassic/deterministic.spec .
|
||||||
cp contrib/zcash/pyi_runtimehook.py .
|
cp contrib/zclassic/pyi_runtimehook.py .
|
||||||
cp contrib/zcash/pyi_tctl_runtimehook.py .
|
cp contrib/zclassic/pyi_tctl_runtimehook.py .
|
||||||
|
|
||||||
wine pip install --upgrade pip
|
wine pip install --upgrade pip
|
||||||
export PYINSTALLER_TAG=dev180610
|
export PYINSTALLER_TAG=dev180610
|
||||||
|
@ -20,7 +20,7 @@ wine pip install $PYINSTALLER_TAG.tar.gz
|
||||||
rm $PYINSTALLER_TAG.tar.gz
|
rm $PYINSTALLER_TAG.tar.gz
|
||||||
|
|
||||||
wine pip install eth-hash==0.1.2
|
wine pip install eth-hash==0.1.2
|
||||||
wine pip install -r contrib/zcash/requirements.txt
|
wine pip install -r contrib/zclassic/requirements.txt
|
||||||
|
|
||||||
wine pip install x11_hash
|
wine pip install x11_hash
|
||||||
wine pip install cython
|
wine pip install cython
|
||||||
|
@ -34,7 +34,7 @@ mkdir $WINEPREFIX/drive_c/Qt
|
||||||
ln -s $PYHOME/Lib/site-packages/PyQt5/ $WINEPREFIX/drive_c/Qt/5.5.1
|
ln -s $PYHOME/Lib/site-packages/PyQt5/ $WINEPREFIX/drive_c/Qt/5.5.1
|
||||||
|
|
||||||
wine pyinstaller -y \
|
wine pyinstaller -y \
|
||||||
--name electrum-zcash-$ELECTRUM_ZCASH_VERSION.exe \
|
--name electrum-zclassic-$ELECTRUM_ZCL_VERSION.exe \
|
||||||
deterministic.spec
|
deterministic.spec
|
||||||
|
|
||||||
if [[ $WINEARCH == win32 ]]; then
|
if [[ $WINEARCH == win32 ]]; then
|
||||||
|
@ -44,6 +44,6 @@ else
|
||||||
fi
|
fi
|
||||||
|
|
||||||
wine "$NSIS_EXE" /NOCD -V3 \
|
wine "$NSIS_EXE" /NOCD -V3 \
|
||||||
/DPRODUCT_VERSION=$ELECTRUM_ZCASH_VERSION \
|
/DPRODUCT_VERSION=$ELECTRUM_ZCL_VERSION \
|
||||||
/DWINEARCH=$WINEARCH \
|
/DWINEARCH=$WINEARCH \
|
||||||
contrib/zcash/electrum-zcash.nsi
|
contrib/zclassic/electrum-zclassic.nsi
|
|
@ -0,0 +1,14 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
VERSION_STRING=(`grep ELECTRUM_VERSION lib/version.py`)
|
||||||
|
ELECTRUM_ZCL_VERSION=${VERSION_STRING[2]}
|
||||||
|
ELECTRUM_ZCL_VERSION=${ELECTRUM_ZCL_VERSION#\'}
|
||||||
|
ELECTRUM_ZCL_VERSION=${ELECTRUM_ZCL_VERSION%\'}
|
||||||
|
DOTS=`echo $ELECTRUM_ZCL_VERSION | grep -o "\." | wc -l`
|
||||||
|
if [[ $DOTS -lt 3 ]]; then
|
||||||
|
ELECTRUM_ZCL_APK_VERSION=$ELECTRUM_ZCL_VERSION.0
|
||||||
|
else
|
||||||
|
ELECTRUM_ZCL_APK_VERSION=$ELECTRUM_ZCL_VERSION
|
||||||
|
fi
|
||||||
|
export ELECTRUM_ZCL_VERSION
|
||||||
|
export ELECTRUM_ZCL_APK_VERSION
|
|
@ -6,23 +6,23 @@ if [[ -z $TRAVIS_TAG ]]; then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
BUILD_REPO_URL=https://github.com/zebra-lucky/electrum-zcash
|
BUILD_REPO_URL=https://github.com/zebra-lucky/electrum-zclassic
|
||||||
|
|
||||||
cd build
|
cd build
|
||||||
|
|
||||||
git clone --branch $TRAVIS_TAG $BUILD_REPO_URL electrum-zcash
|
git clone --branch $TRAVIS_TAG $BUILD_REPO_URL electrum-zclassic
|
||||||
|
|
||||||
docker run --rm \
|
docker run --rm \
|
||||||
-v $(pwd):/opt \
|
-v $(pwd):/opt \
|
||||||
-w /opt/electrum-zcash \
|
-w /opt/electrum-zclassic \
|
||||||
-t zebralucky/electrum-dash-winebuild:Linux /opt/build_linux.sh
|
-t zebralucky/electrum-dash-winebuild:Linux /opt/build_linux.sh
|
||||||
|
|
||||||
sudo find . -name '*.po' -delete
|
sudo find . -name '*.po' -delete
|
||||||
sudo find . -name '*.pot' -delete
|
sudo find . -name '*.pot' -delete
|
||||||
|
|
||||||
sudo chown -R 1000 electrum-zcash
|
sudo chown -R 1000 electrum-zclassic
|
||||||
|
|
||||||
docker run --rm \
|
docker run --rm \
|
||||||
-v $(pwd)/electrum-zcash:/home/buildozer/build \
|
-v $(pwd)/electrum-zclassic:/home/buildozer/build \
|
||||||
-t zebralucky/electrum-dash-winebuild:Kivy bash -c \
|
-t zebralucky/electrum-dash-winebuild:Kivy bash -c \
|
||||||
'rm -rf packages && ./contrib/make_packages && ./contrib/make_apk'
|
'rm -rf packages && ./contrib/make_packages && ./contrib/make_apk'
|
|
@ -6,15 +6,15 @@ if [[ -z $TRAVIS_TAG ]]; then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
BUILD_REPO_URL=https://github.com/zebra-lucky/electrum-zcash
|
BUILD_REPO_URL=https://github.com/zebra-lucky/electrum-zclassic
|
||||||
|
|
||||||
cd build
|
cd build
|
||||||
|
|
||||||
git clone --branch $TRAVIS_TAG $BUILD_REPO_URL electrum-zcash
|
git clone --branch $TRAVIS_TAG $BUILD_REPO_URL electrum-zclassic
|
||||||
|
|
||||||
docker run --rm \
|
docker run --rm \
|
||||||
-v $(pwd):/opt \
|
-v $(pwd):/opt \
|
||||||
-w /opt/electrum-zcash \
|
-w /opt/electrum-zclassic \
|
||||||
-t zebralucky/electrum-dash-winebuild:Linux /opt/build_linux.sh
|
-t zebralucky/electrum-dash-winebuild:Linux /opt/build_linux.sh
|
||||||
|
|
||||||
sudo find . -name '*.po' -delete
|
sudo find . -name '*.po' -delete
|
||||||
|
@ -34,8 +34,8 @@ docker run --rm \
|
||||||
-e WINEPREFIX=$WINEPREFIX \
|
-e WINEPREFIX=$WINEPREFIX \
|
||||||
-e PYHOME=$PYHOME \
|
-e PYHOME=$PYHOME \
|
||||||
-v $(pwd):/opt \
|
-v $(pwd):/opt \
|
||||||
-v $(pwd)/electrum-zcash/:$WINEPREFIX/drive_c/electrum-zcash \
|
-v $(pwd)/electrum-zclassic/:$WINEPREFIX/drive_c/electrum-zclassic \
|
||||||
-w /opt/electrum-zcash \
|
-w /opt/electrum-zclassic \
|
||||||
-t zebralucky/electrum-dash-winebuild:Wine /opt/build_wine.sh
|
-t zebralucky/electrum-dash-winebuild:Wine /opt/build_wine.sh
|
||||||
|
|
||||||
export WINEARCH=win64
|
export WINEARCH=win64
|
||||||
|
@ -50,6 +50,6 @@ docker run --rm \
|
||||||
-e WINEPREFIX=$WINEPREFIX \
|
-e WINEPREFIX=$WINEPREFIX \
|
||||||
-e PYHOME=$PYHOME \
|
-e PYHOME=$PYHOME \
|
||||||
-v $(pwd):/opt \
|
-v $(pwd):/opt \
|
||||||
-v $(pwd)/electrum-zcash/:$WINEPREFIX/drive_c/electrum-zcash \
|
-v $(pwd)/electrum-zclassic/:$WINEPREFIX/drive_c/electrum-zclassic \
|
||||||
-w /opt/electrum-zcash \
|
-w /opt/electrum-zclassic \
|
||||||
-t zebralucky/electrum-dash-winebuild:Wine /opt/build_wine.sh
|
-t zebralucky/electrum-dash-winebuild:Wine /opt/build_wine.sh
|
|
@ -6,18 +6,18 @@ if [[ -z $TRAVIS_TAG ]]; then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
BUILD_REPO_URL=https://github.com/zebra-lucky/electrum-zcash
|
BUILD_REPO_URL=https://github.com/zebra-lucky/electrum-zclassic
|
||||||
|
|
||||||
cd build
|
cd build
|
||||||
|
|
||||||
git clone --branch $TRAVIS_TAG $BUILD_REPO_URL electrum-zcash
|
git clone --branch $TRAVIS_TAG $BUILD_REPO_URL electrum-zclassic
|
||||||
|
|
||||||
cd electrum-zcash
|
cd electrum-zclassic
|
||||||
|
|
||||||
export PY36BINDIR=/Library/Frameworks/Python.framework/Versions/3.6/bin/
|
export PY36BINDIR=/Library/Frameworks/Python.framework/Versions/3.6/bin/
|
||||||
export PATH=$PATH:$PY36BINDIR
|
export PATH=$PATH:$PY36BINDIR
|
||||||
source ./contrib/zcash/travis/electrum_zcash_version_env.sh;
|
source ./contrib/zclassic/travis/electrum_zclassic_version_env.sh;
|
||||||
echo wine build version is $ELECTRUM_ZCASH_VERSION
|
echo wine build version is $ELECTRUM_ZCL_VERSION
|
||||||
|
|
||||||
sudo pip3 install --upgrade pip
|
sudo pip3 install --upgrade pip
|
||||||
sudo pip3 install -r contrib/deterministic-build/requirements.txt
|
sudo pip3 install -r contrib/deterministic-build/requirements.txt
|
||||||
|
@ -35,15 +35,15 @@ export PATH="/usr/local/opt/gettext/bin:$PATH"
|
||||||
find . -name '*.po' -delete
|
find . -name '*.po' -delete
|
||||||
find . -name '*.pot' -delete
|
find . -name '*.pot' -delete
|
||||||
|
|
||||||
cp contrib/zcash/osx.spec .
|
cp contrib/zclassic/osx.spec .
|
||||||
cp contrib/zcash/pyi_runtimehook.py .
|
cp contrib/zclassic/pyi_runtimehook.py .
|
||||||
cp contrib/zcash/pyi_tctl_runtimehook.py .
|
cp contrib/zclassic/pyi_tctl_runtimehook.py .
|
||||||
|
|
||||||
pyinstaller \
|
pyinstaller \
|
||||||
-y \
|
-y \
|
||||||
--name electrum-zcash-$ELECTRUM_ZCASH_VERSION.bin \
|
--name electrum-zclassic-$ELECTRUM_ZCL_VERSION.bin \
|
||||||
osx.spec
|
osx.spec
|
||||||
|
|
||||||
sudo hdiutil create -fs HFS+ -volname "Electrum-Zcash" \
|
sudo hdiutil create -fs HFS+ -volname "Electrum-Zclassic" \
|
||||||
-srcfolder dist/Electrum-Zcash.app \
|
-srcfolder dist/Electrum-Zclassic.app \
|
||||||
dist/electrum-zcash-$ELECTRUM_ZCASH_VERSION-macosx.dmg
|
dist/electrum-zclassic-$ELECTRUM_ZCL_VERSION-macosx.dmg
|
|
@ -1,4 +1,4 @@
|
||||||
electrum-zcash (3.1.3~rc2-0ppa1~ubuntu18.04.1) bionic; urgency=medium
|
electrum-zclassic (3.1.3~rc2-0ppa1~ubuntu18.04.1) bionic; urgency=medium
|
||||||
|
|
||||||
* Port to ppa
|
* Port to ppa
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
Source: electrum-zcash
|
Source: electrum-zclassic
|
||||||
Section: utils
|
Section: utils
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Maintainer: Maksym Yuzhakov <zebra.lucky@gmail.com>
|
Maintainer: Maksym Yuzhakov <zebra.lucky@gmail.com>
|
||||||
|
@ -19,10 +19,10 @@ Build-Depends:
|
||||||
python3-socks (>= 1.6.5),
|
python3-socks (>= 1.6.5),
|
||||||
python3-pyblake2 (>=0.9.3),
|
python3-pyblake2 (>=0.9.3),
|
||||||
Standards-Version: 4.1.3
|
Standards-Version: 4.1.3
|
||||||
Homepage: https://github.com/zebra-lucky/electrum-zcash
|
Homepage: https://github.com/zebra-lucky/electrum-zclassic
|
||||||
X-Python3-Version: >= 3.4
|
X-Python3-Version: >= 3.4
|
||||||
|
|
||||||
Package: python3-electrum-zcash
|
Package: python3-electrum-zclassic
|
||||||
Architecture: all
|
Architecture: all
|
||||||
Section: python
|
Section: python
|
||||||
Depends:
|
Depends:
|
||||||
|
@ -33,29 +33,29 @@ Depends:
|
||||||
python3-btchip (>= 0.1.26),
|
python3-btchip (>= 0.1.26),
|
||||||
${misc:Depends},
|
${misc:Depends},
|
||||||
${python3:Depends},
|
${python3:Depends},
|
||||||
Description: Easy to use Zcash client - Python module
|
Description: Easy to use Zclassic client - Python module
|
||||||
This package provides a lightweight Zcash client which protects
|
This package provides a lightweight Zclassic client which protects
|
||||||
you from losing your Zcash coins in a backup mistake or computer
|
you from losing your Zclassic coins in a backup mistake or computer
|
||||||
failure. Also, Electrum-Zcash does not require waiting time because it does
|
failure. Also, Electrum-Zclassic does not require waiting time because it does
|
||||||
not download the Zcash blockchain.
|
not download the Zclassic blockchain.
|
||||||
.
|
.
|
||||||
This package provides the "electrum_zcash" Python 3 module which can be used
|
This package provides the "electrum_zclassic" Python 3 module which can be used
|
||||||
to access a Zcash wallet from Python programs.
|
to access a Zclassic wallet from Python programs.
|
||||||
|
|
||||||
Package: electrum-zcash
|
Package: electrum-zclassic
|
||||||
Architecture: all
|
Architecture: all
|
||||||
Depends:
|
Depends:
|
||||||
${misc:Depends},
|
${misc:Depends},
|
||||||
${python3:Depends},
|
${python3:Depends},
|
||||||
python3-electrum-zcash (= ${binary:Version}),
|
python3-electrum-zclassic (= ${binary:Version}),
|
||||||
Recommends: python3-pyqt5
|
Recommends: python3-pyqt5
|
||||||
Description: Easy to use Zcash client
|
Description: Easy to use Zclassic client
|
||||||
This package provides a lightweight Zcash client which protects
|
This package provides a lightweight Zclassic client which protects
|
||||||
you from losing your Zcash coins in a backup mistake or computer
|
you from losing your Zclassic coins in a backup mistake or computer
|
||||||
failure. Also, Electrum-Zcash does not require waiting time because it does
|
failure. Also, Electrum-Zclassic does not require waiting time because it does
|
||||||
not download the Zcash blockchain.
|
not download the Zclassic blockchain.
|
||||||
.
|
.
|
||||||
Features of Electrum-Zcash:
|
Features of Electrum-Zclassic:
|
||||||
.
|
.
|
||||||
* Instant on: Your client does not download the blockchain. It uses a
|
* Instant on: Your client does not download the blockchain. It uses a
|
||||||
network of specialized servers that index the blockchain.
|
network of specialized servers that index the blockchain.
|
||||||
|
@ -70,7 +70,7 @@ Description: Easy to use Zcash client
|
||||||
will synchronize automatically.
|
will synchronize automatically.
|
||||||
* Cold Storage: Sign transactions from a computer that is always
|
* Cold Storage: Sign transactions from a computer that is always
|
||||||
offline. Broadcast them using a machine that does not have your keys.
|
offline. Broadcast them using a machine that does not have your keys.
|
||||||
* Reachable: You can export your private keys into other Zcash
|
* Reachable: You can export your private keys into other Zclassic
|
||||||
clients.
|
clients.
|
||||||
* Established: Electrum-Zcash is open source and was first released in
|
* Established: Electrum-Zclassic is open source and was first released in
|
||||||
November 2011.
|
November 2011.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||||
Upstream-Name: electrum-zcash
|
Upstream-Name: electrum-zclassic
|
||||||
Source: https://github.com/zebra-lucky/electrum-zcash/
|
Source: https://github.com/zebra-lucky/electrum-zclassic/
|
||||||
|
|
||||||
Files: *
|
Files: *
|
||||||
Copyright: Electrum Team
|
Copyright: Electrum Team
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
debian/electrum-zcash.1
|
|
|
@ -1,17 +1,17 @@
|
||||||
.TH electrum-zcash 1 "23 June 2013" "electrum-zcash"
|
.TH electrum-zclassic 1 "23 June 2013" "electrum-zclassic"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
electrum-zcash \- Lightweight Zcash client
|
electrum-zclassic \- Lightweight Zclassic client
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
.B electrum-zcash [options] command [options]
|
.B electrum-zclassic [options] command [options]
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
.PP
|
.PP
|
||||||
Electrum-Zcash is a lightweight Zcash client.
|
Electrum-Zclassic is a lightweight Zclassic client.
|
||||||
.br
|
.br
|
||||||
Electrum-Zcash protects from losing zcash coins in a backup mistake or computer
|
Electrum-Zclassic protects from losing zclassic coins in a backup mistake or computer
|
||||||
failure. It allows recovery of wallet from a passphrase which you can
|
failure. It allows recovery of wallet from a passphrase which you can
|
||||||
learn by heart or write it down on a paper.
|
learn by heart or write it down on a paper.
|
||||||
.br
|
.br
|
||||||
Since electrum-zcash does not download the entire blockchain there
|
Since electrum-zclassic does not download the entire blockchain there
|
||||||
is no waiting time when the client is started.
|
is no waiting time when the client is started.
|
||||||
|
|
||||||
.TP
|
.TP
|
||||||
|
@ -66,7 +66,7 @@ default language used in GUI
|
||||||
\fB\-u, \-\-usb\fR
|
\fB\-u, \-\-usb\fR
|
||||||
Turn on support for hardware wallets (EXPERIMENTAL).
|
Turn on support for hardware wallets (EXPERIMENTAL).
|
||||||
.SH AUTHORS
|
.SH AUTHORS
|
||||||
Electrum-Zcash client was initially written by ThomasV
|
Electrum-Zclassic client was initially written by ThomasV
|
||||||
<\fIthomasv@gitorious\fR>
|
<\fIthomasv@gitorious\fR>
|
||||||
.br
|
.br
|
||||||
This manual page was written by Vasudev Kamath
|
This manual page was written by Vasudev Kamath
|
|
@ -0,0 +1 @@
|
||||||
|
debian/electrum-zclassic.1
|
|
@ -1,7 +1,7 @@
|
||||||
Index: electrum-zcash/electrum-zcash
|
Index: electrum-zclassic/electrum-zclassic
|
||||||
===================================================================
|
===================================================================
|
||||||
--- electrum-zcash.orig/electrum-zcash 2018-06-12 22:15:35.699293303 +0300
|
--- electrum-zclassic.orig/electrum-zclassic 2018-06-12 22:15:35.699293303 +0300
|
||||||
+++ electrum-zcash/electrum-zcash 2018-06-12 22:20:02.122480853 +0300
|
+++ electrum-zclassic/electrum-zclassic 2018-06-12 22:20:02.122480853 +0300
|
||||||
@@ -26,6 +26,8 @@
|
@@ -26,6 +26,8 @@
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
|
@ -10,4 +10,4 @@ Index: electrum-zcash/electrum-zcash
|
||||||
+
|
+
|
||||||
script_dir = os.path.dirname(os.path.realpath(__file__))
|
script_dir = os.path.dirname(os.path.realpath(__file__))
|
||||||
is_bundle = getattr(sys, 'frozen', False)
|
is_bundle = getattr(sys, 'frozen', False)
|
||||||
is_local = not is_bundle and os.path.exists(os.path.join(script_dir, "electrum-zcash.desktop"))
|
is_local = not is_bundle and os.path.exists(os.path.join(script_dir, "electrum-zclassic.desktop"))
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#!/usr/bin/make -f
|
#!/usr/bin/make -f
|
||||||
|
|
||||||
export PYBUILD_NAME=electrum-zcash
|
export PYBUILD_NAME=electrum-zclassic
|
||||||
|
|
||||||
%:
|
%:
|
||||||
dh $@ --with python3 --buildsystem=pybuild
|
dh $@ --with python3 --buildsystem=pybuild
|
||||||
|
@ -14,11 +14,11 @@ override_dh_auto_build::
|
||||||
|
|
||||||
override_dh_auto_install::
|
override_dh_auto_install::
|
||||||
dh_auto_install
|
dh_auto_install
|
||||||
mkdir -p debian/electrum-zcash/usr/bin \
|
mkdir -p debian/electrum-zclassic/usr/bin \
|
||||||
debian/electrum-zcash/usr/share
|
debian/electrum-zclassic/usr/share
|
||||||
mv debian/python3-electrum-zcash/usr/bin \
|
mv debian/python3-electrum-zclassic/usr/bin \
|
||||||
debian/electrum-zcash/usr
|
debian/electrum-zclassic/usr
|
||||||
mv debian/python3-electrum-zcash/usr/share/applications \
|
mv debian/python3-electrum-zclassic/usr/share/applications \
|
||||||
debian/electrum-zcash/usr/share
|
debian/electrum-zclassic/usr/share
|
||||||
mv debian/python3-electrum-zcash/usr/share/pixmaps \
|
mv debian/python3-electrum-zclassic/usr/share/pixmaps \
|
||||||
debian/electrum-zcash/usr/share
|
debian/electrum-zclassic/usr/share
|
||||||
|
|
|
@ -1,21 +0,0 @@
|
||||||
# If you want Electrum-Zcash to appear in a Linux app launcher ("start menu"), install this by doing:
|
|
||||||
# sudo desktop-file-install electrum-zcash.desktop
|
|
||||||
|
|
||||||
[Desktop Entry]
|
|
||||||
Comment=Lightweight Zcash Client
|
|
||||||
Exec=sh -c "PATH=\"\\$HOME/.local/bin:\\$PATH\" electrum-zcash %u"
|
|
||||||
GenericName[en_US]=Zcash Wallet
|
|
||||||
GenericName=Zcash Wallet
|
|
||||||
Icon=electrum-zcash.png
|
|
||||||
Name[en_US]=Electrum-Zcash Bitcoin Wallet
|
|
||||||
Name=Electrum-Zcash Bitcoin Wallet
|
|
||||||
Categories=Finance;Network;
|
|
||||||
StartupNotify=false
|
|
||||||
Terminal=false
|
|
||||||
Type=Application
|
|
||||||
MimeType=x-scheme-handler/zcash;
|
|
||||||
Actions=Testnet;
|
|
||||||
|
|
||||||
[Desktop Action Testnet]
|
|
||||||
Exec=sh -c "PATH=\"\\$HOME/.local/bin:\\$PATH\" electrum-zcash --testnet %u"
|
|
||||||
Name=Testnet mode
|
|
|
@ -28,7 +28,7 @@ import sys
|
||||||
|
|
||||||
script_dir = os.path.dirname(os.path.realpath(__file__))
|
script_dir = os.path.dirname(os.path.realpath(__file__))
|
||||||
is_bundle = getattr(sys, 'frozen', False)
|
is_bundle = getattr(sys, 'frozen', False)
|
||||||
is_local = not is_bundle and os.path.exists(os.path.join(script_dir, "electrum-zcash.desktop"))
|
is_local = not is_bundle and os.path.exists(os.path.join(script_dir, "electrum-zclassic.desktop"))
|
||||||
is_android = 'ANDROID_DATA' in os.environ
|
is_android = 'ANDROID_DATA' in os.environ
|
||||||
|
|
||||||
# move this back to gui/kivy/__init.py once plugins are moved
|
# move this back to gui/kivy/__init.py once plugins are moved
|
||||||
|
@ -67,24 +67,24 @@ if not is_android:
|
||||||
# load local module as electrum
|
# load local module as electrum
|
||||||
if is_local or is_android:
|
if is_local or is_android:
|
||||||
import imp
|
import imp
|
||||||
imp.load_module('electrum_zcash', *imp.find_module('lib'))
|
imp.load_module('electrum_zclassic', *imp.find_module('lib'))
|
||||||
imp.load_module('electrum_zcash_gui', *imp.find_module('gui'))
|
imp.load_module('electrum_zclassic_gui', *imp.find_module('gui'))
|
||||||
imp.load_module('electrum_zcash_plugins', *imp.find_module('plugins'))
|
imp.load_module('electrum_zclassic_plugins', *imp.find_module('plugins'))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
from electrum_zcash import bitcoin, util
|
from electrum_zclassic import bitcoin, util
|
||||||
from electrum_zcash import constants
|
from electrum_zclassic import constants
|
||||||
from electrum_zcash import SimpleConfig, Network
|
from electrum_zclassic import SimpleConfig, Network
|
||||||
from electrum_zcash.wallet import Wallet, Imported_Wallet
|
from electrum_zclassic.wallet import Wallet, Imported_Wallet
|
||||||
from electrum_zcash.storage import WalletStorage, get_derivation_used_for_hw_device_encryption
|
from electrum_zclassic.storage import WalletStorage, get_derivation_used_for_hw_device_encryption
|
||||||
from electrum_zcash.util import print_msg, print_stderr, json_encode, json_decode, UserCancelled
|
from electrum_zclassic.util import print_msg, print_stderr, json_encode, json_decode, UserCancelled
|
||||||
from electrum_zcash.util import set_verbosity, InvalidPassword
|
from electrum_zclassic.util import set_verbosity, InvalidPassword
|
||||||
from electrum_zcash.commands import get_parser, known_commands, Commands, config_variables
|
from electrum_zclassic.commands import get_parser, known_commands, Commands, config_variables
|
||||||
from electrum_zcash import daemon
|
from electrum_zclassic import daemon
|
||||||
from electrum_zcash import keystore
|
from electrum_zclassic import keystore
|
||||||
from electrum_zcash.mnemonic import Mnemonic
|
from electrum_zclassic.mnemonic import Mnemonic
|
||||||
import electrum_zcash_plugins
|
import electrum_zclassic_plugins
|
||||||
|
|
||||||
# get password routine
|
# get password routine
|
||||||
def prompt_password(prompt, confirm=True):
|
def prompt_password(prompt, confirm=True):
|
||||||
|
@ -178,7 +178,7 @@ def init_daemon(config_options):
|
||||||
storage = WalletStorage(config.get_wallet_path())
|
storage = WalletStorage(config.get_wallet_path())
|
||||||
if not storage.file_exists():
|
if not storage.file_exists():
|
||||||
print_msg("Error: Wallet file not found.")
|
print_msg("Error: Wallet file not found.")
|
||||||
print_msg("Type 'electrum-zcash create' to create a new wallet, or provide a path to a wallet with the -w option")
|
print_msg("Type 'electrum-zclassic create' to create a new wallet, or provide a path to a wallet with the -w option")
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
if storage.is_encrypted():
|
if storage.is_encrypted():
|
||||||
if storage.is_encrypted_with_hw_device():
|
if storage.is_encrypted_with_hw_device():
|
||||||
|
@ -216,7 +216,7 @@ def init_cmdline(config_options, server):
|
||||||
|
|
||||||
if cmd.requires_wallet and not storage.file_exists():
|
if cmd.requires_wallet and not storage.file_exists():
|
||||||
print_msg("Error: Wallet file not found.")
|
print_msg("Error: Wallet file not found.")
|
||||||
print_msg("Type 'electrum-zcash create' to create a new wallet, or provide a path to a wallet with the -w option")
|
print_msg("Type 'electrum-zclassic create' to create a new wallet, or provide a path to a wallet with the -w option")
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
|
|
||||||
# important warning
|
# important warning
|
||||||
|
@ -329,7 +329,7 @@ def run_offline_command(config, config_options, plugins):
|
||||||
return result
|
return result
|
||||||
|
|
||||||
def init_plugins(config, gui_name):
|
def init_plugins(config, gui_name):
|
||||||
from electrum_zcash.plugins import Plugins
|
from electrum_zclassic.plugins import Plugins
|
||||||
return Plugins(config, is_local or is_android, gui_name)
|
return Plugins(config, is_local or is_android, gui_name)
|
||||||
|
|
||||||
|
|
||||||
|
@ -390,7 +390,7 @@ if __name__ == '__main__':
|
||||||
# check uri
|
# check uri
|
||||||
uri = config_options.get('url')
|
uri = config_options.get('url')
|
||||||
if uri:
|
if uri:
|
||||||
if not uri.startswith('zcash:'):
|
if not uri.startswith('zclassic:'):
|
||||||
print_stderr('unknown command:', uri)
|
print_stderr('unknown command:', uri)
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
config_options['url'] = uri
|
config_options['url'] = uri
|
||||||
|
@ -437,7 +437,7 @@ if __name__ == '__main__':
|
||||||
d = daemon.Daemon(config, fd, False)
|
d = daemon.Daemon(config, fd, False)
|
||||||
d.start()
|
d.start()
|
||||||
if config.get('websocket_server'):
|
if config.get('websocket_server'):
|
||||||
from electrum_zcash import websockets
|
from electrum_zclassic import websockets
|
||||||
websockets.WebSocketServer(config, d.network).start()
|
websockets.WebSocketServer(config, d.network).start()
|
||||||
if config.get('requests_dir'):
|
if config.get('requests_dir'):
|
||||||
path = os.path.join(config.get('requests_dir'), 'index.html')
|
path = os.path.join(config.get('requests_dir'), 'index.html')
|
||||||
|
@ -465,7 +465,7 @@ if __name__ == '__main__':
|
||||||
else:
|
else:
|
||||||
cmd = known_commands[cmdname]
|
cmd = known_commands[cmdname]
|
||||||
if cmd.requires_network:
|
if cmd.requires_network:
|
||||||
print_msg("Daemon not running; try 'electrum-zcash daemon start'")
|
print_msg("Daemon not running; try 'electrum-zclassic daemon start'")
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
else:
|
else:
|
||||||
plugins = init_plugins(config, 'cmdline')
|
plugins = init_plugins(config, 'cmdline')
|
|
@ -22,6 +22,6 @@ fi
|
||||||
|
|
||||||
export PYTHONPATH="/usr/local/lib/python${PYTHON_VER}/site-packages:$PYTHONPATH"
|
export PYTHONPATH="/usr/local/lib/python${PYTHON_VER}/site-packages:$PYTHONPATH"
|
||||||
|
|
||||||
./electrum-zcash "$@"
|
./electrum-zclassic "$@"
|
||||||
|
|
||||||
deactivate
|
deactivate
|
|
@ -1,7 +1,7 @@
|
||||||
# Configuration file for the Electrum-Zcash client
|
# Configuration file for the Electrum-Zclassic client
|
||||||
# Settings defined here are shared across wallets
|
# Settings defined here are shared across wallets
|
||||||
#
|
#
|
||||||
# copy this file to /etc/electrum-zcash.conf if you want read-only settings
|
# copy this file to /etc/electrum-zclassic.conf if you want read-only settings
|
||||||
|
|
||||||
[client]
|
[client]
|
||||||
server = electrum.novit.ro:50001:t
|
server = electrum.novit.ro:50001:t
|
|
@ -0,0 +1,21 @@
|
||||||
|
# If you want Electrum-Zclassic to appear in a Linux app launcher ("start menu"), install this by doing:
|
||||||
|
# sudo desktop-file-install electrum-zclassic.desktop
|
||||||
|
|
||||||
|
[Desktop Entry]
|
||||||
|
Comment=Lightweight Zclassic Client
|
||||||
|
Exec=sh -c "PATH=\"\\$HOME/.local/bin:\\$PATH\" electrum-zclassic %u"
|
||||||
|
GenericName[en_US]=Zclassic Wallet
|
||||||
|
GenericName=Zclassic Wallet
|
||||||
|
Icon=electrum-zclassic.png
|
||||||
|
Name[en_US]=Electrum-Zclassic Bitcoin Wallet
|
||||||
|
Name=Electrum-Zclassic Bitcoin Wallet
|
||||||
|
Categories=Finance;Network;
|
||||||
|
StartupNotify=false
|
||||||
|
Terminal=false
|
||||||
|
Type=Application
|
||||||
|
MimeType=x-scheme-handler/zclassic;
|
||||||
|
Actions=Testnet;
|
||||||
|
|
||||||
|
[Desktop Action Testnet]
|
||||||
|
Exec=sh -c "PATH=\"\\$HOME/.local/bin:\\$PATH\" electrum-zclassic --testnet %u"
|
||||||
|
Name=Testnet mode
|
|
@ -1,10 +1,10 @@
|
||||||
# Kivy GUI
|
# Kivy GUI
|
||||||
|
|
||||||
The Kivy GUI is used with Electrum-Zcash on Android devices. To generate an APK file, follow these instructions.
|
The Kivy GUI is used with Electrum-Zclassic on Android devices. To generate an APK file, follow these instructions.
|
||||||
|
|
||||||
## 1. Install python-for-android (p4a)
|
## 1. Install python-for-android (p4a)
|
||||||
p4a is used to package Electrum-Zcash, Python, SDL and a bootstrap Java app into an APK file.
|
p4a is used to package Electrum-Zclassic, Python, SDL and a bootstrap Java app into an APK file.
|
||||||
We patched p4a to add some functionality we need for Electrum-Zcash. Until those changes are
|
We patched p4a to add some functionality we need for Electrum-Zclassic. Until those changes are
|
||||||
merged into p4a, you need to merge them locally (into the master branch):
|
merged into p4a, you need to merge them locally (into the master branch):
|
||||||
|
|
||||||
1.1 [kivy/python-for-android#1217](https://github.com/kivy/python-for-android/pull/1217)
|
1.1 [kivy/python-for-android#1217](https://github.com/kivy/python-for-android/pull/1217)
|
||||||
|
@ -60,9 +60,9 @@ Extract into `/opt/crystax-ndk-10.3.2`
|
||||||
|
|
||||||
|
|
||||||
## 5. Create the UI Atlas
|
## 5. Create the UI Atlas
|
||||||
In the `gui/kivy` directory of Electrum-Zcash, run `make theming`.
|
In the `gui/kivy` directory of Electrum-Zclassic, run `make theming`.
|
||||||
|
|
||||||
## 6. Download Electrum-Zcash dependencies
|
## 6. Download Electrum-Zclassic dependencies
|
||||||
Run `contrib/make_packages`.
|
Run `contrib/make_packages`.
|
||||||
|
|
||||||
## 7. Build the APK
|
## 7. Build the APK
|
||||||
|
|
|
@ -36,7 +36,7 @@ class _(str):
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def switch_lang(lang):
|
def switch_lang(lang):
|
||||||
# get the right locales directory, and instanciate a gettext
|
# get the right locales directory, and instanciate a gettext
|
||||||
from electrum_zcash.i18n import LOCALE_DIR
|
from electrum_zclassic.i18n import LOCALE_DIR
|
||||||
locales = gettext.translation('electrum', LOCALE_DIR, languages=[lang], fallback=True)
|
locales = gettext.translation('electrum', LOCALE_DIR, languages=[lang], fallback=True)
|
||||||
_.lang = locales.gettext
|
_.lang = locales.gettext
|
||||||
for label in _.observers:
|
for label in _.observers:
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#:import Clock kivy.clock.Clock
|
#:import Clock kivy.clock.Clock
|
||||||
#:import Window kivy.core.window.Window
|
#:import Window kivy.core.window.Window
|
||||||
#:import Factory kivy.factory.Factory
|
#:import Factory kivy.factory.Factory
|
||||||
#:import _ electrum_zcash_gui.kivy.i18n._
|
#:import _ electrum_zclassic_gui.kivy.i18n._
|
||||||
|
|
||||||
|
|
||||||
###########################
|
###########################
|
||||||
|
|
|
@ -7,15 +7,15 @@ import traceback
|
||||||
from decimal import Decimal
|
from decimal import Decimal
|
||||||
import threading
|
import threading
|
||||||
|
|
||||||
import electrum_zcash
|
import electrum_zclassic
|
||||||
from electrum_zcash.bitcoin import TYPE_ADDRESS
|
from electrum_zclassic.bitcoin import TYPE_ADDRESS
|
||||||
from electrum_zcash import WalletStorage, Wallet
|
from electrum_zclassic import WalletStorage, Wallet
|
||||||
from electrum_zcash_gui.kivy.i18n import _
|
from electrum_zclassic_gui.kivy.i18n import _
|
||||||
from electrum_zcash.paymentrequest import InvoiceStore
|
from electrum_zclassic.paymentrequest import InvoiceStore
|
||||||
from electrum_zcash.util import profiler, InvalidPassword
|
from electrum_zclassic.util import profiler, InvalidPassword
|
||||||
from electrum_zcash.plugins import run_hook
|
from electrum_zclassic.plugins import run_hook
|
||||||
from electrum_zcash.util import format_satoshis, format_satoshis_plain
|
from electrum_zclassic.util import format_satoshis, format_satoshis_plain
|
||||||
from electrum_zcash.paymentrequest import PR_UNPAID, PR_PAID, PR_UNKNOWN, PR_EXPIRED
|
from electrum_zclassic.paymentrequest import PR_UNPAID, PR_PAID, PR_UNKNOWN, PR_EXPIRED
|
||||||
|
|
||||||
from kivy.app import App
|
from kivy.app import App
|
||||||
from kivy.core.window import Window
|
from kivy.core.window import Window
|
||||||
|
@ -30,10 +30,10 @@ from kivy.metrics import inch
|
||||||
from kivy.lang import Builder
|
from kivy.lang import Builder
|
||||||
|
|
||||||
## lazy imports for factory so that widgets can be used in kv
|
## lazy imports for factory so that widgets can be used in kv
|
||||||
#Factory.register('InstallWizard', module='electrum_zcash_gui.kivy.uix.dialogs.installwizard')
|
#Factory.register('InstallWizard', module='electrum_zclassic_gui.kivy.uix.dialogs.installwizard')
|
||||||
#Factory.register('InfoBubble', module='electrum_zcash_gui.kivy.uix.dialogs')
|
#Factory.register('InfoBubble', module='electrum_zclassic_gui.kivy.uix.dialogs')
|
||||||
#Factory.register('OutputList', module='electrum_zcash_gui.kivy.uix.dialogs')
|
#Factory.register('OutputList', module='electrum_zclassic_gui.kivy.uix.dialogs')
|
||||||
#Factory.register('OutputItem', module='electrum_zcash_gui.kivy.uix.dialogs')
|
#Factory.register('OutputItem', module='electrum_zclassic_gui.kivy.uix.dialogs')
|
||||||
|
|
||||||
from .uix.dialogs.installwizard import InstallWizard
|
from .uix.dialogs.installwizard import InstallWizard
|
||||||
from .uix.dialogs import InfoBubble
|
from .uix.dialogs import InfoBubble
|
||||||
|
@ -48,14 +48,14 @@ util = False
|
||||||
|
|
||||||
# register widget cache for keeping memory down timeout to forever to cache
|
# register widget cache for keeping memory down timeout to forever to cache
|
||||||
# the data
|
# the data
|
||||||
Cache.register('electrum_zcash_widgets', timeout=0)
|
Cache.register('electrum_zclassic_widgets', timeout=0)
|
||||||
|
|
||||||
from kivy.uix.screenmanager import Screen
|
from kivy.uix.screenmanager import Screen
|
||||||
from kivy.uix.tabbedpanel import TabbedPanel
|
from kivy.uix.tabbedpanel import TabbedPanel
|
||||||
from kivy.uix.label import Label
|
from kivy.uix.label import Label
|
||||||
from kivy.core.clipboard import Clipboard
|
from kivy.core.clipboard import Clipboard
|
||||||
|
|
||||||
Factory.register('TabbedCarousel', module='electrum_zcash_gui.kivy.uix.screens')
|
Factory.register('TabbedCarousel', module='electrum_zclassic_gui.kivy.uix.screens')
|
||||||
|
|
||||||
# Register fonts without this you won't be able to use bold/italic...
|
# Register fonts without this you won't be able to use bold/italic...
|
||||||
# inside markup.
|
# inside markup.
|
||||||
|
@ -67,7 +67,7 @@ Label.register('Roboto',
|
||||||
'gui/kivy/data/fonts/Roboto-Bold.ttf')
|
'gui/kivy/data/fonts/Roboto-Bold.ttf')
|
||||||
|
|
||||||
|
|
||||||
from electrum_zcash.util import base_units
|
from electrum_zclassic.util import base_units
|
||||||
|
|
||||||
|
|
||||||
class ElectrumWindow(App):
|
class ElectrumWindow(App):
|
||||||
|
@ -99,7 +99,7 @@ class ElectrumWindow(App):
|
||||||
from .uix.dialogs.choice_dialog import ChoiceDialog
|
from .uix.dialogs.choice_dialog import ChoiceDialog
|
||||||
protocol = 's'
|
protocol = 's'
|
||||||
def cb2(host):
|
def cb2(host):
|
||||||
from electrum_zcash import constants
|
from electrum_zclassic import constants
|
||||||
pp = servers.get(host, constants.net.DEFAULT_PORTS)
|
pp = servers.get(host, constants.net.DEFAULT_PORTS)
|
||||||
port = pp.get(protocol, '')
|
port = pp.get(protocol, '')
|
||||||
popup.ids.host.text = host
|
popup.ids.host.text = host
|
||||||
|
@ -132,7 +132,7 @@ class ElectrumWindow(App):
|
||||||
self.send_screen.set_URI(uri)
|
self.send_screen.set_URI(uri)
|
||||||
|
|
||||||
def on_new_intent(self, intent):
|
def on_new_intent(self, intent):
|
||||||
if intent.getScheme() != 'zcash':
|
if intent.getScheme() != 'zclassic':
|
||||||
return
|
return
|
||||||
uri = intent.getDataString()
|
uri = intent.getDataString()
|
||||||
self.set_URI(uri)
|
self.set_URI(uri)
|
||||||
|
@ -154,7 +154,7 @@ class ElectrumWindow(App):
|
||||||
self._trigger_update_history()
|
self._trigger_update_history()
|
||||||
|
|
||||||
def _get_bu(self):
|
def _get_bu(self):
|
||||||
return self.electrum_config.get('base_unit', 'ZEC')
|
return self.electrum_config.get('base_unit', 'ZCL')
|
||||||
|
|
||||||
def _set_bu(self, value):
|
def _set_bu(self, value):
|
||||||
assert value in base_units.keys()
|
assert value in base_units.keys()
|
||||||
|
@ -244,7 +244,7 @@ class ElectrumWindow(App):
|
||||||
|
|
||||||
App.__init__(self)#, **kwargs)
|
App.__init__(self)#, **kwargs)
|
||||||
|
|
||||||
title = _('Electrum-Zcash App')
|
title = _('Electrum-Zclassic App')
|
||||||
self.electrum_config = config = kwargs.get('config', None)
|
self.electrum_config = config = kwargs.get('config', None)
|
||||||
self.language = config.get('language', 'en')
|
self.language = config.get('language', 'en')
|
||||||
self.network = network = kwargs.get('network', None)
|
self.network = network = kwargs.get('network', None)
|
||||||
|
@ -298,17 +298,17 @@ class ElectrumWindow(App):
|
||||||
self.send_screen.do_clear()
|
self.send_screen.do_clear()
|
||||||
|
|
||||||
def on_qr(self, data):
|
def on_qr(self, data):
|
||||||
from electrum_zcash.bitcoin import base_decode, is_address
|
from electrum_zclassic.bitcoin import base_decode, is_address
|
||||||
data = data.strip()
|
data = data.strip()
|
||||||
if is_address(data):
|
if is_address(data):
|
||||||
self.set_URI(data)
|
self.set_URI(data)
|
||||||
return
|
return
|
||||||
if data.startswith('zcash:'):
|
if data.startswith('zclassic:'):
|
||||||
self.set_URI(data)
|
self.set_URI(data)
|
||||||
return
|
return
|
||||||
# try to decode transaction
|
# try to decode transaction
|
||||||
from electrum_zcash.transaction import Transaction
|
from electrum_zclassic.transaction import Transaction
|
||||||
from electrum_zcash.util import bh2u
|
from electrum_zclassic.util import bh2u
|
||||||
try:
|
try:
|
||||||
text = bh2u(base_decode(data, None, base=43))
|
text = bh2u(base_decode(data, None, base=43))
|
||||||
tx = Transaction(text)
|
tx = Transaction(text)
|
||||||
|
@ -345,7 +345,7 @@ class ElectrumWindow(App):
|
||||||
self.receive_screen.screen.address = addr
|
self.receive_screen.screen.address = addr
|
||||||
|
|
||||||
def show_pr_details(self, req, status, is_invoice):
|
def show_pr_details(self, req, status, is_invoice):
|
||||||
from electrum_zcash.util import format_time
|
from electrum_zclassic.util import format_time
|
||||||
requestor = req.get('requestor')
|
requestor = req.get('requestor')
|
||||||
exp = req.get('exp')
|
exp = req.get('exp')
|
||||||
memo = req.get('memo')
|
memo = req.get('memo')
|
||||||
|
@ -367,7 +367,7 @@ class ElectrumWindow(App):
|
||||||
popup.open()
|
popup.open()
|
||||||
|
|
||||||
def show_addr_details(self, req, status):
|
def show_addr_details(self, req, status):
|
||||||
from electrum_zcash.util import format_time
|
from electrum_zclassic.util import format_time
|
||||||
fund = req.get('fund')
|
fund = req.get('fund')
|
||||||
isaddr = 'y'
|
isaddr = 'y'
|
||||||
popup = Builder.load_file('gui/kivy/uix/ui_screens/invoice.kv')
|
popup = Builder.load_file('gui/kivy/uix/ui_screens/invoice.kv')
|
||||||
|
@ -450,7 +450,7 @@ class ElectrumWindow(App):
|
||||||
self.fiat_unit = self.fx.ccy if self.fx.is_enabled() else ''
|
self.fiat_unit = self.fx.ccy if self.fx.is_enabled() else ''
|
||||||
# default tab
|
# default tab
|
||||||
self.switch_to('history')
|
self.switch_to('history')
|
||||||
# bind intent for zcash: URI scheme
|
# bind intent for zclassic: URI scheme
|
||||||
if platform == 'android':
|
if platform == 'android':
|
||||||
from android import activity
|
from android import activity
|
||||||
from jnius import autoclass
|
from jnius import autoclass
|
||||||
|
@ -497,7 +497,7 @@ class ElectrumWindow(App):
|
||||||
else:
|
else:
|
||||||
self.load_wallet(wallet)
|
self.load_wallet(wallet)
|
||||||
else:
|
else:
|
||||||
Logger.debug('Electrum-Zcash: Wallet not found. Launching install wizard')
|
Logger.debug('Electrum-Zclassic: Wallet not found. Launching install wizard')
|
||||||
storage = WalletStorage(path)
|
storage = WalletStorage(path)
|
||||||
wizard = Factory.InstallWizard(self.electrum_config, storage)
|
wizard = Factory.InstallWizard(self.electrum_config, storage)
|
||||||
wizard.bind(on_wizard_complete=self.on_wizard_complete)
|
wizard.bind(on_wizard_complete=self.on_wizard_complete)
|
||||||
|
@ -573,13 +573,13 @@ class ElectrumWindow(App):
|
||||||
|
|
||||||
#setup lazy imports for mainscreen
|
#setup lazy imports for mainscreen
|
||||||
Factory.register('AnimatedPopup',
|
Factory.register('AnimatedPopup',
|
||||||
module='electrum_zcash_gui.kivy.uix.dialogs')
|
module='electrum_zclassic_gui.kivy.uix.dialogs')
|
||||||
Factory.register('QRCodeWidget',
|
Factory.register('QRCodeWidget',
|
||||||
module='electrum_zcash_gui.kivy.uix.qrcodewidget')
|
module='electrum_zclassic_gui.kivy.uix.qrcodewidget')
|
||||||
|
|
||||||
# preload widgets. Remove this if you want to load the widgets on demand
|
# preload widgets. Remove this if you want to load the widgets on demand
|
||||||
#Cache.append('electrum_zcash_widgets', 'AnimatedPopup', Factory.AnimatedPopup())
|
#Cache.append('electrum_zclassic_widgets', 'AnimatedPopup', Factory.AnimatedPopup())
|
||||||
#Cache.append('electrum_zcash_widgets', 'QRCodeWidget', Factory.QRCodeWidget())
|
#Cache.append('electrum_zclassic_widgets', 'QRCodeWidget', Factory.QRCodeWidget())
|
||||||
|
|
||||||
# load and focus the ui
|
# load and focus the ui
|
||||||
self.root.manager = self.root.ids['manager']
|
self.root.manager = self.root.ids['manager']
|
||||||
|
@ -591,7 +591,7 @@ class ElectrumWindow(App):
|
||||||
self.receive_screen = None
|
self.receive_screen = None
|
||||||
self.requests_screen = None
|
self.requests_screen = None
|
||||||
self.address_screen = None
|
self.address_screen = None
|
||||||
self.icon = "icons/electrum-zcash.png"
|
self.icon = "icons/electrum-zclassic.png"
|
||||||
self.tabs = self.root.ids['tabs']
|
self.tabs = self.root.ids['tabs']
|
||||||
|
|
||||||
def update_interfaces(self, dt):
|
def update_interfaces(self, dt):
|
||||||
|
@ -684,7 +684,7 @@ class ElectrumWindow(App):
|
||||||
from plyer import notification
|
from plyer import notification
|
||||||
icon = (os.path.dirname(os.path.realpath(__file__))
|
icon = (os.path.dirname(os.path.realpath(__file__))
|
||||||
+ '/../../' + self.icon)
|
+ '/../../' + self.icon)
|
||||||
notification.notify('Electrum-Zcash', message,
|
notification.notify('Electrum-Zclassic', message,
|
||||||
app_icon=icon, app_name='Electrum')
|
app_icon=icon, app_name='Electrum')
|
||||||
except ImportError:
|
except ImportError:
|
||||||
Logger.Error('Notification: needs plyer; `sudo pip install plyer`')
|
Logger.Error('Notification: needs plyer; `sudo pip install plyer`')
|
||||||
|
|
|
@ -41,4 +41,4 @@ class NFCBase(Widget):
|
||||||
NFCScanner = core_select_lib('nfc_manager', (
|
NFCScanner = core_select_lib('nfc_manager', (
|
||||||
# keep the dummy implementation as the last one to make it the fallback provider.NFCScanner = core_select_lib('nfc_scanner', (
|
# keep the dummy implementation as the last one to make it the fallback provider.NFCScanner = core_select_lib('nfc_scanner', (
|
||||||
('android', 'scanner_android', 'ScannerAndroid'),
|
('android', 'scanner_android', 'ScannerAndroid'),
|
||||||
('dummy', 'scanner_dummy', 'ScannerDummy')), True, 'electrum_zcash_gui.kivy')
|
('dummy', 'scanner_dummy', 'ScannerDummy')), True, 'electrum_zclassic_gui.kivy')
|
||||||
|
|
|
@ -10,7 +10,7 @@ if platform != 'android':
|
||||||
raise ImportError
|
raise ImportError
|
||||||
import threading
|
import threading
|
||||||
|
|
||||||
from electrum_zcash_gui.kivy.nfc_scanner import NFCBase
|
from electrum_zclassic_gui.kivy.nfc_scanner import NFCBase
|
||||||
from jnius import autoclass, cast
|
from jnius import autoclass, cast
|
||||||
from android.runnable import run_on_ui_thread
|
from android.runnable import run_on_ui_thread
|
||||||
from android import activity
|
from android import activity
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
''' Dummy NFC Provider to be used on desktops in case no other provider is found
|
''' Dummy NFC Provider to be used on desktops in case no other provider is found
|
||||||
'''
|
'''
|
||||||
from electrum_zcash_gui.kivy.nfc_scanner import NFCBase
|
from electrum_zclassic_gui.kivy.nfc_scanner import NFCBase
|
||||||
from kivy.clock import Clock
|
from kivy.clock import Clock
|
||||||
from kivy.logger import Logger
|
from kivy.logger import Logger
|
||||||
|
|
||||||
|
|
|
@ -3,5 +3,5 @@
|
||||||
<action android:name="android.nfc.action.NDEF_DISCOVERED"/>
|
<action android:name="android.nfc.action.NDEF_DISCOVERED"/>
|
||||||
<category android:name="android.intent.category.DEFAULT" />
|
<category android:name="android.intent.category.DEFAULT" />
|
||||||
<category android:name="android.intent.category.BROWSABLE" />
|
<category android:name="android.intent.category.BROWSABLE" />
|
||||||
<data android:scheme="zcash" />
|
<data android:scheme="zclassic" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
[app]
|
[app]
|
||||||
|
|
||||||
# (str) Title of your application
|
# (str) Title of your application
|
||||||
title = Electrum-Zcash
|
title = Electrum-Zclassic
|
||||||
|
|
||||||
# (str) Package name
|
# (str) Package name
|
||||||
package.name = Electrum-Zcash
|
package.name = Electrum-Zclassic
|
||||||
|
|
||||||
# (str) Package domain (needed for android/ios packaging)
|
# (str) Package domain (needed for android/ios packaging)
|
||||||
package.domain = cash.z.electrum
|
package.domain = cash.z.electrum
|
||||||
|
|
|
@ -8,7 +8,7 @@ from kivy.lang import Builder
|
||||||
from kivy.factory import Factory
|
from kivy.factory import Factory
|
||||||
from kivy.clock import Clock
|
from kivy.clock import Clock
|
||||||
|
|
||||||
from electrum_zcash_gui.kivy.i18n import _
|
from electrum_zclassic_gui.kivy.i18n import _
|
||||||
|
|
||||||
Builder.load_string('''
|
Builder.load_string('''
|
||||||
<MenuItem@Button>
|
<MenuItem@Button>
|
||||||
|
|
|
@ -4,7 +4,7 @@ from kivy.factory import Factory
|
||||||
from kivy.properties import NumericProperty, StringProperty, BooleanProperty
|
from kivy.properties import NumericProperty, StringProperty, BooleanProperty
|
||||||
from kivy.core.window import Window
|
from kivy.core.window import Window
|
||||||
|
|
||||||
from electrum_zcash_gui.kivy.i18n import _
|
from electrum_zclassic_gui.kivy.i18n import _
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -93,8 +93,8 @@ Builder.load_string('''
|
||||||
''')
|
''')
|
||||||
|
|
||||||
|
|
||||||
from electrum_zcash_gui.kivy.i18n import _
|
from electrum_zclassic_gui.kivy.i18n import _
|
||||||
from electrum_zcash_gui.kivy.uix.context_menu import ContextMenu
|
from electrum_zclassic_gui.kivy.uix.context_menu import ContextMenu
|
||||||
|
|
||||||
|
|
||||||
class EmptyLabel(Factory.Label):
|
class EmptyLabel(Factory.Label):
|
||||||
|
|
|
@ -3,7 +3,7 @@ from kivy.factory import Factory
|
||||||
from kivy.properties import ObjectProperty
|
from kivy.properties import ObjectProperty
|
||||||
from kivy.lang import Builder
|
from kivy.lang import Builder
|
||||||
|
|
||||||
from electrum_zcash_gui.kivy.i18n import _
|
from electrum_zclassic_gui.kivy.i18n import _
|
||||||
|
|
||||||
Builder.load_string('''
|
Builder.load_string('''
|
||||||
<FeeDialog@Popup>
|
<FeeDialog@Popup>
|
||||||
|
|
|
@ -66,7 +66,7 @@ from kivy.uix.checkbox import CheckBox
|
||||||
from kivy.uix.widget import Widget
|
from kivy.uix.widget import Widget
|
||||||
from kivy.clock import Clock
|
from kivy.clock import Clock
|
||||||
|
|
||||||
from electrum_zcash_gui.kivy.i18n import _
|
from electrum_zclassic_gui.kivy.i18n import _
|
||||||
from functools import partial
|
from functools import partial
|
||||||
|
|
||||||
class FxDialog(Factory.Popup):
|
class FxDialog(Factory.Popup):
|
||||||
|
|
|
@ -14,7 +14,7 @@ from kivy.core.window import Window
|
||||||
from kivy.clock import Clock
|
from kivy.clock import Clock
|
||||||
from kivy.utils import platform
|
from kivy.utils import platform
|
||||||
|
|
||||||
from electrum_zcash.base_wizard import BaseWizard
|
from electrum_zclassic.base_wizard import BaseWizard
|
||||||
|
|
||||||
|
|
||||||
from . import EventsDialog
|
from . import EventsDialog
|
||||||
|
@ -28,7 +28,7 @@ test_xpub = "xpub661MyMwAqRbcEbvVtRRSjqxVnaWVUMewVzMiURAKyYratih4TtBpMypzzefmv8z
|
||||||
|
|
||||||
Builder.load_string('''
|
Builder.load_string('''
|
||||||
#:import Window kivy.core.window.Window
|
#:import Window kivy.core.window.Window
|
||||||
#:import _ electrum_zcash_gui.kivy.i18n._
|
#:import _ electrum_zclassic_gui.kivy.i18n._
|
||||||
|
|
||||||
|
|
||||||
<WizardTextInput@TextInput>
|
<WizardTextInput@TextInput>
|
||||||
|
@ -559,8 +559,8 @@ class RestoreSeedDialog(WizardDialog):
|
||||||
def __init__(self, wizard, **kwargs):
|
def __init__(self, wizard, **kwargs):
|
||||||
super(RestoreSeedDialog, self).__init__(wizard, **kwargs)
|
super(RestoreSeedDialog, self).__init__(wizard, **kwargs)
|
||||||
self._test = kwargs['test']
|
self._test = kwargs['test']
|
||||||
from electrum_zcash.mnemonic import Mnemonic
|
from electrum_zclassic.mnemonic import Mnemonic
|
||||||
from electrum_zcash.old_mnemonic import words as old_wordlist
|
from electrum_zclassic.old_mnemonic import words as old_wordlist
|
||||||
self.words = set(Mnemonic('en').wordlist).union(set(old_wordlist))
|
self.words = set(Mnemonic('en').wordlist).union(set(old_wordlist))
|
||||||
self.ids.text_input_seed.text = test_seed if is_test else ''
|
self.ids.text_input_seed.text = test_seed if is_test else ''
|
||||||
self.message = _('Please type your seed phrase using the virtual keyboard.')
|
self.message = _('Please type your seed phrase using the virtual keyboard.')
|
||||||
|
|
|
@ -76,10 +76,10 @@ Builder.load_string('''
|
||||||
''')
|
''')
|
||||||
|
|
||||||
from kivy.properties import BooleanProperty
|
from kivy.properties import BooleanProperty
|
||||||
from electrum_zcash_gui.kivy.i18n import _
|
from electrum_zclassic_gui.kivy.i18n import _
|
||||||
from electrum_zcash.util import format_time
|
from electrum_zclassic.util import format_time
|
||||||
from electrum_zcash.paymentrequest import PR_UNPAID, PR_PAID, PR_UNKNOWN, PR_EXPIRED
|
from electrum_zclassic.paymentrequest import PR_UNPAID, PR_PAID, PR_UNKNOWN, PR_EXPIRED
|
||||||
from electrum_zcash_gui.kivy.uix.context_menu import ContextMenu
|
from electrum_zclassic_gui.kivy.uix.context_menu import ContextMenu
|
||||||
|
|
||||||
invoice_text = {
|
invoice_text = {
|
||||||
PR_UNPAID:_('Pending'),
|
PR_UNPAID:_('Pending'),
|
||||||
|
|
|
@ -8,7 +8,7 @@ class NFCTransactionDialog(AnimatedPopup):
|
||||||
# Delayed Init
|
# Delayed Init
|
||||||
global NFCSCanner
|
global NFCSCanner
|
||||||
if NFCSCanner is None:
|
if NFCSCanner is None:
|
||||||
from electrum_zcash_gui.kivy.nfc_scanner import NFCScanner
|
from electrum_zclassic_gui.kivy.nfc_scanner import NFCScanner
|
||||||
self.scanner = NFCSCanner
|
self.scanner = NFCSCanner
|
||||||
|
|
||||||
super(NFCTransactionDialog, self).__init__(**kwargs)
|
super(NFCTransactionDialog, self).__init__(**kwargs)
|
||||||
|
|
|
@ -5,14 +5,14 @@ from kivy.lang import Builder
|
||||||
from decimal import Decimal
|
from decimal import Decimal
|
||||||
from kivy.clock import Clock
|
from kivy.clock import Clock
|
||||||
|
|
||||||
from electrum_zcash.util import InvalidPassword
|
from electrum_zclassic.util import InvalidPassword
|
||||||
from electrum_zcash_gui.kivy.i18n import _
|
from electrum_zclassic_gui.kivy.i18n import _
|
||||||
|
|
||||||
Builder.load_string('''
|
Builder.load_string('''
|
||||||
|
|
||||||
<PasswordDialog@Popup>
|
<PasswordDialog@Popup>
|
||||||
id: popup
|
id: popup
|
||||||
title: 'Electrum-Zcash'
|
title: 'Electrum-Zclassic'
|
||||||
message: ''
|
message: ''
|
||||||
BoxLayout:
|
BoxLayout:
|
||||||
size_hint: 1, 1
|
size_hint: 1, 1
|
||||||
|
@ -82,7 +82,7 @@ class PasswordDialog(Factory.Popup):
|
||||||
self.is_change = is_change
|
self.is_change = is_change
|
||||||
self.pw = None
|
self.pw = None
|
||||||
self.new_password = None
|
self.new_password = None
|
||||||
self.title = 'Electrum-Zcash' + (' - ' + self.wallet.basename() if self.wallet else '')
|
self.title = 'Electrum-Zclassic' + (' - ' + self.wallet.basename() if self.wallet else '')
|
||||||
|
|
||||||
def check_password(self, password):
|
def check_password(self, password):
|
||||||
if self.is_change > 1:
|
if self.is_change > 1:
|
||||||
|
|
|
@ -2,7 +2,7 @@ from kivy.app import App
|
||||||
from kivy.factory import Factory
|
from kivy.factory import Factory
|
||||||
from kivy.lang import Builder
|
from kivy.lang import Builder
|
||||||
|
|
||||||
Factory.register('QRScanner', module='electrum_zcash_gui.kivy.qr_scanner')
|
Factory.register('QRScanner', module='electrum_zclassic_gui.kivy.qr_scanner')
|
||||||
|
|
||||||
class QrScannerDialog(Factory.AnimatedPopup):
|
class QrScannerDialog(Factory.AnimatedPopup):
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@ from kivy.uix.checkbox import CheckBox
|
||||||
from kivy.uix.label import Label
|
from kivy.uix.label import Label
|
||||||
from kivy.uix.widget import Widget
|
from kivy.uix.widget import Widget
|
||||||
|
|
||||||
from electrum_zcash_gui.kivy.i18n import _
|
from electrum_zclassic_gui.kivy.i18n import _
|
||||||
|
|
||||||
Builder.load_string('''
|
Builder.load_string('''
|
||||||
<Question@Popup>
|
<Question@Popup>
|
||||||
|
|
|
@ -74,10 +74,10 @@ Builder.load_string('''
|
||||||
''')
|
''')
|
||||||
|
|
||||||
from kivy.properties import BooleanProperty
|
from kivy.properties import BooleanProperty
|
||||||
from electrum_zcash_gui.kivy.i18n import _
|
from electrum_zclassic_gui.kivy.i18n import _
|
||||||
from electrum_zcash.util import format_time
|
from electrum_zclassic.util import format_time
|
||||||
from electrum_zcash.paymentrequest import PR_UNPAID, PR_PAID, PR_UNKNOWN, PR_EXPIRED
|
from electrum_zclassic.paymentrequest import PR_UNPAID, PR_PAID, PR_UNKNOWN, PR_EXPIRED
|
||||||
from electrum_zcash_gui.kivy.uix.context_menu import ContextMenu
|
from electrum_zclassic_gui.kivy.uix.context_menu import ContextMenu
|
||||||
|
|
||||||
pr_icon = {
|
pr_icon = {
|
||||||
PR_UNPAID: 'atlas://gui/kivy/theming/light/important',
|
PR_UNPAID: 'atlas://gui/kivy/theming/light/important',
|
||||||
|
|
|
@ -3,21 +3,21 @@ from kivy.factory import Factory
|
||||||
from kivy.properties import ObjectProperty
|
from kivy.properties import ObjectProperty
|
||||||
from kivy.lang import Builder
|
from kivy.lang import Builder
|
||||||
|
|
||||||
from electrum_zcash.util import base_units
|
from electrum_zclassic.util import base_units
|
||||||
from electrum_zcash.i18n import languages
|
from electrum_zclassic.i18n import languages
|
||||||
from electrum_zcash_gui.kivy.i18n import _
|
from electrum_zclassic_gui.kivy.i18n import _
|
||||||
from electrum_zcash.plugins import run_hook
|
from electrum_zclassic.plugins import run_hook
|
||||||
from electrum_zcash import coinchooser
|
from electrum_zclassic import coinchooser
|
||||||
|
|
||||||
from .choice_dialog import ChoiceDialog
|
from .choice_dialog import ChoiceDialog
|
||||||
|
|
||||||
Builder.load_string('''
|
Builder.load_string('''
|
||||||
#:import partial functools.partial
|
#:import partial functools.partial
|
||||||
#:import _ electrum_zcash_gui.kivy.i18n._
|
#:import _ electrum_zclassic_gui.kivy.i18n._
|
||||||
|
|
||||||
<SettingsDialog@Popup>
|
<SettingsDialog@Popup>
|
||||||
id: settings
|
id: settings
|
||||||
title: _('Electrum-Zcash Settings')
|
title: _('Electrum-Zclassic Settings')
|
||||||
disable_pin: False
|
disable_pin: False
|
||||||
use_encryption: False
|
use_encryption: False
|
||||||
BoxLayout:
|
BoxLayout:
|
||||||
|
@ -44,7 +44,7 @@ Builder.load_string('''
|
||||||
SettingsItem:
|
SettingsItem:
|
||||||
bu: app.base_unit
|
bu: app.base_unit
|
||||||
title: _('Denomination') + ': ' + self.bu
|
title: _('Denomination') + ': ' + self.bu
|
||||||
description: _("Base unit for Zcash amounts.")
|
description: _("Base unit for Zclassic amounts.")
|
||||||
action: partial(root.unit_dialog, self)
|
action: partial(root.unit_dialog, self)
|
||||||
CardSeparator
|
CardSeparator
|
||||||
SettingsItem:
|
SettingsItem:
|
||||||
|
|
|
@ -5,9 +5,9 @@ from kivy.lang import Builder
|
||||||
from kivy.clock import Clock
|
from kivy.clock import Clock
|
||||||
from kivy.uix.label import Label
|
from kivy.uix.label import Label
|
||||||
|
|
||||||
from electrum_zcash_gui.kivy.i18n import _
|
from electrum_zclassic_gui.kivy.i18n import _
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from electrum_zcash.util import InvalidPassword
|
from electrum_zclassic.util import InvalidPassword
|
||||||
|
|
||||||
Builder.load_string('''
|
Builder.load_string('''
|
||||||
|
|
||||||
|
@ -148,7 +148,7 @@ class TxDialog(Factory.Popup):
|
||||||
self.app.broadcast(self.tx)
|
self.app.broadcast(self.tx)
|
||||||
|
|
||||||
def show_qr(self):
|
def show_qr(self):
|
||||||
from electrum_zcash.bitcoin import base_encode, bfh
|
from electrum_zclassic.bitcoin import base_encode, bfh
|
||||||
text = bfh(str(self.tx))
|
text = bfh(str(self.tx))
|
||||||
text = base_encode(text, base=43)
|
text = base_encode(text, base=43)
|
||||||
self.app.qr_dialog(_("Raw Transaction"), text)
|
self.app.qr_dialog(_("Raw Transaction"), text)
|
||||||
|
|
|
@ -5,7 +5,7 @@ from kivy.factory import Factory
|
||||||
from kivy.properties import ObjectProperty
|
from kivy.properties import ObjectProperty
|
||||||
from kivy.lang import Builder
|
from kivy.lang import Builder
|
||||||
|
|
||||||
from electrum_zcash.util import base_units
|
from electrum_zclassic.util import base_units
|
||||||
|
|
||||||
from ...i18n import _
|
from ...i18n import _
|
||||||
from .label_dialog import LabelDialog
|
from .label_dialog import LabelDialog
|
||||||
|
|
|
@ -7,7 +7,7 @@ from kivy.uix.bubble import Bubble, BubbleButton
|
||||||
from kivy.properties import ListProperty
|
from kivy.properties import ListProperty
|
||||||
from kivy.uix.widget import Widget
|
from kivy.uix.widget import Widget
|
||||||
|
|
||||||
from electrum_zcash_gui.kivy.i18n import _
|
from electrum_zclassic_gui.kivy.i18n import _
|
||||||
|
|
||||||
class ContextMenuItem(Widget):
|
class ContextMenuItem(Widget):
|
||||||
'''abstract class
|
'''abstract class
|
||||||
|
|
|
@ -17,15 +17,15 @@ from kivy.lang import Builder
|
||||||
from kivy.factory import Factory
|
from kivy.factory import Factory
|
||||||
from kivy.utils import platform
|
from kivy.utils import platform
|
||||||
|
|
||||||
from electrum_zcash.util import profiler, parse_URI, format_time, InvalidPassword, NotEnoughFunds, Fiat
|
from electrum_zclassic.util import profiler, parse_URI, format_time, InvalidPassword, NotEnoughFunds, Fiat
|
||||||
from electrum_zcash import bitcoin
|
from electrum_zclassic import bitcoin
|
||||||
from electrum_zcash.util import timestamp_to_datetime
|
from electrum_zclassic.util import timestamp_to_datetime
|
||||||
from electrum_zcash.paymentrequest import PR_UNPAID, PR_PAID, PR_UNKNOWN, PR_EXPIRED
|
from electrum_zclassic.paymentrequest import PR_UNPAID, PR_PAID, PR_UNKNOWN, PR_EXPIRED
|
||||||
|
|
||||||
from .context_menu import ContextMenu
|
from .context_menu import ContextMenu
|
||||||
|
|
||||||
|
|
||||||
from electrum_zcash_gui.kivy.i18n import _
|
from electrum_zclassic_gui.kivy.i18n import _
|
||||||
|
|
||||||
|
|
||||||
class CScreen(Factory.Screen):
|
class CScreen(Factory.Screen):
|
||||||
|
@ -170,11 +170,11 @@ class SendScreen(CScreen):
|
||||||
payment_request = None
|
payment_request = None
|
||||||
|
|
||||||
def set_URI(self, text):
|
def set_URI(self, text):
|
||||||
import electrum_zcash
|
import electrum_zclassic
|
||||||
try:
|
try:
|
||||||
uri = electrum_zcash.util.parse_URI(text, self.app.on_pr)
|
uri = electrum_zclassic.util.parse_URI(text, self.app.on_pr)
|
||||||
except:
|
except:
|
||||||
self.app.show_info(_("Not a Zcash URI"))
|
self.app.show_info(_("Not a Zclassic URI"))
|
||||||
return
|
return
|
||||||
amount = uri.get('amount')
|
amount = uri.get('amount')
|
||||||
self.screen.address = uri.get('address', '')
|
self.screen.address = uri.get('address', '')
|
||||||
|
@ -212,7 +212,7 @@ class SendScreen(CScreen):
|
||||||
# it should be already saved
|
# it should be already saved
|
||||||
return
|
return
|
||||||
# save address as invoice
|
# save address as invoice
|
||||||
from electrum_zcash.paymentrequest import make_unsigned_request, PaymentRequest
|
from electrum_zclassic.paymentrequest import make_unsigned_request, PaymentRequest
|
||||||
req = {'address':self.screen.address, 'memo':self.screen.message}
|
req = {'address':self.screen.address, 'memo':self.screen.message}
|
||||||
amount = self.app.get_amount(self.screen.amount) if self.screen.amount else 0
|
amount = self.app.get_amount(self.screen.amount) if self.screen.amount else 0
|
||||||
req['amount'] = amount
|
req['amount'] = amount
|
||||||
|
@ -243,10 +243,10 @@ class SendScreen(CScreen):
|
||||||
else:
|
else:
|
||||||
address = str(self.screen.address)
|
address = str(self.screen.address)
|
||||||
if not address:
|
if not address:
|
||||||
self.app.show_error(_('Recipient not specified.') + ' ' + _('Please scan a Zcash address or a payment request'))
|
self.app.show_error(_('Recipient not specified.') + ' ' + _('Please scan a Zclassic address or a payment request'))
|
||||||
return
|
return
|
||||||
if not bitcoin.is_address(address):
|
if not bitcoin.is_address(address):
|
||||||
self.app.show_error(_('Invalid Zcash Address') + ':\n' + address)
|
self.app.show_error(_('Invalid Zclassic Address') + ':\n' + address)
|
||||||
return
|
return
|
||||||
try:
|
try:
|
||||||
amount = self.app.get_amount(self.screen.amount)
|
amount = self.app.get_amount(self.screen.amount)
|
||||||
|
@ -340,7 +340,7 @@ class ReceiveScreen(CScreen):
|
||||||
Clock.schedule_once(lambda dt: self.update_qr())
|
Clock.schedule_once(lambda dt: self.update_qr())
|
||||||
|
|
||||||
def get_URI(self):
|
def get_URI(self):
|
||||||
from electrum_zcash.util import create_URI
|
from electrum_zclassic.util import create_URI
|
||||||
amount = self.screen.amount
|
amount = self.screen.amount
|
||||||
if amount:
|
if amount:
|
||||||
a, u = self.screen.amount.split()
|
a, u = self.screen.amount.split()
|
||||||
|
@ -356,7 +356,7 @@ class ReceiveScreen(CScreen):
|
||||||
|
|
||||||
def do_share(self):
|
def do_share(self):
|
||||||
uri = self.get_URI()
|
uri = self.get_URI()
|
||||||
self.app.do_share(uri, _("Share Zcash Request"))
|
self.app.do_share(uri, _("Share Zclassic Request"))
|
||||||
|
|
||||||
def do_copy(self):
|
def do_copy(self):
|
||||||
uri = self.get_URI()
|
uri = self.get_URI()
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#:import VERSION electrum_zcash.version.ELECTRUM_VERSION
|
#:import VERSION electrum_zclassic.version.ELECTRUM_VERSION
|
||||||
|
|
||||||
Popup:
|
Popup:
|
||||||
title: _("About Electrum-Zcash")
|
title: _("About Electrum-Zclassic")
|
||||||
BoxLayout:
|
BoxLayout:
|
||||||
orientation: 'vertical'
|
orientation: 'vertical'
|
||||||
spacing: '10dp'
|
spacing: '10dp'
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#:import _ electrum_zcash_gui.kivy.i18n._
|
#:import _ electrum_zclassic_gui.kivy.i18n._
|
||||||
#:import Factory kivy.factory.Factory
|
#:import Factory kivy.factory.Factory
|
||||||
#:set font_light 'gui/kivy/data/fonts/Roboto-Condensed.ttf'
|
#:set font_light 'gui/kivy/data/fonts/Roboto-Condensed.ttf'
|
||||||
#:set btc_symbol chr(171)
|
#:set btc_symbol chr(171)
|
||||||
|
|
|
@ -13,7 +13,7 @@ Popup:
|
||||||
SettingsItem:
|
SettingsItem:
|
||||||
value: _("{} connections.").format(app.num_nodes) if app.num_nodes else _("Not connected")
|
value: _("{} connections.").format(app.num_nodes) if app.num_nodes else _("Not connected")
|
||||||
title: _("Status") + ': ' + self.value
|
title: _("Status") + ': ' + self.value
|
||||||
description: _("Connections with Electrum-Zcash servers")
|
description: _("Connections with Electrum-Zclassic servers")
|
||||||
action: lambda x: None
|
action: lambda x: None
|
||||||
|
|
||||||
CardSeparator
|
CardSeparator
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#:import _ electrum_zcash_gui.kivy.i18n._
|
#:import _ electrum_zclassic_gui.kivy.i18n._
|
||||||
#:import Decimal decimal.Decimal
|
#:import Decimal decimal.Decimal
|
||||||
#:set btc_symbol chr(171)
|
#:set btc_symbol chr(171)
|
||||||
#:set mbtc_symbol chr(187)
|
#:set mbtc_symbol chr(187)
|
||||||
|
@ -68,7 +68,7 @@ ReceiveScreen:
|
||||||
pos_hint: {'center_y': .5}
|
pos_hint: {'center_y': .5}
|
||||||
BlueButton:
|
BlueButton:
|
||||||
id: address_label
|
id: address_label
|
||||||
text: s.address if s.address else _('Zcash Address')
|
text: s.address if s.address else _('Zclassic Address')
|
||||||
shorten: True
|
shorten: True
|
||||||
on_release: Clock.schedule_once(lambda dt: app.addresses_dialog(s))
|
on_release: Clock.schedule_once(lambda dt: app.addresses_dialog(s))
|
||||||
CardSeparator:
|
CardSeparator:
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#:import _ electrum_zcash_gui.kivy.i18n._
|
#:import _ electrum_zclassic_gui.kivy.i18n._
|
||||||
#:import Decimal decimal.Decimal
|
#:import Decimal decimal.Decimal
|
||||||
#:set btc_symbol chr(171)
|
#:set btc_symbol chr(171)
|
||||||
#:set mbtc_symbol chr(187)
|
#:set mbtc_symbol chr(187)
|
||||||
|
|
|
@ -6,7 +6,7 @@ Popup:
|
||||||
padding: '10dp'
|
padding: '10dp'
|
||||||
spacing: '10dp'
|
spacing: '10dp'
|
||||||
TopLabel:
|
TopLabel:
|
||||||
text: _("Electrum-Zcash requests your transaction history from a single server. The returned history is checked against blockchain headers sent by other nodes, using Simple Payment Verification (SPV).")
|
text: _("Electrum-Zclassic requests your transaction history from a single server. The returned history is checked against blockchain headers sent by other nodes, using Simple Payment Verification (SPV).")
|
||||||
font_size: '6pt'
|
font_size: '6pt'
|
||||||
Widget:
|
Widget:
|
||||||
size_hint: 1, 0.8
|
size_hint: 1, 0.8
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
Popup:
|
Popup:
|
||||||
title: "Electrum-Zcash"
|
title: "Electrum-Zclassic"
|
||||||
confirmed: 0
|
confirmed: 0
|
||||||
unconfirmed: 0
|
unconfirmed: 0
|
||||||
unmatured: 0
|
unmatured: 0
|
||||||
|
|
|
@ -38,15 +38,15 @@ from PyQt5.QtWidgets import *
|
||||||
from PyQt5.QtCore import *
|
from PyQt5.QtCore import *
|
||||||
import PyQt5.QtCore as QtCore
|
import PyQt5.QtCore as QtCore
|
||||||
|
|
||||||
from electrum_zcash.i18n import _, set_language
|
from electrum_zclassic.i18n import _, set_language
|
||||||
from electrum_zcash.plugins import run_hook
|
from electrum_zclassic.plugins import run_hook
|
||||||
from electrum_zcash import WalletStorage
|
from electrum_zclassic import WalletStorage
|
||||||
# from electrum_zcash.synchronizer import Synchronizer
|
# from electrum_zclassic.synchronizer import Synchronizer
|
||||||
# from electrum_zcash.verifier import SPV
|
# from electrum_zclassic.verifier import SPV
|
||||||
# from electrum_zcash.util import DebugMem
|
# from electrum_zclassic.util import DebugMem
|
||||||
from electrum_zcash.util import (UserCancelled, print_error,
|
from electrum_zclassic.util import (UserCancelled, print_error,
|
||||||
WalletFileException, BitcoinException)
|
WalletFileException, BitcoinException)
|
||||||
# from electrum_zcash.wallet import Abstract_Wallet
|
# from electrum_zclassic.wallet import Abstract_Wallet
|
||||||
|
|
||||||
from .installwizard import InstallWizard, GoBack
|
from .installwizard import InstallWizard, GoBack
|
||||||
|
|
||||||
|
@ -56,7 +56,7 @@ try:
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(e)
|
print(e)
|
||||||
print("Error: Could not find icons file.")
|
print("Error: Could not find icons file.")
|
||||||
print("Please run 'pyrcc5 icons.qrc -o gui/qt/icons_rc.py', and reinstall Electrum-Zcash")
|
print("Please run 'pyrcc5 icons.qrc -o gui/qt/icons_rc.py', and reinstall Electrum-Zclassic")
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
from .util import * # * needed for plugins
|
from .util import * # * needed for plugins
|
||||||
|
@ -97,7 +97,7 @@ class ElectrumGui:
|
||||||
if hasattr(QtCore.Qt, "AA_ShareOpenGLContexts"):
|
if hasattr(QtCore.Qt, "AA_ShareOpenGLContexts"):
|
||||||
QtCore.QCoreApplication.setAttribute(QtCore.Qt.AA_ShareOpenGLContexts)
|
QtCore.QCoreApplication.setAttribute(QtCore.Qt.AA_ShareOpenGLContexts)
|
||||||
if hasattr(QGuiApplication, 'setDesktopFileName'):
|
if hasattr(QGuiApplication, 'setDesktopFileName'):
|
||||||
QGuiApplication.setDesktopFileName('electrum-zcash.desktop')
|
QGuiApplication.setDesktopFileName('electrum-zclassic.desktop')
|
||||||
self.config = config
|
self.config = config
|
||||||
self.daemon = daemon
|
self.daemon = daemon
|
||||||
self.plugins = plugins
|
self.plugins = plugins
|
||||||
|
@ -111,7 +111,7 @@ class ElectrumGui:
|
||||||
# init tray
|
# init tray
|
||||||
self.dark_icon = self.config.get("dark_icon", False)
|
self.dark_icon = self.config.get("dark_icon", False)
|
||||||
self.tray = QSystemTrayIcon(self.tray_icon(), None)
|
self.tray = QSystemTrayIcon(self.tray_icon(), None)
|
||||||
self.tray.setToolTip('Electrum-Zcash')
|
self.tray.setToolTip('Electrum-Zclassic')
|
||||||
self.tray.activated.connect(self.tray_activated)
|
self.tray.activated.connect(self.tray_activated)
|
||||||
self.build_tray_menu()
|
self.build_tray_menu()
|
||||||
self.tray.show()
|
self.tray.show()
|
||||||
|
@ -133,7 +133,7 @@ class ElectrumGui:
|
||||||
submenu.addAction(_("Close"), window.close)
|
submenu.addAction(_("Close"), window.close)
|
||||||
m.addAction(_("Dark/Light"), self.toggle_tray_icon)
|
m.addAction(_("Dark/Light"), self.toggle_tray_icon)
|
||||||
m.addSeparator()
|
m.addSeparator()
|
||||||
m.addAction(_("Exit Electrum-Zcash"), self.close)
|
m.addAction(_("Exit Electrum-Zclassic"), self.close)
|
||||||
|
|
||||||
def tray_icon(self):
|
def tray_icon(self):
|
||||||
if self.dark_icon:
|
if self.dark_icon:
|
||||||
|
@ -165,7 +165,7 @@ class ElectrumGui:
|
||||||
|
|
||||||
def show_network_dialog(self, parent):
|
def show_network_dialog(self, parent):
|
||||||
if not self.daemon.network:
|
if not self.daemon.network:
|
||||||
parent.show_warning(_('You are using Electrum-Zcash in offline mode; restart Electrum-Zcash if you want to get connected'), title=_('Offline'))
|
parent.show_warning(_('You are using Electrum-Zclassic in offline mode; restart Electrum-Zclassic if you want to get connected'), title=_('Offline'))
|
||||||
return
|
return
|
||||||
if self.nd:
|
if self.nd:
|
||||||
self.nd.on_update()
|
self.nd.on_update()
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
# SOFTWARE.
|
# SOFTWARE.
|
||||||
|
|
||||||
from electrum_zcash.i18n import _
|
from electrum_zclassic.i18n import _
|
||||||
|
|
||||||
from PyQt5.QtCore import *
|
from PyQt5.QtCore import *
|
||||||
from PyQt5.QtGui import *
|
from PyQt5.QtGui import *
|
||||||
|
|
|
@ -24,10 +24,10 @@
|
||||||
# SOFTWARE.
|
# SOFTWARE.
|
||||||
import webbrowser
|
import webbrowser
|
||||||
|
|
||||||
from electrum_zcash.i18n import _
|
from electrum_zclassic.i18n import _
|
||||||
from electrum_zcash.util import block_explorer_URL
|
from electrum_zclassic.util import block_explorer_URL
|
||||||
from electrum_zcash.plugins import run_hook
|
from electrum_zclassic.plugins import run_hook
|
||||||
from electrum_zcash.bitcoin import is_address
|
from electrum_zclassic.bitcoin import is_address
|
||||||
|
|
||||||
from .util import *
|
from .util import *
|
||||||
|
|
||||||
|
@ -138,7 +138,7 @@ class AddressList(MyTreeWidget):
|
||||||
self.setCurrentItem(address_item)
|
self.setCurrentItem(address_item)
|
||||||
|
|
||||||
def create_menu(self, position):
|
def create_menu(self, position):
|
||||||
from electrum_zcash.wallet import Multisig_Wallet
|
from electrum_zclassic.wallet import Multisig_Wallet
|
||||||
is_multisig = isinstance(self.wallet, Multisig_Wallet)
|
is_multisig = isinstance(self.wallet, Multisig_Wallet)
|
||||||
can_delete = self.wallet.can_delete_address()
|
can_delete = self.wallet.can_delete_address()
|
||||||
selected = self.selectedItems()
|
selected = self.selectedItems()
|
||||||
|
|
|
@ -5,7 +5,7 @@ from PyQt5.QtGui import *
|
||||||
from PyQt5.QtWidgets import (QLineEdit, QStyle, QStyleOptionFrame)
|
from PyQt5.QtWidgets import (QLineEdit, QStyle, QStyleOptionFrame)
|
||||||
|
|
||||||
from decimal import Decimal
|
from decimal import Decimal
|
||||||
from electrum_zcash.util import format_satoshis_plain
|
from electrum_zclassic.util import format_satoshis_plain
|
||||||
|
|
||||||
|
|
||||||
class MyLineEdit(QLineEdit):
|
class MyLineEdit(QLineEdit):
|
||||||
|
@ -82,11 +82,11 @@ class BTCAmountEdit(AmountEdit):
|
||||||
def _base_unit(self):
|
def _base_unit(self):
|
||||||
p = self.decimal_point()
|
p = self.decimal_point()
|
||||||
if p == 8:
|
if p == 8:
|
||||||
return 'ZEC'
|
return 'ZCL'
|
||||||
if p == 5:
|
if p == 5:
|
||||||
return 'mZEC'
|
return 'mZCL'
|
||||||
if p == 2:
|
if p == 2:
|
||||||
return 'uZEC'
|
return 'uZCL'
|
||||||
raise Exception('Unknown base unit')
|
raise Exception('Unknown base unit')
|
||||||
|
|
||||||
def get_amount(self):
|
def get_amount(self):
|
||||||
|
|
|
@ -6,7 +6,7 @@ import traceback, platform
|
||||||
from PyQt5 import QtCore
|
from PyQt5 import QtCore
|
||||||
from PyQt5 import QtGui
|
from PyQt5 import QtGui
|
||||||
from PyQt5 import QtWidgets
|
from PyQt5 import QtWidgets
|
||||||
from electrum_zcash import util
|
from electrum_zclassic import util
|
||||||
|
|
||||||
|
|
||||||
if platform.system() == 'Windows':
|
if platform.system() == 'Windows':
|
||||||
|
|
|
@ -24,10 +24,10 @@
|
||||||
# SOFTWARE.
|
# SOFTWARE.
|
||||||
import webbrowser
|
import webbrowser
|
||||||
|
|
||||||
from electrum_zcash.i18n import _
|
from electrum_zclassic.i18n import _
|
||||||
from electrum_zcash.bitcoin import is_address
|
from electrum_zclassic.bitcoin import is_address
|
||||||
from electrum_zcash.util import block_explorer_URL
|
from electrum_zclassic.util import block_explorer_URL
|
||||||
from electrum_zcash.plugins import run_hook
|
from electrum_zclassic.plugins import run_hook
|
||||||
from PyQt5.QtGui import *
|
from PyQt5.QtGui import *
|
||||||
from PyQt5.QtCore import *
|
from PyQt5.QtCore import *
|
||||||
from PyQt5.QtWidgets import (
|
from PyQt5.QtWidgets import (
|
||||||
|
|
|
@ -35,8 +35,8 @@ import PyQt5.QtCore as QtCore
|
||||||
from PyQt5.QtGui import QIcon
|
from PyQt5.QtGui import QIcon
|
||||||
from PyQt5.QtWidgets import *
|
from PyQt5.QtWidgets import *
|
||||||
|
|
||||||
from electrum_zcash.i18n import _
|
from electrum_zclassic.i18n import _
|
||||||
from electrum_zcash import ELECTRUM_VERSION, bitcoin, constants
|
from electrum_zclassic import ELECTRUM_VERSION, bitcoin, constants
|
||||||
|
|
||||||
from .util import MessageBoxMixin
|
from .util import MessageBoxMixin
|
||||||
|
|
||||||
|
@ -47,7 +47,7 @@ issue_template = """<h2>Traceback</h2>
|
||||||
|
|
||||||
<h2>Additional information</h2>
|
<h2>Additional information</h2>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Electrum-Zcash version: {app_version}</li>
|
<li>Electrum-Zclassic version: {app_version}</li>
|
||||||
<li>Operating system: {os}</li>
|
<li>Operating system: {os}</li>
|
||||||
<li>Wallet type: {wallet_type}</li>
|
<li>Wallet type: {wallet_type}</li>
|
||||||
<li>Locale: {locale}</li>
|
<li>Locale: {locale}</li>
|
||||||
|
@ -63,14 +63,14 @@ class Exception_Window(QWidget, MessageBoxMixin):
|
||||||
self.exc_args = (exctype, value, tb)
|
self.exc_args = (exctype, value, tb)
|
||||||
self.main_window = main_window
|
self.main_window = main_window
|
||||||
QWidget.__init__(self)
|
QWidget.__init__(self)
|
||||||
self.setWindowTitle('Electrum-Zcash - ' + _('An Error Occurred'))
|
self.setWindowTitle('Electrum-Zclassic - ' + _('An Error Occurred'))
|
||||||
self.setMinimumSize(600, 300)
|
self.setMinimumSize(600, 300)
|
||||||
|
|
||||||
main_box = QVBoxLayout()
|
main_box = QVBoxLayout()
|
||||||
|
|
||||||
heading = QLabel('<h2>' + _('Sorry!') + '</h2>')
|
heading = QLabel('<h2>' + _('Sorry!') + '</h2>')
|
||||||
main_box.addWidget(heading)
|
main_box.addWidget(heading)
|
||||||
main_box.addWidget(QLabel(_('Something went wrong while executing Electrum-Zcash.')))
|
main_box.addWidget(QLabel(_('Something went wrong while executing Electrum-Zclassic.')))
|
||||||
|
|
||||||
main_box.addWidget(QLabel(
|
main_box.addWidget(QLabel(
|
||||||
_('To help us diagnose and fix the problem, you can send us a bug report that contains useful debug '
|
_('To help us diagnose and fix the problem, you can send us a bug report that contains useful debug '
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
from electrum_zcash.i18n import _
|
from electrum_zclassic.i18n import _
|
||||||
from PyQt5.QtGui import *
|
from PyQt5.QtGui import *
|
||||||
from PyQt5.QtCore import *
|
from PyQt5.QtCore import *
|
||||||
from PyQt5.QtWidgets import QSlider, QToolTip
|
from PyQt5.QtWidgets import QSlider, QToolTip
|
||||||
|
|
|
@ -26,13 +26,13 @@
|
||||||
import webbrowser
|
import webbrowser
|
||||||
import datetime
|
import datetime
|
||||||
|
|
||||||
from electrum_zcash.wallet import AddTransactionException, TX_HEIGHT_LOCAL
|
from electrum_zclassic.wallet import AddTransactionException, TX_HEIGHT_LOCAL
|
||||||
from .util import *
|
from .util import *
|
||||||
from electrum_zcash.i18n import _
|
from electrum_zclassic.i18n import _
|
||||||
from electrum_zcash.util import block_explorer_URL, profiler
|
from electrum_zclassic.util import block_explorer_URL, profiler
|
||||||
|
|
||||||
try:
|
try:
|
||||||
from electrum_zcash.plot import plot_history, NothingToPlotException
|
from electrum_zclassic.plot import plot_history, NothingToPlotException
|
||||||
except:
|
except:
|
||||||
plot_history = None
|
plot_history = None
|
||||||
|
|
||||||
|
@ -376,7 +376,7 @@ class HistoryList(MyTreeWidget, AcceptFileDragDrop):
|
||||||
d = WindowModalDialog(self, _('Export History'))
|
d = WindowModalDialog(self, _('Export History'))
|
||||||
d.setMinimumSize(400, 200)
|
d.setMinimumSize(400, 200)
|
||||||
vbox = QVBoxLayout(d)
|
vbox = QVBoxLayout(d)
|
||||||
defaultname = os.path.expanduser('~/electrum-zcash-history.csv')
|
defaultname = os.path.expanduser('~/electrum-zclassic-history.csv')
|
||||||
select_msg = _('Select file to export your wallet transactions to')
|
select_msg = _('Select file to export your wallet transactions to')
|
||||||
hbox, filename_e, csv_button = filename_field(self, self.config, defaultname, select_msg)
|
hbox, filename_e, csv_button = filename_field(self, self.config, defaultname, select_msg)
|
||||||
vbox.addLayout(hbox)
|
vbox.addLayout(hbox)
|
||||||
|
@ -393,7 +393,7 @@ class HistoryList(MyTreeWidget, AcceptFileDragDrop):
|
||||||
try:
|
try:
|
||||||
self.do_export_history(self.wallet, filename, csv_button.isChecked())
|
self.do_export_history(self.wallet, filename, csv_button.isChecked())
|
||||||
except (IOError, os.error) as reason:
|
except (IOError, os.error) as reason:
|
||||||
export_error_label = _("Electrum-Zcash was unable to produce a transaction export.")
|
export_error_label = _("Electrum-Zclassic was unable to produce a transaction export.")
|
||||||
self.parent.show_critical(export_error_label + "\n" + str(reason), title=_("Unable to export history"))
|
self.parent.show_critical(export_error_label + "\n" + str(reason), title=_("Unable to export history"))
|
||||||
return
|
return
|
||||||
self.parent.show_message(_("Your wallet history has been successfully exported."))
|
self.parent.show_message(_("Your wallet history has been successfully exported."))
|
||||||
|
@ -414,5 +414,5 @@ class HistoryList(MyTreeWidget, AcceptFileDragDrop):
|
||||||
for line in lines:
|
for line in lines:
|
||||||
transaction.writerow(line)
|
transaction.writerow(line)
|
||||||
else:
|
else:
|
||||||
from electrum_zcash.util import json_encode
|
from electrum_zclassic.util import json_encode
|
||||||
f.write(json_encode(history))
|
f.write(json_encode(history))
|
||||||
|
|
|
@ -8,10 +8,10 @@ from PyQt5.QtCore import *
|
||||||
from PyQt5.QtGui import *
|
from PyQt5.QtGui import *
|
||||||
from PyQt5.QtWidgets import *
|
from PyQt5.QtWidgets import *
|
||||||
|
|
||||||
from electrum_zcash import Wallet, WalletStorage
|
from electrum_zclassic import Wallet, WalletStorage
|
||||||
from electrum_zcash.util import UserCancelled, InvalidPassword
|
from electrum_zclassic.util import UserCancelled, InvalidPassword
|
||||||
from electrum_zcash.base_wizard import BaseWizard, HWD_SETUP_DECRYPT_WALLET
|
from electrum_zclassic.base_wizard import BaseWizard, HWD_SETUP_DECRYPT_WALLET
|
||||||
from electrum_zcash.i18n import _
|
from electrum_zclassic.i18n import _
|
||||||
|
|
||||||
from .seed_dialog import SeedLayout, KeysLayout
|
from .seed_dialog import SeedLayout, KeysLayout
|
||||||
from .network_dialog import NetworkChoiceLayout
|
from .network_dialog import NetworkChoiceLayout
|
||||||
|
@ -97,7 +97,7 @@ class InstallWizard(QDialog, MessageBoxMixin, BaseWizard):
|
||||||
def __init__(self, config, app, plugins, storage):
|
def __init__(self, config, app, plugins, storage):
|
||||||
BaseWizard.__init__(self, config, storage)
|
BaseWizard.__init__(self, config, storage)
|
||||||
QDialog.__init__(self, None)
|
QDialog.__init__(self, None)
|
||||||
self.setWindowTitle('Electrum-Zcash - ' + _('Install Wizard'))
|
self.setWindowTitle('Electrum-Zclassic - ' + _('Install Wizard'))
|
||||||
self.app = app
|
self.app = app
|
||||||
self.config = config
|
self.config = config
|
||||||
# Set for base base class
|
# Set for base base class
|
||||||
|
@ -142,7 +142,7 @@ class InstallWizard(QDialog, MessageBoxMixin, BaseWizard):
|
||||||
hbox.setStretchFactor(scroll, 1)
|
hbox.setStretchFactor(scroll, 1)
|
||||||
outer_vbox.addLayout(hbox)
|
outer_vbox.addLayout(hbox)
|
||||||
outer_vbox.addLayout(Buttons(self.back_button, self.next_button))
|
outer_vbox.addLayout(Buttons(self.back_button, self.next_button))
|
||||||
self.set_icon(':icons/electrum-zcash.png')
|
self.set_icon(':icons/electrum-zclassic.png')
|
||||||
self.show()
|
self.show()
|
||||||
self.raise_()
|
self.raise_()
|
||||||
self.refresh_gui() # Need for QT on MacOSX. Lame.
|
self.refresh_gui() # Need for QT on MacOSX. Lame.
|
||||||
|
@ -169,7 +169,7 @@ class InstallWizard(QDialog, MessageBoxMixin, BaseWizard):
|
||||||
hbox2.addWidget(self.pw_e)
|
hbox2.addWidget(self.pw_e)
|
||||||
hbox2.addStretch()
|
hbox2.addStretch()
|
||||||
vbox.addLayout(hbox2)
|
vbox.addLayout(hbox2)
|
||||||
self.set_layout(vbox, title=_('Electrum-Zcash wallet'))
|
self.set_layout(vbox, title=_('Electrum-Zclassic wallet'))
|
||||||
|
|
||||||
wallet_folder = os.path.dirname(self.storage.path)
|
wallet_folder = os.path.dirname(self.storage.path)
|
||||||
|
|
||||||
|
@ -276,7 +276,7 @@ class InstallWizard(QDialog, MessageBoxMixin, BaseWizard):
|
||||||
path = self.storage.path
|
path = self.storage.path
|
||||||
if self.storage.requires_split():
|
if self.storage.requires_split():
|
||||||
self.hide()
|
self.hide()
|
||||||
msg = _("The wallet '{}' contains multiple accounts, which are no longer supported since Electrum-Zcash 2.7.\n\n"
|
msg = _("The wallet '{}' contains multiple accounts, which are no longer supported since Electrum-Zclassic 2.7.\n\n"
|
||||||
"Do you want to split your wallet into multiple files?").format(path)
|
"Do you want to split your wallet into multiple files?").format(path)
|
||||||
if not self.question(msg):
|
if not self.question(msg):
|
||||||
return
|
return
|
||||||
|
@ -540,10 +540,10 @@ class InstallWizard(QDialog, MessageBoxMixin, BaseWizard):
|
||||||
return None
|
return None
|
||||||
|
|
||||||
def init_network(self, network):
|
def init_network(self, network):
|
||||||
message = _("Electrum-Zcash communicates with remote servers to get "
|
message = _("Electrum-Zclassic communicates with remote servers to get "
|
||||||
"information about your transactions and addresses. The "
|
"information about your transactions and addresses. The "
|
||||||
"servers all fulfill the same purpose only differing in "
|
"servers all fulfill the same purpose only differing in "
|
||||||
"hardware. In most cases you simply want to let Electrum-Zcash "
|
"hardware. In most cases you simply want to let Electrum-Zclassic "
|
||||||
"pick one at random. However if you prefer feel free to "
|
"pick one at random. However if you prefer feel free to "
|
||||||
"select a server manually.")
|
"select a server manually.")
|
||||||
choices = [_("Auto connect"), _("Select server manually")]
|
choices = [_("Auto connect"), _("Select server manually")]
|
||||||
|
|
|
@ -23,8 +23,8 @@
|
||||||
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
# SOFTWARE.
|
# SOFTWARE.
|
||||||
|
|
||||||
from electrum_zcash.i18n import _
|
from electrum_zclassic.i18n import _
|
||||||
from electrum_zcash.util import format_time
|
from electrum_zclassic.util import format_time
|
||||||
|
|
||||||
from .util import *
|
from .util import *
|
||||||
|
|
||||||
|
|
|
@ -39,19 +39,19 @@ import PyQt5.QtCore as QtCore
|
||||||
from .exception_window import Exception_Hook
|
from .exception_window import Exception_Hook
|
||||||
from PyQt5.QtWidgets import *
|
from PyQt5.QtWidgets import *
|
||||||
|
|
||||||
from electrum_zcash import keystore, simple_config
|
from electrum_zclassic import keystore, simple_config
|
||||||
from electrum_zcash.bitcoin import COIN, is_address, TYPE_ADDRESS
|
from electrum_zclassic.bitcoin import COIN, is_address, TYPE_ADDRESS
|
||||||
from electrum_zcash import constants
|
from electrum_zclassic import constants
|
||||||
from electrum_zcash.plugins import run_hook
|
from electrum_zclassic.plugins import run_hook
|
||||||
from electrum_zcash.i18n import _
|
from electrum_zclassic.i18n import _
|
||||||
from electrum_zcash.util import (format_time, format_satoshis, PrintError,
|
from electrum_zclassic.util import (format_time, format_satoshis, PrintError,
|
||||||
format_satoshis_plain, NotEnoughFunds,
|
format_satoshis_plain, NotEnoughFunds,
|
||||||
UserCancelled, NoDynamicFeeEstimates, profiler,
|
UserCancelled, NoDynamicFeeEstimates, profiler,
|
||||||
export_meta, import_meta, bh2u, bfh, InvalidPassword)
|
export_meta, import_meta, bh2u, bfh, InvalidPassword)
|
||||||
from electrum_zcash import Transaction
|
from electrum_zclassic import Transaction
|
||||||
from electrum_zcash import util, bitcoin, commands, coinchooser
|
from electrum_zclassic import util, bitcoin, commands, coinchooser
|
||||||
from electrum_zcash import paymentrequest
|
from electrum_zclassic import paymentrequest
|
||||||
from electrum_zcash.wallet import Multisig_Wallet, AddTransactionException
|
from electrum_zclassic.wallet import Multisig_Wallet, AddTransactionException
|
||||||
|
|
||||||
from .amountedit import AmountEdit, BTCAmountEdit, MyLineEdit, FeerateEdit
|
from .amountedit import AmountEdit, BTCAmountEdit, MyLineEdit, FeerateEdit
|
||||||
from .qrcodewidget import QRCodeWidget, QRDialog
|
from .qrcodewidget import QRCodeWidget, QRDialog
|
||||||
|
@ -80,7 +80,7 @@ class StatusBarButton(QPushButton):
|
||||||
self.func()
|
self.func()
|
||||||
|
|
||||||
|
|
||||||
from electrum_zcash.paymentrequest import PR_PAID
|
from electrum_zclassic.paymentrequest import PR_PAID
|
||||||
|
|
||||||
|
|
||||||
class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
|
class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
|
||||||
|
@ -160,7 +160,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
|
||||||
if self.config.get("is_maximized"):
|
if self.config.get("is_maximized"):
|
||||||
self.showMaximized()
|
self.showMaximized()
|
||||||
|
|
||||||
self.setWindowIcon(QIcon(":icons/electrum-zcash.png"))
|
self.setWindowIcon(QIcon(":icons/electrum-zclassic.png"))
|
||||||
self.init_menubar()
|
self.init_menubar()
|
||||||
|
|
||||||
wrtabs = weakref.proxy(tabs)
|
wrtabs = weakref.proxy(tabs)
|
||||||
|
@ -375,7 +375,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
|
||||||
self.setGeometry(100, 100, 840, 400)
|
self.setGeometry(100, 100, 840, 400)
|
||||||
|
|
||||||
def watching_only_changed(self):
|
def watching_only_changed(self):
|
||||||
name = "Electrum-Zcash Testnet" if constants.net.TESTNET else "Electrum-Zcash"
|
name = "Electrum-Zclassic Testnet" if constants.net.TESTNET else "Electrum-Zclassic"
|
||||||
title = '%s %s - %s' % (name, self.wallet.electrum_version,
|
title = '%s %s - %s' % (name, self.wallet.electrum_version,
|
||||||
self.wallet.basename())
|
self.wallet.basename())
|
||||||
extra = [self.wallet.storage.get('wallet_type', '?')]
|
extra = [self.wallet.storage.get('wallet_type', '?')]
|
||||||
|
@ -393,8 +393,8 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
|
||||||
if self.wallet.is_watching_only():
|
if self.wallet.is_watching_only():
|
||||||
msg = ' '.join([
|
msg = ' '.join([
|
||||||
_("This wallet is watching-only."),
|
_("This wallet is watching-only."),
|
||||||
_("This means you will not be able to spend Zcash coins with it."),
|
_("This means you will not be able to spend Zclassic coins with it."),
|
||||||
_("Make sure you own the seed phrase or the private keys, before you request Zcash coins to be sent to this wallet.")
|
_("Make sure you own the seed phrase or the private keys, before you request Zclassic coins to be sent to this wallet.")
|
||||||
])
|
])
|
||||||
self.show_warning(msg, title=_('Information'))
|
self.show_warning(msg, title=_('Information'))
|
||||||
|
|
||||||
|
@ -422,7 +422,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
|
||||||
shutil.copy2(path, new_path)
|
shutil.copy2(path, new_path)
|
||||||
self.show_message(_("A copy of your wallet file was created in")+" '%s'" % str(new_path), title=_("Wallet backup created"))
|
self.show_message(_("A copy of your wallet file was created in")+" '%s'" % str(new_path), title=_("Wallet backup created"))
|
||||||
except BaseException as reason:
|
except BaseException as reason:
|
||||||
self.show_critical(_("Electrum-Zcash was unable to copy your wallet file to the specified location.") + "\n" + str(reason), title=_("Unable to create backup"))
|
self.show_critical(_("Electrum-Zclassic was unable to copy your wallet file to the specified location.") + "\n" + str(reason), title=_("Unable to create backup"))
|
||||||
|
|
||||||
def update_recently_visited(self, filename):
|
def update_recently_visited(self, filename):
|
||||||
recent = self.config.get('recently_open', [])
|
recent = self.config.get('recently_open', [])
|
||||||
|
@ -521,7 +521,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
|
||||||
tools_menu = menubar.addMenu(_("&Tools"))
|
tools_menu = menubar.addMenu(_("&Tools"))
|
||||||
|
|
||||||
# Settings / Preferences are all reserved keywords in macOS using this as work around
|
# Settings / Preferences are all reserved keywords in macOS using this as work around
|
||||||
tools_menu.addAction(_("Electrum-Zcash preferences") if sys.platform == 'darwin' else _("Preferences"), self.settings_dialog)
|
tools_menu.addAction(_("Electrum-Zclassic preferences") if sys.platform == 'darwin' else _("Preferences"), self.settings_dialog)
|
||||||
tools_menu.addAction(_("&Network"), lambda: self.gui_object.show_network_dialog(self))
|
tools_menu.addAction(_("&Network"), lambda: self.gui_object.show_network_dialog(self))
|
||||||
tools_menu.addAction(_("&Plugins"), self.plugins_dialog)
|
tools_menu.addAction(_("&Plugins"), self.plugins_dialog)
|
||||||
tools_menu.addSeparator()
|
tools_menu.addSeparator()
|
||||||
|
@ -541,9 +541,9 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
|
||||||
|
|
||||||
help_menu = menubar.addMenu(_("&Help"))
|
help_menu = menubar.addMenu(_("&Help"))
|
||||||
help_menu.addAction(_("&About"), self.show_about)
|
help_menu.addAction(_("&About"), self.show_about)
|
||||||
#help_menu.addAction(_("&Official website"), lambda: webbrowser.open("https://github.com/zebra-lucky/electrum-zcash"))
|
#help_menu.addAction(_("&Official website"), lambda: webbrowser.open("https://github.com/zebra-lucky/electrum-zclassic"))
|
||||||
help_menu.addSeparator()
|
help_menu.addSeparator()
|
||||||
#help_menu.addAction(_("&Documentation"), lambda: webbrowser.open("http://github.com/zebra-lucky/electrum-zcash")).setShortcut(QKeySequence.HelpContents)
|
#help_menu.addAction(_("&Documentation"), lambda: webbrowser.open("http://github.com/zebra-lucky/electrum-zclassic")).setShortcut(QKeySequence.HelpContents)
|
||||||
#self._auto_crash_reports = QAction(_("&Automated Crash Reports"), self, checkable=True)
|
#self._auto_crash_reports = QAction(_("&Automated Crash Reports"), self, checkable=True)
|
||||||
#self._auto_crash_reports.setChecked(self.config.get("show_crash_reporter", default=False))
|
#self._auto_crash_reports.setChecked(self.config.get("show_crash_reporter", default=False))
|
||||||
#self._auto_crash_reports.triggered.connect(self.auto_crash_reports)
|
#self._auto_crash_reports.triggered.connect(self.auto_crash_reports)
|
||||||
|
@ -562,24 +562,24 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
|
||||||
d = self.network.get_donation_address()
|
d = self.network.get_donation_address()
|
||||||
if d:
|
if d:
|
||||||
host = self.network.get_parameters()[0]
|
host = self.network.get_parameters()[0]
|
||||||
self.pay_to_URI('zcash:%s?message=donation for %s'%(d, host))
|
self.pay_to_URI('zclassic:%s?message=donation for %s'%(d, host))
|
||||||
else:
|
else:
|
||||||
self.show_error(_('No donation address for this server'))
|
self.show_error(_('No donation address for this server'))
|
||||||
|
|
||||||
def show_about(self):
|
def show_about(self):
|
||||||
QMessageBox.about(self, "Electrum-Zcash",
|
QMessageBox.about(self, "Electrum-Zclassic",
|
||||||
_("Version")+" %s" % (self.wallet.electrum_version) + "\n\n" +
|
_("Version")+" %s" % (self.wallet.electrum_version) + "\n\n" +
|
||||||
_("Electrum-Zcash focus is speed, with low resource usage and simplifying Bitcoin. You do not need to perform regular backups, because your wallet can be recovered from a secret phrase that you can memorize or write on paper. Startup times are instant because it operates in conjunction with high-performance servers that handle the most complicated parts of the Bitcoin system." + "\n\n" +
|
_("Electrum-Zclassic focus is speed, with low resource usage and simplifying Bitcoin. You do not need to perform regular backups, because your wallet can be recovered from a secret phrase that you can memorize or write on paper. Startup times are instant because it operates in conjunction with high-performance servers that handle the most complicated parts of the Bitcoin system." + "\n\n" +
|
||||||
_("Uses icons from the Icons8 icon pack (icons8.com).")))
|
_("Uses icons from the Icons8 icon pack (icons8.com).")))
|
||||||
|
|
||||||
def show_report_bug(self):
|
def show_report_bug(self):
|
||||||
msg = ' '.join([
|
msg = ' '.join([
|
||||||
_("Please report any bugs as issues on github:<br/>"),
|
_("Please report any bugs as issues on github:<br/>"),
|
||||||
"<a href=\"https://github.com/zebra-lucky/electrum-zcash/issues\">https://github.com/zebra-lucky/electrum-zcash/issues</a><br/><br/>",
|
"<a href=\"https://github.com/zebra-lucky/electrum-zclassic/issues\">https://github.com/zebra-lucky/electrum-zclassic/issues</a><br/><br/>",
|
||||||
_("Before reporting a bug, upgrade to the most recent version of Electrum-Zcash (latest release or git HEAD), and include the version number in your report."),
|
_("Before reporting a bug, upgrade to the most recent version of Electrum-Zclassic (latest release or git HEAD), and include the version number in your report."),
|
||||||
_("Try to explain not only what the bug is, but how it occurs.")
|
_("Try to explain not only what the bug is, but how it occurs.")
|
||||||
])
|
])
|
||||||
self.show_message(msg, title="Electrum-Zcash - " + _("Reporting Bugs"))
|
self.show_message(msg, title="Electrum-Zclassic - " + _("Reporting Bugs"))
|
||||||
|
|
||||||
def notify_transactions(self):
|
def notify_transactions(self):
|
||||||
if not self.network or not self.network.is_connected():
|
if not self.network or not self.network.is_connected():
|
||||||
|
@ -609,9 +609,9 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
|
||||||
if self.tray:
|
if self.tray:
|
||||||
try:
|
try:
|
||||||
# this requires Qt 5.9
|
# this requires Qt 5.9
|
||||||
self.tray.showMessage("Electrum-Zcash", message, QIcon(":icons/electrum_dark_icon"), 20000)
|
self.tray.showMessage("Electrum-Zclassic", message, QIcon(":icons/electrum_dark_icon"), 20000)
|
||||||
except TypeError:
|
except TypeError:
|
||||||
self.tray.showMessage("Electrum-Zcash", message, QSystemTrayIcon.Information, 20000)
|
self.tray.showMessage("Electrum-Zclassic", message, QSystemTrayIcon.Information, 20000)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -666,11 +666,11 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
|
||||||
def base_unit(self):
|
def base_unit(self):
|
||||||
assert self.decimal_point in [2, 5, 8]
|
assert self.decimal_point in [2, 5, 8]
|
||||||
if self.decimal_point == 2:
|
if self.decimal_point == 2:
|
||||||
return 'uZEC'
|
return 'uZCL'
|
||||||
if self.decimal_point == 5:
|
if self.decimal_point == 5:
|
||||||
return 'mZEC'
|
return 'mZCL'
|
||||||
if self.decimal_point == 8:
|
if self.decimal_point == 8:
|
||||||
return 'ZEC'
|
return 'ZCL'
|
||||||
raise Exception('Unknown base unit')
|
raise Exception('Unknown base unit')
|
||||||
|
|
||||||
def connect_fields(self, window, btc_e, fiat_e, fee_e):
|
def connect_fields(self, window, btc_e, fiat_e, fee_e):
|
||||||
|
@ -798,7 +798,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
|
||||||
self.receive_address_e = ButtonsLineEdit()
|
self.receive_address_e = ButtonsLineEdit()
|
||||||
self.receive_address_e.addCopyButton(self.app)
|
self.receive_address_e.addCopyButton(self.app)
|
||||||
self.receive_address_e.setReadOnly(True)
|
self.receive_address_e.setReadOnly(True)
|
||||||
msg = _('Zcash address where the payment should be received. Note that each payment request uses a different Zcash address.')
|
msg = _('Zclassic address where the payment should be received. Note that each payment request uses a different Zclassic address.')
|
||||||
self.receive_address_label = HelpLabel(_('Receiving address'), msg)
|
self.receive_address_label = HelpLabel(_('Receiving address'), msg)
|
||||||
self.receive_address_e.textChanged.connect(self.update_receive_qr)
|
self.receive_address_e.textChanged.connect(self.update_receive_qr)
|
||||||
self.receive_address_e.setFocusPolicy(Qt.ClickFocus)
|
self.receive_address_e.setFocusPolicy(Qt.ClickFocus)
|
||||||
|
@ -828,8 +828,8 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
|
||||||
msg = ' '.join([
|
msg = ' '.join([
|
||||||
_('Expiration date of your request.'),
|
_('Expiration date of your request.'),
|
||||||
_('This information is seen by the recipient if you send them a signed payment request.'),
|
_('This information is seen by the recipient if you send them a signed payment request.'),
|
||||||
_('Expired requests have to be deleted manually from your list, in order to free the corresponding Zcash addresses.'),
|
_('Expired requests have to be deleted manually from your list, in order to free the corresponding Zclassic addresses.'),
|
||||||
_('The Zcash address never expires and will always be part of this electrum-zcash wallet.'),
|
_('The Zclassic address never expires and will always be part of this electrum-zclassic wallet.'),
|
||||||
])
|
])
|
||||||
grid.addWidget(HelpLabel(_('Request expires'), msg), 3, 0)
|
grid.addWidget(HelpLabel(_('Request expires'), msg), 3, 0)
|
||||||
grid.addWidget(self.expires_combo, 3, 1)
|
grid.addWidget(self.expires_combo, 3, 1)
|
||||||
|
@ -1055,7 +1055,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
|
||||||
self.amount_e = BTCAmountEdit(self.get_decimal_point)
|
self.amount_e = BTCAmountEdit(self.get_decimal_point)
|
||||||
self.payto_e = PayToEdit(self)
|
self.payto_e = PayToEdit(self)
|
||||||
msg = _('Recipient of the funds.') + '\n\n'\
|
msg = _('Recipient of the funds.') + '\n\n'\
|
||||||
+ _('You may enter a Zcash address, a label from your list of contacts (a list of completions will be proposed), or an alias (email-like address that forwards to a Zcash address)')
|
+ _('You may enter a Zclassic address, a label from your list of contacts (a list of completions will be proposed), or an alias (email-like address that forwards to a Zclassic address)')
|
||||||
payto_label = HelpLabel(_('Pay to'), msg)
|
payto_label = HelpLabel(_('Pay to'), msg)
|
||||||
grid.addWidget(payto_label, 1, 0)
|
grid.addWidget(payto_label, 1, 0)
|
||||||
grid.addWidget(self.payto_e, 1, 1, 1, -1)
|
grid.addWidget(self.payto_e, 1, 1, 1, -1)
|
||||||
|
@ -1102,7 +1102,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
|
||||||
hbox.addStretch(1)
|
hbox.addStretch(1)
|
||||||
grid.addLayout(hbox, 4, 4)
|
grid.addLayout(hbox, 4, 4)
|
||||||
|
|
||||||
msg = _('Zcash transactions are in general not free. A transaction fee is paid by the sender of the funds.') + '\n\n'\
|
msg = _('Zclassic transactions are in general not free. A transaction fee is paid by the sender of the funds.') + '\n\n'\
|
||||||
+ _('The amount of fee can be decided freely by the sender. However, transactions with low fees take more time to be processed.') + '\n\n'\
|
+ _('The amount of fee can be decided freely by the sender. However, transactions with low fees take more time to be processed.') + '\n\n'\
|
||||||
+ _('A suggested fee is automatically added to this field. You may override it. The suggested fee increases with the size of the transaction.')
|
+ _('A suggested fee is automatically added to this field. You may override it. The suggested fee increases with the size of the transaction.')
|
||||||
self.fee_e_label = HelpLabel(_('Fee'), msg)
|
self.fee_e_label = HelpLabel(_('Fee'), msg)
|
||||||
|
@ -1163,7 +1163,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
|
||||||
|
|
||||||
def feerounding_onclick():
|
def feerounding_onclick():
|
||||||
text = (self.feerounding_text + '\n\n' +
|
text = (self.feerounding_text + '\n\n' +
|
||||||
_('To somewhat protect your privacy, Electrum-Zcash tries to create change with similar precision to other outputs.') + ' ' +
|
_('To somewhat protect your privacy, Electrum-Zclassic tries to create change with similar precision to other outputs.') + ' ' +
|
||||||
_('At most 100 satoshis might be lost due to this rounding.') + ' ' +
|
_('At most 100 satoshis might be lost due to this rounding.') + ' ' +
|
||||||
_("You can disable this setting in '{}'.").format(_('Preferences')) + '\n' +
|
_("You can disable this setting in '{}'.").format(_('Preferences')) + '\n' +
|
||||||
_('Also, dust is not kept as change, but added to the fee.'))
|
_('Also, dust is not kept as change, but added to the fee.'))
|
||||||
|
@ -1486,10 +1486,10 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
|
||||||
|
|
||||||
for _type, addr, amount in outputs:
|
for _type, addr, amount in outputs:
|
||||||
if addr is None:
|
if addr is None:
|
||||||
self.show_error(_('Zcash Address is None'))
|
self.show_error(_('Zclassic Address is None'))
|
||||||
return
|
return
|
||||||
if _type == TYPE_ADDRESS and not bitcoin.is_address(addr):
|
if _type == TYPE_ADDRESS and not bitcoin.is_address(addr):
|
||||||
self.show_error(_('Invalid Zcash Address'))
|
self.show_error(_('Invalid Zclassic Address'))
|
||||||
return
|
return
|
||||||
if amount is None:
|
if amount is None:
|
||||||
self.show_error(_('Invalid Amount'))
|
self.show_error(_('Invalid Amount'))
|
||||||
|
@ -1705,7 +1705,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
|
||||||
try:
|
try:
|
||||||
out = util.parse_URI(URI, self.on_pr)
|
out = util.parse_URI(URI, self.on_pr)
|
||||||
except BaseException as e:
|
except BaseException as e:
|
||||||
self.show_error(_('Invalid zcash URI:') + '\n' + str(e))
|
self.show_error(_('Invalid zclassic URI:') + '\n' + str(e))
|
||||||
return
|
return
|
||||||
self.show_send_tab()
|
self.show_send_tab()
|
||||||
r = out.get('r')
|
r = out.get('r')
|
||||||
|
@ -1964,7 +1964,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
|
||||||
self.send_button.setVisible(not self.wallet.is_watching_only())
|
self.send_button.setVisible(not self.wallet.is_watching_only())
|
||||||
|
|
||||||
def change_password_dialog(self):
|
def change_password_dialog(self):
|
||||||
from electrum_zcash.storage import STO_EV_XPUB_PW
|
from electrum_zclassic.storage import STO_EV_XPUB_PW
|
||||||
if self.wallet.get_available_storage_encryption_version() == STO_EV_XPUB_PW:
|
if self.wallet.get_available_storage_encryption_version() == STO_EV_XPUB_PW:
|
||||||
from .password_dialog import ChangePasswordDialogForHW
|
from .password_dialog import ChangePasswordDialogForHW
|
||||||
d = ChangePasswordDialogForHW(self, self.wallet)
|
d = ChangePasswordDialogForHW(self, self.wallet)
|
||||||
|
@ -2154,7 +2154,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
|
||||||
address = address.text().strip()
|
address = address.text().strip()
|
||||||
message = message.toPlainText().strip()
|
message = message.toPlainText().strip()
|
||||||
if not bitcoin.is_address(address):
|
if not bitcoin.is_address(address):
|
||||||
self.show_message(_('Invalid Zcash address.'))
|
self.show_message(_('Invalid Zclassic address.'))
|
||||||
return
|
return
|
||||||
if self.wallet.is_watching_only():
|
if self.wallet.is_watching_only():
|
||||||
self.show_message(_('This is a watching-only wallet.'))
|
self.show_message(_('This is a watching-only wallet.'))
|
||||||
|
@ -2182,7 +2182,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
|
||||||
address = address.text().strip()
|
address = address.text().strip()
|
||||||
message = message.toPlainText().strip().encode('utf-8')
|
message = message.toPlainText().strip().encode('utf-8')
|
||||||
if not bitcoin.is_address(address):
|
if not bitcoin.is_address(address):
|
||||||
self.show_message(_('Invalid Zcash address.'))
|
self.show_message(_('Invalid Zclassic address.'))
|
||||||
return
|
return
|
||||||
try:
|
try:
|
||||||
# This can throw on invalid base64
|
# This can throw on invalid base64
|
||||||
|
@ -2305,16 +2305,16 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
|
||||||
return d.run()
|
return d.run()
|
||||||
|
|
||||||
def tx_from_text(self, txt):
|
def tx_from_text(self, txt):
|
||||||
from electrum_zcash.transaction import tx_from_str
|
from electrum_zclassic.transaction import tx_from_str
|
||||||
try:
|
try:
|
||||||
tx = tx_from_str(txt)
|
tx = tx_from_str(txt)
|
||||||
return Transaction(tx)
|
return Transaction(tx)
|
||||||
except BaseException as e:
|
except BaseException as e:
|
||||||
self.show_critical(_("Electrum-Zcash was unable to parse your transaction") + ":\n" + str(e))
|
self.show_critical(_("Electrum-Zclassic was unable to parse your transaction") + ":\n" + str(e))
|
||||||
return
|
return
|
||||||
|
|
||||||
def read_tx_from_qrcode(self):
|
def read_tx_from_qrcode(self):
|
||||||
from electrum_zcash import qrscanner
|
from electrum_zclassic import qrscanner
|
||||||
try:
|
try:
|
||||||
data = qrscanner.scan_barcode(self.config.get_video_device())
|
data = qrscanner.scan_barcode(self.config.get_video_device())
|
||||||
except BaseException as e:
|
except BaseException as e:
|
||||||
|
@ -2322,8 +2322,8 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
|
||||||
return
|
return
|
||||||
if not data:
|
if not data:
|
||||||
return
|
return
|
||||||
# if the user scanned a zcash URI
|
# if the user scanned a zclassic URI
|
||||||
if str(data).startswith("zcash:"):
|
if str(data).startswith("zclassic:"):
|
||||||
self.pay_to_URI(data)
|
self.pay_to_URI(data)
|
||||||
return
|
return
|
||||||
# else if the user scanned an offline signed tx
|
# else if the user scanned an offline signed tx
|
||||||
|
@ -2345,7 +2345,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
|
||||||
with open(fileName, "r") as f:
|
with open(fileName, "r") as f:
|
||||||
file_content = f.read()
|
file_content = f.read()
|
||||||
except (ValueError, IOError, os.error) as reason:
|
except (ValueError, IOError, os.error) as reason:
|
||||||
self.show_critical(_("Electrum-Zcash was unable to open your transaction file") + "\n" + str(reason), title=_("Unable to read file or no transaction found"))
|
self.show_critical(_("Electrum-Zclassic was unable to open your transaction file") + "\n" + str(reason), title=_("Unable to read file or no transaction found"))
|
||||||
return
|
return
|
||||||
return self.tx_from_text(file_content)
|
return self.tx_from_text(file_content)
|
||||||
|
|
||||||
|
@ -2363,7 +2363,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
|
||||||
self.show_transaction(tx)
|
self.show_transaction(tx)
|
||||||
|
|
||||||
def do_process_from_txid(self):
|
def do_process_from_txid(self):
|
||||||
from electrum_zcash import transaction
|
from electrum_zclassic import transaction
|
||||||
txid, ok = QInputDialog.getText(self, _('Lookup transaction'), _('Transaction ID') + ':')
|
txid, ok = QInputDialog.getText(self, _('Lookup transaction'), _('Transaction ID') + ':')
|
||||||
if ok and txid:
|
if ok and txid:
|
||||||
txid = str(txid).strip()
|
txid = str(txid).strip()
|
||||||
|
@ -2398,7 +2398,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
|
||||||
e.setReadOnly(True)
|
e.setReadOnly(True)
|
||||||
vbox.addWidget(e)
|
vbox.addWidget(e)
|
||||||
|
|
||||||
defaultname = 'electrum-zcash-private-keys.csv'
|
defaultname = 'electrum-zclassic-private-keys.csv'
|
||||||
select_msg = _('Select file to export your private keys to')
|
select_msg = _('Select file to export your private keys to')
|
||||||
hbox, filename_e, csv_button = filename_field(self, self.config, defaultname, select_msg)
|
hbox, filename_e, csv_button = filename_field(self, self.config, defaultname, select_msg)
|
||||||
vbox.addLayout(hbox)
|
vbox.addLayout(hbox)
|
||||||
|
@ -2456,7 +2456,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
|
||||||
self.do_export_privkeys(filename, private_keys, csv_button.isChecked())
|
self.do_export_privkeys(filename, private_keys, csv_button.isChecked())
|
||||||
except (IOError, os.error) as reason:
|
except (IOError, os.error) as reason:
|
||||||
txt = "\n".join([
|
txt = "\n".join([
|
||||||
_("Electrum-Zcash was unable to produce a private key-export."),
|
_("Electrum-Zclassic was unable to produce a private key-export."),
|
||||||
str(reason)
|
str(reason)
|
||||||
])
|
])
|
||||||
self.show_critical(txt, title=_("Unable to create csv"))
|
self.show_critical(txt, title=_("Unable to create csv"))
|
||||||
|
@ -2538,7 +2538,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
|
||||||
address_e.textChanged.connect(on_address)
|
address_e.textChanged.connect(on_address)
|
||||||
if not d.exec_():
|
if not d.exec_():
|
||||||
return
|
return
|
||||||
from electrum_zcash.wallet import sweep_preparations
|
from electrum_zclassic.wallet import sweep_preparations
|
||||||
try:
|
try:
|
||||||
self.do_clear()
|
self.do_clear()
|
||||||
coins, keypairs = sweep_preparations(get_pk(), self.network)
|
coins, keypairs = sweep_preparations(get_pk(), self.network)
|
||||||
|
@ -2611,7 +2611,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
|
||||||
lang_help = _('Select which language is used in the GUI (after restart).')
|
lang_help = _('Select which language is used in the GUI (after restart).')
|
||||||
lang_label = HelpLabel(_('Language') + ':', lang_help)
|
lang_label = HelpLabel(_('Language') + ':', lang_help)
|
||||||
lang_combo = QComboBox()
|
lang_combo = QComboBox()
|
||||||
from electrum_zcash.i18n import languages
|
from electrum_zclassic.i18n import languages
|
||||||
lang_combo.addItems(list(languages.values()))
|
lang_combo.addItems(list(languages.values()))
|
||||||
try:
|
try:
|
||||||
index = languages.keys().index(self.config.get("language",''))
|
index = languages.keys().index(self.config.get("language",''))
|
||||||
|
@ -2720,9 +2720,9 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
|
||||||
SSL_id_e.setReadOnly(True)
|
SSL_id_e.setReadOnly(True)
|
||||||
id_widgets.append((SSL_id_label, SSL_id_e))
|
id_widgets.append((SSL_id_label, SSL_id_e))
|
||||||
|
|
||||||
units = ['ZEC', 'mZEC', 'uZEC']
|
units = ['ZCL', 'mZCL', 'uZCL']
|
||||||
msg = (_('Base unit of your wallet.')
|
msg = (_('Base unit of your wallet.')
|
||||||
+ '\n1 ZEC = 1000 mZEC. 1 mZEC = 1000 uZEC.\n'
|
+ '\n1 ZCL = 1000 mZCL. 1 mZCL = 1000 uZCL.\n'
|
||||||
+ _('This setting affects the Send tab, and all balance related fields.'))
|
+ _('This setting affects the Send tab, and all balance related fields.'))
|
||||||
unit_label = HelpLabel(_('Base unit') + ':', msg)
|
unit_label = HelpLabel(_('Base unit') + ':', msg)
|
||||||
unit_combo = QComboBox()
|
unit_combo = QComboBox()
|
||||||
|
@ -2734,11 +2734,11 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
|
||||||
return
|
return
|
||||||
edits = self.amount_e, self.fee_e, self.receive_amount_e
|
edits = self.amount_e, self.fee_e, self.receive_amount_e
|
||||||
amounts = [edit.get_amount() for edit in edits]
|
amounts = [edit.get_amount() for edit in edits]
|
||||||
if unit_result == 'ZEC':
|
if unit_result == 'ZCL':
|
||||||
self.decimal_point = 8
|
self.decimal_point = 8
|
||||||
elif unit_result == 'mZEC':
|
elif unit_result == 'mZCL':
|
||||||
self.decimal_point = 5
|
self.decimal_point = 5
|
||||||
elif unit_result == 'uZEC':
|
elif unit_result == 'uZCL':
|
||||||
self.decimal_point = 2
|
self.decimal_point = 2
|
||||||
else:
|
else:
|
||||||
raise Exception('Unknown base unit')
|
raise Exception('Unknown base unit')
|
||||||
|
@ -2765,7 +2765,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
|
||||||
block_ex_combo.currentIndexChanged.connect(on_be)
|
block_ex_combo.currentIndexChanged.connect(on_be)
|
||||||
gui_widgets.append((block_ex_label, block_ex_combo))
|
gui_widgets.append((block_ex_label, block_ex_combo))
|
||||||
|
|
||||||
from electrum_zcash import qrscanner
|
from electrum_zclassic import qrscanner
|
||||||
system_cameras = qrscanner._find_system_cameras()
|
system_cameras = qrscanner._find_system_cameras()
|
||||||
qr_combo = QComboBox()
|
qr_combo = QComboBox()
|
||||||
qr_combo.addItem("Default","default")
|
qr_combo.addItem("Default","default")
|
||||||
|
@ -2986,7 +2986,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
|
||||||
|
|
||||||
run_hook('close_settings_dialog')
|
run_hook('close_settings_dialog')
|
||||||
if self.need_restart:
|
if self.need_restart:
|
||||||
self.show_warning(_('Please restart Electrum-Zcash to activate the new GUI settings'), title=_('Success'))
|
self.show_warning(_('Please restart Electrum-Zclassic to activate the new GUI settings'), title=_('Success'))
|
||||||
|
|
||||||
|
|
||||||
def closeEvent(self, event):
|
def closeEvent(self, event):
|
||||||
|
@ -3013,7 +3013,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
|
||||||
self.gui_object.close_window(self)
|
self.gui_object.close_window(self)
|
||||||
|
|
||||||
def plugins_dialog(self):
|
def plugins_dialog(self):
|
||||||
self.pluginsdialog = d = WindowModalDialog(self, _('Electrum-Zcash Plugins'))
|
self.pluginsdialog = d = WindowModalDialog(self, _('Electrum-Zclassic Plugins'))
|
||||||
|
|
||||||
plugins = self.gui_object.plugins
|
plugins = self.gui_object.plugins
|
||||||
|
|
||||||
|
|
|
@ -30,10 +30,10 @@ from PyQt5.QtCore import *
|
||||||
from PyQt5.QtWidgets import *
|
from PyQt5.QtWidgets import *
|
||||||
import PyQt5.QtCore as QtCore
|
import PyQt5.QtCore as QtCore
|
||||||
|
|
||||||
from electrum_zcash.i18n import _
|
from electrum_zclassic.i18n import _
|
||||||
from electrum_zcash import constants
|
from electrum_zclassic import constants
|
||||||
from electrum_zcash.util import print_error
|
from electrum_zclassic.util import print_error
|
||||||
from electrum_zcash.network import serialize_server, deserialize_server
|
from electrum_zclassic.network import serialize_server, deserialize_server
|
||||||
|
|
||||||
from .util import *
|
from .util import *
|
||||||
|
|
||||||
|
@ -214,8 +214,8 @@ class NetworkChoiceLayout(object):
|
||||||
self.autoconnect_cb.clicked.connect(self.update)
|
self.autoconnect_cb.clicked.connect(self.update)
|
||||||
|
|
||||||
msg = ' '.join([
|
msg = ' '.join([
|
||||||
_("If auto-connect is enabled, Electrum-Zcash will always use a server that is on the longest blockchain."),
|
_("If auto-connect is enabled, Electrum-Zclassic will always use a server that is on the longest blockchain."),
|
||||||
_("If it is disabled, you have to choose a server you want to use. Electrum-Zcash will warn you if your server is lagging.")
|
_("If it is disabled, you have to choose a server you want to use. Electrum-Zclassic will warn you if your server is lagging.")
|
||||||
])
|
])
|
||||||
grid.addWidget(self.autoconnect_cb, 0, 0, 1, 3)
|
grid.addWidget(self.autoconnect_cb, 0, 0, 1, 3)
|
||||||
grid.addWidget(HelpButton(msg), 0, 4)
|
grid.addWidget(HelpButton(msg), 0, 4)
|
||||||
|
@ -270,7 +270,7 @@ class NetworkChoiceLayout(object):
|
||||||
|
|
||||||
grid.addWidget(self.tor_cb, 1, 0, 1, 3)
|
grid.addWidget(self.tor_cb, 1, 0, 1, 3)
|
||||||
grid.addWidget(self.proxy_cb, 2, 0, 1, 3)
|
grid.addWidget(self.proxy_cb, 2, 0, 1, 3)
|
||||||
grid.addWidget(HelpButton(_('Proxy settings apply to all connections: with Electrum-Zcash servers, but also with third-party services.')), 2, 4)
|
grid.addWidget(HelpButton(_('Proxy settings apply to all connections: with Electrum-Zclassic servers, but also with third-party services.')), 2, 4)
|
||||||
grid.addWidget(self.proxy_mode, 4, 1)
|
grid.addWidget(self.proxy_mode, 4, 1)
|
||||||
grid.addWidget(self.proxy_host, 4, 2)
|
grid.addWidget(self.proxy_host, 4, 2)
|
||||||
grid.addWidget(self.proxy_port, 4, 3)
|
grid.addWidget(self.proxy_port, 4, 3)
|
||||||
|
@ -281,7 +281,7 @@ class NetworkChoiceLayout(object):
|
||||||
# Blockchain Tab
|
# Blockchain Tab
|
||||||
grid = QGridLayout(blockchain_tab)
|
grid = QGridLayout(blockchain_tab)
|
||||||
msg = ' '.join([
|
msg = ' '.join([
|
||||||
_("Electrum-Zcash connects to several nodes in order to download block headers and find out the longest blockchain."),
|
_("Electrum-Zclassic connects to several nodes in order to download block headers and find out the longest blockchain."),
|
||||||
_("This blockchain is used to verify the transactions sent by your transaction server.")
|
_("This blockchain is used to verify the transactions sent by your transaction server.")
|
||||||
])
|
])
|
||||||
self.status_label = QLabel('')
|
self.status_label = QLabel('')
|
||||||
|
@ -290,7 +290,7 @@ class NetworkChoiceLayout(object):
|
||||||
grid.addWidget(HelpButton(msg), 0, 4)
|
grid.addWidget(HelpButton(msg), 0, 4)
|
||||||
|
|
||||||
self.server_label = QLabel('')
|
self.server_label = QLabel('')
|
||||||
msg = _("Electrum-Zcash sends your wallet addresses to a single server, in order to receive your transaction history.")
|
msg = _("Electrum-Zclassic sends your wallet addresses to a single server, in order to receive your transaction history.")
|
||||||
grid.addWidget(QLabel(_('Server') + ':'), 1, 0)
|
grid.addWidget(QLabel(_('Server') + ':'), 1, 0)
|
||||||
grid.addWidget(self.server_label, 1, 1, 1, 3)
|
grid.addWidget(self.server_label, 1, 1, 1, 3)
|
||||||
grid.addWidget(HelpButton(msg), 1, 4)
|
grid.addWidget(HelpButton(msg), 1, 4)
|
||||||
|
|
|
@ -26,12 +26,12 @@
|
||||||
from PyQt5.QtCore import Qt
|
from PyQt5.QtCore import Qt
|
||||||
from PyQt5.QtGui import *
|
from PyQt5.QtGui import *
|
||||||
from PyQt5.QtWidgets import *
|
from PyQt5.QtWidgets import *
|
||||||
from electrum_zcash.i18n import _
|
from electrum_zclassic.i18n import _
|
||||||
from .util import *
|
from .util import *
|
||||||
import re
|
import re
|
||||||
import math
|
import math
|
||||||
|
|
||||||
from electrum_zcash.plugins import run_hook
|
from electrum_zclassic.plugins import run_hook
|
||||||
|
|
||||||
def check_password_strength(password):
|
def check_password_strength(password):
|
||||||
|
|
||||||
|
@ -248,7 +248,7 @@ class ChangePasswordDialogForSW(ChangePasswordDialogBase):
|
||||||
msg += ' ' + _('Use this dialog to add a password to your wallet.')
|
msg += ' ' + _('Use this dialog to add a password to your wallet.')
|
||||||
else:
|
else:
|
||||||
if not is_encrypted:
|
if not is_encrypted:
|
||||||
msg = _('Your Zcash coins are password protected. However, your wallet file is not encrypted.')
|
msg = _('Your Zclassic coins are password protected. However, your wallet file is not encrypted.')
|
||||||
else:
|
else:
|
||||||
msg = _('Your wallet is password protected and encrypted.')
|
msg = _('Your wallet is password protected and encrypted.')
|
||||||
msg += ' ' + _('Use this dialog to change your password.')
|
msg += ' ' + _('Use this dialog to change your password.')
|
||||||
|
|
|
@ -28,8 +28,8 @@ from PyQt5.QtWidgets import QLineEdit
|
||||||
import re
|
import re
|
||||||
from decimal import Decimal
|
from decimal import Decimal
|
||||||
|
|
||||||
from electrum_zcash import bitcoin
|
from electrum_zclassic import bitcoin
|
||||||
from electrum_zcash.util import bfh
|
from electrum_zclassic.util import bfh
|
||||||
|
|
||||||
from .qrtextedit import ScanQRTextEdit
|
from .qrtextedit import ScanQRTextEdit
|
||||||
from .completion_text_edit import CompletionTextEdit
|
from .completion_text_edit import CompletionTextEdit
|
||||||
|
@ -90,7 +90,7 @@ class PayToEdit(CompletionTextEdit, ScanQRTextEdit):
|
||||||
return bitcoin.TYPE_SCRIPT, script
|
return bitcoin.TYPE_SCRIPT, script
|
||||||
|
|
||||||
def parse_script(self, x):
|
def parse_script(self, x):
|
||||||
from electrum_zcash.transaction import opcodes, push_script
|
from electrum_zclassic.transaction import opcodes, push_script
|
||||||
script = ''
|
script = ''
|
||||||
for word in x.split():
|
for word in x.split():
|
||||||
if word[0:3] == 'OP_':
|
if word[0:3] == 'OP_':
|
||||||
|
@ -127,7 +127,7 @@ class PayToEdit(CompletionTextEdit, ScanQRTextEdit):
|
||||||
self.payto_address = None
|
self.payto_address = None
|
||||||
if len(lines) == 1:
|
if len(lines) == 1:
|
||||||
data = lines[0]
|
data = lines[0]
|
||||||
if data.startswith("zcash:"):
|
if data.startswith("zclassic:"):
|
||||||
self.scan_f(data)
|
self.scan_f(data)
|
||||||
return
|
return
|
||||||
try:
|
try:
|
||||||
|
@ -202,7 +202,7 @@ class PayToEdit(CompletionTextEdit, ScanQRTextEdit):
|
||||||
|
|
||||||
def qr_input(self):
|
def qr_input(self):
|
||||||
data = super(PayToEdit,self).qr_input()
|
data = super(PayToEdit,self).qr_input()
|
||||||
if data.startswith("zcash:"):
|
if data.startswith("zclassic:"):
|
||||||
self.scan_f(data)
|
self.scan_f(data)
|
||||||
# TODO: update fee
|
# TODO: update fee
|
||||||
|
|
||||||
|
|
|
@ -8,8 +8,8 @@ from PyQt5.QtWidgets import (
|
||||||
import os
|
import os
|
||||||
import qrcode
|
import qrcode
|
||||||
|
|
||||||
import electrum_zcash
|
import electrum_zclassic
|
||||||
from electrum_zcash.i18n import _
|
from electrum_zclassic.i18n import _
|
||||||
from .util import WindowModalDialog
|
from .util import WindowModalDialog
|
||||||
|
|
||||||
|
|
||||||
|
@ -102,7 +102,7 @@ class QRDialog(WindowModalDialog):
|
||||||
hbox = QHBoxLayout()
|
hbox = QHBoxLayout()
|
||||||
hbox.addStretch(1)
|
hbox.addStretch(1)
|
||||||
|
|
||||||
config = electrum_zcash.get_config()
|
config = electrum_zclassic.get_config()
|
||||||
if config:
|
if config:
|
||||||
filename = os.path.join(config.path, "qrcode.png")
|
filename = os.path.join(config.path, "qrcode.png")
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
|
|
||||||
from electrum_zcash.i18n import _
|
from electrum_zclassic.i18n import _
|
||||||
from electrum_zcash.plugins import run_hook
|
from electrum_zclassic.plugins import run_hook
|
||||||
from PyQt5.QtGui import *
|
from PyQt5.QtGui import *
|
||||||
from PyQt5.QtCore import *
|
from PyQt5.QtCore import *
|
||||||
from PyQt5.QtWidgets import QFileDialog
|
from PyQt5.QtWidgets import QFileDialog
|
||||||
|
@ -55,7 +55,7 @@ class ScanQRTextEdit(ButtonsTextEdit, MessageBoxMixin):
|
||||||
self.setText(data)
|
self.setText(data)
|
||||||
|
|
||||||
def qr_input(self):
|
def qr_input(self):
|
||||||
from electrum_zcash import qrscanner, get_config
|
from electrum_zclassic import qrscanner, get_config
|
||||||
try:
|
try:
|
||||||
data = qrscanner.scan_barcode(get_config().get_video_device())
|
data = qrscanner.scan_barcode(get_config().get_video_device())
|
||||||
except BaseException as e:
|
except BaseException as e:
|
||||||
|
|
|
@ -29,8 +29,8 @@ from PyQt5.QtCore import Qt
|
||||||
from PyQt5.QtGui import *
|
from PyQt5.QtGui import *
|
||||||
from PyQt5.QtWidgets import QHBoxLayout, QVBoxLayout, QLabel, QWidget
|
from PyQt5.QtWidgets import QHBoxLayout, QVBoxLayout, QLabel, QWidget
|
||||||
|
|
||||||
from electrum_zcash_gui.qt.qrcodewidget import QRCodeWidget
|
from electrum_zclassic_gui.qt.qrcodewidget import QRCodeWidget
|
||||||
from electrum_zcash.i18n import _
|
from electrum_zclassic.i18n import _
|
||||||
|
|
||||||
if platform.system() == 'Windows':
|
if platform.system() == 'Windows':
|
||||||
MONOSPACE_FONT = 'Lucida Console'
|
MONOSPACE_FONT = 'Lucida Console'
|
||||||
|
@ -46,7 +46,7 @@ class QR_Window(QWidget):
|
||||||
def __init__(self, win):
|
def __init__(self, win):
|
||||||
QWidget.__init__(self)
|
QWidget.__init__(self)
|
||||||
self.win = win
|
self.win = win
|
||||||
self.setWindowTitle('Electrum-Zcash - '+_('Payment Request'))
|
self.setWindowTitle('Electrum-Zclassic - '+_('Payment Request'))
|
||||||
self.setMinimumSize(800, 250)
|
self.setMinimumSize(800, 250)
|
||||||
self.address = ''
|
self.address = ''
|
||||||
self.label = ''
|
self.label = ''
|
||||||
|
|
|
@ -23,10 +23,10 @@
|
||||||
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
# SOFTWARE.
|
# SOFTWARE.
|
||||||
|
|
||||||
from electrum_zcash.i18n import _
|
from electrum_zclassic.i18n import _
|
||||||
from electrum_zcash.util import format_time, age
|
from electrum_zclassic.util import format_time, age
|
||||||
from electrum_zcash.plugins import run_hook
|
from electrum_zclassic.plugins import run_hook
|
||||||
from electrum_zcash.paymentrequest import PR_UNKNOWN
|
from electrum_zclassic.paymentrequest import PR_UNKNOWN
|
||||||
from PyQt5.QtGui import *
|
from PyQt5.QtGui import *
|
||||||
from PyQt5.QtCore import *
|
from PyQt5.QtCore import *
|
||||||
from PyQt5.QtWidgets import QTreeWidgetItem, QMenu
|
from PyQt5.QtWidgets import QTreeWidgetItem, QMenu
|
||||||
|
|
|
@ -23,9 +23,9 @@
|
||||||
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
# SOFTWARE.
|
# SOFTWARE.
|
||||||
|
|
||||||
from electrum_zcash.i18n import _
|
from electrum_zclassic.i18n import _
|
||||||
from electrum_zcash.mnemonic import Mnemonic
|
from electrum_zclassic.mnemonic import Mnemonic
|
||||||
import electrum_zcash.old_mnemonic
|
import electrum_zclassic.old_mnemonic
|
||||||
|
|
||||||
from .util import *
|
from .util import *
|
||||||
from .qrtextedit import ShowQRTextEdit, ScanQRTextEdit
|
from .qrtextedit import ShowQRTextEdit, ScanQRTextEdit
|
||||||
|
@ -68,10 +68,10 @@ class SeedLayout(QVBoxLayout):
|
||||||
if b:
|
if b:
|
||||||
msg = ' '.join([
|
msg = ' '.join([
|
||||||
'<b>' + _('Warning') + ':</b> ',
|
'<b>' + _('Warning') + ':</b> ',
|
||||||
_('BIP39 seeds can be imported in Electrum-Zcash, so that users can access funds locked in other wallets.'),
|
_('BIP39 seeds can be imported in Electrum-Zclassic, so that users can access funds locked in other wallets.'),
|
||||||
_('However, we do not generate BIP39 seeds, because they do not meet our safety standard.'),
|
_('However, we do not generate BIP39 seeds, because they do not meet our safety standard.'),
|
||||||
_('BIP39 seeds do not include a version number, which compromises compatibility with future software.'),
|
_('BIP39 seeds do not include a version number, which compromises compatibility with future software.'),
|
||||||
_('We do not guarantee that BIP39 imports will always be supported in Electrum-Zcash.'),
|
_('We do not guarantee that BIP39 imports will always be supported in Electrum-Zclassic.'),
|
||||||
])
|
])
|
||||||
else:
|
else:
|
||||||
msg = ''
|
msg = ''
|
||||||
|
@ -136,7 +136,7 @@ class SeedLayout(QVBoxLayout):
|
||||||
|
|
||||||
def initialize_completer(self):
|
def initialize_completer(self):
|
||||||
english_list = Mnemonic('en').wordlist
|
english_list = Mnemonic('en').wordlist
|
||||||
old_list = electrum_zcash.old_mnemonic.words
|
old_list = electrum_zclassic.old_mnemonic.words
|
||||||
self.wordlist = english_list + list(set(old_list) - set(english_list)) #concat both lists
|
self.wordlist = english_list + list(set(old_list) - set(english_list)) #concat both lists
|
||||||
self.wordlist.sort()
|
self.wordlist.sort()
|
||||||
self.completer = QCompleter(self.wordlist)
|
self.completer = QCompleter(self.wordlist)
|
||||||
|
@ -147,14 +147,14 @@ class SeedLayout(QVBoxLayout):
|
||||||
return ' '.join(text.split())
|
return ' '.join(text.split())
|
||||||
|
|
||||||
def on_edit(self):
|
def on_edit(self):
|
||||||
from electrum_zcash.bitcoin import seed_type
|
from electrum_zclassic.bitcoin import seed_type
|
||||||
s = self.get_seed()
|
s = self.get_seed()
|
||||||
b = self.is_seed(s)
|
b = self.is_seed(s)
|
||||||
if not self.is_bip39:
|
if not self.is_bip39:
|
||||||
t = seed_type(s)
|
t = seed_type(s)
|
||||||
label = _('Seed Type') + ': ' + t if t else ''
|
label = _('Seed Type') + ': ' + t if t else ''
|
||||||
else:
|
else:
|
||||||
from electrum_zcash.keystore import bip39_is_checksum_valid
|
from electrum_zclassic.keystore import bip39_is_checksum_valid
|
||||||
is_checksum, is_wordlist = bip39_is_checksum_valid(s)
|
is_checksum, is_wordlist = bip39_is_checksum_valid(s)
|
||||||
status = ('checksum: ' + ('ok' if is_checksum else 'failed')) if is_wordlist else 'unknown wordlist'
|
status = ('checksum: ' + ('ok' if is_checksum else 'failed')) if is_wordlist else 'unknown wordlist'
|
||||||
label = 'BIP39' + ' (%s)'%status
|
label = 'BIP39' + ' (%s)'%status
|
||||||
|
@ -189,7 +189,7 @@ class KeysLayout(QVBoxLayout):
|
||||||
class SeedDialog(WindowModalDialog):
|
class SeedDialog(WindowModalDialog):
|
||||||
|
|
||||||
def __init__(self, parent, seed, passphrase):
|
def __init__(self, parent, seed, passphrase):
|
||||||
WindowModalDialog.__init__(self, parent, ('Electrum-Zcash - ' + _('Seed')))
|
WindowModalDialog.__init__(self, parent, ('Electrum-Zclassic - ' + _('Seed')))
|
||||||
self.setMinimumWidth(400)
|
self.setMinimumWidth(400)
|
||||||
vbox = QVBoxLayout(self)
|
vbox = QVBoxLayout(self)
|
||||||
title = _("Your wallet generation seed is:")
|
title = _("Your wallet generation seed is:")
|
||||||
|
|
|
@ -31,14 +31,14 @@ from PyQt5.QtCore import *
|
||||||
from PyQt5.QtGui import *
|
from PyQt5.QtGui import *
|
||||||
from PyQt5.QtWidgets import *
|
from PyQt5.QtWidgets import *
|
||||||
|
|
||||||
from electrum_zcash.bitcoin import base_encode
|
from electrum_zclassic.bitcoin import base_encode
|
||||||
from electrum_zcash.i18n import _
|
from electrum_zclassic.i18n import _
|
||||||
from electrum_zcash.plugins import run_hook
|
from electrum_zclassic.plugins import run_hook
|
||||||
from electrum_zcash import simple_config
|
from electrum_zclassic import simple_config
|
||||||
|
|
||||||
from electrum_zcash.util import bfh
|
from electrum_zclassic.util import bfh
|
||||||
from electrum_zcash.wallet import AddTransactionException
|
from electrum_zclassic.wallet import AddTransactionException
|
||||||
from electrum_zcash.transaction import SerializationError
|
from electrum_zclassic.transaction import SerializationError
|
||||||
|
|
||||||
from .util import *
|
from .util import *
|
||||||
|
|
||||||
|
@ -50,7 +50,7 @@ def show_transaction(tx, parent, desc=None, prompt_if_unsaved=False):
|
||||||
d = TxDialog(tx, parent, desc, prompt_if_unsaved)
|
d = TxDialog(tx, parent, desc, prompt_if_unsaved)
|
||||||
except SerializationError as e:
|
except SerializationError as e:
|
||||||
traceback.print_exc(file=sys.stderr)
|
traceback.print_exc(file=sys.stderr)
|
||||||
parent.show_critical(_("Electrum-Zcash was unable to deserialize the transaction:") + "\n" + str(e))
|
parent.show_critical(_("Electrum-Zclassic was unable to deserialize the transaction:") + "\n" + str(e))
|
||||||
else:
|
else:
|
||||||
dialogs.append(d)
|
dialogs.append(d)
|
||||||
d.show()
|
d.show()
|
||||||
|
|
|
@ -10,9 +10,9 @@ from PyQt5.QtGui import *
|
||||||
from PyQt5.QtCore import *
|
from PyQt5.QtCore import *
|
||||||
from PyQt5.QtWidgets import *
|
from PyQt5.QtWidgets import *
|
||||||
|
|
||||||
from electrum_zcash.i18n import _
|
from electrum_zclassic.i18n import _
|
||||||
from electrum_zcash.util import FileImportFailed, FileExportFailed
|
from electrum_zclassic.util import FileImportFailed, FileExportFailed
|
||||||
from electrum_zcash.paymentrequest import PR_UNPAID, PR_PAID, PR_EXPIRED
|
from electrum_zclassic.paymentrequest import PR_UNPAID, PR_PAID, PR_EXPIRED
|
||||||
|
|
||||||
|
|
||||||
if platform.system() == 'Windows':
|
if platform.system() == 'Windows':
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
# SOFTWARE.
|
# SOFTWARE.
|
||||||
from .util import *
|
from .util import *
|
||||||
from electrum_zcash.i18n import _
|
from electrum_zclassic.i18n import _
|
||||||
|
|
||||||
|
|
||||||
class UTXOList(MyTreeWidget):
|
class UTXOList(MyTreeWidget):
|
||||||
|
|
14
gui/stdio.py
14
gui/stdio.py
|
@ -1,9 +1,9 @@
|
||||||
from decimal import Decimal
|
from decimal import Decimal
|
||||||
_ = lambda x:x
|
_ = lambda x:x
|
||||||
#from i18n import _
|
#from i18n import _
|
||||||
from electrum_zcash import WalletStorage, Wallet
|
from electrum_zclassic import WalletStorage, Wallet
|
||||||
from electrum_zcash.util import format_satoshis, set_verbosity
|
from electrum_zclassic.util import format_satoshis, set_verbosity
|
||||||
from electrum_zcash.bitcoin import is_address, COIN, TYPE_ADDRESS
|
from electrum_zclassic.bitcoin import is_address, COIN, TYPE_ADDRESS
|
||||||
import getpass, datetime
|
import getpass, datetime
|
||||||
|
|
||||||
# minimal fdisk like gui for console usage
|
# minimal fdisk like gui for console usage
|
||||||
|
@ -16,7 +16,7 @@ class ElectrumGui:
|
||||||
self.network = daemon.network
|
self.network = daemon.network
|
||||||
storage = WalletStorage(config.get_wallet_path())
|
storage = WalletStorage(config.get_wallet_path())
|
||||||
if not storage.file_exists:
|
if not storage.file_exists:
|
||||||
print("Wallet not found. try 'electrum-zcash create'")
|
print("Wallet not found. try 'electrum-zclassic create'")
|
||||||
exit()
|
exit()
|
||||||
if storage.is_encrypted():
|
if storage.is_encrypted():
|
||||||
password = getpass.getpass('Password:', stream=None)
|
password = getpass.getpass('Password:', stream=None)
|
||||||
|
@ -163,7 +163,7 @@ class ElectrumGui:
|
||||||
|
|
||||||
def do_send(self):
|
def do_send(self):
|
||||||
if not is_address(self.str_recipient):
|
if not is_address(self.str_recipient):
|
||||||
print(_('Invalid Zcash address'))
|
print(_('Invalid Zclassic address'))
|
||||||
return
|
return
|
||||||
try:
|
try:
|
||||||
amount = int(Decimal(self.str_amount) * COIN)
|
amount = int(Decimal(self.str_amount) * COIN)
|
||||||
|
@ -208,12 +208,12 @@ class ElectrumGui:
|
||||||
print(_('Error'))
|
print(_('Error'))
|
||||||
|
|
||||||
def network_dialog(self):
|
def network_dialog(self):
|
||||||
print("use 'electrum-zcash setconfig server/proxy' to change your network settings")
|
print("use 'electrum-zclassic setconfig server/proxy' to change your network settings")
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
def settings_dialog(self):
|
def settings_dialog(self):
|
||||||
print("use 'electrum-zcash setconfig' to change your settings")
|
print("use 'electrum-zclassic setconfig' to change your settings")
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def password_dialog(self):
|
def password_dialog(self):
|
||||||
|
|
14
gui/text.py
14
gui/text.py
|
@ -3,10 +3,10 @@ import curses, datetime, locale
|
||||||
from decimal import Decimal
|
from decimal import Decimal
|
||||||
import getpass
|
import getpass
|
||||||
|
|
||||||
import electrum_zcash
|
import electrum_zclassic
|
||||||
from electrum_zcash.util import format_satoshis, set_verbosity
|
from electrum_zclassic.util import format_satoshis, set_verbosity
|
||||||
from electrum_zcash.bitcoin import is_address, COIN, TYPE_ADDRESS
|
from electrum_zclassic.bitcoin import is_address, COIN, TYPE_ADDRESS
|
||||||
from electrum_zcash import Wallet, WalletStorage
|
from electrum_zclassic import Wallet, WalletStorage
|
||||||
|
|
||||||
_ = lambda x:x
|
_ = lambda x:x
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@ class ElectrumGui:
|
||||||
self.network = daemon.network
|
self.network = daemon.network
|
||||||
storage = WalletStorage(config.get_wallet_path())
|
storage = WalletStorage(config.get_wallet_path())
|
||||||
if not storage.file_exists():
|
if not storage.file_exists():
|
||||||
print("Wallet not found. try 'electrum-zcash create'")
|
print("Wallet not found. try 'electrum-zclassic create'")
|
||||||
exit()
|
exit()
|
||||||
if storage.is_encrypted():
|
if storage.is_encrypted():
|
||||||
password = getpass.getpass('Password:', stream=None)
|
password = getpass.getpass('Password:', stream=None)
|
||||||
|
@ -320,7 +320,7 @@ class ElectrumGui:
|
||||||
|
|
||||||
def do_send(self):
|
def do_send(self):
|
||||||
if not is_address(self.str_recipient):
|
if not is_address(self.str_recipient):
|
||||||
self.show_message(_('Invalid Zcash address'))
|
self.show_message(_('Invalid Zclassic address'))
|
||||||
return
|
return
|
||||||
try:
|
try:
|
||||||
amount = int(Decimal(self.str_amount) * COIN)
|
amount = int(Decimal(self.str_amount) * COIN)
|
||||||
|
@ -392,7 +392,7 @@ class ElectrumGui:
|
||||||
self.show_message("Error:" + server + "\nIn doubt, type \"auto-connect\"")
|
self.show_message("Error:" + server + "\nIn doubt, type \"auto-connect\"")
|
||||||
return False
|
return False
|
||||||
if out.get('server') or out.get('proxy'):
|
if out.get('server') or out.get('proxy'):
|
||||||
proxy = electrum_zcash.network.deserialize_proxy(out.get('proxy')) if out.get('proxy') else proxy_config
|
proxy = electrum_zclassic.network.deserialize_proxy(out.get('proxy')) if out.get('proxy') else proxy_config
|
||||||
self.network.set_parameters(host, port, protocol, proxy, auto_connect)
|
self.network.set_parameters(host, port, protocol, proxy, auto_connect)
|
||||||
|
|
||||||
def settings_dialog(self):
|
def settings_dialog(self):
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<RCC>
|
<RCC>
|
||||||
<qresource prefix="/" >
|
<qresource prefix="/" >
|
||||||
<file>icons/electrum-zcash.png</file>
|
<file>icons/electrum-zclassic.png</file>
|
||||||
<file>icons/clock1.png</file>
|
<file>icons/clock1.png</file>
|
||||||
<file>icons/clock2.png</file>
|
<file>icons/clock2.png</file>
|
||||||
<file>icons/clock3.png</file>
|
<file>icons/clock3.png</file>
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 289 KiB |
Binary file not shown.
Before Width: | Height: | Size: 7.3 KiB |
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue