ThomasV
a388fb6ffd
lightning GUI: use existing receive and send tabs with lightning invoices
2018-07-13 16:44:01 +02:00
Janus
0a67a824b6
ln: don't make invoice if peer can't possibly pay, append _sat to sat
...
parameters to avoid confusion
2018-07-13 16:44:01 +02:00
ThomasV
2defce6a42
lnworker: generate and save private key
2018-07-13 16:44:01 +02:00
ThomasV
a012cd1e0d
follow up previous commit
2018-07-13 16:44:01 +02:00
ThomasV
8580be30b2
lnworker: separate invoice creation from payment flow
2018-07-13 16:44:01 +02:00
Janus
77136f605c
ln: restore channels correctly after restart
...
* save funding_locked_received: if a node already sent us
funding_locked, save it to avoid superfluous messages
* use Queues instead of Futures: this ensure that we don't error if we
receive two messages of the same type, and in avoids having to delete
futures in finally blocks. A queue monitor could be added to detect
queue elements that are not popped.
* request initial routing sync: since we don't store the graph yet, it
is better to request the graph from the Peer so that we can route
* channel_state cleanup: now each channel should have a state, which is
initialized to OPENING and only marked OPEN once we have verified that
the funding_tx has been mined
2018-07-13 16:44:01 +02:00
ThomasV
784cd3ecea
fix channel_reestablish
2018-07-13 16:44:01 +02:00
ThomasV
7baaa5dcc0
lnbase: fix read_message
2018-07-13 16:44:01 +02:00
Janus
4d34977359
ln: restore functionality
2018-07-13 16:44:01 +02:00
Janus
6b5adeae2b
ln: save remote node_id in channel
2018-07-13 16:44:01 +02:00
SomberNight
9d0bb08451
split lnrouter from lnbase
2018-07-13 16:44:01 +02:00
SomberNight
d329d501c4
remove function H256
2018-07-13 16:44:01 +02:00
ThomasV
9598978cc4
move on_funding_locked to lnworker
2018-07-13 16:44:01 +02:00
ThomasV
68f409fd27
lightning: add payment methods to lnworker
2018-07-13 16:44:01 +02:00
ThomasV
a69e72b830
lightning: move lnworker code to its own module
2018-07-13 16:44:01 +02:00
ThomasV
3a9b15bc2d
fix lnaddr.py following rebase
2018-07-13 16:44:01 +02:00
ThomasV
82953cb092
update lnbase after crypto refactoring
2018-07-13 16:44:01 +02:00
Janus
9ad0b7a878
lnbase: remove lnbase stub
2018-07-13 16:44:01 +02:00
ThomasV
857b6e99b8
lnbase: pass password to mktx
2018-07-13 16:44:01 +02:00
ThomasV
275f26729f
qt: fix password passed to open_channel, cleanup
2018-07-13 16:44:01 +02:00
Janus
e5b89c6c0e
lnbase: mSAT hygiene, multiple multi-hop payments can be received
2018-07-13 16:44:01 +02:00
Janus
e550e0241b
kivy: port lightning ui to lnbase
2018-07-13 16:44:01 +02:00
Janus
5f3613d8b7
lightning: remove hub based approach, port qt gui to lnbase
2018-07-13 16:43:59 +02:00
Janus
953ea1bea0
lnbase: use small buffer when reading, support new_channel without payment in online test, send channel_reserve_satoshis
2018-07-13 16:43:24 +02:00
Janus
8bd2f2c0ee
lnbase: use correct cltv_expiry calculation (use invoice)
2018-07-13 16:43:24 +02:00
Janus
96d2e788b8
lnbase: fix multi-hop payments
2018-07-13 16:43:24 +02:00
Janus
a7c61077cb
lnbase: fix onion-hop payload construction again (cltv currently broken)
2018-07-13 16:43:24 +02:00
Janus
2c3870d0fe
lnbase: fix multi-hop fees, initial handling of received update_add_htlc during payment
2018-07-13 16:43:24 +02:00
Janus
34cc9e2ef7
lnbase: calculate cltv_expiry for onion_packet correctly
2018-07-13 16:43:24 +02:00
Janus
babbbfcdea
lnbase: try multi-hop onion package, type safety
2018-07-13 16:43:24 +02:00
SomberNight
00887ee76e
PathFinder: change path element semantics from "from node, take edge" to "to get to node, use edge"
2018-07-13 16:43:24 +02:00
SomberNight
0c70b3af1a
create route from path, that includes extra info needed for routing
2018-07-13 16:43:24 +02:00
SomberNight
f389c96814
bolt-04: decryption of errors
2018-07-13 16:43:24 +02:00
Janus
bc11675aae
lnbase online test: use random node key when making new channel, save node key, multiple actions per invocation
2018-07-13 16:43:24 +02:00
Janus
85cb9bc7f5
lnbase: fix pay(), save htlc_id's, generate onion packet correctly
2018-07-13 16:43:24 +02:00
Janus
44ffdd1936
lnbase/online_test: save short_channel_id to wallet and build onion packet with it
2018-07-13 16:43:24 +02:00
SomberNight
1fc0b1378d
calc short_channel_id after funding locked
2018-07-13 16:43:24 +02:00
Janus
a9cfa65f64
lnbase: initial 'payment to remote' attempt
2018-07-13 16:43:24 +02:00
Janus
3d3fe9976c
lnbase: formatting, remove imports
2018-07-13 16:43:24 +02:00
Janus
39df2a50b7
lnbase: verify commitment tx'es again
2018-07-13 16:43:24 +02:00
Janus
783209e951
lnbase: infinite amount of incoming payments
2018-07-13 16:43:24 +02:00
Janus
6c96f3a646
lnbase: two payments working, temporarily disable sig check
2018-07-13 16:43:24 +02:00
Janus
39000763ba
lnbase: store remote revocation store, don't store all remote revocation points, verify ctn numbers in reestablish
2018-07-13 16:43:24 +02:00
Janus
fe40f0a275
lnbase: add RevocationStore test, remove unnecessary lnd helper functions
2018-07-13 16:43:24 +02:00
Janus
15f5d6d603
lnbase: compact commitment secret storage
2018-07-13 16:43:24 +02:00
Janus
a509852b36
lnbase: no negative commitment number nonsense
2018-07-13 16:43:24 +02:00
Janus
69f5adea2f
lnbase: move channel commitment number increment to function
2018-07-13 16:43:24 +02:00
Janus
a33d74420a
lnbase: receive repeated payments
2018-07-13 16:43:24 +02:00
Janus
1643cac047
tests: don't use default lightning_peers in online test
2018-07-13 16:43:24 +02:00
Janus
bd7762186c
lnbase: channel reestablishment working
2018-07-13 16:43:24 +02:00
SomberNight
109d672bdb
bolt-04: implement processing of onion packets
2018-07-13 16:43:24 +02:00
SomberNight
a3e1e5dd47
minor clean-up of prev. util.xor_bytes
2018-07-13 16:43:24 +02:00
SomberNight
2570fd12f8
implement bolt-04 onion packet construction
2018-07-13 16:43:24 +02:00
Janus
b94f93f8b9
lnbase: save channel details in wallet, enable running online test with reestablishment_mode
2018-07-13 16:43:24 +02:00
Janus
0e9f4c4120
lnbase: move waiting for funding_locked to new function, make function for signing and sig conversion
2018-07-13 16:43:24 +02:00
Janus
1d821cb2c6
lnbase: make function for building htlc_tx depending on if it is for_us/we_receive
2018-07-13 16:43:24 +02:00
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