Rename bdk-kotlin companion project, fix gradle warnings

This commit is contained in:
Steve Myers
2021-06-14 13:59:56 -07:00
parent a37bae5b9d
commit e266634560
21 changed files with 323 additions and 63 deletions

View File

@@ -1,40 +0,0 @@
plugins {
id 'org.jetbrains.kotlin.jvm' // version '1.3.71'
id 'java-library'
id 'maven-publish'
}
test {
systemProperty "java.library.path", file("${buildDir}/jniLibs/x86_64_linux").absolutePath
environment "LD_LIBRARY_PATH", file("${buildDir}/jniLibs/x86_64_linux").absolutePath
testLogging {
events "PASSED", "SKIPPED", "FAILED", "STANDARD_OUT", "STANDARD_ERROR"
}
}
task buildRust(type: Exec) {
workingDir '../'
commandLine './build.sh'
}
dependencies {
implementation platform('org.jetbrains.kotlin:kotlin-bom')
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.5.10"
implementation "com.fasterxml.jackson.module:jackson-module-kotlin:2.9.+"
implementation "net.java.dev.jna:jna:5.8.0"
testImplementation 'org.jetbrains.kotlin:kotlin-test'
testImplementation 'org.jetbrains.kotlin:kotlin-test-junit'
}
publishing {
publications {
maven(MavenPublication) {
groupId = 'org.bitcoindevkit.bdkffi'
artifactId = 'bdk-jvm-debug'
version = '0.2.1-dev'
from components.java
}
}
}

View File

@@ -1,36 +0,0 @@
package org.bitcoindevkit.bdkjni
import com.sun.jna.*
import com.sun.jna.ptr.PointerByReference
interface Lib : Library {
// typedef struct WalletPtr WalletPtr_t;
class WalletPtr_t : PointerType {
constructor(): super()
constructor(pointer: Pointer): super(pointer)
}
// void free_string (
// char * string);
fun free_string(string: String)
// 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

@@ -1,40 +0,0 @@
package org.bitcoindevkit.bdkjni
import com.sun.jna.Native
import com.sun.jna.NativeLong
import org.junit.Test
import kotlin.test.assertEquals
/**
* Library test, which will execute on linux host.
*
*/
class LibTest {
private val bdkFfi: Lib = Native.load("bdk_ffi", Lib::class.java)
@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 = bdkFfi.new_wallet(name, desc, change)
bdkFfi.sync_wallet(wallet)
bdkFfi.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 wallet = bdkFfi.new_wallet(name, desc, change)
val address = bdkFfi.new_address(wallet)
//println("address created from kotlin: $address")
assertEquals(address, "tb1qzg4mckdh50nwdm9hkzq06528rsu73hjxxzem3e")
bdkFfi.free_string(address)
bdkFfi.free_wallet(wallet)
}
}