Janus
2dc8f5efe8
lightning: fix hub backend loop availability
2018-06-26 19:28:29 +02:00
Janus
ed7961c0ce
lnbase: more parts of channel establishment
2018-06-26 19:28:29 +02:00
Janus
ce5ae70d20
lnbase: remove unnecessary try/except
2018-06-26 19:28:29 +02:00
Janus
dc934ce9e5
lnbase: lnbase_test must use threadsafe task submission
2018-06-26 19:28:29 +02:00
ThomasV
9a2fba81e7
lnbase: decorator that handles exceptions
2018-06-26 19:28:29 +02:00
Janus
d45a6a5069
lnbase: fix shutdown when lnbase has exception in main_loop
2018-06-26 19:28:29 +02:00
Janus
89850de99b
lnbase: print exceptions from main_loop
2018-06-26 19:28:29 +02:00
Janus
470d6071ea
lnbase: initialize loop variable in main
2018-06-26 19:28:29 +02:00
Janus
6b044bf2ae
network: do not acquire lightninglock for lnbase
2018-06-26 19:28:29 +02:00
Janus
5e0def63c6
lnbase: add lnbase_test
2018-06-26 19:28:29 +02:00
ThomasV
37d73c3165
lnbase: expose wallet object in LNWorker
2018-06-26 19:28:29 +02:00
Janus
51a31051bd
lnbase: merge initialize and main_loop
2018-06-26 19:28:29 +02:00
Janus
7fb777828a
lnbase: handle error during channel establishment
2018-06-26 19:28:29 +02:00
Janus
abe436fa9a
lnbase: channel establishment flow, avoid using Wallet instance
2018-06-26 19:28:29 +02:00
ThomasV
3869463f62
lnbase: use relative imports
2018-06-26 19:28:29 +02:00
Janus
2b6c550aee
lnbase: support simnet/testnet, create accepted open_channel message
2018-06-26 19:28:29 +02:00
Janus
09141f6767
lnbase: use valid pubkeys in open_channel
2018-06-26 19:28:29 +02:00
Janus
29b8ba95c9
lnbase: try sending open_channel
2018-06-26 19:28:29 +02:00
ThomasV
4836aefbe8
lnbase: add draft handlers
2018-06-26 19:28:29 +02:00
Janus
d2493457ac
lnbase: avoid reimplementing int.to_bytes
2018-06-26 19:28:29 +02:00
Janus
27132ec4dd
lnbase: avoid reimplementing int.from_bytes
2018-06-26 19:28:29 +02:00
ThomasV
48dae8fadf
fix asyncio loop
2018-06-26 19:28:29 +02:00
Janus
a8320ef6f5
lnbase: do not catch all exceptions, tolerate calculations with variables from kwargs
2018-06-26 19:28:29 +02:00
ThomasV
c4d20e0ce8
integrate lnbase with network
2018-06-26 19:28:29 +02:00
ThomasV
411f188daf
lnbase: process ping messages
2018-06-26 19:28:29 +02:00
ThomasV
ca532df193
lnbase: create main loop
2018-06-26 19:28:29 +02:00
ThomasV
c5fdf0d8ba
lnbase: save buffer for next read
2018-06-26 19:28:29 +02:00
ThomasV
35fb996a8a
lnbase: Peer class
2018-06-26 19:28:29 +02:00
ThomasV
339b1778f7
lnbase: fix json loading and indentation
2018-06-26 19:28:29 +02:00
Janus
9a343e0cd2
lightning: do not list python files as resources, use lightning spec generated serialization
2018-06-26 19:28:29 +02:00
ThomasV
26c09a84e4
lightning network base
2018-06-26 19:28:29 +02:00
Janus
2a26544bb4
lightning: qt channel dialog, fix for shutdown when lightning disabled
2018-06-26 19:28:29 +02:00
Janus
1a04eb3ae4
kivy: paste test seed using xclip, lightning: do not catch BaseException unnecessarily, fix clearSubscribers, detect passworded wallet correctly
2018-06-26 19:28:29 +02:00
ThomasV
bbb9911904
simplify parameters, add lndhost to config
2018-06-26 19:28:29 +02:00
Janus
18aaf674c3
lightning: add --simnet and --lightning switches
2018-06-26 19:28:29 +02:00
Janus
6f4ac2779b
lightning: assert result type, add invoice qr dialog
2018-06-26 19:27:04 +02:00
Janus
b0fdec3d6d
lightning: kivy: open channel button in invoice
2018-06-26 19:27:04 +02:00
Janus
81ab10d6e2
lightning: python3.5 compat
2018-06-26 19:26:38 +02:00
Janus
54bf3c2bc9
lightning: add missing import, set console to none initially
2018-06-26 19:26:38 +02:00
Janus
c9f7c4026f
lightning: do not require lock for broadcast tx, it is thread-safe
2018-06-26 19:26:38 +02:00
Janus
8601e7cb7e
lightning: save key derivation point
2018-06-26 19:26:38 +02:00
Janus
727b04ffa2
lightning: separate thread for publish transaction
2018-06-26 19:26:38 +02:00
Janus
6a3118c42f
lightning: use queueing lock
2018-06-26 19:26:38 +02:00
Janus
f5e3da3e56
lightning: less junk on console, quicker shutdown
2018-06-26 19:26:38 +02:00
Janus
155f62f7d4
lightning: don't receive too much data, workaround by reading byte by byte
2018-06-26 19:26:38 +02:00
Janus
a10365e6de
lightning: fix syntax
2018-06-26 19:26:38 +02:00
Janus
fdd47454f3
lightning: complete moving of lightning objects, acquire net/wallet lock while answering lightning requests
2018-06-26 19:26:07 +02:00
Janus
6fe733a8f9
lightning: misc patches, launch asyncio loop on separate thread
2018-06-26 19:24:26 +02:00
Janus
a9444e02a9
lightning: march 2018 rebase, without integration
2018-06-26 19:24:26 +02:00
ThomasV
f24a449d37
Merge pull request #4463 from maschwanden/master
...
Daemon: Fix preflight CORS request handling
2018-06-26 17:09:13 +02:00
SomberNight
4dcefa7d3b
network: fix fork detection in certain backward search cases
...
if there are no checkpoints and the split is very old, the exponential backward search might undershoot so that it asks for the genesis block but 0 and None are not distinguished hence the fork detection logic fails
2018-06-26 16:56:30 +02:00
ThomasV
5a5502303f
make add_signature_to_txin an instance method
2018-06-26 13:09:02 +02:00
Mathias Aschwanden
f6a17b2f5e
Daemon: Fix preflight CORS request handling
2018-06-26 12:08:16 +02:00
ThomasV
cb6989cea6
simplify display of inputs/outpputs in CLI history
2018-06-25 22:49:11 +02:00
SomberNight
6d63140c61
initial changelog for 3.2.0
2018-06-25 17:52:07 +02:00
SomberNight
9a8183f348
network: avoid infinite loop if server headers conflict with checkpoints and server height is above max checkpoint
2018-06-25 11:53:31 +02:00
SomberNight
51ed8a998c
fix: network.interface can become None at any time
2018-06-25 01:14:49 +02:00
SomberNight
f8dab46a4b
kivy: fix fork detection gui
2018-06-25 01:02:21 +02:00
JeremyRand
d1d92e8704
Move BIP44 coin type to net constants.
2018-06-23 14:46:44 +00:00
SomberNight
5f050aa13e
follow-up prev
2018-06-22 18:32:01 +02:00
SomberNight
5220451b73
fix #4457
2018-06-22 18:01:55 +02:00
Janus Troelsen
4f85615734
add simnet support ( #4455 )
2018-06-22 17:07:07 +02:00
ThomasV
a141c69b25
Merge pull request #4313 from toxeus/master
...
electrum: cleanup plugin imports
2018-06-22 15:19:17 +02:00
ThomasV
24818c14ca
Merge pull request #3762 from SomberNight/txin_type_address_segwit
...
change partial txn serialization format for imported addresses txins
2018-06-22 13:58:15 +02:00
SomberNight
174d14ba89
add comment to guess_txintype_from_address
2018-06-22 13:57:06 +02:00
SomberNight
cd41a451f6
locks in network.py
2018-06-21 21:55:32 +02:00
SomberNight
ae786cafdf
(minor) don't raise BaseException
2018-06-20 18:13:43 +02:00
ghost43
61a9deaa61
Check SPV proof inner nodes not to be valid transactions. ( #4436 )
2018-06-20 18:09:38 +02:00
ghost43
7797af6ffa
Qt: show WIF help in import(x2) and sweep dialogs ( #4425 )
2018-06-20 15:58:37 +02:00
SomberNight
ecf6ace975
follow-up #4442
2018-06-19 19:26:13 +02:00
Francisco J. Hernandez Heras
469565c188
Improving imports ( #4448 )
2018-06-19 18:36:01 +02:00
ThomasV
a4da04110e
Merge pull request #4442 from SomberNight/bip32_fix_invalid_ecpoint
...
handle bip32 edge cases
2018-06-19 16:07:42 +02:00
SomberNight
0b72803dd4
fix #4319
2018-06-18 20:30:05 +02:00
SomberNight
170f41f50d
tests: sweeping p2pk
2018-06-18 20:06:17 +02:00
SomberNight
b9d690d64f
handle bip32 edge cases
2018-06-16 17:41:41 +02:00
SomberNight
ad7f8f2cbe
wallet.py: fix balance/history for duplicate addresses
...
in a hd wallet, having duplicate addresses is extremely unlikely, but if it happened, previously an incorrect balance was calculated
2018-06-16 16:38:34 +02:00
SomberNight
59c1d03f01
ecc.py: properly handle point at infinity
2018-06-16 06:34:03 +02:00
SomberNight
1a8e8bc047
bitcoin.py: make int_to_hex throw on overflow
2018-06-16 02:34:27 +02:00
ghost43
a98e833897
getfeerate command: add optional parameters to specify custom fee level ( #4264 )
2018-06-15 17:02:44 +02:00
SomberNight
2cc15fca57
tests: add missing txid test from #3316
2018-06-15 15:39:09 +02:00
ghost43
cc05c09d6b
minikeys: import with uncompressed pubkey instead of compressed ( #4384 )
2018-06-15 15:32:00 +02:00
SomberNight
6297996d12
tests: (tx signing) offline hd multisig, online address
2018-06-15 15:07:56 +02:00
SomberNight
46fdbbbce5
change partial txn serialization format for imported addresses txins
...
offline signing with segwit WIF keys now works.
offline seed + online address signing now works.
2018-06-15 14:08:20 +02:00
SomberNight
d150f0dfc0
tests: rbf and cpfp
2018-06-15 14:05:30 +02:00
SomberNight
6298e9b458
in Qt send tab, detect invalid multi-line payto when using "!": "insufficient funds"
...
if the rest of the amounts (without the "!") are over the available funds; do the correct thing
2018-06-14 23:34:14 +02:00
SomberNight
36ddb68384
synchronizer.py: fix bug where synchronizer would get stuck in case of weird server behaviour
...
there was some kind of re-org but our reorged transactions did not get into the server's mempool for some reason (and they were not mined either). the synchronizer detected the change in address status and asked for the new address histories but in `on_address_history` it thought it did not ask for the histories.
from log:
[Synchronizer] receiving history (unsolicited) 2N6DydVfmheVM9F94G46pcUi5piyffgNBQ9 0
[Synchronizer] receiving history (unsolicited) 2Mw6LDQUzmmxCX3wouDXo2Pj4wbonJATays 0
[SPV] received an error: {'jsonrpc': '2.0', 'error': {'code': 1, 'message': 'tx hash f7c89eec3454b627dcb8cfc822202a0d1f8b38f2a53db182b607a2f61e6946d1 not in block 000000007ac4e95633a16232bea35bc17edf855e3964dff0ebb108b5887647ff at height 1,325,443'}, 'id': 120, 'method': 'blockchain.transaction.get_merkle', 'params': ['f7c89eec3454b627dcb8cfc822202a0d1f8b38f2a53db182b607a2f61e6946d1', 1325443]}
2018-06-14 23:31:19 +02:00
SomberNight
9365b0f924
RBF: better exception handling
2018-06-14 22:36:54 +02:00
SomberNight
1b834a7a78
fix RBF
2018-06-14 22:19:06 +02:00
SomberNight
8f7a4cf876
follow-up 0438bbc2c2
...
the previous was quadratic in len(tx.inputs())
2018-06-14 21:46:03 +02:00
SomberNight
7ebff5616e
ecc.py: _MyVerifyingKey.from_signature is raising low level exception
...
Traceback (most recent call last):
File "...\electrum\gui\qt\util.py", line 645, in run
result = task.task()
File "...\electrum\lib\wallet.py", line 1500, in sign_transaction
k.sign_transaction(tx, password)
File "...\electrum\plugins\keepkey\keepkey.py", line 67, in sign_transaction
self.plugin.sign_transaction(self, tx, prev_tx, xpub_path)
File "...\electrum\plugins\keepkey\keepkey.py", line 263, in sign_transaction
tx.update_signatures(signatures)
File "...\electrum\lib\transaction.py", line 667, in update_signatures
public_key = ecc.ECPubkey.from_sig_string(sig_string, recid, pre_hash)
File "...\electrum\lib\ecc.py", line 180, in from_sig_string
ecdsa_verifying_key = _MyVerifyingKey.from_signature(sig_string, recid, msg_hash, curve=SECP256k1)
File "...\electrum\lib\ecc.py", line 152, in from_signature
Q = inv_r * ( s * R + minus_e * G )
File "...\Python\Python36-32\lib\site-packages\ecdsa\ellipticcurve.py", line 143, in __rmul__
return self * other
File "...\electrum\lib\ecc_fast.py", line 120, in mul
public_pair_bytes = b'\4' + self.x().to_bytes(32, byteorder="big") + self.y().to_bytes(32, byteorder="big")
OverflowError: int too big to convert
2018-06-14 20:14:38 +02:00
SomberNight
0438bbc2c2
transaction.py: change update_signatures API. fix trezor segwit signing.
...
Traceback (most recent call last):
File "...\electrum\lib\transaction.py", line 498, in parse_witness
if txin['witness_version'] != 0:
KeyError: 'witness_version'
2018-06-14 20:13:04 +02:00
SomberNight
05e5ef16eb
transaction.py: more flexible sign() method
...
handles both x_pubkeys and pubkeys in keypairs
2018-06-14 15:11:20 +02:00
SomberNight
5d7157451f
tests: TestWalletOfflineSigning
2018-06-13 19:27:07 +02:00
SomberNight
11ffc5ca8a
wallet.py: remove placeholder code re p2sh imported wallets
2018-06-13 19:23:09 +02:00
SomberNight
4193c7ff14
transaction.py: wtxid is undefined for uncomplete txns
2018-06-13 19:22:04 +02:00
SomberNight
e8b5bcf31e
fix incorrect txid for partial segwit txns
...
follow-up #4405
2018-06-13 15:54:45 +02:00
SomberNight
12c5474cf1
stricter tx deserialization: forbid negative output amount values
2018-06-12 14:41:30 +02:00
SomberNight
0b78cb5e6b
stricter tx deserialization: forbid output amount values over 21 million btc
2018-06-12 14:33:22 +02:00
Johann Bauer
5eb1cbef92
[WIP] Crash reports android ( #3870 )
...
* Split crash reporter class
In Qt related stuff and basic stuff.
* Crash reports from Android
* Ignore exceptions in crash_reporter (if any)
* Open issue in browser
* Switch back to real server
2018-06-12 14:17:34 +02:00
SomberNight
71ce7cce6d
stricter tx deserialization: forbid junk at the end
2018-06-12 10:51:51 +02:00