ldk-sample
2 years agoMakes send_raw_transaction return Txid instead of RawTx
Sergi Delgado Segura [Thu, 26 Aug 2021 15:14:31 +0000 (17:14 +0200)]
Makes send_raw_transaction return Txid instead of RawTx

'bitcoind_client::send_raw_transaction' was returning 'RawTx' which, while syntactically correct (it's a wrapper around String), made no sense conceptually.

Since rust-bitcoin/rust-lightning@f65d05c, `Txid` can be used instead.

2 years agoBumps lightning dependencies
Sergi Delgado Segura [Thu, 26 Aug 2021 15:11:53 +0000 (17:11 +0200)]
Bumps lightning dependencies

'rust-lightning' needs to be bumped to v0.0.100 rev d523b6e so 'TryInto::<Txid>' can be found in 'lightning-block-sync'. Bumping it any further will change 'PeerManager's API due to https://github.com/rust-bitcoin/rust-lightning/commit/45853b3a956f83569dff1010a43a33c57487698a

2 years agoMerge pull request #32 from lightningdevkit/2021-08-skip-change-check
valentinewallace [Wed, 18 Aug 2021 15:50:53 +0000 (11:50 -0400)]
Merge pull request #32 from lightningdevkit/2021-08-skip-change-check

Drop unused change output calculation

2 years agoDrop unused change output calculation
Matt Corallo [Wed, 18 Aug 2021 15:48:16 +0000 (15:48 +0000)]
Drop unused change output calculation

We don't need this at all anymore since LDK automatically scans
for the correct output index these days.

Fixes #31.

2 years agoMerge pull request #30 from lightningdevkit/2021-08-more-failure-codes
valentinewallace [Tue, 17 Aug 2021 15:53:10 +0000 (11:53 -0400)]
Merge pull request #30 from lightningdevkit/2021-08-more-failure-codes

Allow "rejecting replacement" tx broadcast error

2 years agoAllow "rejecting replacement" tx broadcast error
Matt Corallo [Tue, 17 Aug 2021 01:33:01 +0000 (01:33 +0000)]
Allow "rejecting replacement" tx broadcast error

We occasionally will attempt to broadcast transactions which conflicting
with mempool transactions which are marked RBF. If we don't have a
higher fee, we'll get a "rejecting replacement" error, which should not
cause a panic.

2 years agoMerge pull request #29 from TheBlueMatt/main
valentinewallace [Fri, 13 Aug 2021 19:37:49 +0000 (15:37 -0400)]
Merge pull request #29 from TheBlueMatt/main

Update to latest upstream rust-lightning, bumping deps

2 years agoUpdate Cargo.lock with updated deps
Matt Corallo [Fri, 13 Aug 2021 19:27:12 +0000 (19:27 +0000)]
Update Cargo.lock with updated deps

2 years agoUpdate to latest upstream rust-lightning, bumping deps
Matt Corallo [Fri, 13 Aug 2021 19:26:57 +0000 (19:26 +0000)]
Update to latest upstream rust-lightning, bumping deps

2 years agoMerge pull request #26 from TheBlueMatt/main
valentinewallace [Fri, 6 Aug 2021 22:37:15 +0000 (18:37 -0400)]
Merge pull request #26 from TheBlueMatt/main

Display our local balance in addition to the available-for-send balance

2 years agoMerge pull request #24 from jkczyz/2021-07-background-processor
Matt Corallo [Sun, 1 Aug 2021 19:48:24 +0000 (19:48 +0000)]
Merge pull request #24 from jkczyz/2021-07-background-processor

Explicitly stop BackgroundProcessor

2 years agoDisplay our local balance in addition to the available-for-send balance
Matt Corallo [Fri, 30 Jul 2021 16:21:06 +0000 (16:21 +0000)]
Display our local balance in addition to the available-for-send balance

2 years agoMerge pull request #25 from valentinewallace/2021-06-keysend
Matt Corallo [Wed, 28 Jul 2021 22:01:50 +0000 (22:01 +0000)]
Merge pull request #25 from valentinewallace/2021-06-keysend

Keysend

2 years agoKeysend support
Valentine Wallace [Wed, 28 Jul 2021 21:49:49 +0000 (17:49 -0400)]
Keysend support

2 years agoDon't force announced channel preference
Valentine Wallace [Wed, 28 Jul 2021 21:47:54 +0000 (17:47 -0400)]
Don't force announced channel preference

2 years agoMerge pull request #22 from TheBlueMatt/main
valentinewallace [Wed, 28 Jul 2021 21:22:37 +0000 (14:22 -0700)]
Merge pull request #22 from TheBlueMatt/main

Allow multiple publicly-announced addresses and avoid funding panic

2 years agoExplicitly stop BackgroundProcessor
Jeffrey Czyz [Sun, 18 Jul 2021 17:33:15 +0000 (12:33 -0500)]
Explicitly stop BackgroundProcessor

An upcoming change will stop the BackgroundProcessor's thread upon drop.
Store the processor in a variable and explicitly stop it. Otherwise, the
thread would be stopped immediately after it is started.

2 years agoMerge pull request #23 from valentinewallace/2021-07-0.0.99-bump
Matt Corallo [Wed, 14 Jul 2021 20:36:04 +0000 (20:36 +0000)]
Merge pull request #23 from valentinewallace/2021-07-0.0.99-bump

Update to RL upstream 0.0.99

2 years agoUpdate to RL upstream 0.0.99
Valentine Wallace [Wed, 14 Jul 2021 20:32:54 +0000 (16:32 -0400)]
Update to RL upstream 0.0.99

2 years agoDo not panic if we fail to fund a channel
Matt Corallo [Mon, 5 Jul 2021 02:34:33 +0000 (02:34 +0000)]
Do not panic if we fail to fund a channel

I saw this where a bitcoind was hung connecting a block, and while
we were waiting the peer refused the channel via an error message.
When bitcoind eventually returned, we paniced as the channel was
now gone.

2 years agoAllow multiple publicly-announced addresses
Matt Corallo [Mon, 5 Jul 2021 00:00:01 +0000 (00:00 +0000)]
Allow multiple publicly-announced addresses

2 years agoMerge pull request #21 from TheBlueMatt/main
Jeffrey Czyz [Wed, 30 Jun 2021 04:11:51 +0000 (21:11 -0700)]
Merge pull request #21 from TheBlueMatt/main

Correct Feerate Calc and Tweak Funding Feerate

2 years agoUse a reasonable target fee when opening channels
Matt Corallo [Sat, 26 Jun 2021 17:21:33 +0000 (17:21 +0000)]
Use a reasonable target fee when opening channels

Bitcoin Core defaults to conservative fee estimation, which often
results in significant overtargeting on weekends. We also disable
RBF, here, though, with a comment describing how clients should
handle funding RBF.

2 years agoCorrect feerate units
Matt Corallo [Sat, 26 Jun 2021 17:19:34 +0000 (17:19 +0000)]
Correct feerate units

Lightning, unlike every other Bitcoin-related protocol or API, uses
satoshis-per-1000-weight, instead of
satoshis-per-1000-virtual-bytes. This requires a division by 4 to
calculate the correct fees when passing Bitcoin Core fees into LDK.

2 years agoMerge pull request #20 from TheBlueMatt/main
Matt Corallo [Thu, 24 Jun 2021 17:00:00 +0000 (17:00 +0000)]
Merge pull request #20 from TheBlueMatt/main

Include bad-txns-inputs-missingorspent in allowed tx-broadcast errs

2 years agoInclude bad-txns-inputs-missingorspent in allowed tx-broadcast errs
Matt Corallo [Mon, 21 Jun 2021 00:19:13 +0000 (00:19 +0000)]
Include bad-txns-inputs-missingorspent in allowed tx-broadcast errs

I saw this with Bitcoin Core 0.21.2, I guess "Inputs missing or
spent" was renamed.

2 years agoMerge pull request #14 from TheBlueMatt/main
Matt Corallo [Fri, 18 Jun 2021 20:24:21 +0000 (20:24 +0000)]
Merge pull request #14 from TheBlueMatt/main

Persist network graph

2 years agoPersist network graph
Matt Corallo [Wed, 26 May 2021 00:11:44 +0000 (00:11 +0000)]
Persist network graph

2 years agoMerge pull request #17 from jkczyz/2021-06-guide-updates
Jeffrey Czyz [Mon, 14 Jun 2021 17:03:31 +0000 (10:03 -0700)]
Merge pull request #17 from jkczyz/2021-06-guide-updates

Updates to align with Using LDK guide

2 years agoSimplify loop in connect_peer_if_necessary
Jeffrey Czyz [Fri, 11 Jun 2021 20:15:00 +0000 (13:15 -0700)]
Simplify loop in connect_peer_if_necessary

2 years agoRemove outdated comment on payment secret
Jeffrey Czyz [Fri, 11 Jun 2021 20:30:05 +0000 (13:30 -0700)]
Remove outdated comment on payment secret

2 years agoSimplify extracting fields from invoice
Jeffrey Czyz [Fri, 11 Jun 2021 20:00:34 +0000 (13:00 -0700)]
Simplify extracting fields from invoice

2 years agoInitialize UserConfig in one statement
Jeffrey Czyz [Fri, 11 Jun 2021 02:32:42 +0000 (19:32 -0700)]
Initialize UserConfig in one statement

2 years agoMerge pull request #16 from valentinewallace/update-to-0.98
Jeffrey Czyz [Fri, 11 Jun 2021 19:41:13 +0000 (12:41 -0700)]
Merge pull request #16 from valentinewallace/update-to-0.98

Update to RL upstream 0.0.98

2 years agoUpdate to RL upstream 0.0.98
Valentine Wallace [Fri, 11 Jun 2021 19:33:11 +0000 (15:33 -0400)]
Update to RL upstream 0.0.98

2 years agoMerge pull request #12 from jkczyz/2021-05-event-handler
Jeffrey Czyz [Wed, 26 May 2021 02:23:01 +0000 (19:23 -0700)]
Merge pull request #12 from jkczyz/2021-05-event-handler

Process events with BackgroundProcessor

2 years agof - Rename steps to match Build a Node guide
Jeffrey Czyz [Wed, 26 May 2021 00:13:34 +0000 (17:13 -0700)]
f - Rename steps to match Build a Node guide

2 years agoProcess events with BackgroundProcessor
Jeffrey Czyz [Wed, 12 May 2021 17:44:09 +0000 (10:44 -0700)]
Process events with BackgroundProcessor

2 years agoMerge pull request #13 from valentinewallace/fix-broadcast-tx-panic
Jeffrey Czyz [Mon, 17 May 2021 17:46:08 +0000 (10:46 -0700)]
Merge pull request #13 from valentinewallace/fix-broadcast-tx-panic

Don't panic if broadcast_transaction fails due to duplicate broadcasts

2 years agoDon't panic if broadcast_transaction fails due to duplicate broadcasts
Valentine Wallace [Thu, 13 May 2021 17:25:22 +0000 (13:25 -0400)]
Don't panic if broadcast_transaction fails due to duplicate broadcasts

or from broadcasting too early.

2 years agoMerge pull request #11 from valentinewallace/expose-channel-publicness
Jeffrey Czyz [Wed, 12 May 2021 18:35:26 +0000 (11:35 -0700)]
Merge pull request #11 from valentinewallace/expose-channel-publicness

Indicate whether a channel is public in `listchannels`

2 years agoMerge pull request #10 from valentinewallace/fix-log
Jeffrey Czyz [Wed, 12 May 2021 18:31:20 +0000 (11:31 -0700)]
Merge pull request #10 from valentinewallace/fix-log

Fix badly formatted log

2 years agoFix broken 'open public channels' feature
Valentine Wallace [Wed, 12 May 2021 17:33:19 +0000 (13:33 -0400)]
Fix broken 'open public channels' feature

2 years agoIndicate whether chan is public in listchannels
Valentine Wallace [Wed, 12 May 2021 17:23:06 +0000 (13:23 -0400)]
Indicate whether chan is public in listchannels

2 years agoUpdate `help` to include new commands and clean up parameters
Valentine Wallace [Wed, 12 May 2021 17:22:52 +0000 (13:22 -0400)]
Update `help` to include new commands and clean up parameters

2 years agoFix badly formatted log
Valentine Wallace [Wed, 12 May 2021 16:36:40 +0000 (12:36 -0400)]
Fix badly formatted log

Otherwise there's random \t\t's in the log

2 years agoMerge pull request #7 from TheBlueMatt/main
Jeffrey Czyz [Wed, 12 May 2021 16:24:31 +0000 (09:24 -0700)]
Merge pull request #7 from TheBlueMatt/main

Small tweaks to logging and printing + node_announcement

2 years agoFix on-startup peer connection due to missing await.
Matt Corallo [Wed, 5 May 2021 20:48:43 +0000 (20:48 +0000)]
Fix on-startup peer connection due to missing await.

2 years agoPrint more clear information about channel state in listchannels
Matt Corallo [Wed, 5 May 2021 18:43:38 +0000 (18:43 +0000)]
Print more clear information about channel state in listchannels

User feedback found `channel_can_send_payments` confusing on its
own, and now that we have an upstream `is_confirmed` field, print
that.

Further, it is useful to have an explicit txid field, even if if is
basically duplicative with channel_id.

2 years agoBroadcast node_announcements regularly.
Matt Corallo [Wed, 5 May 2021 02:47:42 +0000 (02:47 +0000)]
Broadcast node_announcements regularly.

2 years agoUpdate payment error messages to better match reality
Matt Corallo [Wed, 5 May 2021 00:00:04 +0000 (00:00 +0000)]
Update payment error messages to better match reality

2 years agoMerge pull request #8 from jkczyz/2021-05-git-dependencies
Jeffrey Czyz [Sat, 8 May 2021 02:54:26 +0000 (19:54 -0700)]
Merge pull request #8 from jkczyz/2021-05-git-dependencies

Use dependencies from git when building locally

2 years agoUse dependencies from git when building locally
Jeffrey Czyz [Sat, 8 May 2021 00:36:39 +0000 (17:36 -0700)]
Use dependencies from git when building locally

Specifying a version number for dependencies prevents building against
recent changes upstream. However, either `path` or `git` can be given to
be used locally while `version` is still used when publishing to a
registry like crates.io. For details, see:

https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#multiple-locations

2 years agoMerge pull request #6 from TheBlueMatt/main
Jeffrey Czyz [Tue, 4 May 2021 23:37:54 +0000 (16:37 -0700)]
Merge pull request #6 from TheBlueMatt/main

Make connections non-blocking

2 years agoSwitch to ToSocketAddrs to support connecting to hostnames not IPs
Matt Corallo [Tue, 4 May 2021 22:06:13 +0000 (22:06 +0000)]
Switch to ToSocketAddrs to support connecting to hostnames not IPs

2 years agoMake panic message for port-already-bound more human readable
Matt Corallo [Tue, 4 May 2021 20:37:45 +0000 (20:37 +0000)]
Make panic message for port-already-bound more human readable

2 years agoMake everything unreadable so rustfmt is happy
Matt Corallo [Tue, 4 May 2021 20:07:59 +0000 (20:07 +0000)]
Make everything unreadable so rustfmt is happy

2 years agoConnect to peers with tokio TcpStreams isntead of blocking tokio
Matt Corallo [Tue, 4 May 2021 20:02:27 +0000 (20:02 +0000)]
Connect to peers with tokio TcpStreams isntead of blocking tokio

2 years agoFix inbound connections by using tokio net instead of std
Matt Corallo [Tue, 4 May 2021 19:42:02 +0000 (19:42 +0000)]
Fix inbound connections by using tokio net instead of std

2 years agoMerge pull request #5 from TheBlueMatt/main
Jeffrey Czyz [Tue, 4 May 2021 19:18:02 +0000 (12:18 -0700)]
Merge pull request #5 from TheBlueMatt/main

Trivial Usability Fixes

2 years agoAdopt rustfmt's completely braindead expected formatting
Matt Corallo [Tue, 4 May 2021 18:47:06 +0000 (18:47 +0000)]
Adopt rustfmt's completely braindead expected formatting

2 years agoPrint the local Node ID on startup
Matt Corallo [Tue, 4 May 2021 18:37:14 +0000 (18:37 +0000)]
Print the local Node ID on startup

2 years agoBump to release 0.0.14
Matt Corallo [Tue, 4 May 2021 18:06:25 +0000 (18:06 +0000)]
Bump to release 0.0.14

2 years agoCheck that the node we connect to matches the user-provided chain
Matt Corallo [Tue, 4 May 2021 17:44:04 +0000 (17:44 +0000)]
Check that the node we connect to matches the user-provided chain

2 years agoMake an initial dummy RPC call to check that the connection works
Matt Corallo [Tue, 4 May 2021 17:10:18 +0000 (17:10 +0000)]
Make an initial dummy RPC call to check that the connection works

This provides a much better panic message if the RPC password is
incorrect.

2 years agoSet panic = abort as we don't want to keep running if we panic.
Matt Corallo [Tue, 4 May 2021 17:09:32 +0000 (17:09 +0000)]
Set panic = abort as we don't want to keep running if we panic.

2 years agoFix minor indentation issue
Matt Corallo [Tue, 4 May 2021 16:17:22 +0000 (16:17 +0000)]
Fix minor indentation issue

2 years agoMerge pull request #4 from valentinewallace/sample-v0
Jeffrey Czyz [Tue, 4 May 2021 00:21:10 +0000 (17:21 -0700)]
Merge pull request #4 from valentinewallace/sample-v0

Sample v0

2 years agoUpdate to latest RL + fix step numbers + nodeinfo + listpeers commands
Valentine Wallace [Sun, 2 May 2021 21:22:44 +0000 (17:22 -0400)]
Update to latest RL + fix step numbers + nodeinfo + listpeers commands

2 years agoAdapt to the lightning_invoice crate moving to Rust-Lightning
Valentine Wallace [Wed, 14 Apr 2021 19:02:56 +0000 (15:02 -0400)]
Adapt to the lightning_invoice crate moving to Rust-Lightning

2 years agoCheck payment secret before succeeding payment
Valentine Wallace [Wed, 14 Apr 2021 18:58:27 +0000 (14:58 -0400)]
Check payment secret before succeeding payment

2 years agoSplit payments hashmap into inbound and outbound
Valentine Wallace [Wed, 14 Apr 2021 18:25:14 +0000 (14:25 -0400)]
Split payments hashmap into inbound and outbound

To prevent clashes between payment hashes

2 years agoRemove HTLCDirection struct
Valentine Wallace [Wed, 14 Apr 2021 15:31:11 +0000 (11:31 -0400)]
Remove HTLCDirection struct

We're going to split payment storage into two maps, one for
inbound and one for outbound.

2 years agoSatoshiAmount -> MillisatAmount and PaymentInfo struct
Valentine Wallace [Wed, 14 Apr 2021 02:35:26 +0000 (22:35 -0400)]
SatoshiAmount -> MillisatAmount and PaymentInfo struct

2 years agoUpdate to latest upstream RL
Valentine Wallace [Wed, 14 Apr 2021 02:34:45 +0000 (22:34 -0400)]
Update to latest upstream RL

2 years agoMove startup to separate from `main` for better errors
Valentine Wallace [Wed, 14 Apr 2021 02:23:47 +0000 (22:23 -0400)]
Move startup to separate from `main` for better errors

2 years agoInclude min_final_cltv when generating invoices
Valentine Wallace [Fri, 2 Apr 2021 19:36:17 +0000 (15:36 -0400)]
Include min_final_cltv when generating invoices

2 years agoRead routehints from invoices when sending a payment
Valentine Wallace [Fri, 2 Apr 2021 19:35:52 +0000 (15:35 -0400)]
Read routehints from invoices when sending a payment

2 years agoRemove unnecessary todo
Valentine Wallace [Fri, 2 Apr 2021 19:31:07 +0000 (15:31 -0400)]
Remove unnecessary todo

2 years agoUpdate to RL master and fix PendingHTLCsForwardable
Valentine Wallace [Tue, 30 Mar 2021 18:56:55 +0000 (14:56 -0400)]
Update to RL master and fix PendingHTLCsForwardable

2 years agoPost-async refactor cleanup
Valentine Wallace [Tue, 30 Mar 2021 17:44:17 +0000 (13:44 -0400)]
Post-async refactor cleanup

2 years agoInitial refactor to add tokio::main and be fully async
Valentine Wallace [Wed, 24 Mar 2021 20:03:57 +0000 (16:03 -0400)]
Initial refactor to add tokio::main and be fully async

2 years agoworking before async refactor
Valentine Wallace [Fri, 19 Mar 2021 22:37:28 +0000 (18:37 -0400)]
working before async refactor

2 years agoadd rustfmt + CI + other fixups
Valentine Wallace [Fri, 19 Mar 2021 20:26:43 +0000 (16:26 -0400)]
add rustfmt + CI + other fixups

2 years agoForward HTLCs after a timeout and a few other cleanups
Valentine Wallace [Thu, 18 Mar 2021 22:30:20 +0000 (18:30 -0400)]
Forward HTLCs after a timeout and a few other cleanups

2 years agoAdd readme, fix license and a few other cleanups
Valentine Wallace [Thu, 18 Mar 2021 16:00:01 +0000 (12:00 -0400)]
Add readme, fix license and a few other cleanups

2 years agoNext draft. Features: connectpeer, listchannels, sendpayment, autoreconnect to chan...
Valentine Wallace [Wed, 3 Mar 2021 23:44:05 +0000 (18:44 -0500)]
Next draft. Features: connectpeer, listchannels, sendpayment, autoreconnect to chan peers on startup

2 years agoInitial node
Valentine Wallace [Tue, 2 Mar 2021 20:54:17 +0000 (15:54 -0500)]
Initial node

3 years agoFee estimator WIP
Valentine Wallace [Wed, 24 Feb 2021 00:29:56 +0000 (19:29 -0500)]
Fee estimator WIP

3 years agoInitial commit
Valentine Wallace [Tue, 9 Feb 2021 18:00:55 +0000 (13:00 -0500)]
Initial commit

3 years agoMerge pull request #3 from jkczyz/2021-03-dual-license
Jeffrey Czyz [Wed, 3 Mar 2021 06:17:34 +0000 (22:17 -0800)]
Merge pull request #3 from jkczyz/2021-03-dual-license

Apache 2.0 / MIT dual license

3 years agoApache 2.0 / MIT dual license
Jeffrey Czyz [Wed, 3 Mar 2021 05:56:35 +0000 (21:56 -0800)]
Apache 2.0 / MIT dual license

3 years agoInitial commit
Jeffrey Czyz [Sat, 30 Jan 2021 06:08:13 +0000 (22:08 -0800)]
Initial commit