]> git.bitcoin.ninja Git - ldk-c-bindings/log
ldk-c-bindings
2 years agoSupport building dependent crates with `no-std`
Matt Corallo [Tue, 4 Jan 2022 19:09:50 +0000 (19:09 +0000)]
Support building dependent crates with `no-std`

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

2 years agoCorrectly detect non-default LLD usage
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`.

2 years agoRevert "Correct LLD detection when a specific version is needed for X-lang LTO"
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.

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

2 years agoOnly test C++ demo in std mode, as it relies on threading support
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

2 years agoUpdate git reference in checked-in Cargo.toml and CI branch
Matt Corallo [Sat, 18 Dec 2021 04:08:03 +0000 (04:08 +0000)]
Update git reference in checked-in Cargo.toml and CI branch

2 years agoUpdate auto-generated bindings
Matt Corallo [Sat, 18 Dec 2021 03:31:43 +0000 (03:31 +0000)]
Update auto-generated bindings

2 years agoCorrect LLD detection when a specific version is needed for X-lang LTO
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.

2 years agoUpdate C++ bindings to latest upstream API
Matt Corallo [Sat, 18 Dec 2021 02:38:05 +0000 (02:38 +0000)]
Update C++ bindings to latest upstream API

2 years agoSupport Option<()> (and &Option<()>) incl conversion and printing
Matt Corallo [Sat, 18 Dec 2021 02:07:52 +0000 (02:07 +0000)]
Support Option<()> (and &Option<()>) incl conversion and printing

2 years agoDrop allow_wallclock_use feature and use std/no-std directly
Matt Corallo [Sat, 18 Dec 2021 02:06:00 +0000 (02:06 +0000)]
Drop allow_wallclock_use feature and use std/no-std directly

2 years agoMap new lightning::chain::keysinterface::KeyMaterial type as [u8; 32]
Matt Corallo [Sat, 18 Dec 2021 02:05:49 +0000 (02:05 +0000)]
Map new lightning::chain::keysinterface::KeyMaterial type as [u8; 32]

2 years agoExpose a 12-byte array instead of 10-byte as OnionV2 has changed
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

2 years agoMerge pull request #49 from TheBlueMatt/main v0.0.103.1
Matt Corallo [Tue, 30 Nov 2021 21:55:52 +0000 (21:55 +0000)]
Merge pull request #49 from TheBlueMatt/main

0.0.103.1

2 years agoSupport cross-language LTO on OSX (with upstream clang/lld)
Matt Corallo [Tue, 30 Nov 2021 16:19:08 +0000 (16:19 +0000)]
Support cross-language LTO on OSX (with upstream clang/lld)

2 years agoUpdate git commit in Cargo.toml to upstream bindings changes
Matt Corallo [Tue, 30 Nov 2021 15:40:46 +0000 (15:40 +0000)]
Update git commit in Cargo.toml to upstream bindings changes

2 years agoUpdate auto-generated bindings
Matt Corallo [Fri, 19 Nov 2021 20:12:13 +0000 (20:12 +0000)]
Update auto-generated bindings

2 years agoExpose a method to unmangle pointers in test builds
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.

2 years agoSupport `use self::...` statements as they are sometimes use for submodules
Matt Corallo [Wed, 24 Nov 2021 18:07:57 +0000 (18:07 +0000)]
Support `use self::...` statements as they are sometimes use for submodules

2 years agoSupport new c_bindings cfg flag to enable bindings-specific logic
Matt Corallo [Mon, 22 Nov 2021 02:06:37 +0000 (02:06 +0000)]
Support new c_bindings cfg flag to enable bindings-specific logic

2 years agoUpdate C/C++ demos to support new Logger API
Matt Corallo [Sun, 21 Nov 2021 18:46:53 +0000 (18:46 +0000)]
Update C/C++ demos to support new Logger API

2 years agoStop special-casing `Logger`, instead map fmt::Arguments to string
Matt Corallo [Sun, 21 Nov 2021 18:19:14 +0000 (18:19 +0000)]
Stop special-casing `Logger`, instead map fmt::Arguments to string

2 years agoCorrectly print lifetime parameters when printing generic arguments
Matt Corallo [Sun, 21 Nov 2021 18:17:35 +0000 (18:17 +0000)]
Correctly print lifetime parameters when printing generic arguments

2 years agoSupport traits and structs with lifetime bounds (which are ignored)
Matt Corallo [Fri, 29 Oct 2021 18:59:25 +0000 (18:59 +0000)]
Support traits and structs with lifetime bounds (which are ignored)

2 years agoSupport mapping MaybeReadable
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

2 years agoAdd helper method on results to return `result_ok`
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

3 years agoMerge pull request #48 from TheBlueMatt/main v0.0.103.0
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

3 years agoUpdate upstream git tag
Matt Corallo [Wed, 3 Nov 2021 03:52:52 +0000 (03:52 +0000)]
Update upstream git tag

3 years agoUse a branch for bindings, as rustc prevents us from using main
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

3 years agoUpdate auto-generated bindings
Matt Corallo [Mon, 1 Nov 2021 21:49:12 +0000 (21:49 +0000)]
Update auto-generated bindings

3 years agoUpdate C++ bindings to latest upstream API + test PaymentRetrier
Matt Corallo [Mon, 1 Nov 2021 03:38:31 +0000 (03:38 +0000)]
Update C++ bindings to latest upstream API + test PaymentRetrier

3 years agoAvoid double-`ObjOps::nonnull_ptr_to_inner` on options in some cases
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

3 years agoSeparate logic to print `create_ownable_reference` types
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.

3 years agoImplement additional `Into<Str>` auto-conversion
Matt Corallo [Mon, 1 Nov 2021 18:35:43 +0000 (18:35 +0000)]
Implement additional `Into<Str>` auto-conversion

3 years agoTrack generic param count and print types in ptr-conversion
Matt Corallo [Mon, 1 Nov 2021 17:55:20 +0000 (17:55 +0000)]
Track generic param count and print types in ptr-conversion

This will allow rustc to prevent an issue where we accidentally
map `&&Object as *const _` to get a `*const Object`, instead
getting a pointer to a pointer.

3 years agoAdd constructor for tuple types where all contained types are known
Matt Corallo [Mon, 1 Nov 2021 04:33:09 +0000 (04:33 +0000)]
Add constructor for tuple types where all contained types are known

3 years agoCheck if types are understood before we map an impl block for them
Matt Corallo [Sun, 31 Oct 2021 23:32:55 +0000 (23:32 +0000)]
Check if types are understood before we map an impl block for them

3 years agoSupport `use crate::*` statements
Matt Corallo [Sun, 31 Oct 2021 18:13:00 +0000 (18:13 +0000)]
Support `use crate::*` statements

3 years agoMap `PaymentId` to a `[u8; 32]` like other Payemt* IDs.
Matt Corallo [Sun, 31 Oct 2021 18:11:10 +0000 (18:11 +0000)]
Map `PaymentId` to a `[u8; 32]` like other Payemt* IDs.

This should solve https://github.com/lightningdevkit/ldk-garbagecollected/issues/52

3 years agoSupport resolving non-trivial bounds from parent generic contexts
Matt Corallo [Sun, 31 Oct 2021 23:27:11 +0000 (23:27 +0000)]
Support resolving non-trivial bounds from parent generic contexts

3 years agoSupport converting Option<&[]> to C
Matt Corallo [Sun, 31 Oct 2021 23:14:41 +0000 (23:14 +0000)]
Support converting Option<&[]> to C

3 years agoimpl-Trait on in-crate types in a diff mod from the type definition
Matt Corallo [Sun, 31 Oct 2021 18:09:31 +0000 (18:09 +0000)]
impl-Trait on in-crate types in a diff mod from the type definition

3 years agoSupport printing lifetime generics on an impl-Trait block
Matt Corallo [Sun, 31 Oct 2021 18:07:47 +0000 (18:07 +0000)]
Support printing lifetime generics on an impl-Trait block

3 years agoSupport printing impl generics without an immediate bound
Matt Corallo [Sun, 31 Oct 2021 18:06:42 +0000 (18:06 +0000)]
Support printing impl generics without an immediate bound

(e.g. if you have `fn <A> ... where A: Trait` we'd not have printed
`<A>`)

This further supports printing impl generics with a reference to a
struct (not a trait), which we concretize with a regular reference.

3 years agoSwap --pretty=expanded with -Zunpretty=expanded
Matt Corallo [Sun, 31 Oct 2021 04:42:10 +0000 (04:42 +0000)]
Swap --pretty=expanded with -Zunpretty=expanded

Apparently the `--pretty` option was dropped in newer
rustc, see https://github.com/rust-lang/rust/pull/83491

3 years agoMerge pull request #46 from TheBlueMatt/main v0.0.102.0
Matt Corallo [Mon, 18 Oct 2021 20:43:06 +0000 (20:43 +0000)]
Merge pull request #46 from TheBlueMatt/main

0.0.102 Bindings Updates

3 years agoBump upstream git commit to latest
Matt Corallo [Sun, 17 Oct 2021 00:05:09 +0000 (00:05 +0000)]
Bump upstream git commit to latest

3 years agoUpdate auto-generated bindings
Matt Corallo [Sat, 16 Oct 2021 22:22:11 +0000 (22:22 +0000)]
Update auto-generated bindings

3 years agoUpdate C++ demo to latest upstream changes
Matt Corallo [Sat, 16 Oct 2021 22:16:44 +0000 (22:16 +0000)]
Update C++ demo to latest upstream changes

3 years agoHandle bitcoin::Transaction aliases instead of the full path
Matt Corallo [Sat, 16 Oct 2021 22:16:27 +0000 (22:16 +0000)]
Handle bitcoin::Transaction aliases instead of the full path

3 years agoCorrectly convert Option<Generic<Inner>> to C
Matt Corallo [Tue, 12 Oct 2021 02:09:03 +0000 (02:09 +0000)]
Correctly convert Option<Generic<Inner>> to C

3 years agoDrop stale manual path mappings for generic containers
Matt Corallo [Tue, 12 Oct 2021 02:07:34 +0000 (02:07 +0000)]
Drop stale manual path mappings for generic containers

These are all mapped as generic containers now so there's no need
for manual mapping entries.

3 years ago[net] Ensure we don't spin loop by keeping the poll write bit set
Matt Corallo [Sun, 3 Oct 2021 21:41:18 +0000 (21:41 +0000)]
[net] Ensure we don't spin loop by keeping the poll write bit set

Previously we'd not been unsetting POLLOUT, which will result in
us spin-loop'ing with ChannelManager_write_buffer_space_avail.

Further, we'd also not been unsetting the POLLIN bit, which would
result in us never pausing read as the SocketDescriptor API
requires us to.

3 years agoMerge pull request #45 from TheBlueMatt/main
Matt Corallo [Tue, 28 Sep 2021 01:54:37 +0000 (01:54 +0000)]
Merge pull request #45 from TheBlueMatt/main

Correct clone logic for `Str`.

3 years agoUpdate auto-generated bindings to latest upstream
Matt Corallo [Tue, 28 Sep 2021 01:07:41 +0000 (01:07 +0000)]
Update auto-generated bindings to latest upstream

3 years agoUpdate git commit dependency to latest upstream
Matt Corallo [Tue, 28 Sep 2021 01:08:14 +0000 (01:08 +0000)]
Update git commit dependency to latest upstream

3 years agoCorrect clone logic for `Str`. v0.0.101.3
Matt Corallo [Mon, 27 Sep 2021 23:24:43 +0000 (23:24 +0000)]
Correct clone logic for `Str`.

Previously we'd blindly clone'd the fields, which, if
`data_is_owned` is set, will always result in a a double-free.

Instead, we always clone the underlying bytes, setting
`data_is_owned` on the returned value since its likely the caller
wants to hold onto the string outside of the current context.

3 years agoMerge pull request #44 from TheBlueMatt/main v0.0.101.2
Matt Corallo [Sun, 26 Sep 2021 22:54:31 +0000 (22:54 +0000)]
Merge pull request #44 from TheBlueMatt/main

3 years agoDetect a type as clonable with an explicit `impl Clone`
Matt Corallo [Sun, 26 Sep 2021 06:19:07 +0000 (06:19 +0000)]
Detect a type as clonable with an explicit `impl Clone`

These stay `impl Clone` even after the pretty-print rustc pass so
we cannot only match `core::clone::Clone`

3 years agoFix races in demo C++ bindings that can hang valgrind in CI
Matt Corallo [Sat, 25 Sep 2021 21:43:38 +0000 (21:43 +0000)]
Fix races in demo C++ bindings that can hang valgrind in CI

3 years agoCache multi-line sed replacements across methods to improve runtime
Matt Corallo [Sat, 25 Sep 2021 00:38:03 +0000 (00:38 +0000)]
Cache multi-line sed replacements across methods to improve runtime

3 years agoMerge pull request #43 from TheBlueMatt/main v0.0.101.1
Matt Corallo [Fri, 24 Sep 2021 22:56:26 +0000 (22:56 +0000)]
Merge pull request #43 from TheBlueMatt/main

Link libm for debug builds in testing due to new rust libstd dep

3 years agoLink libm for debug builds in testing due to new rust libstd dep
Matt Corallo [Fri, 24 Sep 2021 22:46:35 +0000 (22:46 +0000)]
Link libm for debug builds in testing due to new rust libstd dep

3 years agoMerge pull request #42 from TheBlueMatt/main
Matt Corallo [Fri, 24 Sep 2021 21:25:35 +0000 (21:25 +0000)]
Merge pull request #42 from TheBlueMatt/main

Update to v0.0.101

3 years agoBump lightning dep gitish to v0.0.101
Matt Corallo [Thu, 23 Sep 2021 18:45:18 +0000 (18:45 +0000)]
Bump lightning dep gitish to v0.0.101

3 years agoUpdate C and C++ demos to latest API and test custom messages
Matt Corallo [Thu, 23 Sep 2021 02:57:30 +0000 (02:57 +0000)]
Update C and C++ demos to latest API and test custom messages

3 years agoUpdate auto-generated bindings
Matt Corallo [Mon, 6 Sep 2021 01:13:29 +0000 (01:13 +0000)]
Update auto-generated bindings

3 years agoCall clone explicitly to avoid deref recursion when cloning traits
Matt Corallo [Fri, 24 Sep 2021 18:28:18 +0000 (18:28 +0000)]
Call clone explicitly to avoid deref recursion when cloning traits

3 years agoAdd missing C++ header for LDK::Str
Matt Corallo [Thu, 23 Sep 2021 02:59:04 +0000 (02:59 +0000)]
Add missing C++ header for LDK::Str

3 years agoStop tracking unused syn::Type mappings in GenericResolver
Matt Corallo [Thu, 23 Sep 2021 20:02:20 +0000 (20:02 +0000)]
Stop tracking unused syn::Type mappings in GenericResolver

They are now unused as of the previous commit

3 years agoUse `GenericTypes`'s type resolver instead of re-resolving
Matt Corallo [Wed, 22 Sep 2021 06:04:50 +0000 (06:04 +0000)]
Use `GenericTypes`'s type resolver instead of re-resolving

When we resolve a type with `GenericTypes::maybe_resolve_path` it
returns a resolved-path string as well as a syn::Path. When
resolving we'd previously then re-resolve the Path with the current
type/import information, instead of just accepting what was already
resolved. Simply accepting what was already resolved not only
simplifies a few cases, but also allows us to clean up where the
"crate::" prefix is printed, keeping "crate::" prefixes out of all
type resolution.

3 years agoWork around broken resolution on non-pub use aliasing in another module
Matt Corallo [Wed, 22 Sep 2021 23:14:41 +0000 (23:14 +0000)]
Work around broken resolution on non-pub use aliasing in another module

3 years agoHandle uncallable trait methods that use Infallible in a parameter
Matt Corallo [Thu, 23 Sep 2021 04:17:21 +0000 (04:17 +0000)]
Handle uncallable trait methods that use Infallible in a parameter

3 years agoMap core::convert::Infallible to a similar manually-defined struct
Matt Corallo [Wed, 22 Sep 2021 23:13:34 +0000 (23:13 +0000)]
Map core::convert::Infallible to a similar manually-defined struct

3 years agoSupport std::io::Read natively by mapping it to and u8slice
Matt Corallo [Thu, 23 Sep 2021 17:47:51 +0000 (17:47 +0000)]
Support std::io::Read natively by mapping it to and u8slice

3 years agoSupport converting C `OutPoint`s to `bitcoin` `OutPoint`s
Matt Corallo [Thu, 23 Sep 2021 17:46:30 +0000 (17:46 +0000)]
Support converting C `OutPoint`s to `bitcoin` `OutPoint`s

3 years agoUpdate io::Read manual implementation to upstream API changes
Matt Corallo [Thu, 23 Sep 2021 17:45:51 +0000 (17:45 +0000)]
Update io::Read manual implementation to upstream API changes

3 years agoAvoid mapping optionals as owned pointers
Matt Corallo [Wed, 22 Sep 2021 02:46:10 +0000 (02:46 +0000)]
Avoid mapping optionals as owned pointers

Using an owned pointer to map an optional turned out to be quite
annoying to avoid downstream memory issues. Instead, we use the
much more explicit `COption_TypeZ` enums everywhere.

This also fixes Option-al mapping of enums.

3 years agoHandle `W: X<T = Y>` generics where `Y` is used as `Z<Y>`
Matt Corallo [Wed, 22 Sep 2021 02:45:02 +0000 (02:45 +0000)]
Handle `W: X<T = Y>` generics where `Y` is used as `Z<Y>`

This simply requires calling `resolve_type` in a few more places.

3 years agoCall methods explicitly on traits to avoid to deref recursion
Matt Corallo [Wed, 22 Sep 2021 23:15:20 +0000 (23:15 +0000)]
Call methods explicitly on traits to avoid to deref recursion

3 years agoCorrect printing generic methods in traits
Matt Corallo [Wed, 22 Sep 2021 18:39:46 +0000 (18:39 +0000)]
Correct printing generic methods in traits

If a trait method is generic (and not the object itself), we
previously would print the concrete resolved types in the
`impl nativeTrait for TraitStruct` block instead of the generic
names, leading to compilation failures.

3 years agoLearn supertrait associated types when processing traits
Matt Corallo [Wed, 22 Sep 2021 04:13:16 +0000 (04:13 +0000)]
Learn supertrait associated types when processing traits

3 years agoDefine a macro for constructing a TypeResolver for a given module
Matt Corallo [Thu, 23 Sep 2021 04:16:48 +0000 (04:16 +0000)]
Define a macro for constructing a TypeResolver for a given module

This is used to resolve types referenced in modules other than the
current one.

3 years agoSupport mapping core::fmt::Debug as a supertrait
Matt Corallo [Wed, 22 Sep 2021 02:43:51 +0000 (02:43 +0000)]
Support mapping core::fmt::Debug as a supertrait

3 years agoTest fetching a Vec<Vec<Opaque>> via a generated getter in C++ demo
Matt Corallo [Mon, 6 Sep 2021 01:01:16 +0000 (01:01 +0000)]
Test fetching a Vec<Vec<Opaque>> via a generated getter in C++ demo

3 years agoSupport mapping slices which contain slices which contain opaques
Matt Corallo [Mon, 6 Sep 2021 01:00:23 +0000 (01:00 +0000)]
Support mapping slices which contain slices which contain opaques

Fixes https://github.com/lightningdevkit/ldk-garbagecollected/issues/43

3 years agoMap Vecs to slices when constructing a getter for a public field
Matt Corallo [Mon, 6 Sep 2021 00:53:56 +0000 (00:53 +0000)]
Map Vecs to slices when constructing a getter for a public field

This adds logic to allow constructing a getter for a public Vec
field where the inner items are opaque structs. In order to do this
we map them as slices, which will end up generating Vecs with
elements which all have their `is_owned` flags unset.

3 years agoDrop debug print that slipped in in a previous PR
Matt Corallo [Wed, 22 Sep 2021 06:04:24 +0000 (06:04 +0000)]
Drop debug print that slipped in in a previous PR

3 years agoMerge pull request #40 from TheBlueMatt/main
Matt Corallo [Thu, 19 Aug 2021 18:29:35 +0000 (18:29 +0000)]
Merge pull request #40 from TheBlueMatt/main

Differentiate inner pointers representing None and Some(ZST)

3 years agoUpdate git hash to latest upstream
Matt Corallo [Thu, 19 Aug 2021 00:01:56 +0000 (00:01 +0000)]
Update git hash to latest upstream

3 years agoUpdate auto-generated bindings to latest upstream
Matt Corallo [Thu, 19 Aug 2021 00:01:04 +0000 (00:01 +0000)]
Update auto-generated bindings to latest upstream

3 years agoUpdate auto-generated bindings
Matt Corallo [Wed, 18 Aug 2021 22:53:37 +0000 (22:53 +0000)]
Update auto-generated bindings

3 years agoBuild native debug binaries with --cfg=test_mod_pointers
Matt Corallo [Wed, 18 Aug 2021 21:13:52 +0000 (21:13 +0000)]
Build native debug binaries with --cfg=test_mod_pointers

3 years agoDifferentiate `inner` pointers representing `None` and `Some(ZST)`
Matt Corallo [Wed, 18 Aug 2021 21:51:28 +0000 (21:51 +0000)]
Differentiate `inner` pointers representing `None` and `Some(ZST)`

For zero-sized-types, rust `Box::into_inner(Box::new(ZST {}))`
returns `1usize as *mut ZST`, which confuses our Java bindings
which check for `None` by checking if `inner < 1024`. While we
could convert the Java bindings to check for `inner == 0`, the
magic value for ZST pointers is not, to my knowledge, an ABI
guarantee Rust provides.

Instead, we add an offset to the `inner` pointers to push them
past the zero page for ZSTs, taking this opportunity to clean up
some of our pointer conversion and push them through a common set
of utility functions.

We also add testing infrastructure to add similar offsets to
non-ZSTs to get good test coverage of the offset addition-removal,
though Rust should largely be ignoring pointer values for ZSTs
anyway so there should be little risk in anything going wrong here.

3 years agoMerge pull request #39 from TheBlueMatt/main v0.0.100.0
Matt Corallo [Tue, 17 Aug 2021 21:53:38 +0000 (21:53 +0000)]
Merge pull request #39 from TheBlueMatt/main

Update to 0.0.100

3 years agoUse v0.0.100 for lightning-c-bindings rust-lightning dep
Matt Corallo [Tue, 17 Aug 2021 20:39:29 +0000 (20:39 +0000)]
Use v0.0.100 for lightning-c-bindings rust-lightning dep

3 years agoCommit latest auto-generated C bindings based on 0.0.100
Matt Corallo [Tue, 17 Aug 2021 19:50:20 +0000 (19:50 +0000)]
Commit latest auto-generated C bindings based on 0.0.100

3 years agoAdd support for bitcoin::hash_types references and NonZeroU8
Matt Corallo [Tue, 17 Aug 2021 19:44:02 +0000 (19:44 +0000)]
Add support for bitcoin::hash_types references and NonZeroU8

3 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