ldk-java
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