]>
git.bitcoin.ninja Git - rust-lightning/log
Yuntai Kyong [Sun, 14 Oct 2018 13:35:26 +0000 (22:35 +0900)]
Onion error handling in the origin node
Add PaymentData to HTLCSource to reconstruct incoming_htlc_msat and cltv for each
node when an onion failure message is returned. These values are used to
check whether an updated chan_update is valid.
Refactor onion failure code and more error cases are handled
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:32:58 +0000 (22:32 +0900)]
Add channel_update_timestamp to RouteHop
to compare it agains the timestamp of channel_update coming with onion
failure message
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 [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
Matt Corallo [Sun, 16 Sep 2018 02:06:13 +0000 (22:06 -0400)]
Split out Vec<u8> and Vec<Signature> ser impls cause there's 2
Should resolve any performance issues with Vec<u8> serialization.
Matt Corallo [Sun, 16 Sep 2018 17:37:35 +0000 (13:37 -0400)]
Remove uses of MsgDecodable from ChannelManager
Matt Corallo [Fri, 14 Sep 2018 21:50:48 +0000 (17:50 -0400)]
Simplify serialization a bit by removing the useless newtypes
Matt Corallo [Fri, 14 Sep 2018 20:43:47 +0000 (16:43 -0400)]
Expose (de)serialziers as we'll need them and I don't like warnings
Matt Corallo [Sat, 15 Sep 2018 15:36:59 +0000 (11:36 -0400)]
Merge pull request #178 from TheBlueMatt/2018-09-channel_reestablish
Handle peer disconnect tracking/channel_reestablish
Matt Corallo [Fri, 14 Sep 2018 19:54:06 +0000 (15:54 -0400)]
Constify 2**48-1 and add some additional comments in Channel
Matt Corallo [Thu, 13 Sep 2018 22:19:27 +0000 (18:19 -0400)]
Add a simple channel_reestablish test
Matt Corallo [Sat, 8 Sep 2018 20:02:46 +0000 (16:02 -0400)]
Track peer-disconnection in Channel and handle channel_reestablish
Matt Corallo [Sat, 8 Sep 2018 20:01:29 +0000 (16:01 -0400)]
Add a Disconnected ChannelState and check/handle it everywhere
Setting/removing it comes next
Matt Corallo [Fri, 7 Sep 2018 19:51:40 +0000 (15:51 -0400)]
Add channel_reestablish + peer_connected events to channel handler
Matt Corallo [Tue, 11 Sep 2018 18:27:17 +0000 (14:27 -0400)]
Clarify update_fail/fulfill_htlc holding cell allowed Errs
Specifically, there really should be no Errs, but in case there is
some case where duplicate HTLC removes are possible, return
IgnoreError and debug_assert to see if fuzzing can find them.
Matt Corallo [Fri, 7 Sep 2018 19:11:52 +0000 (15:11 -0400)]
Drop channels on disconnection if we haven't funded them yet
Matt Corallo [Wed, 5 Sep 2018 22:32:55 +0000 (18:32 -0400)]
Remove/fail uncommitted HTLCs upon peer disconnection
Matt Corallo [Sat, 15 Sep 2018 14:50:57 +0000 (10:50 -0400)]
Merge pull request #179 from TheBlueMatt/2018-09-pre-178-cleanups
Pre-reconnect ChannelManager test cleanups
Matt Corallo [Sat, 15 Sep 2018 14:48:54 +0000 (10:48 -0400)]
Merge pull request #183 from yuntai/201809-unwrap-getopenchannel
unwrap channel.get_open_channel
Yuntai Kyong [Fri, 14 Sep 2018 22:26:03 +0000 (07:26 +0900)]
unwrap channel.get_open_channel
Matt Corallo [Thu, 13 Sep 2018 22:17:56 +0000 (18:17 -0400)]
Split claim and fail payment functions to be able to skip one hop
Matt Corallo [Thu, 13 Sep 2018 22:04:46 +0000 (18:04 -0400)]
Move all-events check into framework instead of per-test
Matt Corallo [Sat, 8 Sep 2018 20:00:30 +0000 (16:00 -0400)]
Split up send_commitment into a const and non-const version
Matt Corallo [Fri, 14 Sep 2018 20:24:08 +0000 (16:24 -0400)]
Remove unused import and uneccessary mut
Matt Corallo [Fri, 14 Sep 2018 20:19:38 +0000 (16:19 -0400)]
Merge pull request #180 from TheBlueMatt/2018-09-htlc-tx-unwrap-fix
Ignore HTLC txn we dont know how to claim instead of unwrap()ing and Do not fail-backwards LocalAnnounced HTLCs upon force-close.
Matt Corallo [Fri, 14 Sep 2018 17:47:46 +0000 (13:47 -0400)]
Tweak + extend full_stack_target sample to incl HTLC tx broadcasts
Matt Corallo [Fri, 14 Sep 2018 19:19:03 +0000 (15:19 -0400)]
Test that we do not fail-backwards HTLCs that the remote on-chained
Matt Corallo [Thu, 13 Sep 2018 21:25:59 +0000 (17:25 -0400)]
Make the commitment signed dance a macro in ChannelManager tests
Matt Corallo [Fri, 14 Sep 2018 17:35:56 +0000 (13:35 -0400)]
Do not fail-backwards LocalAnnounced HTLCs upon force-close.
This is completely unsafe as we have provided the remote side with
a commitment_signed which they can broadcast, including the HTLC
transaction, and then could claim it on-chain after we've failed it
backwards!
Matt Corallo [Fri, 14 Sep 2018 03:54:15 +0000 (23:54 -0400)]
Ignore HTLC txn we dont know how to claim instead of unwrap()ing
This fixes a crash introduced in
3e149b1fb6624eef99b055bde772842f36
and introduces a test which will tickle the bug.
Matt Corallo [Fri, 14 Sep 2018 00:18:21 +0000 (20:18 -0400)]
Merge pull request #177 from TheBlueMatt/2018-09-163-cleanups
Optimize some ChannelMonitor stuff after #163
Matt Corallo [Thu, 13 Sep 2018 17:51:23 +0000 (13:51 -0400)]
Clean up and clarify tx broadcast checks in channelmonitor tests
This effecitlvey reverts the refactors in
383bd90a481bc146b3a3b1d8 ,
however keeps the actully new test code.
It also writes documentation for the super confusing tx test func
and makes it a bit less permissive.
Matt Corallo [Thu, 13 Sep 2018 15:35:23 +0000 (11:35 -0400)]
There can only be one input in matched txn in ChannelMonitor
This lets us simplify a few tidbits of loop.