Add missing kotlin files

This commit is contained in:
Steve Myers 2021-06-09 16:00:40 -07:00
parent 8aa18fbf20
commit 8deb39ac76
3 changed files with 101 additions and 1 deletions

1
.gitignore vendored
View File

@ -2,7 +2,6 @@ target
build build
Cargo.lock Cargo.lock
*.h *.h
main
/local.properties /local.properties
.gradle .gradle
wallet_db wallet_db

View File

@ -0,0 +1,76 @@
package org.bitcoindevkit.bdkjni
import com.sun.jna.*
import com.sun.jna.ptr.PointerByReference
// typedef struct {
//
// char * name;
//
// int32_t count;
//
// } Config_t;
//@Structure.FieldOrder("x", "y")
class Config_t : Structure() {
@JvmField
var name: String? = null
@JvmField
var count: NativeLong? = null
override fun getFieldOrder() = listOf("name", "count")
}
// typedef struct WalletPtr WalletPtr_t;
//class WalletPtr_t : PointerType()
interface Lib : Library {
// void print_string (
// char const * string);
fun print_string(name: String)
// char * concat_string (
// char const * fst,
// char const * snd);
fun concat_string(fst: String, snd: String): String
// void free_string (
// char * string);
fun free_string(string: String)
// void print_int (
// int64_t number);
fun print_int(number: Int)
// void print_config (
// Config_t const * config);
fun print_config(config: Config_t)
// Config_t new_config (
// char * name,
// int32_t count);
fun new_config(name: String, count: NativeLong): Config_t
// void free_config (
// Config_t * config);
fun free_config(config: Config_t)
// WalletPtr_t * new_wallet (
// char const * name,
// char const * descriptor,
// char const * change_descriptor);
//fun new_wallet(name: String, descriptor: String, changeDescriptor: String?): WalletPtr_t
// void sync_wallet (
// WalletPtr_t * const * wallet);
//fun sync_wallet(wallet: WalletPtr_t)
//fun sync_wallet(wallet: WalletPtr_t)
// char * new_address (
// WalletPtr_t * const * wallet);
//fun new_address(wallet: WalletPtr_t): String
// void free_wallet (
// WalletPtr_t * wallet);
//fun free_wallet(wallet: WalletPtr_t)
}

View File

@ -2,6 +2,8 @@ package org.bitcoindevkit.bdkjni
import com.sun.jna.Native import com.sun.jna.Native
import com.sun.jna.NativeLong import com.sun.jna.NativeLong
import com.sun.jna.Pointer
import com.sun.jna.ptr.PointerByReference
import org.junit.Test import org.junit.Test
/** /**
@ -40,4 +42,27 @@ class LibTest {
lib.print_config(config) lib.print_config(config)
lib.free_config(config) lib.free_config(config)
} }
// @Test
// fun new_sync_free_wallet() {
// val name = "test_wallet"
// val desc = "wpkh([c258d2e4/84h/1h/0h]tpubDDYkZojQFQjht8Tm4jsS3iuEmKjTiEGjG6KnuFNKKJb5A6ZUCUZKdvLdSDWofKi4ToRCwb9poe1XdqfUnP4jaJjCB2Zwv11ZLgSbnZSNecE/0/*)"
// val change = "wpkh([c258d2e4/84h/1h/0h]tpubDDYkZojQFQjht8Tm4jsS3iuEmKjTiEGjG6KnuFNKKJb5A6ZUCUZKdvLdSDWofKi4ToRCwb9poe1XdqfUnP4jaJjCB2Zwv11ZLgSbnZSNecE/1/*)"
//
// val wallet = lib.new_wallet(name, desc, change)
// println("wallet created in kotlin: $wallet")
// lib.sync_wallet(wallet)
// //lib.free_wallet(wallet)
// }
// @Test
// fun new_newaddress_wallet() {
// val name = "test_wallet"
// val desc = "wpkh([c258d2e4/84h/1h/0h]tpubDDYkZojQFQjht8Tm4jsS3iuEmKjTiEGjG6KnuFNKKJb5A6ZUCUZKdvLdSDWofKi4ToRCwb9poe1XdqfUnP4jaJjCB2Zwv11ZLgSbnZSNecE/0/*)"
// val change = "wpkh([c258d2e4/84h/1h/0h]tpubDDYkZojQFQjht8Tm4jsS3iuEmKjTiEGjG6KnuFNKKJb5A6ZUCUZKdvLdSDWofKi4ToRCwb9poe1XdqfUnP4jaJjCB2Zwv11ZLgSbnZSNecE/1/*)"
//
// val config = lib.new_config("test test", NativeLong(Long.MAX_VALUE))
// lib.print_config(config)
// lib.free_config(config)
// }
} }