-static jclass LDKDestination_Node_class = NULL;
-static jmethodID LDKDestination_Node_meth = NULL;
-static jclass LDKDestination_BlindedRoute_class = NULL;
-static jmethodID LDKDestination_BlindedRoute_meth = NULL;
-JNIEXPORT void JNICALL Java_org_ldk_impl_bindings_00024LDKDestination_init (JNIEnv *env, jclass clz) {
- LDKDestination_Node_class =
- (*env)->NewGlobalRef(env, (*env)->FindClass(env, "org/ldk/impl/bindings$LDKDestination$Node"));
- CHECK(LDKDestination_Node_class != NULL);
- LDKDestination_Node_meth = (*env)->GetMethodID(env, LDKDestination_Node_class, "<init>", "([B)V");
- CHECK(LDKDestination_Node_meth != NULL);
- LDKDestination_BlindedRoute_class =
- (*env)->NewGlobalRef(env, (*env)->FindClass(env, "org/ldk/impl/bindings$LDKDestination$BlindedRoute"));
- CHECK(LDKDestination_BlindedRoute_class != NULL);
- LDKDestination_BlindedRoute_meth = (*env)->GetMethodID(env, LDKDestination_BlindedRoute_class, "<init>", "(J)V");
- CHECK(LDKDestination_BlindedRoute_meth != NULL);
-}
-JNIEXPORT jobject JNICALL Java_org_ldk_impl_bindings_LDKDestination_1ref_1from_1ptr(JNIEnv *env, jclass clz, int64_t ptr) {
- LDKDestination *obj = (LDKDestination*)untag_ptr(ptr);
- switch(obj->tag) {
- case LDKDestination_Node: {
- int8_tArray node_arr = (*env)->NewByteArray(env, 33);
- (*env)->SetByteArrayRegion(env, node_arr, 0, 33, obj->node.compressed_form);
- return (*env)->NewObject(env, LDKDestination_Node_class, LDKDestination_Node_meth, node_arr);
- }
- case LDKDestination_BlindedRoute: {
- LDKBlindedRoute blinded_route_var = obj->blinded_route;
- int64_t blinded_route_ref = 0;
- CHECK_INNER_FIELD_ACCESS_OR_NULL(blinded_route_var);
- blinded_route_ref = tag_ptr(blinded_route_var.inner, false);
- return (*env)->NewObject(env, LDKDestination_BlindedRoute_class, LDKDestination_BlindedRoute_meth, blinded_route_ref);
- }
- default: abort();
- }
-}
-static jclass LDKGossipSync_P2P_class = NULL;
-static jmethodID LDKGossipSync_P2P_meth = NULL;
-static jclass LDKGossipSync_Rapid_class = NULL;
-static jmethodID LDKGossipSync_Rapid_meth = NULL;
-static jclass LDKGossipSync_None_class = NULL;
-static jmethodID LDKGossipSync_None_meth = NULL;
-JNIEXPORT void JNICALL Java_org_ldk_impl_bindings_00024LDKGossipSync_init (JNIEnv *env, jclass clz) {
- LDKGossipSync_P2P_class =
- (*env)->NewGlobalRef(env, (*env)->FindClass(env, "org/ldk/impl/bindings$LDKGossipSync$P2P"));
- CHECK(LDKGossipSync_P2P_class != NULL);
- LDKGossipSync_P2P_meth = (*env)->GetMethodID(env, LDKGossipSync_P2P_class, "<init>", "(J)V");
- CHECK(LDKGossipSync_P2P_meth != NULL);
- LDKGossipSync_Rapid_class =
- (*env)->NewGlobalRef(env, (*env)->FindClass(env, "org/ldk/impl/bindings$LDKGossipSync$Rapid"));
- CHECK(LDKGossipSync_Rapid_class != NULL);
- LDKGossipSync_Rapid_meth = (*env)->GetMethodID(env, LDKGossipSync_Rapid_class, "<init>", "(J)V");
- CHECK(LDKGossipSync_Rapid_meth != NULL);
- LDKGossipSync_None_class =
- (*env)->NewGlobalRef(env, (*env)->FindClass(env, "org/ldk/impl/bindings$LDKGossipSync$None"));
- CHECK(LDKGossipSync_None_class != NULL);
- LDKGossipSync_None_meth = (*env)->GetMethodID(env, LDKGossipSync_None_class, "<init>", "()V");
- CHECK(LDKGossipSync_None_meth != NULL);
-}
-JNIEXPORT jobject JNICALL Java_org_ldk_impl_bindings_LDKGossipSync_1ref_1from_1ptr(JNIEnv *env, jclass clz, int64_t ptr) {
- LDKGossipSync *obj = (LDKGossipSync*)untag_ptr(ptr);
- switch(obj->tag) {
- case LDKGossipSync_P2P: {
- LDKP2PGossipSync p2p_var = obj->p2p;
- int64_t p2p_ref = 0;
- CHECK_INNER_FIELD_ACCESS_OR_NULL(p2p_var);
- p2p_ref = tag_ptr(p2p_var.inner, false);
- return (*env)->NewObject(env, LDKGossipSync_P2P_class, LDKGossipSync_P2P_meth, p2p_ref);
- }
- case LDKGossipSync_Rapid: {
- LDKRapidGossipSync rapid_var = obj->rapid;
- int64_t rapid_ref = 0;
- CHECK_INNER_FIELD_ACCESS_OR_NULL(rapid_var);
- rapid_ref = tag_ptr(rapid_var.inner, false);
- return (*env)->NewObject(env, LDKGossipSync_Rapid_class, LDKGossipSync_Rapid_meth, rapid_ref);
- }
- case LDKGossipSync_None: {
- return (*env)->NewObject(env, LDKGossipSync_None_class, LDKGossipSync_None_meth);
- }
- default: abort();
- }
-}
-static jclass LDKFallback_SegWitProgram_class = NULL;
-static jmethodID LDKFallback_SegWitProgram_meth = NULL;
-static jclass LDKFallback_PubKeyHash_class = NULL;
-static jmethodID LDKFallback_PubKeyHash_meth = NULL;
-static jclass LDKFallback_ScriptHash_class = NULL;
-static jmethodID LDKFallback_ScriptHash_meth = NULL;
-JNIEXPORT void JNICALL Java_org_ldk_impl_bindings_00024LDKFallback_init (JNIEnv *env, jclass clz) {
- LDKFallback_SegWitProgram_class =
- (*env)->NewGlobalRef(env, (*env)->FindClass(env, "org/ldk/impl/bindings$LDKFallback$SegWitProgram"));
- CHECK(LDKFallback_SegWitProgram_class != NULL);
- LDKFallback_SegWitProgram_meth = (*env)->GetMethodID(env, LDKFallback_SegWitProgram_class, "<init>", "(B[B)V");
- CHECK(LDKFallback_SegWitProgram_meth != NULL);
- LDKFallback_PubKeyHash_class =
- (*env)->NewGlobalRef(env, (*env)->FindClass(env, "org/ldk/impl/bindings$LDKFallback$PubKeyHash"));
- CHECK(LDKFallback_PubKeyHash_class != NULL);
- LDKFallback_PubKeyHash_meth = (*env)->GetMethodID(env, LDKFallback_PubKeyHash_class, "<init>", "([B)V");
- CHECK(LDKFallback_PubKeyHash_meth != NULL);
- LDKFallback_ScriptHash_class =
- (*env)->NewGlobalRef(env, (*env)->FindClass(env, "org/ldk/impl/bindings$LDKFallback$ScriptHash"));
- CHECK(LDKFallback_ScriptHash_class != NULL);
- LDKFallback_ScriptHash_meth = (*env)->GetMethodID(env, LDKFallback_ScriptHash_class, "<init>", "([B)V");
- CHECK(LDKFallback_ScriptHash_meth != NULL);
-}
-JNIEXPORT jobject JNICALL Java_org_ldk_impl_bindings_LDKFallback_1ref_1from_1ptr(JNIEnv *env, jclass clz, int64_t ptr) {
- LDKFallback *obj = (LDKFallback*)untag_ptr(ptr);
- switch(obj->tag) {
- case LDKFallback_SegWitProgram: {
- uint8_t version_val = obj->seg_wit_program.version._0;
- LDKCVec_u8Z program_var = obj->seg_wit_program.program;
- int8_tArray program_arr = (*env)->NewByteArray(env, program_var.datalen);
- (*env)->SetByteArrayRegion(env, program_arr, 0, program_var.datalen, program_var.data);
- return (*env)->NewObject(env, LDKFallback_SegWitProgram_class, LDKFallback_SegWitProgram_meth, version_val, program_arr);
- }
- case LDKFallback_PubKeyHash: {
- int8_tArray pub_key_hash_arr = (*env)->NewByteArray(env, 20);
- (*env)->SetByteArrayRegion(env, pub_key_hash_arr, 0, 20, obj->pub_key_hash.data);
- return (*env)->NewObject(env, LDKFallback_PubKeyHash_class, LDKFallback_PubKeyHash_meth, pub_key_hash_arr);
- }
- case LDKFallback_ScriptHash: {
- int8_tArray script_hash_arr = (*env)->NewByteArray(env, 20);
- (*env)->SetByteArrayRegion(env, script_hash_arr, 0, 20, obj->script_hash.data);
- return (*env)->NewObject(env, LDKFallback_ScriptHash_class, LDKFallback_ScriptHash_meth, script_hash_arr);
- }
- default: abort();
- }
-}
-typedef struct LDKPayer_JCalls {
- atomic_size_t refcnt;
- JavaVM *vm;
- jweak o;
- jmethodID node_id_meth;
- jmethodID first_hops_meth;
- jmethodID send_payment_meth;
- jmethodID send_spontaneous_payment_meth;
- jmethodID retry_payment_meth;
- jmethodID abandon_payment_meth;
-} LDKPayer_JCalls;
-static void LDKPayer_JCalls_free(void* this_arg) {
- LDKPayer_JCalls *j_calls = (LDKPayer_JCalls*) this_arg;
- if (atomic_fetch_sub_explicit(&j_calls->refcnt, 1, memory_order_acquire) == 1) {
- JNIEnv *env;
- jint get_jenv_res = (*j_calls->vm)->GetEnv(j_calls->vm, (void**)&env, JNI_VERSION_1_6);
- if (get_jenv_res == JNI_EDETACHED) {
- DO_ASSERT((*j_calls->vm)->AttachCurrentThread(j_calls->vm, (void**)&env, NULL) == JNI_OK);
- } else {
- DO_ASSERT(get_jenv_res == JNI_OK);
- }
- (*env)->DeleteWeakGlobalRef(env, j_calls->o);
- if (get_jenv_res == JNI_EDETACHED) {
- DO_ASSERT((*j_calls->vm)->DetachCurrentThread(j_calls->vm) == JNI_OK);
- }
- FREE(j_calls);
- }
-}
-LDKPublicKey node_id_LDKPayer_jcall(const void* this_arg) {
- LDKPayer_JCalls *j_calls = (LDKPayer_JCalls*) this_arg;
- JNIEnv *env;
- jint get_jenv_res = (*j_calls->vm)->GetEnv(j_calls->vm, (void**)&env, JNI_VERSION_1_6);
- if (get_jenv_res == JNI_EDETACHED) {
- DO_ASSERT((*j_calls->vm)->AttachCurrentThread(j_calls->vm, (void**)&env, NULL) == JNI_OK);
- } else {
- DO_ASSERT(get_jenv_res == JNI_OK);
- }
- jobject obj = (*env)->NewLocalRef(env, j_calls->o);
- CHECK(obj != NULL);
- int8_tArray ret = (*env)->CallObjectMethod(env, obj, j_calls->node_id_meth);
- if (UNLIKELY((*env)->ExceptionCheck(env))) {
- (*env)->ExceptionDescribe(env);
- (*env)->FatalError(env, "A call to node_id in LDKPayer from rust threw an exception.");
- }
- LDKPublicKey ret_ref;
- CHECK((*env)->GetArrayLength(env, ret) == 33);
- (*env)->GetByteArrayRegion(env, ret, 0, 33, ret_ref.compressed_form);
- if (get_jenv_res == JNI_EDETACHED) {
- DO_ASSERT((*j_calls->vm)->DetachCurrentThread(j_calls->vm) == JNI_OK);
- }
- return ret_ref;
-}
-LDKCVec_ChannelDetailsZ first_hops_LDKPayer_jcall(const void* this_arg) {
- LDKPayer_JCalls *j_calls = (LDKPayer_JCalls*) this_arg;
- JNIEnv *env;
- jint get_jenv_res = (*j_calls->vm)->GetEnv(j_calls->vm, (void**)&env, JNI_VERSION_1_6);
- if (get_jenv_res == JNI_EDETACHED) {
- DO_ASSERT((*j_calls->vm)->AttachCurrentThread(j_calls->vm, (void**)&env, NULL) == JNI_OK);
- } else {
- DO_ASSERT(get_jenv_res == JNI_OK);
- }
- jobject obj = (*env)->NewLocalRef(env, j_calls->o);
- CHECK(obj != NULL);
- int64_tArray ret = (*env)->CallObjectMethod(env, obj, j_calls->first_hops_meth);
- if (UNLIKELY((*env)->ExceptionCheck(env))) {
- (*env)->ExceptionDescribe(env);
- (*env)->FatalError(env, "A call to first_hops in LDKPayer from rust threw an exception.");
- }
- LDKCVec_ChannelDetailsZ ret_constr;
- ret_constr.datalen = (*env)->GetArrayLength(env, ret);
- if (ret_constr.datalen > 0)
- ret_constr.data = MALLOC(ret_constr.datalen * sizeof(LDKChannelDetails), "LDKCVec_ChannelDetailsZ Elements");
- else
- ret_constr.data = NULL;
- int64_t* ret_vals = (*env)->GetLongArrayElements (env, ret, NULL);
- for (size_t q = 0; q < ret_constr.datalen; q++) {
- int64_t ret_conv_16 = ret_vals[q];
- LDKChannelDetails ret_conv_16_conv;
- ret_conv_16_conv.inner = untag_ptr(ret_conv_16);
- ret_conv_16_conv.is_owned = ptr_is_owned(ret_conv_16);
- CHECK_INNER_FIELD_ACCESS_OR_NULL(ret_conv_16_conv);
- ret_constr.data[q] = ret_conv_16_conv;
- }
- (*env)->ReleaseLongArrayElements(env, ret, ret_vals, 0);
- if (get_jenv_res == JNI_EDETACHED) {
- DO_ASSERT((*j_calls->vm)->DetachCurrentThread(j_calls->vm) == JNI_OK);
- }
- return ret_constr;
-}
-LDKCResult_PaymentIdPaymentSendFailureZ send_payment_LDKPayer_jcall(const void* this_arg, const LDKRoute * route, LDKThirtyTwoBytes payment_hash, LDKThirtyTwoBytes payment_secret) {
- LDKPayer_JCalls *j_calls = (LDKPayer_JCalls*) this_arg;
- JNIEnv *env;
- jint get_jenv_res = (*j_calls->vm)->GetEnv(j_calls->vm, (void**)&env, JNI_VERSION_1_6);
- if (get_jenv_res == JNI_EDETACHED) {
- DO_ASSERT((*j_calls->vm)->AttachCurrentThread(j_calls->vm, (void**)&env, NULL) == JNI_OK);
- } else {
- DO_ASSERT(get_jenv_res == JNI_OK);
- }
- LDKRoute route_var = *route;
- int64_t route_ref = 0;
- route_var = Route_clone(&route_var);
- CHECK_INNER_FIELD_ACCESS_OR_NULL(route_var);
- route_ref = tag_ptr(route_var.inner, route_var.is_owned);
- int8_tArray payment_hash_arr = (*env)->NewByteArray(env, 32);
- (*env)->SetByteArrayRegion(env, payment_hash_arr, 0, 32, payment_hash.data);
- int8_tArray payment_secret_arr = (*env)->NewByteArray(env, 32);
- (*env)->SetByteArrayRegion(env, payment_secret_arr, 0, 32, payment_secret.data);
- jobject obj = (*env)->NewLocalRef(env, j_calls->o);
- CHECK(obj != NULL);
- uint64_t ret = (*env)->CallLongMethod(env, obj, j_calls->send_payment_meth, route_ref, payment_hash_arr, payment_secret_arr);
- if (UNLIKELY((*env)->ExceptionCheck(env))) {
- (*env)->ExceptionDescribe(env);
- (*env)->FatalError(env, "A call to send_payment in LDKPayer from rust threw an exception.");
- }
- void* ret_ptr = untag_ptr(ret);
- CHECK_ACCESS(ret_ptr);
- LDKCResult_PaymentIdPaymentSendFailureZ ret_conv = *(LDKCResult_PaymentIdPaymentSendFailureZ*)(ret_ptr);
- FREE(untag_ptr(ret));
- if (get_jenv_res == JNI_EDETACHED) {
- DO_ASSERT((*j_calls->vm)->DetachCurrentThread(j_calls->vm) == JNI_OK);
- }
- return ret_conv;
-}
-LDKCResult_PaymentIdPaymentSendFailureZ send_spontaneous_payment_LDKPayer_jcall(const void* this_arg, const LDKRoute * route, LDKThirtyTwoBytes payment_preimage) {
- LDKPayer_JCalls *j_calls = (LDKPayer_JCalls*) this_arg;
- JNIEnv *env;
- jint get_jenv_res = (*j_calls->vm)->GetEnv(j_calls->vm, (void**)&env, JNI_VERSION_1_6);
- if (get_jenv_res == JNI_EDETACHED) {
- DO_ASSERT((*j_calls->vm)->AttachCurrentThread(j_calls->vm, (void**)&env, NULL) == JNI_OK);
- } else {
- DO_ASSERT(get_jenv_res == JNI_OK);
- }
- LDKRoute route_var = *route;
- int64_t route_ref = 0;
- route_var = Route_clone(&route_var);
- CHECK_INNER_FIELD_ACCESS_OR_NULL(route_var);
- route_ref = tag_ptr(route_var.inner, route_var.is_owned);
- int8_tArray payment_preimage_arr = (*env)->NewByteArray(env, 32);
- (*env)->SetByteArrayRegion(env, payment_preimage_arr, 0, 32, payment_preimage.data);
- jobject obj = (*env)->NewLocalRef(env, j_calls->o);
- CHECK(obj != NULL);
- uint64_t ret = (*env)->CallLongMethod(env, obj, j_calls->send_spontaneous_payment_meth, route_ref, payment_preimage_arr);
- if (UNLIKELY((*env)->ExceptionCheck(env))) {
- (*env)->ExceptionDescribe(env);
- (*env)->FatalError(env, "A call to send_spontaneous_payment in LDKPayer from rust threw an exception.");
- }
- void* ret_ptr = untag_ptr(ret);
- CHECK_ACCESS(ret_ptr);
- LDKCResult_PaymentIdPaymentSendFailureZ ret_conv = *(LDKCResult_PaymentIdPaymentSendFailureZ*)(ret_ptr);
- FREE(untag_ptr(ret));
- if (get_jenv_res == JNI_EDETACHED) {
- DO_ASSERT((*j_calls->vm)->DetachCurrentThread(j_calls->vm) == JNI_OK);
- }
- return ret_conv;
-}
-LDKCResult_NonePaymentSendFailureZ retry_payment_LDKPayer_jcall(const void* this_arg, const LDKRoute * route, LDKThirtyTwoBytes payment_id) {
- LDKPayer_JCalls *j_calls = (LDKPayer_JCalls*) this_arg;
- JNIEnv *env;
- jint get_jenv_res = (*j_calls->vm)->GetEnv(j_calls->vm, (void**)&env, JNI_VERSION_1_6);
- if (get_jenv_res == JNI_EDETACHED) {
- DO_ASSERT((*j_calls->vm)->AttachCurrentThread(j_calls->vm, (void**)&env, NULL) == JNI_OK);
- } else {
- DO_ASSERT(get_jenv_res == JNI_OK);
- }
- LDKRoute route_var = *route;
- int64_t route_ref = 0;
- route_var = Route_clone(&route_var);
- CHECK_INNER_FIELD_ACCESS_OR_NULL(route_var);
- route_ref = tag_ptr(route_var.inner, route_var.is_owned);
- int8_tArray payment_id_arr = (*env)->NewByteArray(env, 32);
- (*env)->SetByteArrayRegion(env, payment_id_arr, 0, 32, payment_id.data);
- jobject obj = (*env)->NewLocalRef(env, j_calls->o);
- CHECK(obj != NULL);
- uint64_t ret = (*env)->CallLongMethod(env, obj, j_calls->retry_payment_meth, route_ref, payment_id_arr);
- if (UNLIKELY((*env)->ExceptionCheck(env))) {
- (*env)->ExceptionDescribe(env);
- (*env)->FatalError(env, "A call to retry_payment in LDKPayer from rust threw an exception.");
- }
- void* ret_ptr = untag_ptr(ret);
- CHECK_ACCESS(ret_ptr);
- LDKCResult_NonePaymentSendFailureZ ret_conv = *(LDKCResult_NonePaymentSendFailureZ*)(ret_ptr);
- FREE(untag_ptr(ret));
- if (get_jenv_res == JNI_EDETACHED) {
- DO_ASSERT((*j_calls->vm)->DetachCurrentThread(j_calls->vm) == JNI_OK);
- }
- return ret_conv;
-}
-void abandon_payment_LDKPayer_jcall(const void* this_arg, LDKThirtyTwoBytes payment_id) {
- LDKPayer_JCalls *j_calls = (LDKPayer_JCalls*) this_arg;
- JNIEnv *env;
- jint get_jenv_res = (*j_calls->vm)->GetEnv(j_calls->vm, (void**)&env, JNI_VERSION_1_6);
- if (get_jenv_res == JNI_EDETACHED) {
- DO_ASSERT((*j_calls->vm)->AttachCurrentThread(j_calls->vm, (void**)&env, NULL) == JNI_OK);
- } else {
- DO_ASSERT(get_jenv_res == JNI_OK);
- }
- int8_tArray payment_id_arr = (*env)->NewByteArray(env, 32);
- (*env)->SetByteArrayRegion(env, payment_id_arr, 0, 32, payment_id.data);
- jobject obj = (*env)->NewLocalRef(env, j_calls->o);
- CHECK(obj != NULL);
- (*env)->CallVoidMethod(env, obj, j_calls->abandon_payment_meth, payment_id_arr);
- if (UNLIKELY((*env)->ExceptionCheck(env))) {
- (*env)->ExceptionDescribe(env);
- (*env)->FatalError(env, "A call to abandon_payment in LDKPayer from rust threw an exception.");
- }
- if (get_jenv_res == JNI_EDETACHED) {
- DO_ASSERT((*j_calls->vm)->DetachCurrentThread(j_calls->vm) == JNI_OK);
- }
-}
-static void LDKPayer_JCalls_cloned(LDKPayer* new_obj) {
- LDKPayer_JCalls *j_calls = (LDKPayer_JCalls*) new_obj->this_arg;
- atomic_fetch_add_explicit(&j_calls->refcnt, 1, memory_order_release);
-}
-static inline LDKPayer LDKPayer_init (JNIEnv *env, jclass clz, jobject o) {
- jclass c = (*env)->GetObjectClass(env, o);
- CHECK(c != NULL);
- LDKPayer_JCalls *calls = MALLOC(sizeof(LDKPayer_JCalls), "LDKPayer_JCalls");
- atomic_init(&calls->refcnt, 1);
- DO_ASSERT((*env)->GetJavaVM(env, &calls->vm) == 0);
- calls->o = (*env)->NewWeakGlobalRef(env, o);
- calls->node_id_meth = (*env)->GetMethodID(env, c, "node_id", "()[B");
- CHECK(calls->node_id_meth != NULL);
- calls->first_hops_meth = (*env)->GetMethodID(env, c, "first_hops", "()[J");
- CHECK(calls->first_hops_meth != NULL);
- calls->send_payment_meth = (*env)->GetMethodID(env, c, "send_payment", "(J[B[B)J");
- CHECK(calls->send_payment_meth != NULL);
- calls->send_spontaneous_payment_meth = (*env)->GetMethodID(env, c, "send_spontaneous_payment", "(J[B)J");
- CHECK(calls->send_spontaneous_payment_meth != NULL);
- calls->retry_payment_meth = (*env)->GetMethodID(env, c, "retry_payment", "(J[B)J");
- CHECK(calls->retry_payment_meth != NULL);
- calls->abandon_payment_meth = (*env)->GetMethodID(env, c, "abandon_payment", "([B)V");
- CHECK(calls->abandon_payment_meth != NULL);
-
- LDKPayer ret = {
- .this_arg = (void*) calls,
- .node_id = node_id_LDKPayer_jcall,
- .first_hops = first_hops_LDKPayer_jcall,
- .send_payment = send_payment_LDKPayer_jcall,
- .send_spontaneous_payment = send_spontaneous_payment_LDKPayer_jcall,
- .retry_payment = retry_payment_LDKPayer_jcall,
- .abandon_payment = abandon_payment_LDKPayer_jcall,
- .free = LDKPayer_JCalls_free,
- };
- return ret;
-}
-JNIEXPORT int64_t JNICALL Java_org_ldk_impl_bindings_LDKPayer_1new(JNIEnv *env, jclass clz, jobject o) {
- LDKPayer *res_ptr = MALLOC(sizeof(LDKPayer), "LDKPayer");
- *res_ptr = LDKPayer_init(env, clz, o);
- return tag_ptr(res_ptr, true);
-}
-JNIEXPORT int8_tArray JNICALL Java_org_ldk_impl_bindings_Payer_1node_1id(JNIEnv *env, jclass clz, int64_t this_arg) {
- void* this_arg_ptr = untag_ptr(this_arg);
- if (ptr_is_owned(this_arg)) { CHECK_ACCESS(this_arg_ptr); }
- LDKPayer* this_arg_conv = (LDKPayer*)this_arg_ptr;
- int8_tArray ret_arr = (*env)->NewByteArray(env, 33);
- (*env)->SetByteArrayRegion(env, ret_arr, 0, 33, (this_arg_conv->node_id)(this_arg_conv->this_arg).compressed_form);
- return ret_arr;
-}
-
-JNIEXPORT int64_tArray JNICALL Java_org_ldk_impl_bindings_Payer_1first_1hops(JNIEnv *env, jclass clz, int64_t this_arg) {
- void* this_arg_ptr = untag_ptr(this_arg);
- if (ptr_is_owned(this_arg)) { CHECK_ACCESS(this_arg_ptr); }
- LDKPayer* this_arg_conv = (LDKPayer*)this_arg_ptr;
- LDKCVec_ChannelDetailsZ ret_var = (this_arg_conv->first_hops)(this_arg_conv->this_arg);
- int64_tArray ret_arr = NULL;
- ret_arr = (*env)->NewLongArray(env, ret_var.datalen);
- int64_t *ret_arr_ptr = (*env)->GetPrimitiveArrayCritical(env, ret_arr, NULL);
- for (size_t q = 0; q < ret_var.datalen; q++) {
- LDKChannelDetails ret_conv_16_var = ret_var.data[q];
- int64_t ret_conv_16_ref = 0;
- CHECK_INNER_FIELD_ACCESS_OR_NULL(ret_conv_16_var);
- ret_conv_16_ref = tag_ptr(ret_conv_16_var.inner, ret_conv_16_var.is_owned);
- ret_arr_ptr[q] = ret_conv_16_ref;
- }
- (*env)->ReleasePrimitiveArrayCritical(env, ret_arr, ret_arr_ptr, 0);
- FREE(ret_var.data);
- return ret_arr;
-}
-
-JNIEXPORT int64_t JNICALL Java_org_ldk_impl_bindings_Payer_1send_1payment(JNIEnv *env, jclass clz, int64_t this_arg, int64_t route, int8_tArray payment_hash, int8_tArray payment_secret) {
- void* this_arg_ptr = untag_ptr(this_arg);
- if (ptr_is_owned(this_arg)) { CHECK_ACCESS(this_arg_ptr); }
- LDKPayer* this_arg_conv = (LDKPayer*)this_arg_ptr;
- LDKRoute route_conv;
- route_conv.inner = untag_ptr(route);
- route_conv.is_owned = ptr_is_owned(route);
- CHECK_INNER_FIELD_ACCESS_OR_NULL(route_conv);
- route_conv.is_owned = false;
- LDKThirtyTwoBytes payment_hash_ref;
- CHECK((*env)->GetArrayLength(env, payment_hash) == 32);
- (*env)->GetByteArrayRegion(env, payment_hash, 0, 32, payment_hash_ref.data);
- LDKThirtyTwoBytes payment_secret_ref;
- CHECK((*env)->GetArrayLength(env, payment_secret) == 32);
- (*env)->GetByteArrayRegion(env, payment_secret, 0, 32, payment_secret_ref.data);
- LDKCResult_PaymentIdPaymentSendFailureZ* ret_conv = MALLOC(sizeof(LDKCResult_PaymentIdPaymentSendFailureZ), "LDKCResult_PaymentIdPaymentSendFailureZ");
- *ret_conv = (this_arg_conv->send_payment)(this_arg_conv->this_arg, &route_conv, payment_hash_ref, payment_secret_ref);
- return tag_ptr(ret_conv, true);
-}
-
-JNIEXPORT int64_t JNICALL Java_org_ldk_impl_bindings_Payer_1send_1spontaneous_1payment(JNIEnv *env, jclass clz, int64_t this_arg, int64_t route, int8_tArray payment_preimage) {
- void* this_arg_ptr = untag_ptr(this_arg);
- if (ptr_is_owned(this_arg)) { CHECK_ACCESS(this_arg_ptr); }
- LDKPayer* this_arg_conv = (LDKPayer*)this_arg_ptr;
- LDKRoute route_conv;
- route_conv.inner = untag_ptr(route);
- route_conv.is_owned = ptr_is_owned(route);
- CHECK_INNER_FIELD_ACCESS_OR_NULL(route_conv);
- route_conv.is_owned = false;
- LDKThirtyTwoBytes payment_preimage_ref;
- CHECK((*env)->GetArrayLength(env, payment_preimage) == 32);
- (*env)->GetByteArrayRegion(env, payment_preimage, 0, 32, payment_preimage_ref.data);
- LDKCResult_PaymentIdPaymentSendFailureZ* ret_conv = MALLOC(sizeof(LDKCResult_PaymentIdPaymentSendFailureZ), "LDKCResult_PaymentIdPaymentSendFailureZ");
- *ret_conv = (this_arg_conv->send_spontaneous_payment)(this_arg_conv->this_arg, &route_conv, payment_preimage_ref);
- return tag_ptr(ret_conv, true);
-}
-
-JNIEXPORT int64_t JNICALL Java_org_ldk_impl_bindings_Payer_1retry_1payment(JNIEnv *env, jclass clz, int64_t this_arg, int64_t route, int8_tArray payment_id) {
- void* this_arg_ptr = untag_ptr(this_arg);
- if (ptr_is_owned(this_arg)) { CHECK_ACCESS(this_arg_ptr); }
- LDKPayer* this_arg_conv = (LDKPayer*)this_arg_ptr;
- LDKRoute route_conv;
- route_conv.inner = untag_ptr(route);
- route_conv.is_owned = ptr_is_owned(route);
- CHECK_INNER_FIELD_ACCESS_OR_NULL(route_conv);
- route_conv.is_owned = false;
- LDKThirtyTwoBytes payment_id_ref;
- CHECK((*env)->GetArrayLength(env, payment_id) == 32);
- (*env)->GetByteArrayRegion(env, payment_id, 0, 32, payment_id_ref.data);
- LDKCResult_NonePaymentSendFailureZ* ret_conv = MALLOC(sizeof(LDKCResult_NonePaymentSendFailureZ), "LDKCResult_NonePaymentSendFailureZ");
- *ret_conv = (this_arg_conv->retry_payment)(this_arg_conv->this_arg, &route_conv, payment_id_ref);
- return tag_ptr(ret_conv, true);
-}
-
-JNIEXPORT void JNICALL Java_org_ldk_impl_bindings_Payer_1abandon_1payment(JNIEnv *env, jclass clz, int64_t this_arg, int8_tArray payment_id) {
- void* this_arg_ptr = untag_ptr(this_arg);
- if (ptr_is_owned(this_arg)) { CHECK_ACCESS(this_arg_ptr); }
- LDKPayer* this_arg_conv = (LDKPayer*)this_arg_ptr;
- LDKThirtyTwoBytes payment_id_ref;
- CHECK((*env)->GetArrayLength(env, payment_id) == 32);
- (*env)->GetByteArrayRegion(env, payment_id, 0, 32, payment_id_ref.data);
- (this_arg_conv->abandon_payment)(this_arg_conv->this_arg, payment_id_ref);
-}
-