Matt Corallo
a82067d359
Merge pull request #1013 from TheBlueMatt/2021-07-warning-msgs
2022-01-11 22:52:44 +00:00
Matt Corallo
d786bfaef2
Rely on Error/Warning message data lengths being correct
...
In https://github.com/lightning/bolts/pull/950 , the (somewhat
strange) requirement that error messages be handled even if the
length field is set larger than the size of the package was
removed. Here we change the code to drop the special handling for
this, opting to just fail to read the message if the length is
incorrect.
2022-01-11 20:25:24 +00:00
Matt Corallo
2d7b06e619
Send warning
instead of error
when we incounter bogus gossip
2022-01-11 19:48:20 +00:00
Matt Corallo
26fe0f753d
Convert shutdown
invalid script checks to warning messages
...
As required by the warning messages PR, we should simply warn our
counterparty in this case and let them try again, continuing to try
to use the channel until they tell us otherwise.
2022-01-11 19:48:20 +00:00
Matt Corallo
e137cfb3c4
Send warning messages when appropriate in gossip handling pipeline
2022-01-11 19:48:20 +00:00
Matt Corallo
1b3249a192
Handle sending and receiving warning messages
2022-01-11 19:48:20 +00:00
Matt Corallo
f676f5585f
Add a new WarningMessage
message to send and receive warnings
2022-01-11 19:48:20 +00:00
Matt Corallo
bb248617a5
Merge pull request #1230 from lightning-signer/2021-01-invoice-bech32-dep
...
Do not turn on bech32/std by default for lightning-invoice
2022-01-10 18:34:40 +00:00
Devrandom
1a779ce658
Do not turn on bech32/std by default for lightning-invoice
2022-01-09 12:26:14 +01:00
Matt Corallo
b62b244c3c
Merge pull request #1223 from lightning-signer/2021-12-invoice-nostd
...
Adapt lightning-invoice to no_std
2022-01-06 19:25:36 +00:00
Devrandom
01915810d4
Adapt lightning-invoice to no_std
2022-01-05 23:18:03 +01:00
Matt Corallo
94c41d8c0a
Merge pull request #1226 from TheBlueMatt/2022-01-bindings-no-std
...
Support building `cfg=c_bindings` with `no-std`
2022-01-05 21:01:06 +00:00
Matt Corallo
ffbef9fec7
Support building cfg=c_bindings
with no-std
...
This will be needed for JavaScript bindings eventually.
2022-01-05 07:24:46 +00:00
Matt Corallo
3ca63426f9
Merge pull request #1220 from TheBlueMatt/2021-12-stale-update-gossip-log
...
Log gossip rejections due to stale channel_updates at GOSSIP level
2022-01-03 19:54:20 +00:00
Matt Corallo
036ea11954
Merge pull request #1225 from hackerrdave/update-repo-lightningdevkit
...
update repo name to use lightningdevkit
2021-12-29 19:57:05 +00:00
hackerrdave
d46c2a20e1
update repo name to use lightningdevkit
2021-12-26 22:53:16 -05:00
Matt Corallo
565559005e
Merge pull request #1218 from TheBlueMatt/2021-12-minor-bindings-tweaks
...
Minor Bindings Tweaks
2021-12-19 23:55:09 +00:00
Matt Corallo
d5a1435905
Log gossip rejections due to stale channel_updates at GOSSIP level
...
This further reduces noise at the TRACE level during initial gossip
sync.
2021-12-19 20:13:38 +00:00
Matt Corallo
7d1e1873f3
Swap around generic argument ordering in InvoicePayer for bindings
...
The bindings generation really should support generic bounds other
than Deref::Target in where clauses, but currently does not. To
avoid needing to add support during the current release process,
we simply swap around the arguments to move them to the first <>
instead of the where.
2021-12-18 20:20:23 +00:00
Matt Corallo
d26469a77a
Add a C-not exported tag to NetGraphMsgHandler.network_graph
2021-12-18 20:20:23 +00:00
Matt Corallo
ae4f6198db
Add a constructor to MultiThreadedLockableScore
...
...as otherwise the struct is rather useless.
2021-12-18 20:20:23 +00:00
Matt Corallo
2a8a396f1e
Merge pull request #1217 from TheBlueMatt/2021-12-0.0.104
...
Cut 0.0.104
2021-12-17 23:30:54 +00:00
Matt Corallo
27d5c7a210
Swap around generic argument ordering in DefaultRouter for bindings
...
The bindings generation really should support default generic types
in where clauses, but currently does not. To avoid needing to add
support during the current release process, we simply swap around
the arguments to move them to the first <> instead of the where.
2021-12-17 22:46:07 +00:00
Matt Corallo
ec86e2a1a7
Bump versions to 0.0.104/invoice 0.12
2021-12-17 21:34:19 +00:00
Matt Corallo
8f9d1c9a8c
Update CHANGELOG for 0.0.104
2021-12-17 21:34:19 +00:00
Matt Corallo
1c157a2328
Merge pull request #1216 from valentinewallace/2021-12-preimage-getter
...
Add utility for retrieving an LDK payment preimage
2021-12-17 17:34:47 +00:00
Matt Corallo
a3330acecf
Remove trailing whitespace in the FeeEstimator interface
2021-12-17 04:35:58 +00:00
Valentine Wallace
41cfd833f1
inbound_payment: Add utility to get payment preimage given hash/secret
...
User-requested feature
2021-12-16 18:11:14 -08:00
Valentine Wallace
d734ad814e
inbound_payment: DRY verify method for use in getting preimage
...
in the next commit(s)
2021-12-16 16:29:11 -08:00
Valentine Wallace
d20239bbeb
create_inbound_payment: warn about dup hashes
...
Leftover feedback from #1177
2021-12-16 16:27:13 -08:00
Valentine Wallace
6e0820ca19
Salt inbound payment ExpandedKey
...
Leftover feedback from #1177
2021-12-16 16:24:24 -08:00
Matt Corallo
86d5944b0d
Merge pull request #1177 from valentinewallace/2021-11-derivable-payment-secret
...
Stop storing pending inbound payment data; instead make it derivable on receive
2021-12-17 00:15:24 +00:00
Valentine Wallace
d41499a260
Add new invoice CreationError::InvalidAmount for use in checking create_inbound_payment
...
in an invoice creation utility. Note that if the error type of `create_inbound_payment` ever
changed, we'd be forced to update the invoice utility's callsite to handle the new error
2021-12-16 15:32:22 -08:00
Valentine Wallace
8464875555
Drop need to store pending inbound payments
...
and replace payment_secret with encrypted metadata
See docs on `inbound_payment::verify` for details
Also add min_value checks to all create_inbound_payment* methods
2021-12-16 15:32:21 -08:00
Valentine Wallace
1d516a6fc5
Add get_single_block to chacha20 module
...
In the next commit, we'll want to get a single block from a chacha stream that
takes a 16-byte nonce.
2021-12-16 15:30:52 -08:00
Valentine Wallace
063b7583c1
Macro-ize checking that the total value of an MPP's parts is sane
...
This DRY-ed code will be used in upcoming commits when we stop storing inbound
payment data
2021-12-16 15:30:52 -08:00
Valentine Wallace
6dd1ec1fed
Add get_inbound_payment_key_material to KeysInterface
...
This will allow us to retrieve key material for encrypting/decrypting inbound
payment info, in upcoming commits
2021-12-16 15:30:52 -08:00
Matt Corallo
cec8ce0fcb
Merge pull request #1212 from TheBlueMatt/2021-12-timeout-graph
...
Add a method to prune stale channels from NetworkGraph
2021-12-16 23:04:00 +00:00
Matt Corallo
73e8dc41a6
Automatically prune NetworkGraph of stale channels hourly in BP
2021-12-16 18:33:24 +00:00
Matt Corallo
cd43ff4a5e
Reject channel_update messages with timestamps too old or new
...
Because we time out channel info that is older than two weeks now,
we should also reject new channel info that is older than two
weeks, in addition to rejecting future channel info.
2021-12-16 18:33:24 +00:00
Matt Corallo
4677e14c00
Add a method to prune stale channels from NetworkGraph
...
We define "stale" as "haven't heard an updated channel_update in
two weeks", as described in BOLT 7.
We also filter out stale channels at write-time for `std` users, as
we can look up the current time.
2021-12-16 18:33:24 +00:00
Matt Corallo
c575429639
Drop allow_wallclock_use
feature in favor of simply using std
...
Fixes #1147 .
2021-12-16 18:33:24 +00:00
Matt Corallo
11d644824e
DRY up network_graph tests substantially with message creation fns
2021-12-16 18:33:24 +00:00
Matt Corallo
6e27ca0316
Merge pull request #1214 from TheBlueMatt/2021-12-fix-tokio-msrv-bump
2021-12-16 17:44:21 +00:00
Matt Corallo
01ef55ae86
Build no-std on 1.47 now that core2 supports it
2021-12-16 02:22:56 +00:00
Matt Corallo
144145e4f9
Pin tokio to 1.14.0 in CI for older rustc's
2021-12-16 02:22:56 +00:00
Matt Corallo
064d709910
Merge pull request #1148 from dunxen/2021-11-new-onion-errors
...
Add mpp_timeout and invalid_onion_payload descriptions
2021-12-15 23:32:30 +00:00
Conor Okus
88a86d126f
Merge pull request #1211 from ConorOkus/2021-11-add-max-conversion
...
Update docs to add max return value to conversion list
2021-12-15 16:15:21 +00:00
Matt Corallo
54114c9d85
Merge pull request #1202 from TheBlueMatt/2021-12-fix-retries-races
...
Fix payment retry races and inform users when a payment fails
2021-12-15 04:58:46 +00:00
Matt Corallo
05d7a33a58
Make attempting to retry a succeeded payment an APIError, not Route
...
This is symmetric with the new failure once a payment is abandoned.
2021-12-15 03:57:13 +00:00