a962f002c62f2a50f9cda99c7e4b904c4ec2bbb0
[ldk-java] / c_sharp / src / org / ldk / structs / UpdateFee.cs
1 using org.ldk.impl;
2 using org.ldk.enums;
3 using org.ldk.util;
4 using System;
5
6 namespace org { namespace ldk { namespace structs {
7
8
9 /**
10  * An update_fee message to be sent or received from a peer
11  */
12 public class UpdateFee : CommonBase {
13         internal UpdateFee(object _dummy, long ptr) : base(ptr) { }
14         ~UpdateFee() {
15                 if (ptr != 0) { bindings.UpdateFee_free(ptr); }
16         }
17
18         /**
19          * The channel ID
20          */
21         public byte[] get_channel_id() {
22                 byte[] ret = bindings.UpdateFee_get_channel_id(this.ptr);
23                 GC.KeepAlive(this);
24                 return ret;
25         }
26
27         /**
28          * The channel ID
29          */
30         public void set_channel_id(byte[] val) {
31                 bindings.UpdateFee_set_channel_id(this.ptr, InternalUtils.check_arr_len(val, 32));
32                 GC.KeepAlive(this);
33                 GC.KeepAlive(val);
34         }
35
36         /**
37          * Fee rate per 1000-weight of the transaction
38          */
39         public int get_feerate_per_kw() {
40                 int ret = bindings.UpdateFee_get_feerate_per_kw(this.ptr);
41                 GC.KeepAlive(this);
42                 return ret;
43         }
44
45         /**
46          * Fee rate per 1000-weight of the transaction
47          */
48         public void set_feerate_per_kw(int val) {
49                 bindings.UpdateFee_set_feerate_per_kw(this.ptr, val);
50                 GC.KeepAlive(this);
51                 GC.KeepAlive(val);
52         }
53
54         /**
55          * Constructs a new UpdateFee given each field
56          */
57         public static UpdateFee of(byte[] channel_id_arg, int feerate_per_kw_arg) {
58                 long ret = bindings.UpdateFee_new(InternalUtils.check_arr_len(channel_id_arg, 32), feerate_per_kw_arg);
59                 GC.KeepAlive(channel_id_arg);
60                 GC.KeepAlive(feerate_per_kw_arg);
61                 if (ret >= 0 && ret <= 4096) { return null; }
62                 org.ldk.structs.UpdateFee ret_hu_conv = null; if (ret < 0 || ret > 4096) { ret_hu_conv = new org.ldk.structs.UpdateFee(null, ret); }
63                 if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.AddLast(ret_hu_conv); };
64                 return ret_hu_conv;
65         }
66
67         internal long clone_ptr() {
68                 long ret = bindings.UpdateFee_clone_ptr(this.ptr);
69                 GC.KeepAlive(this);
70                 return ret;
71         }
72
73         /**
74          * Creates a copy of the UpdateFee
75          */
76         public UpdateFee clone() {
77                 long ret = bindings.UpdateFee_clone(this.ptr);
78                 GC.KeepAlive(this);
79                 if (ret >= 0 && ret <= 4096) { return null; }
80                 org.ldk.structs.UpdateFee ret_hu_conv = null; if (ret < 0 || ret > 4096) { ret_hu_conv = new org.ldk.structs.UpdateFee(null, ret); }
81                 if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.AddLast(this); };
82                 return ret_hu_conv;
83         }
84
85         /**
86          * Checks if two UpdateFees contain equal inner contents.
87          * This ignores pointers and is_owned flags and looks at the values in fields.
88          * Two objects with NULL inner values will be considered "equal" here.
89          */
90         public bool eq(org.ldk.structs.UpdateFee b) {
91                 bool ret = bindings.UpdateFee_eq(this.ptr, b == null ? 0 : b.ptr);
92                 GC.KeepAlive(this);
93                 GC.KeepAlive(b);
94                 if (this != null) { this.ptrs_to.AddLast(b); };
95                 return ret;
96         }
97
98         public override bool Equals(object o) {
99                 if (!(o is UpdateFee)) return false;
100                 return this.eq((UpdateFee)o);
101         }
102         /**
103          * Serialize the UpdateFee object into a byte array which can be read by UpdateFee_read
104          */
105         public byte[] write() {
106                 byte[] ret = bindings.UpdateFee_write(this.ptr);
107                 GC.KeepAlive(this);
108                 return ret;
109         }
110
111         /**
112          * Read a UpdateFee from a byte array, created by UpdateFee_write
113          */
114         public static Result_UpdateFeeDecodeErrorZ read(byte[] ser) {
115                 long ret = bindings.UpdateFee_read(ser);
116                 GC.KeepAlive(ser);
117                 if (ret >= 0 && ret <= 4096) { return null; }
118                 Result_UpdateFeeDecodeErrorZ ret_hu_conv = Result_UpdateFeeDecodeErrorZ.constr_from_ptr(ret);
119                 return ret_hu_conv;
120         }
121
122 }
123 } } }