]>
git.bitcoin.ninja Git - rust-lightning/log
Antoine Riard [Fri, 23 Nov 2018 00:42:02 +0000 (19:42 -0500)]
Refactor check spendable outputs macros into one
In consequence, harden spendable outputs tests
Fix vocabulary abuse
Matt Corallo [Wed, 21 Nov 2018 00:00:49 +0000 (19:00 -0500)]
Merge pull request #254 from TheBlueMatt/2018-11-channelerror
Move a ton of Channel functions to ChannelError from HandleError
Matt Corallo [Tue, 20 Nov 2018 21:34:40 +0000 (16:34 -0500)]
Fix two compiler warnings introduced in
a51dbb4a4de014238ab67ba507c
Matt Corallo [Tue, 30 Oct 2018 00:38:29 +0000 (20:38 -0400)]
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.
Matt Corallo [Thu, 15 Nov 2018 12:47:07 +0000 (07:47 -0500)]
Create simple ChannelMonitor-specific Err type
Matt Corallo [Tue, 20 Nov 2018 21:29:21 +0000 (16:29 -0500)]
Merge pull request #231 from philipr-za/philip-204-check-commitment-transaction-fee
Check funder can afford commitment transaction fee when receiving update_fee
Matt Corallo [Tue, 20 Nov 2018 20:51:27 +0000 (15:51 -0500)]
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
Antoine Riard [Wed, 7 Nov 2018 00:41:45 +0000 (00:41 +0000)]
Add test_static_output_closing_tx
Antoine Riard [Tue, 6 Nov 2018 03:24:07 +0000 (03:24 +0000)]
Add test_dynamic_spendable_outputs_local_htlc_*
Cover both local HTLC-Timeout/Success case
Antoine Riard [Tue, 6 Nov 2018 03:23:22 +0000 (03:23 +0000)]
Add key_storage selection in ChannelMonitor insert_combine
Based on commitment_number
Antoine Riard [Tue, 6 Nov 2018 00:43:06 +0000 (00:43 +0000)]
Add test_static_spendable_outputs_justice_tx_revoked_htlc*
Cover both HTLC-Timeout/Success cases
Antoine Riard [Mon, 5 Nov 2018 02:17:33 +0000 (02:17 +0000)]
Add test_static_spendable_outputs_justice_tx_revoked_commitment_tx
Antoine Riard [Mon, 5 Nov 2018 01:31:49 +0000 (01:31 +0000)]
Add test_claim_on_remote_sizeable_push_msat
Contrary to sizeable push_msat on local
commitment tx, the output go to a P2WPKH
Antoine Riard [Sat, 17 Nov 2018 01:52:33 +0000 (20:52 -0500)]
Add check_spend_closing_transaction ChannelMonitor
Aims to send back closing output descriptor to user wallet
Antoine Riard [Thu, 1 Nov 2018 03:22:56 +0000 (03:22 +0000)]
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
Matt Corallo [Fri, 16 Nov 2018 16:47:50 +0000 (11:47 -0500)]
Merge pull request #253 from TheBlueMatt/2018-11-misc-tweaks
Misc Tweaks
Antoine Riard [Thu, 1 Nov 2018 03:19:37 +0000 (03:19 +0000)]
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
Antoine Riard [Wed, 31 Oct 2018 02:51:25 +0000 (02:51 +0000)]
Add test_claim_sizeable_push_msat
Aims to cover both claiming of sizeable_push_msat and
spendable output generation for to_local output
Antoine Riard [Sun, 11 Nov 2018 20:59:03 +0000 (15:59 -0500)]
Add TxOut in DynamicOutput
Antoine Riard [Wed, 31 Oct 2018 02:49:19 +0000 (02:49 +0000)]
Track local_commitment_tx at funding_created
Goal to claim sizeable push_msat and in event of
local commitment tx being broadcast without htlcs
Antoine Riard [Wed, 31 Oct 2018 02:45:50 +0000 (02:45 +0000)]
Implement spendable output to_local output on local commitment tx
Matt Corallo [Thu, 15 Nov 2018 17:37:44 +0000 (06:37 +1300)]
Merge pull request #249 from stevenroose/bitcoin-0.15
Update to rust-bitcoin v0.15
Matt Corallo [Sun, 4 Nov 2018 01:56:54 +0000 (12:56 +1100)]
Panic if funding transaction has non-witness inputs
Matt Corallo [Sun, 4 Nov 2018 08:35:37 +0000 (19:35 +1100)]
Clarify get_update_*_htlc docs and tweak one case slightly
Matt Corallo [Sat, 3 Nov 2018 03:52:44 +0000 (23:52 -0400)]
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.
Philip Robinson [Tue, 30 Oct 2018 12:31:57 +0000 (14:31 +0200)]
Check affordability of new fee during update_fee call #204
Steven Roose [Sun, 11 Nov 2018 22:40:01 +0000 (22:40 +0000)]
Update to rust-bitcoin v0.15
Matt Corallo [Tue, 13 Nov 2018 22:50:54 +0000 (09:20 +1030)]
Merge pull request #248 from TheBlueMatt/2018-11-monitor-test-split
Split up channel_monitor_network_test a little bit
Matt Corallo [Tue, 13 Nov 2018 20:48:40 +0000 (07:18 +1030)]
Merge pull request #247 from TheBlueMatt/2018-11-202-redux
Handle-initial_routing_sync-requests-from-peers-in-their-Init-messages
Matt Corallo [Fri, 9 Nov 2018 04:31:53 +0000 (15:01 +1030)]
Split up channel_monitor_network_test a little bit
Schalk van Heerden [Tue, 2 Oct 2018 14:02:17 +0000 (16:02 +0200)]
Handle-initial_routing_sync-requests-from-peers-in-their-Init-messages
Antoine Riard [Thu, 8 Nov 2018 02:21:28 +0000 (02:21 +0000)]
Add test justice tx on revoked htlc_success
Extend channel_monitor_network_test to cover
all check_spend_remote_htlc cases
Matt Corallo [Mon, 5 Nov 2018 21:14:34 +0000 (16:14 -0500)]
Merge pull request #242 from yuntai/201811-malformed
Fail channel when BADONION is not set
Yuntai Kyong [Mon, 5 Nov 2018 12:10:17 +0000 (21:10 +0900)]
fail channel when BADONION is not set.
Matt Corallo [Sat, 3 Nov 2018 03:59:59 +0000 (23:59 -0400)]
Merge pull request #241 from TheBlueMatt/2018-10-peer-free-panic
Fix pre-noise outbound peer disconnect panic found by fuzzer
Matt Corallo [Sat, 3 Nov 2018 03:07:54 +0000 (23:07 -0400)]
Merge pull request #233 from TheBlueMatt/2018-10-shutdown-updates
Shutdown Updates
Matt Corallo [Fri, 2 Nov 2018 01:45:59 +0000 (21:45 -0400)]
Test the various shutdown handling updates
Matt Corallo [Thu, 1 Nov 2018 21:17:28 +0000 (17:17 -0400)]
Rebroadcast shutdown on channel_reestablish (and reprocess them)
Matt Corallo [Thu, 1 Nov 2018 21:12:20 +0000 (17:12 -0400)]
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.
Matt Corallo [Wed, 31 Oct 2018 01:47:56 +0000 (21:47 -0400)]
Fail incoming HTLCs sent after we start shutdown, not the chan
Matt Corallo [Fri, 2 Nov 2018 14:54:25 +0000 (10:54 -0400)]
Avoid double-panic in full_stack_target to assist debugging
Matt Corallo [Fri, 2 Nov 2018 14:50:32 +0000 (10:50 -0400)]
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.
Matt Corallo [Fri, 2 Nov 2018 14:45:29 +0000 (10:45 -0400)]
Add logging for (dis)connect in peer_handler/channelmanager
Matt Corallo [Tue, 30 Oct 2018 20:25:38 +0000 (16:25 -0400)]
Send closing_signed when appropriate as pending HTLCs clear
Matt Corallo [Tue, 30 Oct 2018 19:53:34 +0000 (15:53 -0400)]
Always send Shutdown resposnes to Shutdown messages
We always require that any changes to Channel state be committed
immediately (within the same lock) so we should never have
uncommitted changes which would prevent us from sending a Shutdown
response.
Matt Corallo [Tue, 30 Oct 2018 18:39:20 +0000 (14:39 -0400)]
Refactor out first-closing-sent creation
Matt Corallo [Mon, 29 Oct 2018 21:38:16 +0000 (17:38 -0400)]
Use ChannelError in shutdown handling, clean up, impl err actions
Matt Corallo [Tue, 30 Oct 2018 00:21:47 +0000 (20:21 -0400)]
Add warnings reminding users to use SegWit funding inputs
Matt Corallo [Thu, 1 Nov 2018 02:44:16 +0000 (22:44 -0400)]
Merge pull request #235 from TheBlueMatt/2018-10-229-redux
Bug fix using same seed sequence for channel key geneartion
Yuntai Kyong [Sun, 28 Oct 2018 05:35:49 +0000 (14:35 +0900)]
Bug fix using same seed sequence for channel key geneartion
Matt Corallo [Wed, 31 Oct 2018 20:25:29 +0000 (16:25 -0400)]
Merge pull request #234 from TheBlueMatt/2018-10-169-redux
169 Tweaked
Schalk van Heerden [Wed, 31 Oct 2018 18:51:39 +0000 (14:51 -0400)]
Added config interface to allow users to specify channel limits
Matt Corallo [Wed, 31 Oct 2018 18:45:29 +0000 (14:45 -0400)]
Require at least 1k sat for outbound channels and meet BTC's dust
Matt Corallo [Wed, 31 Oct 2018 18:38:07 +0000 (14:38 -0400)]
Use non-funder's funding block wait instead of max with ours
This is both required by the protocol and also makes sense - if
we're the funder we don't mind accepting payment on the channel
after one confirmation because we assume we won't double-spend
ourselves.
Matt Corallo [Wed, 31 Oct 2018 19:05:19 +0000 (15:05 -0400)]
Merge pull request #232 from TheBlueMatt/master
Fix a full_stack_target crash
Matt Corallo [Mon, 29 Oct 2018 18:24:21 +0000 (14:24 -0400)]
[full_stack_target] don't allow double-confirming txn
Matt Corallo [Mon, 29 Oct 2018 17:38:15 +0000 (13:38 -0400)]
Give ManyChannelMonitor a logger and trace add_update events
Matt Corallo [Sat, 27 Oct 2018 14:49:05 +0000 (10:49 -0400)]
Merge pull request #226 from TheBlueMatt/2018-10-0.0.6
Bump version to 0.0.6
Matt Corallo [Sat, 27 Oct 2018 14:46:12 +0000 (10:46 -0400)]
Merge pull request #223 from TheBlueMatt/2018-10-chanmanager-serialize
Implement and document Channel/ChannelManager (de)serialization
Matt Corallo [Sat, 27 Oct 2018 14:46:04 +0000 (10:46 -0400)]
Merge pull request #222 from TheBlueMatt/2018-10-pre-commit-disconnect
Fix and test update_add_htlc but disconnect pre-commitment_signed
Matt Corallo [Sat, 27 Oct 2018 14:45:53 +0000 (10:45 -0400)]
Merge pull request #217 from TheBlueMatt/2018-10-msg-resp-overhaul
Send ChannelManager messages out-of-band to ensure ordered delivery
Matt Corallo [Sat, 27 Oct 2018 14:45:43 +0000 (10:45 -0400)]
Merge pull request #225 from TheBlueMatt/2018-10-214-redo
Keys Interface Simplification
Matt Corallo [Fri, 26 Oct 2018 21:24:46 +0000 (17:24 -0400)]
Bump version to 0.0.6
Matt Corallo [Fri, 26 Oct 2018 18:39:14 +0000 (14:39 -0400)]
Add very basic test of ChannelManager serialization round-trip
Matt Corallo [Sat, 27 Oct 2018 05:45:15 +0000 (01:45 -0400)]
fix broken state comparison (thanks @yuntai!)
Matt Corallo [Fri, 26 Oct 2018 18:35:50 +0000 (14:35 -0400)]
Implement and document Channel/ChannelManager (de)serialization
Matt Corallo [Fri, 26 Oct 2018 20:46:46 +0000 (16:46 -0400)]
Fix + test disconnect/reconnect prior to FundingLocked
Matt Corallo [Sat, 20 Oct 2018 22:48:14 +0000 (18:48 -0400)]
Fix and test update_add_htlc but disconnect pre-commitment_signed
Matt Corallo [Sat, 20 Oct 2018 22:17:19 +0000 (18:17 -0400)]
Avoid reentrancy of send_data from PeerHandler::read_bytes.
This greatly simplifies clients of PeerHandler, and because almost
all response messages have already been moved to process_events
this doesn't change much effeciency-wise.
Antoine Riard [Fri, 26 Oct 2018 17:41:07 +0000 (13:41 -0400)]
Integrate destination_script from KeysInterface in ChannelManager/Channel
Drop channel_monitor_claim_key from ChannelKeys
Matt Corallo [Thu, 25 Oct 2018 16:56:02 +0000 (12:56 -0400)]
Store+expose bits of Channel[Monitor] to figure out local state
Matt Corallo [Sat, 20 Oct 2018 21:50:34 +0000 (17:50 -0400)]
Send channel_reestablish out-of-band to ensure ordered deliver
Antoine Riard [Fri, 26 Oct 2018 17:35:57 +0000 (13:35 -0400)]
Integrate shutdown_pubkey from KeysInterface in ChannelManager/Channel
Drop channel_close_key from ChannelKeys
Matt Corallo [Wed, 24 Oct 2018 17:59:03 +0000 (13:59 -0400)]
Track ChannelMonitor-watched-outpoints (+ remove now-uesless Mutex)
Matt Corallo [Sat, 20 Oct 2018 21:18:53 +0000 (17:18 -0400)]
Respond to channel_reestablish out-of-band for ordered delivery
Antoine Riard [Fri, 26 Oct 2018 15:40:01 +0000 (11:40 -0400)]
Integrate KeysInterface to ChannelManager with Arc
Matt Corallo [Wed, 24 Oct 2018 15:14:12 +0000 (11:14 -0400)]
Track last_block_hash in ChannelMonitor and expose it on deser
Also make block_connected take a &mut self to ensure serialized
state will always be self-consistent.
Matt Corallo [Sat, 20 Oct 2018 16:56:42 +0000 (12:56 -0400)]
Send RAA/CS messages out-of-band to ensure ordered delivery
Antoine Riard [Fri, 26 Oct 2018 15:21:33 +0000 (11:21 -0400)]
Implement KeysInterface for KeysManager util
Matt Corallo [Wed, 24 Oct 2018 14:34:16 +0000 (10:34 -0400)]
Redo ChannelMonitor deserialization to avoid read_to_end()
This slightly changes the serialization format, but we're still
early enough that that's OK.
Matt Corallo [Sat, 20 Oct 2018 01:50:16 +0000 (21:50 -0400)]
Send shutdown/closing_signed msgs out-of-band for ordered delivery
Matt Corallo [Wed, 24 Oct 2018 14:33:42 +0000 (10:33 -0400)]
impl some additional (de)serializers, including a u48 wrapper type
Matt Corallo [Fri, 19 Oct 2018 21:30:52 +0000 (17:30 -0400)]
Send announcement_signatures msgs out-of-band for ordered delivery
Matt Corallo [Fri, 19 Oct 2018 01:34:41 +0000 (21:34 -0400)]
impl Readable/Writable for Route
Matt Corallo [Fri, 19 Oct 2018 21:06:40 +0000 (17:06 -0400)]
Send funding_signed messages out-of-band to ensure ordered delivery
Matt Corallo [Sat, 20 Oct 2018 22:46:03 +0000 (18:46 -0400)]
Add a BIG lock to ChannelManager
During normal operation we should never need to take this, so we
use a RwLock that allows normal parallelism until we want to
serialize out our ChannelManager, at which point we can take the
write-mode lock.
Matt Corallo [Fri, 19 Oct 2018 20:49:12 +0000 (16:49 -0400)]
Send AcceptChannel responses out-of-band to ensure ordered delivery
Matt Corallo [Thu, 18 Oct 2018 19:00:12 +0000 (15:00 -0400)]
Give ChannelMonitor a logger via new ReadableArgs trait
Matt Corallo [Fri, 19 Oct 2018 20:25:32 +0000 (16:25 -0400)]
Split Event, move MessageSendEvent push() inside channel_state lock
Matt Corallo [Thu, 18 Oct 2018 18:58:56 +0000 (14:58 -0400)]
Add a second Readable trait for state args, clean macros slightly
Matt Corallo [Thu, 18 Oct 2018 18:17:20 +0000 (14:17 -0400)]
Store [u8; 32]s instead of SharedSecrets (for deserialization)
Antoine Riard [Fri, 26 Oct 2018 15:15:55 +0000 (11:15 -0400)]
Add a KeysInterface which provides keys from user
Move ChannelKeys into keysinterface for generate a set of it from
master_seed and change return type to panic on bogus data
Antoine Riard [Fri, 19 Oct 2018 02:44:40 +0000 (02:44 +0000)]
Generate Events from ChannelMonitor to indicate spendable ouputs
Extend KeyStorage with delayed_payment_base_key and per_commitment_point
to derive local_delayed private key
Matt Corallo [Fri, 26 Oct 2018 01:21:54 +0000 (21:21 -0400)]
Merge pull request #224 from TheBlueMatt/2018-10-221-whitespace
#221 with a few trailing spaces removed
Yuntai Kyong [Thu, 25 Oct 2018 22:35:09 +0000 (07:35 +0900)]
Comments updated for PaymentReceived
Matt Corallo [Thu, 25 Oct 2018 19:19:06 +0000 (15:19 -0400)]
Merge pull request #220 from TheBlueMatt/2018-10-oops-xxx
Fix XXXs that slipped into router and handle HTLCFailCHannelUpdates
Matt Corallo [Thu, 25 Oct 2018 18:33:10 +0000 (14:33 -0400)]
Run travis-fuzz on Rust 1.29.2 due to 1.30 breaking honggfuzz build
Yuntai Kyong [Thu, 25 Oct 2018 08:21:41 +0000 (17:21 +0900)]
Add PaymentFailReason for fail_htlc_backwards
to indicate fail reason after a PaymentReceived event
Matt Corallo [Wed, 24 Oct 2018 04:44:15 +0000 (00:44 -0400)]
Fix XXXs that slipped into router and handle HTLCFailCHannelUpdates
Matt Corallo [Tue, 23 Oct 2018 20:45:50 +0000 (16:45 -0400)]
Merge pull request #213 from TheBlueMatt/2018-10-monitor-fail-pause
Add ChannelManager support for monitor update failure in one place