Commit graph

23 commits

Author SHA1 Message Date
Antoine Riard
9a015236d0 Add init height in ChannelManager constructor 2019-11-15 16:11:47 -05:00
Elichai Turkel
5bb7ba5b7d
Cast weights to u64 to support the new rust-bitcoin api 2019-08-24 11:04:41 -04:00
Matt Corallo
127ce296a7
Merge pull request #310 from ariard/2019-02-clarify-send-htlc-policy
Clarify policy applied in send htlc error msgs
2019-08-02 19:30:41 +00:00
Antoine Riard
1d6c09a94a Clarify policy applied in send htlc error msgs
max_htlc_value_in_flight_msat is applied
per-direction
2019-08-02 01:01:23 -04:00
Matt Corallo
8ba3529522 Handle monitor update failure during funding on the fundee side
This carries a surprising amount of complexity despite only being
possible in the case where monitor updating failed during the
processing of funding_generated. Specifically, this requires
handling rebroadcasting funding_locked once we successfully persist
our monitor again.

As an alternative we could never send funding_signed when the
monitor failed to persist, but this approach avoids needless
delays during funding.
2019-07-29 13:45:35 -04:00
Matt Corallo
a1e0ca410e Handle monitor update failures during funding on the funder side 2019-07-29 13:26:22 -04:00
Matt Corallo
2ca697aefa Fix some newly-introduced unused-$THING warnings 2019-07-23 15:52:20 -04:00
Antoine Riard
a4620afdb5 Pass UserConfig to node creation test utilities
We way want more granularity on the set of user opt-in features at
a given time, specially with new 1.1 spec features
2019-07-22 17:03:28 -04:00
Antoine Riard
d2647e0449 Pass LocalFeatures flag to channel creation test utilities
We may want more granularity on the set of features activated at
a given time, specially with new 1.1 spec features
2019-07-22 17:03:28 -04:00
Antoine Riard
0052b2c5c3 Provide peer local_features to handle_open_channel/accept_channel
Peer may send us a shutdown_scriptpubkey in open_channel or
accept_channel messages. Before to enforce this policy on channel
closing, we want to be sure that our peer has opt-in to it.

Extend LocalFeatures new method visibilty from crate to public
for fuzz tests
2019-07-22 13:13:01 -04:00
Matt Corallo
8470e60415
Merge pull request #336 from ariard/2019-04-in-flight-txn-tracking-clean
2019 04 in flight txn tracking clean
2019-07-19 18:02:25 -04:00
Matt Corallo
e2a9ed7265 Drop system clock calls for PendingHTLCsForwardable events.
Instead, return a Duration and let the user do the work of waiting.
This is one of only a handful of steps to make us
mostly-syscall-free, at least enough to run in WASM according to
elichai.
2019-07-18 18:15:02 -04:00
Antoine Riard
c5ee360878 Add block_disconnecting tests to cancel HTLC failure updates
Add test_sweep_outbound_htlc_failure_update
2019-07-17 16:54:21 -04:00
Antoine Riard
72c5423fd5 Track HTLC-failure trigger tx until anti-reorg delay reached
Broadcasting a commitment tx means that we have to fail
inbound HTLC in backward channel. Doing it prematurely would
put us at risk in case of reorg. So we delay passing failure
update upstream until solving tx mature to HTLC_FAIL_ANTI_
REORG_DELAY.
Requirements differ if HTLC is a revoked/non-revoked dust/
non-revoked non-dust one.

Add connect_blocks in test_utils to fix broken tests due to
anti-reorg delay enforcement

Remove anti-duplicate htlc update stuff in ManySimpleChannelMonitor
2019-07-17 15:26:33 -04:00
Matt Corallo
2811b07ede
Merge pull request #334 from ariard/2019-04-fee-estimation-monitor
Add Fee Estimation in ChannelMonitor
2019-04-21 19:44:58 -04:00
Antoine Riard
50b6acb696 Add FeeEstimator in ChannelMonitor 2019-04-16 18:50:09 -04:00
Sebastian Geisler
80aa4f20a9 Make channel open confs configurable (and change from 12 to 6)
This fixes compatibility with c-lightning etc as they won't accept
a minimum_depth of 12.
2019-04-10 12:03:10 -04:00
Matt Corallo
558f8da900 Add macro for PaymentSent event checking in test_utils 2019-03-22 17:19:38 -04:00
Matt Corallo
f99acc6d35
Merge pull request #297 from TheBlueMatt/2019-01-back-fail-privacy
Send back the actual received amount, not expected on HTLC fails
2019-01-25 12:01:44 -05:00
Matt Corallo
bf26056c8a Fix holding cell freeing in case we fail to add some HTLC
Previously, if we went to free the holding cell HTLC updates, and
adding one failed as we hit our outbound HTLC limit (or in-flight
value limit), we would not send a commitment_signed, leaving us in
an invalid state. We first fix that bug, and then refuse to add
things to our holding cell once we reach our limits considering the
holding cell, as we shouldn't have multiple commitment dance rounds
worth of HTLCs in the holding cell anyway.
2019-01-24 21:53:49 -05:00
Matt Corallo
74588b2519 Send back the actual received amount, not expected on HTLC fails
This resolves an incorrect implementation of the spec and fixes a
major privacy leak.

Fixes GH #289.
2019-01-24 16:55:01 -05:00
Dimitris Apostolou
ab10b05075
Fix typos 2019-01-24 19:07:08 +02:00
Matt Corallo
8d9eb973cc Split up functional_tests into utils and the tests themselves 2019-01-23 16:46:44 -05:00