Compare commits

...

14 commits

Author SHA1 Message Date
kodxana
e536a2be13
Add support for Ledger Nano S Plus 2022-07-20 21:41:43 +02:00
kodxana
2b7b5ce093
Linux docker update 2020-12-16 19:41:49 +01:00
kodxana
82b0f92861
Added alternate server 2020-12-16 19:33:10 +01:00
kodxana
5f11b4cb93
Ledger enumeration fix 2020-12-16 19:23:30 +01:00
kodxana
5716e49a35
Update README.rst 2020-02-24 19:33:49 +01:00
kodxana
26fcfb858b
Update README.rst 2020-02-24 19:33:31 +01:00
kodxana
634916ffd8
Update servers.json 2020-02-19 15:36:07 +01:00
kodxana
5fa4f61a48
Update servers.json 2020-02-19 15:35:27 +01:00
kodxana
d2faa61e37
Update main_window.py 2020-02-19 15:34:36 +01:00
kodxana
227a74c327
Update ecc.py 2020-02-19 15:17:06 +01:00
kodxana
72c79597fa
Update simple_config.py 2020-02-19 14:47:51 +01:00
kodxana
a1e23ac46f
ecc.ECPubkey: also accept bytearray in __init__ 2020-02-19 14:43:52 +01:00
kodxana
1a18e70d92
ecc.ECPubkey: also accept bytearray in __init__ 2020-02-19 14:43:00 +01:00
kodxana
9350f9f26a
Data directory linux fix 2020-02-19 09:34:25 +01:00
8 changed files with 33 additions and 23 deletions

View file

@ -1,13 +1,9 @@
LBRY Vault - Lightweight LBRY Credit client LBRY Vault - Lightweight LBRY Credit client
===================================== =====================================
Guides
:: ===============
Guide for Ledger devices -
Licence: MIT Licence https://kodxana.github.io/LBRY-Vault-website/
Author: Thomas Voegtlin
Language: Python (>= 3.6)
Homepage: https://electrum.org/
Getting started Getting started
=============== ===============

View file

@ -1,29 +1,30 @@
FROM ubuntu:16.04@sha256:97b54e5692c27072234ff958a7442dde4266af21e7b688e7fca5dc5acc8ed7d9 FROM ubuntu:16.04@sha256:a4fc0c40360ff2224db3a483e5d80e9164fe3fdce2a8439d2686270643974632
ENV LC_ALL=C.UTF-8 LANG=C.UTF-8 ENV LC_ALL=C.UTF-8 LANG=C.UTF-8
RUN apt-get update -q && \ RUN apt-get update -q && \
apt-get install -qy \ apt-get install -qy \
git=1:2.7.4-0ubuntu1.7 \ git=1:2.7.4-0ubuntu1.9 \
wget=1.17.1-1ubuntu1.5 \ wget=1.17.1-1ubuntu1.5 \
make=4.1-6 \ make=4.1-6 \
autotools-dev=20150820.1 \ autotools-dev=20150820.1 \
autoconf=2.69-9 \ autoconf=2.69-9 \
libtool=2.4.6-0.1 \ libtool=2.4.6-0.1 \
xz-utils=5.1.1alpha+20120614-2ubuntu2 \ xz-utils=5.1.1alpha+20120614-2ubuntu2 \
libssl-dev=1.0.2g-1ubuntu4.15 \ libssl-dev=1.0.2g-1ubuntu4.18 \
libssl1.0.0=1.0.2g-1ubuntu4.15 \ libssl1.0.0=1.0.2g-1ubuntu4.18 \
openssl=1.0.2g-1ubuntu4.15 \ openssl=1.0.2g-1ubuntu4.18 \
zlib1g-dev=1:1.2.8.dfsg-2ubuntu4.3 \ zlib1g-dev=1:1.2.8.dfsg-2ubuntu4.3 \
libffi-dev=3.2.1-4 \ libffi-dev=3.2.1-4 \
libncurses5-dev=6.0+20160213-1ubuntu1 \ libncurses5-dev=6.0+20160213-1ubuntu1 \
libsqlite3-dev=3.11.0-1ubuntu1.3 \ libsqlite3-dev=3.11.0-1ubuntu1.5 \
libusb-1.0-0-dev=2:1.0.20-1 \ libusb-1.0-0-dev=2:1.0.20-1 \
libudev-dev=229-4ubuntu21.27 \ libudev-dev=229-4ubuntu21.29 \
gettext=0.19.7-2ubuntu3.1 \ gettext=0.19.7-2ubuntu3.1 \
libzbar0=0.10+doc-10ubuntu1 \ libzbar0=0.10+doc-10ubuntu1 \
libdbus-1-3=1.10.6-1ubuntu3.4 \ libdbus-1-3=1.10.6-1ubuntu3.6 \
libxkbcommon-x11-0=0.5.0-1ubuntu2.1 \ libxkbcommon-x11-0=0.5.0-1ubuntu2.1 \
libc6-dev=2.23-0ubuntu11.2 \
&& \ && \
rm -rf /var/lib/apt/lists/* && \ rm -rf /var/lib/apt/lists/* && \
apt-get autoremove -y && \ apt-get autoremove -y && \

View file

@ -116,6 +116,7 @@ def sig_string_from_r_and_s(r: int, s: int) -> bytes:
def _x_and_y_from_pubkey_bytes(pubkey: bytes) -> Tuple[int, int]: def _x_and_y_from_pubkey_bytes(pubkey: bytes) -> Tuple[int, int]:
pubkey_ptr = create_string_buffer(64) pubkey_ptr = create_string_buffer(64)
assert isinstance(pubkey, bytes), f'pubkey must be bytes, not {type(pubkey)}'
ret = _libsecp256k1.secp256k1_ec_pubkey_parse( ret = _libsecp256k1.secp256k1_ec_pubkey_parse(
_libsecp256k1.ctx, pubkey_ptr, pubkey, len(pubkey)) _libsecp256k1.ctx, pubkey_ptr, pubkey, len(pubkey))
if not ret: if not ret:
@ -141,7 +142,9 @@ class ECPubkey(object):
def __init__(self, b: Optional[bytes]): def __init__(self, b: Optional[bytes]):
if b is not None: if b is not None:
assert_bytes(b) assert isinstance(b, (bytes, bytearray)), f'pubkey must be bytes-like, not {type(b)}'
if isinstance(b, bytearray):
b = bytes(b)
self._x, self._y = _x_and_y_from_pubkey_bytes(b) self._x, self._y = _x_and_y_from_pubkey_bytes(b)
else: else:
self._x, self._y = None, None self._x, self._y = None, None

View file

@ -491,7 +491,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, Logger):
self.setGeometry(100, 100, 840, 400) self.setGeometry(100, 100, 840, 400)
def watching_only_changed(self): def watching_only_changed(self):
name = "Electrum Testnet" if constants.net.TESTNET else "Electrum" name = "LBRY Vault Testnet" if constants.net.TESTNET else "LBRY Vault"
title = '%s %s - %s' % (name, ELECTRUM_VERSION, title = '%s %s - %s' % (name, ELECTRUM_VERSION,
self.wallet.basename()) self.wallet.basename())
extra = [self.wallet.db.get('wallet_type', '?')] extra = [self.wallet.db.get('wallet_type', '?')]

View file

@ -121,7 +121,7 @@ class Ledger_Client(HardwareClientBase):
publicKey = compress_public_key(nodeData['publicKey']) publicKey = compress_public_key(nodeData['publicKey'])
depth = len(bip32_intpath) depth = len(bip32_intpath)
return BIP32Node(xtype=xtype, return BIP32Node(xtype=xtype,
eckey=ecc.ECPubkey(publicKey), eckey=ecc.ECPubkey(bytes(publicKey)),
chaincode=nodeData['chainCode'], chaincode=nodeData['chainCode'],
depth=depth, depth=depth,
fingerprint=fingerprint_bytes, fingerprint=fingerprint_bytes,
@ -544,9 +544,15 @@ class LedgerPlugin(HW_PluginBase):
(0x2581, 0x3b7c), # HW.1 ledger production (0x2581, 0x3b7c), # HW.1 ledger production
(0x2581, 0x4b7c), # HW.1 ledger test (0x2581, 0x4b7c), # HW.1 ledger test
(0x2c97, 0x0000), # Blue (0x2c97, 0x0000), # Blue
(0x2c97, 0x0011), # Blue app-bitcoin >= 1.5.1
(0x2c97, 0x0015), # Blue app-bitcoin >= 1.5.1
(0x2c97, 0x0001), # Nano-S (0x2c97, 0x0001), # Nano-S
(0x2c97, 0x1011), # Nano-S app-bitcoin >= 1.5.1
(0x2c97, 0x1015), # Nano-S app-bitcoin >= 1.5.1
(0x2c97, 0x0004), # Nano-X (0x2c97, 0x0004), # Nano-X
(0x2c97, 0x0005), # RFU (0x2c97, 0x4011), # Nano-X app-bitcoin >= 1.5.1
(0x2c97, 0x4015), # Nano-X app-bitcoin >= 1.5.1
(0x2c97, 0x0005), # Nano-S Plus
(0x2c97, 0x0006), # RFU (0x2c97, 0x0006), # RFU
(0x2c97, 0x0007), # RFU (0x2c97, 0x0007), # RFU
(0x2c97, 0x0008), # RFU (0x2c97, 0x0008), # RFU
@ -567,6 +573,8 @@ class LedgerPlugin(HW_PluginBase):
ledger = True ledger = True
if device.product_key[0] == 0x2581 and device.product_key[1] == 0x4b7c: if device.product_key[0] == 0x2581 and device.product_key[1] == 0x4b7c:
ledger = True ledger = True
if device.product_key[0] == 0x2c97 and device.product_key[1] == 0x0005:
ledger = True
if device.product_key[0] == 0x2c97: if device.product_key[0] == 0x2c97:
if device.interface_number == 0 or device.usage_page == 0xffa0: if device.interface_number == 0 or device.usage_page == 0xffa0:
ledger = True ledger = True

View file

@ -5,10 +5,12 @@
"t": "50001", "t": "50001",
"version": "1.2" "version": "1.2"
}, },
"lbryumx2.lbry.io": {
"spv1.allaboutlbc.com": {
"pruning": "-", "pruning": "-",
"s": "50002", "s": "50002",
"t": "50001", "t": "50001",
"version": "1.2" "version": "1.2"
} }
} }

View file

@ -28,7 +28,7 @@ FEERATE_WARNING_HIGH_FEE = 600000
FEERATE_FALLBACK_STATIC_FEE = 50000 FEERATE_FALLBACK_STATIC_FEE = 50000
FEERATE_DEFAULT_RELAY = 50000 FEERATE_DEFAULT_RELAY = 50000
FEERATE_STATIC_VALUES = [50000,100000] FEERATE_STATIC_VALUES = [50000,100000]
FEERATE_MAX_RELAY = 50000
FEERATE_REGTEST_HARDCODED = 180000 # for eclair compat FEERATE_REGTEST_HARDCODED = 180000 # for eclair compat

View file

@ -552,7 +552,7 @@ def user_dir():
if 'ANDROID_DATA' in os.environ: if 'ANDROID_DATA' in os.environ:
return android_data_dir() return android_data_dir()
elif os.name == 'posix': elif os.name == 'posix':
return os.path.join(os.environ["HOME"], ".electrum") return os.path.join(os.environ["HOME"], ".lbry-vault")
elif "APPDATA" in os.environ: elif "APPDATA" in os.environ:
return os.path.join(os.environ["APPDATA"], "Electrum-lbry") return os.path.join(os.environ["APPDATA"], "Electrum-lbry")
elif "LOCALAPPDATA" in os.environ: elif "LOCALAPPDATA" in os.environ: