ldk-c-bindings
2 years agoMerge pull request #38 from TheBlueMatt/main
Matt Corallo [Sun, 8 Aug 2021 18:16:10 +0000 (18:16 +0000)]
Merge pull request #38 from TheBlueMatt/main

Provide full (new) struct to trait clone functions

2 years agoUpdate auto-generated bindings
Matt Corallo [Sun, 18 Jul 2021 02:16:31 +0000 (02:16 +0000)]
Update auto-generated bindings

2 years agoUpdate git hash to latest upstream
Matt Corallo [Wed, 28 Jul 2021 03:09:17 +0000 (03:09 +0000)]
Update git hash to latest upstream

2 years agoBump rust-bitcoin dependency to match rust-lightning
Matt Corallo [Sat, 7 Aug 2021 00:57:18 +0000 (00:57 +0000)]
Bump rust-bitcoin dependency to match rust-lightning

2 years agoAdd utility method to construct new complex enums
Matt Corallo [Sat, 7 Aug 2021 19:03:27 +0000 (19:03 +0000)]
Add utility method to construct new complex enums

This is incredibly useful for downstream languages eg Java as it
avoids having to manually implement constructors and can just use
common function-mapping logic.

2 years agoNote which parameters or return values are (secretly) Options
Matt Corallo [Thu, 5 Aug 2021 01:53:48 +0000 (01:53 +0000)]
Note which parameters or return values are (secretly) Options

Because `Option<OpaqueType>` is mapped the same as `OpaqueType` its
not immediately clear which values in the API are actually
`Option<>`al. Thus, we should at least have documentation noting
this.

2 years agoExpose struct method calls on trait structs to C++ directly
Matt Corallo [Wed, 21 Jul 2021 18:51:54 +0000 (18:51 +0000)]
Expose struct method calls on trait structs to C++ directly

We can add method calls for non-trait structs later, but this is
particularly useful as otherwise you need to extract both the
method and the `this_arg` to make the call.

2 years agoUpdate C++ demo and ldk_net to new clone API
Matt Corallo [Sat, 7 Aug 2021 21:08:09 +0000 (21:08 +0000)]
Update C++ demo and ldk_net to new clone API

2 years agoUpdate C++ demo to new upstream changes
Matt Corallo [Sat, 7 Aug 2021 21:07:55 +0000 (21:07 +0000)]
Update C++ demo to new upstream changes

2 years agoProvide full (new) struct to trait clone functions
Matt Corallo [Sun, 18 Jul 2021 02:09:45 +0000 (02:09 +0000)]
Provide full (new) struct to trait clone functions

Previously, when we went to clone a trait-implementation struct,
we'd provide only the `this_arg` void pointer, requiring that the
`this_arg` pointer be cloned into a new object while all remaining
fields are copied over exactly.

This has a few important limitations:
 * When a struct is cloned, it is not possible to set a `free`
   function to free any new data placed in `this_arg` without it
   also being set on the original struct.
 * Supertrait fields cannot be updated in the subtrait clone
   method, including the `this_arg` and `free` methods.

The first limitation prevents us from setting `free` after a clone
when the original trait may or may not have had `free` set. For
example, if the original trait was created with a `Obj_as_Trait`
method, cloned copies would never be free'd.

The second limitation prevents us from keeping the super and
subtrait `this_arg` fields in sync, in addition to limitations
similar to the above.

This resulted in Java code double-free'ing the `this_arg` field in
`InMemorySigner` objects which were accessed as both `Sign` and
`BaseSign` traits.

2 years agoCorrect args passed to supertrait C methods in subtrait impls
Matt Corallo [Sat, 17 Jul 2021 17:39:44 +0000 (17:39 +0000)]
Correct args passed to supertrait C methods in subtrait impls

2 years agoCopy PeerManager pointer in ldk_net
Matt Corallo [Wed, 28 Jul 2021 17:04:34 +0000 (17:04 +0000)]
Copy PeerManager pointer in ldk_net

2 years agoSwap include <> for include "" to make downstream Swift projects happy
Matt Corallo [Wed, 28 Jul 2021 00:45:46 +0000 (00:45 +0000)]
Swap include <> for include "" to make downstream Swift projects happy

2 years agoIf we're leaving binaries around, use -fPIC for ldk_net.o
Matt Corallo [Wed, 28 Jul 2021 00:39:47 +0000 (00:39 +0000)]
If we're leaving binaries around, use -fPIC for ldk_net.o

This is needed if downstream projects want to just take our
ldk_net.o binary and link them in directly, eg with addrsan to
avoid figuring out exact compile flags.

2 years agoFix LLVM version-suffixed binary name checking
Matt Corallo [Tue, 27 Jul 2021 23:47:01 +0000 (23:47 +0000)]
Fix LLVM version-suffixed binary name checking

Most hosts will install clang/LLVM binaries with the -MAJOR_VER
suffix, but we were searching for -MAJOR_VER.MINOR_VER suffix.

2 years agoMerge pull request #36 from TheBlueMatt/main v0.0.99.2
Matt Corallo [Wed, 14 Jul 2021 00:07:11 +0000 (00:07 +0000)]
Merge pull request #36 from TheBlueMatt/main

Fix Determinism with Newer Rustc and support additional targets (for Android)

2 years agoEnable macos-11 in CI
Matt Corallo [Tue, 13 Jul 2021 23:39:32 +0000 (23:39 +0000)]
Enable macos-11 in CI

2 years agoApply metadata replacement to ldk library as well for new rustc
Matt Corallo [Tue, 13 Jul 2021 20:15:40 +0000 (20:15 +0000)]
Apply metadata replacement to ldk library as well for new rustc

2 years agoAdd extra targets env variable to build for extra targets (eg Android)
Matt Corallo [Mon, 12 Jul 2021 18:46:31 +0000 (18:46 +0000)]
Add extra targets env variable to build for extra targets (eg Android)

2 years agoMerge pull request #35 from TheBlueMatt/main v0.0.99.1
Matt Corallo [Fri, 9 Jul 2021 22:32:43 +0000 (22:32 +0000)]
Merge pull request #35 from TheBlueMatt/main

2 years agoUpdate build-std parameters
Matt Corallo [Fri, 9 Jul 2021 19:45:36 +0000 (19:45 +0000)]
Update build-std parameters

As suggested at https://github.com/rust-lang/wg-cargo-std-aware/issues/71#issuecomment-877403993

2 years agoSet compiler flags earlier to get -isysroot in all RL builds
Matt Corallo [Fri, 9 Jul 2021 19:33:33 +0000 (19:33 +0000)]
Set compiler flags earlier to get -isysroot in all RL builds

2 years agoMerge pull request #34 from TheBlueMatt/main v0.0.99.0
Matt Corallo [Fri, 9 Jul 2021 18:48:20 +0000 (18:48 +0000)]
Merge pull request #34 from TheBlueMatt/main

Add a POSIX C LDK networking library

2 years agoUpdate Cargo git hash to upstream v0.0.99
Matt Corallo [Fri, 2 Jul 2021 22:14:32 +0000 (22:14 +0000)]
Update Cargo git hash to upstream v0.0.99

2 years agoUpdate auto-generated bindings to latest upstream
Matt Corallo [Fri, 2 Jul 2021 22:11:23 +0000 (22:11 +0000)]
Update auto-generated bindings to latest upstream

2 years agoUpdate C++ bindings demo to latest upstream API
Matt Corallo [Wed, 7 Jul 2021 00:16:05 +0000 (00:16 +0000)]
Update C++ bindings demo to latest upstream API

2 years agoUse correct lld to match rustc LLVM version (if available)
Matt Corallo [Wed, 7 Jul 2021 19:54:25 +0000 (19:54 +0000)]
Use correct lld to match rustc LLVM version (if available)

2 years agoDrop -flto from non-cross-language-lto C++ demo builds
Matt Corallo [Tue, 6 Jul 2021 22:07:42 +0000 (22:07 +0000)]
Drop -flto from non-cross-language-lto C++ demo builds

It appears somehow the LLVM IR is slipping into the Rust library,
causing Ubunto link to fail with the following error:

/usr/bin/ld: error: LLVM gold plugin has failed to create LTO module: Invalid record
clang: error: linker command failed with exit code 1 (use -v to see invocation)

2 years agoAdd a POSIX C LDK networking library
Matt Corallo [Fri, 2 Jul 2021 20:11:20 +0000 (20:11 +0000)]
Add a POSIX C LDK networking library

2 years agoSkip trait typedef in extra header as its unnecessary
Matt Corallo [Sat, 3 Jul 2021 01:28:25 +0000 (01:28 +0000)]
Skip trait typedef in extra header as its unnecessary

... and OSX complains that "redefinition of typedef...is a C11
feature"

2 years agoDrop rust-secp256k1 patch as it has been merged into a release upstream
Matt Corallo [Wed, 23 Jun 2021 18:18:27 +0000 (18:18 +0000)]
Drop rust-secp256k1 patch as it has been merged into a release upstream

2 years agoMerge pull request #31 from TheBlueMatt/main v0.0.98.1
Matt Corallo [Tue, 15 Jun 2021 18:12:25 +0000 (18:12 +0000)]
Merge pull request #31 from TheBlueMatt/main

Fix aarch64 targeting and print an error if its disabled

2 years agoDrop clang GH actions cache as it appears broken on OSX
Matt Corallo [Tue, 15 Jun 2021 18:02:38 +0000 (18:02 +0000)]
Drop clang GH actions cache as it appears broken on OSX

2 years agoDrop MacOS 11 runner until we get access to private preview
Matt Corallo [Tue, 15 Jun 2021 17:23:29 +0000 (17:23 +0000)]
Drop MacOS 11 runner until we get access to private preview

2 years agoFix aarch64 targeting and print an error if its disabled
Matt Corallo [Tue, 15 Jun 2021 17:16:51 +0000 (17:16 +0000)]
Fix aarch64 targeting and print an error if its disabled

2 years agoMerge pull request #30 from TheBlueMatt/main
Matt Corallo [Tue, 15 Jun 2021 16:06:54 +0000 (16:06 +0000)]
Merge pull request #30 from TheBlueMatt/main

Clean up OSX support and build for aarch64-apple-darwin

2 years agoAdd OSX CI
Matt Corallo [Mon, 14 Jun 2021 22:51:57 +0000 (22:51 +0000)]
Add OSX CI

2 years agoAlso build for aarch64-apple-darwin if we're building on x86_64 OSX
Matt Corallo [Mon, 14 Jun 2021 22:42:30 +0000 (22:42 +0000)]
Also build for aarch64-apple-darwin if we're building on x86_64 OSX

2 years agoClean up OSX support and rustc path selection somewhat
Matt Corallo [Mon, 14 Jun 2021 18:24:32 +0000 (18:24 +0000)]
Clean up OSX support and rustc path selection somewhat

2 years agoMerge pull request #29 from TheBlueMatt/main v0.0.98
Matt Corallo [Fri, 11 Jun 2021 18:30:46 +0000 (18:30 +0000)]
Merge pull request #29 from TheBlueMatt/main

Update to upstream 0.0.98

2 years agoUpdate auto-generated bindings to upstream 0.0.98
Matt Corallo [Fri, 11 Jun 2021 17:43:09 +0000 (17:43 +0000)]
Update auto-generated bindings to upstream 0.0.98

2 years agoSwitch rust-lightning dep to upstream now that we're "stable"
Matt Corallo [Fri, 11 Jun 2021 17:51:02 +0000 (17:51 +0000)]
Switch rust-lightning dep to upstream now that we're "stable"

2 years agoUpdate git HEAD to upstream 0.0.98
Matt Corallo [Fri, 11 Jun 2021 17:47:09 +0000 (17:47 +0000)]
Update git HEAD to upstream 0.0.98

2 years agoUpdate bindings C++ demo to latest upstream (0.0.98) API
Matt Corallo [Fri, 11 Jun 2021 17:36:26 +0000 (17:36 +0000)]
Update bindings C++ demo to latest upstream (0.0.98) API

2 years agoOnly set -mcpu=sandybridge on x86_64
Matt Corallo [Fri, 11 Jun 2021 17:41:49 +0000 (17:41 +0000)]
Only set -mcpu=sandybridge on x86_64

2 years agoDrop spurious deref when converting Vec entries to C
Matt Corallo [Fri, 11 Jun 2021 17:35:45 +0000 (17:35 +0000)]
Drop spurious deref when converting Vec entries to C

2 years agoMerge pull request #28 from TheBlueMatt/2021-06-fix-nondeterminism
Matt Corallo [Thu, 10 Jun 2021 15:50:26 +0000 (15:50 +0000)]
Merge pull request #28 from TheBlueMatt/2021-06-fix-nondeterminism

Fix various sources of build non-determinism and default to targeting sandybridge (ie AVX)

2 years agoEnsure we sanitize rustc random values for all lightning crates 2021-06-fix-nondeterminism
Matt Corallo [Wed, 9 Jun 2021 19:41:23 +0000 (19:41 +0000)]
Ensure we sanitize rustc random values for all lightning crates

2 years agoUse 16 hexits for git describe to avoid nondeterminism
Matt Corallo [Wed, 9 Jun 2021 19:13:59 +0000 (19:13 +0000)]
Use 16 hexits for git describe to avoid nondeterminism

2 years agoSet LC_ALL and -frandom-seed to avoid common nondeterminism sources
Matt Corallo [Wed, 9 Jun 2021 19:15:16 +0000 (19:15 +0000)]
Set LC_ALL and -frandom-seed to avoid common nondeterminism sources

2 years agoSwap default-cpu for sandybridge and use it when compiling libsecp
Matt Corallo [Wed, 9 Jun 2021 19:15:11 +0000 (19:15 +0000)]
Swap default-cpu for sandybridge and use it when compiling libsecp

sandybridge is a reasonable choice because it supports AVX but is
also 10+ years old (with AMD support for AVX at similar times).

The next option would be haswell with AVX2, which doesn't add as
much and for which AMD processors only came about in mid-2015.

2 years agoMerge pull request #27 from TheBlueMatt/main
Matt Corallo [Tue, 8 Jun 2021 18:17:35 +0000 (18:17 +0000)]
Merge pull request #27 from TheBlueMatt/main

Fix race in C++ demo where num_txs_broadcasted ++s before =0s

2 years agoFix race in C++ demo where num_txs_broadcasted ++s before =0s
Matt Corallo [Tue, 8 Jun 2021 18:01:37 +0000 (18:01 +0000)]
Fix race in C++ demo where num_txs_broadcasted ++s before =0s

2 years agoMerge pull request #26 from TheBlueMatt/main
Matt Corallo [Tue, 8 Jun 2021 17:14:40 +0000 (17:14 +0000)]
Merge pull request #26 from TheBlueMatt/main

Update rust-secp patch to match latest version and bump upstream

2 years agoRegenerate auto-generated bindings
Matt Corallo [Tue, 8 Jun 2021 02:00:06 +0000 (02:00 +0000)]
Regenerate auto-generated bindings

2 years agoUpdate RL git hash to latest upstream (hopefully next release)
Matt Corallo [Tue, 8 Jun 2021 02:29:50 +0000 (02:29 +0000)]
Update RL git hash to latest upstream (hopefully next release)

2 years agoUpdate rust-secp patch to match latest version
Matt Corallo [Tue, 8 Jun 2021 01:50:43 +0000 (01:50 +0000)]
Update rust-secp patch to match latest version

2 years agoMerge pull request #25 from TheBlueMatt/2021-04-bp-inclusion
Matt Corallo [Sat, 5 Jun 2021 16:40:47 +0000 (16:40 +0000)]
Merge pull request #25 from TheBlueMatt/2021-04-bp-inclusion

Add background-processor to the with-std bindings

2 years agoRegenerate auto-generated bindings 2021-04-bp-inclusion
Matt Corallo [Wed, 2 Jun 2021 16:27:29 +0000 (16:27 +0000)]
Regenerate auto-generated bindings

2 years agoAdd background-processor to the with-std bindings
Matt Corallo [Tue, 1 Jun 2021 14:45:09 +0000 (14:45 +0000)]
Add background-processor to the with-std bindings

2 years agoTake advantage of clone in more manually-defined c_types structs
Matt Corallo [Wed, 2 Jun 2021 16:23:24 +0000 (16:23 +0000)]
Take advantage of clone in more manually-defined c_types structs

2 years agoImplement Clone for a few additional manually-defined c_types
Matt Corallo [Wed, 2 Jun 2021 16:22:54 +0000 (16:22 +0000)]
Implement Clone for a few additional manually-defined c_types

2 years agoImplement conversion of std::io::Error to Rust
Matt Corallo [Wed, 14 Apr 2021 02:58:32 +0000 (22:58 -0400)]
Implement conversion of std::io::Error to Rust

2 years agoImpl Send+Sync for every trait, not just those with it explicit
Matt Corallo [Wed, 14 Apr 2021 02:58:12 +0000 (22:58 -0400)]
Impl Send+Sync for every trait, not just those with it explicit

Because Send+Sync are generated by the compiler for us, we don't
really know when we should or should not generate it. That said,
Send+Sync aren't exposed outside of Rust, so it only impacts
whether we can use a type when passed to Rust, not how users will
ultimately interact with types.

2 years agoHandle concrete Deref<Target=X> bounds in generic args
Matt Corallo [Tue, 13 Apr 2021 23:27:22 +0000 (19:27 -0400)]
Handle concrete Deref<Target=X> bounds in generic args

2 years agoMerge pull request #24 from TheBlueMatt/main
Matt Corallo [Wed, 2 Jun 2021 03:50:57 +0000 (03:50 +0000)]
Merge pull request #24 from TheBlueMatt/main

Update Bindings for latest Upstream LDK

2 years agoUpdate auto-generated bindings
Matt Corallo [Tue, 1 Jun 2021 22:12:54 +0000 (22:12 +0000)]
Update auto-generated bindings

2 years agoBump git depedency to latest upstream
Matt Corallo [Mon, 10 May 2021 18:44:19 +0000 (18:44 +0000)]
Bump git depedency to latest upstream

2 years agoUpdate auto-generated bindings to match latest upstream
Matt Corallo [Mon, 10 May 2021 18:40:57 +0000 (18:40 +0000)]
Update auto-generated bindings to match latest upstream

2 years agoUpdate bindings demo clients to the new event handling API
Matt Corallo [Sun, 30 May 2021 16:53:14 +0000 (16:53 +0000)]
Update bindings demo clients to the new event handling API

2 years agoUpdate bindings demo to use invoices and the new inbound payment API
Matt Corallo [Mon, 10 May 2021 17:10:17 +0000 (17:10 +0000)]
Update bindings demo to use invoices and the new inbound payment API

2 years agoCreate mappings for std::hasher::Hash and std::cmp::Eq
Matt Corallo [Fri, 14 May 2021 17:00:10 +0000 (17:00 +0000)]
Create mappings for std::hasher::Hash and std::cmp::Eq

2 years agoAdd an export tag to indicate users cannot implement a given trait
Matt Corallo [Sun, 30 May 2021 16:17:25 +0000 (16:17 +0000)]
Add an export tag to indicate users cannot implement a given trait

Specifically, for the LDK `EventsProvider` trait, we can't
(trivially) implement the `process_pending_events` function,
defined as:
`fn process_pending_events<H: Deref>(&self, handler: H) where H::Target: EventHandler;`

We currently do not support implementing generic methods, as we'd
need to wrap them in a generic Rust-trait-to-C-trait conversion
utility, which we do not currently have. Thus, because users
almost certainly have no reason to implement the `EventsProvider`
themselves, its simpler to simply prevent the use of the C trait
struct as the Rust trait.

Concretely, this means just skipping the
`impl rustEventsProvider for CEventsProvider` block, which works
fine as no Rust functions take an `EventsProvider` as an argument.

2 years agoHandle core:: and alloc::paths instead of just std:: (or prelude)
Matt Corallo [Sun, 30 May 2021 15:44:12 +0000 (15:44 +0000)]
Handle core:: and alloc::paths instead of just std:: (or prelude)

2 years agoMerge pull request #23 from TheBlueMatt/main
Matt Corallo [Mon, 3 May 2021 20:32:56 +0000 (20:32 +0000)]
Merge pull request #23 from TheBlueMatt/main

Fix handling of returning Option<&Object> from Rust functions

2 years agoRebuild auto-generated bindings
Matt Corallo [Mon, 3 May 2021 18:14:53 +0000 (18:14 +0000)]
Rebuild auto-generated bindings

2 years agoFix handling of returning Option<&Object> from Rust functions
Matt Corallo [Mon, 3 May 2021 17:52:43 +0000 (17:52 +0000)]
Fix handling of returning Option<&Object> from Rust functions

Specifically, these were previously mapped by calling
`<object.as_ref().unwrap() as *const _>`, taking a pointer to the
option on stack instead of a pointer to the option itself.

We just need to drop the `as_ref()` to make it correct.

2 years agoMerge pull request #22 from TheBlueMatt/main
Matt Corallo [Mon, 3 May 2021 17:55:04 +0000 (17:55 +0000)]
Merge pull request #22 from TheBlueMatt/main

Redo wasm bindings

2 years agoFix double-free of String bytes after converting an owned Str.
Matt Corallo [Mon, 3 May 2021 16:33:05 +0000 (16:33 +0000)]
Fix double-free of String bytes after converting an owned Str.

2 years agoRedo wasm bindings
Matt Corallo [Mon, 3 May 2021 14:58:06 +0000 (14:58 +0000)]
Redo wasm bindings

2 years agoMerge pull request #20 from TheBlueMatt/main
Matt Corallo [Mon, 3 May 2021 13:18:57 +0000 (13:18 +0000)]
Merge pull request #20 from TheBlueMatt/main

2 years agoUpdate CI to work around missing version.rs
Matt Corallo [Sun, 2 May 2021 22:36:34 +0000 (22:36 +0000)]
Update CI to work around missing version.rs

2 years agoUpdate auto-generated bindings (without new version files)
Matt Corallo [Sun, 2 May 2021 19:49:21 +0000 (19:49 +0000)]
Update auto-generated bindings (without new version files)

2 years agoAdd ability to get the LDK and LDK-C-Bindings version
Matt Corallo [Sun, 2 May 2021 18:37:45 +0000 (18:37 +0000)]
Add ability to get the LDK and LDK-C-Bindings version

2 years agoFix no-std+WASM builds by not mixing -flto and -fembed-bitcode
Matt Corallo [Sat, 1 May 2021 04:10:24 +0000 (04:10 +0000)]
Fix no-std+WASM builds by not mixing -flto and -fembed-bitcode

2 years agoMerge pull request #19 from TheBlueMatt/2021-04-invoice-incl
Matt Corallo [Sat, 1 May 2021 02:02:41 +0000 (02:02 +0000)]
Merge pull request #19 from TheBlueMatt/2021-04-invoice-incl

2 years agoBump git hashes to latest upstream 2021-04-invoice-incl
Matt Corallo [Fri, 30 Apr 2021 20:56:28 +0000 (20:56 +0000)]
Bump git hashes to latest upstream

2 years agoUpdate auto-generated bindings with new upstream invoice creation
Matt Corallo [Fri, 30 Apr 2021 01:17:42 +0000 (01:17 +0000)]
Update auto-generated bindings with new upstream invoice creation

2 years agoMap enum tuple variants with no contents as unitary enum variants
Matt Corallo [Fri, 30 Apr 2021 23:41:18 +0000 (23:41 +0000)]
Map enum tuple variants with no contents as unitary enum variants

cbindgen maps `enum A { V() }` with a `struct A_V_Body {}` which
has different size on C and C++ (0 and 1 bytes). While this is
fine if a different variant has non-0 size as the union will be
correctly sized. However, there isn't a lot of reason to rely on
this when we can just have a unitary variant as well.

2 years agoResolve issues with Str introduced when it became ownable
Matt Corallo [Fri, 30 Apr 2021 23:09:05 +0000 (23:09 +0000)]
Resolve issues with Str introduced when it became ownable

When converting from a Str to an &str, we previously took ownership
of the Str, copied the pointer to its characters to an &str and
returned the &str. This made the returned bytes always unreadable.

Further, there is now no reason to use Vec_u8Z for owned Strs, so
we swap for Str as well.

2 years agoResolve generic params with default (eg `<A=B(>) as their default.
Matt Corallo [Fri, 30 Apr 2021 18:35:58 +0000 (18:35 +0000)]
Resolve generic params with default (eg `<A=B(>) as their default.

2 years agoDrop stale () -> u8 mapping (now) used in Rust-only code
Matt Corallo [Fri, 30 Apr 2021 23:40:51 +0000 (23:40 +0000)]
Drop stale () -> u8 mapping (now) used in Rust-only code

2 years agoHandle generics on enums
Matt Corallo [Fri, 30 Apr 2021 16:19:51 +0000 (16:19 +0000)]
Handle generics on enums

2 years agoTake parameters to trait functions as mut
Matt Corallo [Thu, 29 Apr 2021 22:49:40 +0000 (22:49 +0000)]
Take parameters to trait functions as mut

In keeping with "generally, make all variables mut so that
converters can assume inputs are mut", we should do the same for
trait implementation blocks.

2 years agoSupport secp256k1 RecoverableSignatures
Matt Corallo [Thu, 29 Apr 2021 22:29:36 +0000 (22:29 +0000)]
Support secp256k1 RecoverableSignatures

2 years agoDrop debug print that slipped into git
Matt Corallo [Thu, 29 Apr 2021 22:18:52 +0000 (22:18 +0000)]
Drop debug print that slipped into git

2 years agoUpdate module paths for hash wrappers
Matt Corallo [Thu, 29 Apr 2021 15:21:35 +0000 (15:21 +0000)]
Update module paths for hash wrappers

2 years agoCorrect handling of Display trait conversion
Matt Corallo [Fri, 30 Apr 2021 04:33:10 +0000 (04:33 +0000)]
Correct handling of Display trait conversion

Previously we were incorrectly taking the *Rust* objects as
parameters in C functions instead of the C-mapped ones.

2 years agoMerge pull request #18 from TheBlueMatt/2021-04-invoice-incl
Matt Corallo [Thu, 29 Apr 2021 21:55:48 +0000 (21:55 +0000)]
Merge pull request #18 from TheBlueMatt/2021-04-invoice-incl

Bump to latest upstream and include lightning-invoice bindings

2 years agoUpdate auto-generated bindings with lightning-invoice
Matt Corallo [Thu, 29 Apr 2021 18:58:26 +0000 (18:58 +0000)]
Update auto-generated bindings with lightning-invoice