This commit is contained in:
James 2019-02-28 22:26:15 +01:00
parent be6ff50614
commit 27b1373595
159 changed files with 847 additions and 856 deletions

2
.gitignore vendored
View File

@ -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

View File

@ -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"

View File

@ -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

View File

@ -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
------- -------

View File

@ -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'

View File

@ -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

View File

@ -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

View File

@ -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'))

View File

@ -3,12 +3,12 @@
!include "TextFunc.nsh" ;Needed for the $GetSize function. I know, doesn't sound logical, it isn't. !include "TextFunc.nsh" ;Needed for the $GetSize function. I know, doesn't sound logical, it isn't.
!include "MUI2.nsh" !include "MUI2.nsh"
!include "x64.nsh" !include "x64.nsh"
;-------------------------------- ;--------------------------------
;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}"
@ -31,31 +31,31 @@
;Specifies whether or not the installer will perform a CRC on itself before allowing an install ;Specifies whether or not the installer will perform a CRC on itself before allowing an install
CRCCheck on CRCCheck on
;Sets whether or not the details of the install are shown. Can be 'hide' (the default) to hide the details by default, allowing the user to view them, or 'show' to show them by default, or 'nevershow', to prevent the user from ever seeing them. ;Sets whether or not the details of the install are shown. Can be 'hide' (the default) to hide the details by default, allowing the user to view them, or 'show' to show them by default, or 'nevershow', to prevent the user from ever seeing them.
ShowInstDetails show ShowInstDetails show
;Sets whether or not the details of the uninstall are shown. Can be 'hide' (the default) to hide the details by default, allowing the user to view them, or 'show' to show them by default, or 'nevershow', to prevent the user from ever seeing them. ;Sets whether or not the details of the uninstall are shown. Can be 'hide' (the default) to hide the details by default, allowing the user to view them, or 'show' to show them by default, or 'nevershow', to prevent the user from ever seeing them.
ShowUninstDetails show ShowUninstDetails show
;Sets the colors to use for the install info screen (the default is 00FF00 000000. Use the form RRGGBB (in hexadecimal, as in HTML, only minus the leading '#', since # can be used for comments). Note that if "/windows" is specified as the only parameter, the default windows colors will be used. ;Sets the colors to use for the install info screen (the default is 00FF00 000000. Use the form RRGGBB (in hexadecimal, as in HTML, only minus the leading '#', since # can be used for comments). Note that if "/windows" is specified as the only parameter, the default windows colors will be used.
InstallColors /windows InstallColors /windows
;This command sets the compression algorithm used to compress files/data in the installer. (http://nsis.sourceforge.net/Reference/SetCompressor) ;This command sets the compression algorithm used to compress files/data in the installer. (http://nsis.sourceforge.net/Reference/SetCompressor)
SetCompressor /SOLID lzma SetCompressor /SOLID lzma
;Sets the dictionary size in megabytes (MB) used by the LZMA compressor (default is 8 MB). ;Sets the dictionary size in megabytes (MB) used by the LZMA compressor (default is 8 MB).
SetCompressorDictSize 64 SetCompressorDictSize 64
;Sets the text that is shown (by default it is 'Nullsoft Install System vX.XX') in the bottom of the install window. Setting this to an empty string ("") uses the default; to set the string to blank, use " " (a space). ;Sets the text that is shown (by default it is 'Nullsoft Install System vX.XX') in the bottom of the install window. Setting this to an empty string ("") uses the default; to set the string to blank, use " " (a space).
BrandingText "${PRODUCT_NAME} Installer v${PRODUCT_VERSION}" BrandingText "${PRODUCT_NAME} Installer v${PRODUCT_VERSION}"
;Sets what the titlebars of the installer will display. By default, it is 'Name Setup', where Name is specified with the Name command. You can, however, override it with 'MyApp Installer' or whatever. If you specify an empty string (""), the default will be used (you can however specify " " to achieve a blank string) ;Sets what the titlebars of the installer will display. By default, it is 'Name Setup', where Name is specified with the Name command. You can, however, override it with 'MyApp Installer' or whatever. If you specify an empty string (""), the default will be used (you can however specify " " to achieve a blank string)
Caption "${PRODUCT_NAME}" Caption "${PRODUCT_NAME}"
;Adds the Product Version on top of the Version Tab in the Properties of the file. ;Adds the Product Version on top of the Version Tab in the Properties of the file.
VIProductVersion 1.0.0.0 VIProductVersion 1.0.0.0
;VIAddVersionKey - Adds a field in the Version Tab of the File Properties. This can either be a field provided by the system or a user defined field. ;VIAddVersionKey - Adds a field in the Version Tab of the File Properties. This can either be a field provided by the system or a user defined field.
VIAddVersionKey ProductName "${PRODUCT_NAME} Installer" VIAddVersionKey ProductName "${PRODUCT_NAME} Installer"
VIAddVersionKey Comments "The installer for ${PRODUCT_NAME}" VIAddVersionKey Comments "The installer for ${PRODUCT_NAME}"
@ -65,7 +65,7 @@
VIAddVersionKey FileVersion ${PRODUCT_VERSION} VIAddVersionKey FileVersion ${PRODUCT_VERSION}
VIAddVersionKey ProductVersion ${PRODUCT_VERSION} VIAddVersionKey ProductVersion ${PRODUCT_VERSION}
VIAddVersionKey InternalName "${PRODUCT_NAME} Installer" VIAddVersionKey InternalName "${PRODUCT_NAME} Installer"
VIAddVersionKey LegalTrademarks "${PRODUCT_NAME} is a trademark of ${PRODUCT_PUBLISHER}" VIAddVersionKey LegalTrademarks "${PRODUCT_NAME} is a trademark of ${PRODUCT_PUBLISHER}"
VIAddVersionKey OriginalFilename "${PRODUCT_NAME}.exe" VIAddVersionKey OriginalFilename "${PRODUCT_NAME}.exe"
;-------------------------------- ;--------------------------------
@ -73,9 +73,9 @@
!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
@ -178,8 +178,8 @@ Section "Uninstall"
Delete "$DESKTOP\${PRODUCT_NAME}.lnk" Delete "$DESKTOP\${PRODUCT_NAME}.lnk"
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

View File

@ -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')

View File

@ -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',

View File

@ -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

View File

@ -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

View File

@ -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'

View File

@ -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

View File

@ -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

2
debian/changelog vendored
View File

@ -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

40
debian/control vendored
View File

@ -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.

4
debian/copyright vendored
View File

@ -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

View File

@ -1 +0,0 @@
debian/electrum-zcash.1

View File

@ -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

1
debian/electrum-zclassic.manpages vendored Normal file
View File

@ -0,0 +1 @@
debian/electrum-zclassic.1

View File

@ -1,13 +1,13 @@
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
+os.environ['PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION']='python' +os.environ['PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION']='python'
+ +
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"))

18
debian/rules vendored
View File

@ -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

View File

@ -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

View File

@ -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')

View File

@ -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

View File

@ -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

21
electrum-zclassic.desktop Normal file
View File

@ -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

View File

@ -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

View File

@ -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:

View File

@ -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._
########################### ###########################

View File

@ -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`')

View File

@ -8,7 +8,7 @@ class NFCBase(Widget):
''' '''
payload = ObjectProperty(None) payload = ObjectProperty(None)
'''This is the data gotten from the tag. '''This is the data gotten from the tag.
''' '''
def nfc_init(self): def nfc_init(self):
@ -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')

View File

@ -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
@ -46,7 +46,7 @@ class ScannerAndroid(NFCBase):
global app global app
app = App.get_running_app() app = App.get_running_app()
# Make sure we are listening to new intent # Make sure we are listening to new intent
activity.bind(on_new_intent=self.on_new_intent) activity.bind(on_new_intent=self.on_new_intent)
# Configure nfc # Configure nfc
@ -55,7 +55,7 @@ class ScannerAndroid(NFCBase):
# Check if adapter exists # Check if adapter exists
if not self.nfc_adapter: if not self.nfc_adapter:
return False return False
# specify that we want our activity to remain on top when a new intent # specify that we want our activity to remain on top when a new intent
# is fired # is fired
self.nfc_pending_intent = PendingIntent.getActivity(context, 0, self.nfc_pending_intent = PendingIntent.getActivity(context, 0,
@ -131,7 +131,7 @@ class ScannerAndroid(NFCBase):
''' This function is called when the application receives a ''' This function is called when the application receives a
new intent, for the ones the application has registered previously, new intent, for the ones the application has registered previously,
either in the manifest or in the foreground dispatch setup in the either in the manifest or in the foreground dispatch setup in the
nfc_init function above. nfc_init function above.
''' '''
action_list = (NfcAdapter.ACTION_NDEF_DISCOVERED,) action_list = (NfcAdapter.ACTION_NDEF_DISCOVERED,)
@ -214,7 +214,7 @@ class ScannerAndroid(NFCBase):
ndef_record = NdefRecord( ndef_record = NdefRecord(
NdefRecord.TNF_MIME_MEDIA, NdefRecord.TNF_MIME_MEDIA,
'cash.z.electrum.kivy', '', data) 'cash.z.electrum.kivy', '', data)
# Create message # Create message
ndef_message = NdefMessage([ndef_record]) ndef_message = NdefMessage([ndef_record])

View File

@ -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

View File

@ -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>

View File

@ -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

View File

@ -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>

View File

@ -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 _

View File

@ -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):
@ -171,7 +171,7 @@ class AddressesDialog(Factory.Popup):
def ext_search(self, card, search): def ext_search(self, card, search):
return card.memo.find(search) >= 0 or card.amount.find(search) >= 0 return card.memo.find(search) >= 0 or card.amount.find(search) >= 0
def show_menu(self, obj): def show_menu(self, obj):
self.hide_menu() self.hide_menu()
self.context_menu = ContextMenu(obj, self.menu_actions) self.context_menu = ContextMenu(obj, self.menu_actions)

View File

@ -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>

View File

@ -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):

View File

@ -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.')

View File

@ -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'),

View File

@ -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)

View File

@ -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:

View File

@ -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):

View File

@ -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>

View File

@ -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',

View File

@ -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:

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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()

View File

@ -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'

View File

@ -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)

View File

@ -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

View File

@ -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:

View File

@ -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)

View File

@ -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

View File

@ -1,5 +1,5 @@
Popup: Popup:
title: "Electrum-Zcash" title: "Electrum-Zclassic"
confirmed: 0 confirmed: 0
unconfirmed: 0 unconfirmed: 0
unmatured: 0 unmatured: 0

View File

@ -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()

View File

@ -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 *

View File

@ -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()

View File

@ -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):

View File

@ -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':

View File

@ -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 (

View File

@ -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 '

View File

@ -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

View File

@ -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))

View File

@ -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")]

View File

@ -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 *

View File

@ -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

View File

@ -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)

View File

@ -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.')

View File

@ -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

View File

@ -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")

View File

@ -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:

View File

@ -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 = ''

View File

@ -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

View File

@ -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:")

View File

@ -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()

View File

@ -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':

View File

@ -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):

View File

@ -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):

View File

@ -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):

View File

@ -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