1 package org.ldk.structs;
3 import org.ldk.impl.bindings;
4 import org.ldk.enums.*;
6 import java.util.Arrays;
7 import javax.annotation.Nullable;
11 * Fees for routing via a given channel or a node
13 @SuppressWarnings("unchecked") // We correctly assign various generic arrays
14 public class RoutingFees extends CommonBase {
15 RoutingFees(Object _dummy, long ptr) { super(ptr); }
16 @Override @SuppressWarnings("deprecation")
17 protected void finalize() throws Throwable {
19 if (ptr != 0) { bindings.RoutingFees_free(ptr); }
23 * Flat routing fee in satoshis
25 public int get_base_msat() {
26 int ret = bindings.RoutingFees_get_base_msat(this.ptr);
31 * Flat routing fee in satoshis
33 public void set_base_msat(int val) {
34 bindings.RoutingFees_set_base_msat(this.ptr, val);
38 * Liquidity-based routing fee in millionths of a routed amount.
39 * In other words, 10000 is 1%.
41 public int get_proportional_millionths() {
42 int ret = bindings.RoutingFees_get_proportional_millionths(this.ptr);
47 * Liquidity-based routing fee in millionths of a routed amount.
48 * In other words, 10000 is 1%.
50 public void set_proportional_millionths(int val) {
51 bindings.RoutingFees_set_proportional_millionths(this.ptr, val);
55 * Constructs a new RoutingFees given each field
57 public static RoutingFees of(int base_msat_arg, int proportional_millionths_arg) {
58 long ret = bindings.RoutingFees_new(base_msat_arg, proportional_millionths_arg);
59 if (ret < 1024) { return null; }
60 RoutingFees ret_hu_conv = new RoutingFees(null, ret);
61 ret_hu_conv.ptrs_to.add(ret_hu_conv);
66 * Checks if two RoutingFeess contain equal inner contents.
67 * This ignores pointers and is_owned flags and looks at the values in fields.
68 * Two objects with NULL inner values will be considered "equal" here.
70 public boolean eq(RoutingFees b) {
71 boolean ret = bindings.RoutingFees_eq(this.ptr, b == null ? 0 : b.ptr & ~1);
77 * Creates a copy of the RoutingFees
79 public RoutingFees clone() {
80 long ret = bindings.RoutingFees_clone(this.ptr);
81 if (ret < 1024) { return null; }
82 RoutingFees ret_hu_conv = new RoutingFees(null, ret);
83 ret_hu_conv.ptrs_to.add(this);
88 * Checks if two RoutingFeess contain equal inner contents.
91 long ret = bindings.RoutingFees_hash(this.ptr);
96 * Serialize the RoutingFees object into a byte array which can be read by RoutingFees_read
98 public byte[] write() {
99 byte[] ret = bindings.RoutingFees_write(this.ptr);
104 * Read a RoutingFees from a byte array, created by RoutingFees_write
106 public static Result_RoutingFeesDecodeErrorZ read(byte[] ser) {
107 long ret = bindings.RoutingFees_read(ser);
108 if (ret < 1024) { return null; }
109 Result_RoutingFeesDecodeErrorZ ret_hu_conv = Result_RoutingFeesDecodeErrorZ.constr_from_ptr(ret);