]>
git.bitcoin.ninja Git - rust-lightning/log
Matt Corallo [Wed, 24 Oct 2018 04:44:15 +0000 (00:44 -0400)]
Fix XXXs that slipped into router and handle HTLCFailCHannelUpdates
Matt Corallo [Tue, 23 Oct 2018 20:45:50 +0000 (16:45 -0400)]
Merge pull request #213 from TheBlueMatt/2018-10-monitor-fail-pause
Add ChannelManager support for monitor update failure in one place
Matt Corallo [Thu, 18 Oct 2018 01:26:48 +0000 (21:26 -0400)]
Add basic sanity testing for channel monitor update failure handle
Matt Corallo [Wed, 17 Oct 2018 22:21:06 +0000 (18:21 -0400)]
ChannelManager support for monitor update failure in one place
Matt Corallo [Wed, 17 Oct 2018 22:19:55 +0000 (18:19 -0400)]
Add Channel support for monitor-update-failed pausing
Matt Corallo [Wed, 17 Oct 2018 15:35:26 +0000 (11:35 -0400)]
Add an Event for sending revoke_and_ack messages out-of-band
Matt Corallo [Thu, 18 Oct 2018 16:01:01 +0000 (12:01 -0400)]
Pull out the HTLC forwarding loop into a function
Matt Corallo [Wed, 17 Oct 2018 14:35:33 +0000 (10:35 -0400)]
Pull out regenerating RAA/CS in channel_reestablish handling
Matt Corallo [Wed, 17 Oct 2018 12:47:33 +0000 (08:47 -0400)]
Move channel monitor updates inside the channel_state lock
This really, really sucks as it defeats almost all of the
cross-channel parallelism we'd intended to have - waiting on a
client to update a watchtower for an unrelated channel to process
any messages is really shitty. We should revisit this with
per-channel locks as a compile-time option post-0.1.
Matt Corallo [Tue, 23 Oct 2018 20:03:08 +0000 (16:03 -0400)]
Merge pull request #212 from TheBlueMatt/2018-10-two-updates-disconnect
Fix reconnect message order on remote updates while waiting on RAA
Matt Corallo [Thu, 18 Oct 2018 01:17:01 +0000 (21:17 -0400)]
Add test for two-updates-in-flight disconnect channel resumption
Matt Corallo [Thu, 18 Oct 2018 02:13:31 +0000 (22:13 -0400)]
Fix reconnect message order on remote updates while waiting on RAA
Matt Corallo [Wed, 17 Oct 2018 22:06:13 +0000 (18:06 -0400)]
Add message ordering return value to handling channel_reestablish
Matt Corallo [Tue, 23 Oct 2018 19:25:07 +0000 (15:25 -0400)]
Merge pull request #219 from TheBlueMatt/2018-10-157-merge
Partially implement more onion error handling for sent payments
Yuntai Kyong [Mon, 22 Oct 2018 15:12:44 +0000 (11:12 -0400)]
Move HTLCFailChannelUpdate handling out-of-band
While this isn't neccessary for message ordering consistency, this
does mean that we won't end up processing an HTLCFailChannelUpdate
from a update_fail_htlc prior to it being fully committed (where if
the peer disconnects/reconnects it could theoretically give us a
different result, eg if their next-hop reconnected to them).
Yuntai Kyong [Sun, 14 Oct 2018 13:35:26 +0000 (22:35 +0900)]
Partially implement more onion error handling for sent payments
Also refactor out onion error handling into a function instead of
in update_fail_htlc.
Cache the initial htlc_msat that we sent instead of recalculating
it to check validity of the error returned.
Yuntai Kyong [Sun, 14 Oct 2018 13:34:45 +0000 (22:34 +0900)]
Some changes in comments and error messages.
Yuntai Kyong [Sun, 14 Oct 2018 13:30:21 +0000 (22:30 +0900)]
Error handling in decoding onion
Yuntai Kyong [Sun, 14 Oct 2018 13:11:21 +0000 (22:11 +0900)]
Add is_permanent field to ChannelClosed message and add NodeFailure
message
Matt Corallo [Tue, 16 Oct 2018 15:40:21 +0000 (11:40 -0400)]
Avoid needless on-chain channel failing for timing-out HTLCs
See new comments in code for more details
Matt Corallo [Thu, 18 Oct 2018 13:34:35 +0000 (09:34 -0400)]
Merge pull request #211 from TheBlueMatt/2018-10-misc-cleanups
Miscellaneous Cleanups
Matt Corallo [Wed, 17 Oct 2018 11:41:27 +0000 (07:41 -0400)]
Test double-reconnect
Matt Corallo [Mon, 15 Oct 2018 12:55:19 +0000 (08:55 -0400)]
Use APIError::ChannelUnavailable a bit more for consistency
Matt Corallo [Sun, 14 Oct 2018 20:37:21 +0000 (05:37 +0900)]
Ensure channel is live, not usable for sending fee updates
+ a freebie TODO removal
Matt Corallo [Sun, 14 Oct 2018 12:46:57 +0000 (21:46 +0900)]
Use live, not usable for list_usable_channels
Matt Corallo [Wed, 17 Oct 2018 01:05:17 +0000 (21:05 -0400)]
Merge pull request #210 from TheBlueMatt/2018-10-funding-disconnected
Fix + test funding tx confirmation while peer is disconnected
Matt Corallo [Tue, 16 Oct 2018 20:36:03 +0000 (16:36 -0400)]
Fix + test funding tx confirmation while peer is disconnected
Matt Corallo [Tue, 16 Oct 2018 17:17:28 +0000 (13:17 -0400)]
Merge pull request #208 from TheBlueMatt/2018-10-reconnect-fixes
Fix channel_reestablish exchanging in case of lost messages
Matt Corallo [Tue, 16 Oct 2018 03:04:59 +0000 (23:04 -0400)]
Add documentation about PaymentSent/Failed event duplication bug
Matt Corallo [Tue, 16 Oct 2018 02:11:52 +0000 (22:11 -0400)]
Test reconnecting after lost message(s) during the commitment dance
Matt Corallo [Tue, 16 Oct 2018 02:03:12 +0000 (22:03 -0400)]
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.
Matt Corallo [Mon, 15 Oct 2018 19:11:02 +0000 (15:11 -0400)]
Store onion packet in OutboundHTLCState so we can regen update_add
Matt Corallo [Mon, 15 Oct 2018 18:38:19 +0000 (14:38 -0400)]
Store per-state HTLC data in the state enum itself (and store more)
Matt Corallo [Mon, 15 Oct 2018 17:03:44 +0000 (13:03 -0400)]
Split create_chan_between_nodes into two steps
Matt Corallo [Sat, 6 Oct 2018 03:49:26 +0000 (20:49 -0700)]
Merge pull request #206 from TheBlueMatt/2018-10-189-rebase
#189 rebased
Matt Corallo [Sat, 6 Oct 2018 02:55:55 +0000 (11:55 +0900)]
Further simplify get_{inbound,outbound}_pending_htlc_stats
Yuntai Kyong [Wed, 3 Oct 2018 00:19:22 +0000 (09:19 +0900)]
Split get_pending_htlc_stats
to get_inbound_pending_htlc_stats and get_outbound_pending_htlc_stats
Matt Corallo [Mon, 1 Oct 2018 21:48:22 +0000 (17:48 -0400)]
Check that reserves are met or progress is made on commitment tx gen
Yuntai Kyong [Sat, 6 Oct 2018 03:05:35 +0000 (12:05 +0900)]
Add test for channel_reserve with holding cell HTLCs counted
Yuntai Kyong [Mon, 1 Oct 2018 09:13:37 +0000 (18:13 +0900)]
Add simple test for channel_reserve/max_htlc_value_in_flight_msat
Yuntai Kyong [Mon, 1 Oct 2018 09:13:05 +0000 (18:13 +0900)]
Break up test channel creation to specify values explicitly
Yuntai Kyong [Mon, 1 Oct 2018 09:11:33 +0000 (18:11 +0900)]
Add a ChannelValueStat getter to simplify tests
Yuntai Kyong [Tue, 25 Sep 2018 14:17:11 +0000 (23:17 +0900)]
Document channel reserve behavior a bit better
Yuntai Kyong [Wed, 19 Sep 2018 11:48:03 +0000 (20:48 +0900)]
Fix checking of channel_reserve values
Matt Corallo [Sat, 6 Oct 2018 01:32:24 +0000 (18:32 -0700)]
Merge pull request #196 from yuntai/shutdown-apify
Raise APIError from close_channel
Yuntai Kyong [Thu, 27 Sep 2018 03:58:05 +0000 (12:58 +0900)]
add a ChannelUnavailable error
Yuntai Kyong [Tue, 25 Sep 2018 15:32:30 +0000 (00:32 +0900)]
raise APIError from close_channel
Matt Corallo [Mon, 1 Oct 2018 14:32:00 +0000 (10:32 -0400)]
Merge pull request #201 from TheBlueMatt/2018-09-channelerror-1
Introduce a Channel-specific Err type and return it in a few places
Matt Corallo [Mon, 1 Oct 2018 00:03:35 +0000 (20:03 -0400)]
Use new ChannelError in get_channel_announcement
Matt Corallo [Sun, 30 Sep 2018 23:51:15 +0000 (19:51 -0400)]
Use new ChannelError in channel_reestablish handling
Matt Corallo [Sun, 30 Sep 2018 23:33:03 +0000 (19:33 -0400)]
Use new ChannelError in HTLC-removal msgs, filling out more handling
Matt Corallo [Sun, 30 Sep 2018 23:11:01 +0000 (19:11 -0400)]
Use new ChannelError in funding_locked, filling out more handling
Matt Corallo [Sun, 30 Sep 2018 23:08:24 +0000 (19:08 -0400)]
Use new ChannelError type in accept_channel
Matt Corallo [Sun, 30 Sep 2018 22:19:59 +0000 (18:19 -0400)]
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.
Matt Corallo [Sun, 30 Sep 2018 01:09:50 +0000 (21:09 -0400)]
Merge pull request #199 from TheBlueMatt/2018-09-184-fixed-monitor
Fix simple to_local revoked output claim and rebase #184
Matt Corallo [Sun, 30 Sep 2018 00:43:14 +0000 (20:43 -0400)]
Merge pull request #200 from TheBlueMatt/2018-09-187-tweaks
#187 rebased + squashed
Matt Corallo [Sun, 30 Sep 2018 00:24:30 +0000 (20:24 -0400)]
Macro-out checking a tx validly spends another (and add one more)
Antoine Riard [Sat, 29 Sep 2018 18:51:45 +0000 (14:51 -0400)]
Test htlc outputs single tx claim due to timeout case
Antoine Riard [Thu, 20 Sep 2018 00:52:02 +0000 (00:52 +0000)]
Test htlc outputs shared tx claim case
Matt Corallo [Sat, 29 Sep 2018 18:26:12 +0000 (14:26 -0400)]
Fix and test simple remote-revoked-commitment-output claiming
Matt Corallo [Thu, 27 Sep 2018 21:46:08 +0000 (17:46 -0400)]
Add 2-inbound-in-flight update_fee test (that we wouldn't generate)
Matt Corallo [Thu, 27 Sep 2018 21:45:04 +0000 (17:45 -0400)]
Annotate test_update_fee to make events more clear
Matt Corallo [Thu, 27 Sep 2018 01:38:48 +0000 (21:38 -0400)]
Add test for out-of-order update_fee commitment_signed/RAA
Matt Corallo [Thu, 27 Sep 2018 00:04:56 +0000 (20:04 -0400)]
Add test for send_commitment pending non-committed feerate updates
Matt Corallo [Fri, 28 Sep 2018 23:06:41 +0000 (19:06 -0400)]
Note that update_fee is likely not gonna be our final API
Yuntai Kyong [Wed, 26 Sep 2018 23:56:13 +0000 (19:56 -0400)]
Add update_fee tests
Yuntai Kyong [Wed, 26 Sep 2018 23:55:47 +0000 (19:55 -0400)]
Expose updating fee on an individual channel
Yuntai Kyong [Wed, 26 Sep 2018 23:54:28 +0000 (19:54 -0400)]
Implement update_fee handling
Matt Corallo [Wed, 26 Sep 2018 19:28:20 +0000 (15:28 -0400)]
Macro out one-monitor-added check in network tests (thanks @yuntai)
Originally suggested by Yuntai Kyong <yuntai.kyong@gmail.com> in
some new tests.
Matt Corallo [Wed, 26 Sep 2018 23:50:39 +0000 (19:50 -0400)]
Macro out getting payment_preimage/hash in network tests
Matt Corallo [Sat, 29 Sep 2018 18:27:01 +0000 (14:27 -0400)]
Merge pull request #197 from TheBlueMatt/master
Fix fuzztarget failures
Matt Corallo [Thu, 27 Sep 2018 21:36:10 +0000 (17:36 -0400)]
Avoid double-panic in ChannelManager when tests fail
Matt Corallo [Wed, 26 Sep 2018 15:02:38 +0000 (11:02 -0400)]
Handle temporary_channel_id collision in fuzztarget mode
Matt Corallo [Wed, 26 Sep 2018 14:48:30 +0000 (10:48 -0400)]
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).
Matt Corallo [Fri, 21 Sep 2018 08:59:37 +0000 (04:59 -0400)]
Merge pull request #193 from SWvheerden/Bolt2-specs-errors-of-closing-messages-
Added test for testing sciptpubkey of closing message per bolt 2 spec
Matt Corallo [Fri, 21 Sep 2018 08:42:57 +0000 (04:42 -0400)]
Merge pull request #194 from TheBlueMatt/2018-09-doc-cleanup
Make docs look nicer by adding explicit spacing
Schalk van Heerden [Thu, 20 Sep 2018 08:16:20 +0000 (10:16 +0200)]
Added test for testing sciptpubkey of closing message per bolt 2 spec
Matt Corallo [Thu, 20 Sep 2018 16:57:47 +0000 (12:57 -0400)]
Make docs look nicer by adding explicit spacing
Matt Corallo [Thu, 20 Sep 2018 16:14:59 +0000 (12:14 -0400)]
Merge pull request #191 from TheBlueMatt/2018-09-chanmon-ser-framework
Migrate ChannelMonitor writing/reading to new serialization framework
Matt Corallo [Thu, 20 Sep 2018 14:55:34 +0000 (10:55 -0400)]
Bump version to 0.0.5 to get new docs out
Matt Corallo [Tue, 18 Sep 2018 20:22:53 +0000 (16:22 -0400)]
Switch to -O1 in dev as we have long-running tests and O1 is cheap
Matt Corallo [Wed, 19 Sep 2018 17:31:14 +0000 (13:31 -0400)]
Migrate ChannelMonitor serialization to new ser framework(ish)
Sadly we can't straight up use the new serialization framework as
we have a few different serialization variants, but that's OK, it
looks identical and is just missing the Writeable impl
Matt Corallo [Wed, 19 Sep 2018 17:17:16 +0000 (13:17 -0400)]
Move ChannelMonitor deserialization to new ser framework
Matt Corallo [Wed, 19 Sep 2018 17:06:35 +0000 (13:06 -0400)]
Simplify DecodeError enum by removing some useless distinctions
Matt Corallo [Thu, 20 Sep 2018 14:44:23 +0000 (10:44 -0400)]
Merge pull request #192 from TheBlueMatt/2018-09-docs-docs-docs
Add module and all-pub-things docs and deny missing docs
Matt Corallo [Wed, 19 Sep 2018 21:39:43 +0000 (17:39 -0400)]
Add module and all-pub-things docs and deny missing docs
Matt Corallo [Wed, 19 Sep 2018 19:01:26 +0000 (15:01 -0400)]
Document ConfirmationTarget a little bit (closes #101)
Matt Corallo [Wed, 19 Sep 2018 17:55:14 +0000 (13:55 -0400)]
Document all the fields in Errors
Matt Corallo [Wed, 19 Sep 2018 21:37:51 +0000 (17:37 -0400)]
Make message fields pub(crate) and hide a few internal fns
Matt Corallo [Wed, 19 Sep 2018 21:33:05 +0000 (17:33 -0400)]
Log peer features in peer_handler (and check for all req bits)
Matt Corallo [Thu, 20 Sep 2018 02:47:07 +0000 (22:47 -0400)]
Remove fuzz channel_target.
It has bitrotted a lot and doesn't really make sense given all the
precondition enforcement that is in channelmanager, sadly.
Matt Corallo [Tue, 18 Sep 2018 20:14:49 +0000 (16:14 -0400)]
Merge pull request #186 from TheBlueMatt/2018-09-ser-rework-2
Drop old serialization framework
Matt Corallo [Tue, 18 Sep 2018 20:14:40 +0000 (16:14 -0400)]
Merge pull request #185 from TheBlueMatt/2018-09-ser-rework
Serialization Framework Tweaks
Matt Corallo [Sun, 16 Sep 2018 18:03:36 +0000 (14:03 -0400)]
Drop MsgEncodable in favor of default fns on Writeable
Matt Corallo [Sun, 16 Sep 2018 17:16:43 +0000 (13:16 -0400)]
Fix peer_handler message serialization
Fixes a bug introduced in
3e89106163b941aa4dc4ff92bdb484b7bbcf50c4
where messages were being encoded with their size instead of their
type.
Also utilizes the new size_hinting in peer_handler
Matt Corallo [Sun, 16 Sep 2018 18:02:58 +0000 (14:02 -0400)]
Make Writeable::write typed instead of Writeable
This lets us add some untyped default functions to the trait
Matt Corallo [Fri, 14 Sep 2018 22:05:13 +0000 (18:05 -0400)]
Utilize Writer size hinting in message fuzz targets and check them
Matt Corallo [Sun, 16 Sep 2018 17:50:42 +0000 (13:50 -0400)]
Stop checking size > 64KB in serialization
This removes a bunch of potentially new error handling in writers
and the checks were kinda useless anyway - in normal operation we
unwrap()ed anyway, and we're gonna want to use the serializtion
framework for ChannelMonitor/ChannelManager serialization, which
may generate things larger than 64KB anyway.
Matt Corallo [Fri, 14 Sep 2018 21:54:59 +0000 (17:54 -0400)]
Add size_hint in ser and call size_hint in all message serializers
Matt Corallo [Sun, 16 Sep 2018 17:39:39 +0000 (13:39 -0400)]
Remove MsgDecodable and most MsgEncodable impls