Matt Corallo
dae97a4858
Merge pull request #257 from TheBlueMatt/2018-11-007-bump
...
Bump to 0.0.7 for API rev
2018-11-21 16:45:17 -05:00
Matt Corallo
bde921ea20
Bump to 0.0.7 for API rev
2018-11-21 16:18:18 -05:00
Matt Corallo
241b0cb449
Merge pull request #246 from TheBlueMatt/2018-11-fuzz-crash-redux
...
Several fuzz-found bugfixes.
2018-11-21 16:17:01 -05:00
Matt Corallo
93c8760086
Merge pull request #255 from TheBlueMatt/2018-11-230-ext
...
Two post-#230 fixups
2018-11-21 11:41:42 -05:00
Matt Corallo
3af20fd507
Check P2WPKH script against expected before gen'ing an output event
...
This fixes a bug in 3518f1f85d
where
we may generate an output event for a P2WPKH output which is not
ours if the transaction has a sequence/lock_time combination which
false-positives our remote tx detection.
Also note that the TODO is removed as this should already be
covered without issue if the client properly replays the chain on
restart.
2018-11-20 19:03:57 -05:00
Matt Corallo
90b0ed937e
Provide commitment point to monitor with the remote txn update
...
This extends 1b33064554
by
re-simplifying the ChannelMonitor <-> Channel interface a bit as we
never have any use for the latest remote commitment point until we
have knowledge of a remote transaction generated using it.
2018-11-20 19:03:57 -05:00
Matt Corallo
7687e02d6c
Merge pull request #254 from TheBlueMatt/2018-11-channelerror
...
Move a ton of Channel functions to ChannelError from HandleError
2018-11-20 19:00:49 -05:00
Matt Corallo
f2280e580a
Fix two compiler warnings introduced in a51dbb4a4d
2018-11-20 16:34:40 -05:00
Matt Corallo
90816dd9d8
Move a ton of Channel functions to ChannelError from HandleError
...
This is a big patch, but its all very mechanical, everything here
should be pretty obvious, and it all has to happen at once due to a
few common utility functions all having the same return type.
Note that this exposes a race in channel closure where we may
access a channel via some non-peer-specific mechanism like
forwarding an HTLC or sending a payment during the time between
the channel gave us a Close error and expected us to never call it
again and the time we actually removed it from the channel_state
set outside of the internal_* handler.
2018-11-20 16:33:32 -05:00
Matt Corallo
3155890766
Create simple ChannelMonitor-specific Err type
2018-11-20 16:31:41 -05:00
Matt Corallo
86944d34a1
Merge pull request #231 from philipr-za/philip-204-check-commitment-transaction-fee
...
Check funder can afford commitment transaction fee when receiving update_fee
2018-11-20 16:29:21 -05:00
Matt Corallo
7efaf2e8ac
Merge pull request #230 from ariard/handle_sizeable_push_msat
...
Handle sizeable push msat (fix #195 ) + handle two first per_commitment_point + keys interface tests
2018-11-20 15:51:27 -05:00
Antoine Riard
3a7b40e494
Add test_static_output_closing_tx
2018-11-19 20:51:26 -05:00
Antoine Riard
890d1768b7
Add test_dynamic_spendable_outputs_local_htlc_*
...
Cover both local HTLC-Timeout/Success case
2018-11-19 20:51:17 -05:00
Antoine Riard
394b11c7b5
Add key_storage selection in ChannelMonitor insert_combine
...
Based on commitment_number
2018-11-19 20:42:55 -05:00
Antoine Riard
b6b5decfa9
Add test_static_spendable_outputs_justice_tx_revoked_htlc*
...
Cover both HTLC-Timeout/Success cases
2018-11-19 20:42:55 -05:00
Antoine Riard
73415a8951
Add test_static_spendable_outputs_justice_tx_revoked_commitment_tx
2018-11-19 20:42:55 -05:00
Antoine Riard
e22220d79f
Add test_claim_on_remote_sizeable_push_msat
...
Contrary to sizeable push_msat on local
commitment tx, the output go to a P2WPKH
2018-11-19 20:42:52 -05:00
Antoine Riard
1255885a80
Add check_spend_closing_transaction ChannelMonitor
...
Aims to send back closing output descriptor to user wallet
2018-11-19 20:40:07 -05:00
Antoine Riard
3518f1f85d
Add test_static_spendable_outputs_preimage_tx
...
Aims to covered both keysinterace preimage tx case and
detection of second remote commitment tx
Split DynamicDescriptor between *P2WSH and *P2WKH
2018-11-19 20:39:38 -05:00
Matt Corallo
3a066ccbf2
Ensure fuzz release builds use codegen-units=1 and LTO
2018-11-18 16:17:06 -05:00
Matt Corallo
e67d8c6314
Don't unwrap() get_channel_update result in HTLC router
...
This fixes a bug in 78232f2aed
found
by fuzzer - if the channel isn't yet fully established we will call
get_channel_update(), get an Err result, and then unwrap() it. If
this actually happens it means someone on the network is making up
short_channel_ids and trying to route over them, but that shouldn't
result in us crashing
2018-11-18 16:17:06 -05:00
Matt Corallo
b4fc5b65e0
Fix pre-noise peer disconnect panic on non-Err disconnect
...
366e79615b
fixed the same crash for
Errs that come up during handshake, but was incomplete and should
have just dropped the node_id being different based on
inbound/outbound. This patch does so and actually fixes the issue.
Found by fuzzer.
2018-11-18 12:59:02 -05:00
Matt Corallo
b14baa03ab
Merge pull request #253 from TheBlueMatt/2018-11-misc-tweaks
...
Misc Tweaks
2018-11-16 11:47:50 -05:00
Antoine Riard
1b33064554
Split provide_their_next_commitment_point from provide_secret
...
We needed it to be able to track remote_per_commitment_point
after channel opening and funds locking
2018-11-15 19:08:27 -05:00
Antoine Riard
f053169363
Add test_claim_sizeable_push_msat
...
Aims to cover both claiming of sizeable_push_msat and
spendable output generation for to_local output
2018-11-15 19:08:27 -05:00
Antoine Riard
f88f826b28
Add TxOut in DynamicOutput
2018-11-15 19:07:34 -05:00
Antoine Riard
8c638ffc81
Track local_commitment_tx at funding_created
...
Goal to claim sizeable push_msat and in event of
local commitment tx being broadcast without htlcs
2018-11-15 19:07:34 -05:00
Antoine Riard
04e6be9f00
Implement spendable output to_local output on local commitment tx
2018-11-15 19:07:34 -05:00
Matt Corallo
2258d2b6d3
Merge pull request #249 from stevenroose/bitcoin-0.15
...
Update to rust-bitcoin v0.15
2018-11-16 06:37:44 +13:00
Matt Corallo
968720344c
Panic if funding transaction has non-witness inputs
2018-11-15 12:25:09 -05:00
Matt Corallo
ed006f5e46
Clarify get_update_*_htlc docs and tweak one case slightly
2018-11-15 12:22:16 -05:00
Matt Corallo
4a697dbdf2
Expand test_funding_peer_disconnect somewhat by being non-symmetric
...
I thought I found a bug in one-side-funded-first reconnect, but
seems I can't reproduce it here. Either way worth improving the
test coverage.
2018-11-15 12:22:16 -05:00
Philip Robinson
a51dbb4a4d
Check affordability of new fee during update_fee call #204
2018-11-14 14:14:10 +02:00
Steven Roose
7ff7561f2d
Update to rust-bitcoin v0.15
2018-11-14 11:43:54 +00:00
Matt Corallo
3c44d6beca
Merge pull request #248 from TheBlueMatt/2018-11-monitor-test-split
...
Split up channel_monitor_network_test a little bit
2018-11-14 09:20:54 +10:30
Matt Corallo
2be7c5debe
Merge pull request #247 from TheBlueMatt/2018-11-202-redux
...
Handle-initial_routing_sync-requests-from-peers-in-their-Init-messages
2018-11-14 07:18:40 +10:30
Matt Corallo
44f56f84b6
Split up channel_monitor_network_test a little bit
2018-11-09 15:01:53 +10:30
Schalk van Heerden
8d7b498974
Handle-initial_routing_sync-requests-from-peers-in-their-Init-messages
2018-11-09 13:53:13 +10:30
Antoine Riard
fa2ac8cd84
Add test justice tx on revoked htlc_success
...
Extend channel_monitor_network_test to cover
all check_spend_remote_htlc cases
2018-11-08 02:21:28 +00:00
Matt Corallo
74f59a2177
Merge pull request #242 from yuntai/201811-malformed
...
Fail channel when BADONION is not set
2018-11-05 16:14:34 -05:00
Yuntai Kyong
05b580e10b
fail channel when BADONION is not set.
2018-11-05 21:10:17 +09:00
Matt Corallo
0e098d4bab
Merge pull request #241 from TheBlueMatt/2018-10-peer-free-panic
...
Fix pre-noise outbound peer disconnect panic found by fuzzer
2018-11-02 23:59:59 -04:00
Matt Corallo
af89de3d86
Merge pull request #233 from TheBlueMatt/2018-10-shutdown-updates
...
Shutdown Updates
2018-11-02 23:07:54 -04:00
Matt Corallo
182affc03b
Test the various shutdown handling updates
2018-11-02 22:26:51 -04:00
Matt Corallo
224fb05cc5
Rebroadcast shutdown on channel_reestablish (and reprocess them)
2018-11-02 22:26:51 -04:00
Matt Corallo
527d036c1b
Delay closing_signed until update_fee exchanges complete
...
See https://github.com/lightningnetwork/lightning-rfc/issues/499
for a bit more about the ambiguity we're addressing here.
Also drop holding cell update_fee the same way we drop holding
cell update_add_htlcs when sending shutdown, resolving a bug.
2018-11-02 22:26:51 -04:00
Matt Corallo
78232f2aed
Fail incoming HTLCs sent after we start shutdown, not the chan
2018-11-02 22:26:51 -04:00
Matt Corallo
38584e3efe
Avoid double-panic in full_stack_target to assist debugging
2018-11-02 10:54:25 -04:00
Matt Corallo
366e79615b
Fix pre-noise outbound peer disconnect panic found by fuzzer
...
If we make an outbound connection to a peer who we are already
connected to, and the outbound connection fails
pre-noise-completion, we will remove the original peer connection
from our node_id_to_descriptor map.
The fuzzer managed to find this by crashing in Channel's assertions
that we don't do a get_channel_reestablish() when the Channel isn't
already marked disconnected.
2018-11-02 10:50:32 -04:00