]>
git.bitcoin.ninja Git - ldk-c-bindings/log
Matt Corallo [Tue, 25 Apr 2023 22:17:42 +0000 (22:17 +0000)]
Update C++ demo application to LDK 0.0.115
Matt Corallo [Tue, 25 Apr 2023 22:13:38 +0000 (22:13 +0000)]
Ensure an option always unwraps to a non-reference type
Matt Corallo [Tue, 25 Apr 2023 20:21:03 +0000 (20:21 +0000)]
Handle Option<Vec<_>> with a much cleaner option converter
Matt Corallo [Tue, 25 Apr 2023 20:20:13 +0000 (20:20 +0000)]
Handle use of `#[doc]` in the original source
Matt Corallo [Tue, 25 Apr 2023 17:14:37 +0000 (17:14 +0000)]
Replace type resolution assertions with failures
Type resolution now supports failing, but some assertions are still
left over from when it didn't. Replace some of those which now fail
on LDK 0.0.115.
Matt Corallo [Mon, 17 Apr 2023 17:43:13 +0000 (17:43 +0000)]
Update hard-coded type definitions
Matt Corallo [Mon, 17 Apr 2023 17:42:40 +0000 (17:42 +0000)]
Fix documentation on generated _hash methods for std::hash::Hash
Matt Corallo [Mon, 17 Apr 2023 15:50:18 +0000 (15:50 +0000)]
Support the new no-exported tag that is more human readable
Matt Corallo [Thu, 9 Mar 2023 19:50:04 +0000 (19:50 +0000)]
Merge pull request #102 from TheBlueMatt/main
Fix C++ demo bindings build due to function signature mismatch
Matt Corallo [Thu, 9 Mar 2023 19:49:19 +0000 (19:49 +0000)]
Fix C++ demo bindings build due to function signature mismatch
Matt Corallo [Thu, 9 Mar 2023 19:40:54 +0000 (19:40 +0000)]
Merge pull request #101 from TheBlueMatt/main
Update to use `find_route_with_id` to match upstream changes
Matt Corallo [Thu, 9 Mar 2023 19:35:49 +0000 (19:35 +0000)]
Update to use `find_route_with_id` to match upstream changes
Matt Corallo [Tue, 7 Mar 2023 17:16:45 +0000 (17:16 +0000)]
Merge pull request #100 from TheBlueMatt/main
LDK 0.0.114
Matt Corallo [Mon, 6 Mar 2023 20:50:13 +0000 (20:50 +0000)]
Workaround github actions brokenness
Matt Corallo [Mon, 6 Mar 2023 04:11:24 +0000 (04:11 +0000)]
Update `rust-lightning` branch to 0.0.114-bindings
Matt Corallo [Wed, 1 Mar 2023 05:53:56 +0000 (05:53 +0000)]
Update auto-generated bindings
Matt Corallo [Tue, 28 Feb 2023 06:58:25 +0000 (06:58 +0000)]
Note that cross-language LTO requires lld in addition to clang
Matt Corallo [Wed, 1 Mar 2023 00:13:01 +0000 (00:13 +0000)]
Print something for custom messages in C++ demo
Matt Corallo [Tue, 28 Feb 2023 06:54:29 +0000 (06:54 +0000)]
Fix connection race in C++ demo
Matt Corallo [Tue, 28 Feb 2023 02:31:15 +0000 (02:31 +0000)]
Update C/C++ Demos to latest upstream API
Matt Corallo [Fri, 3 Mar 2023 02:04:32 +0000 (02:04 +0000)]
Add `lightning-background-processor`'s new std feature
Matt Corallo [Mon, 27 Feb 2023 21:45:53 +0000 (21:45 +0000)]
Support new rust-bitcoin type mappings for various hashes
Matt Corallo [Mon, 27 Feb 2023 21:45:29 +0000 (21:45 +0000)]
Ignore discriminants on enum variants
While this loses the value information, its better than failing to
generate bindings at all.
Matt Corallo [Tue, 28 Feb 2023 23:31:11 +0000 (23:31 +0000)]
Support tuples containing array elements
Matt Corallo [Tue, 28 Feb 2023 23:25:38 +0000 (23:25 +0000)]
Add type for 8 u16s (which is used for the scoring data)
Matt Corallo [Tue, 28 Feb 2023 23:25:26 +0000 (23:25 +0000)]
Support non-u8 (primitive) arrays
Matt Corallo [Mon, 27 Feb 2023 21:25:27 +0000 (21:25 +0000)]
Support supertraits-of-supertraits
If we have a supertrait that requires an in-crate supertrait, we
handle that here by writing the required impls. We don't support
a supertrait-of-a-supertrait-of-a-supertrait.
Matt Corallo [Mon, 27 Feb 2023 21:45:14 +0000 (21:45 +0000)]
Fix typo in path resolution leading to a "crate name" of a full path
Matt Corallo [Mon, 27 Feb 2023 18:51:59 +0000 (18:51 +0000)]
Support passing `Option<&OpaqueStruct>` to C
Luckily the solution is trivial - just treat the conversion for the
inner pointer as `ptr_for_ref`, because we ultimately want a
pointer on the inside, not on the outside.
Matt Corallo [Fri, 13 Jan 2023 06:12:12 +0000 (06:12 +0000)]
Merge pull request #98 from TheBlueMatt/main
Fix OSX building by not redirecting to `/dev/null`
Matt Corallo [Fri, 13 Jan 2023 06:09:30 +0000 (06:09 +0000)]
Fix OSX building by not redirecting to `/dev/null`
Somehow this results in a broken pipe error...cause macOS is trash.
Matt Corallo [Fri, 13 Jan 2023 04:12:57 +0000 (04:12 +0000)]
Merge pull request #97 from TheBlueMatt/main
Fix LTO compilation with latest ld.lld on OSX
Matt Corallo [Fri, 13 Jan 2023 03:34:59 +0000 (03:34 +0000)]
Stop timing C++ demo bindings run cause OSX is, as usual, garbage
Matt Corallo [Thu, 12 Jan 2023 23:28:27 +0000 (23:28 +0000)]
Update CI references to OSX clang 15.0.3
Matt Corallo [Thu, 12 Jan 2023 23:27:19 +0000 (23:27 +0000)]
Fix LTO compilation with latest ld.lld on OSX
Matt Corallo [Tue, 10 Jan 2023 20:24:45 +0000 (20:24 +0000)]
Merge pull request #96 from TheBlueMatt/main
0.0.113 Bindings
Matt Corallo [Tue, 10 Jan 2023 17:43:53 +0000 (17:43 +0000)]
Update CI and Cargo.toml references to 0.0.113
Matt Corallo [Sat, 24 Dec 2022 18:14:37 +0000 (18:14 +0000)]
Set the C target to wasm32-wasi rather than wasm32
We need at least a partial C stdlib anyway, so there's no real
difference going ahead and linking wasm32-wasi on the C side vs
only on the Rust side. This fixes compilation on Debian testing
with OS packages installed.
Matt Corallo [Fri, 23 Dec 2022 20:14:01 +0000 (20:14 +0000)]
Update C/C++ demo bindings to latest upstream API
Matt Corallo [Fri, 23 Dec 2022 20:25:40 +0000 (20:25 +0000)]
Update auto-generated bindings to 0.0.113
Matt Corallo [Fri, 23 Dec 2022 20:24:00 +0000 (20:24 +0000)]
Support new upstream manually-mapped types
Matt Corallo [Sat, 24 Dec 2022 01:14:33 +0000 (01:14 +0000)]
Add support for witnesses via a manual mapping
Matt Corallo [Fri, 23 Dec 2022 20:23:16 +0000 (20:23 +0000)]
Support u128 values
Matt Corallo [Sat, 24 Dec 2022 22:57:55 +0000 (22:57 +0000)]
Use the resolved name, not original ident, for Vec naming
This will be useful in the next commit when we rename `u5` to `U5`
Matt Corallo [Sat, 24 Dec 2022 05:01:45 +0000 (05:01 +0000)]
Ignore async functions as mapping them would be substantial work
Matt Corallo [Sat, 24 Dec 2022 05:01:25 +0000 (05:01 +0000)]
Allow enums with lifetime-only generics
Matt Corallo [Sat, 24 Dec 2022 22:57:17 +0000 (22:57 +0000)]
Use `Clone::clone(a)` rather than `a.clone` to avoid deref recursion
Matt Corallo [Fri, 23 Dec 2022 20:18:34 +0000 (20:18 +0000)]
Some initial support for `pub(.*) use` aliasing in type resolution
Matt Corallo [Fri, 28 Oct 2022 21:14:28 +0000 (21:14 +0000)]
Make rustc stop complaining about unused `Box::from_raw`s
Matt Corallo [Fri, 28 Oct 2022 03:25:30 +0000 (03:25 +0000)]
Merge pull request #94 from TheBlueMatt/main
Update for 0.0.112
Matt Corallo [Thu, 27 Oct 2022 23:19:38 +0000 (23:19 +0000)]
Update Cargo.toml and CI references to 0.0.112
Matt Corallo [Thu, 27 Oct 2022 03:52:14 +0000 (03:52 +0000)]
Update auto-generated bindings
Matt Corallo [Thu, 27 Oct 2022 00:24:49 +0000 (00:24 +0000)]
Update C/C++ demos for latest upstream API
Matt Corallo [Thu, 27 Oct 2022 00:21:21 +0000 (00:21 +0000)]
Map `io::ErrorKind` the same as `io::Error`, we only use the kind
Matt Corallo [Thu, 27 Oct 2022 00:20:38 +0000 (00:20 +0000)]
Handle path types that start with `crate::`
Matt Corallo [Thu, 27 Oct 2022 00:18:18 +0000 (00:18 +0000)]
Handle multiple `impl`s of the same trait in the same file
This should be easy, but we end up with redundant `use` statements.
Thus, we instead track which use statements we want and put them at
the end when generating new files
Matt Corallo [Thu, 27 Oct 2022 00:15:31 +0000 (00:15 +0000)]
(Partially) support supertraits with generic bounds
If we extend a supertrait where the supertrait is generic, we will
ultimately need to genericize the supertrait into a derived object.
This doesn't implement that part, but it does implement the
subtrait-writing code to make it compatible with such a future.
Matt Corallo [Thu, 27 Oct 2022 00:08:55 +0000 (00:08 +0000)]
Support trait methods that return enums in the C++ sed script
Arik [Thu, 6 Oct 2022 20:24:44 +0000 (13:24 -0700)]
Merge pull request #93 from TheBlueMatt/main
Expose the `rapid-gossip-sync` crate for no-std builds
Matt Corallo [Thu, 6 Oct 2022 00:44:02 +0000 (00:44 +0000)]
Update auto-generated bindings for backport of RGS-no-std support
Matt Corallo [Thu, 6 Oct 2022 00:11:11 +0000 (00:11 +0000)]
Expose the `rapid-gossip-sync` crate for no-std builds
Arik [Mon, 3 Oct 2022 21:22:28 +0000 (14:22 -0700)]
Merge pull request #92 from TheBlueMatt/main
Add a convinience constructor for the new BigEndianScalar
Matt Corallo [Mon, 3 Oct 2022 21:20:59 +0000 (21:20 +0000)]
Update auto-generated bindings
Matt Corallo [Mon, 3 Oct 2022 21:15:58 +0000 (21:15 +0000)]
Add a convinience constructor for the new BigEndianScalar
Arik [Mon, 3 Oct 2022 21:14:38 +0000 (14:14 -0700)]
Merge pull request #91 from TheBlueMatt/main
0.0.111
Matt Corallo [Mon, 19 Sep 2022 15:18:31 +0000 (15:18 +0000)]
Update auto-generated bindings
Matt Corallo [Mon, 19 Sep 2022 10:44:47 +0000 (10:44 +0000)]
Update C++ bindings demo to latest upstream API
Matt Corallo [Fri, 23 Sep 2022 20:47:17 +0000 (20:47 +0000)]
Add Scalar and SharedSecret type mappings for new secp256k1 types
Matt Corallo [Mon, 19 Sep 2022 14:56:41 +0000 (14:56 +0000)]
Update bindings branch to 0.0.111 and update rust-bitcoin and secp
Matt Corallo [Mon, 19 Sep 2022 12:51:02 +0000 (12:51 +0000)]
Allow liftime bounds on generic bounds
While liftime bounds require bindings users to ensure liftime
requirements are met, they're important for allowing us to export
lock wrappers. Thus, we relax the simple-bounds assertions checks
here.
Matt Corallo [Fri, 23 Sep 2022 18:57:13 +0000 (18:57 +0000)]
Don't use a turbofish when all parameters are lifetimes.
For some reason rustc doesn't like this, and its easy, so whatever.
Matt Corallo [Fri, 23 Sep 2022 16:18:55 +0000 (16:18 +0000)]
Use trait, not impl, definition for X_as_Trait functions
When we map a trait impl block, we historically didn't know how to
resolve the types in the trait context, so we just used the impl
context definitions and assumed the types were the same. Sadly, if
we have an associated type that is bounded by a trait, we need to
use the trait bound to figure out what to write for the X_as_Trait
method declarations.
Since we now have the ability to generate full trait-context type
resolvers, we do so here.
Matt Corallo [Mon, 19 Sep 2022 10:16:38 +0000 (10:16 +0000)]
Support mapping `Readable` `impl`s outside of the `lightning` crate
In order to map `Readable` `impl` blocks in crates other than the
`lightning` main crate we simply have to update the type references
to include crate name, which we do here.
Matt Corallo [Fri, 23 Sep 2022 16:12:46 +0000 (16:12 +0000)]
Prefer `Option_` mappings for more types over transparent mappings
In general, the explicit `Option_` mappings are easier for
downstream bindings to match against, and clearer for users anyway.
Sadly, originally we were trying to avoid them where possible, so
some types default to transparent mappings. Here we swap the
default, at least for manually-mapped types, with a few explicit
exceptions (that probably should be changed as well).
Matt Corallo [Thu, 4 Aug 2022 23:37:06 +0000 (23:37 +0000)]
Merge pull request #89 from TheBlueMatt/main
Don't force targeting sandybridge on all platforms
Matt Corallo [Thu, 4 Aug 2022 18:51:08 +0000 (18:51 +0000)]
Don't force targeting sandybridge on all platforms
This should fix building on macOS when using upstream clang.
Matt Corallo [Thu, 4 Aug 2022 03:56:05 +0000 (03:56 +0000)]
Merge pull request #88 from TheBlueMatt/main
Try clone'ing the field before skipping exporting a field getter
Matt Corallo [Wed, 3 Aug 2022 22:35:21 +0000 (22:35 +0000)]
Update auto-generated bindings
Matt Corallo [Wed, 3 Aug 2022 22:29:19 +0000 (22:29 +0000)]
Try clone'ing the field before skipping exporting a field getter
Matt Corallo [Wed, 27 Jul 2022 06:25:06 +0000 (06:25 +0000)]
Merge pull request #87 from TheBlueMatt/main
LDK 0.0.110
Matt Corallo [Wed, 27 Jul 2022 05:02:27 +0000 (05:02 +0000)]
Update auto-generated bindings to LDK 0.0.110
Matt Corallo [Wed, 27 Jul 2022 05:02:54 +0000 (05:02 +0000)]
Update lightning-c-bindings Cargo and CI to reference 0.0.110
Matt Corallo [Wed, 27 Jul 2022 04:50:43 +0000 (04:50 +0000)]
Update C/C++ demos to latest upstream API
Matt Corallo [Fri, 1 Jul 2022 21:41:47 +0000 (14:41 -0700)]
Merge pull request #84 from TheBlueMatt/main
0.0.109 Support
Matt Corallo [Fri, 1 Jul 2022 20:34:28 +0000 (20:34 +0000)]
Update lightning-c-bindings Cargo.toml and CI to 0.0.109
Matt Corallo [Fri, 1 Jul 2022 20:29:21 +0000 (20:29 +0000)]
Update auto-generated C bindings for 0.0.109
Matt Corallo [Fri, 1 Jul 2022 20:28:48 +0000 (20:28 +0000)]
Update demo.cpp to 0.0.109 API
Matt Corallo [Fri, 1 Jul 2022 20:08:13 +0000 (20:08 +0000)]
Support `&[[u8; N]]` passed to Rust.
Matt Corallo [Fri, 1 Jul 2022 18:57:51 +0000 (18:57 +0000)]
Support `Option<Tuple>` with elements in the tuple
Matt Corallo [Wed, 29 Jun 2022 22:03:22 +0000 (15:03 -0700)]
Merge pull request #83 from TheBlueMatt/main
Update `deterministic-build-wrappers` to include a rapid-gossip-sync match
Matt Corallo [Wed, 29 Jun 2022 22:02:16 +0000 (22:02 +0000)]
Update `deterministic-build-wrappers` to include a rapid-gossip-sync match
Matt Corallo [Wed, 29 Jun 2022 18:35:53 +0000 (11:35 -0700)]
Merge pull request #82 from TheBlueMatt/main
0.0.108.1
Matt Corallo [Wed, 29 Jun 2022 17:56:11 +0000 (17:56 +0000)]
Update auto-generated bindings to match latest 0.0.108-bindings
Matt Corallo [Wed, 29 Jun 2022 17:55:27 +0000 (17:55 +0000)]
Update demo.cpp to match updated 0.0.108-bindings API
Matt Corallo [Tue, 28 Jun 2022 21:57:11 +0000 (14:57 -0700)]
Merge pull request #81 from TheBlueMatt/main
0.0.108 Bindings Updates
Matt Corallo [Tue, 28 Jun 2022 00:42:43 +0000 (00:42 +0000)]
Fix cbindgen install to be MSRV-compatible with older hashbrown
Matt Corallo [Thu, 23 Jun 2022 03:13:16 +0000 (03:13 +0000)]
Update auto-generated bindings
Matt Corallo [Thu, 23 Jun 2022 03:02:48 +0000 (03:02 +0000)]
Update C/C++ demos to latest upstream API
Matt Corallo [Thu, 23 Jun 2022 03:13:52 +0000 (03:13 +0000)]
Update lightning-c-bindings Cargo.toml and CI to 0.0.108-bindings
Matt Corallo [Wed, 22 Jun 2022 18:58:18 +0000 (18:58 +0000)]
Add rapid gossip sync crate to generation in `std` mode.