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