ThomasV
3b3732e82d
lnbase: add privkey derivation
2018-07-13 16:43:24 +02:00
ThomasV
b9633896da
add test for key derivation
2018-07-13 16:43:24 +02:00
ThomasV
d5db39ce27
lnbase: key derivation (WIP)
2018-07-13 16:43:24 +02:00
Janus
66d139b515
lnbase: test signing of first htlc test case
2018-07-13 16:43:24 +02:00
Janus
53ddc373d5
lnbase: make_received_htlc
2018-07-13 16:43:24 +02:00
ThomasV
0edba56315
fix hash in make_offered_htlc
2018-07-13 16:43:24 +02:00
ThomasV
a14b54dbe5
cleanup lnbase tests
2018-07-13 16:43:24 +02:00
Janus
d6145d0685
lightning-hub: remove path hack, use relative imports
2018-07-13 16:43:24 +02:00
SomberNight
9796ef264e
naive route finding
2018-07-13 16:43:24 +02:00
Janus
d3d23066e9
lnbase: offered htlc script construction
2018-07-13 16:43:24 +02:00
ThomasV
02d272d790
use acceptable variable names
2018-07-13 16:43:24 +02:00
ThomasV
1ded2fd7b2
lightning: separate testing from main code
2018-07-13 16:43:24 +02:00
ThomasV
5a3cbc0907
lightning: store network view
2018-07-13 16:43:24 +02:00
ThomasV
85e6708b44
lnbase: parse ipv6, fix transport bug
2018-07-13 16:43:24 +02:00
ThomasV
1d6527c2ec
lnbase: fix read_message, reduce verbosity
2018-07-13 16:43:24 +02:00
ThomasV
e6c3b27605
lnbase: implement key rotation, request initial sync in localfeatures
2018-07-13 16:43:24 +02:00
ThomasV
dcd4ea23db
lnbase: verify signature in node_announcement
2018-07-13 16:43:24 +02:00
SomberNight
47ed815882
bitcoin.py: implement add_number_to_script. fix CSV arg in make_commitment.
2018-07-13 16:43:24 +02:00
ThomasV
13cb82a203
lnbase: fix test
2018-07-13 16:43:24 +02:00
SomberNight
905998e87a
implement script_num_to_hex. fix encoding of argument for CSV in make_commitment
2018-07-13 16:43:24 +02:00
SomberNight
f1017b9ed7
fixes for make_commitment, but still incorrect destination address (csv arg?)
2018-07-13 16:43:24 +02:00
ThomasV
1d319ff22f
lnbase: fix tx amounts
2018-07-13 16:43:24 +02:00
Janus
63e345910e
lightning-hub: include ln relative to current directory
2018-07-13 16:43:24 +02:00
Janus
446b5c9f45
lnbase_test: add first commitment tx with 5 htlcs test
2018-07-13 16:43:24 +02:00
ThomasV
005f6165fa
lnbase: fix locktime and nsequence
2018-07-13 16:43:24 +02:00
Janus
a543ec27fb
lnbase_test: insert remote_signature and compare fields independently
2018-07-13 16:43:24 +02:00
ThomasV
5aba0b9538
lnbase: create unit test for commitment tx
2018-07-13 16:43:24 +02:00
ThomasV
4a4a521f4b
lnbase: fix signature index
2018-07-13 16:43:24 +02:00
ThomasV
90bab35789
lnbase: initial commitment transaction
2018-07-13 16:43:24 +02:00
ThomasV
598a844d6f
lnbase: fix funding address, funding_output_index
2018-07-13 16:43:24 +02:00
ThomasV
ca04043781
follow up 1aac9e59ed957898fceef99b29b9cc17d7843569
2018-07-13 16:43:24 +02:00
ThomasV
534bc2997b
lnbase: communication privkey belongs to peer
2018-07-13 16:43:24 +02:00
Janus
33c5e63f81
lnbase: more parts of channel establishment
2018-07-13 16:43:24 +02:00
Janus
f2fac43c21
lnbase: remove unnecessary try/except
2018-07-13 16:43:24 +02:00
Janus
86bc6a2345
lnbase: lnbase_test must use threadsafe task submission
2018-07-13 16:43:24 +02:00
ThomasV
a702202e84
lnbase: decorator that handles exceptions
2018-07-13 16:43:24 +02:00
Janus
208a6870ac
lnbase: fix shutdown when lnbase has exception in main_loop
2018-07-13 16:43:24 +02:00
Janus
c05e429416
lnbase: print exceptions from main_loop
2018-07-13 16:43:24 +02:00
Janus
903380ad5d
lnbase: initialize loop variable in main
2018-07-13 16:43:24 +02:00
Janus
c0a8fd811f
lnbase: add lnbase_test
2018-07-13 16:43:24 +02:00
ThomasV
1c90479f55
lnbase: expose wallet object in LNWorker
2018-07-13 16:43:24 +02:00
Janus
0c1e31339a
lnbase: merge initialize and main_loop
2018-07-13 16:43:24 +02:00
Janus
c87afe36d2
lnbase: handle error during channel establishment
2018-07-13 16:43:24 +02:00
Janus
ecc1c7a8cc
lnbase: channel establishment flow, avoid using Wallet instance
2018-07-13 16:43:24 +02:00
ThomasV
10bb6463e8
lnbase: use relative imports
2018-07-13 16:43:24 +02:00
Janus
4e2ab7cb6b
lnbase: support simnet/testnet, create accepted open_channel message
2018-07-13 16:43:24 +02:00
Janus
193b675316
lnbase: use valid pubkeys in open_channel
2018-07-13 16:43:24 +02:00
Janus
aec48f76bd
lnbase: try sending open_channel
2018-07-13 16:43:24 +02:00
ThomasV
d247eecfd8
lnbase: add draft handlers
2018-07-13 16:43:24 +02:00
Janus
b24f989b79
lnbase: avoid reimplementing int.to_bytes
2018-07-13 16:43:24 +02:00
Janus
d90490f4d4
lnbase: avoid reimplementing int.from_bytes
2018-07-13 16:43:24 +02:00
Janus
fe7d1ccd7f
lnbase: do not catch all exceptions, tolerate calculations with variables from kwargs
2018-07-13 16:43:24 +02:00
ThomasV
b64e97a68b
integrate lnbase with network
2018-07-13 16:43:24 +02:00
ThomasV
14d267b554
lnbase: process ping messages
2018-07-13 16:43:24 +02:00
ThomasV
d5bd965aa5
lnbase: create main loop
2018-07-13 16:43:24 +02:00
ThomasV
14837ba01d
lnbase: save buffer for next read
2018-07-13 16:43:24 +02:00
ThomasV
26823b0b61
lnbase: Peer class
2018-07-13 16:43:24 +02:00
ThomasV
11b4666880
lnbase: fix json loading and indentation
2018-07-13 16:43:24 +02:00
Janus
40a158e914
lightning: do not list python files as resources, use lightning spec generated serialization
2018-07-13 16:43:21 +02:00
ThomasV
485c2c6c23
lightning network base
2018-07-13 16:35:43 +02:00
Janus
f2798d09ea
kivy: paste test seed using xclip, lightning: do not catch BaseException unnecessarily, fix clearSubscribers, detect passworded wallet correctly
2018-07-13 16:35:43 +02:00
ThomasV
4426ea2e70
simplify parameters, add lndhost to config
2018-07-13 16:35:43 +02:00
Janus
ea5a42d2eb
lightning: add --simnet and --lightning switches
2018-07-13 16:35:43 +02:00
Janus
be5af242ed
lightning: assert result type, add invoice qr dialog
2018-07-13 16:35:42 +02:00
Janus
88befdbc92
lightning: kivy: open channel button in invoice
2018-07-13 16:35:42 +02:00
Janus
4602f87173
lightning: python3.5 compat
2018-07-13 16:35:42 +02:00
Janus
911595f90f
lightning: add missing import, set console to none initially
2018-07-13 16:35:42 +02:00
Janus
2bb59fe464
lightning: do not require lock for broadcast tx, it is thread-safe
2018-07-13 16:35:42 +02:00
Janus
d1986dd163
lightning: save key derivation point
2018-07-13 16:35:42 +02:00
Janus
3e7d2d29bb
lightning: separate thread for publish transaction
2018-07-13 16:35:42 +02:00
Janus
ee576d3ead
lightning: use queueing lock
2018-07-13 16:35:42 +02:00
Janus
a13fb91ea4
lightning: less junk on console, quicker shutdown
2018-07-13 16:35:42 +02:00
Janus
7034153c06
lightning: don't receive too much data, workaround by reading byte by byte
2018-07-13 16:35:42 +02:00
Janus
702a2919ec
lightning: complete moving of lightning objects, acquire net/wallet lock while answering lightning requests
2018-07-13 16:35:42 +02:00
Janus
920371e350
lightning: misc patches, launch asyncio loop on separate thread
2018-07-13 16:34:23 +02:00
Janus
cce6421340
lightning: march 2018 rebase, without integration
2018-07-13 16:34:23 +02:00
Janus
097ac144d9
file reorganization with top-level module
2018-07-13 14:01:37 +02:00
Randy Brito
30a7952cbb
Show fiat options from api.bitcoinvenezuela.com
...
Adding the options to be able to select BitcoinVenezuela.com fiat exchange rates in the Preferences. Certificate validation has been fixed.
2018-07-12 23:47:13 +02:00
Harm Aarts
3f4687d3e4
Improve logging
2018-07-12 09:51:31 +02:00
Harm Aarts
73896bad72
Remove unused is_up_to_date network method
2018-07-12 09:51:31 +02:00
Harm Aarts
48356a03e6
Rename 'r' to 'response'
2018-07-12 09:51:31 +02:00
Harm Aarts
b1cd260aa9
Minor linter nits
2018-07-12 09:51:31 +02:00
Harm Aarts
eb44ef327d
Reduce indentation level
...
This makes the method easier to read.
Skip negative tx heights too. A transaction height can be negative too, see the
wallet modules TX_HEIGHT_LOCAL and TX_HEIGHT_UNCONF_PARENT constants.
2018-07-12 09:50:50 +02:00
SomberNight
358722b9cc
fix #4533
2018-07-11 15:25:05 +02:00
Johann Bauer
40a43afa12
Add OXT.me block explorer
...
Closes : #4441
2018-07-10 21:52:06 +02:00
SomberNight
a51940fac0
fix #4529
2018-07-10 18:07:52 +02:00
SomberNight
7e0b470ca2
regenerate testnet checkpoints
...
old ones were made before 8bcefe6cfa
2018-07-09 14:09:42 +02:00
SomberNight
92e510f8aa
synchronizer: remove warning about improperly sorted histories
...
Not sure if it is still useful but in its current form it was giving false positives all the time.
Specifically, the expected sorting is: confirmed txns in blockchain order + mempool txns in arbitrary order.
The "sorted" invocation puts mempool txns at the beginning, so the warning is always triggered if there is any unconfirmed history.
2018-07-03 21:41:40 +02:00
SomberNight
75a85a8161
network: disconnect from server on malformed header subs
...
closes #4478
2018-07-03 17:17:20 +02:00
ThomasV
83974cd0a8
Merge pull request #4490 from SomberNight/trustedcoin_color_outputs
...
colour 2fa billing outputs in Qt tx dialog
2018-07-03 08:47:15 +02:00
SomberNight
46fd7c3d8b
follow-up re #4491 , do config upgrade to keep base unit settings on kivy
2018-07-02 22:52:20 +02:00
SomberNight
ceba4af01a
synchronizer: test txid of received tx
2018-07-02 21:38:39 +02:00
SomberNight
eefcc60d98
color 2fa billing outputs in Qt tx dialog
2018-07-02 14:23:14 +02:00
Johann Bauer
9ebeb51153
Send Python version in crash reports
2018-07-02 13:41:34 +02:00
ThomasV
26fcb1d3d5
version 3.2.2
2018-07-02 08:18:44 +02:00
ThomasV
2693d345f9
Merge pull request #4486 from SomberNight/getaddrinfo_take2
...
socket.getaddrinfo on win32: do our own dns resolution
2018-07-02 08:14:31 +02:00
Calin Culianu
4fc7da55a9
Fix a bug in PaymentRequest __str__() function
2018-07-02 02:36:19 +03:00
SomberNight
c6124549cd
don't dns resolve raw IP addresses
2018-07-02 00:59:28 +02:00
SomberNight
e2b6d2d0f7
socket.getaddrinfo on win32: do our own dns resolution
...
(second attempt, now trying to handle internal failure within dnspython)
2018-07-01 23:53:55 +02:00
ThomasV
10f037c40c
Revert "socket.getaddrinfo on win32: do our own dns resolution outside the lock"
...
This reverts commit fc6cb70c80 .
2018-07-01 21:58:59 +02:00
SomberNight
3d0e830734
fix #4481
2018-07-01 17:05:56 +02:00
SomberNight
8591587f9e
fix websockets
2018-07-01 15:59:32 +02:00
ThomasV
ed2c74e58f
prepare release 3.2.1
2018-07-01 14:02:31 +02:00
SomberNight
8e55fe5f91
network: disconnect from server if headers sub encounters error
...
we need at least e-x 1.3 since 1900e58e88
for older e-x, we get stuck in infinite "synchronizing"...
2018-07-01 04:52:01 +02:00
SomberNight
61a95a4239
ecc: only print warning about missing libsecp when in verbose mode
2018-06-30 22:40:50 +02:00
SomberNight
684390a479
labels plugin: fix it. and extend to cli/daemon.
2018-06-29 11:58:12 +02:00
ThomasV
87486e9487
fix: i18n is not imported
2018-06-29 11:17:02 +02:00
ThomasV
d58c069336
read apk version number from version.py
2018-06-29 10:45:34 +02:00
SomberNight
bc0036297b
fast hmac on python 3.7+
2018-06-28 19:55:54 +02:00
SomberNight
8b86f21520
wizard: extend derivation dialog to also let user select script type.
...
enable segwit multisig for bip39/hw wallets.
2018-06-26 19:31:05 +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