1 package org.ldk.structs;
3 import org.ldk.impl.bindings;
4 import org.ldk.enums.*;
6 import java.util.Arrays;
8 @SuppressWarnings("unchecked") // We correctly assign various generic arrays
9 public class NodeInfo extends CommonBase {
10 NodeInfo(Object _dummy, long ptr) { super(ptr); }
11 @Override @SuppressWarnings("deprecation")
12 protected void finalize() throws Throwable {
14 if (ptr != 0) { bindings.NodeInfo_free(ptr); }
17 public void set_channels(long[] val) {
18 bindings.NodeInfo_set_channels(this.ptr, val);
21 public RoutingFees get_lowest_inbound_channel_fees() {
22 long ret = bindings.NodeInfo_get_lowest_inbound_channel_fees(this.ptr);
23 RoutingFees ret_hu_conv = new RoutingFees(null, ret);
27 public void set_lowest_inbound_channel_fees(RoutingFees val) {
28 bindings.NodeInfo_set_lowest_inbound_channel_fees(this.ptr, val == null ? 0 : val.ptr & ~1);
29 this.ptrs_to.add(val);
32 public NodeAnnouncementInfo get_announcement_info() {
33 long ret = bindings.NodeInfo_get_announcement_info(this.ptr);
34 NodeAnnouncementInfo ret_hu_conv = new NodeAnnouncementInfo(null, ret);
38 public void set_announcement_info(NodeFeatures val_features_arg, int val_last_update_arg, byte[] val_rgb_arg, byte[] val_alias_arg, NetAddress[] val_addresses_arg, NodeAnnouncement val_announcement_message_arg) {
39 bindings.NodeInfo_set_announcement_info(this.ptr, bindings.NodeAnnouncementInfo_new(val_features_arg == null ? 0 : val_features_arg.ptr & ~1, val_last_update_arg, val_rgb_arg, val_alias_arg, Arrays.stream(val_addresses_arg).mapToLong(arr_conv_12 -> arr_conv_12.ptr).toArray(), val_announcement_message_arg == null ? 0 : val_announcement_message_arg.ptr & ~1));
42 public static NodeInfo constructor_new(long[] channels_arg, RoutingFees lowest_inbound_channel_fees_arg, NodeFeatures announcement_info_arg_features_arg, int announcement_info_arg_last_update_arg, byte[] announcement_info_arg_rgb_arg, byte[] announcement_info_arg_alias_arg, NetAddress[] announcement_info_arg_addresses_arg, NodeAnnouncement announcement_info_arg_announcement_message_arg) {
43 long ret = bindings.NodeInfo_new(channels_arg, lowest_inbound_channel_fees_arg == null ? 0 : lowest_inbound_channel_fees_arg.ptr & ~1, bindings.NodeAnnouncementInfo_new(announcement_info_arg_features_arg == null ? 0 : announcement_info_arg_features_arg.ptr & ~1, announcement_info_arg_last_update_arg, announcement_info_arg_rgb_arg, announcement_info_arg_alias_arg, Arrays.stream(announcement_info_arg_addresses_arg).mapToLong(arr_conv_12 -> arr_conv_12.ptr).toArray(), announcement_info_arg_announcement_message_arg == null ? 0 : announcement_info_arg_announcement_message_arg.ptr & ~1));
44 NodeInfo ret_hu_conv = new NodeInfo(null, ret);
45 ret_hu_conv.ptrs_to.add(lowest_inbound_channel_fees_arg);
46 ret_hu_conv.ptrs_to.add(announcement_info_arg_features_arg);
47 /* TODO 2 NetAddress */;
48 ret_hu_conv.ptrs_to.add(announcement_info_arg_announcement_message_arg);
52 public byte[] write() {
53 byte[] ret = bindings.NodeInfo_write(this.ptr);
57 public static Result_NodeInfoDecodeErrorZ constructor_read(byte[] ser) {
58 long ret = bindings.NodeInfo_read(ser);
59 Result_NodeInfoDecodeErrorZ ret_hu_conv = Result_NodeInfoDecodeErrorZ.constr_from_ptr(ret);