Commit graph

591 commits

Author SHA1 Message Date
Matt Corallo
4cb059e7b9
Merge pull request #210 from TheBlueMatt/2018-10-funding-disconnected
Fix + test funding tx confirmation while peer is disconnected
2018-10-16 21:05:17 -04:00
Matt Corallo
1fe616db5a Fix + test funding tx confirmation while peer is disconnected 2018-10-16 16:36:29 -04:00
Matt Corallo
41f1e16805
Merge pull request #208 from TheBlueMatt/2018-10-reconnect-fixes
Fix channel_reestablish exchanging in case of lost messages
2018-10-16 13:17:28 -04:00
Matt Corallo
c52616ddd7 Add documentation about PaymentSent/Failed event duplication bug 2018-10-15 23:06:04 -04:00
Matt Corallo
01ba5aaa08 Test reconnecting after lost message(s) during the commitment dance 2018-10-15 23:06:04 -04:00
Matt Corallo
17375b0551 Fix channel_reestablish exchanging in case of lost messages
This uses the new storage in HTLC state enums to reproduce the
various updates in a CommitmentUpdate group which is obviously
required to re-send a commitment_update after pending unreceived
updates were dropped.

Does not yet handle dropped update_fee updates properly.
2018-10-15 22:03:12 -04:00
Matt Corallo
b4dcbfa569 Store onion packet in OutboundHTLCState so we can regen update_add 2018-10-15 21:52:41 -04:00
Matt Corallo
4b231d5e6d Store per-state HTLC data in the state enum itself (and store more) 2018-10-15 21:52:41 -04:00
Matt Corallo
1479b38759 Split create_chan_between_nodes into two steps 2018-10-15 21:52:41 -04:00
Matt Corallo
84d779a651
Merge pull request #206 from TheBlueMatt/2018-10-189-rebase
#189 rebased
2018-10-05 20:49:26 -07:00
Matt Corallo
99e01b2a64 Further simplify get_{inbound,outbound}_pending_htlc_stats 2018-10-06 12:06:29 +09:00
Yuntai Kyong
1f93a838c7 Split get_pending_htlc_stats
to get_inbound_pending_htlc_stats and get_outbound_pending_htlc_stats
2018-10-06 12:06:29 +09:00
Matt Corallo
e5974ce643 Check that reserves are met or progress is made on commitment tx gen 2018-10-06 12:06:29 +09:00
Yuntai Kyong
2a5cd48acb Add test for channel_reserve with holding cell HTLCs counted 2018-10-06 12:06:29 +09:00
Yuntai Kyong
02b28d4513 Add simple test for channel_reserve/max_htlc_value_in_flight_msat 2018-10-06 12:06:29 +09:00
Yuntai Kyong
634bb26191 Break up test channel creation to specify values explicitly 2018-10-06 12:03:39 +09:00
Yuntai Kyong
c6cc30d9d7 Add a ChannelValueStat getter to simplify tests 2018-10-06 12:03:24 +09:00
Yuntai Kyong
dc4a8c1de2 Document channel reserve behavior a bit better 2018-10-06 12:01:37 +09:00
Yuntai Kyong
f8cfc4228c Fix checking of channel_reserve values 2018-10-06 12:01:31 +09:00
Matt Corallo
a82a5f71da
Merge pull request #196 from yuntai/shutdown-apify
Raise APIError from close_channel
2018-10-05 18:32:24 -07:00
Yuntai Kyong
18ce6c8fd8 add a ChannelUnavailable error 2018-10-03 08:45:34 +09:00
Yuntai Kyong
eff730af18 raise APIError from close_channel 2018-10-03 08:36:39 +09:00
Matt Corallo
84953fc68f
Merge pull request #201 from TheBlueMatt/2018-09-channelerror-1
Introduce a Channel-specific Err type and return it in a few places
2018-10-01 10:32:00 -04:00
Matt Corallo
3f2d379835 Use new ChannelError in get_channel_announcement 2018-09-30 20:07:44 -04:00
Matt Corallo
ff644f4517 Use new ChannelError in channel_reestablish handling 2018-09-30 20:05:39 -04:00
Matt Corallo
ad77f72ff3 Use new ChannelError in HTLC-removal msgs, filling out more handling 2018-09-30 20:05:39 -04:00
Matt Corallo
662485a4dd Use new ChannelError in funding_locked, filling out more handling 2018-09-30 20:05:39 -04:00
Matt Corallo
625e2b3532 Use new ChannelError type in accept_channel 2018-09-30 20:05:39 -04:00
Matt Corallo
aa2021dff5 Introduce a Channel-specific Err type and return it in a few places
This is way simpler than writing out the whole ErrorAction mess and
we can just convert it as appropriate in ChannelManager.
2018-09-30 20:05:38 -04:00
Matt Corallo
6c1123cafd
Merge pull request #199 from TheBlueMatt/2018-09-184-fixed-monitor
Fix simple to_local revoked output claim and rebase #184
2018-09-29 21:09:50 -04:00
Matt Corallo
8bfe18cf86
Merge pull request #200 from TheBlueMatt/2018-09-187-tweaks
#187 rebased + squashed
2018-09-29 20:43:14 -04:00
Matt Corallo
af29adcfdc Macro-out checking a tx validly spends another (and add one more) 2018-09-29 20:28:15 -04:00
Antoine Riard
09831934d1 Test htlc outputs single tx claim due to timeout case 2018-09-29 20:28:15 -04:00
Antoine Riard
a805567683 Test htlc outputs shared tx claim case 2018-09-29 20:28:15 -04:00
Matt Corallo
ae8bd1ba48 Fix and test simple remote-revoked-commitment-output claiming 2018-09-29 20:27:05 -04:00
Matt Corallo
1d1c5da13d Add 2-inbound-in-flight update_fee test (that we wouldn't generate) 2018-09-29 20:01:36 -04:00
Matt Corallo
b9a155d75f Annotate test_update_fee to make events more clear 2018-09-29 20:01:36 -04:00
Matt Corallo
3833cc3736 Add test for out-of-order update_fee commitment_signed/RAA 2018-09-29 20:01:36 -04:00
Matt Corallo
3f0bc24f1e Add test for send_commitment pending non-committed feerate updates 2018-09-29 20:01:36 -04:00
Matt Corallo
75f6804fc4 Note that update_fee is likely not gonna be our final API 2018-09-29 20:01:36 -04:00
Yuntai Kyong
a610e275c6 Add update_fee tests 2018-09-29 20:01:32 -04:00
Yuntai Kyong
f1ca469e9f Expose updating fee on an individual channel 2018-09-29 19:58:09 -04:00
Yuntai Kyong
1dbc6fb0ef Implement update_fee handling 2018-09-29 19:58:08 -04:00
Matt Corallo
2b9ee0995f Macro out one-monitor-added check in network tests (thanks @yuntai)
Originally suggested by Yuntai Kyong <yuntai.kyong@gmail.com> in
some new tests.
2018-09-29 17:05:43 -04:00
Matt Corallo
2d33b92381 Macro out getting payment_preimage/hash in network tests 2018-09-29 17:05:43 -04:00
Matt Corallo
d4ba4af057
Merge pull request #197 from TheBlueMatt/master
Fix fuzztarget failures
2018-09-29 14:27:01 -04:00
Matt Corallo
8d706789e7 Avoid double-panic in ChannelManager when tests fail 2018-09-28 18:55:31 -04:00
Matt Corallo
28e67db327 Handle temporary_channel_id collision in fuzztarget mode 2018-09-26 11:06:28 -04:00
Matt Corallo
ea8a1f3506 Narrow check_spend_remote_htlc input/output count check.
This fixes a crash found by fuzztester where a 0-output tx causes a
[] panic (though this shouldn't happen in the real-world as
0-output txn should never be able to be mined).
2018-09-26 11:06:28 -04:00
Matt Corallo
0112394e52
Merge pull request #193 from SWvheerden/Bolt2-specs-errors-of-closing-messages-
Added test for testing sciptpubkey of closing message per bolt 2 spec
2018-09-21 04:59:37 -04:00