Compare commits
7 Commits
Author | SHA1 | Date |
---|---|---|
J62 | d18dbd8335 | |
J62 | ee7c6c7813 | |
J62 | 36a5ce2f08 | |
J62 | 853ba9a715 | |
J62 | 252d491a22 | |
root | 8b03f62439 | |
J62 | 9a7843d0f1 |
|
@ -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_Zclassic.egg-info/
|
Electrum_bitcoinprivate.egg-info/
|
||||||
.pytest_cache
|
.pytest_cache
|
||||||
|
|
20
.travis.yml
20
.travis.yml
|
@ -22,9 +22,9 @@ matrix:
|
||||||
os: linux
|
os: linux
|
||||||
python: "3.6"
|
python: "3.6"
|
||||||
before_install:
|
before_install:
|
||||||
- source contrib/zclassic/travis/electrum_zclassic_version_env.sh
|
- source contrib/bitcoinprivate/travis/electrum_bitcoinprivate_version_env.sh
|
||||||
- echo electrum-zclassic version is $ELECTRUM_ZCL_VERSION
|
- echo electrum-bitcoinprivate version is $ELECTRUM_BTCP_VERSION
|
||||||
- mkdir -p build && cp contrib/zclassic/travis/* ./build/
|
- mkdir -p build && cp contrib/bitcoinprivate/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: FuH5P/nqCXNTfgCCrK+34+InbCO7U14DhGPxhKyJl4KuimuRdsmcyD/IPTIyTJ7mkElg/x/wkj7g1r6ajajZPncYd7CoV3wlTSC/XN5EyotIFOw4dz6YssqhrkDGsms07sTTzeMdoXWqS02eiMYb3FzJn0Fd3Gk0YtF3PgqmQEkB0eh83G7cQSqUpcxcs2hOkQ0bDDsSad3AdJSG0dFDqrbdxEu1hzQZJ8v59cxiV4Wo7ya6MpNrX2egWpJR14vuEjI8rFh1ixx4gpw+RcQIi7KlAz/EOb9nE8CsumoDUOjql6COZotD4oqT6Q7puj84iz5OFD7XwJ3cedJkWSmz8eQBXrqOu2TVsfUcL3NPZ61tXcfKo2LEVZzj5NenZJ4I+3QvywyNpJsAIf/VtIi0KYMQd6I4J2C1Tdxg2zXR0bDDKF1DBMRyUdl5Twk+oRs+B2vXlgiCq/GE+FU4EhgPKSav8tZEYMvbX5ec2c/iX00GeIXtz8yXvf/KZAlUzJvvbYjYqH4OJTGq2RwwsPQ6HD7DvBDRtTo2+9lmtG0VQgyK/F+bNTIqBvWc/gQeV7BwpI/7SjWrWyIsN5n/J9b+bU1N1Q9NPqUw/070mgdJ147cOMFV9c/wWO2VoZKeYijIjWNtNQIusrPPyu2+4/ZfC8mOAvX9o3w5dqZdK2CVlNw=
|
secure: FuH5P/nqCXNTfgCCrK+34+InbCO7U14DhGPxhKyJl4KuimuRdsmcyD/IPTIyTJ7mkElg/x/wkj7g1r6ajajZPncYd7CoV3wlTSC/XN5EyotIFOw4dz6YssqhrkDGsms07sTTzeMdoXWqS02eiMYb3FzJn0Fd3Gk0YtF3PgqmQEkB0eh83G7cQSqUpcxcs2hOkQ0bDDsSad3AdJSG0dFDqrbdxEu1hzQZJ8v59cxiV4Wo7ya6MpNrX2egWpJR14vuEjI8rFh1ixx4gpw+RcQIi7KlAz/EOb9nE8CsumoDUOjql6COZotD4oqT6Q7puj84iz5OFD7XwJ3cedJkWSmz8eQBXrqOu2TVsfUcL3NPZ61tXcfKo2LEVZzj5NenZJ4I+3QvywyNpJsAIf/VtIi0KYMQd6I4J2C1Tdxg2zXR0bDDKF1DBMRyUdl5Twk+oRs+B2vXlgiCq/GE+FU4EhgPKSav8tZEYMvbX5ec2c/iX00GeIXtz8yXvf/KZAlUzJvvbYjYqH4OJTGq2RwwsPQ6HD7DvBDRtTo2+9lmtG0VQgyK/F+bNTIqBvWc/gQeV7BwpI/7SjWrWyIsN5n/J9b+bU1N1Q9NPqUw/070mgdJ147cOMFV9c/wWO2VoZKeYijIjWNtNQIusrPPyu2+4/ZfC8mOAvX9o3w5dqZdK2CVlNw=
|
||||||
file:
|
file:
|
||||||
- build/electrum-zclassic/dist/electrum-zclassic-$ELECTRUM_ZCL_VERSION-macosx.dmg
|
- build/electrum-bitcoinprivate/dist/electrum-bitcoinprivate-$ELECTRUM_BTCP_VERSION-macosx.dmg
|
||||||
on:
|
on:
|
||||||
repo: ZclassicCommunity/electrum-zclassic
|
repo: BTCPrivate/electrum-bitcoinprivate
|
||||||
tags: true
|
tags: true
|
||||||
condition: "$TRAVIS_OS_NAME = osx"
|
condition: "$TRAVIS_OS_NAME = osx"
|
||||||
- provider: releases
|
- provider: releases
|
||||||
api_key:
|
api_key:
|
||||||
secure: FuH5P/nqCXNTfgCCrK+34+InbCO7U14DhGPxhKyJl4KuimuRdsmcyD/IPTIyTJ7mkElg/x/wkj7g1r6ajajZPncYd7CoV3wlTSC/XN5EyotIFOw4dz6YssqhrkDGsms07sTTzeMdoXWqS02eiMYb3FzJn0Fd3Gk0YtF3PgqmQEkB0eh83G7cQSqUpcxcs2hOkQ0bDDsSad3AdJSG0dFDqrbdxEu1hzQZJ8v59cxiV4Wo7ya6MpNrX2egWpJR14vuEjI8rFh1ixx4gpw+RcQIi7KlAz/EOb9nE8CsumoDUOjql6COZotD4oqT6Q7puj84iz5OFD7XwJ3cedJkWSmz8eQBXrqOu2TVsfUcL3NPZ61tXcfKo2LEVZzj5NenZJ4I+3QvywyNpJsAIf/VtIi0KYMQd6I4J2C1Tdxg2zXR0bDDKF1DBMRyUdl5Twk+oRs+B2vXlgiCq/GE+FU4EhgPKSav8tZEYMvbX5ec2c/iX00GeIXtz8yXvf/KZAlUzJvvbYjYqH4OJTGq2RwwsPQ6HD7DvBDRtTo2+9lmtG0VQgyK/F+bNTIqBvWc/gQeV7BwpI/7SjWrWyIsN5n/J9b+bU1N1Q9NPqUw/070mgdJ147cOMFV9c/wWO2VoZKeYijIjWNtNQIusrPPyu2+4/ZfC8mOAvX9o3w5dqZdK2CVlNw=
|
secure: FuH5P/nqCXNTfgCCrK+34+InbCO7U14DhGPxhKyJl4KuimuRdsmcyD/IPTIyTJ7mkElg/x/wkj7g1r6ajajZPncYd7CoV3wlTSC/XN5EyotIFOw4dz6YssqhrkDGsms07sTTzeMdoXWqS02eiMYb3FzJn0Fd3Gk0YtF3PgqmQEkB0eh83G7cQSqUpcxcs2hOkQ0bDDsSad3AdJSG0dFDqrbdxEu1hzQZJ8v59cxiV4Wo7ya6MpNrX2egWpJR14vuEjI8rFh1ixx4gpw+RcQIi7KlAz/EOb9nE8CsumoDUOjql6COZotD4oqT6Q7puj84iz5OFD7XwJ3cedJkWSmz8eQBXrqOu2TVsfUcL3NPZ61tXcfKo2LEVZzj5NenZJ4I+3QvywyNpJsAIf/VtIi0KYMQd6I4J2C1Tdxg2zXR0bDDKF1DBMRyUdl5Twk+oRs+B2vXlgiCq/GE+FU4EhgPKSav8tZEYMvbX5ec2c/iX00GeIXtz8yXvf/KZAlUzJvvbYjYqH4OJTGq2RwwsPQ6HD7DvBDRtTo2+9lmtG0VQgyK/F+bNTIqBvWc/gQeV7BwpI/7SjWrWyIsN5n/J9b+bU1N1Q9NPqUw/070mgdJ147cOMFV9c/wWO2VoZKeYijIjWNtNQIusrPPyu2+4/ZfC8mOAvX9o3w5dqZdK2CVlNw=
|
||||||
file:
|
file:
|
||||||
- build/electrum-zclassic/dist/Electrum-Zclassic-$ELECTRUM_ZCL_VERSION.tar.gz
|
- build/electrum-bitcoinprivate/dist/Electrum-bitcoinprivate-$ELECTRUM_BTCP_VERSION.tar.gz
|
||||||
- build/electrum-zclassic/dist/electrum-zclassic-$ELECTRUM_ZCL_VERSION-setup-win32.exe
|
- build/electrum-bitcoinprivate/dist/electrum-bitcoinprivate-$ELECTRUM_BTCP_VERSION-setup-win32.exe
|
||||||
- build/electrum-zclassic/dist/electrum-zclassic-$ELECTRUM_ZCL_VERSION-setup-win64.exe
|
- build/electrum-bitcoinprivate/dist/electrum-bitcoinprivate-$ELECTRUM_BTCP_VERSION-setup-win64.exe
|
||||||
- build/electrum-zclassic/bin/Electrum_Zclassic-$ELECTRUM_ZCL_APK_VERSION-release-unsigned.apk
|
- build/electrum-bitcoinprivate/bin/Electrum_bitcoinprivate-$ELECTRUM_BTCP_APK_VERSION-release-unsigned.apk
|
||||||
on:
|
on:
|
||||||
repo: ZclassicCommunity/electrum-zclassic
|
repo: BTCPrivate/electrum-bitcoinprivate
|
||||||
tags: true
|
tags: true
|
||||||
condition: "$TRAVIS_OS_NAME = linux"
|
condition: "$TRAVIS_OS_NAME = linux"
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
include LICENCE RELEASE-NOTES AUTHORS
|
include LICENCE RELEASE-NOTES AUTHORS
|
||||||
include README.rst
|
include README.rst
|
||||||
include electrum-zclassic.conf.sample
|
include electrum-bitcoinprivate.conf.sample
|
||||||
include electrum-zclassic.desktop
|
include electrum-bitcoinprivate.desktop
|
||||||
include *.py
|
include *.py
|
||||||
include electrum-zclassic
|
include electrum-bitcoinprivate
|
||||||
include contrib/requirements/requirements.txt
|
include contrib/requirements/requirements.txt
|
||||||
include contrib/requirements/requirements-hw.txt
|
include contrib/requirements/requirements-hw.txt
|
||||||
recursive-include lib *.py
|
recursive-include lib *.py
|
||||||
|
|
28
README.rst
28
README.rst
|
@ -1,4 +1,4 @@
|
||||||
Electrum-Zclassic - Lightweight Zclassic client
|
Electrum-bitcoinprivate - Lightweight Bitcoin Private client
|
||||||
=====================================
|
=====================================
|
||||||
|
|
||||||
::
|
::
|
||||||
|
@ -6,11 +6,11 @@ Electrum-Zclassic - Lightweight Zclassic client
|
||||||
Licence: MIT Licence
|
Licence: MIT Licence
|
||||||
Author: Thomas Voegtlin
|
Author: Thomas Voegtlin
|
||||||
Language: Python
|
Language: Python
|
||||||
Homepage: https://github.com/ZclassicCommunity/electrum-zcl
|
Homepage: https://github.com/BTCPrivate/electrum-bitcoinprivate
|
||||||
|
|
||||||
|
|
||||||
.. image:: https://travis-ci.org/ZclassicCommunity/electrum-zcl.svg?branch=master
|
.. image:: https://travis-ci.org/BTCPrivate/electrum-bitcoinprivate.svg?branch=master
|
||||||
:target: https://travis-ci.org/ZclassicCommunity/electrum-zcl
|
:target: https://travis-ci.org/BTCPrivate/electrum-bitcoinprivate
|
||||||
:alt: Build Status
|
:alt: Build Status
|
||||||
|
|
||||||
|
|
||||||
|
@ -20,30 +20,30 @@ Electrum-Zclassic - Lightweight Zclassic client
|
||||||
Getting started
|
Getting started
|
||||||
===============
|
===============
|
||||||
|
|
||||||
Electrum-Zclassic is a pure python application. If you want to use the
|
Electrum-bitcoinprivate 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-Zclassic from its root directory, without installing it on your
|
Electrum-bitcoinprivate 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-Zclassic from its root directory, just do::
|
directory. To run Electrum-bitcoinprivate from its root directory, just do::
|
||||||
|
|
||||||
./electrum-zclassic
|
./electrum-bitcoinprivate
|
||||||
|
|
||||||
You can also install Electrum-Zclassic on your system, by running this command::
|
You can also install Electrum-bitcoinprivate 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-Zclassic, instead of using the 'packages' directory.
|
Electrum-bitcoinprivate, 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-Zclassic. Read the next section, "Development
|
before you can run Electrum-bitcoinprivate. 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/ZclassicCommunity/electrum-zclassic.git
|
git clone git://github.com/BTCPrivate/electrum-bitcoinprivate.git
|
||||||
cd electrum-zclassic
|
cd electrum-bitcoinprivate
|
||||||
|
|
||||||
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-Zclassic.
|
This directory contains the python dependencies used by Electrum-bitcoinprivate.
|
||||||
|
|
||||||
Android
|
Android
|
||||||
-------
|
-------
|
||||||
|
|
|
@ -149,7 +149,7 @@ issue #3374. Users should upgrade to 3.0.5.
|
||||||
# Release 2.9 - Independence (July 27th, 2017)
|
# Release 2.9 - Independence (July 27th, 2017)
|
||||||
* Multiple Chain Validation: Electrum will download and validate
|
* Multiple Chain Validation: Electrum will download and validate
|
||||||
block headers sent by servers that may follow different branches
|
block headers sent by servers that may follow different branches
|
||||||
of a fork in the ZClassic blockchain. Instead of a linear sequence,
|
of a fork in the bitcoinprivate blockchain. Instead of a linear sequence,
|
||||||
block headers are organized in a tree structure. Branching points
|
block headers are organized in a tree structure. Branching points
|
||||||
are located efficiently using binary search. The purpose of MCV is
|
are located efficiently using binary search. The purpose of MCV is
|
||||||
to detect and handle blockchain forks that are invisible to the
|
to detect and handle blockchain forks that are invisible to the
|
||||||
|
@ -311,7 +311,7 @@ issue #3374. Users should upgrade to 3.0.5.
|
||||||
wallet that has several accounts. Make sure that you have saved
|
wallet that has several accounts. Make sure that you have saved
|
||||||
your seed phrase before you upgrade Electrum.
|
your seed phrase before you upgrade Electrum.
|
||||||
* This version introduces a separation between wallets types and
|
* This version introduces a separation between wallets types and
|
||||||
keystores types. 'Wallet type' defines the type of ZClassic contract
|
keystores types. 'Wallet type' defines the type of bitcoinprivate contract
|
||||||
used in the wallet, while 'keystore type' refers to the method used
|
used in the wallet, while 'keystore type' refers to the method used
|
||||||
to store private keys. Therefore, so-called 'hardware wallets' will
|
to store private keys. Therefore, so-called 'hardware wallets' will
|
||||||
be referred to as 'hardware keystores'.
|
be referred to as 'hardware keystores'.
|
||||||
|
@ -444,13 +444,13 @@ issue #3374. Users should upgrade to 3.0.5.
|
||||||
* Various GUI improvements
|
* Various GUI improvements
|
||||||
|
|
||||||
# Release 2.4
|
# Release 2.4
|
||||||
* Payment to DNS names storing a ZClassic addresses (OpenAlias) is
|
* Payment to DNS names storing a bitcoinprivate addresses (OpenAlias) is
|
||||||
supported directly, without activating a plugin. The verification
|
supported directly, without activating a plugin. The verification
|
||||||
uses DNSSEC.
|
uses DNSSEC.
|
||||||
* The DNSSEC verification code was rewritten. The previous code,
|
* The DNSSEC verification code was rewritten. The previous code,
|
||||||
which was part of the OpenAlias plugin, is vulnerable and should
|
which was part of the OpenAlias plugin, is vulnerable and should
|
||||||
not be trusted (Electrum 2.0 to 2.3).
|
not be trusted (Electrum 2.0 to 2.3).
|
||||||
* Payment requests can be signed using ZClassic addresses stored
|
* Payment requests can be signed using bitcoinprivate addresses stored
|
||||||
in DNS (OpenAlias). The identity of the requestor is verified using
|
in DNS (OpenAlias). The identity of the requestor is verified using
|
||||||
DNSSEC.
|
DNSSEC.
|
||||||
* Payment requests signed with OpenAlias keys can be shared as
|
* Payment requests signed with OpenAlias keys can be shared as
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
NAME_ROOT=electrum-zclassic
|
NAME_ROOT=electrum-bitcoinprivate
|
||||||
PYTHON_VERSION=3.5.4
|
PYTHON_VERSION=3.5.4
|
||||||
|
|
||||||
# These settings probably don't need any change
|
# These settings probably don't need any change
|
||||||
|
@ -19,14 +19,14 @@ set -e
|
||||||
mkdir -p tmp
|
mkdir -p tmp
|
||||||
cd tmp
|
cd tmp
|
||||||
|
|
||||||
for repo in electrum-zclassic electrum-locale electrum-icons; do
|
for repo in electrum-bitcoinprivate electrum-locale electrum-icons; do
|
||||||
if [ -d $repo ]; then
|
if [ -d $repo ]; then
|
||||||
cd $repo
|
cd $repo
|
||||||
git pull
|
git pull
|
||||||
git checkout master
|
git checkout master
|
||||||
cd ..
|
cd ..
|
||||||
else
|
else
|
||||||
URL=https://github.com/ZclassicCommunity/$repo.git
|
URL=https://github.com/BTCPrivate/$repo.git
|
||||||
git clone -b master $URL $repo
|
git clone -b master $URL $repo
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
@ -39,7 +39,7 @@ for i in ./locale/*; do
|
||||||
done
|
done
|
||||||
popd
|
popd
|
||||||
|
|
||||||
pushd electrum-zclassic
|
pushd electrum-bitcoinprivate
|
||||||
if [ ! -z "$1" ]; then
|
if [ ! -z "$1" ]; then
|
||||||
git checkout $1
|
git checkout $1
|
||||||
fi
|
fi
|
||||||
|
@ -50,18 +50,18 @@ echo "Last commit: $VERSION"
|
||||||
find -exec touch -d '2000-11-11T11:11:11+00:00' {} +
|
find -exec touch -d '2000-11-11T11:11:11+00:00' {} +
|
||||||
popd
|
popd
|
||||||
|
|
||||||
rm -rf $WINEPREFIX/drive_c/electrum_zclassic
|
rm -rf $WINEPREFIX/drive_c/electrum_bitcoinprivate
|
||||||
cp -r electrum-zclassic $WINEPREFIX/drive_c/electrum_zclassic
|
cp -r electrum-bitcoinprivate $WINEPREFIX/drive_c/electrum_bitcoinprivate
|
||||||
cp electrum-zclassic/LICENCE .
|
cp electrum-bitcoinprivate/LICENCE .
|
||||||
cp -r electrum-locale/locale $WINEPREFIX/drive_c/electrum_zclassic/lib/
|
cp -r electrum-locale/locale $WINEPREFIX/drive_c/electrum_bitcoinprivate/lib/
|
||||||
cp electrum-icons/icons_rc.py $WINEPREFIX/drive_c/electrum_zclassic/gui/qt/
|
cp electrum-icons/icons_rc.py $WINEPREFIX/drive_c/electrum_bitcoinprivate/gui/qt/
|
||||||
|
|
||||||
# Install frozen dependencies
|
# Install frozen dependencies
|
||||||
$PYTHON -m pip install -r ../../deterministic-build/requirements.txt
|
$PYTHON -m pip install -r ../../deterministic-build/requirements.txt
|
||||||
|
|
||||||
$PYTHON -m pip install -r ../../deterministic-build/requirements-hw.txt
|
$PYTHON -m pip install -r ../../deterministic-build/requirements-hw.txt
|
||||||
|
|
||||||
pushd $WINEPREFIX/drive_c/electrum_zclassic
|
pushd $WINEPREFIX/drive_c/electrum_bitcoinprivate
|
||||||
$PYTHON setup.py install
|
$PYTHON setup.py install
|
||||||
popd
|
popd
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,7 @@ else:
|
||||||
raise BaseException('no name')
|
raise BaseException('no name')
|
||||||
|
|
||||||
|
|
||||||
home = 'C:\\electrum_zclassic\\'
|
home = 'C:\\electrum_bitcoinprivate\\'
|
||||||
|
|
||||||
# see https://github.com/pyinstaller/pyinstaller/issues/2005
|
# see https://github.com/pyinstaller/pyinstaller/issues/2005
|
||||||
hiddenimports = []
|
hiddenimports = []
|
||||||
|
@ -27,13 +27,13 @@ binaries = [("c:/python3.5.4/libusb-1.0.dll", ".")]
|
||||||
binaries += [b for b in collect_dynamic_libs('PyQt5') if 'qwindowsvista' in b[0]]
|
binaries += [b for b in collect_dynamic_libs('PyQt5') if 'qwindowsvista' in b[0]]
|
||||||
|
|
||||||
datas = [
|
datas = [
|
||||||
(home+'lib/currencies.json', 'electrum_zclassic'),
|
(home+'lib/currencies.json', 'electrum_bitcoinprivate'),
|
||||||
(home+'lib/servers.json', 'electrum_zclassic'),
|
(home+'lib/servers.json', 'electrum_bitcoinprivate'),
|
||||||
# (home+'lib/checkpoints.json', 'electrum_zclassic'),
|
# (home+'lib/checkpoints.json', 'electrum_bitcoinprivate'),
|
||||||
(home+'lib/servers_testnet.json', 'electrum_zclassic'),
|
(home+'lib/servers_testnet.json', 'electrum_bitcoinprivate'),
|
||||||
# (home+'lib/checkpoints_testnet.json', 'electrum_zclassic'),
|
# (home+'lib/checkpoints_testnet.json', 'electrum_bitcoinprivate'),
|
||||||
(home+'lib/wordlist/english.txt', 'electrum_zclassic/wordlist'),
|
(home+'lib/wordlist/english.txt', 'electrum_bitcoinprivate/wordlist'),
|
||||||
(home+'lib/locale', 'electrum_zclassic/locale'),
|
(home+'lib/locale', 'electrum_bitcoinprivate/locale'),
|
||||||
(home+'plugins', 'electrum_plugins'),
|
(home+'plugins', 'electrum_plugins'),
|
||||||
('C:\\Program Files (x86)\\ZBar\\bin\\', '.')
|
('C:\\Program Files (x86)\\ZBar\\bin\\', '.')
|
||||||
]
|
]
|
||||||
|
@ -42,7 +42,7 @@ datas += collect_data_files('btchip')
|
||||||
datas += collect_data_files('keepkeylib')
|
datas += collect_data_files('keepkeylib')
|
||||||
|
|
||||||
# We don't put these files in to actually include them in the script but to make the Analysis method scan them for imports
|
# We don't put these files in to actually include them in the script but to make the Analysis method scan them for imports
|
||||||
a = Analysis([home+'electrum-zclassic',
|
a = Analysis([home+'electrum-bitcoinprivate',
|
||||||
home+'gui/qt/main_window.py',
|
home+'gui/qt/main_window.py',
|
||||||
home+'gui/text.py',
|
home+'gui/text.py',
|
||||||
home+'lib/util.py',
|
home+'lib/util.py',
|
||||||
|
@ -86,11 +86,11 @@ exe_standalone = EXE(
|
||||||
a.scripts,
|
a.scripts,
|
||||||
a.binaries,
|
a.binaries,
|
||||||
a.datas,
|
a.datas,
|
||||||
name=os.path.join('build\\pyi.win32\\electrum_zclassic', cmdline_name + ".exe"),
|
name=os.path.join('build\\pyi.win32\\electrum_bitcoinprivate', cmdline_name + ".exe"),
|
||||||
debug=False,
|
debug=False,
|
||||||
strip=None,
|
strip=None,
|
||||||
upx=False,
|
upx=False,
|
||||||
icon=home+'icons/electrum-zclassic.ico',
|
icon=home+'icons/electrum-bitcoinprivate.ico',
|
||||||
console=False)
|
console=False)
|
||||||
# console=True makes an annoying black box pop up, but it does make Electrum output command line commands, with this turned off no output will be given but commands can still be used
|
# console=True makes an annoying black box pop up, but it does make Electrum output command line commands, with this turned off no output will be given but commands can still be used
|
||||||
|
|
||||||
|
@ -99,11 +99,11 @@ exe_portable = EXE(
|
||||||
a.scripts,
|
a.scripts,
|
||||||
a.binaries,
|
a.binaries,
|
||||||
a.datas + [ ('is_portable', 'README.md', 'DATA' ) ],
|
a.datas + [ ('is_portable', 'README.md', 'DATA' ) ],
|
||||||
name=os.path.join('build\\pyi.win32\\electrum_zclassic', cmdline_name + "-portable.exe"),
|
name=os.path.join('build\\pyi.win32\\electrum_bitcoinprivate', cmdline_name + "-portable.exe"),
|
||||||
debug=False,
|
debug=False,
|
||||||
strip=None,
|
strip=None,
|
||||||
upx=False,
|
upx=False,
|
||||||
icon=home+'icons/electrum-zclassic.ico',
|
icon=home+'icons/electrum-bitcoinprivate.ico',
|
||||||
console=False)
|
console=False)
|
||||||
|
|
||||||
#####
|
#####
|
||||||
|
@ -113,11 +113,11 @@ exe_dependent = EXE(
|
||||||
pyz,
|
pyz,
|
||||||
a.scripts,
|
a.scripts,
|
||||||
exclude_binaries=True,
|
exclude_binaries=True,
|
||||||
name=os.path.join('build\\pyi.win32\\electrum_zclassic', cmdline_name),
|
name=os.path.join('build\\pyi.win32\\electrum_bitcoinprivate', cmdline_name),
|
||||||
debug=False,
|
debug=False,
|
||||||
strip=None,
|
strip=None,
|
||||||
upx=False,
|
upx=False,
|
||||||
icon=home+'icons/electrum-zclassic.ico',
|
icon=home+'icons/electrum-bitcoinprivate.ico',
|
||||||
console=False)
|
console=False)
|
||||||
|
|
||||||
coll = COLLECT(
|
coll = COLLECT(
|
||||||
|
@ -128,6 +128,6 @@ coll = COLLECT(
|
||||||
strip=None,
|
strip=None,
|
||||||
upx=True,
|
upx=True,
|
||||||
debug=False,
|
debug=False,
|
||||||
icon=home+'icons/electrum-zclassic.ico',
|
icon=home+'icons/electrum-bitcoinprivate.ico',
|
||||||
console=False,
|
console=False,
|
||||||
name=os.path.join('dist', 'electrum-zclassic'))
|
name=os.path.join('dist', 'electrum-bitcoinprivate'))
|
||||||
|
|
|
@ -6,9 +6,9 @@
|
||||||
;--------------------------------
|
;--------------------------------
|
||||||
;Variables
|
;Variables
|
||||||
|
|
||||||
!define PRODUCT_NAME "Zclassic Electrum"
|
!define PRODUCT_NAME "bitcoinprivate Electrum"
|
||||||
!define PRODUCT_WEB_SITE "https://github.com/ZclassicCommunity/electrum-zclassic"
|
!define PRODUCT_WEB_SITE "https://github.com/BTCPrivate/electrum-bitcoinprivate"
|
||||||
!define PRODUCT_PUBLISHER "Zclassic Electrum Technologies"
|
!define PRODUCT_PUBLISHER "bitcoinprivate Electrum Technologies"
|
||||||
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
|
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
|
||||||
|
|
||||||
;--------------------------------
|
;--------------------------------
|
||||||
|
@ -72,7 +72,7 @@
|
||||||
!define MUI_ABORTWARNING
|
!define MUI_ABORTWARNING
|
||||||
!define MUI_ABORTWARNING_TEXT "Are you sure you wish to abort the installation of ${PRODUCT_NAME}?"
|
!define MUI_ABORTWARNING_TEXT "Are you sure you wish to abort the installation of ${PRODUCT_NAME}?"
|
||||||
|
|
||||||
!define MUI_ICON "tmp\electrum-zclassic\icons\electrum-zclassic.ico"
|
!define MUI_ICON "tmp\electrum-bitcoinprivate\icons\electrum-bitcoinprivate.ico"
|
||||||
|
|
||||||
;--------------------------------
|
;--------------------------------
|
||||||
;Pages
|
;Pages
|
||||||
|
@ -110,8 +110,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-zclassic\*.*"
|
File /r "dist\electrum-bitcoinprivate\*.*"
|
||||||
File "..\..\icons\electrum-zclassic.ico"
|
File "..\..\icons\electrum-bitcoinprivate.ico"
|
||||||
|
|
||||||
;Store installation folder
|
;Store installation folder
|
||||||
WriteRegStr HKCU "Software\${PRODUCT_NAME}" "" $INSTDIR
|
WriteRegStr HKCU "Software\${PRODUCT_NAME}" "" $INSTDIR
|
||||||
|
@ -122,21 +122,21 @@ Section
|
||||||
|
|
||||||
;Create desktop shortcut
|
;Create desktop shortcut
|
||||||
DetailPrint "Creating desktop shortcut..."
|
DetailPrint "Creating desktop shortcut..."
|
||||||
CreateShortCut "$DESKTOP\${PRODUCT_NAME}.lnk" "$INSTDIR\electrum-zclassic-${PRODUCT_VERSION}.exe" ""
|
CreateShortCut "$DESKTOP\${PRODUCT_NAME}.lnk" "$INSTDIR\electrum-bitcoinprivate-${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-zclassic-${PRODUCT_VERSION}.exe" "" "$INSTDIR\electrum-zclassic-${PRODUCT_VERSION}.exe" 0
|
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME}.lnk" "$INSTDIR\electrum-bitcoinprivate-${PRODUCT_VERSION}.exe" "" "$INSTDIR\electrum-bitcoinprivate-${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
|
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME} Testnet.lnk" "$INSTDIR\electrum-bitcoinprivate-${PRODUCT_VERSION}.exe" "--testnet" "$INSTDIR\electrum-bitcoinprivate-${PRODUCT_VERSION}.exe" 0
|
||||||
|
|
||||||
|
|
||||||
;Links zclassiccoin: URI's to Electrum
|
;Links bitcoinprivatecoin: URI's to Electrum
|
||||||
WriteRegStr HKCU "Software\Classes\bitcoin" "" "URL:bitcoin Protocol"
|
WriteRegStr HKCU "Software\Classes\bitcoin" "" "URL:bitcoin Protocol"
|
||||||
WriteRegStr HKCU "Software\Classes\bitcoin" "URL Protocol" ""
|
WriteRegStr HKCU "Software\Classes\bitcoin" "URL Protocol" ""
|
||||||
WriteRegStr HKCU "Software\Classes\bitcoin" "DefaultIcon" "$\"$INSTDIR\electrum-zclassic.ico, 0$\""
|
WriteRegStr HKCU "Software\Classes\bitcoin" "DefaultIcon" "$\"$INSTDIR\electrum-bitcoinprivate.ico, 0$\""
|
||||||
WriteRegStr HKCU "Software\Classes\bitcoin\shell\open\command" "" "$\"$INSTDIR\electrum-zclassic-${PRODUCT_VERSION}.exe$\" $\"%1$\""
|
WriteRegStr HKCU "Software\Classes\bitcoin\shell\open\command" "" "$\"$INSTDIR\electrum-bitcoinprivate-${PRODUCT_VERSION}.exe$\" $\"%1$\""
|
||||||
|
|
||||||
;Adds an uninstaller possibilty to Windows Uninstall or change a program section
|
;Adds an uninstaller possibilty to Windows Uninstall or change a program section
|
||||||
WriteRegStr HKCU "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
|
WriteRegStr HKCU "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
|
||||||
|
@ -144,7 +144,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-zclassic.ico"
|
WriteRegStr HKCU "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\electrum-bitcoinprivate.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
|
||||||
|
|
|
@ -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 zclassic-electrum \
|
-sigfile bitcoinprivate-electrum \
|
||||||
-keystore ~/.jks/keystore \
|
-keystore ~/.jks/keystore \
|
||||||
Electrum_Zclassic-3.0.6.1-release-unsigned.apk \
|
Electrum_bitcoinprivate-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_Zclassic-3.0.6.1-release-unsigned.apk \
|
Electrum_bitcoinprivate-3.0.6.1-release-unsigned.apk \
|
||||||
Electrum_Zclassic-3.0.6.1-release.apk
|
Electrum_bitcoinprivate-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-Zclassic-(.*).tar.gz$')
|
SDIST_NAME_PATTERN = re.compile('^Electrum-bitcoinprivate-(.*).tar.gz$')
|
||||||
SDIST_DIR_TEMPLATE = 'Electrum-Zclassic-{version}'
|
SDIST_DIR_TEMPLATE = 'Electrum-bitcoinprivate-{version}'
|
||||||
PPA_SOURCE_NAME = 'electrum-zclassic'
|
PPA_SOURCE_NAME = 'electrum-bitcoinprivate'
|
||||||
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', 'zclassic-electrum',
|
'-sigfile', 'bitcoinprivate-electrum',
|
||||||
'-storepass:env', JKS_STOREPASS,
|
'-storepass:env', JKS_STOREPASS,
|
||||||
'-keypass:env', JKS_KEYPASS,
|
'-keypass:env', JKS_KEYPASS,
|
||||||
]
|
]
|
||||||
UNSIGNED_APK_PATTERN = re.compile('^Electrum_Zclassic-(.*)-release-unsigned.apk$')
|
UNSIGNED_APK_PATTERN = re.compile('^Electrum_bitcoinprivate-(.*)-release-unsigned.apk$')
|
||||||
SIGNED_APK_TEMPLATE = 'Electrum_Zclassic-{version}-release.apk'
|
SIGNED_APK_TEMPLATE = 'Electrum_bitcoinprivate-{version}-release.apk'
|
||||||
|
|
||||||
|
|
||||||
os.environ['QUILT_PATCHES'] = 'debian/patches'
|
os.environ['QUILT_PATCHES'] = 'debian/patches'
|
||||||
|
|
|
@ -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 Zclassic variant"""
|
"""Search and replaces BTC addresses and private keys in WIF to bitcoinprivate variant"""
|
||||||
|
|
||||||
import click
|
import click
|
||||||
import imp
|
import imp
|
||||||
|
|
|
@ -38,12 +38,12 @@ hiddenimports += [
|
||||||
]
|
]
|
||||||
|
|
||||||
datas = [
|
datas = [
|
||||||
('lib/servers.json', 'electrum_zclassic'),
|
('lib/servers.json', 'electrum_bitcoinprivate'),
|
||||||
('lib/servers_testnet.json', 'electrum_zclassic'),
|
('lib/servers_testnet.json', 'electrum_bitcoinprivate'),
|
||||||
('lib/servers_regtest.json', 'electrum_zclassic'),
|
('lib/servers_regtest.json', 'electrum_bitcoinprivate'),
|
||||||
('lib/currencies.json', 'electrum_zclassic'),
|
('lib/currencies.json', 'electrum_bitcoinprivate'),
|
||||||
('lib/locale', 'electrum_zclassic/locale'),
|
('lib/locale', 'electrum_bitcoinprivate/locale'),
|
||||||
('lib/wordlist', 'electrum_zclassic/wordlist'),
|
('lib/wordlist', 'electrum_bitcoinprivate/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-zclassic'],
|
a = Analysis(['electrum-bitcoinprivate'],
|
||||||
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_zclassic, electrum_zclassic_gui, electrum_zclassic_plugins
|
# Add TOC to electrum_bitcoinprivate, electrum_bitcoinprivate_gui, electrum_bitcoinprivate_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_zclassic%s' % p[0][3:] , p[1], p[2])]
|
a.pure += [('electrum_bitcoinprivate%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_zclassic_gui%s' % p[0][3:] , p[1], p[2])]
|
a.pure += [('electrum_bitcoinprivate_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_zclassic_plugins%s' % p[0][7:] , p[1], p[2])]
|
a.pure += [('electrum_bitcoinprivate_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-zclassic.ico',
|
icon='icons/electrum-bitcoinprivate.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-zclassic.ico',
|
icon='icons/electrum-bitcoinprivate.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-zclassic'))
|
name=os.path.join('dist', 'electrum-bitcoinprivate'))
|
||||||
|
|
|
@ -7,8 +7,8 @@
|
||||||
;--------------------------------
|
;--------------------------------
|
||||||
;Variables
|
;Variables
|
||||||
|
|
||||||
!define PRODUCT_NAME "Electrum-Zclassic"
|
!define PRODUCT_NAME "Electrum-bitcoinprivate"
|
||||||
!define PRODUCT_WEB_SITE "https://github.com/ZclassicCommunity/electrum-zclassic"
|
!define PRODUCT_WEB_SITE "https://github.com/BTCPrivate/electrum-bitcoinprivate"
|
||||||
!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-zclassic-${PRODUCT_VERSION}-setup-${BUILD_ARCH}.exe"
|
OutFile "dist/electrum-bitcoinprivate-${PRODUCT_VERSION}-setup-${BUILD_ARCH}.exe"
|
||||||
|
|
||||||
;Default installation folder
|
;Default installation folder
|
||||||
InstallDir "$PROGRAMFILES\${PRODUCT_NAME}"
|
InstallDir "$PROGRAMFILES\${PRODUCT_NAME}"
|
||||||
|
@ -74,7 +74,7 @@
|
||||||
!define MUI_ABORTWARNING
|
!define MUI_ABORTWARNING
|
||||||
!define MUI_ABORTWARNING_TEXT "Are you sure you wish to abort the installation of ${PRODUCT_NAME}?"
|
!define MUI_ABORTWARNING_TEXT "Are you sure you wish to abort the installation of ${PRODUCT_NAME}?"
|
||||||
|
|
||||||
!define MUI_ICON "icons\electrum-zclassic.ico"
|
!define MUI_ICON "icons\electrum-bitcoinprivate.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-zclassic\*.*"
|
File /r "dist\electrum-bitcoinprivate\*.*"
|
||||||
File "icons\electrum-zclassic.ico"
|
File "icons\electrum-bitcoinprivate.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-zclassic-${PRODUCT_VERSION}.exe" ""
|
CreateShortCut "$DESKTOP\${PRODUCT_NAME}.lnk" "$INSTDIR\electrum-bitcoinprivate-${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-zclassic-${PRODUCT_VERSION}.exe" "" "$INSTDIR\electrum-zclassic-${PRODUCT_VERSION}.exe" 0
|
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME}.lnk" "$INSTDIR\electrum-bitcoinprivate-${PRODUCT_VERSION}.exe" "" "$INSTDIR\electrum-bitcoinprivate-${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
|
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME} Testnet.lnk" "$INSTDIR\electrum-bitcoinprivate-${PRODUCT_VERSION}.exe" "--testnet" "$INSTDIR\electrum-bitcoinprivate-${PRODUCT_VERSION}.exe" 0
|
||||||
|
|
||||||
|
|
||||||
;Links zclassic: URI's to Electrum
|
;Links bitcoinprivate: URI's to Electrum
|
||||||
WriteRegStr HKCU "Software\Classes\zclassic" "" "URL:zclassic Protocol"
|
WriteRegStr HKCU "Software\Classes\bitcoinprivate" "" "URL:bitcoinprivate Protocol"
|
||||||
WriteRegStr HKCU "Software\Classes\zclassic" "URL Protocol" ""
|
WriteRegStr HKCU "Software\Classes\bitcoinprivate" "URL Protocol" ""
|
||||||
WriteRegStr HKCU "Software\Classes\zclassic" "DefaultIcon" "$\"$INSTDIR\electrum-zclassic.ico, 0$\""
|
WriteRegStr HKCU "Software\Classes\bitcoinprivate" "DefaultIcon" "$\"$INSTDIR\electrum-bitcoinprivate.ico, 0$\""
|
||||||
WriteRegStr HKCU "Software\Classes\zclassic\shell\open\command" "" "$\"$INSTDIR\electrum-zclassic-${PRODUCT_VERSION}.exe$\" $\"%1$\""
|
WriteRegStr HKCU "Software\Classes\bitcoinprivate\shell\open\command" "" "$\"$INSTDIR\electrum-bitcoinprivate-${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-zclassic.ico"
|
WriteRegStr HKCU "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\electrum-bitcoinprivate.ico"
|
||||||
|
|
||||||
;Fixes Windows broken size estimates
|
;Fixes Windows broken size estimates
|
||||||
${GetSize} "$INSTDIR" "/S=0K" $0 $1 $2
|
${GetSize} "$INSTDIR" "/S=0K" $0 $1 $2
|
||||||
|
@ -179,7 +179,7 @@ Section "Uninstall"
|
||||||
Delete "$SMPROGRAMS\${PRODUCT_NAME}\*.*"
|
Delete "$SMPROGRAMS\${PRODUCT_NAME}\*.*"
|
||||||
RMDir "$SMPROGRAMS\${PRODUCT_NAME}"
|
RMDir "$SMPROGRAMS\${PRODUCT_NAME}"
|
||||||
|
|
||||||
DeleteRegKey HKCU "Software\Classes\zclassic"
|
DeleteRegKey HKCU "Software\Classes\bitcoinprivate"
|
||||||
DeleteRegKey HKCU "Software\${PRODUCT_NAME}"
|
DeleteRegKey HKCU "Software\${PRODUCT_NAME}"
|
||||||
DeleteRegKey HKCU "${PRODUCT_UNINST_KEY}"
|
DeleteRegKey HKCU "${PRODUCT_UNINST_KEY}"
|
||||||
SectionEnd
|
SectionEnd
|
||||||
|
|
|
@ -42,12 +42,12 @@ hiddenimports += [
|
||||||
]
|
]
|
||||||
|
|
||||||
datas = [
|
datas = [
|
||||||
('lib/servers.json', 'electrum_zclassic'),
|
('lib/servers.json', 'electrum_bitcoinprivate'),
|
||||||
('lib/servers_testnet.json', 'electrum_zclassic'),
|
('lib/servers_testnet.json', 'electrum_bitcoinprivate'),
|
||||||
('lib/servers_regtest.json', 'electrum_zclassic'),
|
('lib/servers_regtest.json', 'electrum_bitcoinprivate'),
|
||||||
('lib/currencies.json', 'electrum_zclassic'),
|
('lib/currencies.json', 'electrum_bitcoinprivate'),
|
||||||
('lib/locale', 'electrum_zclassic/locale'),
|
('lib/locale', 'electrum_bitcoinprivate/locale'),
|
||||||
('lib/wordlist', 'electrum_zclassic/wordlist'),
|
('lib/wordlist', 'electrum_bitcoinprivate/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-zclassic'],
|
a = Analysis(['electrum-bitcoinprivate'],
|
||||||
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_zclassic, electrum_zclassic_gui, electrum_zclassic_plugins
|
# Add TOC to electrum_bitcoinprivate, electrum_bitcoinprivate_gui, electrum_bitcoinprivate_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_zclassic%s' % p[0][3:] , p[1], p[2])]
|
a.pure += [('electrum_bitcoinprivate%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_zclassic_gui%s' % p[0][3:] , p[1], p[2])]
|
a.pure += [('electrum_bitcoinprivate_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_zclassic_plugins%s' % p[0][7:] , p[1], p[2])]
|
a.pure += [('electrum_bitcoinprivate_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-zclassic.ico',
|
icon='icons/electrum-bitcoinprivate.ico',
|
||||||
name=os.path.join('build/electrum-zclassic/electrum-zclassic', cmdline_name))
|
name=os.path.join('build/electrum-bitcoinprivate/electrum-bitcoinprivate', 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-zclassic/electrum-zclassic', 'trezorctl.bin'))
|
name=os.path.join('build/electrum-bitcoinprivate/electrum-bitcoinprivate', '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-zclassic'))
|
name=os.path.join('dist', 'electrum-bitcoinprivate'))
|
||||||
|
|
||||||
app = BUNDLE(coll,
|
app = BUNDLE(coll,
|
||||||
name=os.path.join('dist', 'Electrum-Zclassic.app'),
|
name=os.path.join('dist', 'Electrum-bitcoinprivate.app'),
|
||||||
appname="Electrum-Zclassic",
|
appname="Electrum-bitcoinprivate",
|
||||||
icon='electrum-zclassic.icns',
|
icon='electrum-bitcoinprivate.icns',
|
||||||
version = 'ELECTRUM_VERSION')
|
version = 'ELECTRUM_VERSION')
|
||||||
|
|
|
@ -23,7 +23,7 @@ def _new_load_module(name, file, pathname, description):
|
||||||
imp.load_module = _new_load_module
|
imp.load_module = _new_load_module
|
||||||
|
|
||||||
|
|
||||||
PLUGINS_PREFIX = 'electrum_zclassic_plugins'
|
PLUGINS_PREFIX = 'electrum_bitcoinprivate_plugins'
|
||||||
|
|
||||||
KEYSTORE_PLUGINS = [
|
KEYSTORE_PLUGINS = [
|
||||||
'hw_wallet',
|
'hw_wallet',
|
||||||
|
|
|
@ -1,19 +1,19 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
source ./contrib/zclassic/travis/electrum_zclassic_version_env.sh;
|
source ./contrib/bitcoinprivate/travis/electrum_bitcoinprivate_version_env.sh;
|
||||||
echo wine build version is $ELECTRUM_ZCL_VERSION
|
echo wine build version is $ELECTRUM_BTCP_VERSION
|
||||||
|
|
||||||
mv /opt/zbarw $WINEPREFIX/drive_c/
|
mv /opt/zbarw $WINEPREFIX/drive_c/
|
||||||
cd $WINEPREFIX/drive_c/electrum-zclassic
|
cd $WINEPREFIX/drive_c/electrum-bitcoinprivate
|
||||||
|
|
||||||
rm -rf build
|
rm -rf build
|
||||||
rm -rf dist/electrum-zclassic
|
rm -rf dist/electrum-bitcoinprivate
|
||||||
|
|
||||||
cp contrib/zclassic/deterministic.spec .
|
cp contrib/bitcoinprivate/deterministic.spec .
|
||||||
cp contrib/zclassic/pyi_runtimehook.py .
|
cp contrib/bitcoinprivate/pyi_runtimehook.py .
|
||||||
cp contrib/zclassic/pyi_tctl_runtimehook.py .
|
cp contrib/bitcoinprivate/pyi_tctl_runtimehook.py .
|
||||||
|
|
||||||
wine pip install -r contrib/zclassic/requirements.txt
|
wine pip install -r contrib/bitcoinprivate/requirements.txt
|
||||||
wine pip install --upgrade pip==18.1
|
wine pip install --upgrade pip==18.1
|
||||||
wine pip install PyInstaller==3.4
|
wine pip install PyInstaller==3.4
|
||||||
|
|
||||||
|
@ -30,7 +30,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-zclassic-$ELECTRUM_ZCL_VERSION.exe \
|
--name electrum-bitcoinprivate-$ELECTRUM_BTCP_VERSION.exe \
|
||||||
deterministic.spec
|
deterministic.spec
|
||||||
|
|
||||||
if [[ $WINEARCH == win32 ]]; then
|
if [[ $WINEARCH == win32 ]]; then
|
||||||
|
@ -40,6 +40,6 @@ else
|
||||||
fi
|
fi
|
||||||
|
|
||||||
wine "$NSIS_EXE" /NOCD -V3 \
|
wine "$NSIS_EXE" /NOCD -V3 \
|
||||||
/DPRODUCT_VERSION=$ELECTRUM_ZCL_VERSION \
|
/DPRODUCT_VERSION=$ELECTRUM_BTCP_VERSION \
|
||||||
/DWINEARCH=$WINEARCH \
|
/DWINEARCH=$WINEARCH \
|
||||||
contrib/zclassic/electrum-zclassic.nsi
|
contrib/bitcoinprivate/electrum-bitcoinprivate.nsi
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
VERSION_STRING=(`grep ELECTRUM_VERSION lib/version.py`)
|
VERSION_STRING=(`grep ELECTRUM_VERSION lib/version.py`)
|
||||||
ELECTRUM_ZCL_VERSION=${VERSION_STRING[2]}
|
ELECTRUM_BTCP_VERSION=${VERSION_STRING[2]}
|
||||||
ELECTRUM_ZCL_VERSION=${ELECTRUM_ZCL_VERSION#\'}
|
ELECTRUM_BTCP_VERSION=${ELECTRUM_BTCP_VERSION#\'}
|
||||||
ELECTRUM_ZCL_VERSION=${ELECTRUM_ZCL_VERSION%\'}
|
ELECTRUM_BTCP_VERSION=${ELECTRUM_BTCP_VERSION%\'}
|
||||||
DOTS=`echo $ELECTRUM_ZCL_VERSION | grep -o "\." | wc -l`
|
DOTS=`echo $ELECTRUM_BTCP_VERSION | grep -o "\." | wc -l`
|
||||||
if [[ $DOTS -lt 3 ]]; then
|
if [[ $DOTS -lt 3 ]]; then
|
||||||
ELECTRUM_ZCL_APK_VERSION=$ELECTRUM_ZCL_VERSION.0
|
ELECTRUM_BTCP_APK_VERSION=$ELECTRUM_BTCP_VERSION.0
|
||||||
else
|
else
|
||||||
ELECTRUM_ZCL_APK_VERSION=$ELECTRUM_ZCL_VERSION
|
ELECTRUM_BTCP_APK_VERSION=$ELECTRUM_BTCP_VERSION
|
||||||
fi
|
fi
|
||||||
export ELECTRUM_ZCL_VERSION
|
export ELECTRUM_BTCP_VERSION
|
||||||
export ELECTRUM_ZCL_APK_VERSION
|
export ELECTRUM_BTCP_APK_VERSION
|
||||||
|
|
|
@ -6,23 +6,23 @@ if [[ -z $TRAVIS_TAG ]]; then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
BUILD_REPO_URL=https://github.com/ZclassicCommunity/electrum-zclassic
|
BUILD_REPO_URL=https://github.com/BTCPrivate/electrum-bitcoinprivate
|
||||||
|
|
||||||
cd build
|
cd build
|
||||||
|
|
||||||
git clone --branch $TRAVIS_TAG $BUILD_REPO_URL electrum-zclassic
|
git clone --branch $TRAVIS_TAG $BUILD_REPO_URL electrum-bitcoinprivate
|
||||||
|
|
||||||
docker run --rm \
|
docker run --rm \
|
||||||
-v $(pwd):/opt \
|
-v $(pwd):/opt \
|
||||||
-w /opt/electrum-zclassic \
|
-w /opt/electrum-bitcoinprivate \
|
||||||
-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-zclassic
|
sudo chown -R 1000 electrum-bitcoinprivate
|
||||||
|
|
||||||
docker run --rm \
|
docker run --rm \
|
||||||
-v $(pwd)/electrum-zclassic:/home/buildozer/build \
|
-v $(pwd)/electrum-bitcoinprivate:/home/buildozer/build \
|
||||||
-t zebralucky/electrum-dash-winebuild:Kivy bash -c \
|
-t zebralucky/electrum-dash-winebuild:Kivy bash -c \
|
||||||
'rm -rf packages && ./contrib/make_packages && ./contrib/make_apk'
|
'rm -rf packages && ./contrib/make_packages && ./contrib/make_apk'
|
||||||
|
|
|
@ -6,15 +6,15 @@ if [[ -z $TRAVIS_TAG ]]; then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
BUILD_REPO_URL=https://github.com/ZclassicCommunity/electrum-zclassic
|
BUILD_REPO_URL=https://github.com/BTCPrivate/electrum-bitcoinprivate
|
||||||
|
|
||||||
cd build
|
cd build
|
||||||
|
|
||||||
git clone --branch $TRAVIS_TAG $BUILD_REPO_URL electrum-zclassic
|
git clone --branch $TRAVIS_TAG $BUILD_REPO_URL electrum-bitcoinprivate
|
||||||
|
|
||||||
docker run --rm \
|
docker run --rm \
|
||||||
-v $(pwd):/opt \
|
-v $(pwd):/opt \
|
||||||
-w /opt/electrum-zclassic \
|
-w /opt/electrum-bitcoinprivate \
|
||||||
-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
|
||||||
|
@ -32,8 +32,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-zclassic/:$WINEPREFIX/drive_c/electrum-zclassic \
|
-v $(pwd)/electrum-bitcoinprivate/:$WINEPREFIX/drive_c/electrum-bitcoinprivate \
|
||||||
-w /opt/electrum-zclassic \
|
-w /opt/electrum-bitcoinprivate \
|
||||||
-t zebralucky/electrum-dash-winebuild:WinePy36 /opt/build_wine.sh
|
-t zebralucky/electrum-dash-winebuild:WinePy36 /opt/build_wine.sh
|
||||||
|
|
||||||
export WINEARCH=win64
|
export WINEARCH=win64
|
||||||
|
@ -48,6 +48,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-zclassic/:$WINEPREFIX/drive_c/electrum-zclassic \
|
-v $(pwd)/electrum-bitcoinprivate/:$WINEPREFIX/drive_c/electrum-bitcoinprivate \
|
||||||
-w /opt/electrum-zclassic \
|
-w /opt/electrum-bitcoinprivate \
|
||||||
-t zebralucky/electrum-dash-winebuild:WinePy36 /opt/build_wine.sh
|
-t zebralucky/electrum-dash-winebuild:WinePy36 /opt/build_wine.sh
|
||||||
|
|
|
@ -6,18 +6,18 @@ if [[ -z $TRAVIS_TAG ]]; then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
BUILD_REPO_URL=https://github.com/ZclassicCommunity/electrum-zclassic
|
BUILD_REPO_URL=https://github.com/BTCPrivate/electrum-bitcoinprivate
|
||||||
|
|
||||||
cd build
|
cd build
|
||||||
|
|
||||||
git clone --branch $TRAVIS_TAG $BUILD_REPO_URL electrum-zclassic
|
git clone --branch $TRAVIS_TAG $BUILD_REPO_URL electrum-bitcoinprivate
|
||||||
|
|
||||||
cd electrum-zclassic
|
cd electrum-bitcoinprivate
|
||||||
|
|
||||||
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/zclassic/travis/electrum_zclassic_version_env.sh;
|
source ./contrib/bitcoinprivate/travis/electrum_bitcoinprivate_version_env.sh;
|
||||||
echo wine build version is $ELECTRUM_ZCL_VERSION
|
echo wine build version is $ELECTRUM_BTCP_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
|
||||||
|
@ -34,15 +34,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/zclassic/osx.spec .
|
cp contrib/bitcoinprivate/osx.spec .
|
||||||
cp contrib/zclassic/pyi_runtimehook.py .
|
cp contrib/bitcoinprivate/pyi_runtimehook.py .
|
||||||
cp contrib/zclassic/pyi_tctl_runtimehook.py .
|
cp contrib/bitcoinprivate/pyi_tctl_runtimehook.py .
|
||||||
|
|
||||||
pyinstaller \
|
pyinstaller \
|
||||||
-y \
|
-y \
|
||||||
--name electrum-zclassic-$ELECTRUM_ZCL_VERSION.bin \
|
--name electrum-bitcoinprivate-$ELECTRUM_BTCP_VERSION.bin \
|
||||||
osx.spec
|
osx.spec
|
||||||
|
|
||||||
sudo hdiutil create -fs HFS+ -volname "Electrum-Zclassic" \
|
sudo hdiutil create -fs HFS+ -volname "Electrum-bitcoinprivate" \
|
||||||
-srcfolder dist/Electrum-Zclassic.app \
|
-srcfolder dist/Electrum-bitcoinprivate.app \
|
||||||
dist/electrum-zclassic-$ELECTRUM_ZCL_VERSION-macosx.dmg
|
dist/electrum-bitcoinprivate-$ELECTRUM_BTCP_VERSION-macosx.dmg
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
electrum-zclassic (3.1.3~rc2-0ppa1~ubuntu18.04.1) bionic; urgency=medium
|
electrum-bitcoinprivate (3.1.3~rc2-0ppa1~ubuntu18.04.1) bionic; urgency=medium
|
||||||
|
|
||||||
* Port to ppa
|
* Port to ppa
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
Source: electrum-zclassic
|
Source: electrum-bitcoinprivate
|
||||||
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/ZclassicCommunity/electrum-zclassic
|
Homepage: https://github.com/BTCPrivate/electrum-bitcoinprivate
|
||||||
X-Python3-Version: >= 3.4
|
X-Python3-Version: >= 3.4
|
||||||
|
|
||||||
Package: python3-electrum-zclassic
|
Package: python3-electrum-bitcoinprivate
|
||||||
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 Zclassic client - Python module
|
Description: Easy to use bitcoinprivate client - Python module
|
||||||
This package provides a lightweight Zclassic client which protects
|
This package provides a lightweight bitcoinprivate client which protects
|
||||||
you from losing your Zclassic coins in a backup mistake or computer
|
you from losing your bitcoinprivate coins in a backup mistake or computer
|
||||||
failure. Also, Electrum-Zclassic does not require waiting time because it does
|
failure. Also, Electrum-bitcoinprivate does not require waiting time because it does
|
||||||
not download the Zclassic blockchain.
|
not download the bitcoinprivate blockchain.
|
||||||
.
|
.
|
||||||
This package provides the "electrum_zclassic" Python 3 module which can be used
|
This package provides the "electrum_bitcoinprivate" Python 3 module which can be used
|
||||||
to access a Zclassic wallet from Python programs.
|
to access a bitcoinprivate wallet from Python programs.
|
||||||
|
|
||||||
Package: electrum-zclassic
|
Package: electrum-bitcoinprivate
|
||||||
Architecture: all
|
Architecture: all
|
||||||
Depends:
|
Depends:
|
||||||
${misc:Depends},
|
${misc:Depends},
|
||||||
${python3:Depends},
|
${python3:Depends},
|
||||||
python3-electrum-zclassic (= ${binary:Version}),
|
python3-electrum-bitcoinprivate (= ${binary:Version}),
|
||||||
Recommends: python3-pyqt5
|
Recommends: python3-pyqt5
|
||||||
Description: Easy to use Zclassic client
|
Description: Easy to use bitcoinprivate client
|
||||||
This package provides a lightweight Zclassic client which protects
|
This package provides a lightweight bitcoinprivate client which protects
|
||||||
you from losing your Zclassic coins in a backup mistake or computer
|
you from losing your bitcoinprivate coins in a backup mistake or computer
|
||||||
failure. Also, Electrum-Zclassic does not require waiting time because it does
|
failure. Also, Electrum-bitcoinprivate does not require waiting time because it does
|
||||||
not download the Zclassic blockchain.
|
not download the bitcoinprivate blockchain.
|
||||||
.
|
.
|
||||||
Features of Electrum-Zclassic:
|
Features of Electrum-bitcoinprivate:
|
||||||
.
|
.
|
||||||
* 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 Zclassic 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 Zclassic
|
* Reachable: You can export your private keys into other bitcoinprivate
|
||||||
clients.
|
clients.
|
||||||
* Established: Electrum-Zclassic is open source and was first released in
|
* Established: Electrum-bitcoinprivate is open source and was first released in
|
||||||
November 2011.
|
November 2011.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||||
Upstream-Name: electrum-zclassic
|
Upstream-Name: electrum-bitcoinprivate
|
||||||
Source: https://github.com/ZclassicCommunity/electrum-zclassic/
|
Source: https://github.com/BTCPrivate/electrum-bitcoinprivate/
|
||||||
|
|
||||||
Files: *
|
Files: *
|
||||||
Copyright: Electrum Team
|
Copyright: Electrum Team
|
||||||
|
|
|
@ -1,17 +1,17 @@
|
||||||
.TH electrum-zclassic 1 "23 June 2013" "electrum-zclassic"
|
.TH electrum-bitcoinprivate 1 "23 June 2013" "electrum-bitcoinprivate"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
electrum-zclassic \- Lightweight Zclassic client
|
electrum-bitcoinprivate \- Lightweight bitcoinprivate client
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
.B electrum-zclassic [options] command [options]
|
.B electrum-bitcoinprivate [options] command [options]
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
.PP
|
.PP
|
||||||
Electrum-Zclassic is a lightweight Zclassic client.
|
Electrum-bitcoinprivate is a lightweight bitcoinprivate client.
|
||||||
.br
|
.br
|
||||||
Electrum-Zclassic protects from losing zclassic coins in a backup mistake or computer
|
Electrum-bitcoinprivate protects from losing bitcoinprivate 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-zclassic does not download the entire blockchain there
|
Since electrum-bitcoinprivate 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-Zclassic client was initially written by ThomasV
|
Electrum-bitcoinprivate 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 +1 @@
|
||||||
debian/electrum-zclassic.1
|
debian/electrum-bitcoinprivate.1
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
Index: electrum-zclassic/electrum-zclassic
|
Index: electrum-bitcoinprivate/electrum-bitcoinprivate
|
||||||
===================================================================
|
===================================================================
|
||||||
--- electrum-zclassic.orig/electrum-zclassic 2018-06-12 22:15:35.699293303 +0300
|
--- electrum-bitcoinprivate.orig/electrum-bitcoinprivate 2018-06-12 22:15:35.699293303 +0300
|
||||||
+++ electrum-zclassic/electrum-zclassic 2018-06-12 22:20:02.122480853 +0300
|
+++ electrum-bitcoinprivate/electrum-bitcoinprivate 2018-06-12 22:20:02.122480853 +0300
|
||||||
@@ -26,6 +26,8 @@
|
@@ -26,6 +26,8 @@
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
|
@ -10,4 +10,4 @@ Index: electrum-zclassic/electrum-zclassic
|
||||||
+
|
+
|
||||||
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-zclassic.desktop"))
|
is_local = not is_bundle and os.path.exists(os.path.join(script_dir, "electrum-bitcoinprivate.desktop"))
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#!/usr/bin/make -f
|
#!/usr/bin/make -f
|
||||||
|
|
||||||
export PYBUILD_NAME=electrum-zclassic
|
export PYBUILD_NAME=electrum-bitcoinprivate
|
||||||
|
|
||||||
%:
|
%:
|
||||||
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-zclassic/usr/bin \
|
mkdir -p debian/electrum-bitcoinprivate/usr/bin \
|
||||||
debian/electrum-zclassic/usr/share
|
debian/electrum-bitcoinprivate/usr/share
|
||||||
mv debian/python3-electrum-zclassic/usr/bin \
|
mv debian/python3-electrum-bitcoinprivate/usr/bin \
|
||||||
debian/electrum-zclassic/usr
|
debian/electrum-bitcoinprivate/usr
|
||||||
mv debian/python3-electrum-zclassic/usr/share/applications \
|
mv debian/python3-electrum-bitcoinprivate/usr/share/applications \
|
||||||
debian/electrum-zclassic/usr/share
|
debian/electrum-bitcoinprivate/usr/share
|
||||||
mv debian/python3-electrum-zclassic/usr/share/pixmaps \
|
mv debian/python3-electrum-bitcoinprivate/usr/share/pixmaps \
|
||||||
debian/electrum-zclassic/usr/share
|
debian/electrum-bitcoinprivate/usr/share
|
||||||
|
|
|
@ -38,12 +38,12 @@ hiddenimports += [
|
||||||
]
|
]
|
||||||
|
|
||||||
datas = [
|
datas = [
|
||||||
('lib/servers.json', 'electrum_zclassic'),
|
('lib/servers.json', 'electrum_bitcoinprivate'),
|
||||||
('lib/servers_testnet.json', 'electrum_zclassic'),
|
('lib/servers_testnet.json', 'electrum_bitcoinprivate'),
|
||||||
('lib/servers_regtest.json', 'electrum_zclassic'),
|
('lib/servers_regtest.json', 'electrum_bitcoinprivate'),
|
||||||
('lib/currencies.json', 'electrum_zclassic'),
|
('lib/currencies.json', 'electrum_bitcoinprivate'),
|
||||||
('lib/locale', 'electrum_zclassic/locale'),
|
('lib/locale', 'electrum_bitcoinprivate/locale'),
|
||||||
('lib/wordlist', 'electrum_zclassic/wordlist'),
|
('lib/wordlist', 'electrum_bitcoinprivate/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-zclassic'],
|
a = Analysis(['electrum-bitcoinprivate'],
|
||||||
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_zclassic, electrum_zclassic_gui, electrum_zclassic_plugins
|
# Add TOC to electrum_bitcoinprivate, electrum_bitcoinprivate_gui, electrum_bitcoinprivate_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_zclassic%s' % p[0][3:] , p[1], p[2])]
|
a.pure += [('electrum_bitcoinprivate%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_zclassic_gui%s' % p[0][3:] , p[1], p[2])]
|
a.pure += [('electrum_bitcoinprivate_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_zclassic_plugins%s' % p[0][7:] , p[1], p[2])]
|
a.pure += [('electrum_bitcoinprivate_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-zclassic.ico',
|
icon='icons/electrum-bitcoinprivate.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-zclassic.ico',
|
icon='icons/electrum-bitcoinprivate.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-zclassic'))
|
name=os.path.join('dist', 'electrum-bitcoinprivate'))
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# -*- mode: python -*-
|
# -*- mode: python -*-
|
||||||
#
|
#
|
||||||
# Electrum - lightweight ZClassic client
|
# Electrum - lightweight bitcoinprivate client
|
||||||
# Copyright (C) 2011 thomasv@gitorious
|
# Copyright (C) 2011 thomasv@gitorious
|
||||||
#
|
#
|
||||||
# Permission is hereby granted, free of charge, to any person
|
# Permission is hereby granted, free of charge, to any person
|
||||||
|
@ -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-zclassic.desktop"))
|
is_local = not is_bundle and os.path.exists(os.path.join(script_dir, "electrum-bitcoinprivate.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_zclassic', *imp.find_module('lib'))
|
imp.load_module('electrum_bitcoinprivate', *imp.find_module('lib'))
|
||||||
imp.load_module('electrum_zclassic_gui', *imp.find_module('gui'))
|
imp.load_module('electrum_bitcoinprivate_gui', *imp.find_module('gui'))
|
||||||
imp.load_module('electrum_zclassic_plugins', *imp.find_module('plugins'))
|
imp.load_module('electrum_bitcoinprivate_plugins', *imp.find_module('plugins'))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
from electrum_zclassic import bitcoin, util
|
from electrum_bitcoinprivate import bitcoin, util
|
||||||
from electrum_zclassic import constants
|
from electrum_bitcoinprivate import constants
|
||||||
from electrum_zclassic import SimpleConfig, Network
|
from electrum_bitcoinprivate import SimpleConfig, Network
|
||||||
from electrum_zclassic.wallet import Wallet, Imported_Wallet
|
from electrum_bitcoinprivate.wallet import Wallet, Imported_Wallet
|
||||||
from electrum_zclassic.storage import WalletStorage, get_derivation_used_for_hw_device_encryption
|
from electrum_bitcoinprivate.storage import WalletStorage, get_derivation_used_for_hw_device_encryption
|
||||||
from electrum_zclassic.util import print_msg, print_stderr, json_encode, json_decode, UserCancelled
|
from electrum_bitcoinprivate.util import print_msg, print_stderr, json_encode, json_decode, UserCancelled
|
||||||
from electrum_zclassic.util import set_verbosity, InvalidPassword
|
from electrum_bitcoinprivate.util import set_verbosity, InvalidPassword
|
||||||
from electrum_zclassic.commands import get_parser, known_commands, Commands, config_variables
|
from electrum_bitcoinprivate.commands import get_parser, known_commands, Commands, config_variables
|
||||||
from electrum_zclassic import daemon
|
from electrum_bitcoinprivate import daemon
|
||||||
from electrum_zclassic import keystore
|
from electrum_bitcoinprivate import keystore
|
||||||
from electrum_zclassic.mnemonic import Mnemonic
|
from electrum_bitcoinprivate.mnemonic import Mnemonic
|
||||||
import electrum_zclassic_plugins
|
import electrum_bitcoinprivate_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-zclassic create' to create a new wallet, or provide a path to a wallet with the -w option")
|
print_msg("Type 'electrum-bitcoinprivate 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-zclassic create' to create a new wallet, or provide a path to a wallet with the -w option")
|
print_msg("Type 'electrum-bitcoinprivate 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_zclassic.plugins import Plugins
|
from electrum_bitcoinprivate.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('zclassic:'):
|
if not uri.startswith('bitcoinprivate:'):
|
||||||
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_zclassic import websockets
|
from electrum_bitcoinprivate 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-zclassic daemon start'")
|
print_msg("Daemon not running; try 'electrum-bitcoinprivate daemon start'")
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
else:
|
else:
|
||||||
plugins = init_plugins(config, 'cmdline')
|
plugins = init_plugins(config, 'cmdline')
|
|
@ -22,6 +22,6 @@ fi
|
||||||
|
|
||||||
export PYTHONPATH="/usr/local/lib/python${PYTHON_VER}/site-packages:$PYTHONPATH"
|
export PYTHONPATH="/usr/local/lib/python${PYTHON_VER}/site-packages:$PYTHONPATH"
|
||||||
|
|
||||||
./electrum-zclassic "$@"
|
./electrum-bitcoinprivate "$@"
|
||||||
|
|
||||||
deactivate
|
deactivate
|
|
@ -1,7 +1,7 @@
|
||||||
# Configuration file for the Electrum-Zclassic client
|
# Configuration file for the Electrum-bitcoinprivate client
|
||||||
# Settings defined here are shared across wallets
|
# Settings defined here are shared across wallets
|
||||||
#
|
#
|
||||||
# copy this file to /etc/electrum-zclassic.conf if you want read-only settings
|
# copy this file to /etc/electrum-bitcoinprivate.conf if you want read-only settings
|
||||||
|
|
||||||
[client]
|
[client]
|
||||||
server = electrum.novit.ro:50001:t
|
server = electrum.novit.ro:50001:t
|
|
@ -0,0 +1,21 @@
|
||||||
|
# If you want Electrum-bitcoinprivate to appear in a Linux app launcher ("start menu"), install this by doing:
|
||||||
|
# sudo desktop-file-install electrum-bitcoinprivate.desktop
|
||||||
|
|
||||||
|
[Desktop Entry]
|
||||||
|
Comment=Lightweight bitcoinprivate Client
|
||||||
|
Exec=sh -c "PATH=\"\\$HOME/.local/bin:\\$PATH\" electrum-bitcoinprivate %u"
|
||||||
|
GenericName[en_US]=bitcoinprivate Wallet
|
||||||
|
GenericName=bitcoinprivate Wallet
|
||||||
|
Icon=electrum-bitcoinprivate.png
|
||||||
|
Name[en_US]=Electrum-bitcoinprivate Wallet
|
||||||
|
Name=Electrum-bitcoinprivate Wallet
|
||||||
|
Categories=Finance;Network;
|
||||||
|
StartupNotify=false
|
||||||
|
Terminal=false
|
||||||
|
Type=Application
|
||||||
|
MimeType=x-scheme-handler/bitcoinprivate;
|
||||||
|
Actions=Testnet;
|
||||||
|
|
||||||
|
[Desktop Action Testnet]
|
||||||
|
Exec=sh -c "PATH=\"\\$HOME/.local/bin:\\$PATH\" electrum-bitcoinprivate --testnet %u"
|
||||||
|
Name=Testnet mode
|
|
@ -1,21 +0,0 @@
|
||||||
# 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 Wallet
|
|
||||||
Name=Electrum-Zclassic Wallet
|
|
||||||
Categories=Finance;Network;
|
|
||||||
StartupNotify=false
|
|
||||||
Terminal=false
|
|
||||||
Type=Application
|
|
||||||
MimeType=x-scheme-handler/zclassic;
|
|
||||||
Actions=Testnet;
|
|
||||||
|
|
||||||
[Desktop Action Testnet]
|
|
||||||
Exec=sh -c "PATH=\"\\$HOME/.local/bin:\\$PATH\" electrum-zclassic --testnet %u"
|
|
||||||
Name=Testnet mode
|
|
|
@ -1,10 +1,10 @@
|
||||||
# Kivy GUI
|
# Kivy GUI
|
||||||
|
|
||||||
The Kivy GUI is used with Electrum-Zclassic on Android devices. To generate an APK file, follow these instructions.
|
The Kivy GUI is used with Electrum-bitcoinprivate 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-Zclassic, Python, SDL and a bootstrap Java app into an APK file.
|
p4a is used to package Electrum-bitcoinprivate, Python, SDL and a bootstrap Java app into an APK file.
|
||||||
We patched p4a to add some functionality we need for Electrum-Zclassic. Until those changes are
|
We patched p4a to add some functionality we need for Electrum-bitcoinprivate. 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-Zclassic, run `make theming`.
|
In the `gui/kivy` directory of Electrum-bitcoinprivate, run `make theming`.
|
||||||
|
|
||||||
## 6. Download Electrum-Zclassic dependencies
|
## 6. Download Electrum-bitcoinprivate dependencies
|
||||||
Run `contrib/make_packages`.
|
Run `contrib/make_packages`.
|
||||||
|
|
||||||
## 7. Build the APK
|
## 7. Build the APK
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
#
|
#
|
||||||
# Electrum - lightweight ZClassic client
|
# Electrum - lightweight bitcoinprivate client
|
||||||
# Copyright (C) 2012 thomasv@gitorious
|
# Copyright (C) 2012 thomasv@gitorious
|
||||||
#
|
#
|
||||||
# Permission is hereby granted, free of charge, to any person
|
# Permission is hereby granted, free of charge, to any person
|
||||||
|
|
|
@ -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_zclassic.i18n import LOCALE_DIR
|
from electrum_bitcoinprivate.i18n import LOCALE_DIR
|
||||||
locales = gettext.translation('electrum', LOCALE_DIR, languages=[lang], fallback=True)
|
locales = gettext.translation('electrum', LOCALE_DIR, languages=[lang], fallback=True)
|
||||||
_.lang = locales.gettext
|
_.lang = locales.gettext
|
||||||
for label in _.observers:
|
for label in _.observers:
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#:import Clock kivy.clock.Clock
|
#:import Clock kivy.clock.Clock
|
||||||
#:import Window kivy.core.window.Window
|
#:import Window kivy.core.window.Window
|
||||||
#:import Factory kivy.factory.Factory
|
#:import Factory kivy.factory.Factory
|
||||||
#:import _ electrum_zclassic_gui.kivy.i18n._
|
#:import _ electrum_bitcoinprivate_gui.kivy.i18n._
|
||||||
|
|
||||||
|
|
||||||
###########################
|
###########################
|
||||||
|
|
|
@ -7,15 +7,15 @@ import traceback
|
||||||
from decimal import Decimal
|
from decimal import Decimal
|
||||||
import threading
|
import threading
|
||||||
|
|
||||||
import electrum_zclassic
|
import electrum_bitcoinprivate
|
||||||
from electrum_zclassic.bitcoin import TYPE_ADDRESS
|
from electrum_bitcoinprivate.bitcoin import TYPE_ADDRESS
|
||||||
from electrum_zclassic import WalletStorage, Wallet
|
from electrum_bitcoinprivate import WalletStorage, Wallet
|
||||||
from electrum_zclassic_gui.kivy.i18n import _
|
from electrum_bitcoinprivate_gui.kivy.i18n import _
|
||||||
from electrum_zclassic.paymentrequest import InvoiceStore
|
from electrum_bitcoinprivate.paymentrequest import InvoiceStore
|
||||||
from electrum_zclassic.util import profiler, InvalidPassword
|
from electrum_bitcoinprivate.util import profiler, InvalidPassword
|
||||||
from electrum_zclassic.plugins import run_hook
|
from electrum_bitcoinprivate.plugins import run_hook
|
||||||
from electrum_zclassic.util import format_satoshis, format_satoshis_plain
|
from electrum_bitcoinprivate.util import format_satoshis, format_satoshis_plain
|
||||||
from electrum_zclassic.paymentrequest import PR_UNPAID, PR_PAID, PR_UNKNOWN, PR_EXPIRED
|
from electrum_bitcoinprivate.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_zclassic_gui.kivy.uix.dialogs.installwizard')
|
#Factory.register('InstallWizard', module='electrum_bitcoinprivate_gui.kivy.uix.dialogs.installwizard')
|
||||||
#Factory.register('InfoBubble', module='electrum_zclassic_gui.kivy.uix.dialogs')
|
#Factory.register('InfoBubble', module='electrum_bitcoinprivate_gui.kivy.uix.dialogs')
|
||||||
#Factory.register('OutputList', module='electrum_zclassic_gui.kivy.uix.dialogs')
|
#Factory.register('OutputList', module='electrum_bitcoinprivate_gui.kivy.uix.dialogs')
|
||||||
#Factory.register('OutputItem', module='electrum_zclassic_gui.kivy.uix.dialogs')
|
#Factory.register('OutputItem', module='electrum_bitcoinprivate_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_zclassic_widgets', timeout=0)
|
Cache.register('electrum_bitcoinprivate_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_zclassic_gui.kivy.uix.screens')
|
Factory.register('TabbedCarousel', module='electrum_bitcoinprivate_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_zclassic.util import base_units
|
from electrum_bitcoinprivate.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_zclassic import constants
|
from electrum_bitcoinprivate 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() != 'zclassic':
|
if intent.getScheme() != 'bitcoinprivate':
|
||||||
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', 'ZCL')
|
return self.electrum_config.get('base_unit', 'BTCP')
|
||||||
|
|
||||||
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-Zclassic App')
|
title = _('Electrum-bitcoinprivate 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_zclassic.bitcoin import base_decode, is_address
|
from electrum_bitcoinprivate.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('zclassic:'):
|
if data.startswith('bitcoinprivate:'):
|
||||||
self.set_URI(data)
|
self.set_URI(data)
|
||||||
return
|
return
|
||||||
# try to decode transaction
|
# try to decode transaction
|
||||||
from electrum_zclassic.transaction import Transaction
|
from electrum_bitcoinprivate.transaction import Transaction
|
||||||
from electrum_zclassic.util import bh2u
|
from electrum_bitcoinprivate.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_zclassic.util import format_time
|
from electrum_bitcoinprivate.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_zclassic.util import format_time
|
from electrum_bitcoinprivate.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 zclassic: URI scheme
|
# bind intent for bitcoinprivate: 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-Zclassic: Wallet not found. Launching install wizard')
|
Logger.debug('Electrum-bitcoinprivate: 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_zclassic_gui.kivy.uix.dialogs')
|
module='electrum_bitcoinprivate_gui.kivy.uix.dialogs')
|
||||||
Factory.register('QRCodeWidget',
|
Factory.register('QRCodeWidget',
|
||||||
module='electrum_zclassic_gui.kivy.uix.qrcodewidget')
|
module='electrum_bitcoinprivate_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_zclassic_widgets', 'AnimatedPopup', Factory.AnimatedPopup())
|
#Cache.append('electrum_bitcoinprivate_widgets', 'AnimatedPopup', Factory.AnimatedPopup())
|
||||||
#Cache.append('electrum_zclassic_widgets', 'QRCodeWidget', Factory.QRCodeWidget())
|
#Cache.append('electrum_bitcoinprivate_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-zclassic.png"
|
self.icon = "icons/electrum-bitcoinprivate.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-Zclassic', message,
|
notification.notify('Electrum-bitcoinprivate', message,
|
||||||
app_icon=icon, app_name='Electrum')
|
app_icon=icon, app_name='Electrum')
|
||||||
except ImportError:
|
except ImportError:
|
||||||
Logger.Error('Notification: needs plyer; `sudo pip install plyer`')
|
Logger.Error('Notification: needs plyer; `sudo pip install plyer`')
|
||||||
|
|
|
@ -41,4 +41,4 @@ class NFCBase(Widget):
|
||||||
NFCScanner = core_select_lib('nfc_manager', (
|
NFCScanner = core_select_lib('nfc_manager', (
|
||||||
# keep the dummy implementation as the last one to make it the fallback provider.NFCScanner = core_select_lib('nfc_scanner', (
|
# keep the dummy implementation as the last one to make it the fallback provider.NFCScanner = core_select_lib('nfc_scanner', (
|
||||||
('android', 'scanner_android', 'ScannerAndroid'),
|
('android', 'scanner_android', 'ScannerAndroid'),
|
||||||
('dummy', 'scanner_dummy', 'ScannerDummy')), True, 'electrum_zclassic_gui.kivy')
|
('dummy', 'scanner_dummy', 'ScannerDummy')), True, 'electrum_bitcoinprivate_gui.kivy')
|
||||||
|
|
|
@ -10,7 +10,7 @@ if platform != 'android':
|
||||||
raise ImportError
|
raise ImportError
|
||||||
import threading
|
import threading
|
||||||
|
|
||||||
from electrum_zclassic_gui.kivy.nfc_scanner import NFCBase
|
from electrum_bitcoinprivate_gui.kivy.nfc_scanner import NFCBase
|
||||||
from jnius import autoclass, cast
|
from jnius import autoclass, cast
|
||||||
from android.runnable import run_on_ui_thread
|
from android.runnable import run_on_ui_thread
|
||||||
from android import activity
|
from android import activity
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
''' Dummy NFC Provider to be used on desktops in case no other provider is found
|
''' Dummy NFC Provider to be used on desktops in case no other provider is found
|
||||||
'''
|
'''
|
||||||
from electrum_zclassic_gui.kivy.nfc_scanner import NFCBase
|
from electrum_bitcoinprivate_gui.kivy.nfc_scanner import NFCBase
|
||||||
from kivy.clock import Clock
|
from kivy.clock import Clock
|
||||||
from kivy.logger import Logger
|
from kivy.logger import Logger
|
||||||
|
|
||||||
|
|
|
@ -3,5 +3,5 @@
|
||||||
<action android:name="android.nfc.action.NDEF_DISCOVERED"/>
|
<action android:name="android.nfc.action.NDEF_DISCOVERED"/>
|
||||||
<category android:name="android.intent.category.DEFAULT" />
|
<category android:name="android.intent.category.DEFAULT" />
|
||||||
<category android:name="android.intent.category.BROWSABLE" />
|
<category android:name="android.intent.category.BROWSABLE" />
|
||||||
<data android:scheme="zclassic" />
|
<data android:scheme="bitcoinprivate" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
[app]
|
[app]
|
||||||
|
|
||||||
# (str) Title of your application
|
# (str) Title of your application
|
||||||
title = Electrum-Zclassic
|
title = Electrum-bitcoinprivate
|
||||||
|
|
||||||
# (str) Package name
|
# (str) Package name
|
||||||
package.name = Electrum-Zclassic
|
package.name = Electrum-bitcoinprivate
|
||||||
|
|
||||||
# (str) Package domain (needed for android/ios packaging)
|
# (str) Package domain (needed for android/ios packaging)
|
||||||
package.domain = cash.z.electrum
|
package.domain = cash.z.electrum
|
||||||
|
|
|
@ -8,7 +8,7 @@ from kivy.lang import Builder
|
||||||
from kivy.factory import Factory
|
from kivy.factory import Factory
|
||||||
from kivy.clock import Clock
|
from kivy.clock import Clock
|
||||||
|
|
||||||
from electrum_zclassic_gui.kivy.i18n import _
|
from electrum_bitcoinprivate_gui.kivy.i18n import _
|
||||||
|
|
||||||
Builder.load_string('''
|
Builder.load_string('''
|
||||||
<MenuItem@Button>
|
<MenuItem@Button>
|
||||||
|
|
|
@ -4,7 +4,7 @@ from kivy.factory import Factory
|
||||||
from kivy.properties import NumericProperty, StringProperty, BooleanProperty
|
from kivy.properties import NumericProperty, StringProperty, BooleanProperty
|
||||||
from kivy.core.window import Window
|
from kivy.core.window import Window
|
||||||
|
|
||||||
from electrum_zclassic_gui.kivy.i18n import _
|
from electrum_bitcoinprivate_gui.kivy.i18n import _
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -93,8 +93,8 @@ Builder.load_string('''
|
||||||
''')
|
''')
|
||||||
|
|
||||||
|
|
||||||
from electrum_zclassic_gui.kivy.i18n import _
|
from electrum_bitcoinprivate_gui.kivy.i18n import _
|
||||||
from electrum_zclassic_gui.kivy.uix.context_menu import ContextMenu
|
from electrum_bitcoinprivate_gui.kivy.uix.context_menu import ContextMenu
|
||||||
|
|
||||||
|
|
||||||
class EmptyLabel(Factory.Label):
|
class EmptyLabel(Factory.Label):
|
||||||
|
|
|
@ -3,7 +3,7 @@ from kivy.factory import Factory
|
||||||
from kivy.properties import ObjectProperty
|
from kivy.properties import ObjectProperty
|
||||||
from kivy.lang import Builder
|
from kivy.lang import Builder
|
||||||
|
|
||||||
from electrum_zclassic_gui.kivy.i18n import _
|
from electrum_bitcoinprivate_gui.kivy.i18n import _
|
||||||
|
|
||||||
Builder.load_string('''
|
Builder.load_string('''
|
||||||
<FeeDialog@Popup>
|
<FeeDialog@Popup>
|
||||||
|
|
|
@ -66,7 +66,7 @@ from kivy.uix.checkbox import CheckBox
|
||||||
from kivy.uix.widget import Widget
|
from kivy.uix.widget import Widget
|
||||||
from kivy.clock import Clock
|
from kivy.clock import Clock
|
||||||
|
|
||||||
from electrum_zclassic_gui.kivy.i18n import _
|
from electrum_bitcoinprivate_gui.kivy.i18n import _
|
||||||
from functools import partial
|
from functools import partial
|
||||||
|
|
||||||
class FxDialog(Factory.Popup):
|
class FxDialog(Factory.Popup):
|
||||||
|
|
|
@ -14,7 +14,7 @@ from kivy.core.window import Window
|
||||||
from kivy.clock import Clock
|
from kivy.clock import Clock
|
||||||
from kivy.utils import platform
|
from kivy.utils import platform
|
||||||
|
|
||||||
from electrum_zclassic.base_wizard import BaseWizard
|
from electrum_bitcoinprivate.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_zclassic_gui.kivy.i18n._
|
#:import _ electrum_bitcoinprivate_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_zclassic.mnemonic import Mnemonic
|
from electrum_bitcoinprivate.mnemonic import Mnemonic
|
||||||
from electrum_zclassic.old_mnemonic import words as old_wordlist
|
from electrum_bitcoinprivate.old_mnemonic import words as old_wordlist
|
||||||
self.words = set(Mnemonic('en').wordlist).union(set(old_wordlist))
|
self.words = set(Mnemonic('en').wordlist).union(set(old_wordlist))
|
||||||
self.ids.text_input_seed.text = test_seed if is_test else ''
|
self.ids.text_input_seed.text = test_seed if is_test else ''
|
||||||
self.message = _('Please type your seed phrase using the virtual keyboard.')
|
self.message = _('Please type your seed phrase using the virtual keyboard.')
|
||||||
|
|
|
@ -76,10 +76,10 @@ Builder.load_string('''
|
||||||
''')
|
''')
|
||||||
|
|
||||||
from kivy.properties import BooleanProperty
|
from kivy.properties import BooleanProperty
|
||||||
from electrum_zclassic_gui.kivy.i18n import _
|
from electrum_bitcoinprivate_gui.kivy.i18n import _
|
||||||
from electrum_zclassic.util import format_time
|
from electrum_bitcoinprivate.util import format_time
|
||||||
from electrum_zclassic.paymentrequest import PR_UNPAID, PR_PAID, PR_UNKNOWN, PR_EXPIRED
|
from electrum_bitcoinprivate.paymentrequest import PR_UNPAID, PR_PAID, PR_UNKNOWN, PR_EXPIRED
|
||||||
from electrum_zclassic_gui.kivy.uix.context_menu import ContextMenu
|
from electrum_bitcoinprivate_gui.kivy.uix.context_menu import ContextMenu
|
||||||
|
|
||||||
invoice_text = {
|
invoice_text = {
|
||||||
PR_UNPAID:_('Pending'),
|
PR_UNPAID:_('Pending'),
|
||||||
|
|
|
@ -8,7 +8,7 @@ class NFCTransactionDialog(AnimatedPopup):
|
||||||
# Delayed Init
|
# Delayed Init
|
||||||
global NFCSCanner
|
global NFCSCanner
|
||||||
if NFCSCanner is None:
|
if NFCSCanner is None:
|
||||||
from electrum_zclassic_gui.kivy.nfc_scanner import NFCScanner
|
from electrum_bitcoinprivate_gui.kivy.nfc_scanner import NFCScanner
|
||||||
self.scanner = NFCSCanner
|
self.scanner = NFCSCanner
|
||||||
|
|
||||||
super(NFCTransactionDialog, self).__init__(**kwargs)
|
super(NFCTransactionDialog, self).__init__(**kwargs)
|
||||||
|
|
|
@ -5,14 +5,14 @@ from kivy.lang import Builder
|
||||||
from decimal import Decimal
|
from decimal import Decimal
|
||||||
from kivy.clock import Clock
|
from kivy.clock import Clock
|
||||||
|
|
||||||
from electrum_zclassic.util import InvalidPassword
|
from electrum_bitcoinprivate.util import InvalidPassword
|
||||||
from electrum_zclassic_gui.kivy.i18n import _
|
from electrum_bitcoinprivate_gui.kivy.i18n import _
|
||||||
|
|
||||||
Builder.load_string('''
|
Builder.load_string('''
|
||||||
|
|
||||||
<PasswordDialog@Popup>
|
<PasswordDialog@Popup>
|
||||||
id: popup
|
id: popup
|
||||||
title: 'Electrum-Zclassic'
|
title: 'Electrum-bitcoinprivate'
|
||||||
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-Zclassic' + (' - ' + self.wallet.basename() if self.wallet else '')
|
self.title = 'Electrum-bitcoinprivate' + (' - ' + self.wallet.basename() if self.wallet else '')
|
||||||
|
|
||||||
def check_password(self, password):
|
def check_password(self, password):
|
||||||
if self.is_change > 1:
|
if self.is_change > 1:
|
||||||
|
|
|
@ -2,7 +2,7 @@ from kivy.app import App
|
||||||
from kivy.factory import Factory
|
from kivy.factory import Factory
|
||||||
from kivy.lang import Builder
|
from kivy.lang import Builder
|
||||||
|
|
||||||
Factory.register('QRScanner', module='electrum_zclassic_gui.kivy.qr_scanner')
|
Factory.register('QRScanner', module='electrum_bitcoinprivate_gui.kivy.qr_scanner')
|
||||||
|
|
||||||
class QrScannerDialog(Factory.AnimatedPopup):
|
class QrScannerDialog(Factory.AnimatedPopup):
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@ from kivy.uix.checkbox import CheckBox
|
||||||
from kivy.uix.label import Label
|
from kivy.uix.label import Label
|
||||||
from kivy.uix.widget import Widget
|
from kivy.uix.widget import Widget
|
||||||
|
|
||||||
from electrum_zclassic_gui.kivy.i18n import _
|
from electrum_bitcoinprivate_gui.kivy.i18n import _
|
||||||
|
|
||||||
Builder.load_string('''
|
Builder.load_string('''
|
||||||
<Question@Popup>
|
<Question@Popup>
|
||||||
|
|
|
@ -74,10 +74,10 @@ Builder.load_string('''
|
||||||
''')
|
''')
|
||||||
|
|
||||||
from kivy.properties import BooleanProperty
|
from kivy.properties import BooleanProperty
|
||||||
from electrum_zclassic_gui.kivy.i18n import _
|
from electrum_bitcoinprivate_gui.kivy.i18n import _
|
||||||
from electrum_zclassic.util import format_time
|
from electrum_bitcoinprivate.util import format_time
|
||||||
from electrum_zclassic.paymentrequest import PR_UNPAID, PR_PAID, PR_UNKNOWN, PR_EXPIRED
|
from electrum_bitcoinprivate.paymentrequest import PR_UNPAID, PR_PAID, PR_UNKNOWN, PR_EXPIRED
|
||||||
from electrum_zclassic_gui.kivy.uix.context_menu import ContextMenu
|
from electrum_bitcoinprivate_gui.kivy.uix.context_menu import ContextMenu
|
||||||
|
|
||||||
pr_icon = {
|
pr_icon = {
|
||||||
PR_UNPAID: 'atlas://gui/kivy/theming/light/important',
|
PR_UNPAID: 'atlas://gui/kivy/theming/light/important',
|
||||||
|
|
|
@ -3,21 +3,21 @@ from kivy.factory import Factory
|
||||||
from kivy.properties import ObjectProperty
|
from kivy.properties import ObjectProperty
|
||||||
from kivy.lang import Builder
|
from kivy.lang import Builder
|
||||||
|
|
||||||
from electrum_zclassic.util import base_units
|
from electrum_bitcoinprivate.util import base_units
|
||||||
from electrum_zclassic.i18n import languages
|
from electrum_bitcoinprivate.i18n import languages
|
||||||
from electrum_zclassic_gui.kivy.i18n import _
|
from electrum_bitcoinprivate_gui.kivy.i18n import _
|
||||||
from electrum_zclassic.plugins import run_hook
|
from electrum_bitcoinprivate.plugins import run_hook
|
||||||
from electrum_zclassic import coinchooser
|
from electrum_bitcoinprivate 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_zclassic_gui.kivy.i18n._
|
#:import _ electrum_bitcoinprivate_gui.kivy.i18n._
|
||||||
|
|
||||||
<SettingsDialog@Popup>
|
<SettingsDialog@Popup>
|
||||||
id: settings
|
id: settings
|
||||||
title: _('Electrum-Zclassic Settings')
|
title: _('Electrum-bitcoinprivate 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 Zclassic amounts.")
|
description: _("Base unit for bitcoinprivate amounts.")
|
||||||
action: partial(root.unit_dialog, self)
|
action: partial(root.unit_dialog, self)
|
||||||
CardSeparator
|
CardSeparator
|
||||||
SettingsItem:
|
SettingsItem:
|
||||||
|
|
|
@ -5,9 +5,9 @@ from kivy.lang import Builder
|
||||||
from kivy.clock import Clock
|
from kivy.clock import Clock
|
||||||
from kivy.uix.label import Label
|
from kivy.uix.label import Label
|
||||||
|
|
||||||
from electrum_zclassic_gui.kivy.i18n import _
|
from electrum_bitcoinprivate_gui.kivy.i18n import _
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from electrum_zclassic.util import InvalidPassword
|
from electrum_bitcoinprivate.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_zclassic.bitcoin import base_encode, bfh
|
from electrum_bitcoinprivate.bitcoin import base_encode, bfh
|
||||||
text = bfh(str(self.tx))
|
text = bfh(str(self.tx))
|
||||||
text = base_encode(text, base=43)
|
text = base_encode(text, base=43)
|
||||||
self.app.qr_dialog(_("Raw Transaction"), text)
|
self.app.qr_dialog(_("Raw Transaction"), text)
|
||||||
|
|
|
@ -5,7 +5,7 @@ from kivy.factory import Factory
|
||||||
from kivy.properties import ObjectProperty
|
from kivy.properties import ObjectProperty
|
||||||
from kivy.lang import Builder
|
from kivy.lang import Builder
|
||||||
|
|
||||||
from electrum_zclassic.util import base_units
|
from electrum_bitcoinprivate.util import base_units
|
||||||
|
|
||||||
from ...i18n import _
|
from ...i18n import _
|
||||||
from .label_dialog import LabelDialog
|
from .label_dialog import LabelDialog
|
||||||
|
|
|
@ -7,7 +7,7 @@ from kivy.uix.bubble import Bubble, BubbleButton
|
||||||
from kivy.properties import ListProperty
|
from kivy.properties import ListProperty
|
||||||
from kivy.uix.widget import Widget
|
from kivy.uix.widget import Widget
|
||||||
|
|
||||||
from electrum_zclassic_gui.kivy.i18n import _
|
from electrum_bitcoinprivate_gui.kivy.i18n import _
|
||||||
|
|
||||||
class ContextMenuItem(Widget):
|
class ContextMenuItem(Widget):
|
||||||
'''abstract class
|
'''abstract class
|
||||||
|
|
|
@ -17,15 +17,15 @@ from kivy.lang import Builder
|
||||||
from kivy.factory import Factory
|
from kivy.factory import Factory
|
||||||
from kivy.utils import platform
|
from kivy.utils import platform
|
||||||
|
|
||||||
from electrum_zclassic.util import profiler, parse_URI, format_time, InvalidPassword, NotEnoughFunds, Fiat
|
from electrum_bitcoinprivate.util import profiler, parse_URI, format_time, InvalidPassword, NotEnoughFunds, Fiat
|
||||||
from electrum_zclassic import bitcoin
|
from electrum_bitcoinprivate import bitcoin
|
||||||
from electrum_zclassic.util import timestamp_to_datetime
|
from electrum_bitcoinprivate.util import timestamp_to_datetime
|
||||||
from electrum_zclassic.paymentrequest import PR_UNPAID, PR_PAID, PR_UNKNOWN, PR_EXPIRED
|
from electrum_bitcoinprivate.paymentrequest import PR_UNPAID, PR_PAID, PR_UNKNOWN, PR_EXPIRED
|
||||||
|
|
||||||
from .context_menu import ContextMenu
|
from .context_menu import ContextMenu
|
||||||
|
|
||||||
|
|
||||||
from electrum_zclassic_gui.kivy.i18n import _
|
from electrum_bitcoinprivate_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_zclassic
|
import electrum_bitcoinprivate
|
||||||
try:
|
try:
|
||||||
uri = electrum_zclassic.util.parse_URI(text, self.app.on_pr)
|
uri = electrum_bitcoinprivate.util.parse_URI(text, self.app.on_pr)
|
||||||
except:
|
except:
|
||||||
self.app.show_info(_("Not a Zclassic URI"))
|
self.app.show_info(_("Not a bitcoinprivate 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_zclassic.paymentrequest import make_unsigned_request, PaymentRequest
|
from electrum_bitcoinprivate.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 Zclassic address or a payment request'))
|
self.app.show_error(_('Recipient not specified.') + ' ' + _('Please scan a bitcoinprivate address or a payment request'))
|
||||||
return
|
return
|
||||||
if not bitcoin.is_address(address):
|
if not bitcoin.is_address(address):
|
||||||
self.app.show_error(_('Invalid Zclassic Address') + ':\n' + address)
|
self.app.show_error(_('Invalid bitcoinprivate 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_zclassic.util import create_URI
|
from electrum_bitcoinprivate.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 Zclassic Request"))
|
self.app.do_share(uri, _("Share bitcoinprivate Request"))
|
||||||
|
|
||||||
def do_copy(self):
|
def do_copy(self):
|
||||||
uri = self.get_URI()
|
uri = self.get_URI()
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#:import VERSION electrum_zclassic.version.ELECTRUM_VERSION
|
#:import VERSION electrum_bitcoinprivate.version.ELECTRUM_VERSION
|
||||||
|
|
||||||
Popup:
|
Popup:
|
||||||
title: _("About Electrum-Zclassic")
|
title: _("About Electrum-bitcoinprivate")
|
||||||
BoxLayout:
|
BoxLayout:
|
||||||
orientation: 'vertical'
|
orientation: 'vertical'
|
||||||
spacing: '10dp'
|
spacing: '10dp'
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#:import _ electrum_zclassic_gui.kivy.i18n._
|
#:import _ electrum_bitcoinprivate_gui.kivy.i18n._
|
||||||
#:import Factory kivy.factory.Factory
|
#:import Factory kivy.factory.Factory
|
||||||
#:set font_light 'gui/kivy/data/fonts/Roboto-Condensed.ttf'
|
#:set font_light 'gui/kivy/data/fonts/Roboto-Condensed.ttf'
|
||||||
#:set btc_symbol chr(171)
|
#:set btc_symbol chr(171)
|
||||||
|
|
|
@ -13,7 +13,7 @@ Popup:
|
||||||
SettingsItem:
|
SettingsItem:
|
||||||
value: _("{} connections.").format(app.num_nodes) if app.num_nodes else _("Not connected")
|
value: _("{} connections.").format(app.num_nodes) if app.num_nodes else _("Not connected")
|
||||||
title: _("Status") + ': ' + self.value
|
title: _("Status") + ': ' + self.value
|
||||||
description: _("Connections with Electrum-Zclassic servers")
|
description: _("Connections with Electrum-bitcoinprivate servers")
|
||||||
action: lambda x: None
|
action: lambda x: None
|
||||||
|
|
||||||
CardSeparator
|
CardSeparator
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#:import _ electrum_zclassic_gui.kivy.i18n._
|
#:import _ electrum_bitcoinprivate_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 _('Zclassic Address')
|
text: s.address if s.address else _('bitcoinprivate Address')
|
||||||
shorten: True
|
shorten: True
|
||||||
on_release: Clock.schedule_once(lambda dt: app.addresses_dialog(s))
|
on_release: Clock.schedule_once(lambda dt: app.addresses_dialog(s))
|
||||||
CardSeparator:
|
CardSeparator:
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#:import _ electrum_zclassic_gui.kivy.i18n._
|
#:import _ electrum_bitcoinprivate_gui.kivy.i18n._
|
||||||
#:import Decimal decimal.Decimal
|
#:import Decimal decimal.Decimal
|
||||||
#:set btc_symbol chr(171)
|
#:set btc_symbol chr(171)
|
||||||
#:set mbtc_symbol chr(187)
|
#:set mbtc_symbol chr(187)
|
||||||
|
|
|
@ -6,7 +6,7 @@ Popup:
|
||||||
padding: '10dp'
|
padding: '10dp'
|
||||||
spacing: '10dp'
|
spacing: '10dp'
|
||||||
TopLabel:
|
TopLabel:
|
||||||
text: _("Electrum-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).")
|
text: _("Electrum-bitcoinprivate requests your transaction history from a single server. The returned history is checked against blockchain headers sent by other nodes, using Simple Payment Verification (SPV).")
|
||||||
font_size: '6pt'
|
font_size: '6pt'
|
||||||
Widget:
|
Widget:
|
||||||
size_hint: 1, 0.8
|
size_hint: 1, 0.8
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
Popup:
|
Popup:
|
||||||
title: "Electrum-Zclassic"
|
title: "Electrum-bitcoinprivate"
|
||||||
confirmed: 0
|
confirmed: 0
|
||||||
unconfirmed: 0
|
unconfirmed: 0
|
||||||
unmatured: 0
|
unmatured: 0
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
#
|
#
|
||||||
# Electrum - lightweight ZClassic client
|
# Electrum - lightweight bitcoinprivate client
|
||||||
# Copyright (C) 2012 thomasv@gitorious
|
# Copyright (C) 2012 thomasv@gitorious
|
||||||
#
|
#
|
||||||
# Permission is hereby granted, free of charge, to any person
|
# Permission is hereby granted, free of charge, to any person
|
||||||
|
@ -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_zclassic.i18n import _, set_language
|
from electrum_bitcoinprivate.i18n import _, set_language
|
||||||
from electrum_zclassic.plugins import run_hook
|
from electrum_bitcoinprivate.plugins import run_hook
|
||||||
from electrum_zclassic import WalletStorage
|
from electrum_bitcoinprivate import WalletStorage
|
||||||
# from electrum_zclassic.synchronizer import Synchronizer
|
# from electrum_bitcoinprivate.synchronizer import Synchronizer
|
||||||
# from electrum_zclassic.verifier import SPV
|
# from electrum_bitcoinprivate.verifier import SPV
|
||||||
# from electrum_zclassic.util import DebugMem
|
# from electrum_bitcoinprivate.util import DebugMem
|
||||||
from electrum_zclassic.util import (UserCancelled, print_error,
|
from electrum_bitcoinprivate.util import (UserCancelled, print_error,
|
||||||
WalletFileException, BitcoinException)
|
WalletFileException, BitcoinException)
|
||||||
# from electrum_zclassic.wallet import Abstract_Wallet
|
# from electrum_bitcoinprivate.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-Zclassic")
|
print("Please run 'pyrcc5 icons.qrc -o gui/qt/icons_rc.py', and reinstall Electrum-bitcoinprivate")
|
||||||
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-zclassic.desktop')
|
QGuiApplication.setDesktopFileName('electrum-bitcoinprivate.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-Zclassic')
|
self.tray.setToolTip('Electrum-bitcoinprivate')
|
||||||
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-Zclassic"), self.close)
|
m.addAction(_("Exit Electrum-bitcoinprivate"), 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-Zclassic in offline mode; restart Electrum-Zclassic if you want to get connected'), title=_('Offline'))
|
parent.show_warning(_('You are using Electrum-bitcoinprivate in offline mode; restart Electrum-bitcoinprivate if you want to get connected'), title=_('Offline'))
|
||||||
return
|
return
|
||||||
if self.nd:
|
if self.nd:
|
||||||
self.nd.on_update()
|
self.nd.on_update()
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
#
|
#
|
||||||
# Electrum - lightweight ZClassic client
|
# Electrum - lightweight bitcoinprivate client
|
||||||
# Copyright (C) 2012 thomasv@gitorious
|
# Copyright (C) 2012 thomasv@gitorious
|
||||||
#
|
#
|
||||||
# Permission is hereby granted, free of charge, to any person
|
# Permission is hereby granted, free of charge, to any person
|
||||||
|
@ -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_zclassic.i18n import _
|
from electrum_bitcoinprivate.i18n import _
|
||||||
|
|
||||||
from PyQt5.QtCore import *
|
from PyQt5.QtCore import *
|
||||||
from PyQt5.QtGui import *
|
from PyQt5.QtGui import *
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
#
|
#
|
||||||
# Electrum - lightweight ZClassic client
|
# Electrum - lightweight bitcoinprivate client
|
||||||
# Copyright (C) 2015 Thomas Voegtlin
|
# Copyright (C) 2015 Thomas Voegtlin
|
||||||
#
|
#
|
||||||
# Permission is hereby granted, free of charge, to any person
|
# Permission is hereby granted, free of charge, to any person
|
||||||
|
@ -24,10 +24,10 @@
|
||||||
# SOFTWARE.
|
# SOFTWARE.
|
||||||
import webbrowser
|
import webbrowser
|
||||||
|
|
||||||
from electrum_zclassic.i18n import _
|
from electrum_bitcoinprivate.i18n import _
|
||||||
from electrum_zclassic.util import block_explorer_URL
|
from electrum_bitcoinprivate.util import block_explorer_URL
|
||||||
from electrum_zclassic.plugins import run_hook
|
from electrum_bitcoinprivate.plugins import run_hook
|
||||||
from electrum_zclassic.bitcoin import is_address
|
from electrum_bitcoinprivate.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_zclassic.wallet import Multisig_Wallet
|
from electrum_bitcoinprivate.wallet import Multisig_Wallet
|
||||||
is_multisig = isinstance(self.wallet, Multisig_Wallet)
|
is_multisig = isinstance(self.wallet, Multisig_Wallet)
|
||||||
can_delete = self.wallet.can_delete_address()
|
can_delete = self.wallet.can_delete_address()
|
||||||
selected = self.selectedItems()
|
selected = self.selectedItems()
|
||||||
|
|
|
@ -5,7 +5,7 @@ from PyQt5.QtGui import *
|
||||||
from PyQt5.QtWidgets import (QLineEdit, QStyle, QStyleOptionFrame)
|
from PyQt5.QtWidgets import (QLineEdit, QStyle, QStyleOptionFrame)
|
||||||
|
|
||||||
from decimal import Decimal
|
from decimal import Decimal
|
||||||
from electrum_zclassic.util import format_satoshis_plain
|
from electrum_bitcoinprivate.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 'ZCL'
|
return 'BTCP'
|
||||||
if p == 5:
|
if p == 5:
|
||||||
return 'mZCL'
|
return 'mBTCP'
|
||||||
if p == 2:
|
if p == 2:
|
||||||
return 'uZCL'
|
return 'uBTCP'
|
||||||
raise Exception('Unknown base unit')
|
raise Exception('Unknown base unit')
|
||||||
|
|
||||||
def get_amount(self):
|
def get_amount(self):
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
#
|
#
|
||||||
# Electrum - lightweight ZClassic client
|
# Electrum - lightweight bitcoinprivate client
|
||||||
# Copyright (C) 2018 The Electrum developers
|
# Copyright (C) 2018 The Electrum developers
|
||||||
#
|
#
|
||||||
# Permission is hereby granted, free of charge, to any person
|
# Permission is hereby granted, free of charge, to any person
|
||||||
|
|
|
@ -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_zclassic import util
|
from electrum_bitcoinprivate import util
|
||||||
|
|
||||||
|
|
||||||
if platform.system() == 'Windows':
|
if platform.system() == 'Windows':
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
#
|
#
|
||||||
# Electrum - lightweight ZClassic client
|
# Electrum - lightweight bitcoinprivate client
|
||||||
# Copyright (C) 2015 Thomas Voegtlin
|
# Copyright (C) 2015 Thomas Voegtlin
|
||||||
#
|
#
|
||||||
# Permission is hereby granted, free of charge, to any person
|
# Permission is hereby granted, free of charge, to any person
|
||||||
|
@ -24,10 +24,10 @@
|
||||||
# SOFTWARE.
|
# SOFTWARE.
|
||||||
import webbrowser
|
import webbrowser
|
||||||
|
|
||||||
from electrum_zclassic.i18n import _
|
from electrum_bitcoinprivate.i18n import _
|
||||||
from electrum_zclassic.bitcoin import is_address
|
from electrum_bitcoinprivate.bitcoin import is_address
|
||||||
from electrum_zclassic.util import block_explorer_URL
|
from electrum_bitcoinprivate.util import block_explorer_URL
|
||||||
from electrum_zclassic.plugins import run_hook
|
from electrum_bitcoinprivate.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 (
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
#
|
#
|
||||||
# Electrum - lightweight ZClassic client
|
# Electrum - lightweight bitcoinprivate client
|
||||||
#
|
#
|
||||||
# Permission is hereby granted, free of charge, to any person
|
# Permission is hereby granted, free of charge, to any person
|
||||||
# obtaining a copy of this software and associated documentation files
|
# obtaining a copy of this software and associated documentation files
|
||||||
|
@ -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_zclassic.i18n import _
|
from electrum_bitcoinprivate.i18n import _
|
||||||
from electrum_zclassic import ELECTRUM_VERSION, bitcoin, constants
|
from electrum_bitcoinprivate 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-Zclassic version: {app_version}</li>
|
<li>Electrum-bitcoinprivate 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-Zclassic - ' + _('An Error Occurred'))
|
self.setWindowTitle('Electrum-bitcoinprivate - ' + _('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-Zclassic.')))
|
main_box.addWidget(QLabel(_('Something went wrong while executing Electrum-bitcoinprivate.')))
|
||||||
|
|
||||||
main_box.addWidget(QLabel(
|
main_box.addWidget(QLabel(
|
||||||
_('To help us diagnose and fix the problem, you can send us a bug report that contains useful debug '
|
_('To help us diagnose and fix the problem, you can send us a bug report that contains useful debug '
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
from electrum_zclassic.i18n import _
|
from electrum_bitcoinprivate.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
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
#
|
#
|
||||||
# Electrum - lightweight ZClassic client
|
# Electrum - lightweight bitcoinprivate client
|
||||||
# Copyright (C) 2015 Thomas Voegtlin
|
# Copyright (C) 2015 Thomas Voegtlin
|
||||||
#
|
#
|
||||||
# Permission is hereby granted, free of charge, to any person
|
# Permission is hereby granted, free of charge, to any person
|
||||||
|
@ -26,13 +26,13 @@
|
||||||
import webbrowser
|
import webbrowser
|
||||||
import datetime
|
import datetime
|
||||||
|
|
||||||
from electrum_zclassic.wallet import AddTransactionException, TX_HEIGHT_LOCAL
|
from electrum_bitcoinprivate.wallet import AddTransactionException, TX_HEIGHT_LOCAL
|
||||||
from .util import *
|
from .util import *
|
||||||
from electrum_zclassic.i18n import _
|
from electrum_bitcoinprivate.i18n import _
|
||||||
from electrum_zclassic.util import block_explorer_URL, profiler
|
from electrum_bitcoinprivate.util import block_explorer_URL, profiler
|
||||||
|
|
||||||
try:
|
try:
|
||||||
from electrum_zclassic.plot import plot_history, NothingToPlotException
|
from electrum_bitcoinprivate.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-zclassic-history.csv')
|
defaultname = os.path.expanduser('~/electrum-bitcoinprivate-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-Zclassic was unable to produce a transaction export.")
|
export_error_label = _("Electrum-bitcoinprivate 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_zclassic.util import json_encode
|
from electrum_bitcoinprivate.util import json_encode
|
||||||
f.write(json_encode(history))
|
f.write(json_encode(history))
|
||||||
|
|
|
@ -8,10 +8,10 @@ from PyQt5.QtCore import *
|
||||||
from PyQt5.QtGui import *
|
from PyQt5.QtGui import *
|
||||||
from PyQt5.QtWidgets import *
|
from PyQt5.QtWidgets import *
|
||||||
|
|
||||||
from electrum_zclassic import Wallet, WalletStorage
|
from electrum_bitcoinprivate import Wallet, WalletStorage
|
||||||
from electrum_zclassic.util import UserCancelled, InvalidPassword
|
from electrum_bitcoinprivate.util import UserCancelled, InvalidPassword
|
||||||
from electrum_zclassic.base_wizard import BaseWizard, HWD_SETUP_DECRYPT_WALLET
|
from electrum_bitcoinprivate.base_wizard import BaseWizard, HWD_SETUP_DECRYPT_WALLET
|
||||||
from electrum_zclassic.i18n import _
|
from electrum_bitcoinprivate.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-Zclassic - ' + _('Install Wizard'))
|
self.setWindowTitle('Electrum-bitcoinprivate - ' + _('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-zclassic.png')
|
self.set_icon(':icons/electrum-bitcoinprivate.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-Zclassic wallet'))
|
self.set_layout(vbox, title=_('Electrum-bitcoinprivate 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-Zclassic 2.7.\n\n"
|
msg = _("The wallet '{}' contains multiple accounts, which are no longer supported since Electrum-bitcoinprivate 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-Zclassic communicates with remote servers to get "
|
message = _("Electrum-bitcoinprivate 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-Zclassic "
|
"hardware. In most cases you simply want to let Electrum-bitcoinprivate "
|
||||||
"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")]
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
#
|
#
|
||||||
# Electrum - lightweight ZClassic client
|
# Electrum - lightweight bitcoinprivate client
|
||||||
# Copyright (C) 2015 Thomas Voegtlin
|
# Copyright (C) 2015 Thomas Voegtlin
|
||||||
#
|
#
|
||||||
# Permission is hereby granted, free of charge, to any person
|
# Permission is hereby granted, free of charge, to any person
|
||||||
|
@ -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_zclassic.i18n import _
|
from electrum_bitcoinprivate.i18n import _
|
||||||
from electrum_zclassic.util import format_time
|
from electrum_bitcoinprivate.util import format_time
|
||||||
|
|
||||||
from .util import *
|
from .util import *
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
#
|
#
|
||||||
# Electrum - lightweight ZClassic client
|
# Electrum - lightweight bitcoinprivate client
|
||||||
# Copyright (C) 2012 thomasv@gitorious
|
# Copyright (C) 2012 thomasv@gitorious
|
||||||
#
|
#
|
||||||
# Permission is hereby granted, free of charge, to any person
|
# Permission is hereby granted, free of charge, to any person
|
||||||
|
@ -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_zclassic import keystore, simple_config
|
from electrum_bitcoinprivate import keystore, simple_config
|
||||||
from electrum_zclassic.bitcoin import COIN, is_address, TYPE_ADDRESS
|
from electrum_bitcoinprivate.bitcoin import COIN, is_address, TYPE_ADDRESS
|
||||||
from electrum_zclassic import constants
|
from electrum_bitcoinprivate import constants
|
||||||
from electrum_zclassic.plugins import run_hook
|
from electrum_bitcoinprivate.plugins import run_hook
|
||||||
from electrum_zclassic.i18n import _
|
from electrum_bitcoinprivate.i18n import _
|
||||||
from electrum_zclassic.util import (format_time, format_satoshis, PrintError,
|
from electrum_bitcoinprivate.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_zclassic import Transaction
|
from electrum_bitcoinprivate import Transaction
|
||||||
from electrum_zclassic import util, bitcoin, commands, coinchooser
|
from electrum_bitcoinprivate import util, bitcoin, commands, coinchooser
|
||||||
from electrum_zclassic import paymentrequest
|
from electrum_bitcoinprivate import paymentrequest
|
||||||
from electrum_zclassic.wallet import Multisig_Wallet, AddTransactionException
|
from electrum_bitcoinprivate.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_zclassic.paymentrequest import PR_PAID
|
from electrum_bitcoinprivate.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-zclassic.png"))
|
self.setWindowIcon(QIcon(":icons/electrum-bitcoinprivate.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-Zclassic Testnet" if constants.net.TESTNET else "Electrum-Zclassic"
|
name = "Electrum-bitcoinprivate Testnet" if constants.net.TESTNET else "Electrum-bitcoinprivate"
|
||||||
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 Zclassic coins with it."),
|
_("This means you will not be able to spend bitcoinprivate coins with it."),
|
||||||
_("Make sure you own the seed phrase or the private keys, before you request Zclassic coins to be sent to this wallet.")
|
_("Make sure you own the seed phrase or the private keys, before you request bitcoinprivate 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-Zclassic was unable to copy your wallet file to the specified location.") + "\n" + str(reason), title=_("Unable to create backup"))
|
self.show_critical(_("Electrum-bitcoinprivate 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-Zclassic preferences") if sys.platform == 'darwin' else _("Preferences"), self.settings_dialog)
|
tools_menu.addAction(_("Electrum-bitcoinprivate 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/ZclassicCommunity/electrum-zclassic"))
|
#help_menu.addAction(_("&Official website"), lambda: webbrowser.open("https://github.com/BTCPrivate/electrum-bitcoinprivate"))
|
||||||
help_menu.addSeparator()
|
help_menu.addSeparator()
|
||||||
#help_menu.addAction(_("&Documentation"), lambda: webbrowser.open("http://github.com/ZclassicCommunity/electrum-zclassic")).setShortcut(QKeySequence.HelpContents)
|
#help_menu.addAction(_("&Documentation"), lambda: webbrowser.open("http://github.com/BTCPrivate/electrum-bitcoinprivate")).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('zclassic:%s?message=donation for %s'%(d, host))
|
self.pay_to_URI('bitcoinprivate:%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-Zclassic",
|
QMessageBox.about(self, "Electrum-bitcoinprivate",
|
||||||
_("Version")+" %s" % (self.wallet.electrum_version) + "\n\n" +
|
_("Version")+" %s" % (self.wallet.electrum_version) + "\n\n" +
|
||||||
_("Electrum-Zclassic focus is speed, with low resource usage and simplifying ZClassic. 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 ZClassic system." + "\n\n" +
|
_("Electrum-bitcoinprivate focus is speed, with low resource usage and simplifying bitcoinprivate. 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 bitcoinprivate 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/ZclassicCommunity/electrum-zclassic/issues\">https://github.com/ZclassicCommunity/electrum-zclassic/issues</a><br/><br/>",
|
"<a href=\"https://github.com/BTCPrivate/electrum-bitcoinprivate/issues\">https://github.com/BTCPrivate/electrum-bitcoinprivate/issues</a><br/><br/>",
|
||||||
_("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."),
|
_("Before reporting a bug, upgrade to the most recent version of Electrum-bitcoinprivate (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-Zclassic - " + _("Reporting Bugs"))
|
self.show_message(msg, title="Electrum-bitcoinprivate - " + _("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-Zclassic", message, QIcon(":icons/electrum_dark_icon"), 20000)
|
self.tray.showMessage("Electrum-bitcoinprivate", message, QIcon(":icons/electrum_dark_icon"), 20000)
|
||||||
except TypeError:
|
except TypeError:
|
||||||
self.tray.showMessage("Electrum-Zclassic", message, QSystemTrayIcon.Information, 20000)
|
self.tray.showMessage("Electrum-bitcoinprivate", 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 'uZCL'
|
return 'uBTCP'
|
||||||
if self.decimal_point == 5:
|
if self.decimal_point == 5:
|
||||||
return 'mZCL'
|
return 'mBTCP'
|
||||||
if self.decimal_point == 8:
|
if self.decimal_point == 8:
|
||||||
return 'ZCL'
|
return 'BTCP'
|
||||||
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 = _('Zclassic address where the payment should be received. Note that each payment request uses a different Zclassic address.')
|
msg = _('bitcoinprivate address where the payment should be received. Note that each payment request uses a different bitcoinprivate 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 Zclassic addresses.'),
|
_('Expired requests have to be deleted manually from your list, in order to free the corresponding bitcoinprivate addresses.'),
|
||||||
_('The Zclassic address never expires and will always be part of this electrum-zclassic wallet.'),
|
_('The bitcoinprivate address never expires and will always be part of this electrum-bitcoinprivate 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 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)')
|
+ _('You may enter a bitcoinprivate 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 bitcoinprivate 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 = _('Zclassic transactions are in general not free. A transaction fee is paid by the sender of the funds.') + '\n\n'\
|
msg = _('bitcoinprivate 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-Zclassic tries to create change with similar precision to other outputs.') + ' ' +
|
_('To somewhat protect your privacy, Electrum-bitcoinprivate 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(_('Zclassic Address is None'))
|
self.show_error(_('bitcoinprivate 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 Zclassic Address'))
|
self.show_error(_('Invalid bitcoinprivate 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 zclassic URI:') + '\n' + str(e))
|
self.show_error(_('Invalid bitcoinprivate 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_zclassic.storage import STO_EV_XPUB_PW
|
from electrum_bitcoinprivate.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 Zclassic address.'))
|
self.show_message(_('Invalid bitcoinprivate 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 Zclassic address.'))
|
self.show_message(_('Invalid bitcoinprivate 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_zclassic.transaction import tx_from_str
|
from electrum_bitcoinprivate.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-Zclassic was unable to parse your transaction") + ":\n" + str(e))
|
self.show_critical(_("Electrum-bitcoinprivate 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_zclassic import qrscanner
|
from electrum_bitcoinprivate 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 zclassic URI
|
# if the user scanned a bitcoinprivate URI
|
||||||
if str(data).startswith("zclassic:"):
|
if str(data).startswith("bitcoinprivate:"):
|
||||||
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-Zclassic was unable to open your transaction file") + "\n" + str(reason), title=_("Unable to read file or no transaction found"))
|
self.show_critical(_("Electrum-bitcoinprivate 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_zclassic import transaction
|
from electrum_bitcoinprivate 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-zclassic-private-keys.csv'
|
defaultname = 'electrum-bitcoinprivate-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-Zclassic was unable to produce a private key-export."),
|
_("Electrum-bitcoinprivate 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_zclassic.wallet import sweep_preparations
|
from electrum_bitcoinprivate.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_zclassic.i18n import languages
|
from electrum_bitcoinprivate.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 = ['ZCL', 'mZCL', 'uZCL']
|
units = ['BTCP', 'mBTCP', 'uBTCP']
|
||||||
msg = (_('Base unit of your wallet.')
|
msg = (_('Base unit of your wallet.')
|
||||||
+ '\n1 ZCL = 1000 mZCL. 1 mZCL = 1000 uZCL.\n'
|
+ '\n1 BTCP = 1000 mBTCP. 1 mBTCP = 1000 uBTCP.\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 == 'ZCL':
|
if unit_result == 'BTCP':
|
||||||
self.decimal_point = 8
|
self.decimal_point = 8
|
||||||
elif unit_result == 'mZCL':
|
elif unit_result == 'mBTCP':
|
||||||
self.decimal_point = 5
|
self.decimal_point = 5
|
||||||
elif unit_result == 'uZCL':
|
elif unit_result == 'uBTCP':
|
||||||
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_zclassic import qrscanner
|
from electrum_bitcoinprivate 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-Zclassic to activate the new GUI settings'), title=_('Success'))
|
self.show_warning(_('Please restart Electrum-bitcoinprivate 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-Zclassic Plugins'))
|
self.pluginsdialog = d = WindowModalDialog(self, _('Electrum-bitcoinprivate Plugins'))
|
||||||
|
|
||||||
plugins = self.gui_object.plugins
|
plugins = self.gui_object.plugins
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
#
|
#
|
||||||
# Electrum - lightweight ZClassic client
|
# Electrum - lightweight bitcoinprivate client
|
||||||
# Copyright (C) 2012 thomasv@gitorious
|
# Copyright (C) 2012 thomasv@gitorious
|
||||||
#
|
#
|
||||||
# Permission is hereby granted, free of charge, to any person
|
# Permission is hereby granted, free of charge, to any person
|
||||||
|
@ -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_zclassic.i18n import _
|
from electrum_bitcoinprivate.i18n import _
|
||||||
from electrum_zclassic import constants
|
from electrum_bitcoinprivate import constants
|
||||||
from electrum_zclassic.util import print_error
|
from electrum_bitcoinprivate.util import print_error
|
||||||
from electrum_zclassic.network import serialize_server, deserialize_server
|
from electrum_bitcoinprivate.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-Zclassic will always use a server that is on the longest blockchain."),
|
_("If auto-connect is enabled, Electrum-bitcoinprivate 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-Zclassic will warn you if your server is lagging.")
|
_("If it is disabled, you have to choose a server you want to use. Electrum-bitcoinprivate 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-Zclassic servers, but also with third-party services.')), 2, 4)
|
grid.addWidget(HelpButton(_('Proxy settings apply to all connections: with Electrum-bitcoinprivate 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-Zclassic connects to several nodes in order to download block headers and find out the longest blockchain."),
|
_("Electrum-bitcoinprivate 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-Zclassic sends your wallet addresses to a single server, in order to receive your transaction history.")
|
msg = _("Electrum-bitcoinprivate 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)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
#
|
#
|
||||||
# Electrum - lightweight ZClassic client
|
# Electrum - lightweight bitcoinprivate client
|
||||||
# Copyright (C) 2013 ecdsa@github
|
# Copyright (C) 2013 ecdsa@github
|
||||||
#
|
#
|
||||||
# Permission is hereby granted, free of charge, to any person
|
# Permission is hereby granted, free of charge, to any person
|
||||||
|
@ -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_zclassic.i18n import _
|
from electrum_bitcoinprivate.i18n import _
|
||||||
from .util import *
|
from .util import *
|
||||||
import re
|
import re
|
||||||
import math
|
import math
|
||||||
|
|
||||||
from electrum_zclassic.plugins import run_hook
|
from electrum_bitcoinprivate.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 Zclassic coins are password protected. However, your wallet file is not encrypted.')
|
msg = _('Your bitcoinprivate 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.')
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
#
|
#
|
||||||
# Electrum - lightweight ZClassic client
|
# Electrum - lightweight bitcoinprivate client
|
||||||
# Copyright (C) 2012 thomasv@gitorious
|
# Copyright (C) 2012 thomasv@gitorious
|
||||||
#
|
#
|
||||||
# Permission is hereby granted, free of charge, to any person
|
# Permission is hereby granted, free of charge, to any person
|
||||||
|
@ -28,8 +28,8 @@ from PyQt5.QtWidgets import QLineEdit
|
||||||
import re
|
import re
|
||||||
from decimal import Decimal
|
from decimal import Decimal
|
||||||
|
|
||||||
from electrum_zclassic import bitcoin
|
from electrum_bitcoinprivate import bitcoin
|
||||||
from electrum_zclassic.util import bfh
|
from electrum_bitcoinprivate.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_zclassic.transaction import opcodes, push_script
|
from electrum_bitcoinprivate.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("zclassic:"):
|
if data.startswith("bitcoinprivate:"):
|
||||||
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("zclassic:"):
|
if data.startswith("bitcoinprivate:"):
|
||||||
self.scan_f(data)
|
self.scan_f(data)
|
||||||
# TODO: update fee
|
# TODO: update fee
|
||||||
|
|
||||||
|
|
|
@ -8,8 +8,8 @@ from PyQt5.QtWidgets import (
|
||||||
import os
|
import os
|
||||||
import qrcode
|
import qrcode
|
||||||
|
|
||||||
import electrum_zclassic
|
import electrum_bitcoinprivate
|
||||||
from electrum_zclassic.i18n import _
|
from electrum_bitcoinprivate.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_zclassic.get_config()
|
config = electrum_bitcoinprivate.get_config()
|
||||||
if config:
|
if config:
|
||||||
filename = os.path.join(config.path, "qrcode.png")
|
filename = os.path.join(config.path, "qrcode.png")
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
|
|
||||||
from electrum_zclassic.i18n import _
|
from electrum_bitcoinprivate.i18n import _
|
||||||
from electrum_zclassic.plugins import run_hook
|
from electrum_bitcoinprivate.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_zclassic import qrscanner, get_config
|
from electrum_bitcoinprivate 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:
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
#
|
#
|
||||||
# Electrum - lightweight ZClassic client
|
# Electrum - lightweight bitcoinprivate client
|
||||||
# Copyright (C) 2014 Thomas Voegtlin
|
# Copyright (C) 2014 Thomas Voegtlin
|
||||||
#
|
#
|
||||||
# Permission is hereby granted, free of charge, to any person
|
# Permission is hereby granted, free of charge, to any person
|
||||||
|
@ -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_zclassic_gui.qt.qrcodewidget import QRCodeWidget
|
from electrum_bitcoinprivate_gui.qt.qrcodewidget import QRCodeWidget
|
||||||
from electrum_zclassic.i18n import _
|
from electrum_bitcoinprivate.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-Zclassic - '+_('Payment Request'))
|
self.setWindowTitle('Electrum-bitcoinprivate - '+_('Payment Request'))
|
||||||
self.setMinimumSize(800, 250)
|
self.setMinimumSize(800, 250)
|
||||||
self.address = ''
|
self.address = ''
|
||||||
self.label = ''
|
self.label = ''
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
#
|
#
|
||||||
# Electrum - lightweight ZClassic client
|
# Electrum - lightweight bitcoinprivate client
|
||||||
# Copyright (C) 2015 Thomas Voegtlin
|
# Copyright (C) 2015 Thomas Voegtlin
|
||||||
#
|
#
|
||||||
# Permission is hereby granted, free of charge, to any person
|
# Permission is hereby granted, free of charge, to any person
|
||||||
|
@ -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_zclassic.i18n import _
|
from electrum_bitcoinprivate.i18n import _
|
||||||
from electrum_zclassic.util import format_time, age
|
from electrum_bitcoinprivate.util import format_time, age
|
||||||
from electrum_zclassic.plugins import run_hook
|
from electrum_bitcoinprivate.plugins import run_hook
|
||||||
from electrum_zclassic.paymentrequest import PR_UNKNOWN
|
from electrum_bitcoinprivate.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
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
#
|
#
|
||||||
# Electrum - lightweight ZClassic client
|
# Electrum - lightweight bitcoinprivate client
|
||||||
# Copyright (C) 2013 ecdsa@github
|
# Copyright (C) 2013 ecdsa@github
|
||||||
#
|
#
|
||||||
# Permission is hereby granted, free of charge, to any person
|
# Permission is hereby granted, free of charge, to any person
|
||||||
|
@ -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_zclassic.i18n import _
|
from electrum_bitcoinprivate.i18n import _
|
||||||
from electrum_zclassic.mnemonic import Mnemonic
|
from electrum_bitcoinprivate.mnemonic import Mnemonic
|
||||||
import electrum_zclassic.old_mnemonic
|
import electrum_bitcoinprivate.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-Zclassic, so that users can access funds locked in other wallets.'),
|
_('BIP39 seeds can be imported in Electrum-bitcoinprivate, 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-Zclassic.'),
|
_('We do not guarantee that BIP39 imports will always be supported in Electrum-bitcoinprivate.'),
|
||||||
])
|
])
|
||||||
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_zclassic.old_mnemonic.words
|
old_list = electrum_bitcoinprivate.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_zclassic.bitcoin import seed_type
|
from electrum_bitcoinprivate.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_zclassic.keystore import bip39_is_checksum_valid
|
from electrum_bitcoinprivate.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-Zclassic - ' + _('Seed')))
|
WindowModalDialog.__init__(self, parent, ('Electrum-bitcoinprivate - ' + _('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:")
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
#
|
#
|
||||||
# Electrum - lightweight ZClassic client
|
# Electrum - lightweight bitcoinprivate client
|
||||||
# Copyright (C) 2012 thomasv@gitorious
|
# Copyright (C) 2012 thomasv@gitorious
|
||||||
#
|
#
|
||||||
# Permission is hereby granted, free of charge, to any person
|
# Permission is hereby granted, free of charge, to any person
|
||||||
|
@ -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_zclassic.bitcoin import base_encode
|
from electrum_bitcoinprivate.bitcoin import base_encode
|
||||||
from electrum_zclassic.i18n import _
|
from electrum_bitcoinprivate.i18n import _
|
||||||
from electrum_zclassic.plugins import run_hook
|
from electrum_bitcoinprivate.plugins import run_hook
|
||||||
from electrum_zclassic import simple_config
|
from electrum_bitcoinprivate import simple_config
|
||||||
|
|
||||||
from electrum_zclassic.util import bfh
|
from electrum_bitcoinprivate.util import bfh
|
||||||
from electrum_zclassic.wallet import AddTransactionException
|
from electrum_bitcoinprivate.wallet import AddTransactionException
|
||||||
from electrum_zclassic.transaction import SerializationError
|
from electrum_bitcoinprivate.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-Zclassic was unable to deserialize the transaction:") + "\n" + str(e))
|
parent.show_critical(_("Electrum-bitcoinprivate was unable to deserialize the transaction:") + "\n" + str(e))
|
||||||
else:
|
else:
|
||||||
dialogs.append(d)
|
dialogs.append(d)
|
||||||
d.show()
|
d.show()
|
||||||
|
|
|
@ -10,9 +10,9 @@ from PyQt5.QtGui import *
|
||||||
from PyQt5.QtCore import *
|
from PyQt5.QtCore import *
|
||||||
from PyQt5.QtWidgets import *
|
from PyQt5.QtWidgets import *
|
||||||
|
|
||||||
from electrum_zclassic.i18n import _
|
from electrum_bitcoinprivate.i18n import _
|
||||||
from electrum_zclassic.util import FileImportFailed, FileExportFailed
|
from electrum_bitcoinprivate.util import FileImportFailed, FileExportFailed
|
||||||
from electrum_zclassic.paymentrequest import PR_UNPAID, PR_PAID, PR_EXPIRED
|
from electrum_bitcoinprivate.paymentrequest import PR_UNPAID, PR_PAID, PR_EXPIRED
|
||||||
|
|
||||||
|
|
||||||
if platform.system() == 'Windows':
|
if platform.system() == 'Windows':
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
#
|
#
|
||||||
# Electrum - lightweight ZClassic client
|
# Electrum - lightweight bitcoinprivate client
|
||||||
# Copyright (C) 2015 Thomas Voegtlin
|
# Copyright (C) 2015 Thomas Voegtlin
|
||||||
#
|
#
|
||||||
# Permission is hereby granted, free of charge, to any person
|
# Permission is hereby granted, free of charge, to any person
|
||||||
|
@ -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_zclassic.i18n import _
|
from electrum_bitcoinprivate.i18n import _
|
||||||
|
|
||||||
|
|
||||||
class UTXOList(MyTreeWidget):
|
class UTXOList(MyTreeWidget):
|
||||||
|
|
14
gui/stdio.py
14
gui/stdio.py
|
@ -1,9 +1,9 @@
|
||||||
from decimal import Decimal
|
from decimal import Decimal
|
||||||
_ = lambda x:x
|
_ = lambda x:x
|
||||||
#from i18n import _
|
#from i18n import _
|
||||||
from electrum_zclassic import WalletStorage, Wallet
|
from electrum_bitcoinprivate import WalletStorage, Wallet
|
||||||
from electrum_zclassic.util import format_satoshis, set_verbosity
|
from electrum_bitcoinprivate.util import format_satoshis, set_verbosity
|
||||||
from electrum_zclassic.bitcoin import is_address, COIN, TYPE_ADDRESS
|
from electrum_bitcoinprivate.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-zclassic create'")
|
print("Wallet not found. try 'electrum-bitcoinprivate 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 Zclassic address'))
|
print(_('Invalid bitcoinprivate 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-zclassic setconfig server/proxy' to change your network settings")
|
print("use 'electrum-bitcoinprivate setconfig server/proxy' to change your network settings")
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
def settings_dialog(self):
|
def settings_dialog(self):
|
||||||
print("use 'electrum-zclassic setconfig' to change your settings")
|
print("use 'electrum-bitcoinprivate setconfig' to change your settings")
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def password_dialog(self):
|
def password_dialog(self):
|
||||||
|
|
14
gui/text.py
14
gui/text.py
|
@ -3,10 +3,10 @@ import curses, datetime, locale
|
||||||
from decimal import Decimal
|
from decimal import Decimal
|
||||||
import getpass
|
import getpass
|
||||||
|
|
||||||
import electrum_zclassic
|
import electrum_bitcoinprivate
|
||||||
from electrum_zclassic.util import format_satoshis, set_verbosity
|
from electrum_bitcoinprivate.util import format_satoshis, set_verbosity
|
||||||
from electrum_zclassic.bitcoin import is_address, COIN, TYPE_ADDRESS
|
from electrum_bitcoinprivate.bitcoin import is_address, COIN, TYPE_ADDRESS
|
||||||
from electrum_zclassic import Wallet, WalletStorage
|
from electrum_bitcoinprivate 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-zclassic create'")
|
print("Wallet not found. try 'electrum-bitcoinprivate 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 Zclassic address'))
|
self.show_message(_('Invalid bitcoinprivate 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_zclassic.network.deserialize_proxy(out.get('proxy')) if out.get('proxy') else proxy_config
|
proxy = electrum_bitcoinprivate.network.deserialize_proxy(out.get('proxy')) if out.get('proxy') else proxy_config
|
||||||
self.network.set_parameters(host, port, protocol, proxy, auto_connect)
|
self.network.set_parameters(host, port, protocol, proxy, auto_connect)
|
||||||
|
|
||||||
def settings_dialog(self):
|
def settings_dialog(self):
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<RCC>
|
<RCC>
|
||||||
<qresource prefix="/" >
|
<qresource prefix="/" >
|
||||||
<file>icons/electrum-zclassic.png</file>
|
<file>icons/electrum-bitcoinprivate.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.
After Width: | Height: | Size: 179 KiB |
Binary file not shown.
After Width: | Height: | Size: 61 KiB |
Binary file not shown.
Before Width: | Height: | Size: 42 KiB |
Binary file not shown.
Before Width: | Height: | Size: 26 KiB |
|
@ -1,6 +1,6 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
#
|
#
|
||||||
# Electrum - lightweight ZClassic client
|
# Electrum - lightweight bitcoinprivate client
|
||||||
# Copyright (C) 2016 Thomas Voegtlin
|
# Copyright (C) 2016 Thomas Voegtlin
|
||||||
#
|
#
|
||||||
# Permission is hereby granted, free of charge, to any person
|
# Permission is hereby granted, free of charge, to any person
|
||||||
|
@ -90,7 +90,7 @@ class BaseWizard(object):
|
||||||
wallet_kinds = [
|
wallet_kinds = [
|
||||||
('standard', _("Standard wallet")),
|
('standard', _("Standard wallet")),
|
||||||
('multisig', _("Multi-signature wallet")),
|
('multisig', _("Multi-signature wallet")),
|
||||||
('imported', _("Import Zclassic addresses or private keys")),
|
('imported', _("Import bitcoinprivate addresses or private keys")),
|
||||||
]
|
]
|
||||||
choices = [pair for pair in wallet_kinds if pair[0] in wallet_types]
|
choices = [pair for pair in wallet_kinds if pair[0] in wallet_types]
|
||||||
self.choice_dialog(title=title, message=message, choices=choices, run_next=self.on_wallet_type)
|
self.choice_dialog(title=title, message=message, choices=choices, run_next=self.on_wallet_type)
|
||||||
|
@ -139,8 +139,8 @@ class BaseWizard(object):
|
||||||
|
|
||||||
def import_addresses_or_keys(self):
|
def import_addresses_or_keys(self):
|
||||||
v = lambda x: keystore.is_address_list(x) or keystore.is_private_key_list(x)
|
v = lambda x: keystore.is_address_list(x) or keystore.is_private_key_list(x)
|
||||||
title = _("Import Zclassic Addresses")
|
title = _("Import bitcoinprivate Addresses")
|
||||||
message = _("Enter a list of Zclassic addresses (this will create a watching-only wallet), or a list of private keys.")
|
message = _("Enter a list of bitcoinprivate addresses (this will create a watching-only wallet), or a list of private keys.")
|
||||||
self.add_xpub_dialog(title=title, message=message, run_next=self.on_import,
|
self.add_xpub_dialog(title=title, message=message, run_next=self.on_import,
|
||||||
is_valid=v, allow_multi=True)
|
is_valid=v, allow_multi=True)
|
||||||
|
|
||||||
|
@ -512,5 +512,5 @@ class BaseWizard(object):
|
||||||
self.wallet.synchronize()
|
self.wallet.synchronize()
|
||||||
self.wallet.storage.write()
|
self.wallet.storage.write()
|
||||||
self.terminate()
|
self.terminate()
|
||||||
msg = _("Electrum-Zclassic is generating your addresses, please wait...")
|
msg = _("Electrum-bitcoinprivate is generating your addresses, please wait...")
|
||||||
self.waiting_dialog(task, msg)
|
self.waiting_dialog(task, msg)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
#
|
#
|
||||||
# Electrum - lightweight ZClassic client
|
# Electrum - lightweight bitcoinprivate client
|
||||||
# Copyright (C) 2011 thomasv@gitorious
|
# Copyright (C) 2011 thomasv@gitorious
|
||||||
#
|
#
|
||||||
# Permission is hereby granted, free of charge, to any person
|
# Permission is hereby granted, free of charge, to any person
|
||||||
|
@ -357,7 +357,7 @@ def base_encode(v, base):
|
||||||
result.append(chars[mod])
|
result.append(chars[mod])
|
||||||
long_value = div
|
long_value = div
|
||||||
result.append(chars[long_value])
|
result.append(chars[long_value])
|
||||||
# ZClassic does a little leading-zero-compression:
|
# bitcoinprivate does a little leading-zero-compression:
|
||||||
# leading 0-bytes in the input become leading-1s
|
# leading 0-bytes in the input become leading-1s
|
||||||
nPad = 0
|
nPad = 0
|
||||||
for c in v:
|
for c in v:
|
||||||
|
@ -550,7 +550,7 @@ from ecdsa.util import string_to_number, number_to_string
|
||||||
|
|
||||||
def msg_magic(message):
|
def msg_magic(message):
|
||||||
length = bfh(var_int(len(message)))
|
length = bfh(var_int(len(message)))
|
||||||
return b"\x18Zclassic Signed Message:\n" + length + message
|
return b"\x18bitcoinprivate Signed Message:\n" + length + message
|
||||||
|
|
||||||
|
|
||||||
def verify_message(address, sig, message):
|
def verify_message(address, sig, message):
|
||||||
|
@ -905,7 +905,7 @@ def xpub_from_xprv(xprv):
|
||||||
|
|
||||||
|
|
||||||
def bip32_root(seed, xtype):
|
def bip32_root(seed, xtype):
|
||||||
I = hmac.new(b"ZClassic seed", seed, hashlib.sha512).digest()
|
I = hmac.new(b"bitcoinprivate seed", seed, hashlib.sha512).digest()
|
||||||
master_k = I[0:32]
|
master_k = I[0:32]
|
||||||
master_c = I[32:]
|
master_c = I[32:]
|
||||||
K, cK = get_pubkeys_from_secret(master_k)
|
K, cK = get_pubkeys_from_secret(master_k)
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue