Commit graph

4890 commits

Author SHA1 Message Date
Matt Corallo
217c3e09b3
Merge pull request #2107 from TheBlueMatt/2023-04-msrv-cleanup
Bump MSRV to 1.48 and replace most of CI with a bash script
2023-03-17 19:21:49 +00:00
Matt Corallo
6558b510cf Replace the bulk of CI with a (much simpler) bash script 2023-03-16 19:15:06 +00:00
Matt Corallo
12d799e6cb
Merge pull request #2094 from johncantrell97/expose-fee
expose `feerate_per_kw` in `ChannelDetails`
2023-03-15 21:16:23 +00:00
Matt Corallo
28cc71f980 Fix onion_message functional_tests no-std build 2023-03-15 19:19:49 +00:00
Matt Corallo
4e32de71df Remove build-features CI flag now that its always true 2023-03-15 18:18:08 +00:00
Matt Corallo
263173f06c Remove build-no-std CI flag now that its always true 2023-03-15 18:17:02 +00:00
Matt Corallo
fb4f34cb2c Remove build-net-tokio flag in CI since its now always true 2023-03-15 18:16:01 +00:00
Matt Corallo
11a0d266c5 Bump MSRV to 1.48
1.48.0 was released at the end of 2020, nearly 2.5 years ago. It
has been the rustc available on Debian stable since bullseye,
released in 2021. supporting Debian oldstable for more than a year
seems more than sufficient time to give Debian folks to upgrade,
and bullseye is set to become `oldstable` later this year with the
release of `bookworm`, likely this summer.

This also allows us to clean up our MSRV substantially, having a
single MSRV across our crates rather than a number of separate
ones. Sadly, windows already requires 1.49.
2023-03-15 18:11:43 +00:00
John Cantrell
d76b43fe44 expose feerate_sat_per_1000_weight in ChannelDetails
renames Channel::get_feerate to get_feerate_sat_per_1000_weight
2023-03-15 13:36:14 -04:00
Matt Corallo
2d213a47bf
Merge pull request #2045 from wpaulino/fix-broken-commitment-test-vectors
Update commitment test vectors
2023-03-14 19:01:59 +00:00
Matt Corallo
54f8895096
Merge pull request #2063 from valentinewallace/2023-03-remove-paymentpathfailed-retry
Remove `PaymentPathFailed::retry`
2023-03-13 23:01:38 +00:00
Matt Corallo
c18f7055cc
Merge pull request #2099 from tnull/2023-03-pin-ntapi-on-windows
Pin tokio to 1.26 on windows to fix CI
2023-03-13 17:44:08 +00:00
Matt Corallo
697f37dba6
Merge pull request #2091 from tnull/2023-03-expose-impl-writeable-tlv-based-enum-common 2023-03-13 16:32:19 +00:00
Valentine Wallace
f89b7d6fa9
Ensure payment_params present when checking is_retryable_now 2023-03-13 12:04:17 -04:00
Valentine Wallace
f6823c5541
Remove payment_params from send_payent_along_path
It's unused since it no longer inserts it into HTLCSource
2023-03-13 12:04:14 -04:00
Valentine Wallace
293964976a
Remove HTLCSource::OutboundRoute::payment_params
No longer used since it is no longer used to construct PaymentPathFailed events
2023-03-13 11:59:03 -04:00
Valentine Wallace
753e4ce3c3
Remove PaymentPathFailed::retry
We now support automatic retries in ChannelManager and no longer support manual
retries, so the field is useless.
2023-03-13 11:59:03 -04:00
Elias Rohrer
73306a3503
Pin tokio to 1.26 on windows to fix CI 2023-03-12 14:12:21 +01:00
Matt Corallo
23c1b461ea
Merge pull request #2092 from TheBlueMatt/2023-03-find-route-id
Correct `outbound_payment` route-fetch calls to pass the hash + ID
2023-03-09 21:49:09 +00:00
Matt Corallo
10e6978b36 Further simplify the outbound_payments failure macro 2023-03-09 20:06:23 +00:00
Matt Corallo
6d6d2005f8 Correct outbound_payment route-fetch calls to pass the hash + ID
`Route::get_route_with_id` exists to provide users payment-specific
data when fetching a route, however we were failing to call it when
we have such info, opting for the simple `get_route` instead. This
defeats the purpose of the additional-metadata method, which we
swap to using here.
2023-03-09 19:23:58 +00:00
Elias Rohrer
5af4076d4c
Expose _impl_writeable_tlv_based_enum_common macro
As it isn't currently, and it's used by the exposed
`impl_writeable_tlv_based_enum`.
2023-03-09 16:11:56 +01:00
Matt Corallo
36834b3cef
Merge pull request #2079 from tnull/2023-03-add-list-channel-by-counterparty 2023-03-08 21:55:32 +00:00
Matt Corallo
dd11cae640
Merge pull request #2078 from AdvaitPote/bigsize_tests
Added encoding and decoding tests for BigSize
2023-03-08 20:03:58 +00:00
Matt Corallo
6aa1cf9d9f
Merge pull request #2085 from tnull/2023-03-introduce-async-https-feature
Support HTTPS Esplora endpoints in `lightning-transaction-sync` via new feature
2023-03-08 19:41:10 +00:00
Advait
c593383627 encoding/decoding tests added for BigSize
removed unnecessary debugging line

using io::Cursor in place of the std one

encoding/decoding tests added for BigSize

made the code concise

encoding/decoding tests added for BigSize
2023-03-09 00:20:14 +05:30
Elias Rohrer
09038ee478
Remove unnecessary logging imports 2023-03-08 19:25:28 +01:00
Elias Rohrer
7a30f3e118
Support HTTPS Esplora endpoints via new feature
To support HTTPS endpoints, the async HTTP library `reqwest` needs one of
the `-tls` features enabled. While the users could specify this in their
own cargo dependencies, we here provide a new `esplora-async-https`
feature for conveinience.
2023-03-08 19:25:23 +01:00
valentinewallace
a386d4455d
Merge pull request #2084 from zpv/fix-changelog-all-paths-failed-typo
Fix `all_paths_failed` typo in changelog
2023-03-08 11:59:36 -05:00
Matt Corallo
2e90ca11ca
Merge pull request #2081 from TheBlueMatt/2023-03-future-poll-panic 2023-03-08 15:49:43 +00:00
Steven Zhao
8d1d134cb4
Fix Event::PaymentPathFailed typo in changelog 2023-03-08 00:23:09 -08:00
Steven
75789d0463
Fix all_paths_failed typo in changelog 2023-03-07 16:51:35 -08:00
Elias Rohrer
8419d13d4c
Add list_channels_by_counterparty method
While we already provide a `list_channels` method, it could result in
quite a large `Vec<ChannelDetails>`. Here, we provide the means to query
our channels by `counterparty_node_id` and DRY up the code.
2023-03-07 19:50:01 +01:00
Matt Corallo
1751f77edf Avoid polling completed futures in the background-processor
`poll`ing completed futures invokes undefined behavior in Rust
(panics, etc, obviously not memory corruption as its not unsafe).
Sadly, in our futures-based version of
`lightning-background-processor` we have one case where we can
`poll` a completed future - if the timer for the network graph
prune + persist completes without a network graph to prune +
persist we'll happily poll the same future over and over again,
likely panicing in user code.
2023-03-07 18:06:12 +00:00
Matt Corallo
ccac926671
Merge pull request #2049 from douglaz/run-clippy-fix
Run clippy fix
2023-03-06 21:28:38 +00:00
Allan Douglas R. de Oliveira
57017dfc0b Run clippy --fix and cleanup code 2023-03-06 19:26:48 +00:00
Wilmer Paulino
5910802ccb
Update same amount and preimage test vector
The amount for HTLC #6 was updated in the spec's test vectors, but the
"same amount and preimage" test vector itself was not updated, even
though the new HTLC amount resulted in a different commitment
transaction, and thus, different signatures.
2023-03-06 10:59:51 -08:00
Wilmer Paulino
3fe9aadd9d
Add missing test vector for anchors_zero_fee_htlc_tx
Tests the case where only one anchor output exists for the funder in the
commitment transaction due to the remote having a dust balance (in this
case, 0).
2023-03-06 10:59:47 -08:00
Matt Corallo
7b2537bfcb
Merge pull request #2074 from TheBlueMatt/2023-03-fix-threaded-test
Make `fuzz_threaded_connections` more robust
2023-03-06 17:26:59 +00:00
Matt Corallo
c5cc1ede26
Merge pull request #2028 from TheBlueMatt/2023-02-macros-for-wilmer
Reduce macro usage in tests
2023-03-06 16:56:08 +00:00
Matt Corallo
d355ce1b78
Merge pull request #1497 from TheBlueMatt/2022-05-no-default-opt
Disable LTO builds in tests (and bump deps to -O2)
2023-03-04 02:01:49 +00:00
Matt Corallo
d64e1b9027 Make fuzz_threaded_connections more robust
In `fuzz_threaded_connections`, if one thread is being run while
another is starved, and the running thread manages to call
`timer_tick_ocurred` twice after the starved thread constructs the
inbound connection but before it delivers the first bytes, we'll
receive an immediate error and `unwrap` it, causing failure.

The fix is trivial, simply remove the unwrap and return if we're
already disconnected when we do the initial read.

While we're here, we also reduce the frequency of the
`timer_tick_ocurred` calls to give us a chance to occasionally
deliver some additional messages.

Fixes #2073
2023-03-04 01:20:11 +00:00
Matt Corallo
af76face12
Merge pull request #2065 from TheBlueMatt/2023-02-0.0.114
Cut 0.0.114
2023-03-04 01:00:06 +00:00
Matt Corallo
a361be3544 Update crate versions to 0.0.114/invoice 0.22 2023-03-04 00:06:46 +00:00
Matt Corallo
e5c1a6d4dd Add release notes for 0.0.114 2023-03-04 00:06:46 +00:00
Matt Corallo
4d2679fac6
Merge pull request #2072 from jkczyz/2023-01-fix-scoring-div-by-zero
Fix division by zero in `ProbabilisticScorer`
2023-03-04 00:06:29 +00:00
Matt Corallo
0188861585
Merge pull request #2071 from TheBlueMatt/2023-01-fix-fast-extra-ready-panic
Fix panic on receiving `channel_ready` after 1st commitment update
2023-03-03 23:32:42 +00:00
Matt Corallo
dfe9ea3762
Use ProbabilisticScorer in router fuzzing, to cover overflows there 2023-03-03 16:25:57 -06:00
Jeffrey Czyz
bfd1a57434
Guard against division by zero in scorer
Since a node may announce that the htlc_maximum_msat of a channel is
zero, adding one to the denominator in the bucket formulas will prevent
the panic from ever happening. While the routing algorithm may never
select such a channel to score, this precaution may still be useful in
case the algorithm changes or if the scorer is used with a different
routing algorithm.
2023-03-03 16:25:57 -06:00
Jeffrey Czyz
e44868681d
Update scoring history buckets when no change
Even when there is no change in min/max liquidity knowledge, tracking
should still be updated to include the additional data point.
2023-03-03 16:25:17 -06:00