- LDKChannelUpdate c_var = tuple->c;
- CHECK((((long)c_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
- CHECK((((long)&c_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
- long c_ref = (long)c_var.inner & ~1;
- return c_ref;
-}
-uint32_t __attribute__((visibility("default"))) TS_LDKCVec_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZZ_new(uint32_tArray elems) {
- LDKCVec_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZZ *ret = MALLOC(sizeof(LDKCVec_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZZ), "LDKCVec_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZZ");
- ret->datalen = *((uint32_t*)elems);
- if (ret->datalen == 0) {
- ret->data = NULL;
- } else {
- ret->data = MALLOC(sizeof(LDKC3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZ) * ret->datalen, "LDKCVec_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZZ Data");
- uint32_t *java_elems = (uint32_t*)(elems + 4);
- for (size_t i = 0; i < ret->datalen; i++) {
- uint32_t arr_elem = java_elems[i];
- LDKC3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZ arr_elem_conv = *(LDKC3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZ*)(((uint64_t)arr_elem) & ~1);
- FREE((void*)arr_elem);
- ret->data[i] = arr_elem_conv;
- }
- }
- return (long)ret;
-}
-static inline LDKCVec_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZZ CVec_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZZ_clone(const LDKCVec_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZZ *orig) {
- LDKCVec_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZZ ret = { .data = MALLOC(sizeof(LDKC3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZ) * orig->datalen, "LDKCVec_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZZ clone bytes"), .datalen = orig->datalen };
- for (size_t i = 0; i < ret.datalen; i++) {
- ret.data[i] = C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZ_clone(&orig->data[i]);
- }
- return ret;
-}
-uint32_t __attribute__((visibility("default"))) TS_LDKCVec_NodeAnnouncementZ_new(uint32_tArray elems) {
- LDKCVec_NodeAnnouncementZ *ret = MALLOC(sizeof(LDKCVec_NodeAnnouncementZ), "LDKCVec_NodeAnnouncementZ");
- ret->datalen = *((uint32_t*)elems);
- if (ret->datalen == 0) {
- ret->data = NULL;
- } else {
- ret->data = MALLOC(sizeof(LDKNodeAnnouncement) * ret->datalen, "LDKCVec_NodeAnnouncementZ Data");
- uint32_t *java_elems = (uint32_t*)(elems + 4);
- for (size_t i = 0; i < ret->datalen; i++) {
- uint32_t arr_elem = java_elems[i];
- LDKNodeAnnouncement arr_elem_conv;
- arr_elem_conv.inner = (void*)(arr_elem & (~1));
- arr_elem_conv.is_owned = (arr_elem & 1) || (arr_elem == 0);
- arr_elem_conv = NodeAnnouncement_clone(&arr_elem_conv);
- ret->data[i] = arr_elem_conv;
- }
- }
- return (long)ret;
-}
-static inline LDKCVec_NodeAnnouncementZ CVec_NodeAnnouncementZ_clone(const LDKCVec_NodeAnnouncementZ *orig) {
- LDKCVec_NodeAnnouncementZ ret = { .data = MALLOC(sizeof(LDKNodeAnnouncement) * orig->datalen, "LDKCVec_NodeAnnouncementZ clone bytes"), .datalen = orig->datalen };
- for (size_t i = 0; i < ret.datalen; i++) {
- ret.data[i] = NodeAnnouncement_clone(&orig->data[i]);
- }
- return ret;
-}
-jboolean __attribute__((visibility("default"))) TS_LDKCResult_NoneLightningErrorZ_result_ok(uint32_t arg) {
- return ((LDKCResult_NoneLightningErrorZ*)arg)->result_ok;
-}
-void __attribute__((visibility("default"))) TS_LDKCResult_NoneLightningErrorZ_get_ok(uint32_t arg) {
- LDKCResult_NoneLightningErrorZ *val = (LDKCResult_NoneLightningErrorZ*)(arg & ~1);
- CHECK(val->result_ok);
- return *val->contents.result;
-}
-uint32_t __attribute__((visibility("default"))) TS_LDKCResult_NoneLightningErrorZ_get_err(uint32_t arg) {
- LDKCResult_NoneLightningErrorZ *val = (LDKCResult_NoneLightningErrorZ*)(arg & ~1);
- CHECK(!val->result_ok);
- LDKLightningError err_var = (*val->contents.err);
- CHECK((((long)err_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
- CHECK((((long)&err_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
- long err_ref = (long)err_var.inner & ~1;
- return err_ref;
-}
-uint32_t __attribute__((visibility("default"))) TS_LDKErrorAction_ref_from_ptr(uint32_t ptr) {
- LDKErrorAction *obj = (LDKErrorAction*)ptr;
- switch(obj->tag) {
- case LDKErrorAction_DisconnectPeer: {
- LDKErrorMessage msg_var = obj->disconnect_peer.msg;
- CHECK((((long)msg_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
- CHECK((((long)&msg_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
- long msg_ref = (long)msg_var.inner & ~1;
- return 0 /* LDKErrorAction - DisconnectPeer */; (void) msg_ref;
- }
- case LDKErrorAction_IgnoreError: {
- return 0 /* LDKErrorAction - IgnoreError */;
- }
- case LDKErrorAction_SendErrorMessage: {
- LDKErrorMessage msg_var = obj->send_error_message.msg;
- CHECK((((long)msg_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
- CHECK((((long)&msg_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
- long msg_ref = (long)msg_var.inner & ~1;
- return 0 /* LDKErrorAction - SendErrorMessage */; (void) msg_ref;
- }
- default: abort();
- }
-}
-uint32_t __attribute__((visibility("default"))) TS_LDKHTLCFailChannelUpdate_ref_from_ptr(uint32_t ptr) {
- LDKHTLCFailChannelUpdate *obj = (LDKHTLCFailChannelUpdate*)ptr;
- switch(obj->tag) {
- case LDKHTLCFailChannelUpdate_ChannelUpdateMessage: {
- LDKChannelUpdate msg_var = obj->channel_update_message.msg;
- CHECK((((long)msg_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
- CHECK((((long)&msg_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
- long msg_ref = (long)msg_var.inner & ~1;
- return 0 /* LDKHTLCFailChannelUpdate - ChannelUpdateMessage */; (void) msg_ref;
- }
- case LDKHTLCFailChannelUpdate_ChannelClosed: {
- return 0 /* LDKHTLCFailChannelUpdate - ChannelClosed */; (void) obj->channel_closed.short_channel_id; (void) obj->channel_closed.is_permanent;
- }
- case LDKHTLCFailChannelUpdate_NodeFailure: {
- int8_tArray node_id_arr = init_arr(33, sizeof(uint8_t), "Native int8_tArray Bytes");
- memcpy((uint8_t*)(node_id_arr + 4), obj->node_failure.node_id.compressed_form, 33);
- return 0 /* LDKHTLCFailChannelUpdate - NodeFailure */; (void) node_id_arr; (void) obj->node_failure.is_permanent;
- }
- default: abort();
- }
-}
-uint32_t __attribute__((visibility("default"))) TS_LDKMessageSendEvent_ref_from_ptr(uint32_t ptr) {
- LDKMessageSendEvent *obj = (LDKMessageSendEvent*)ptr;
- switch(obj->tag) {
- case LDKMessageSendEvent_SendAcceptChannel: {
- int8_tArray node_id_arr = init_arr(33, sizeof(uint8_t), "Native int8_tArray Bytes");
- memcpy((uint8_t*)(node_id_arr + 4), obj->send_accept_channel.node_id.compressed_form, 33);
- LDKAcceptChannel msg_var = obj->send_accept_channel.msg;
- CHECK((((long)msg_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
- CHECK((((long)&msg_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
- long msg_ref = (long)msg_var.inner & ~1;
- return 0 /* LDKMessageSendEvent - SendAcceptChannel */; (void) node_id_arr; (void) msg_ref;
- }
- case LDKMessageSendEvent_SendOpenChannel: {
- int8_tArray node_id_arr = init_arr(33, sizeof(uint8_t), "Native int8_tArray Bytes");
- memcpy((uint8_t*)(node_id_arr + 4), obj->send_open_channel.node_id.compressed_form, 33);
- LDKOpenChannel msg_var = obj->send_open_channel.msg;
- CHECK((((long)msg_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
- CHECK((((long)&msg_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
- long msg_ref = (long)msg_var.inner & ~1;
- return 0 /* LDKMessageSendEvent - SendOpenChannel */; (void) node_id_arr; (void) msg_ref;
- }
- case LDKMessageSendEvent_SendFundingCreated: {
- int8_tArray node_id_arr = init_arr(33, sizeof(uint8_t), "Native int8_tArray Bytes");
- memcpy((uint8_t*)(node_id_arr + 4), obj->send_funding_created.node_id.compressed_form, 33);
- LDKFundingCreated msg_var = obj->send_funding_created.msg;
- CHECK((((long)msg_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
- CHECK((((long)&msg_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
- long msg_ref = (long)msg_var.inner & ~1;
- return 0 /* LDKMessageSendEvent - SendFundingCreated */; (void) node_id_arr; (void) msg_ref;
- }
- case LDKMessageSendEvent_SendFundingSigned: {
- int8_tArray node_id_arr = init_arr(33, sizeof(uint8_t), "Native int8_tArray Bytes");
- memcpy((uint8_t*)(node_id_arr + 4), obj->send_funding_signed.node_id.compressed_form, 33);
- LDKFundingSigned msg_var = obj->send_funding_signed.msg;
- CHECK((((long)msg_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
- CHECK((((long)&msg_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
- long msg_ref = (long)msg_var.inner & ~1;
- return 0 /* LDKMessageSendEvent - SendFundingSigned */; (void) node_id_arr; (void) msg_ref;
- }
- case LDKMessageSendEvent_SendFundingLocked: {
- int8_tArray node_id_arr = init_arr(33, sizeof(uint8_t), "Native int8_tArray Bytes");
- memcpy((uint8_t*)(node_id_arr + 4), obj->send_funding_locked.node_id.compressed_form, 33);
- LDKFundingLocked msg_var = obj->send_funding_locked.msg;
- CHECK((((long)msg_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
- CHECK((((long)&msg_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
- long msg_ref = (long)msg_var.inner & ~1;
- return 0 /* LDKMessageSendEvent - SendFundingLocked */; (void) node_id_arr; (void) msg_ref;
- }
- case LDKMessageSendEvent_SendAnnouncementSignatures: {
- int8_tArray node_id_arr = init_arr(33, sizeof(uint8_t), "Native int8_tArray Bytes");
- memcpy((uint8_t*)(node_id_arr + 4), obj->send_announcement_signatures.node_id.compressed_form, 33);
- LDKAnnouncementSignatures msg_var = obj->send_announcement_signatures.msg;
- CHECK((((long)msg_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
- CHECK((((long)&msg_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
- long msg_ref = (long)msg_var.inner & ~1;
- return 0 /* LDKMessageSendEvent - SendAnnouncementSignatures */; (void) node_id_arr; (void) msg_ref;
- }
- case LDKMessageSendEvent_UpdateHTLCs: {
- int8_tArray node_id_arr = init_arr(33, sizeof(uint8_t), "Native int8_tArray Bytes");
- memcpy((uint8_t*)(node_id_arr + 4), obj->update_htl_cs.node_id.compressed_form, 33);
- LDKCommitmentUpdate updates_var = obj->update_htl_cs.updates;
- CHECK((((long)updates_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
- CHECK((((long)&updates_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
- long updates_ref = (long)updates_var.inner & ~1;
- return 0 /* LDKMessageSendEvent - UpdateHTLCs */; (void) node_id_arr; (void) updates_ref;
- }
- case LDKMessageSendEvent_SendRevokeAndACK: {
- int8_tArray node_id_arr = init_arr(33, sizeof(uint8_t), "Native int8_tArray Bytes");
- memcpy((uint8_t*)(node_id_arr + 4), obj->send_revoke_and_ack.node_id.compressed_form, 33);
- LDKRevokeAndACK msg_var = obj->send_revoke_and_ack.msg;
- CHECK((((long)msg_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
- CHECK((((long)&msg_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
- long msg_ref = (long)msg_var.inner & ~1;
- return 0 /* LDKMessageSendEvent - SendRevokeAndACK */; (void) node_id_arr; (void) msg_ref;
- }
- case LDKMessageSendEvent_SendClosingSigned: {
- int8_tArray node_id_arr = init_arr(33, sizeof(uint8_t), "Native int8_tArray Bytes");
- memcpy((uint8_t*)(node_id_arr + 4), obj->send_closing_signed.node_id.compressed_form, 33);
- LDKClosingSigned msg_var = obj->send_closing_signed.msg;
- CHECK((((long)msg_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
- CHECK((((long)&msg_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
- long msg_ref = (long)msg_var.inner & ~1;
- return 0 /* LDKMessageSendEvent - SendClosingSigned */; (void) node_id_arr; (void) msg_ref;
- }
- case LDKMessageSendEvent_SendShutdown: {
- int8_tArray node_id_arr = init_arr(33, sizeof(uint8_t), "Native int8_tArray Bytes");
- memcpy((uint8_t*)(node_id_arr + 4), obj->send_shutdown.node_id.compressed_form, 33);
- LDKShutdown msg_var = obj->send_shutdown.msg;
- CHECK((((long)msg_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
- CHECK((((long)&msg_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
- long msg_ref = (long)msg_var.inner & ~1;
- return 0 /* LDKMessageSendEvent - SendShutdown */; (void) node_id_arr; (void) msg_ref;
- }
- case LDKMessageSendEvent_SendChannelReestablish: {
- int8_tArray node_id_arr = init_arr(33, sizeof(uint8_t), "Native int8_tArray Bytes");
- memcpy((uint8_t*)(node_id_arr + 4), obj->send_channel_reestablish.node_id.compressed_form, 33);
- LDKChannelReestablish msg_var = obj->send_channel_reestablish.msg;
- CHECK((((long)msg_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
- CHECK((((long)&msg_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
- long msg_ref = (long)msg_var.inner & ~1;
- return 0 /* LDKMessageSendEvent - SendChannelReestablish */; (void) node_id_arr; (void) msg_ref;
- }
- case LDKMessageSendEvent_BroadcastChannelAnnouncement: {
- LDKChannelAnnouncement msg_var = obj->broadcast_channel_announcement.msg;
- CHECK((((long)msg_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
- CHECK((((long)&msg_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
- long msg_ref = (long)msg_var.inner & ~1;
- LDKChannelUpdate update_msg_var = obj->broadcast_channel_announcement.update_msg;
- CHECK((((long)update_msg_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
- CHECK((((long)&update_msg_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
- long update_msg_ref = (long)update_msg_var.inner & ~1;
- return 0 /* LDKMessageSendEvent - BroadcastChannelAnnouncement */; (void) msg_ref; (void) update_msg_ref;
- }
- case LDKMessageSendEvent_BroadcastNodeAnnouncement: {
- LDKNodeAnnouncement msg_var = obj->broadcast_node_announcement.msg;
- CHECK((((long)msg_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
- CHECK((((long)&msg_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
- long msg_ref = (long)msg_var.inner & ~1;
- return 0 /* LDKMessageSendEvent - BroadcastNodeAnnouncement */; (void) msg_ref;
- }
- case LDKMessageSendEvent_BroadcastChannelUpdate: {
- LDKChannelUpdate msg_var = obj->broadcast_channel_update.msg;
- CHECK((((long)msg_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
- CHECK((((long)&msg_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
- long msg_ref = (long)msg_var.inner & ~1;
- return 0 /* LDKMessageSendEvent - BroadcastChannelUpdate */; (void) msg_ref;
- }
- case LDKMessageSendEvent_HandleError: {
- int8_tArray node_id_arr = init_arr(33, sizeof(uint8_t), "Native int8_tArray Bytes");
- memcpy((uint8_t*)(node_id_arr + 4), obj->handle_error.node_id.compressed_form, 33);
- long action_ref = ((long)&obj->handle_error.action) | 1;
- return 0 /* LDKMessageSendEvent - HandleError */; (void) node_id_arr; (void) action_ref;
- }
- case LDKMessageSendEvent_PaymentFailureNetworkUpdate: {
- long update_ref = ((long)&obj->payment_failure_network_update.update) | 1;
- return 0 /* LDKMessageSendEvent - PaymentFailureNetworkUpdate */; (void) update_ref;
- }
- case LDKMessageSendEvent_SendChannelRangeQuery: {
- int8_tArray node_id_arr = init_arr(33, sizeof(uint8_t), "Native int8_tArray Bytes");
- memcpy((uint8_t*)(node_id_arr + 4), obj->send_channel_range_query.node_id.compressed_form, 33);
- LDKQueryChannelRange msg_var = obj->send_channel_range_query.msg;
- CHECK((((long)msg_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
- CHECK((((long)&msg_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
- long msg_ref = (long)msg_var.inner & ~1;
- return 0 /* LDKMessageSendEvent - SendChannelRangeQuery */; (void) node_id_arr; (void) msg_ref;
- }
- case LDKMessageSendEvent_SendShortIdsQuery: {
- int8_tArray node_id_arr = init_arr(33, sizeof(uint8_t), "Native int8_tArray Bytes");
- memcpy((uint8_t*)(node_id_arr + 4), obj->send_short_ids_query.node_id.compressed_form, 33);
- LDKQueryShortChannelIds msg_var = obj->send_short_ids_query.msg;
- CHECK((((long)msg_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
- CHECK((((long)&msg_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
- long msg_ref = (long)msg_var.inner & ~1;
- return 0 /* LDKMessageSendEvent - SendShortIdsQuery */; (void) node_id_arr; (void) msg_ref;