]>
git.bitcoin.ninja Git - ldk-c-bindings/log
Matt Corallo [Tue, 19 Apr 2022 19:24:50 +0000 (19:24 +0000)]
Use full paths in impl block handling instead of assuming in-file idents
In the next commit we'll want to handle impl blocks in one module
for an object that is defined in a different model. This violates
several existing assumptions in the impl block handling code,
namely that we're implementing for an object declared in the
current module. This relaxes that assumption in a few places.
Matt Corallo [Mon, 18 Apr 2022 02:56:05 +0000 (02:56 +0000)]
Make `Str`'s `clone` always clone the underlying bytes
Its incredibly unexpected that you can clone a higher-level object
(eg an Event with a ClosureReason that contains an `Str`) and have
a pointer back to the original object. To avoid this, `clone` needs
to actually `clone`.
Matt Corallo [Wed, 13 Apr 2022 20:51:24 +0000 (20:51 +0000)]
Merge pull request #70 from TheBlueMatt/main
Expose consistent free+clone methods for `Bech32Error`
Matt Corallo [Wed, 13 Apr 2022 17:33:38 +0000 (17:33 +0000)]
Update auto-generated bindings
Matt Corallo [Wed, 13 Apr 2022 17:30:40 +0000 (17:30 +0000)]
Expose consistent free+clone methods for `Bech32Error`
Matt Corallo [Mon, 4 Apr 2022 21:33:49 +0000 (21:33 +0000)]
Merge pull request #69 from TheBlueMatt/main
Matt Corallo [Mon, 4 Apr 2022 18:07:45 +0000 (18:07 +0000)]
Update auto-generated bindings with FromStr errors
Matt Corallo [Mon, 4 Apr 2022 18:04:40 +0000 (18:04 +0000)]
Send peers the remote address we have for them in ldk-net
The majority of this commit was authored by
Jeffrey Czyz <jkczyz@gmail.com>
Matt Corallo [Mon, 4 Apr 2022 16:25:33 +0000 (16:25 +0000)]
Use `_none()` constructor instead of setting tag in C++ demo
Matt Corallo [Mon, 4 Apr 2022 01:54:46 +0000 (01:54 +0000)]
Expose error types when implementing FromStr
Fixes #64.
Matt Corallo [Mon, 4 Apr 2022 01:53:24 +0000 (01:53 +0000)]
Add additional error type conversion logic
Matt Corallo [Mon, 4 Apr 2022 16:20:18 +0000 (16:20 +0000)]
Merge pull request #68 from jkczyz/2022-03-ldk-0-0-106
Update to 0.0.106
Jeffrey Czyz [Sun, 3 Apr 2022 23:41:01 +0000 (18:41 -0500)]
Update bindings workflow in CI to 0.0.106
Jeffrey Czyz [Sun, 3 Apr 2022 23:38:22 +0000 (18:38 -0500)]
Update auto-generated bindings to 0.0.106
Jeffrey Czyz [Sun, 3 Apr 2022 23:27:00 +0000 (18:27 -0500)]
Add a .gitignore for output of genbindings.sh
Jeffrey Czyz [Fri, 1 Apr 2022 23:22:31 +0000 (18:22 -0500)]
Update ldk_net.c for 0.0.106
Jeffrey Czyz [Fri, 1 Apr 2022 22:40:06 +0000 (17:40 -0500)]
Update demo.cpp for 0.0.106
Matt Corallo [Wed, 30 Mar 2022 17:16:02 +0000 (17:16 +0000)]
Merge pull request #67 from TheBlueMatt/main
Redo tuple-reference mapping and prep for 106
Matt Corallo [Tue, 29 Mar 2022 22:37:38 +0000 (22:37 +0000)]
Update auto-generated bindings
Matt Corallo [Tue, 29 Mar 2022 22:33:27 +0000 (22:33 +0000)]
Crack `ReadableArgs` params when they're tuples
This replaces the special handling we'd had in 0.0.105.2 for
tuples-containing-references by instead just cracking open the
tuples and converting each field individually when calling
`ReadableArgs` where the argument is a tuple.
Matt Corallo [Tue, 29 Mar 2022 21:02:05 +0000 (21:02 +0000)]
Revert "Consider all reference types clonable (because they are)"
This reverts commit
291aea2200e01843623a67d42112500b1810d276 .
Matt Corallo [Tue, 29 Mar 2022 21:01:57 +0000 (21:01 +0000)]
Revert "Manually handle generated types containing references to opaques"
This reverts commit
3798e35c9b8f23fa1500b8bc9867fef319287133 .
Matt Corallo [Tue, 29 Mar 2022 21:00:46 +0000 (21:00 +0000)]
Separate out CFLAGS for host builds and separate targets
This should at least fix one bug someone ran into trying to build
for Android from OSX.
Matt Corallo [Tue, 29 Mar 2022 20:47:09 +0000 (20:47 +0000)]
Clone for `&Option<Enum>`
Matt Corallo [Tue, 29 Mar 2022 19:23:05 +0000 (19:23 +0000)]
Push down type conversion logic around contained-has-inner some
Matt Corallo [Tue, 29 Mar 2022 22:43:31 +0000 (22:43 +0000)]
Pin cbindgen as 0.21 broke the MSRV
Matt Corallo [Tue, 29 Mar 2022 18:35:33 +0000 (18:35 +0000)]
Dont try to run valgrind on ppcel64 (it barfs on secp256k1)
Matt Corallo [Wed, 23 Mar 2022 20:23:23 +0000 (20:23 +0000)]
Merge pull request #63 from TheBlueMatt/main
Consider all reference types clonable + handle refs-in-tuples
Matt Corallo [Wed, 23 Mar 2022 03:37:53 +0000 (03:37 +0000)]
Update auto-generated bindings
Matt Corallo [Wed, 23 Mar 2022 16:29:40 +0000 (16:29 +0000)]
Manually handle generated types containing references to opaques
This is really disgusting, we really shouldn't have references in
generated types at all, its just a mess. Instead, we should break
apart arguments when its a tuple, which would solve this more
cleanly.
Matt Corallo [Wed, 23 Mar 2022 03:38:15 +0000 (03:38 +0000)]
Consider all reference types clonable (because they are)
Matt Corallo [Wed, 23 Mar 2022 03:14:55 +0000 (03:14 +0000)]
Merge pull request #62 from TheBlueMatt/main
Expose ProbabilisticScorer in Bindings
Matt Corallo [Wed, 23 Mar 2022 00:55:40 +0000 (00:55 +0000)]
Update auto-generated bindings with the ProbabilisticScorer
Matt Corallo [Wed, 23 Mar 2022 00:54:19 +0000 (00:54 +0000)]
Switch to using the Prob. Scorer in the C++ demo
Matt Corallo [Tue, 22 Mar 2022 23:47:22 +0000 (23:47 +0000)]
Allow method call args to be converted with a new_var conversion
The call was already there, not sure why we were asserting on it
not printing anything...
Matt Corallo [Mon, 21 Mar 2022 01:21:50 +0000 (01:21 +0000)]
Pass types through `resolve_type` in a few additional places
Over time I'd like to swap all of our generic resolution to pass
through `resolve_type` instead of the current path resolution, as
its strictly more flexible, but for now we just add the few we need.
Matt Corallo [Mon, 21 Mar 2022 19:13:42 +0000 (19:13 +0000)]
Separate printing references-with-lifetimes from c-vs-rust types
(and use C types with lifetimes in generic struct creation)
Matt Corallo [Fri, 18 Mar 2022 03:23:28 +0000 (03:23 +0000)]
Process all type aliases as C types, leaning on annotations to skip
Previously we'd used the presence of generics on a type alias
definition to decide when to skip creation of a corresponding C
type. However, with `ProbabilisticScorer`, we now have a type alias
which has a generic bound but which we still want to create a C
type for.
Matt Corallo [Thu, 3 Mar 2022 06:52:50 +0000 (06:52 +0000)]
Merge pull request #61 from TheBlueMatt/main
Implement `Clone` for `SecretKey`
Matt Corallo [Thu, 3 Mar 2022 03:20:07 +0000 (03:20 +0000)]
Implement `Clone` for `SecretKey`
Matt Corallo [Wed, 2 Mar 2022 18:53:49 +0000 (18:53 +0000)]
Merge pull request #60 from TheBlueMatt/main
Update to 0.0.105
Matt Corallo [Wed, 2 Mar 2022 03:24:28 +0000 (03:24 +0000)]
Update bindings workflow in CI to 0.0.105
Matt Corallo [Wed, 2 Mar 2022 03:53:18 +0000 (03:53 +0000)]
Update auto-generated bindings to 0.0.106
Matt Corallo [Wed, 9 Feb 2022 21:48:41 +0000 (21:48 +0000)]
Update demo.cpp with latest upstream API
Matt Corallo [Wed, 2 Mar 2022 05:33:31 +0000 (05:33 +0000)]
Explicitly refer to `format!()` with an `alloc` prefix for no-std
Matt Corallo [Wed, 2 Mar 2022 03:19:46 +0000 (03:19 +0000)]
Add function-call generic parameters when they're resovable
We really shouldn't ever actually need to do this - rustc should be
smart enough to figure out what we're doing given all the
parameters are concrete types, but this appears to be failing
sometimes.
Matt Corallo [Wed, 2 Mar 2022 01:23:07 +0000 (01:23 +0000)]
Handle `Option<[u8; 32]>`, mapping it same as `Option<&[u8; 32]>`
Matt Corallo [Wed, 9 Feb 2022 21:46:27 +0000 (21:46 +0000)]
Don't mark everything with a feature bound as TestOnly
Matt Corallo [Wed, 9 Feb 2022 21:16:31 +0000 (21:16 +0000)]
Convert slices containing non-primitives that are clonable
Matt Corallo [Wed, 9 Feb 2022 19:21:35 +0000 (19:21 +0000)]
Update build for lightning-invoice no-std support
Matt Corallo [Wed, 9 Feb 2022 18:11:08 +0000 (18:11 +0000)]
Recognize `bitcoin::bech32::u5` instead of only `bech32::u5`
Matt Corallo [Tue, 1 Mar 2022 04:19:24 +0000 (04:19 +0000)]
Merge pull request #59 from TheBlueMatt/main
Detect aarch64-osx for using apple sed as well
Matt Corallo [Mon, 21 Feb 2022 18:36:19 +0000 (18:36 +0000)]
Detect aarch64-osx for using apple sed as well
May fix #58, but there's probably other broken stuff around.
Matt Corallo [Mon, 17 Jan 2022 00:19:00 +0000 (00:19 +0000)]
Merge pull request #57 from TheBlueMatt/main
Optimize more aggressively for WASM builds
Matt Corallo [Sun, 16 Jan 2022 03:02:37 +0000 (03:02 +0000)]
Overwrite ldk_ver.h to avoid back-to-back builds duplicating consts
This causes back-to-back builds to have an ldk_ver.h for which the
oldest content dominates.
Matt Corallo [Sun, 16 Jan 2022 02:49:36 +0000 (02:49 +0000)]
Stop passing -mcpu=sandybridge to wasm builds on x86
Matt Corallo [Sun, 16 Jan 2022 00:06:17 +0000 (00:06 +0000)]
Use -O1 on WASM debug builds as they are otherwise too slow to run.
Matt Corallo [Sat, 15 Jan 2022 23:22:23 +0000 (23:22 +0000)]
Drop `cargo rustc` in favor of using $RUSTFLAGS
cargo rustc only passes the given arguments to the linking rustc,
not any building rustc calls, which is not generally what we want.
This further reduces `liblightningjs_release.wasm` from 2.4MB to
2.3 MB.
Matt Corallo [Sat, 15 Jan 2022 22:59:11 +0000 (22:59 +0000)]
Optimize more aggressively for WASM builds
Use `-Oz` instead of `-Os` because why not, and include LLVM
bitcode in C dependencies.
This reduces `liblightningjs_release.wasm` from 3.0MB to 2.4MB,
likely mostly from removing secp256k1 symbols that were unused.
Matt Corallo [Thu, 6 Jan 2022 19:54:22 +0000 (19:54 +0000)]
Merge pull request #54 from TheBlueMatt/main
Support `no-std`
Matt Corallo [Wed, 5 Jan 2022 06:43:58 +0000 (06:43 +0000)]
Update auto-generated bindings
Matt Corallo [Thu, 6 Jan 2022 03:48:01 +0000 (03:48 +0000)]
Update git commit hash to instead point to 0.0.104-bindings branch
Matt Corallo [Tue, 4 Jan 2022 20:30:55 +0000 (20:30 +0000)]
Support no_std on the generated crate
Matt Corallo [Tue, 4 Jan 2022 20:30:37 +0000 (20:30 +0000)]
Swap std references in generated code for core/alloc references
Matt Corallo [Tue, 4 Jan 2022 19:09:50 +0000 (19:09 +0000)]
Support building dependent crates with `no-std`
Matt Corallo [Wed, 29 Dec 2021 19:34:59 +0000 (19:34 +0000)]
Merge pull request #53 from orenfromberg/patch-1
Improving readability of genbindings.sh
Oren Fromberg [Wed, 29 Dec 2021 03:26:15 +0000 (22:26 -0500)]
Update genbindings.sh
Matt Corallo [Mon, 20 Dec 2021 09:38:14 +0000 (09:38 +0000)]
Merge pull request #52 from TheBlueMatt/main
Correct non-default lld version passing
Matt Corallo [Mon, 20 Dec 2021 06:13:55 +0000 (06:13 +0000)]
Correctly detect non-default LLD usage
Passing `-flto=ld*.lld-X` only appears to actually work on debian
testing. The correct argument for an alternative version of LLD is
`-flto=lld-X`.
Matt Corallo [Mon, 20 Dec 2021 05:24:14 +0000 (05:24 +0000)]
Revert "Correct LLD detection when a specific version is needed for X-lang LTO"
This reverts commit
b33cce1a6255564b88e0615eb5c7941bd7b15759 .
Matt Corallo [Mon, 20 Dec 2021 05:03:40 +0000 (05:03 +0000)]
Merge pull request #51 from TheBlueMatt/main
0.0.104 Bindings Updates
Matt Corallo [Mon, 20 Dec 2021 01:20:06 +0000 (01:20 +0000)]
Only test C++ demo in std mode, as it relies on threading support
Matt Corallo [Sat, 18 Dec 2021 04:08:03 +0000 (04:08 +0000)]
Update git reference in checked-in Cargo.toml and CI branch
Matt Corallo [Sat, 18 Dec 2021 03:31:43 +0000 (03:31 +0000)]
Update auto-generated bindings
Matt Corallo [Sat, 18 Dec 2021 02:45:15 +0000 (02:45 +0000)]
Correct LLD detection when a specific version is needed for X-lang LTO
Also use the full LLD specified as ld*.lld as it seems to be needed
on Linux with LLD 13 now.
Matt Corallo [Sat, 18 Dec 2021 02:38:05 +0000 (02:38 +0000)]
Update C++ bindings to latest upstream API
Matt Corallo [Sat, 18 Dec 2021 02:07:52 +0000 (02:07 +0000)]
Support Option<()> (and &Option<()>) incl conversion and printing
Matt Corallo [Sat, 18 Dec 2021 02:06:00 +0000 (02:06 +0000)]
Drop allow_wallclock_use feature and use std/no-std directly
Matt Corallo [Sat, 18 Dec 2021 02:05:49 +0000 (02:05 +0000)]
Map new lightning::chain::keysinterface::KeyMaterial type as [u8; 32]
Matt Corallo [Sat, 18 Dec 2021 02:02:10 +0000 (02:02 +0000)]
Expose a 12-byte array instead of 10-byte as OnionV2 has changed
Matt Corallo [Tue, 30 Nov 2021 21:55:52 +0000 (21:55 +0000)]
Merge pull request #49 from TheBlueMatt/main
0.0.103.1
Matt Corallo [Tue, 30 Nov 2021 16:19:08 +0000 (16:19 +0000)]
Support cross-language LTO on OSX (with upstream clang/lld)
Matt Corallo [Tue, 30 Nov 2021 15:40:46 +0000 (15:40 +0000)]
Update git commit in Cargo.toml to upstream bindings changes
Matt Corallo [Fri, 19 Nov 2021 20:12:13 +0000 (20:12 +0000)]
Update auto-generated bindings
Matt Corallo [Mon, 29 Nov 2021 01:28:30 +0000 (01:28 +0000)]
Expose a method to unmangle pointers in test builds
This is used by Java bindings to compare all pointers against those
returned by its malloc wrap, possibly catching some simple
use-after-free or invalid pointer deref bugs.
It is exposed only when built as debug and defined in C headers
with `LDK_DEBUG_BUILD` defined.
Matt Corallo [Wed, 24 Nov 2021 18:07:57 +0000 (18:07 +0000)]
Support `use self::...` statements as they are sometimes use for submodules
Matt Corallo [Mon, 22 Nov 2021 02:06:37 +0000 (02:06 +0000)]
Support new c_bindings cfg flag to enable bindings-specific logic
Matt Corallo [Sun, 21 Nov 2021 18:46:53 +0000 (18:46 +0000)]
Update C/C++ demos to support new Logger API
Matt Corallo [Sun, 21 Nov 2021 18:19:14 +0000 (18:19 +0000)]
Stop special-casing `Logger`, instead map fmt::Arguments to string
Matt Corallo [Sun, 21 Nov 2021 18:17:35 +0000 (18:17 +0000)]
Correctly print lifetime parameters when printing generic arguments
Matt Corallo [Fri, 29 Oct 2021 18:59:25 +0000 (18:59 +0000)]
Support traits and structs with lifetime bounds (which are ignored)
Matt Corallo [Fri, 19 Nov 2021 20:04:36 +0000 (20:04 +0000)]
Support mapping MaybeReadable
This fixes https://github.com/lightningdevkit/ldk-garbagecollected/issues/62
Matt Corallo [Fri, 19 Nov 2021 20:11:56 +0000 (20:11 +0000)]
Add helper method on results to return `result_ok`
This fixes https://github.com/lightningdevkit/ldk-garbagecollected/issues/59
Matt Corallo [Wed, 3 Nov 2021 21:17:11 +0000 (21:17 +0000)]
Merge pull request #48 from TheBlueMatt/main
0.0.103.0 Updates
Matt Corallo [Wed, 3 Nov 2021 03:52:52 +0000 (03:52 +0000)]
Update upstream git tag
Matt Corallo [Wed, 3 Nov 2021 03:39:09 +0000 (03:39 +0000)]
Use a branch for bindings, as rustc prevents us from using main
Matt Corallo [Mon, 1 Nov 2021 21:49:12 +0000 (21:49 +0000)]
Update auto-generated bindings
Matt Corallo [Mon, 1 Nov 2021 03:38:31 +0000 (03:38 +0000)]
Update C++ bindings to latest upstream API + test PaymentRetrier
Matt Corallo [Tue, 2 Nov 2021 05:58:14 +0000 (05:58 +0000)]
Avoid double-`ObjOps::nonnull_ptr_to_inner` on options in some cases
Matt Corallo [Mon, 1 Nov 2021 18:35:30 +0000 (18:35 +0000)]
Separate logic to print `create_ownable_reference` types
These types aren't actually mapped in the same way as all other
types, so we really shouldn't be trying to use the same conversion
logic for both.