Commit graph

22 commits

Author SHA1 Message Date
Matt Corallo
a8c03f455a
Bump crate versions to 0.1.0/invoice 0.33.0/dns-resolver 0.2
Sadly, dns-resolver got uploaded as 0.1.0 without a -beta1 tag (and
yanked), and thus we release it here as 0.2.0.
2025-01-28 16:45:09 +01:00
Arik Sosman
3ea1f7f821
Support Trampoline flag in BOLT12 invoices
To construct and pay BOLT12 invoices supporting Trampoline payments,
we need to add the Trampoline feature bit to the BOLT12 feature
context.
2024-12-06 14:27:28 -08:00
Duncan Dean
f793bf8ad6
Add option_dual_fund feature 2024-11-20 14:01:42 +02:00
Matt Corallo
a952d2d3d3
Merge pull request #3346 from TheBlueMatt/2024-10-dns-feature-flag
Add support for parsing the dns_resolver feature bit
2024-10-08 19:46:11 +00:00
optout
aa2f6b47df
Upgrade bech32 dependency, bech32 serialization improvements 2024-10-02 21:21:07 +02:00
Matt Corallo
1abbe2a237 Add support for parsing the dns_resolver feature bit
This feature bit is used to indicate that a node will make DNS
queries on behalf of onion message senders, returning DNSSEC TXT
proofs for the requested names.

It is used to signal support for bLIP 32 resolution and can be used
to find nodes from which we can try to resolve BIP 32 HRNs.
2024-10-02 18:24:40 +00:00
Matt Corallo
98d15f2c99 Clean up imports in lightning-types
To remove the now-redundant `hex_conservative` explicit dependency.
2024-09-09 15:32:12 +00:00
Matt Corallo
c9de257498 Update versions to 0.0.124 and invoice 0.32 types 0.1 release 2024-09-03 18:18:52 +00:00
Matt Corallo
704078ac87 Specify imports manually in types::features::sealed
There's not a lot of reason to do this, but sadly the bindings
don't currently resolve wildcard imports at all, and I don't want
to deal with implementing it right now.
2024-09-01 01:08:38 +00:00
Matt Corallo
7e513f97dd
Merge pull request #3280 from TheBlueMatt/2024-08-124rc
Bump versions to rc1
2024-08-29 20:52:03 +00:00
Matt Corallo
856c980594 Bump versions to rc1 2024-08-29 19:40:09 +00:00
Matt Corallo
1d810a5816 Use u64 for required_unknown_bits_from indexes, not usize
While `usize` should be fine, we're multiplying the index by 8 so
if we have a jumbo feature bit fitting in a 32-bit size type may
not quite work. More importantly, this would be the first use of a
`usize` in the public API and dealing with it in bindings is
annoying so we just replace with a `u64`.
2024-08-29 16:47:54 +00:00
Matt Corallo
7224664810 Mark new types #[doc(hidden)] methods as bindings no-export 2024-08-26 18:30:08 +00:00
Matt Corallo
cd0ca28945 Bump version numbers to 0.0.124-beta/invoice 0.32-beta 2024-08-20 00:29:12 +00:00
Matt Corallo
43dcf2f3d8
Merge pull request #3239 from arik-so/bitcoin-0.32.2-upgrade
Bitcoin 0.32.2 upgrade
2024-08-16 20:13:26 +00:00
Arik Sosman
176d2ad599
Upgrade rust-bitcoin to 0.32.2. 2024-08-16 10:31:45 -07:00
Jeffrey Czyz
05db67b5c3
Use a smaller bit for UnknownFeature
When testing Bolt12Invoice unknown require feature handling, a large
feature bit can cause SendError::TooBigPacket when creating an onion
message. Use a smaller feature bit for UnknownFeature, which also has
the added benefit of reducing test output.
2024-08-14 10:55:55 -05:00
Matt Corallo
ae59d1dfb2 rustfmt new files added in the past few commits
The past handful of commits were mostly moving code around, so to
aid reviewers violated our `rustfmt` rules. Here we rectify that by
`rustfmt`'ing the newly-added files.
2024-08-13 12:55:19 +00:00
Matt Corallo
3b3774ee69 Move UntrustedString and PrintableString to lightning-types
`lightning-invoice` currently has a dependency on the entire
`lightning` crate just because it wants to use some of the useful
types from it. This is obviously backwards and leads to some
awkwardness like the BOLT 11 invoice signing API in the `lightning`
crate taking a `[u5]` rather than a `Bolt11Invoice`.

This takes one more step, moving the `UntrustedString` and
`PrintableString` types to `lightning-types`.
2024-08-13 12:54:59 +00:00
Matt Corallo
0c5922e92a Move Features into lightning-types
`lightning-invoice` currently has a dependency on the entire
`lightning` crate just because it wants to use some of the useful
types from it. This is obviously backwards and leads to some
awkwardness like the BOLT 11 invoice signing API in the `lightning`
crate taking a `[u5]` rather than a `Bolt11Invoice`.

This takes one more step, moving the `Features` types from
`lightning` to `lightning-types`.
2024-08-13 12:54:59 +00:00
Matt Corallo
b97d742f91 Move Rout{ingFees,eHint{,Hop}} to lightning-types
`lightning-invoice` currently has a dependency on the entire
`lightning` crate just because it wants to use some of the useful
types from it. This is obviously backwards and leads to some
awkwardness like the BOLT 11 invoice signing API in the `lightning`
crate taking a `[u5]` rather than a `Bolt11Invoice`.

This takes one more step, moving the routing types
`lightning-invoice` uses into `lightning-types`.
2024-08-13 12:54:59 +00:00
Matt Corallo
4624caf5a2 Move Payment{Hash,Preimage,Secret} into a new crate
`lightning-invoice` currently has a dependency on the entire
`lightning` crate just because it wants to use some of the useful
types from it. This is obviously backwards and leads to some
awkwardness like the BOLT 11 invoice signing API in the `lightning`
crate taking a `[u5]` rather than a `Bolt11Invoice`.

This is the first step towards fixing that - moving the common
types we need into a new `lightning-types` crate which both can
depend on.

Since we're using a new crate and can't depend on the existing
`lightning` hex utility to implement `Display`, we also take this
opportunity to switch to the new `Display` impl macro in
`hex_conservative`.
2024-08-13 12:54:59 +00:00