]>
git.bitcoin.ninja Git - ldk-java/log
Matt Corallo [Sat, 5 Jun 2021 16:49:20 +0000 (16:49 +0000)]
Handle methods taking non-ref self by using standard conversion
Matt Corallo [Wed, 2 Jun 2021 19:26:42 +0000 (19:26 +0000)]
Handle C -> Java calls from Rust-spawned threads
Turns out you need to "attach" threads to the JVM before you can
make Java calls.
Matt Corallo [Fri, 14 May 2021 15:57:13 +0000 (15:57 +0000)]
Redo constructor function names to feel more natural in Java
Matt Corallo [Mon, 3 May 2021 01:04:49 +0000 (01:04 +0000)]
Slightly reduce race conditions in NioPeerHandler
Sadly there's some restructuring that needs to happen to PeerHandler
before all possible race conditions go away.
Matt Corallo [Sun, 2 May 2021 03:47:16 +0000 (03:47 +0000)]
Update test ChannelManagerConstructor and invoice parsing as well
Matt Corallo [Sun, 2 May 2021 03:31:31 +0000 (03:31 +0000)]
Use uint64_t instead of long for pointers represented in C
While long is generally correct, the conversion of pointers to
long, then int64_t (passed to Java), then back to pointers
results in poor sign-extension, giving us invalid pointers.
Instead, convert to uint64_t everywhere and things work.
Matt Corallo [Sun, 2 May 2021 18:08:40 +0000 (11:08 -0700)]
Expose bindings versions and print on startup in debug mode
Also updates to latest upstream ldk-c-bindings include structure.
Co-Authored-By: Arik Sosman <git@arik.io>
Matt Corallo [Sun, 2 May 2021 03:33:21 +0000 (03:33 +0000)]
Support debug builds on Android by calling native log and not using BT
Matt Corallo [Sat, 1 May 2021 00:01:33 +0000 (00:01 +0000)]
Handle LDKStr in other structs and fix string conversion overread
Matt Corallo [Fri, 30 Apr 2021 21:50:03 +0000 (21:50 +0000)]
Handle empty variant structs and enums in variants
Matt Corallo [Fri, 30 Apr 2021 04:36:49 +0000 (04:36 +0000)]
Update HumanObjectPeerTest to print invoice in string form
Matt Corallo [Fri, 30 Apr 2021 02:03:50 +0000 (02:03 +0000)]
Update tests for new upstream API and using invoicse
Matt Corallo [Fri, 30 Apr 2021 02:03:14 +0000 (02:03 +0000)]
Use explicit return type var names instead of guessing
Matt Corallo [Thu, 29 Apr 2021 18:29:34 +0000 (18:29 +0000)]
Map more methods that go in UtilMethods
Matt Corallo [Thu, 29 Apr 2021 18:28:36 +0000 (18:28 +0000)]
Don't FREE things when we holds_ref if we're not calling *_free
After this we still only have minor leaks across 128 runs of
HumanObjectPeerTest:
314 allocations remained for
1126840 bytes.
Matt Corallo [Thu, 29 Apr 2021 16:39:03 +0000 (16:39 +0000)]
Handle u5, LDKTwentyBytes, and LDKRecoverableSignature
Matt Corallo [Thu, 22 Apr 2021 17:27:25 +0000 (17:27 +0000)]
Fix genbindings.sh sed call on OSX
Matt Corallo [Thu, 22 Apr 2021 16:29:50 +0000 (16:29 +0000)]
Handle calls which take strings as an argument in Java
Matt Corallo [Thu, 22 Apr 2021 15:28:24 +0000 (15:28 +0000)]
Merge pull request #17 from TheBlueMatt/main
Update to latest upstream
Matt Corallo [Fri, 16 Apr 2021 02:39:52 +0000 (02:39 +0000)]
Fix CI
Matt Corallo [Fri, 16 Apr 2021 00:38:28 +0000 (00:38 +0000)]
Update tests for latest upstream API, sadly disabling the Sign wrapper test
Matt Corallo [Sun, 21 Mar 2021 16:23:21 +0000 (12:23 -0400)]
Test new block connection API and update tests to new API
Matt Corallo [Wed, 31 Mar 2021 19:56:19 +0000 (15:56 -0400)]
Update auto-generated bindings
Matt Corallo [Thu, 15 Apr 2021 23:56:19 +0000 (23:56 +0000)]
Handle supertraits with constructor arguments
Matt Corallo [Thu, 15 Apr 2021 23:00:35 +0000 (19:00 -0400)]
Handle the somewhat half-mapped alias TransactionOutputs
TransactionOutputs is actually a
C2Tuple_TxidCVec_C2Tuple_u32TxOutZZZ, but with a type alias that
gives it a more readable name in a few places. Sadly, we don't
support type aliases, so we have to just map it back before building
our bindings.
Matt Corallo [Tue, 23 Mar 2021 00:48:41 +0000 (20:48 -0400)]
Treat Txid as an alias for LDKThirtyTwoBytes
Matt Corallo [Wed, 31 Mar 2021 20:11:43 +0000 (20:11 +0000)]
Merge pull request #16 from TheBlueMatt/2021-03-background-manager-persister
Adapt ChannelManagerConstructor to persist ChannelManager + handle events
Matt Corallo [Wed, 31 Mar 2021 19:52:07 +0000 (15:52 -0400)]
Adapt CI to new ldk-c-bindings genbindings.sh arguments
Matt Corallo [Wed, 31 Mar 2021 19:39:27 +0000 (15:39 -0400)]
Update auto-generated bindings
Matt Corallo [Wed, 31 Mar 2021 19:37:29 +0000 (15:37 -0400)]
Skip ChannelManagerConstructor in HumanObjectPeerTest
We should add a new, more generic, test later which uses it again.
Matt Corallo [Wed, 31 Mar 2021 19:28:23 +0000 (15:28 -0400)]
Adapt ChannelManagerConstructor to persist ChannelManager + handle events
Matt Corallo [Tue, 30 Mar 2021 20:04:12 +0000 (20:04 +0000)]
Merge pull request #15 from TheBlueMatt/2021-03-fix-clone
Fix clone-required detection and handling for complex enums in vecs
Matt Corallo [Tue, 30 Mar 2021 18:50:07 +0000 (14:50 -0400)]
Update autogenerated bindings with correct FREE/clone semantics
Matt Corallo [Tue, 30 Mar 2021 18:26:05 +0000 (14:26 -0400)]
Fix maven import of jetbrains annotations
Matt Corallo [Tue, 30 Mar 2021 18:16:44 +0000 (14:16 -0400)]
Test spending SpendableOutputs event contents
Matt Corallo [Tue, 30 Mar 2021 18:15:09 +0000 (14:15 -0400)]
Fix clone-required detection and handling for complex enums in vecs
Matt Corallo [Tue, 30 Mar 2021 20:02:37 +0000 (20:02 +0000)]
Merge pull request #14 from TheBlueMatt/2021-03-fix-enums
Handle tuple variants in complex enums
Matt Corallo [Tue, 30 Mar 2021 01:55:40 +0000 (21:55 -0400)]
Update tests to new enum API
Matt Corallo [Tue, 30 Mar 2021 01:58:56 +0000 (21:58 -0400)]
Update auto-generated bindings
Matt Corallo [Tue, 30 Mar 2021 20:01:13 +0000 (16:01 -0400)]
Cleanup map lookup checks a bit
Matt Corallo [Tue, 30 Mar 2021 01:53:28 +0000 (21:53 -0400)]
Handle tuple variants in complex enums
Matt Corallo [Mon, 29 Mar 2021 21:13:48 +0000 (17:13 -0400)]
Map result functions and rely on Rust constructors instead of news
Matt Corallo [Mon, 29 Mar 2021 21:11:44 +0000 (17:11 -0400)]
Map enum functions into human structs and Result types sanely
Arik Sosman [Fri, 26 Mar 2021 22:30:29 +0000 (15:30 -0700)]
Merge pull request #13 from TheBlueMatt/2021-03-check-determinism
Split wasm output files + check build determinism in CI
Matt Corallo [Sun, 21 Mar 2021 17:28:04 +0000 (13:28 -0400)]
Update README to capture current status better
Matt Corallo [Wed, 24 Mar 2021 15:24:34 +0000 (11:24 -0400)]
Split wasm output files + check build determinism in CI
Matt Corallo [Tue, 23 Mar 2021 14:00:43 +0000 (10:00 -0400)]
Update binaries with ldk-c-bindings path remapping enabled
Matt Corallo [Wed, 24 Mar 2021 15:24:09 +0000 (11:24 -0400)]
Map file paths in debug info to make debug libs path-independent
Matt Corallo [Mon, 22 Mar 2021 23:25:03 +0000 (23:25 +0000)]
Merge pull request #12 from TheBlueMatt/2021-03-fresh-bindings
Update bindings to latest upstream + Add CI
Matt Corallo [Mon, 22 Mar 2021 00:00:30 +0000 (20:00 -0400)]
Make java's bindings.c deterministic
Matt Corallo [Sun, 21 Mar 2021 19:39:24 +0000 (15:39 -0400)]
More aggressively check for full GC run during HumanObjectPeerTest
Matt Corallo [Sun, 21 Mar 2021 17:10:01 +0000 (13:10 -0400)]
Don't require a JNI_CFLAGS in genbindings.sh
Apparently Android builds don't need this, so don't require them.
Matt Corallo [Sat, 20 Mar 2021 21:54:47 +0000 (17:54 -0400)]
Update auto-generated bindings
Matt Corallo [Sun, 21 Mar 2021 23:33:03 +0000 (19:33 -0400)]
Fix HumanObjectPeerTest not delaying long enough in CI
Matt Corallo [Sat, 20 Mar 2021 21:51:33 +0000 (17:51 -0400)]
Add CI runs to test bindings
Matt Corallo [Sun, 21 Mar 2021 17:02:03 +0000 (13:02 -0400)]
Update tests to use Listen interface and for latest upstream
Matt Corallo [Sat, 20 Mar 2021 20:50:28 +0000 (16:50 -0400)]
Work around buggy Android nio implementation in batteries
Matt Corallo [Sat, 20 Mar 2021 20:32:52 +0000 (16:32 -0400)]
Disambiguate jcall function names by including the trait name
Arik Sosman [Sun, 21 Mar 2021 06:05:18 +0000 (23:05 -0700)]
Merge pull request #11 from TheBlueMatt/2021-03-license
Add license information
Matt Corallo [Thu, 18 Mar 2021 15:57:04 +0000 (11:57 -0400)]
Add license information
Matt Corallo [Thu, 18 Mar 2021 14:23:22 +0000 (14:23 +0000)]
Merge pull request #10 from galderz/t_compilation_error
Fix compilation errors
Galder Zamarreño [Thu, 18 Mar 2021 07:07:40 +0000 (08:07 +0100)]
Ignore IDE metadata and pycache
Galder Zamarreño [Thu, 18 Mar 2021 07:06:54 +0000 (08:06 +0100)]
Update API usages after bindings update
Arik Sosman [Fri, 12 Mar 2021 19:42:43 +0000 (11:42 -0800)]
Merge pull request #9 from TheBlueMatt/2021-03-cleanup-debug
Move debug builds to a separate file
Arik Sosman [Fri, 12 Mar 2021 18:59:50 +0000 (10:59 -0800)]
Merge pull request #7 from TheBlueMatt/2021-03-tweaks
Slight tweaks
Matt Corallo [Fri, 12 Mar 2021 16:49:27 +0000 (11:49 -0500)]
Update bindings to latest upstream + ChannelMonitor_clone patch
Matt Corallo [Fri, 12 Mar 2021 16:47:00 +0000 (11:47 -0500)]
Move .so output to different names based on release/debug flag
Matt Corallo [Fri, 12 Mar 2021 16:44:31 +0000 (11:44 -0500)]
Drop at-exit memory leak assertion and note accuracy requirements
Matt Corallo [Wed, 10 Mar 2021 04:48:31 +0000 (23:48 -0500)]
Add a timeout to NioPeerHandler.connect
Matt Corallo [Wed, 10 Mar 2021 04:22:58 +0000 (23:22 -0500)]
Add comment noting duplicate load_outputs_to_watch calls
Matt Corallo [Wed, 10 Mar 2021 03:35:27 +0000 (22:35 -0500)]
Update genbindings docs to note new ldk-c-bindings repo
Arik Sosman [Mon, 8 Mar 2021 08:08:54 +0000 (00:08 -0800)]
Merge pull request #5 from TheBlueMatt/main
Add docs and fix handling of `Option<Trait>`
Matt Corallo [Sun, 7 Mar 2021 19:18:07 +0000 (14:18 -0500)]
Update java bindings with new generator and new upstream code
Matt Corallo [Mon, 8 Mar 2021 05:10:59 +0000 (00:10 -0500)]
Use the new ChannelMonitor util functions and test them
Matt Corallo [Mon, 8 Mar 2021 04:57:59 +0000 (23:57 -0500)]
Correct handling of Option<Trait>
Matt Corallo [Mon, 8 Mar 2021 02:56:41 +0000 (21:56 -0500)]
Update HumanObjectPeerTest to use new constructor
Matt Corallo [Sun, 7 Mar 2021 19:14:29 +0000 (14:14 -0500)]
Add struct and enum doc comments in Java
Arik Sosman [Sat, 6 Mar 2021 00:59:13 +0000 (16:59 -0800)]
Merge pull request #2 from TheBlueMatt/main
Expose Features
Matt Corallo [Sat, 6 Mar 2021 00:44:32 +0000 (19:44 -0500)]
Update to use a new java-base branch
Matt Corallo [Sat, 6 Mar 2021 00:41:55 +0000 (19:41 -0500)]
Update tests to latest upstream
Matt Corallo [Sat, 6 Mar 2021 00:42:32 +0000 (19:42 -0500)]
Update auto-generated bindings for new upstream
Matt Corallo [Mon, 1 Mar 2021 17:40:56 +0000 (12:40 -0500)]
Update tests to latest upstream changes (ChannelKeys rename, mostly)
Matt Corallo [Mon, 1 Mar 2021 17:37:30 +0000 (12:37 -0500)]
Update bindings to latest upstream.
Matt Corallo [Mon, 1 Mar 2021 17:24:11 +0000 (12:24 -0500)]
Work around our stupid hack with a stupid hack (see XXX in genbindings.py)
Matt Corallo [Mon, 1 Feb 2021 21:08:26 +0000 (16:08 -0500)]
Add trivial test of a route w/ Features::known, update to upstream
Matt Corallo [Fri, 12 Feb 2021 02:05:34 +0000 (21:05 -0500)]
Update auto-generated bindings with new upstream.
Matt Corallo [Fri, 12 Feb 2021 01:57:38 +0000 (20:57 -0500)]
Properly convert 2D arrays in from_hu_conv
Matt Corallo [Wed, 3 Feb 2021 20:14:42 +0000 (15:14 -0500)]
Fetch ChannelMonitor events during test and ensure there are none
Arik Sosman [Fri, 5 Mar 2021 19:39:04 +0000 (11:39 -0800)]
Merge pull request #4 from TheBlueMatt/2021-03-init-util
Add deserialization/init helper class that overtorment asked for
Matt Corallo [Fri, 5 Mar 2021 19:31:17 +0000 (14:31 -0500)]
Add deserialization/init helper class that overtorment asked for
Matt Corallo [Fri, 5 Mar 2021 19:30:54 +0000 (14:30 -0500)]
Drop stale WIP files that should not have been checked in
Matt Corallo [Thu, 4 Mar 2021 15:23:05 +0000 (07:23 -0800)]
Merge pull request #3 from galderz/t_add_source_jar
Produce java source jars
Galder Zamarreño [Thu, 4 Mar 2021 08:06:31 +0000 (09:06 +0100)]
Produce java source jars
Matt Corallo [Tue, 2 Feb 2021 22:45:37 +0000 (17:45 -0500)]
Update bindings
Matt Corallo [Wed, 3 Feb 2021 01:28:01 +0000 (20:28 -0500)]
Handle `uintptr_t`s better in JNI bindings
This fixes bugs building for 32-bit platforms as the JNI functions
would expect `uintptr_t`s (32-bit) but Java expects a long (64-bit).
We can't just replace them all with int64_ts as we need to have
`uintptr_t`s still in _jcalls functions which we pass function
pointers to C.
Matt Corallo [Tue, 2 Feb 2021 22:45:11 +0000 (17:45 -0500)]
Be explicit about C return type returning pointers to Java
Matt Corallo [Tue, 2 Feb 2021 22:37:06 +0000 (17:37 -0500)]
Add workarounds for Android JNI quirks
Matt Corallo [Tue, 2 Feb 2021 03:02:01 +0000 (22:02 -0500)]
bindings updates
Matt Corallo [Tue, 2 Feb 2021 02:18:29 +0000 (21:18 -0500)]
Properly free C tuples when the inner fields are dropped
Previously for the full test suite (incl 64 HumanObjectPeerTest runs):
`991 allocations remained for 32165 bytes.`
After for the full test suite (incl 64 HumanObjectPeerTest runs):
`179 allocations remained for 5369 bytes.`
Matt Corallo [Tue, 2 Feb 2021 01:26:00 +0000 (20:26 -0500)]
Small tweaks to NioPeerHandler