diff --git a/.gitignore b/.gitignore index 9d55bb8..9bf4fb6 100644 --- a/.gitignore +++ b/.gitignore @@ -2,7 +2,7 @@ target build Cargo.lock *.h -/local.properties +/bdk-kotlin/local.properties .gradle wallet_db bdk_ffi_test diff --git a/Cargo.toml b/Cargo.toml index 98e4d9a..c8afbd2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "bdk_ffi" +name = "bdk-ffi" version = "0.1.0" authors = ["Steve Myers "] edition = "2018" diff --git a/bdk_ffi_test.c b/bdk_ffi_test.c deleted file mode 100644 index 83ed17d..0000000 --- a/bdk_ffi_test.c +++ /dev/null @@ -1,43 +0,0 @@ -#include -#include -#include -#include -#include "bdk_ffi.h" - -int main (int argc, char const * const argv[]) -{ - char const * name = "test_wallet"; - char const * desc = "wpkh([c258d2e4/84h/1h/0h]tpubDDYkZojQFQjht8Tm4jsS3iuEmKjTiEGjG6KnuFNKKJb5A6ZUCUZKdvLdSDWofKi4ToRCwb9poe1XdqfUnP4jaJjCB2Zwv11ZLgSbnZSNecE/0/*)"; - char const * change = "wpkh([c258d2e4/84h/1h/0h]tpubDDYkZojQFQjht8Tm4jsS3iuEmKjTiEGjG6KnuFNKKJb5A6ZUCUZKdvLdSDWofKi4ToRCwb9poe1XdqfUnP4jaJjCB2Zwv11ZLgSbnZSNecE/1/*)"; - - // test new_wallet - { - WalletPtr_t * wallet = new_wallet(name, desc, change); - assert(wallet != NULL); - - // test sync_wallet - sync_wallet(wallet); - - // test new_address - char * address1 = new_address(wallet); - //printf("address1: %s\n", address1); - assert( 0 == strcmp(address1,"tb1qgkhp034fyxeta00h0nne9tzfm0vsxq4prduzxp")); - free_string(address1); - - char * address2 = new_address(wallet); - //printf("address2: %s\n", address2); - assert(0 == strcmp(address2,"tb1qd6u9q327sru2ljvwzdtfrdg36sapax7udz97wf")); - free_string(address2); - - // test free_wallet - free_wallet(wallet); - - // test free_wallet NULL doesn't crash - free_wallet(NULL); - - // verify sync_wallet after sync_wallet fails (double free detected, core dumped) - ////sync_wallet(&wallet); - } - - return EXIT_SUCCESS; -} diff --git a/build.gradle b/build.gradle deleted file mode 100644 index 7286dea..0000000 --- a/build.gradle +++ /dev/null @@ -1,22 +0,0 @@ -buildscript { - ext.kotlin_version = '1.5.10' - repositories { - //google() - mavenCentral() - } - dependencies { - //classpath 'com.android.tools.build:gradle:3.6.4' - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" - } -} - -allprojects { - repositories { - //google() - mavenCentral() - } -} - -task clean(type: Delete) { - delete rootProject.buildDir -} diff --git a/build.sh b/build.sh index 5e9eab6..74d0fd4 100755 --- a/build.sh +++ b/build.sh @@ -1,13 +1,14 @@ # rust cargo build cargo test --features c-headers -- generate_headers -export LD_LIBRARY_PATH=`pwd`/target/debug # cc -cc bdk_ffi_test.c -o bdk_ffi_test -L target/debug -l bdk_ffi -l pthread -l dl -l m -#valgrind --leak-check=full ./bdk_ffi_test -./bdk_ffi_test +export LD_LIBRARY_PATH=`pwd`/target/debug +cc cc/bdk_ffi_test.c -o cc/bdk_ffi_test -L target/debug -l bdk_ffi -l pthread -l dl -l m +#valgrind --leak-check=full cc/bdk_ffi_test +cc/bdk_ffi_test -# jvm -mkdir -p jvm/build/jniLibs/x86_64_linux -cp target/debug/libbdk_ffi.so jvm/build/jniLibs/x86_64_linux +# bdk-kotlin +mkdir -p bdk-kotlin/jar/libs/x86_64_linux +cp target/debug/libbdk_ffi.so bdk-kotlin/jar/libs/x86_64_linux +(cd bdk-kotlin && gradle test) diff --git a/gradle.properties b/gradle.properties deleted file mode 100644 index 23339e0..0000000 --- a/gradle.properties +++ /dev/null @@ -1,21 +0,0 @@ -# Project-wide Gradle settings. -# IDE (e.g. Android Studio) users: -# Gradle settings configured through the IDE *will override* -# any settings specified in this file. -# For more details on how to configure your build environment visit -# http://www.gradle.org/docs/current/userguide/build_environment.html -# Specifies the JVM arguments used for the daemon process. -# The setting is particularly useful for tweaking memory settings. -org.gradle.jvmargs=-Xmx1536m -# When configured, Gradle will run in incubating parallel mode. -# This option should only be used with decoupled projects. More details, visit -# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects -# org.gradle.parallel=true -# AndroidX package structure to make it clearer which packages are bundled with the -# Android operating system, and which are packaged with your app's APK -# https://developer.android.com/topic/libraries/support-library/androidx-rn -android.useAndroidX=true -# Automatically convert third-party libraries to use AndroidX -android.enableJetifier=true -# Kotlin code style for this project: "official" or "obsolete": -kotlin.code.style=official diff --git a/settings.gradle b/settings.gradle deleted file mode 100644 index f14b0a7..0000000 --- a/settings.gradle +++ /dev/null @@ -1,3 +0,0 @@ -rootProject.name = 'bdk_ffi' - -include 'jvm' diff --git a/src/lib.rs b/src/lib.rs index 75143b0..f3f6fc6 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -7,6 +7,6 @@ mod wallet; #[test] fn generate_headers() -> ::std::io::Result<()> { ::safer_ffi::headers::builder() - .to_file("bdk_ffi.h")? + .to_file("cc/bdk_ffi.h")? .generate() }