1 package org.ldk.structs;
3 import org.ldk.impl.bindings;
4 import org.ldk.enums.*;
6 import java.util.Arrays;
10 * A channel descriptor for a hop along a payment path.
12 @SuppressWarnings("unchecked") // We correctly assign various generic arrays
13 public class RouteHintHop extends CommonBase {
14 RouteHintHop(Object _dummy, long ptr) { super(ptr); }
15 @Override @SuppressWarnings("deprecation")
16 protected void finalize() throws Throwable {
18 if (ptr != 0) { bindings.RouteHintHop_free(ptr); }
22 * The node_id of the non-target end of the route
24 public byte[] get_src_node_id() {
25 byte[] ret = bindings.RouteHintHop_get_src_node_id(this.ptr);
30 * The node_id of the non-target end of the route
32 public void set_src_node_id(byte[] val) {
33 bindings.RouteHintHop_set_src_node_id(this.ptr, val);
37 * The short_channel_id of this channel
39 public long get_short_channel_id() {
40 long ret = bindings.RouteHintHop_get_short_channel_id(this.ptr);
45 * The short_channel_id of this channel
47 public void set_short_channel_id(long val) {
48 bindings.RouteHintHop_set_short_channel_id(this.ptr, val);
52 * The fees which must be paid to use this channel
54 public RoutingFees get_fees() {
55 long ret = bindings.RouteHintHop_get_fees(this.ptr);
56 RoutingFees ret_hu_conv = new RoutingFees(null, ret);
57 ret_hu_conv.ptrs_to.add(this);
62 * The fees which must be paid to use this channel
64 public void set_fees(RoutingFees val) {
65 bindings.RouteHintHop_set_fees(this.ptr, val == null ? 0 : val.ptr & ~1);
66 this.ptrs_to.add(val);
70 * The difference in CLTV values between this node and the next node.
72 public short get_cltv_expiry_delta() {
73 short ret = bindings.RouteHintHop_get_cltv_expiry_delta(this.ptr);
78 * The difference in CLTV values between this node and the next node.
80 public void set_cltv_expiry_delta(short val) {
81 bindings.RouteHintHop_set_cltv_expiry_delta(this.ptr, val);
85 * The minimum value, in msat, which must be relayed to the next hop.
87 public Option_u64Z get_htlc_minimum_msat() {
88 long ret = bindings.RouteHintHop_get_htlc_minimum_msat(this.ptr);
89 Option_u64Z ret_hu_conv = Option_u64Z.constr_from_ptr(ret);
90 ret_hu_conv.ptrs_to.add(this);
95 * The minimum value, in msat, which must be relayed to the next hop.
97 public void set_htlc_minimum_msat(Option_u64Z val) {
98 bindings.RouteHintHop_set_htlc_minimum_msat(this.ptr, val.ptr);
102 * The maximum value in msat available for routing with a single HTLC.
104 public Option_u64Z get_htlc_maximum_msat() {
105 long ret = bindings.RouteHintHop_get_htlc_maximum_msat(this.ptr);
106 Option_u64Z ret_hu_conv = Option_u64Z.constr_from_ptr(ret);
107 ret_hu_conv.ptrs_to.add(this);
112 * The maximum value in msat available for routing with a single HTLC.
114 public void set_htlc_maximum_msat(Option_u64Z val) {
115 bindings.RouteHintHop_set_htlc_maximum_msat(this.ptr, val.ptr);
119 * Constructs a new RouteHintHop given each field
121 public static RouteHintHop of(byte[] src_node_id_arg, long short_channel_id_arg, RoutingFees fees_arg, short cltv_expiry_delta_arg, Option_u64Z htlc_minimum_msat_arg, Option_u64Z htlc_maximum_msat_arg) {
122 long ret = bindings.RouteHintHop_new(src_node_id_arg, short_channel_id_arg, fees_arg == null ? 0 : fees_arg.ptr & ~1, cltv_expiry_delta_arg, htlc_minimum_msat_arg.ptr, htlc_maximum_msat_arg.ptr);
123 RouteHintHop ret_hu_conv = new RouteHintHop(null, ret);
124 ret_hu_conv.ptrs_to.add(ret_hu_conv);
125 ret_hu_conv.ptrs_to.add(fees_arg);
130 * Checks if two RouteHintHops contain equal inner contents.
131 * This ignores pointers and is_owned flags and looks at the values in fields.
132 * Two objects with NULL inner values will be considered "equal" here.
134 public boolean eq(RouteHintHop b) {
135 boolean ret = bindings.RouteHintHop_eq(this.ptr, b == null ? 0 : b.ptr & ~1);
141 * Creates a copy of the RouteHintHop
143 public RouteHintHop clone() {
144 long ret = bindings.RouteHintHop_clone(this.ptr);
145 RouteHintHop ret_hu_conv = new RouteHintHop(null, ret);
146 ret_hu_conv.ptrs_to.add(this);