Commit Graph

196 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
ThomasV
005f6165fa lnbase: fix locktime and nsequence 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