ldk-java
3 years agoFix opaque struct ptr ret-conv, used in jcall arg passing
Matt Corallo [Sat, 24 Oct 2020 20:53:04 +0000 (16:53 -0400)]
Fix opaque struct ptr ret-conv, used in jcall arg passing

3 years agoFix ObjectArray (array-of-arrays) creation
Matt Corallo [Sat, 24 Oct 2020 01:45:16 +0000 (21:45 -0400)]
Fix ObjectArray (array-of-arrays) creation

3 years agoFix optimized build
Matt Corallo [Sat, 24 Oct 2020 00:55:44 +0000 (20:55 -0400)]
Fix optimized build

3 years agoWrite tuple getters (and test them, exposing memory leak)
Matt Corallo [Fri, 23 Oct 2020 21:04:45 +0000 (17:04 -0400)]
Write tuple getters (and test them, exposing memory leak)

3 years agoAdd ability to get serialized transaction bytes
Matt Corallo [Fri, 23 Oct 2020 20:55:57 +0000 (16:55 -0400)]
Add ability to get serialized transaction bytes

3 years agoExpand the human object test somewhat
Matt Corallo [Fri, 23 Oct 2020 20:29:02 +0000 (16:29 -0400)]
Expand the human object test somewhat

3 years agoEnable more C build-time warnings
Matt Corallo [Fri, 23 Oct 2020 20:28:47 +0000 (16:28 -0400)]
Enable more C build-time warnings

3 years agoFinish compacting giant type-conversion-strings if tree, updating to new upstream...
Matt Corallo [Fri, 23 Oct 2020 00:28:10 +0000 (20:28 -0400)]
Finish compacting giant type-conversion-strings if tree, updating to new upstream and fixing bugs on the way

3 years agoCompact giant type-conversion-strings if tree somewhat
Matt Corallo [Thu, 22 Oct 2020 23:57:18 +0000 (19:57 -0400)]
Compact giant type-conversion-strings if tree somewhat

3 years agoSkip fewer fn's, support trait-contained objects
Matt Corallo [Thu, 22 Oct 2020 21:33:42 +0000 (17:33 -0400)]
Skip fewer fn's, support trait-contained objects

3 years agoProvide human versions of trait interfaces, with a bunch of fixes to make it work
Matt Corallo [Thu, 22 Oct 2020 04:09:49 +0000 (00:09 -0400)]
Provide human versions of trait interfaces, with a bunch of fixes to make it work

Sadly gave up trying to get returns to be sane, so now returning an
object from a trait implies that object is now unusable :(.

3 years agoRely on pointers even less in HumanObject testing
Matt Corallo [Wed, 21 Oct 2020 18:15:45 +0000 (14:15 -0400)]
Rely on pointers even less in HumanObject testing

3 years agoExpose human functions that use Result objects
Matt Corallo [Wed, 21 Oct 2020 18:09:56 +0000 (14:09 -0400)]
Expose human functions that use Result objects

3 years agoProperly free Vec<u8>s after conversion to byte[].
Matt Corallo [Wed, 21 Oct 2020 18:08:50 +0000 (14:08 -0400)]
Properly free Vec<u8>s after conversion to byte[].

This fixes a memory leak in basically all of the *_write
serialization functions.

3 years agoMake complex enums more complete, track reference-or-ownership by callsite
Matt Corallo [Tue, 20 Oct 2020 19:27:34 +0000 (15:27 -0400)]
Make complex enums more complete, track reference-or-ownership by callsite

3 years agoRewrite the world, with several interdependant changes (but several still WIP)
Matt Corallo [Tue, 20 Oct 2020 01:45:23 +0000 (01:45 +0000)]
Rewrite the world, with several interdependant changes (but several still WIP)

3 years agoProperly set CVec_u8Z to a byte[] which adds a ton more fn's
Matt Corallo [Thu, 15 Oct 2020 21:57:49 +0000 (17:57 -0400)]
Properly set CVec_u8Z to a byte[] which adds a ton more fn's

3 years agoFigure out java human types conversion stuff when doing all conv
Matt Corallo [Thu, 15 Oct 2020 20:58:18 +0000 (16:58 -0400)]
Figure out java human types conversion stuff when doing all conv

3 years agoSplit get_inner into get_ok/_err so that we can map the type being returned
Matt Corallo [Thu, 15 Oct 2020 00:01:35 +0000 (20:01 -0400)]
Split get_inner into get_ok/_err so that we can map the type being returned

3 years agoUse AutoCloseable for structs named Locked*
Matt Corallo [Wed, 14 Oct 2020 00:06:11 +0000 (20:06 -0400)]
Use AutoCloseable for structs named Locked*

3 years agoexplode to constructor args when we cant clone but need to
Matt Corallo [Tue, 13 Oct 2020 23:47:13 +0000 (19:47 -0400)]
explode to constructor args when we cant clone but need to

3 years agoDrop the _call insertion
Matt Corallo [Tue, 13 Oct 2020 20:25:37 +0000 (16:25 -0400)]
Drop the _call insertion

3 years agoSkip methods we can't use anyway
Matt Corallo [Tue, 13 Oct 2020 20:23:59 +0000 (16:23 -0400)]
Skip methods we can't use anyway

3 years agoUpdate to support None
Matt Corallo [Tue, 13 Oct 2020 19:06:44 +0000 (15:06 -0400)]
Update to support None

3 years agoConvert slices - requires some machinery to call Release, but otherwise not bad
Matt Corallo [Tue, 13 Oct 2020 18:00:26 +0000 (14:00 -0400)]
Convert slices - requires some machinery to call Release, but otherwise not bad

3 years agoClean up assertions, new Clone impls, ThreeBytes
Matt Corallo [Mon, 12 Oct 2020 22:13:01 +0000 (18:13 -0400)]
Clean up assertions, new Clone impls, ThreeBytes

3 years agoExpose signatures as byte[], check array lengths in C.
Matt Corallo [Mon, 12 Oct 2020 21:32:11 +0000 (17:32 -0400)]
Expose signatures as byte[], check array lengths in C.

3 years agoExpose SecretKey as byte[32], expose trait call fns in human structs
Matt Corallo [Mon, 12 Oct 2020 21:20:23 +0000 (17:20 -0400)]
Expose SecretKey as byte[32], expose trait call fns in human structs

3 years agoCreate structs and traits that are (a bit) more human-friendly!
Matt Corallo [Mon, 12 Oct 2020 20:56:10 +0000 (16:56 -0400)]
Create structs and traits that are (a bit) more human-friendly!

3 years agoDrop stale jni header files
Matt Corallo [Mon, 12 Oct 2020 20:53:44 +0000 (16:53 -0400)]
Drop stale jni header files

3 years agoAgressively clone when passing to rust
Matt Corallo [Mon, 12 Oct 2020 20:50:00 +0000 (16:50 -0400)]
Agressively clone when passing to rust

3 years agoNew upstream bindings that generate _clone fns
Matt Corallo [Mon, 12 Oct 2020 20:47:00 +0000 (16:47 -0400)]
New upstream bindings that generate _clone fns

3 years agoUse weak references to JCalls objects.
Matt Corallo [Mon, 12 Oct 2020 20:51:16 +0000 (16:51 -0400)]
Use weak references to JCalls objects.

This fixes a future usability issue where its easy to create a
lambda which ends up referencing a high-level struct's owning class
and then have the high-level struct hold a global reference to the
lambda, creating a reference cycle that java can't see into.

instead, we require the user hold a reference to the lambda as
long as the parent exists, something which we can automate on the
java bindings end.

3 years agoSend a payment!
Matt Corallo [Sun, 11 Oct 2020 01:11:59 +0000 (21:11 -0400)]
Send a payment!

3 years agoConvert pubkeys to byte arrays, fix assertions, fix result inner fetch, fix java...
Matt Corallo [Sun, 11 Oct 2020 01:00:04 +0000 (21:00 -0400)]
Convert pubkeys to byte arrays, fix assertions, fix result inner fetch, fix java garbage

3 years agoFully open and confirm a channel in Java!
Matt Corallo [Sat, 10 Oct 2020 22:49:51 +0000 (18:49 -0400)]
Fully open and confirm a channel in Java!

3 years agoA bunch of updates:
Matt Corallo [Sat, 10 Oct 2020 22:21:53 +0000 (18:21 -0400)]
A bunch of updates:

 * Switch to passing inner pointers across JNI, not pointers to
   opaque structs. This is more effecient, and the low bit is always
   0.
 * Use bitcoinj to create a block in test and connect it (!)

3 years agoIntercept all malloc/free, even in Rust!
Matt Corallo [Sat, 10 Oct 2020 22:05:33 +0000 (18:05 -0400)]
Intercept all malloc/free, even in Rust!

3 years agoMap tuples and ThirtyTwoBytes into array.
Matt Corallo [Fri, 9 Oct 2020 22:22:50 +0000 (18:22 -0400)]
Map tuples and ThirtyTwoBytes into array.

3 years agoMove enum mapping to functions
Matt Corallo [Thu, 8 Oct 2020 21:54:22 +0000 (17:54 -0400)]
Move enum mapping to functions

3 years agoConvert LDKThirtyTwoBytes to byte[32] instead of taking a ptr
Matt Corallo [Thu, 8 Oct 2020 20:51:09 +0000 (16:51 -0400)]
Convert LDKThirtyTwoBytes to byte[32] instead of taking a ptr

3 years agoMore statics and limit exports to Java methods at link
Matt Corallo [Thu, 8 Oct 2020 17:05:38 +0000 (13:05 -0400)]
More statics and limit exports to Java methods at link

3 years agoMap Rust enums with inner fields
Matt Corallo [Thu, 8 Oct 2020 02:10:11 +0000 (22:10 -0400)]
Map Rust enums with inner fields

3 years agoCache enum fields
Matt Corallo [Wed, 7 Oct 2020 23:55:37 +0000 (19:55 -0400)]
Cache enum fields

3 years agoMove enums into their own (non-impl) folder
Matt Corallo [Wed, 7 Oct 2020 21:39:05 +0000 (17:39 -0400)]
Move enums into their own (non-impl) folder

3 years agoAdd ability to fetch all Vec details in one call.
Matt Corallo [Wed, 7 Oct 2020 20:42:49 +0000 (16:42 -0400)]
Add ability to fetch all Vec details in one call.

3 years agoGo all the way through to channel creation in PeerTest
Matt Corallo [Tue, 6 Oct 2020 23:25:17 +0000 (19:25 -0400)]
Go all the way through to channel creation in PeerTest

3 years agoAdd constructors for None opaque struct mappings
Matt Corallo [Tue, 6 Oct 2020 23:21:38 +0000 (19:21 -0400)]
Add constructors for None opaque struct mappings

3 years agoUpdate PeerTest to test most of the new stuff
Matt Corallo [Tue, 6 Oct 2020 22:43:22 +0000 (18:43 -0400)]
Update PeerTest to test most of the new stuff

3 years agoMake slice-vec-len generic
Matt Corallo [Tue, 6 Oct 2020 22:42:38 +0000 (18:42 -0400)]
Make slice-vec-len generic

3 years agoMacro-ize assert to handle side-effects, fix JavaVM access, util fns
Matt Corallo [Tue, 6 Oct 2020 21:07:12 +0000 (17:07 -0400)]
Macro-ize assert to handle side-effects, fix JavaVM access, util fns

3 years agoAdd missing JCalls parameter conversion
Matt Corallo [Tue, 6 Oct 2020 19:46:49 +0000 (15:46 -0400)]
Add missing JCalls parameter conversion

3 years agoDont auto-free slices passed to Rust
Matt Corallo [Tue, 6 Oct 2020 17:35:27 +0000 (13:35 -0400)]
Dont auto-free slices passed to Rust

3 years agoReorg a bit and let us call trait methods from Java
Matt Corallo [Tue, 6 Oct 2020 01:59:34 +0000 (21:59 -0400)]
Reorg a bit and let us call trait methods from Java

3 years agoAdd ability to check if a CResult<> is OK, and get its value pointer
Matt Corallo [Tue, 6 Oct 2020 00:55:35 +0000 (20:55 -0400)]
Add ability to check if a CResult<> is OK, and get its value pointer

3 years agoAdd ability to get the Java object underlying a _JCalls struct
Matt Corallo [Tue, 6 Oct 2020 00:53:46 +0000 (20:53 -0400)]
Add ability to get the Java object underlying a _JCalls struct

3 years agoFix java short type ID for pointers
Matt Corallo [Tue, 6 Oct 2020 00:02:26 +0000 (20:02 -0400)]
Fix java short type ID for pointers

3 years agoUpdate test for new bindings
Matt Corallo [Fri, 2 Oct 2020 20:55:05 +0000 (16:55 -0400)]
Update test for new bindings

3 years agoUpdate auto-generated bindings
Matt Corallo [Fri, 2 Oct 2020 20:54:59 +0000 (16:54 -0400)]
Update auto-generated bindings

3 years agoUpdate genbindings.sh somewhat for newer upstream
Matt Corallo [Fri, 2 Oct 2020 20:54:35 +0000 (16:54 -0400)]
Update genbindings.sh somewhat for newer upstream

3 years agoUpdate to latest upstream bindings
Matt Corallo [Thu, 3 Sep 2020 20:39:40 +0000 (16:39 -0400)]
Update to latest upstream bindings

3 years agoAdd new test that builds a ChannelManager
Matt Corallo [Tue, 1 Sep 2020 20:49:23 +0000 (16:49 -0400)]
Add new test that builds a ChannelManager

3 years agoHandle size_t's and non-JCalls trait impls
Matt Corallo [Tue, 1 Sep 2020 20:48:48 +0000 (16:48 -0400)]
Handle size_t's and non-JCalls trait impls

3 years agoConvert unitary enums to Java enums
Matt Corallo [Tue, 1 Sep 2020 19:25:53 +0000 (15:25 -0400)]
Convert unitary enums to Java enums

3 years agoMove trait mapping to an fn
Matt Corallo [Tue, 1 Sep 2020 16:43:49 +0000 (12:43 -0400)]
Move trait mapping to an fn

3 years agoManually track allocations and assert that we don't leak
Matt Corallo [Tue, 1 Sep 2020 15:35:43 +0000 (11:35 -0400)]
Manually track allocations and assert that we don't leak

3 years agoRename PeerTest
Matt Corallo [Mon, 31 Aug 2020 23:16:19 +0000 (19:16 -0400)]
Rename PeerTest

3 years agoAdd .gitignore
Matt Corallo [Mon, 31 Aug 2020 22:56:14 +0000 (18:56 -0400)]
Add .gitignore

3 years agoTest current state of things, which actually doesn't crash!
Matt Corallo [Mon, 31 Aug 2020 22:44:53 +0000 (18:44 -0400)]
Test current state of things, which actually doesn't crash!

3 years agoref-count trait objects to avoid double-free, probably will need to do this everywhere
Matt Corallo [Mon, 31 Aug 2020 22:40:55 +0000 (18:40 -0400)]
ref-count trait objects to avoid double-free, probably will need to do this everywhere

3 years agoConvert String (tested from Java!)
Matt Corallo [Sat, 29 Aug 2020 03:50:14 +0000 (23:50 -0400)]
Convert String (tested from Java!)

3 years agoAdd debug info to liblightningjni.so
Matt Corallo [Sat, 29 Aug 2020 03:50:53 +0000 (23:50 -0400)]
Add debug info to liblightningjni.so

3 years agoUpdate linking for address sanitizer
Matt Corallo [Sat, 29 Aug 2020 03:34:37 +0000 (23:34 -0400)]
Update linking for address sanitizer

3 years agoClean up and calculate java method signatures
Matt Corallo [Sat, 29 Aug 2020 03:05:50 +0000 (23:05 -0400)]
Clean up and calculate java method signatures

3 years agoA bit less logic in map_type
Matt Corallo [Sat, 29 Aug 2020 01:41:56 +0000 (21:41 -0400)]
A bit less logic in map_type

3 years agoRun conversions on JNI -> Java calls, though need to fill them out
Matt Corallo [Fri, 28 Aug 2020 18:22:34 +0000 (14:22 -0400)]
Run conversions on JNI -> Java calls, though need to fill them out

3 years agoReturn, instead of writing, form map_type
Matt Corallo [Fri, 28 Aug 2020 16:42:24 +0000 (12:42 -0400)]
Return, instead of writing, form map_type

3 years agoSimplify type checking a bit
Matt Corallo [Fri, 28 Aug 2020 02:34:22 +0000 (22:34 -0400)]
Simplify type checking a bit

3 years agoSupport u16s
Matt Corallo [Fri, 28 Aug 2020 01:33:07 +0000 (21:33 -0400)]
Support u16s

3 years agoCompiles with fn calls, even if the call types are bogus
Matt Corallo [Fri, 28 Aug 2020 00:16:23 +0000 (20:16 -0400)]
Compiles with fn calls, even if the call types are bogus

3 years agoHandle trait return values
Matt Corallo [Thu, 27 Aug 2020 21:07:49 +0000 (17:07 -0400)]
Handle trait return values

3 years agoPull out type mapping
Matt Corallo [Thu, 27 Aug 2020 20:38:43 +0000 (16:38 -0400)]
Pull out type mapping

3 years agoStarting to look like something that might work...
Matt Corallo [Thu, 27 Aug 2020 20:17:40 +0000 (16:17 -0400)]
Starting to look like something that might work...

3 years agoNew genbindings
Matt Corallo [Wed, 26 Aug 2020 16:36:54 +0000 (12:36 -0400)]
New genbindings

3 years agoAlso output a C wrapper that correctly wraps all the JNI functions
Matt Corallo [Wed, 29 Jul 2020 04:41:30 +0000 (00:41 -0400)]
Also output a C wrapper that correctly wraps all the JNI functions

3 years agoInitial bindings header generation demo
Matt Corallo [Tue, 28 Jul 2020 17:14:25 +0000 (13:14 -0400)]
Initial bindings header generation demo

3 years agoInitial Dummy Checkin
Matt Corallo [Sat, 25 Jul 2020 22:24:14 +0000 (18:24 -0400)]
Initial Dummy Checkin