]>
git.bitcoin.ninja Git - ldk-java/log
Matt Corallo [Sat, 3 Aug 2024 02:37:12 +0000 (02:37 +0000)]
Be more conservative about holding a ref to a cloned object
If we clone an object before passing to/from native code, we
generally don't need to hold a reference to that object in the
struct that owns the method.
The one exception we include here is if the object being passed is
either a trait or holds a reference to a trait. Its not clear if
this is required but it seems like a potential sharp edge.
Matt Corallo [Fri, 7 Jun 2024 13:14:46 +0000 (06:14 -0700)]
Merge pull request #163 from TheBlueMatt/main
Update to c-bindings 0.0.123.1
Matt Corallo [Thu, 6 Jun 2024 14:33:00 +0000 (14:33 +0000)]
[TS] Update auto-generated bindings to LDK-C-Bindings 0.0.123.1
Matt Corallo [Thu, 6 Jun 2024 14:10:28 +0000 (14:10 +0000)]
[C#] Update auto-generated bindings to LDK-C-Bindings 0.0.123.1
Matt Corallo [Thu, 6 Jun 2024 14:09:30 +0000 (14:09 +0000)]
[Java] Update auto-generated bindings to LDK-C-Bindings 0.0.123.1
Matt Corallo [Thu, 6 Jun 2024 14:06:31 +0000 (14:06 +0000)]
[C#] Run tests against release dylib on OSX in CI
Matt Corallo [Thu, 6 Jun 2024 13:40:31 +0000 (13:40 +0000)]
[Java] Change OSX CI to just check release JARs, don't build
Matt Corallo [Mon, 13 May 2024 18:47:30 +0000 (18:47 +0000)]
Update README with a bit more info on how Rusty things are mapped
Fixes #160
Matt Corallo [Fri, 24 May 2024 15:32:07 +0000 (15:32 +0000)]
[C#] Run tests against release library in determinism CI run
Matt Corallo [Fri, 24 May 2024 15:18:27 +0000 (15:18 +0000)]
[C#] Add a simple test of BOLT12 offer parsing
Matt Corallo [Fri, 7 Jun 2024 01:26:57 +0000 (01:26 +0000)]
[C#] Fix bool passing
It turns out that C# always expects bools to be passed as 4-byte
ints, which matches the classic C definition (which was usually
typedef'd to int) but is platform-dependent. On some platforms we
were building with 1-byte ints which led to bools getting mangled
when passing them to C#.
Luckily we already have bools passed to C# separated from bools
passed to Rust, so we can simply redefine `jboolean` to `int32_t`.
Matt Corallo [Fri, 24 May 2024 15:34:05 +0000 (08:34 -0700)]
Merge pull request #162 from TheBlueMatt/main
Additional CI Debugging
Matt Corallo [Thu, 16 May 2024 13:07:42 +0000 (06:07 -0700)]
Merge pull request #161 from TheBlueMatt/main
0.0.123.0
Matt Corallo [Thu, 16 May 2024 01:20:26 +0000 (01:20 +0000)]
[Java] Print error stack trace when tests fail
Matt Corallo [Thu, 16 May 2024 01:20:09 +0000 (01:20 +0000)]
[C#] Install mono-devel in determinism check to get semantic diff
Matt Corallo [Wed, 15 May 2024 20:07:57 +0000 (20:07 +0000)]
Update branch references to 0.0.123 in CI
Matt Corallo [Mon, 13 May 2024 18:21:45 +0000 (18:21 +0000)]
[C#] Update test to LDK 0.0.123 and pay a BOLT12 offer
Matt Corallo [Mon, 13 May 2024 17:31:12 +0000 (17:31 +0000)]
[C#] Update auto-generated bindings to LDK 0.0.123
Matt Corallo [Sun, 12 May 2024 20:52:23 +0000 (20:52 +0000)]
[TS] Update tests to LDK 0.0.123
Matt Corallo [Sun, 12 May 2024 20:48:54 +0000 (20:48 +0000)]
[TS] Update auto-generated bindings to LDK 0.0.123
Matt Corallo [Sun, 12 May 2024 20:49:35 +0000 (20:49 +0000)]
[TS] Add one more method style for callback definitions
Matt Corallo [Sun, 12 May 2024 19:49:18 +0000 (19:49 +0000)]
[Java] Update CMC and Human peer test to LDK 0.0.123
Matt Corallo [Sun, 12 May 2024 19:48:39 +0000 (19:48 +0000)]
[Java] Update auto-generated bindings to LDK 0.0.123
Matt Corallo [Mon, 13 May 2024 17:01:48 +0000 (17:01 +0000)]
Only handle `null` objects when its allowed
This should result in hitting NPEs rather than in-native
panics/SEGFAULTs.
Matt Corallo [Sun, 12 May 2024 19:36:42 +0000 (19:36 +0000)]
Avoid manual memory management in NioPeerHandler
We still free the native memory optimistically, but avoid disabling
the GC being able to free memory entirely.
Fixes #157
Matt Corallo [Sun, 12 May 2024 14:47:29 +0000 (14:47 +0000)]
Add a new `force_free` in Java for cases where its useful
Matt Corallo [Sun, 12 May 2024 14:47:13 +0000 (14:47 +0000)]
Map the new `LDKTweakedPublicKey` as a 32-byte array
Matt Corallo [Sun, 12 May 2024 14:47:02 +0000 (14:47 +0000)]
Support 4-tuples
Matt Corallo [Fri, 26 Apr 2024 15:24:17 +0000 (08:24 -0700)]
Merge pull request #158 from TheBlueMatt/main
Update CI references to 0.0.122
Matt Corallo [Thu, 25 Apr 2024 20:54:46 +0000 (20:54 +0000)]
Update CI references to 0.0.122
Matt Corallo [Wed, 20 Mar 2024 16:02:30 +0000 (16:02 +0000)]
Merge pull request #155 from TheBlueMatt/main
Cut 0.0.121.3
Matt Corallo [Wed, 20 Mar 2024 13:30:23 +0000 (13:30 +0000)]
[Java] Upgrade Android deterministic build to Debian bookworm
Matt Corallo [Wed, 13 Mar 2024 22:58:43 +0000 (22:58 +0000)]
[Java] Update auto-generated bindings
Matt Corallo [Wed, 13 Mar 2024 22:58:06 +0000 (22:58 +0000)]
Also don't pass `--target` to clang on *-androideabi
... but do pass the march/mcpu argument.
Matt Corallo [Wed, 13 Mar 2024 22:09:15 +0000 (22:09 +0000)]
Merge pull request #154 from TheBlueMatt/main
Fix typo introduced in
2dc5209c398ec23e5ce4f2a287bb55c33c681811
Matt Corallo [Wed, 13 Mar 2024 22:08:47 +0000 (22:08 +0000)]
Matt Corallo [Wed, 13 Mar 2024 21:38:05 +0000 (21:38 +0000)]
Merge pull request #153 from TheBlueMatt/main
Skip passing the `--target` to clang on Android
Matt Corallo [Wed, 13 Mar 2024 21:37:21 +0000 (21:37 +0000)]
Skip passing the `--target` to clang on Android
Matt Corallo [Wed, 13 Mar 2024 19:36:14 +0000 (19:36 +0000)]
Merge pull request #152 from siwatanejo/master
CI: fix typo in git clone command
siwatanejo [Wed, 13 Mar 2024 18:25:07 +0000 (19:25 +0100)]
CI: fix typo in git clone command
Introduced in:
94ae3f5ecc951f3d527f97ea10a8a4d897e6b696
Matt Corallo [Wed, 13 Mar 2024 14:57:01 +0000 (14:57 +0000)]
Merge pull request #150 from TheBlueMatt/main
Ensure bindings statics run before enums try to call native init
Matt Corallo [Wed, 13 Mar 2024 14:56:08 +0000 (14:56 +0000)]
[C#] Very marginally clean up get_java_arr_elem conditionals
Matt Corallo [Tue, 12 Mar 2024 14:17:58 +0000 (14:17 +0000)]
Skip the strip step on Windows
This partially reverts
5a78aa805d7c550a855d6b589907cab4ab6ca476
Matt Corallo [Thu, 7 Mar 2024 18:02:33 +0000 (18:02 +0000)]
[Java] Ensure bindings statics run before enums call native code
Fixes #149.
Matt Corallo [Wed, 13 Mar 2024 14:54:04 +0000 (14:54 +0000)]
Merge pull request #151 from aarani/fixStringArrayDecode
CSharp: fix LDKStr array decoding
Afshin Arani [Sun, 10 Mar 2024 10:40:17 +0000 (12:40 +0200)]
CSharp: fix LDKStr array decoding
Strings are encoded as array of string references, those references
are actually pointers to the string location and have 64bit in size,
but decoding logic was decoding those pointers as 32bit which caused
the following exception, this commit fixes that.
Exception:
Fatal error. System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
at InternalUtils.getArrayLength(Int64)
at InternalUtils.decodeUint8Array(Int64)
at InternalUtils.decodeString(Int64)
at org.ldk.structs.Result_CVec_StrZIOErrorZ+Result_CVec_StrZIOErrorZ_OK..ctor(System.Object, Int64)
at org.ldk.structs.Result_CVec_StrZIOErrorZ.constr_from_ptr(Int64)
at org.ldk.structs.KVStore.list(System.String, System.String)
Matt Corallo [Thu, 7 Mar 2024 14:38:01 +0000 (14:38 +0000)]
Merge pull request #148 from TheBlueMatt/main
Build macOS binaries in the CI-built release C# Nupkg
Matt Corallo [Thu, 7 Mar 2024 14:33:39 +0000 (14:33 +0000)]
Merge pull request #147 from TheBlueMatt/main
Various C# build fixes
Matt Corallo [Tue, 5 Mar 2024 15:04:10 +0000 (15:04 +0000)]
Build macOS binaries in the CI-built release C# Nupkg
Matt Corallo [Sat, 2 Mar 2024 13:20:59 +0000 (13:20 +0000)]
Always use -march on x86, even when targeting MacOS.
Matt Corallo [Sat, 2 Mar 2024 03:22:40 +0000 (03:22 +0000)]
Fix `$IS_MAC` usage in c_sharp generation
Matt Corallo [Fri, 1 Mar 2024 20:29:03 +0000 (20:29 +0000)]
Pass -isysroot to $CC when targeting MacOS with MACOS_SDK set
Matt Corallo [Thu, 1 Feb 2024 21:53:16 +0000 (21:53 +0000)]
Strip LLVM BC from resulting binaries
Matt Corallo [Thu, 1 Feb 2024 19:33:08 +0000 (19:33 +0000)]
[C#] Use new X-Lang LTO for C# Windows builds
Matt Corallo [Thu, 1 Feb 2024 19:22:57 +0000 (19:22 +0000)]
Pass --target/-mcpu/-march/-mtune to all $CC calls
Matt Corallo [Thu, 1 Feb 2024 17:31:45 +0000 (17:31 +0000)]
[C#] Use `Heap{Alloc,Free}` rather than `malloc`/`free` on Windows
We generally expect to allocate pointers in C which Rust will free,
and vice versa. On Windows, this requires that we use the same
allocation path as Rust's stdlib does, which is actually
`Heap{Alloc,Free}`, not `malloc`/`free`. Here, we swap the heap
allocation functions we call, fixing heap corruption issues on
Windows.
Matt Corallo [Mon, 29 Jan 2024 19:32:20 +0000 (19:32 +0000)]
Merge pull request #146 from TheBlueMatt/main
Update to LDK 0.0.121
Matt Corallo [Sat, 27 Jan 2024 00:29:44 +0000 (00:29 +0000)]
Restore android builds to Debian bullseye
There was never a reason to upgrade, and while it doesn't matter,
I'm not upgrading locally yet.
Matt Corallo [Fri, 26 Jan 2024 21:36:03 +0000 (21:36 +0000)]
Fix Java CI determinism validation to ignore C# output
Matt Corallo [Fri, 26 Jan 2024 19:59:57 +0000 (19:59 +0000)]
Upload CI-built release artifacts to enable better debugging
Matt Corallo [Tue, 23 Jan 2024 23:58:35 +0000 (23:58 +0000)]
Update CI references to LDK 0.0.121 branches
Matt Corallo [Wed, 24 Jan 2024 03:10:52 +0000 (03:10 +0000)]
[C#] Update tests to LDK 0.0.121 API
Matt Corallo [Wed, 24 Jan 2024 03:32:37 +0000 (03:32 +0000)]
[C#] Update auto-generated C# bindings
Matt Corallo [Wed, 24 Jan 2024 01:40:31 +0000 (01:40 +0000)]
[TS] Update tests for LDK 0.0.121 API
Matt Corallo [Wed, 24 Jan 2024 00:20:52 +0000 (00:20 +0000)]
[TS] Update auto-generated bindings
Matt Corallo [Tue, 23 Jan 2024 23:54:08 +0000 (23:54 +0000)]
[Java] Update batteries and tests to LDK 0.0.121
Matt Corallo [Tue, 23 Jan 2024 23:53:18 +0000 (23:53 +0000)]
[Java] Update auto-generated Java bindings to LDK 0.0.121
Matt Corallo [Tue, 23 Jan 2024 23:52:11 +0000 (23:52 +0000)]
Drop old manual implementations of the `Tx{In,Out}` getters
...as these are now provided directly upstream.
Matt Corallo [Tue, 23 Jan 2024 23:51:51 +0000 (23:51 +0000)]
Add manual implementation of the new `WitnessVersion` struct
Matt Corallo [Wed, 24 Jan 2024 01:31:39 +0000 (01:31 +0000)]
[TS] Add one additional call function semantic
Matt Corallo [Wed, 24 Jan 2024 03:17:10 +0000 (03:17 +0000)]
[C#] Free array buffers passed to C# after we've decoded them
Matt Corallo [Tue, 23 Jan 2024 21:19:51 +0000 (21:19 +0000)]
[C#] Use an instance of the callback delegate, not the fn itself
When passing the callback delegate to C from C# during static init,
it appears (but only on Windows) this actually creates a C# class
instance for the delegate and passes that. However, that class
instance is eventually GC'd and our callbacks will start failing.
Instead, we create a static instance of of the delegate and pass
that to C.
Matt Corallo [Tue, 23 Jan 2024 21:17:20 +0000 (21:17 +0000)]
[C#] Check int lengths at compile time
...cause I was using the wrong headers trying to do debug builds
and it took much too long to debug.
Matt Corallo [Mon, 29 Jan 2024 05:24:51 +0000 (05:24 +0000)]
[Java] Fix libcode.version argument to not reference C#
This caused the generated shared library to export no symbols.
Matt Corallo [Mon, 20 Nov 2023 23:05:58 +0000 (23:05 +0000)]
[Java] Re-introduce glibc versioning checks, but only up to 2.34
Matt Corallo [Fri, 17 Nov 2023 01:56:29 +0000 (01:56 +0000)]
Merge pull request #145 from TheBlueMatt/main
Switch C# builds to use `dotnet` on Fedora
Matt Corallo [Thu, 16 Nov 2023 20:10:34 +0000 (20:10 +0000)]
[C#] Upload the release zip as a CI artifact
Matt Corallo [Thu, 16 Nov 2023 04:33:04 +0000 (04:33 +0000)]
Treat Fedora like Linux...because they think they're so special 🙄
Matt Corallo [Thu, 16 Nov 2023 19:23:34 +0000 (19:23 +0000)]
[C#] Update auto-generated bindings
Matt Corallo [Thu, 16 Nov 2023 04:22:00 +0000 (04:22 +0000)]
[C#] Add -lntdll to windows builds as rustc relies on it
Matt Corallo [Thu, 16 Nov 2023 04:21:13 +0000 (04:21 +0000)]
[C#] Fix compile warnings which have become errors in newer clang
Matt Corallo [Thu, 16 Nov 2023 23:42:34 +0000 (23:42 +0000)]
[C#] Switch to net6.0 for the "target", though unclear if it does much
Matt Corallo [Thu, 16 Nov 2023 03:41:09 +0000 (03:41 +0000)]
[C#] Switch to `dotnet` for releases
Apparently some tooling doesn't like mono-compiled libraries, so
we just use `dotnet` for releases instead.
Matt Corallo [Thu, 16 Nov 2023 22:21:36 +0000 (22:21 +0000)]
[C#] Set the "build id" to a dummy value to improve determinism
Matt Corallo [Thu, 16 Nov 2023 21:36:10 +0000 (21:36 +0000)]
[C#] Use faketime explicitly when compiling
As targeting windows has a timestamp in the resulting dll, which we
need to be deterministic.
Matt Corallo [Sat, 11 Nov 2023 03:48:18 +0000 (03:48 +0000)]
Merge pull request #144 from TheBlueMatt/main
Update README to remove stale build instructions, mention C#
Matt Corallo [Sat, 11 Nov 2023 03:47:39 +0000 (03:47 +0000)]
Update README to remove stale build instructions, mention C#
Matt Corallo [Sat, 11 Nov 2023 03:41:31 +0000 (03:41 +0000)]
Merge pull request #143 from TheBlueMatt/main
[C#] Set license URL to the deprecated marker, fix file path
Matt Corallo [Sat, 11 Nov 2023 03:27:57 +0000 (03:27 +0000)]
[C#] Set license URL to the deprecated marker, fix file path
Apparently this is required when using a LICENSE file for nuget.org
Matt Corallo [Sat, 11 Nov 2023 03:24:39 +0000 (03:24 +0000)]
Merge pull request #142 from TheBlueMatt/main
Initial 0.0.118.0-alpha0 C# Release
Matt Corallo [Fri, 10 Nov 2023 01:30:32 +0000 (01:30 +0000)]
[C#] Add CI testing for C#
Matt Corallo [Thu, 9 Nov 2023 21:34:19 +0000 (21:34 +0000)]
[C#] Update build commands to match Java, add win and release bins
Also fixes a mono-csc argument error
Matt Corallo [Thu, 9 Nov 2023 17:53:23 +0000 (17:53 +0000)]
[C#] Add packaging artifacts to build a .nuget zip
Matt Corallo [Tue, 7 Nov 2023 23:26:33 +0000 (23:26 +0000)]
[C#] Add some initial C# tests
Matt Corallo [Tue, 7 Nov 2023 23:33:37 +0000 (23:33 +0000)]
[C#] Update auto-generated C# bindings
Matt Corallo [Thu, 9 Nov 2023 23:25:27 +0000 (23:25 +0000)]
[C#] Drop reference to `assert` which makes building on Win hard
Matt Corallo [Thu, 9 Nov 2023 21:06:30 +0000 (21:06 +0000)]
[C#] Remove version file which should not have been checked in
Matt Corallo [Tue, 7 Nov 2023 23:27:38 +0000 (23:27 +0000)]
[C#] Add `-unsafe` to mono-csc and build C library
Matt Corallo [Tue, 7 Nov 2023 23:25:37 +0000 (23:25 +0000)]
[C#] Drop marshalling generation
Given we now do array/string conversion using the TypeScript logic
we no longer need to use the C# marshalling nonsense, which we
remove the remnants of here.
Matt Corallo [Tue, 7 Nov 2023 23:22:44 +0000 (23:22 +0000)]
[C#] Move C# side to a TypeScript-based array/string conversion
Using the marshallers properly will be a ton of additional work,
and its not clear we can do it in the C -> C# direction anyway.
Instead, we can trivially just use the TypeScript conversion logic
which converts everything through pointers anyway.
We'd previously done this on the C side of things, but here we do
it on the C# side as well.