rust-lightning
5 years agoAdd more docs to transaction::OutPoint 2018-08-33-cleanups
Matt Corallo [Fri, 29 Jun 2018 21:38:05 +0000 (17:38 -0400)]
Add more docs to transaction::OutPoint

5 years agoCleanups after #33, plus one unrelated bugfix spotted in #33 review
Matt Corallo [Fri, 29 Jun 2018 21:23:50 +0000 (17:23 -0400)]
Cleanups after #33, plus one unrelated bugfix spotted in #33 review

5 years agoAdd the `OutPoint` type for the `ChannelMonitor`'s funding_txo field.
Jean Pierre Dudey [Wed, 27 Jun 2018 13:11:58 +0000 (09:11 -0400)]
Add the `OutPoint` type for the `ChannelMonitor`'s funding_txo field.

This structure replaces the (Sha256dHash, u16) tuple that was being used
for the funding output.

Signed-off-by: Jean Pierre Dudey <jeandudey@hotmail.com>
5 years agoMerge pull request #30 from TheBlueMatt/master
Matt Corallo [Sun, 17 Jun 2018 04:09:21 +0000 (00:09 -0400)]
Merge pull request #30 from TheBlueMatt/master

Working initial routing sync from lnd node

5 years agoFix message targets to not have an internal loop
Matt Corallo [Sun, 17 Jun 2018 03:11:37 +0000 (23:11 -0400)]
Fix message targets to not have an internal loop

5 years agoAdd ping/pong fuzz targets
Matt Corallo [Sat, 16 Jun 2018 23:48:09 +0000 (19:48 -0400)]
Add ping/pong fuzz targets

5 years agoSend initial_routing_sync-filled Init messages to the first 5 peers
Matt Corallo [Sat, 16 Jun 2018 23:39:40 +0000 (19:39 -0400)]
Send initial_routing_sync-filled Init messages to the first 5 peers

5 years agoSupport responding to Ping messages in peer_handler
Matt Corallo [Sat, 16 Jun 2018 23:39:21 +0000 (19:39 -0400)]
Support responding to Ping messages in peer_handler

5 years agoWork around lnd sending invalid messages
Matt Corallo [Sat, 16 Jun 2018 23:20:50 +0000 (19:20 -0400)]
Work around lnd sending invalid messages

5 years agoSupport ignoring some errors, deserialize empty flags types
Matt Corallo [Sat, 16 Jun 2018 23:04:42 +0000 (19:04 -0400)]
Support ignoring some errors, deserialize empty flags types

5 years agoMerge pull request #29 from TheBlueMatt/2018-06-api-quirks
Matt Corallo [Thu, 14 Jun 2018 22:31:36 +0000 (18:31 -0400)]
Merge pull request #29 from TheBlueMatt/2018-06-api-quirks

Some API Quirks

5 years agoMake PeerHandleError Error impl public 2018-06-api-quirks
Matt Corallo [Thu, 14 Jun 2018 22:03:16 +0000 (18:03 -0400)]
Make PeerHandleError Error impl public

5 years agoRemove bitcoincorerpcchain, as it belongs in a separate crate
Matt Corallo [Thu, 14 Jun 2018 20:48:06 +0000 (16:48 -0400)]
Remove bitcoincorerpcchain, as it belongs in a separate crate

5 years agoProvide Send + Sync on message handlers (just changes trait)
Matt Corallo [Thu, 14 Jun 2018 18:21:20 +0000 (14:21 -0400)]
Provide Send + Sync on message handlers (just changes trait)

5 years agoMerge pull request #28 from TheBlueMatt/master
Matt Corallo [Tue, 5 Jun 2018 00:42:30 +0000 (20:42 -0400)]
Merge pull request #28 from TheBlueMatt/master

fuzztarget sha -> XOR, crates secp256k1

5 years agofuzztarget sha -> XOR, crates secp256k1
Matt Corallo [Thu, 26 Apr 2018 23:44:24 +0000 (19:44 -0400)]
fuzztarget sha -> XOR, crates secp256k1

5 years agoMerge pull request #26 from TheBlueMatt/master
Matt Corallo [Sun, 13 May 2018 17:54:29 +0000 (13:54 -0400)]
Merge pull request #26 from TheBlueMatt/master

Small style tweaks for new message targets for my own style preferences

5 years agoUpdate msg_target_template to note auto-generation
Matt Corallo [Sun, 13 May 2018 17:22:56 +0000 (13:22 -0400)]
Update msg_target_template to note auto-generation

5 years agoFix indentation in fuzz_target utils
Matt Corallo [Sun, 13 May 2018 17:22:43 +0000 (13:22 -0400)]
Fix indentation in fuzz_target utils

5 years agoMake travis check that msg_targets match the template
Matt Corallo [Sun, 13 May 2018 17:17:18 +0000 (13:17 -0400)]
Make travis check that msg_targets match the template

5 years agoMerge pull request #24 from yuntai/master
Matt Corallo [Sun, 13 May 2018 17:13:01 +0000 (13:13 -0400)]
Merge pull request #24 from yuntai/master

fill decode/encode routines for many messages with fuzz targets

5 years agoadd fuzz target for messages
Yuntai Kyong [Tue, 8 May 2018 12:57:20 +0000 (21:57 +0900)]
add fuzz target for messages
[[bin]] section for each new target in Cargo.toml
glob chanbes in travis-fuzz.sh

5 years agoadd script to generate msg test target
Yuntai Kyong [Sat, 12 May 2018 20:09:46 +0000 (05:09 +0900)]
add script to generate msg test target

5 years agoUpdate dependency on secp256k1 pointing to https://github.com/rust-bitcoin/rust-secp256k1
Yuntai Kyong [Tue, 8 May 2018 12:43:34 +0000 (21:43 +0900)]
Update dependency on secp256k1 pointing to https://github.com/rust-bitcoin/rust-secp256k1

5 years agofilling unimplemented!() for many messages' encoding/decoding routines
Yuntai Kyong [Tue, 8 May 2018 12:40:30 +0000 (21:40 +0900)]
filling unimplemented!() for many messages' encoding/decoding routines

5 years agoadd .gitignore
Yuntai Kyong [Mon, 7 May 2018 05:54:13 +0000 (14:54 +0900)]
add .gitignore

5 years agoMerge pull request #25 from TheBlueMatt/master
Matt Corallo [Thu, 10 May 2018 14:56:22 +0000 (10:56 -0400)]
Merge pull request #25 from TheBlueMatt/master

Fix channel_target crash fp

5 years agoMake channel_target return as channelmanager removes on shutdown
Matt Corallo [Thu, 10 May 2018 14:35:39 +0000 (10:35 -0400)]
Make channel_target return as channelmanager removes on shutdown

6 years agoSome with_capacity's
Matt Corallo [Thu, 26 Apr 2018 23:43:50 +0000 (19:43 -0400)]
Some with_capacity's

6 years agoMerge pull request #23 from TheBlueMatt/master
Matt Corallo [Thu, 26 Apr 2018 23:45:23 +0000 (19:45 -0400)]
Merge pull request #23 from TheBlueMatt/master

Fix repo link in Cargo

6 years agoFix repo link in Cargo
Matt Corallo [Thu, 26 Apr 2018 21:34:55 +0000 (17:34 -0400)]
Fix repo link in Cargo

6 years agoMerge pull request #22 from TheBlueMatt/master
Matt Corallo [Thu, 26 Apr 2018 16:19:40 +0000 (12:19 -0400)]
Merge pull request #22 from TheBlueMatt/master

Bump version for API changes.

6 years agoBump version for API changes.
Matt Corallo [Thu, 26 Apr 2018 15:39:41 +0000 (11:39 -0400)]
Bump version for API changes.

6 years agoMerge pull request #21 from TheBlueMatt/master
Matt Corallo [Thu, 26 Apr 2018 15:37:46 +0000 (11:37 -0400)]
Merge pull request #21 from TheBlueMatt/master

Begin handling errors/tx broadcasts robustly

6 years agoFix local route update broadcasts, annouce channel closures
Matt Corallo [Wed, 25 Apr 2018 00:40:22 +0000 (20:40 -0400)]
Fix local route update broadcasts, annouce channel closures

6 years agoRewrite channelmonitor framework and implement a bunch of it
Matt Corallo [Tue, 24 Apr 2018 04:19:52 +0000 (00:19 -0400)]
Rewrite channelmonitor framework and implement a bunch of it

6 years agoFix some channel remove channelmanager consistency bugs
Matt Corallo [Tue, 24 Apr 2018 04:21:38 +0000 (00:21 -0400)]
Fix some channel remove channelmanager consistency bugs

6 years agoHTLC Failure message handling
Matt Corallo [Tue, 24 Apr 2018 04:18:54 +0000 (00:18 -0400)]
HTLC Failure message handling

6 years agoMove ChannelKeys creation into channelmanager
Matt Corallo [Tue, 17 Apr 2018 16:32:52 +0000 (12:32 -0400)]
Move ChannelKeys creation into channelmanager

6 years agoMerge pull request #20 from TheBlueMatt/master
Matt Corallo [Tue, 17 Apr 2018 02:03:35 +0000 (22:03 -0400)]
Merge pull request #20 from TheBlueMatt/master

Rewrite parts of channel, cleanup a bunch of stuff

6 years agoProvide fallback for crypto's fixed_time_eq on non-x86/arm targets
Matt Corallo [Mon, 16 Apr 2018 20:55:03 +0000 (16:55 -0400)]
Provide fallback for crypto's fixed_time_eq on non-x86/arm targets

6 years agoMinor cleanups
Matt Corallo [Mon, 9 Apr 2018 01:01:13 +0000 (21:01 -0400)]
Minor cleanups

6 years agoFix commitment transaction number/per_commitment_point tracking
Matt Corallo [Sun, 8 Apr 2018 18:24:12 +0000 (14:24 -0400)]
Fix commitment transaction number/per_commitment_point tracking

6 years agoRefactor channelmanager network tests significantly
Matt Corallo [Thu, 5 Apr 2018 21:21:50 +0000 (17:21 -0400)]
Refactor channelmanager network tests significantly

6 years agoimpl more message encodings
Matt Corallo [Wed, 4 Apr 2018 15:44:33 +0000 (11:44 -0400)]
impl more message encodings

6 years agoCompletely rewrite channel HTLC tracking and processing
Matt Corallo [Wed, 4 Apr 2018 15:56:54 +0000 (11:56 -0400)]
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.

6 years agoPrep HTLCFailReason for Channel holding it until revoke_and_ack
Matt Corallo [Tue, 3 Apr 2018 18:59:23 +0000 (14:59 -0400)]
Prep HTLCFailReason for Channel holding it until revoke_and_ack

6 years agoUse libbitcoinconsensus to check tx validity in some tests
Matt Corallo [Mon, 2 Apr 2018 22:28:50 +0000 (18:28 -0400)]
Use libbitcoinconsensus to check tx validity in some tests

6 years agoTest that channel monitors get updated appropriately
Matt Corallo [Mon, 2 Apr 2018 16:06:22 +0000 (12:06 -0400)]
Test that channel monitors get updated appropriately

6 years agoHand payment preimages into channel monitors when claimed
Matt Corallo [Mon, 2 Apr 2018 15:45:40 +0000 (11:45 -0400)]
Hand payment preimages into channel monitors when claimed

6 years agoSwitch back to crates.io rust-bitcoin for 0.13 release
Matt Corallo [Tue, 17 Apr 2018 00:33:39 +0000 (20:33 -0400)]
Switch back to crates.io rust-bitcoin for 0.13 release

6 years agoMerge pull request #19 from TheBlueMatt/2018-04-error-handling-framework
Matt Corallo [Mon, 2 Apr 2018 23:43:46 +0000 (19:43 -0400)]
Merge pull request #19 from TheBlueMatt/2018-04-error-handling-framework

Clean up peer_handler error handling a bit, clean up channel error handling a ton

6 years agoFix travis-fuzz upgrade-handling 2018-04-error-handling-framework
Matt Corallo [Mon, 2 Apr 2018 22:39:26 +0000 (18:39 -0400)]
Fix travis-fuzz upgrade-handling

6 years agoRemove useless htlc_redeemscript argument
Matt Corallo [Mon, 2 Apr 2018 22:00:55 +0000 (18:00 -0400)]
Remove useless htlc_redeemscript argument

6 years agoClean up channel error handling a ton
Matt Corallo [Sun, 1 Apr 2018 23:54:14 +0000 (19:54 -0400)]
Clean up channel error handling a ton

6 years agoBasic error handling framework in peer_handler
Matt Corallo [Sun, 1 Apr 2018 23:23:09 +0000 (19:23 -0400)]
Basic error handling framework in peer_handler

6 years agoRequire Init as first message, send our own Init for outbound
Matt Corallo [Sun, 1 Apr 2018 23:21:26 +0000 (19:21 -0400)]
Require Init as first message, send our own Init for outbound

6 years agoRename ErrorMessage
Matt Corallo [Sun, 1 Apr 2018 21:20:59 +0000 (17:20 -0400)]
Rename ErrorMessage

6 years agoMerge pull request #18 from TheBlueMatt/2018-04-fuzzing-expansion
Matt Corallo [Mon, 2 Apr 2018 22:27:23 +0000 (18:27 -0400)]
Merge pull request #18 from TheBlueMatt/2018-04-fuzzing-expansion

 Expand full_stack_target from uselessly-large to laughably-large

6 years agoMerge pull request #17 from TheBlueMatt/2017-04-channel-close
Matt Corallo [Mon, 2 Apr 2018 22:14:24 +0000 (18:14 -0400)]
Merge pull request #17 from TheBlueMatt/2017-04-channel-close

 Add support for channel closure (based on new upstream rust-bitcoin)

6 years agoCheck funding txout format when transaction is confirmed in channel 2018-04-fuzzing-expansion
Matt Corallo [Fri, 30 Mar 2018 17:40:08 +0000 (13:40 -0400)]
Check funding txout format when transaction is confirmed in channel

6 years agoMake Channel non-public except in fuzztarget mode, bump version 2017-04-channel-close
Matt Corallo [Tue, 27 Mar 2018 15:18:10 +0000 (11:18 -0400)]
Make Channel non-public except in fuzztarget mode, bump version

6 years agoFix a small bug in peer_handler
Matt Corallo [Thu, 29 Mar 2018 20:42:44 +0000 (16:42 -0400)]
Fix a small bug in peer_handler

6 years agoExpose event-processing loop from peer_handler.
Matt Corallo [Tue, 27 Mar 2018 15:17:40 +0000 (11:17 -0400)]
Expose event-processing loop from peer_handler.

6 years agoFix message decoding for features, build some encoding
Matt Corallo [Thu, 29 Mar 2018 20:40:32 +0000 (16:40 -0400)]
Fix message decoding for features, build some encoding

6 years agoAdd support for initiating channel closure to Channel{,Manager}
Matt Corallo [Tue, 27 Mar 2018 15:16:53 +0000 (11:16 -0400)]
Add support for initiating channel closure to Channel{,Manager}

6 years agoUpdate TODOs in README
Matt Corallo [Tue, 27 Mar 2018 16:31:05 +0000 (12:31 -0400)]
Update TODOs in README

6 years agoExpand full_stack_target from uselessly-large to laughably-large
Matt Corallo [Tue, 27 Mar 2018 15:34:22 +0000 (11:34 -0400)]
Expand full_stack_target from uselessly-large to laughably-large

6 years agoHandle incoming shutdown messages
Matt Corallo [Mon, 26 Mar 2018 20:48:18 +0000 (16:48 -0400)]
Handle incoming shutdown messages

6 years agoUpdate for new rust-bitcoin API, avoid some duplicate hashing
Matt Corallo [Mon, 26 Mar 2018 18:03:59 +0000 (14:03 -0400)]
Update for new rust-bitcoin API, avoid some duplicate hashing

6 years agoMerge pull request #16 from TheBlueMatt/2018-03-fixups
Matt Corallo [Tue, 27 Mar 2018 16:54:54 +0000 (12:54 -0400)]
Merge pull request #16 from TheBlueMatt/2018-03-fixups

Assorted fixes/cleanups

6 years agoFix double-locking in channelmanager 2018-03-fixups
Matt Corallo [Sun, 25 Mar 2018 19:48:41 +0000 (15:48 -0400)]
Fix double-locking in channelmanager

6 years agoStop allowing new commitments without updates/revoke
Matt Corallo [Sun, 25 Mar 2018 19:48:12 +0000 (15:48 -0400)]
Stop allowing new commitments without updates/revoke

6 years agoStop freeing holding cell in updates, fix freeing in revoke
Matt Corallo [Sun, 25 Mar 2018 19:47:47 +0000 (15:47 -0400)]
Stop freeing holding cell in updates, fix freeing in revoke

6 years agoFix update_fee handling, add TODOs
Matt Corallo [Sun, 25 Mar 2018 17:20:44 +0000 (13:20 -0400)]
Fix update_fee handling, add TODOs

6 years agoimpl more message decoders
Matt Corallo [Sat, 24 Mar 2018 01:12:07 +0000 (21:12 -0400)]
impl more message decoders

6 years agoExpand fake_network_test a bit with multiple in-flight rebalances
Matt Corallo [Fri, 23 Mar 2018 23:14:21 +0000 (19:14 -0400)]
Expand fake_network_test a bit with multiple in-flight rebalances

6 years agoFail payments backwards in delayed processing as well
Matt Corallo [Fri, 23 Mar 2018 21:09:09 +0000 (17:09 -0400)]
Fail payments backwards in delayed processing as well

6 years agoHold channel_state lock into fail_htlc_backwards_internal
Matt Corallo [Fri, 23 Mar 2018 20:57:22 +0000 (16:57 -0400)]
Hold channel_state lock into fail_htlc_backwards_internal

6 years agoDRY up update_add_htlc a bit with macros
Matt Corallo [Fri, 23 Mar 2018 20:56:45 +0000 (16:56 -0400)]
DRY up update_add_htlc a bit with macros

6 years agoFix new "uneccessary mut" warning
Matt Corallo [Fri, 23 Mar 2018 17:21:19 +0000 (13:21 -0400)]
Fix new "uneccessary mut" warning

6 years agoMerge pull request #15 from TheBlueMatt/master
Matt Corallo [Fri, 23 Mar 2018 17:35:35 +0000 (13:35 -0400)]
Merge pull request #15 from TheBlueMatt/master

Add fuzz targets, bump bitcoin/secp256k1 deps

6 years agoSet travis to run honggfuzz for a while
Matt Corallo [Thu, 22 Mar 2018 21:52:07 +0000 (17:52 -0400)]
Set travis to run honggfuzz for a while

6 years agoAdd some fuzz targets.
Matt Corallo [Mon, 19 Mar 2018 21:45:58 +0000 (17:45 -0400)]
Add some fuzz targets.

Sadly none of them are really any good without some hand-holding to
generate good input data, and unless sha256 gets stubbed out I'm
not sure they're gonna get good without a symbolic execution fuzzer

6 years agoAdd dummy creator for PendingForwardHTLCInfo
Matt Corallo [Mon, 19 Mar 2018 23:55:05 +0000 (19:55 -0400)]
Add dummy creator for PendingForwardHTLCInfo

6 years agoStub out Sha256 calls when fuzzing
Matt Corallo [Tue, 20 Mar 2018 00:34:27 +0000 (20:34 -0400)]
Stub out Sha256 calls when fuzzing

6 years agoStub out ChaCha20Poly1305RFC when fuzzing
Matt Corallo [Mon, 19 Mar 2018 21:34:51 +0000 (17:34 -0400)]
Stub out ChaCha20Poly1305RFC when fuzzing

6 years agoStub out RNG when fuzzing
Matt Corallo [Mon, 19 Mar 2018 19:15:10 +0000 (15:15 -0400)]
Stub out RNG when fuzzing

6 years agoAdd fuzztarget feature, bump bitcoin/secp256k1
Matt Corallo [Mon, 19 Mar 2018 21:46:06 +0000 (17:46 -0400)]
Add fuzztarget feature, bump bitcoin/secp256k1

6 years agoMerge pull request #14 from TheBlueMatt/2018-03-fuzz-fixes-1
Matt Corallo [Fri, 23 Mar 2018 17:15:47 +0000 (13:15 -0400)]
Merge pull request #14 from TheBlueMatt/2018-03-fuzz-fixes-1

Impl some message deserialization, initial fuzzing-found bug fixes

6 years agoCheck validity of dust_limit_satoshis in remote messages 2018-03-fuzz-fixes-1
Matt Corallo [Thu, 22 Mar 2018 21:40:53 +0000 (17:40 -0400)]
Check validity of dust_limit_satoshis in remote messages

6 years agoFix reserve check on HTLC receive/send
Matt Corallo [Wed, 21 Mar 2018 22:49:33 +0000 (18:49 -0400)]
Fix reserve check on HTLC receive/send

6 years agoimpl a bunch of additional messages, remove some useless mut
Matt Corallo [Thu, 22 Mar 2018 21:42:57 +0000 (17:42 -0400)]
impl a bunch of additional messages, remove some useless mut

6 years agoRemove useless Sha256 copies
Matt Corallo [Wed, 21 Mar 2018 22:48:41 +0000 (18:48 -0400)]
Remove useless Sha256 copies

6 years agoMerge pull request #13 from TheBlueMatt/2018-03-htlc-failures
Matt Corallo [Thu, 22 Mar 2018 21:40:07 +0000 (17:40 -0400)]
Merge pull request #13 from TheBlueMatt/2018-03-htlc-failures

 Clarify roles in failing HTLCs, implement most of it

6 years agoClarify roles in failing HTLCs, impl it, support rebalances 2018-03-htlc-failures
Matt Corallo [Tue, 20 Mar 2018 23:11:27 +0000 (19:11 -0400)]
Clarify roles in failing HTLCs, impl it, support rebalances

6 years agoFix length requirement in peer_handler msg decode
Matt Corallo [Tue, 20 Mar 2018 20:41:33 +0000 (16:41 -0400)]
Fix length requirement in peer_handler msg decode

6 years agoMerge pull request #12 from TheBlueMatt/2018-03-fixes
Matt Corallo [Tue, 20 Mar 2018 18:08:23 +0000 (14:08 -0400)]
Merge pull request #12 from TheBlueMatt/2018-03-fixes

Few random fixes

6 years agoAllow messages to be too long in accorance with spec 2018-03-fixes
Matt Corallo [Tue, 20 Mar 2018 18:03:33 +0000 (14:03 -0400)]
Allow messages to be too long in accorance with spec

6 years agoFix a few bugs in peer_handler
Matt Corallo [Mon, 19 Mar 2018 21:26:29 +0000 (17:26 -0400)]
Fix a few bugs in peer_handler