+ /**
+ * The CLTV delta added for this hop. For the last hop, this should be the full CLTV value
+ * expected at the destination, in excess of the current block height.
+ */
+ public void set_cltv_expiry_delta(int val) {
+ bindings.RouteHop_set_cltv_expiry_delta(this.ptr, val);
+ }
+
+ /**
+ * Constructs a new RouteHop given each field
+ */
+ public static RouteHop of(byte[] pubkey_arg, NodeFeatures node_features_arg, long short_channel_id_arg, ChannelFeatures channel_features_arg, long fee_msat_arg, int cltv_expiry_delta_arg) {
+ long ret = bindings.RouteHop_new(pubkey_arg, node_features_arg == null ? 0 : node_features_arg.ptr & ~1, short_channel_id_arg, channel_features_arg == null ? 0 : channel_features_arg.ptr & ~1, fee_msat_arg, cltv_expiry_delta_arg);
+ if (ret < 1024) { return null; }
+ RouteHop ret_hu_conv = new RouteHop(null, ret);
+ ret_hu_conv.ptrs_to.add(ret_hu_conv);
+ ret_hu_conv.ptrs_to.add(node_features_arg);
+ ret_hu_conv.ptrs_to.add(channel_features_arg);
+ return ret_hu_conv;
+ }
+
+ /**
+ * Creates a copy of the RouteHop
+ */
+ public RouteHop clone() {
+ long ret = bindings.RouteHop_clone(this.ptr);
+ if (ret < 1024) { return null; }
+ RouteHop ret_hu_conv = new RouteHop(null, ret);
+ ret_hu_conv.ptrs_to.add(this);
+ return ret_hu_conv;
+ }
+
+ /**
+ * Serialize the RouteHop object into a byte array which can be read by RouteHop_read
+ */
+ public byte[] write() {
+ byte[] ret = bindings.RouteHop_write(this.ptr);
+ return ret;