Commit graph

115 commits

Author SHA1 Message Date
Matt Corallo
a20eef17c9 Fix local route update broadcasts, annouce channel closures 2018-04-24 20:42:24 -04:00
Matt Corallo
2d8afeccdb Rewrite channelmonitor framework and implement a bunch of it 2018-04-24 20:42:24 -04:00
Matt Corallo
7400b3bb7c Fix some channel remove channelmanager consistency bugs 2018-04-24 16:01:14 -04:00
Matt Corallo
8e2974fc2a HTLC Failure message handling 2018-04-24 11:55:08 -04:00
Matt Corallo
53d1518566 Move ChannelKeys creation into channelmanager 2018-04-17 12:43:12 -04:00
Matt Corallo
1ec9c3aa4b Provide fallback for crypto's fixed_time_eq on non-x86/arm targets 2018-04-16 20:35:21 -04:00
Matt Corallo
4d75d4c099 Minor cleanups 2018-04-16 20:35:21 -04:00
Matt Corallo
f5ca346011 Fix commitment transaction number/per_commitment_point tracking 2018-04-16 20:35:21 -04:00
Matt Corallo
0940db25ec Refactor channelmanager network tests significantly 2018-04-16 20:35:21 -04:00
Matt Corallo
e9f9cda986 impl more message encodings 2018-04-16 20:35:21 -04:00
Matt Corallo
374ea1f05e Completely rewrite channel HTLC tracking and processing
It obviously was nonsensical prior, though its now way more
complicated...there's refactoring work to be done here, but it
should at least kinda sorta work now.
2018-04-16 20:35:21 -04:00
Matt Corallo
e2b1b1be78 Prep HTLCFailReason for Channel holding it until revoke_and_ack 2018-04-16 20:35:21 -04:00
Matt Corallo
00c6f42452 Use libbitcoinconsensus to check tx validity in some tests 2018-04-16 20:35:19 -04:00
Matt Corallo
8b1a7ede27 Test that channel monitors get updated appropriately 2018-04-16 20:35:03 -04:00
Matt Corallo
021b3643cc Hand payment preimages into channel monitors when claimed 2018-04-16 20:35:03 -04:00
Matt Corallo
644119201d Remove useless htlc_redeemscript argument 2018-04-02 18:31:23 -04:00
Matt Corallo
e79e61f595 Clean up channel error handling a ton 2018-04-02 18:31:23 -04:00
Matt Corallo
91b964ae1f Basic error handling framework in peer_handler 2018-04-02 18:31:23 -04:00
Matt Corallo
4fbc0b3768 Require Init as first message, send our own Init for outbound 2018-04-02 18:31:23 -04:00
Matt Corallo
df9367adaf Rename ErrorMessage 2018-04-02 18:31:23 -04:00
Matt Corallo
b21048a1ce Check funding txout format when transaction is confirmed in channel 2018-04-02 18:07:03 -04:00
Matt Corallo
f452403a3f Fix a small bug in peer_handler 2018-04-02 18:07:03 -04:00
Matt Corallo
7b0a25bdce Fix message decoding for features, build some encoding 2018-04-02 18:07:03 -04:00
Matt Corallo
8938cd7d78 Expand full_stack_target from uselessly-large to laughably-large 2018-04-02 18:07:03 -04:00
Matt Corallo
187ca8c0c8 Make Channel non-public except in fuzztarget mode, bump version 2018-04-02 18:07:03 -04:00
Matt Corallo
cf6308a5ae Expose event-processing loop from peer_handler. 2018-04-02 18:07:03 -04:00
Matt Corallo
8e79c05a20 Add support for initiating channel closure to Channel{,Manager} 2018-04-02 18:07:03 -04:00
Matt Corallo
c528ff3650 Handle incoming shutdown messages 2018-04-02 18:07:02 -04:00
Matt Corallo
890e3cb165 Update for new rust-bitcoin API, avoid some duplicate hashing 2018-04-02 18:06:59 -04:00
Matt Corallo
93f47f5421 Fix double-locking in channelmanager 2018-03-25 17:02:28 -04:00
Matt Corallo
7bb290fe3a Stop allowing new commitments without updates/revoke 2018-03-25 17:02:28 -04:00
Matt Corallo
9606f94caf Stop freeing holding cell in updates, fix freeing in revoke 2018-03-25 17:02:28 -04:00
Matt Corallo
89d9f8fb0e Fix update_fee handling, add TODOs 2018-03-25 17:02:28 -04:00
Matt Corallo
942d760b83 impl more message decoders 2018-03-25 17:02:28 -04:00
Matt Corallo
d923717216 Expand fake_network_test a bit with multiple in-flight rebalances 2018-03-25 17:02:28 -04:00
Matt Corallo
0795b34e10 Fail payments backwards in delayed processing as well 2018-03-25 13:21:32 -04:00
Matt Corallo
729f02d2dd Hold channel_state lock into fail_htlc_backwards_internal 2018-03-23 16:57:22 -04:00
Matt Corallo
d8fc9ffde9 DRY up update_add_htlc a bit with macros 2018-03-23 16:56:45 -04:00
Matt Corallo
397b6f90e1 Fix new "uneccessary mut" warning 2018-03-23 15:30:18 -04:00
Matt Corallo
02b92f5d5c Add dummy creator for PendingForwardHTLCInfo 2018-03-23 13:16:24 -04:00
Matt Corallo
ab56b81acd Stub out Sha256 calls when fuzzing 2018-03-23 13:16:24 -04:00
Matt Corallo
d0a3d0f728 Stub out ChaCha20Poly1305RFC when fuzzing 2018-03-23 13:16:24 -04:00
Matt Corallo
d18e54bd90 Stub out RNG when fuzzing 2018-03-23 13:16:24 -04:00
Matt Corallo
e9b1af277f Check validity of dust_limit_satoshis in remote messages 2018-03-22 17:43:31 -04:00
Matt Corallo
1bb4f44bd6 Fix reserve check on HTLC receive/send 2018-03-22 17:43:31 -04:00
Matt Corallo
298557c891 impl a bunch of additional messages, remove some useless mut 2018-03-22 17:43:20 -04:00
Matt Corallo
d14e31f512 Remove useless Sha256 copies 2018-03-22 17:42:12 -04:00
Matt Corallo
40ab09f627 Clarify roles in failing HTLCs, impl it, support rebalances 2018-03-22 17:35:30 -04:00
Matt Corallo
ac3bf5b71d Fix length requirement in peer_handler msg decode 2018-03-20 16:42:04 -04:00
Matt Corallo
deb23a9309 Allow messages to be too long in accorance with spec 2018-03-20 14:03:33 -04:00