+ // void BlindedRoute_free(struct LDKBlindedRoute this_obj);
+ public static native void BlindedRoute_free(long this_obj);
+ // void BlindedHop_free(struct LDKBlindedHop this_obj);
+ public static native void BlindedHop_free(long this_obj);
+ // MUST_USE_RES struct LDKCResult_BlindedRouteNoneZ BlindedRoute_new(struct LDKCVec_PublicKeyZ node_pks, const struct LDKKeysInterface *NONNULL_PTR keys_manager);
+ public static native long BlindedRoute_new(byte[][] node_pks, long keys_manager);
+ // struct LDKCVec_u8Z BlindedRoute_write(const struct LDKBlindedRoute *NONNULL_PTR obj);
+ public static native byte[] BlindedRoute_write(long obj);
+ // struct LDKCResult_BlindedRouteDecodeErrorZ BlindedRoute_read(struct LDKu8slice ser);
+ public static native long BlindedRoute_read(byte[] ser);
+ // struct LDKCVec_u8Z BlindedHop_write(const struct LDKBlindedHop *NONNULL_PTR obj);
+ public static native byte[] BlindedHop_write(long obj);
+ // struct LDKCResult_BlindedHopDecodeErrorZ BlindedHop_read(struct LDKu8slice ser);
+ public static native long BlindedHop_read(byte[] ser);
+ // void OnionMessenger_free(struct LDKOnionMessenger this_obj);
+ public static native void OnionMessenger_free(long this_obj);
+ // void Destination_free(struct LDKDestination this_ptr);
+ public static native void Destination_free(long this_ptr);
+ // struct LDKDestination Destination_node(struct LDKPublicKey a);
+ public static native long Destination_node(byte[] a);
+ // struct LDKDestination Destination_blinded_route(struct LDKBlindedRoute a);
+ public static native long Destination_blinded_route(long a);
+ // void SendError_free(struct LDKSendError this_ptr);
+ public static native void SendError_free(long this_ptr);
+ // uint64_t SendError_clone_ptr(LDKSendError *NONNULL_PTR arg);
+ public static native long SendError_clone_ptr(long arg);
+ // struct LDKSendError SendError_clone(const struct LDKSendError *NONNULL_PTR orig);
+ public static native long SendError_clone(long orig);
+ // struct LDKSendError SendError_secp256k1(enum LDKSecp256k1Error a);
+ public static native long SendError_secp256k1(Secp256k1Error a);
+ // struct LDKSendError SendError_too_big_packet(void);
+ public static native long SendError_too_big_packet();
+ // struct LDKSendError SendError_too_few_blinded_hops(void);
+ public static native long SendError_too_few_blinded_hops();
+ // struct LDKSendError SendError_invalid_first_hop(void);
+ public static native long SendError_invalid_first_hop();
+ // struct LDKSendError SendError_buffer_full(void);
+ public static native long SendError_buffer_full();
+ // MUST_USE_RES struct LDKOnionMessenger OnionMessenger_new(struct LDKKeysInterface keys_manager, struct LDKLogger logger);
+ public static native long OnionMessenger_new(long keys_manager, long logger);
+ // MUST_USE_RES struct LDKCResult_NoneSendErrorZ OnionMessenger_send_onion_message(const struct LDKOnionMessenger *NONNULL_PTR this_arg, struct LDKCVec_PublicKeyZ intermediate_nodes, struct LDKDestination destination, struct LDKBlindedRoute reply_path);
+ public static native long OnionMessenger_send_onion_message(long this_arg, byte[][] intermediate_nodes, long destination, long reply_path);
+ // struct LDKOnionMessageHandler OnionMessenger_as_OnionMessageHandler(const struct LDKOnionMessenger *NONNULL_PTR this_arg);
+ public static native long OnionMessenger_as_OnionMessageHandler(long this_arg);
+ // struct LDKOnionMessageProvider OnionMessenger_as_OnionMessageProvider(const struct LDKOnionMessenger *NONNULL_PTR this_arg);
+ public static native long OnionMessenger_as_OnionMessageProvider(long this_arg);