ThomasV
94fe28b576
regtest: remove cost limit
2019-08-20 09:03:12 +02:00
ThomasV
a8ce8109be
Perform breach remedy without sweepstore:
...
- add functions to lnsweep
- lnworker: analyze candidate ctx and htlc_tx
- watchtower will be optional
- add test for breach remedy with spent htlcs
- save tx name as label
2019-08-20 09:03:12 +02:00
ThomasV
f2d58d0e3f
optimize channel_db:
...
- use python objects mirrored by sql database
- write sql to file asynchronously
- the sql decorator is awaited in sweepstore, not in channel_db
2019-08-20 09:03:12 +02:00
ThomasV
d2dfa8c558
regtest: use while loops instead of fine-tuned delays
2019-08-20 09:03:11 +02:00
SomberNight
69bffac86a
lnhtlc: fix adding htlc between sending commitment_signed and receiving revoke_and_ack
2019-08-20 09:03:11 +02:00
ThomasV
81d340b19c
lnworker: do not create sweep transactions before outputs can be redeemed
2019-08-20 09:03:11 +02:00
ThomasV
2b04cb3bc4
fix tests broken by previous commit
2019-08-20 09:03:11 +02:00
ThomasV
7be4cdaf18
redeem htlcs:
...
- fix bug in lnsweep: lnwatcher transactions were indexed by prev_txid
- add test for breach remedy with unsettled htlcs
- add timeout option to lnpay, and replace DO_NOT_SETTLE with SETTLE_DELAY
so that we can read intermediate commitment tx in regtest
2019-08-20 09:03:11 +02:00
ThomasV
c38afe8b07
add to_remote to breach test
2019-08-20 09:03:11 +02:00
ThomasV
765114faf7
add function new_blocks to simplify regtests
2019-08-20 09:03:11 +02:00
SomberNight
60cd885f74
tests/regtest: stop using "bitcoin-cli generate" (deprecated)
2019-08-20 09:03:11 +02:00
ThomasV
6d9ef29690
redo LNWorker pay:
...
- wait until htlc has been fulfilled
- raise if htlc is not fulfilled
- return boolean success
- try multiple paths in GUI
2019-08-20 09:03:11 +02:00
ThomasV
15eecab978
update electrumx starting script
2019-08-20 09:03:11 +02:00
ThomasV
3c0df28c98
do not include 'force_closing' in channel states, because it is not part of the peer protocol
2019-08-20 09:03:11 +02:00
ThomasV
522ce5bb9f
verify channel updates in peer's TaskGroup
2019-08-20 09:03:11 +02:00
ThomasV
95376226e8
save lightning invoice descriptions as labels and allow user to edit them
2019-08-20 09:03:11 +02:00
ThomasV
842fff832f
enable lightning through command line option
2019-08-20 09:03:11 +02:00
SomberNight
e4ed15f683
fix tests
2019-08-20 09:03:11 +02:00
ThomasV
730be17aba
Use separate lightning nodes for gossip and channel operations.
2019-08-20 09:03:11 +02:00
ThomasV
12743bda93
remove test_require_data_loss_protect
2019-08-20 09:03:11 +02:00
SomberNight
fda6fb6521
lnhtlc: handle fails asymmetrically
2019-08-20 09:03:11 +02:00
SomberNight
8632f027da
lnhtlc: small clean-up / docstrings
2019-08-20 09:03:11 +02:00
ThomasV
aa398993cf
lnrouter fixes:
...
- use gossip_queries_req instead of initial_routing_sync
- add connected nodes to recent peers only after successful init
- derive timestamp used with gossip_timestamp_filter from channel_db
- fix query_short_channel_ids:
1. channel IDs must be sorted with zlib
2. limit request to 100
3. do not abuse this to request node_announcements; it is fine not to have all nodes.
- fix get_recent_peers:
1. do not set last_connected_date to 'now' if we never connected a node
2. sql query was misconstructed and was returning only one peer
- populate FALLBACK_NODE_LIST_MAINNET with nodes that have the requested flags
2019-08-20 09:03:11 +02:00
ThomasV
e7218d798d
add get_channel_ctx to CLI, for testing breaches
2019-08-20 09:03:11 +02:00
ThomasV
a698344136
cleanup tests that use regtest:
...
- separate setup from execution
- install bitcoind and electrumx in travis
- use the same framework for lnwatcher and forwarding
- make tests runnable locally
2019-08-20 09:03:11 +02:00
ThomasV
5148397a75
test forwarding
2019-08-20 09:03:11 +02:00
ThomasV
4dc6c6c82e
fix tests (follow up prev commit)
2019-08-20 09:03:11 +02:00
ThomasV
38f1436d78
post rebase fixes
2019-08-20 09:03:11 +02:00
ThomasV
bfdf0a7e88
start asyncio loop in test_lnrouter and test_lnpeer
2019-08-20 09:03:11 +02:00
Janus
95a2174789
sqlite in lnrouter: lnpeer: introduce _gossip_loop for gossip handling separated from message handling
2019-08-20 09:03:11 +02:00
Janus
dd7c4b3bab
sqlite in lnrouter
2019-08-20 09:03:11 +02:00
SomberNight
7292da24e6
lnchannel: only consider payments finished when we revoke our old ctx
...
in the old code,
`self.hm.received_in_ctn(self.config[REMOTE].ctn + 1)`
did not really make sense as "received_in_ctn" compares the argument against the LOCAL ctn
2019-08-20 09:03:11 +02:00
Janus
f618bb4a67
lnhtlc: handle settles like adds (asymmetrical across ctns)
2019-08-20 09:03:11 +02:00
SomberNight
3a2ab149b9
lnchannel: add_htlc and receive_htlc now take and return UpdateAddHtlc
...
also fix undefined vars in _maybe_forward_htlc and _maybe_fulfill_htlc
in lnpeer
2019-08-20 09:03:11 +02:00
ThomasV
62be0c481c
lightning: Save invoices and preimages separately. Save preimages when forwarding
2019-08-20 09:03:11 +02:00
ThomasV
50b4f785a9
test_lnpeer: add names
2019-08-20 09:03:11 +02:00
ThomasV
3dce65dc73
Rename lnchan, lnchannel_verifier, lnbase
...
Auto-completions are a pain if files share a long prefix
2019-08-20 09:03:11 +02:00
Janus
8274a963e6
lnworker: save outgoing invoice when initiating payment
2019-08-20 09:03:11 +02:00
Janus
5f1feee331
move lightning message encoding to new lnmsg module
2019-08-20 09:03:11 +02:00
ThomasV
d5006e83e7
test_forwarding: do not set HOME
2019-08-20 09:03:11 +02:00
ThomasV
954e4c8892
lnbase: rename methods, fix tests
2019-08-20 09:03:11 +02:00
ThomasV
909f1e77de
script that tests htlc forwarding
2019-08-20 09:03:11 +02:00
ThomasV
8e753f998a
fix tests
2019-08-20 09:03:11 +02:00
ThomasV
b5482e4470
create transport and perform handshake before creating Peer
2019-08-20 09:03:11 +02:00
ThomasV
2af178a586
Store boolean is_received in lightning invoices. Sort lightning history with timestamp. Minor fixes
2019-08-20 09:03:11 +02:00
Janus
4e3b2b5479
tests: update lnbase test to use 4-tuple for invoices
2019-08-20 09:03:11 +02:00
Janus
d5ed4309bb
revert low max_htlc_value_in_flight_msat, fix test
...
spec does not mention that there can be an upper bound
on max_htlc_value_in_flight_msat, so don't try to make
any node happy that has a max limit on this.
2019-08-20 09:03:11 +02:00
ThomasV
0a08ccc1c6
rename paying -> inflight
2019-08-20 09:03:11 +02:00
Janus
8fc1779b0d
ln: add test_lnwatcher
2019-08-20 09:03:11 +02:00
Janus
e56e849505
lnchan refactor
...
- replace undoing logic with new HTLCManager class
- separate SENT/RECEIVED
- move UpdateAddHtlc to lnutil
2019-08-20 09:03:11 +02:00