+ super.finalize();
+ if (ptr != 0) { bindings.UnsignedNodeAnnouncement_free(ptr); }
+ }
+
+ /**
+ * The advertised features
+ */
+ public NodeFeatures get_features() {
+ long ret = bindings.UnsignedNodeAnnouncement_get_features(this.ptr);
+ if (ret >= 0 && ret <= 4096) { return null; }
+ NodeFeatures ret_hu_conv = null; if (ret < 0 || ret > 4096) { ret_hu_conv = new NodeFeatures(null, ret); }
+ ret_hu_conv.ptrs_to.add(this);
+ return ret_hu_conv;
+ }
+
+ /**
+ * The advertised features
+ */
+ public void set_features(NodeFeatures val) {
+ bindings.UnsignedNodeAnnouncement_set_features(this.ptr, val == null ? 0 : val.ptr & ~1);
+ }
+
+ /**
+ * A strictly monotonic announcement counter, with gaps allowed
+ */
+ public int get_timestamp() {
+ int ret = bindings.UnsignedNodeAnnouncement_get_timestamp(this.ptr);
+ return ret;