Janus
c6ad21889d
ln: htlc state machine (not used yet)
2018-06-26 19:32:19 +02:00
Janus
c23a4f10bd
ln: save channels in dict, warn on invoice exceeding max_htlc amount
2018-06-26 19:32:19 +02:00
ThomasV
6949d37251
lightning: connect send button
2018-06-26 19:32:19 +02:00
ThomasV
424a346834
lightning GUI: use existing receive and send tabs with lightning invoices
2018-06-26 19:32:19 +02:00
Janus
a7052175d2
ln: don't make invoice if peer can't possibly pay, append _sat to sat
...
parameters to avoid confusion
2018-06-26 19:31:41 +02:00
ThomasV
a31df98b1d
lnworker: generate and save private key
2018-06-26 19:31:41 +02:00
ThomasV
e3fac04b75
follow up previous commit
2018-06-26 19:31:41 +02:00
ThomasV
b874c5c8b0
lnworker: separate invoice creation from payment flow
2018-06-26 19:31:41 +02:00
Janus
8dbd607f66
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-06-26 19:31:41 +02:00
ThomasV
bc7022b439
fix channel_reestablish
2018-06-26 19:31:41 +02:00
ThomasV
cddc1c64fd
lnbase: fix read_message
2018-06-26 19:31:41 +02:00
Janus
285f7a3962
ln: restore functionality
2018-06-26 19:31:41 +02:00
Janus
735d1c1457
ln: save remote node_id in channel
2018-06-26 19:31:41 +02:00
SomberNight
ab14d4ab83
split lnrouter from lnbase
2018-06-26 19:31:41 +02:00
SomberNight
cbc4c391c0
remove function H256
2018-06-26 19:31:41 +02:00
ThomasV
4074bc5d38
fix amount in open_channel, add listchannels command
2018-06-26 19:31:41 +02:00
ThomasV
e3ce4f3657
move on_funding_locked to lnworker
2018-06-26 19:31:41 +02:00
ThomasV
a141233c28
lightning: add payment methods to lnworker
2018-06-26 19:31:41 +02:00
ThomasV
7a0ae08498
lightning: move lnworker code to its own module
2018-06-26 19:31:41 +02:00
ThomasV
efcf959273
fix lnaddr.py following rebase
2018-06-26 19:31:41 +02:00
ThomasV
50758a8e3f
update lnbase after crypto refactoring
2018-06-26 19:31:41 +02:00
Janus
18b335cf01
lnbase: remove lnbase stub
2018-06-26 19:31:41 +02:00
ThomasV
5ecfb42112
lnbase: pass password to mktx
2018-06-26 19:31:41 +02:00
ThomasV
c74ec38f2e
qt: fix password passed to open_channel, cleanup
2018-06-26 19:31:41 +02:00
Janus
c7a0b61368
lnbase: mSAT hygiene, multiple multi-hop payments can be received
2018-06-26 19:31:41 +02:00
Janus
4644c68733
kivy: port lightning ui to lnbase
2018-06-26 19:31:41 +02:00
Janus
c796ef9fcc
lightning: remove hub based approach, port qt gui to lnbase
2018-06-26 19:31:41 +02:00
Janus
91284dba13
lnbase: use small buffer when reading, support new_channel without payment in online test, send channel_reserve_satoshis
2018-06-26 19:30:08 +02:00
Janus
cad74463f2
lnbase: use correct cltv_expiry calculation (use invoice)
2018-06-26 19:30:08 +02:00
Janus
fbeff88515
lnbase: fix multi-hop payments
2018-06-26 19:30:08 +02:00
Janus
e05d37f5c0
lnbase: fix onion-hop payload construction again (cltv currently broken)
2018-06-26 19:30:08 +02:00
Janus
7a2f2ea904
lnbase: fix multi-hop fees, initial handling of received update_add_htlc during payment
2018-06-26 19:30:08 +02:00
Janus
71655fd705
lnbase: calculate cltv_expiry for onion_packet correctly
2018-06-26 19:30:08 +02:00
Janus
9569a46166
lnbase: try multi-hop onion package, type safety
2018-06-26 19:30:08 +02:00
SomberNight
a6317164ca
PathFinder: change path element semantics from "from node, take edge" to "to get to node, use edge"
2018-06-26 19:30:08 +02:00
SomberNight
ac64246086
create route from path, that includes extra info needed for routing
2018-06-26 19:30:08 +02:00
SomberNight
230e112238
bolt-04: decryption of errors
2018-06-26 19:30:08 +02:00
Janus
d043ed9b21
lnbase online test: use random node key when making new channel, save node key, multiple actions per invocation
2018-06-26 19:30:08 +02:00
Janus
57c578b28c
lnbase: fix pay(), save htlc_id's, generate onion packet correctly
2018-06-26 19:30:08 +02:00
Janus
83ace8ada4
lnbase/online_test: save short_channel_id to wallet and build onion packet with it
2018-06-26 19:30:08 +02:00
SomberNight
79b2144672
calc short_channel_id after funding locked
2018-06-26 19:30:08 +02:00
Janus
1fb5561011
lnbase: initial 'payment to remote' attempt
2018-06-26 19:30:08 +02:00
Janus
eb8d1ee9a7
lnbase: formatting, remove imports
2018-06-26 19:30:08 +02:00
Janus
26e821e34e
lnbase: verify commitment tx'es again
2018-06-26 19:30:08 +02:00
Janus
e6c499fef2
lnbase: infinite amount of incoming payments
2018-06-26 19:30:08 +02:00
Janus
d4b549b63f
lnbase: two payments working, temporarily disable sig check
2018-06-26 19:30:08 +02:00
Janus
ef0c840b22
lnbase: store remote revocation store, don't store all remote revocation points, verify ctn numbers in reestablish
2018-06-26 19:30:08 +02:00
Janus
dbb8ff362f
lnbase: add RevocationStore test, remove unnecessary lnd helper functions
2018-06-26 19:30:08 +02:00
Janus
7a55ae19b6
lnbase: compact commitment secret storage
2018-06-26 19:30:08 +02:00
Janus
2cf8b8ae6f
lnbase: no negative commitment number nonsense
2018-06-26 19:30:08 +02:00
Janus
3a7f6b0186
lnbase: move channel commitment number increment to function
2018-06-26 19:30:08 +02:00
Janus
cf615eb65e
lnbase: receive repeated payments
2018-06-26 19:30:08 +02:00
Janus
510e3e4662
tests: don't use default lightning_peers in online test
2018-06-26 19:30:08 +02:00
Janus
6b1451b566
lnbase: channel reestablishment working
2018-06-26 19:30:08 +02:00
SomberNight
d5333a2a2d
bolt-04: implement processing of onion packets
2018-06-26 19:30:08 +02:00
SomberNight
5824a0a790
minor clean-up of prev. util.xor_bytes
2018-06-26 19:30:08 +02:00
SomberNight
1d75df5509
implement bolt-04 onion packet construction
2018-06-26 19:30:08 +02:00
Janus
9134aa30e4
lnbase: save channel details in wallet, enable running online test with reestablishment_mode
2018-06-26 19:30:08 +02:00
Janus
b57d07c294
lnbase: move waiting for funding_locked to new function, make function for signing and sig conversion
2018-06-26 19:30:08 +02:00
Janus
4d1bffdc7a
lnbase: make function for building htlc_tx depending on if it is for_us/we_receive
2018-06-26 19:30:08 +02:00
Janus
3d8e560c1f
lnbase: verify their htlc signature
2018-06-26 19:30:08 +02:00
ThomasV
44e7d06b34
lnbase: standardize to_bytes calls
2018-06-26 19:30:08 +02:00
Janus
507ff4eea1
lnbase: fix custom local to_self_delay, use node privkey derived from timestamp in online test
2018-06-26 19:30:08 +02:00
Janus
558727e1f3
test_lnbase_online: pass password=None to channel_establishment_flow
2018-06-26 19:30:08 +02:00
Janus
fd5f66b8af
lnbase: avoid copying variables, insert newlines
2018-06-26 19:30:08 +02:00
ThomasV
f20a935bef
lnbase: derive keys from wallet keystore
2018-06-26 19:30:08 +02:00
Janus
83fbb1a248
lnbase: avoid local variables, remote useless comments, name basepoints as such
2018-06-26 19:30:08 +02:00
Janus
d5e464c29e
lnbase: set new field in Transaction instead of returning a tuple in make_commitment
2018-06-26 19:30:08 +02:00
Janus
e53a8107e4
lnbase: set to_self_delay back to 144, defer cltv_expiry problem
2018-06-26 19:30:08 +02:00
Janus
ef0de2a77c
lnbase: use correct delay
2018-06-26 19:30:08 +02:00
Janus
0cb722ae3a
lnbase: avoid code duplication, return htlc outpoint dict in make_commitment
2018-06-26 19:30:08 +02:00
Janus
28593d703d
lnbase: simplify commitment transaction building with open channel
2018-06-26 19:30:08 +02:00
Janus
7a5eb7c9d7
lnbase: organize channel data
2018-06-26 19:30:08 +02:00
Janus
881181a3f2
lnbase: allow passing KeypairGenerator to channel_establishment_flow, fix derive_privkey
2018-06-26 19:30:08 +02:00
Janus
3d60e9d631
lnbase: receiving invoice payment works
2018-06-26 19:30:08 +02:00
Janus
75a004eea1
lnbase: commitment_signed, revoke_and_ack now accepted without errors
2018-06-26 19:30:08 +02:00
SomberNight
81d94a7253
bitcoin.py: SCRIPT-related clean-up. transaction.py: construct_witness
2018-06-26 19:30:08 +02:00
Janus
0ff942c3c8
lnbase: fix their new commitment transaction (htlc tx construction still incorrect)
2018-06-26 19:30:08 +02:00
ThomasV
ac70a10856
lnbase: fix bug in message parsing
2018-06-26 19:30:08 +02:00
ThomasV
5bb310ac10
follow up b5eb7dd7683f24f03c80ab8f612658b5f3966eb1
2018-06-26 19:30:08 +02:00
Janus
64be96fb8a
lnbase: attempt at making htlc_signature to send (currently remote fails due to wrong num_htlcs in commitment_signed)
2018-06-26 19:30:08 +02:00
ThomasV
cf677d1f1c
simplification
2018-06-26 19:30:08 +02:00
Janus
08d187c650
lnbase: add TODO explaining how to verify htlc_signature given to us
2018-06-26 19:30:08 +02:00
Janus
2bcb294fb3
lnbase: verification of new local commitment working
2018-06-26 19:30:08 +02:00
Janus
30b1416807
lnbase: derive next keys when making updated local commitment transaction
2018-06-26 19:30:08 +02:00
Janus
ee4673c0e9
lnbase: try to receive payment, work on commitment tx with htlcs
2018-06-26 19:30:08 +02:00
Janus
21744f5d68
lnbase: handle commitment transaction update (receive funds, not working yet)
2018-06-26 19:30:08 +02:00
Janus
f962457b9f
simnet/testnet support in bolt11, set max-htlc-value-in-flight
2018-06-26 19:30:08 +02:00
SomberNight
32e35e9010
transaction.py: sign_txin. allow override for get_preimage_script.
...
test_commitment_tx_with_all_five_HTLCs_untrimmed_minimum_feerate now passes
2018-06-26 19:30:08 +02:00
ThomasV
3051b1a33e
redundant: you subscribed only to 'updated'
2018-06-26 19:30:08 +02:00
ThomasV
dc45467c46
follow-up prev commit
2018-06-26 19:30:08 +02:00
ThomasV
93e526a952
lnbase: verify remote signature
2018-06-26 19:30:08 +02:00
SomberNight
cb312538dc
channel_establishment_flow: use get_per_commitment_secret_from_seed
2018-06-26 19:30:08 +02:00
Janus
e92c468e91
lnbase: improve htlc_tx generation (only localsig wrong)
2018-06-26 19:30:08 +02:00
SomberNight
3108e0bf81
get_per_commitment_secret_from_seed: small clean-up
2018-06-26 19:30:08 +02:00
Janus
8fe28bae03
fix derive_secret
2018-06-26 19:30:08 +02:00
SomberNight
2897ea9870
get_per_commitment_secret_from_seed (not working yet)
2018-06-26 19:30:08 +02:00
Janus
35cba497f4
lnbase: avoid race while waiting for funding_locked, wait for un-reversed hash
2018-06-26 19:30:08 +02:00
Janus
22e86d89e5
complete bolt11 port to ecdsa instead of secp256k1
2018-06-26 19:30:08 +02:00
SomberNight
205ee0019a
channel_establishment_flow: wait for confirmations of funding txn
2018-06-26 19:30:08 +02:00