]> git.bitcoin.ninja Git - ldk-c-bindings/log
ldk-c-bindings
2 years agoSupport `Option<Trait>` (and `Option<&Trait>`, implemented the same)
Matt Corallo [Wed, 22 Jun 2022 03:48:04 +0000 (03:48 +0000)]
Support `Option<Trait>` (and `Option<&Trait>`, implemented the same)

2 years agoUse new `Type`-based resolution to decide if a container is transparent
Matt Corallo [Wed, 22 Jun 2022 02:36:09 +0000 (02:36 +0000)]
Use new `Type`-based resolution to decide if a container is transparent

We also assert that we were able to resolve paths inside containers
as we shouldn't be deciding if a container is transparent without
all the context.

2 years agoUse new `Type`-based generic resolution in `write_rust_path`
Matt Corallo [Sat, 18 Jun 2022 19:39:59 +0000 (19:39 +0000)]
Use new `Type`-based generic resolution in `write_rust_path`

This gives us better generic resolution, but because we determine
whether to include a `crate::` prefix or not based on generic
resolution it means we have to pipe through the "type is a generic that
was resolved" flag from `write_rust_type`. We also take this opporunity
to do better decision making for the `crate::` prefix entirely, which
is important for enums that contain trait instances.

2 years agoPass `with_ref_lifetime` through to rust-type-printing from C-path printing
Matt Corallo [Fri, 17 Jun 2022 21:01:14 +0000 (21:01 +0000)]
Pass `with_ref_lifetime` through to rust-type-printing from C-path printing

If we get to `write_c_path_intern` with `c_ty` unset, we delegate to
`write_rust_path`, however it would lose the `with_ref_lifetime`
flag, causing us to miss `'static` when printing references in
generic arguments. Here we simply pipe it through.

2 years agoCheck whether the fields of an enum are clonable before implementing clone
Matt Corallo [Fri, 17 Jun 2022 21:00:39 +0000 (21:00 +0000)]
Check whether the fields of an enum are clonable before implementing clone

2 years agoDo a second initial-walk pass to apply clonable flags to aliases
Matt Corallo [Fri, 17 Jun 2022 21:00:13 +0000 (21:00 +0000)]
Do a second initial-walk pass to apply clonable flags to aliases

This enables the clonable flags for `*Features`.

2 years agoMove code to map aliased types into a virtual impl block into a helper
Matt Corallo [Fri, 24 Jun 2022 01:15:53 +0000 (01:15 +0000)]
Move code to map aliased types into a virtual impl block into a helper

This will allow us to create virtual impl blocks during the early
code passes before we go to do the full conversion pass.

2 years agoGenerate mutable references in `default_generics` when relevant
Matt Corallo [Thu, 23 Jun 2022 16:13:06 +0000 (16:13 +0000)]
Generate mutable references in `default_generics` when relevant

As we move towards resolving generics via the new `Type`-based
interface instead of the string-based one, we need to ensure we
retain the mutability flag when resolving references, which we do
here.

2 years agoMove overly-specific check to an assertion where its relevant
Matt Corallo [Thu, 2 Jun 2022 20:40:54 +0000 (20:40 +0000)]
Move overly-specific check to an assertion where its relevant

2 years agoDo not make `Deref<T>` generic params always a `&T` for traits.
Matt Corallo [Fri, 24 Jun 2022 01:20:33 +0000 (01:20 +0000)]
Do not make `Deref<T>` generic params always a `&T` for traits.

We never expect traits to be passed by reference, so when using
the new-style generic resolution, we shouldn't force all `Deref`s
to `&T`, at least if the `T` is a trait.

2 years agoPrint field documentation even for unnamed enum variant fields
Matt Corallo [Tue, 28 Jun 2022 02:17:18 +0000 (02:17 +0000)]
Print field documentation even for unnamed enum variant fields

2 years agoAdd a note in output documentation for fields with refs to opaques
Matt Corallo [Tue, 28 Jun 2022 02:14:20 +0000 (02:14 +0000)]
Add a note in output documentation for fields with refs to opaques

Because we (probably shouldn't, but do) map "opaque" structs with
an `is_owned` field instead of having a dedicated reference type,
fields which are a `Deref<Struct>` are simply mapped as
`OpaqueMappedStruct`. This is confusing for downstream `lightning.h`
consumers as they cannot differentiate between a field that expects
to own a `Struct` and one which expects to own a reference to it.

This is worked around here by adding documentation which can be
matched on, though ultimately structs should move towards full
ownership.

2 years agoSet `ptr_for_ref` correctly when writing conversions for enum fields
Matt Corallo [Fri, 24 Jun 2022 01:19:59 +0000 (01:19 +0000)]
Set `ptr_for_ref` correctly when writing conversions for enum fields

2 years agoCorrectly set the `ptr_for_ref` arg on `write_c_type` calls in enum printing
Matt Corallo [Fri, 24 Jun 2022 01:16:46 +0000 (01:16 +0000)]
Correctly set the `ptr_for_ref` arg on `write_c_type` calls in enum printing

This avoids adding references to opaque structs in enum fields,
where we should, of course, map them as owned opaque structs.

It does generate some difficult-to-parse-by-downstream-bindings
code, which is addressed in a later commit by adding documentation.

Note that it also relies on the types being mapped differently
being opaque as it now needs logic to map a reference to a
non-reference with `is_owned` unset.

2 years agoCorrectly define the `native` type alias for enums with generic params
Matt Corallo [Fri, 24 Jun 2022 01:18:00 +0000 (01:18 +0000)]
Correctly define the `native` type alias for enums with generic params

2 years agoCorrectly generate `impl` blocks for traits with generics
Matt Corallo [Fri, 24 Jun 2022 01:15:31 +0000 (01:15 +0000)]
Correctly generate `impl` blocks for traits with generics

2 years agoSupport `T: Deref...where` in underlying structs from type aliases
Matt Corallo [Thu, 2 Jun 2022 20:39:47 +0000 (20:39 +0000)]
Support `T: Deref...where` in underlying structs from type aliases

2 years agoHandle trait methods with a default implementation
Matt Corallo [Thu, 23 Jun 2022 16:03:06 +0000 (16:03 +0000)]
Handle trait methods with a default implementation

This does not currently expose the default implementation to users
who wish to avoid manually implementing the method.

2 years agoInclude the `where` clause from a "real" type when mapping type aliases
Matt Corallo [Mon, 30 May 2022 23:51:54 +0000 (23:51 +0000)]
Include the `where` clause from a "real" type when mapping type aliases

ie if we have a
```
struct A<T: Deref> where T::Target: Trait {}
pub type B<T> = A<T>;
```

this includes the `where` clause so that we end up calling
`writeln_opaque` for `struct B<T: Deref> where T::Target: Trait {}`
instead of `struct B<T: Deref> {}`.

2 years agoAdd where-clause generic params to `default_generics` map
Matt Corallo [Wed, 22 Jun 2022 19:30:05 +0000 (19:30 +0000)]
Add where-clause generic params to `default_generics` map

This moves yet more generic resolution to being able to rely on the
`default_generics` map for full-`Type` resolution rather than
string-based name resolution.

2 years agoMake panics in macros more debug-able by giving them a unique print
Matt Corallo [Wed, 22 Jun 2022 19:19:54 +0000 (19:19 +0000)]
Make panics in macros more debug-able by giving them a unique print

2 years agoSupport `use ...::self` imports
Matt Corallo [Sat, 28 May 2022 01:06:56 +0000 (01:06 +0000)]
Support `use ...::self` imports

Previously we'd supported `use self:...` but this adds support for
using some path that ends with `self`.

2 years agoSupport arrays inside Option types
Jeffrey Czyz [Thu, 19 May 2022 15:26:35 +0000 (10:26 -0500)]
Support arrays inside Option types

Previously we'd supported arrays in options only if the real type
was something which we'd aliased to an array, so its not a big
stretch to support Options containing arrays explicitly.

2 years agoAdd more manually-generated types to the on-startup clonable list
Matt Corallo [Fri, 17 Jun 2022 21:01:46 +0000 (21:01 +0000)]
Add more manually-generated types to the on-startup clonable list

2 years agoUpdate c_types `IOError` type to support `no-std` via `core2`
Matt Corallo [Tue, 28 Jun 2022 15:51:47 +0000 (15:51 +0000)]
Update c_types `IOError` type to support `no-std` via `core2`

2 years agoAdd C type for bitcoin::util::address::WitnessVersion
Jeffrey Czyz [Thu, 19 May 2022 15:22:56 +0000 (10:22 -0500)]
Add C type for bitcoin::util::address::WitnessVersion

2 years agoUpdate `lightning-c-bindings` to new `bitcoin`/`secp256k1`
Matt Corallo [Mon, 30 May 2022 03:14:43 +0000 (03:14 +0000)]
Update `lightning-c-bindings` to new `bitcoin`/`secp256k1`

including new error types for `secp256k1::Error`

2 years agoUpdate type mappings for bitcoin 0.28.1
Jeffrey Czyz [Thu, 19 May 2022 14:12:52 +0000 (09:12 -0500)]
Update type mappings for bitcoin 0.28.1

2 years agoMerge pull request #77 from jurvis/main
Matt Corallo [Thu, 19 May 2022 16:42:14 +0000 (16:42 +0000)]
Merge pull request #77 from jurvis/main

Use GNU sed if available on macOS

2 years agoCheck if GNU sed is available on macOS
Jurvis Tan [Thu, 19 May 2022 02:48:19 +0000 (19:48 -0700)]
Check if GNU sed is available on macOS

Check if is_gnu_sed is true

2 years agoMerge pull request #75 from TheBlueMatt/main
Matt Corallo [Mon, 16 May 2022 19:01:51 +0000 (19:01 +0000)]
Merge pull request #75 from TheBlueMatt/main

Fix M1 build

2 years agoAdd a warning before we run a ton of sed's
Matt Corallo [Mon, 16 May 2022 18:51:35 +0000 (18:51 +0000)]
Add a warning before we run a ton of sed's

2 years agoSkip building x86_64 release binaries on M1 Macs
Matt Corallo [Thu, 12 May 2022 20:55:17 +0000 (20:55 +0000)]
Skip building x86_64 release binaries on M1 Macs

2 years agoExplicitly specify a target when calling local clang
Matt Corallo [Thu, 12 May 2022 20:45:48 +0000 (20:45 +0000)]
Explicitly specify a target when calling local clang

This should fix using upstream x86_64 clang on an M1 Mac via Rosetta

2 years agoDon't use -mcpu=native on aarch64-macos
Matt Corallo [Thu, 12 May 2022 20:42:23 +0000 (20:42 +0000)]
Don't use -mcpu=native on aarch64-macos

2 years agoMerge pull request #74 from TheBlueMatt/main
Matt Corallo [Fri, 29 Apr 2022 20:48:24 +0000 (20:48 +0000)]
Merge pull request #74 from TheBlueMatt/main

[ldk-net] Correct pollfds array offset after reads

2 years ago[ldk-net] Correct pollfds array offset after reads
Matt Corallo [Fri, 29 Apr 2022 19:30:05 +0000 (19:30 +0000)]
[ldk-net] Correct pollfds array offset after reads

Previously, we were copying the pollfds array at an offset of one
into the handler thread's stack. However, when it was changed to
copying at a 0 offset (adding the pipe read fd at the end instead
of beginning), the disable-read handling code was not updated.

This leads to an assertion failure at runtime if LDK decides we
need to stop reading due to the outbound buffer of a peer being
full.

2 years agoMerge pull request #73 from TheBlueMatt/main
Matt Corallo [Tue, 19 Apr 2022 23:19:47 +0000 (23:19 +0000)]
Merge pull request #73 from TheBlueMatt/main

Handle impl blocks outside of the mod of the being-implemented object

2 years agoDrop now-unused code from c-bindings-gen
Matt Corallo [Tue, 19 Apr 2022 20:32:07 +0000 (20:32 +0000)]
Drop now-unused code from c-bindings-gen

2 years agoUpdate auto-generated bindings
Matt Corallo [Tue, 19 Apr 2022 20:00:30 +0000 (20:00 +0000)]
Update auto-generated bindings

2 years agoHandle impl blocks exist outside of the mod of the being-implemented object
Matt Corallo [Tue, 19 Apr 2022 19:39:29 +0000 (19:39 +0000)]
Handle impl blocks exist outside of the mod of the being-implemented object

This allows us to implement the feature bit accessor functions.

2 years agoUse full paths in impl block handling instead of assuming in-file idents
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.

2 years agoMerge pull request #71 from TheBlueMatt/main
Matt Corallo [Mon, 18 Apr 2022 12:53:05 +0000 (12:53 +0000)]
Merge pull request #71 from TheBlueMatt/main

Make `Str`'s `clone` always clone the underlying bytes

2 years agoMake `Str`'s `clone` always clone the underlying bytes
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`.

2 years agoMerge pull request #70 from TheBlueMatt/main v0.0.106.1
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`

2 years agoUpdate auto-generated bindings
Matt Corallo [Wed, 13 Apr 2022 17:33:38 +0000 (17:33 +0000)]
Update auto-generated bindings

2 years agoExpose consistent free+clone methods for `Bech32Error`
Matt Corallo [Wed, 13 Apr 2022 17:30:40 +0000 (17:30 +0000)]
Expose consistent free+clone methods for `Bech32Error`

2 years agoMerge pull request #69 from TheBlueMatt/main v0.0.106.0
Matt Corallo [Mon, 4 Apr 2022 21:33:49 +0000 (21:33 +0000)]
Merge pull request #69 from TheBlueMatt/main

2 years agoUpdate auto-generated bindings with FromStr errors
Matt Corallo [Mon, 4 Apr 2022 18:07:45 +0000 (18:07 +0000)]
Update auto-generated bindings with FromStr errors

2 years agoSend peers the remote address we have for them in ldk-net
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>

2 years agoUse `_none()` constructor instead of setting tag in C++ demo
Matt Corallo [Mon, 4 Apr 2022 16:25:33 +0000 (16:25 +0000)]
Use `_none()` constructor instead of setting tag in C++ demo

2 years agoExpose error types when implementing FromStr
Matt Corallo [Mon, 4 Apr 2022 01:54:46 +0000 (01:54 +0000)]
Expose error types when implementing FromStr

Fixes #64.

2 years agoAdd additional error type conversion logic
Matt Corallo [Mon, 4 Apr 2022 01:53:24 +0000 (01:53 +0000)]
Add additional error type conversion logic

2 years agoMerge pull request #68 from jkczyz/2022-03-ldk-0-0-106
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

2 years agoUpdate bindings workflow in CI 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

2 years agoUpdate auto-generated bindings 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

2 years agoAdd a .gitignore for output of genbindings.sh
Jeffrey Czyz [Sun, 3 Apr 2022 23:27:00 +0000 (18:27 -0500)]
Add a .gitignore for output of genbindings.sh

2 years agoUpdate ldk_net.c for 0.0.106
Jeffrey Czyz [Fri, 1 Apr 2022 23:22:31 +0000 (18:22 -0500)]
Update ldk_net.c for 0.0.106

2 years agoUpdate demo.cpp for 0.0.106
Jeffrey Czyz [Fri, 1 Apr 2022 22:40:06 +0000 (17:40 -0500)]
Update demo.cpp for 0.0.106

2 years agoMerge pull request #67 from TheBlueMatt/main
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

2 years agoUpdate auto-generated bindings
Matt Corallo [Tue, 29 Mar 2022 22:37:38 +0000 (22:37 +0000)]
Update auto-generated bindings

2 years agoCrack `ReadableArgs` params when they're tuples
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.

2 years agoRevert "Consider all reference types clonable (because they are)"
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.

2 years agoRevert "Manually handle generated types containing references to opaques"
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.

2 years agoSeparate out CFLAGS for host builds and separate targets
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.

2 years agoClone for `&Option<Enum>`
Matt Corallo [Tue, 29 Mar 2022 20:47:09 +0000 (20:47 +0000)]
Clone for `&Option<Enum>`

2 years agoPush down type conversion logic around contained-has-inner some
Matt Corallo [Tue, 29 Mar 2022 19:23:05 +0000 (19:23 +0000)]
Push down type conversion logic around contained-has-inner some

2 years agoPin cbindgen as 0.21 broke the MSRV
Matt Corallo [Tue, 29 Mar 2022 22:43:31 +0000 (22:43 +0000)]
Pin cbindgen as 0.21 broke the MSRV

2 years agoDont try to run valgrind on ppcel64 (it barfs on secp256k1)
Matt Corallo [Tue, 29 Mar 2022 18:35:33 +0000 (18:35 +0000)]
Dont try to run valgrind on ppcel64 (it barfs on secp256k1)

2 years agoMerge pull request #63 from TheBlueMatt/main v0.0.105.2
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

2 years agoUpdate auto-generated bindings
Matt Corallo [Wed, 23 Mar 2022 03:37:53 +0000 (03:37 +0000)]
Update auto-generated bindings

2 years agoManually handle generated types containing references to opaques
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.

2 years agoConsider all reference types clonable (because they are)
Matt Corallo [Wed, 23 Mar 2022 03:38:15 +0000 (03:38 +0000)]
Consider all reference types clonable (because they are)

2 years agoMerge pull request #62 from TheBlueMatt/main
Matt Corallo [Wed, 23 Mar 2022 03:14:55 +0000 (03:14 +0000)]
Merge pull request #62 from TheBlueMatt/main

Expose ProbabilisticScorer in Bindings

2 years agoUpdate auto-generated bindings with the ProbabilisticScorer
Matt Corallo [Wed, 23 Mar 2022 00:55:40 +0000 (00:55 +0000)]
Update auto-generated bindings with the ProbabilisticScorer

2 years agoSwitch to using the Prob. Scorer in the C++ demo
Matt Corallo [Wed, 23 Mar 2022 00:54:19 +0000 (00:54 +0000)]
Switch to using the Prob. Scorer in the C++ demo

2 years agoAllow method call args to be converted with a new_var conversion
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...

2 years agoPass types through `resolve_type` in a few additional places
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.

2 years agoSeparate printing references-with-lifetimes from c-vs-rust types
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)

2 years agoProcess all type aliases as C types, leaning on annotations to skip
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.

2 years agoMerge pull request #61 from TheBlueMatt/main v0.0.105.1
Matt Corallo [Thu, 3 Mar 2022 06:52:50 +0000 (06:52 +0000)]
Merge pull request #61 from TheBlueMatt/main

Implement `Clone` for `SecretKey`

2 years agoImplement `Clone` for `SecretKey`
Matt Corallo [Thu, 3 Mar 2022 03:20:07 +0000 (03:20 +0000)]
Implement `Clone` for `SecretKey`

2 years agoMerge pull request #60 from TheBlueMatt/main v0.0.105.0
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

2 years agoUpdate bindings workflow in CI 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

2 years agoUpdate auto-generated bindings to 0.0.106
Matt Corallo [Wed, 2 Mar 2022 03:53:18 +0000 (03:53 +0000)]
Update auto-generated bindings to 0.0.106

2 years agoUpdate demo.cpp with latest upstream API
Matt Corallo [Wed, 9 Feb 2022 21:48:41 +0000 (21:48 +0000)]
Update demo.cpp with latest upstream API

2 years agoExplicitly refer to `format!()` with an `alloc` prefix for no-std
Matt Corallo [Wed, 2 Mar 2022 05:33:31 +0000 (05:33 +0000)]
Explicitly refer to `format!()` with an `alloc` prefix for no-std

2 years agoAdd function-call generic parameters when they're resovable
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.

2 years agoHandle `Option<[u8; 32]>`, mapping it same as `Option<&[u8; 32]>`
Matt Corallo [Wed, 2 Mar 2022 01:23:07 +0000 (01:23 +0000)]
Handle `Option<[u8; 32]>`, mapping it same as `Option<&[u8; 32]>`

2 years agoDon't mark everything with a feature bound as TestOnly
Matt Corallo [Wed, 9 Feb 2022 21:46:27 +0000 (21:46 +0000)]
Don't mark everything with a feature bound as TestOnly

2 years agoConvert slices containing non-primitives that are clonable
Matt Corallo [Wed, 9 Feb 2022 21:16:31 +0000 (21:16 +0000)]
Convert slices containing non-primitives that are clonable

2 years agoUpdate build for lightning-invoice no-std support
Matt Corallo [Wed, 9 Feb 2022 19:21:35 +0000 (19:21 +0000)]
Update build for lightning-invoice no-std support

2 years agoRecognize `bitcoin::bech32::u5` instead of only `bech32::u5`
Matt Corallo [Wed, 9 Feb 2022 18:11:08 +0000 (18:11 +0000)]
Recognize `bitcoin::bech32::u5` instead of only `bech32::u5`

2 years agoMerge pull request #59 from TheBlueMatt/main
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

2 years agoDetect 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.

2 years agoMerge pull request #57 from TheBlueMatt/main
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

2 years agoOverwrite ldk_ver.h to avoid back-to-back builds duplicating consts
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.

2 years agoStop passing -mcpu=sandybridge to wasm builds on x86
Matt Corallo [Sun, 16 Jan 2022 02:49:36 +0000 (02:49 +0000)]
Stop passing -mcpu=sandybridge to wasm builds on x86

2 years agoUse -O1 on WASM debug builds as they are otherwise too slow to run.
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.

2 years agoDrop `cargo rustc` in favor of using $RUSTFLAGS
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.