ldk-sample
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