Commit Graph

4307 Commits

Author SHA1 Message Date
Janus
572d01d0c5 lnbase: verify their htlc signature 2018-07-13 16:43:24 +02:00
ThomasV
063c9b2e28 lnbase: standardize to_bytes calls 2018-07-13 16:43:24 +02:00
Janus
50f3c0dd00 lnbase: fix custom local to_self_delay, use node privkey derived from timestamp in online test 2018-07-13 16:43:24 +02:00
Janus
177df75d87 test_lnbase_online: pass password=None to channel_establishment_flow 2018-07-13 16:43:24 +02:00
Janus
73870d0457 lnbase: avoid copying variables, insert newlines 2018-07-13 16:43:24 +02:00
ThomasV
5ebc328ae6 lnbase: derive keys from wallet keystore 2018-07-13 16:43:24 +02:00
Janus
ff7a73ce19 lnbase: avoid local variables, remote useless comments, name basepoints as such 2018-07-13 16:43:24 +02:00
Janus
0a46b1c335 lnbase: set new field in Transaction instead of returning a tuple in make_commitment 2018-07-13 16:43:24 +02:00
Janus
67c5a8ba16 lnbase: set to_self_delay back to 144, defer cltv_expiry problem 2018-07-13 16:43:24 +02:00
Janus
e4434d530d lnbase: use correct delay 2018-07-13 16:43:24 +02:00
Janus
28a6a3c1da lnbase: avoid code duplication, return htlc outpoint dict in make_commitment 2018-07-13 16:43:24 +02:00
Janus
188588936a lnbase: simplify commitment transaction building with open channel 2018-07-13 16:43:24 +02:00
Janus
9a6646c780 lnbase: organize channel data 2018-07-13 16:43:24 +02:00
Janus
07624960e5 lnbase: allow passing KeypairGenerator to channel_establishment_flow, fix derive_privkey 2018-07-13 16:43:24 +02:00
Janus
b433fb24bd lnbase: receiving invoice payment works 2018-07-13 16:43:24 +02:00
Janus
dc5e3e9cfa lnbase: commitment_signed, revoke_and_ack now accepted without errors 2018-07-13 16:43:24 +02:00
SomberNight
0a55216045 bitcoin.py: SCRIPT-related clean-up. transaction.py: construct_witness 2018-07-13 16:43:24 +02:00
Janus
e77c5b3c30 lnbase: fix their new commitment transaction (htlc tx construction still incorrect) 2018-07-13 16:43:24 +02:00
ThomasV
38f3db3712 lnbase: fix bug in message parsing 2018-07-13 16:43:24 +02:00
ThomasV
ab715438c6 follow up b5eb7dd7683f24f03c80ab8f612658b5f3966eb1 2018-07-13 16:43:24 +02:00
Janus
fdef6d5987 lnbase: attempt at making htlc_signature to send (currently remote fails due to wrong num_htlcs in commitment_signed) 2018-07-13 16:43:24 +02:00
ThomasV
612f6958fe simplification 2018-07-13 16:43:24 +02:00
Janus
3b79d58237 lnbase: add TODO explaining how to verify htlc_signature given to us 2018-07-13 16:43:24 +02:00
Janus
12457dea3d lnbase: verification of new local commitment working 2018-07-13 16:43:24 +02:00
Janus
0d1a9f6e6c lnbase: derive next keys when making updated local commitment transaction 2018-07-13 16:43:24 +02:00
Janus
bef837de85 lnbase: try to receive payment, work on commitment tx with htlcs 2018-07-13 16:43:24 +02:00
Janus
0564d93379 lnbase: handle commitment transaction update (receive funds, not working yet) 2018-07-13 16:43:24 +02:00
Janus
c21d2159db simnet/testnet support in bolt11, set max-htlc-value-in-flight 2018-07-13 16:43:24 +02:00
SomberNight
c1fbd55dfe transaction.py: sign_txin. allow override for get_preimage_script.
test_commitment_tx_with_all_five_HTLCs_untrimmed_minimum_feerate now passes
2018-07-13 16:43:24 +02:00
ThomasV
e7e3558fba redundant: you subscribed only to 'updated' 2018-07-13 16:43:24 +02:00
ThomasV
eb6be6d77d follow-up prev commit 2018-07-13 16:43:24 +02:00
ThomasV
52b94035d9 lnbase: verify remote signature 2018-07-13 16:43:24 +02:00
SomberNight
e34d6d0885 channel_establishment_flow: use get_per_commitment_secret_from_seed 2018-07-13 16:43:24 +02:00
Janus
0d40f06fcc lnbase: improve htlc_tx generation (only localsig wrong) 2018-07-13 16:43:24 +02:00
SomberNight
f3d9474c06 get_per_commitment_secret_from_seed: small clean-up 2018-07-13 16:43:24 +02:00
Janus
ba265da02a fix derive_secret 2018-07-13 16:43:24 +02:00
SomberNight
3a5e3f19db get_per_commitment_secret_from_seed (not working yet) 2018-07-13 16:43:24 +02:00
Janus
e0d28e3f6e lnbase: avoid race while waiting for funding_locked, wait for un-reversed hash 2018-07-13 16:43:24 +02:00
Janus
af8374b02e complete bolt11 port to ecdsa instead of secp256k1 2018-07-13 16:43:24 +02:00
SomberNight
527712df48 channel_establishment_flow: wait for confirmations of funding txn 2018-07-13 16:43:24 +02:00
ThomasV
82146871eb add processing flow for funding_locked 2018-07-13 16:43:24 +02:00
ThomasV
64c8c74445 lnbase: fix parameters to make_commitment in htlc test 2018-07-13 16:43:24 +02:00
SomberNight
1bd4b5e73e transaction.py: shortcut witness/scriptSig serialisation 2018-07-13 16:43:24 +02:00
Janus
c6e621a910 lnbase: add some comments 2018-07-13 16:43:24 +02:00
Janus
bb9938c52e lightning-hub: update rpc stubs, do not ignore them in gitignore 2018-07-13 16:43:24 +02:00
ThomasV
836fae809c lnbase: fix initial commitment transaction 2018-07-13 16:43:24 +02:00
SomberNight
e7bae0fe5d refactor storage of channels, path finding 2018-07-13 16:43:24 +02:00
Janus
e6b22e9d56 avoid duplicating bech32 module 2018-07-13 16:43:24 +02:00
Janus
c5a9b2d19a lnbase: more work on make_htlc_tx 2018-07-13 16:43:24 +02:00
Janus
80c8ea15e0 lnbase: make_htlc_tx 2018-07-13 16:43:24 +02:00
ThomasV
f4c7702c0a fix: use remote_per_commitment_point 2018-07-13 16:43:24 +02:00
ThomasV
205cd259fd lnbase: derive blinded pubkey 2018-07-13 16:43:24 +02:00
ThomasV
0c8a6e535e lnbase: fix variable name 2018-07-13 16:43:24 +02:00
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