Merge pull request #141 from TheBlueMatt/main
[ldk-java] / c_sharp / src / org / ldk / structs / Bolt11ParseError.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  * Errors that indicate what is wrong with the invoice. They have some granularity for debug
10  * reasons, but should generally result in an \"invalid BOLT11 invoice\" message for the user.
11  */
12 public class Bolt11ParseError : CommonBase {
13         protected Bolt11ParseError(object _dummy, long ptr) : base(ptr) { }
14         ~Bolt11ParseError() {
15                 if (ptr != 0) { bindings.Bolt11ParseError_free(ptr); }
16         }
17
18         internal static Bolt11ParseError constr_from_ptr(long ptr) {
19                 long raw_ty = bindings.LDKBolt11ParseError_ty_from_ptr(ptr);
20                 switch (raw_ty) {
21                         case 0: return new Bolt11ParseError_Bech32Error(ptr);
22                         case 1: return new Bolt11ParseError_ParseAmountError(ptr);
23                         case 2: return new Bolt11ParseError_MalformedSignature(ptr);
24                         case 3: return new Bolt11ParseError_BadPrefix(ptr);
25                         case 4: return new Bolt11ParseError_UnknownCurrency(ptr);
26                         case 5: return new Bolt11ParseError_UnknownSiPrefix(ptr);
27                         case 6: return new Bolt11ParseError_MalformedHRP(ptr);
28                         case 7: return new Bolt11ParseError_TooShortDataPart(ptr);
29                         case 8: return new Bolt11ParseError_UnexpectedEndOfTaggedFields(ptr);
30                         case 9: return new Bolt11ParseError_DescriptionDecodeError(ptr);
31                         case 10: return new Bolt11ParseError_PaddingError(ptr);
32                         case 11: return new Bolt11ParseError_IntegerOverflowError(ptr);
33                         case 12: return new Bolt11ParseError_InvalidSegWitProgramLength(ptr);
34                         case 13: return new Bolt11ParseError_InvalidPubKeyHashLength(ptr);
35                         case 14: return new Bolt11ParseError_InvalidScriptHashLength(ptr);
36                         case 15: return new Bolt11ParseError_InvalidRecoveryId(ptr);
37                         case 16: return new Bolt11ParseError_InvalidSliceLength(ptr);
38                         case 17: return new Bolt11ParseError_Skip(ptr);
39                         default:
40                                 throw new ArgumentException("Impossible enum variant");
41                 }
42         }
43
44         /** A Bolt11ParseError of type Bech32Error */
45         public class Bolt11ParseError_Bech32Error : Bolt11ParseError {
46                 public Bech32Error bech32_error;
47                 internal Bolt11ParseError_Bech32Error(long ptr) : base(null, ptr) {
48                         long bech32_error = bindings.LDKBolt11ParseError_Bech32Error_get_bech32_error(ptr);
49                         org.ldk.structs.Bech32Error bech32_error_hu_conv = org.ldk.structs.Bech32Error.constr_from_ptr(bech32_error);
50                         if (bech32_error_hu_conv != null) { bech32_error_hu_conv.ptrs_to.AddLast(this); };
51                         this.bech32_error = bech32_error_hu_conv;
52                 }
53         }
54         /** A Bolt11ParseError of type ParseAmountError */
55         public class Bolt11ParseError_ParseAmountError : Bolt11ParseError {
56                 public UnqualifiedError parse_amount_error;
57                 internal Bolt11ParseError_ParseAmountError(long ptr) : base(null, ptr) {
58                         int parse_amount_error = bindings.LDKBolt11ParseError_ParseAmountError_get_parse_amount_error(ptr);
59                         UnqualifiedError parse_amount_error_conv = new UnqualifiedError(parse_amount_error);
60                         this.parse_amount_error = parse_amount_error_conv;
61                 }
62         }
63         /** A Bolt11ParseError of type MalformedSignature */
64         public class Bolt11ParseError_MalformedSignature : Bolt11ParseError {
65                 public Secp256k1Error malformed_signature;
66                 internal Bolt11ParseError_MalformedSignature(long ptr) : base(null, ptr) {
67                         this.malformed_signature = bindings.LDKBolt11ParseError_MalformedSignature_get_malformed_signature(ptr);
68                 }
69         }
70         /** A Bolt11ParseError of type BadPrefix */
71         public class Bolt11ParseError_BadPrefix : Bolt11ParseError {
72                 internal Bolt11ParseError_BadPrefix(long ptr) : base(null, ptr) {
73                 }
74         }
75         /** A Bolt11ParseError of type UnknownCurrency */
76         public class Bolt11ParseError_UnknownCurrency : Bolt11ParseError {
77                 internal Bolt11ParseError_UnknownCurrency(long ptr) : base(null, ptr) {
78                 }
79         }
80         /** A Bolt11ParseError of type UnknownSiPrefix */
81         public class Bolt11ParseError_UnknownSiPrefix : Bolt11ParseError {
82                 internal Bolt11ParseError_UnknownSiPrefix(long ptr) : base(null, ptr) {
83                 }
84         }
85         /** A Bolt11ParseError of type MalformedHRP */
86         public class Bolt11ParseError_MalformedHRP : Bolt11ParseError {
87                 internal Bolt11ParseError_MalformedHRP(long ptr) : base(null, ptr) {
88                 }
89         }
90         /** A Bolt11ParseError of type TooShortDataPart */
91         public class Bolt11ParseError_TooShortDataPart : Bolt11ParseError {
92                 internal Bolt11ParseError_TooShortDataPart(long ptr) : base(null, ptr) {
93                 }
94         }
95         /** A Bolt11ParseError of type UnexpectedEndOfTaggedFields */
96         public class Bolt11ParseError_UnexpectedEndOfTaggedFields : Bolt11ParseError {
97                 internal Bolt11ParseError_UnexpectedEndOfTaggedFields(long ptr) : base(null, ptr) {
98                 }
99         }
100         /** A Bolt11ParseError of type DescriptionDecodeError */
101         public class Bolt11ParseError_DescriptionDecodeError : Bolt11ParseError {
102                 public UnqualifiedError description_decode_error;
103                 internal Bolt11ParseError_DescriptionDecodeError(long ptr) : base(null, ptr) {
104                         int description_decode_error = bindings.LDKBolt11ParseError_DescriptionDecodeError_get_description_decode_error(ptr);
105                         UnqualifiedError description_decode_error_conv = new UnqualifiedError(description_decode_error);
106                         this.description_decode_error = description_decode_error_conv;
107                 }
108         }
109         /** A Bolt11ParseError of type PaddingError */
110         public class Bolt11ParseError_PaddingError : Bolt11ParseError {
111                 internal Bolt11ParseError_PaddingError(long ptr) : base(null, ptr) {
112                 }
113         }
114         /** A Bolt11ParseError of type IntegerOverflowError */
115         public class Bolt11ParseError_IntegerOverflowError : Bolt11ParseError {
116                 internal Bolt11ParseError_IntegerOverflowError(long ptr) : base(null, ptr) {
117                 }
118         }
119         /** A Bolt11ParseError of type InvalidSegWitProgramLength */
120         public class Bolt11ParseError_InvalidSegWitProgramLength : Bolt11ParseError {
121                 internal Bolt11ParseError_InvalidSegWitProgramLength(long ptr) : base(null, ptr) {
122                 }
123         }
124         /** A Bolt11ParseError of type InvalidPubKeyHashLength */
125         public class Bolt11ParseError_InvalidPubKeyHashLength : Bolt11ParseError {
126                 internal Bolt11ParseError_InvalidPubKeyHashLength(long ptr) : base(null, ptr) {
127                 }
128         }
129         /** A Bolt11ParseError of type InvalidScriptHashLength */
130         public class Bolt11ParseError_InvalidScriptHashLength : Bolt11ParseError {
131                 internal Bolt11ParseError_InvalidScriptHashLength(long ptr) : base(null, ptr) {
132                 }
133         }
134         /** A Bolt11ParseError of type InvalidRecoveryId */
135         public class Bolt11ParseError_InvalidRecoveryId : Bolt11ParseError {
136                 internal Bolt11ParseError_InvalidRecoveryId(long ptr) : base(null, ptr) {
137                 }
138         }
139         /** A Bolt11ParseError of type InvalidSliceLength */
140         public class Bolt11ParseError_InvalidSliceLength : Bolt11ParseError {
141                 public string invalid_slice_length;
142                 internal Bolt11ParseError_InvalidSliceLength(long ptr) : base(null, ptr) {
143                         this.invalid_slice_length = bindings.LDKBolt11ParseError_InvalidSliceLength_get_invalid_slice_length(ptr);
144                 }
145         }
146         /** A Bolt11ParseError of type Skip */
147         public class Bolt11ParseError_Skip : Bolt11ParseError {
148                 internal Bolt11ParseError_Skip(long ptr) : base(null, ptr) {
149                 }
150         }
151         internal long clone_ptr() {
152                 long ret = bindings.Bolt11ParseError_clone_ptr(this.ptr);
153                 GC.KeepAlive(this);
154                 return ret;
155         }
156
157         /**
158          * Creates a copy of the Bolt11ParseError
159          */
160         public Bolt11ParseError clone() {
161                 long ret = bindings.Bolt11ParseError_clone(this.ptr);
162                 GC.KeepAlive(this);
163                 if (ret >= 0 && ret <= 4096) { return null; }
164                 org.ldk.structs.Bolt11ParseError ret_hu_conv = org.ldk.structs.Bolt11ParseError.constr_from_ptr(ret);
165                 if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.AddLast(this); };
166                 return ret_hu_conv;
167         }
168
169         /**
170          * Utility method to constructs a new Bech32Error-variant Bolt11ParseError
171          */
172         public static Bolt11ParseError bech32_error(org.ldk.structs.Bech32Error a) {
173                 long ret = bindings.Bolt11ParseError_bech32_error(a.ptr);
174                 GC.KeepAlive(a);
175                 if (ret >= 0 && ret <= 4096) { return null; }
176                 org.ldk.structs.Bolt11ParseError ret_hu_conv = org.ldk.structs.Bolt11ParseError.constr_from_ptr(ret);
177                 if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.AddLast(ret_hu_conv); };
178                 if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.AddLast(a); };
179                 return ret_hu_conv;
180         }
181
182         /**
183          * Utility method to constructs a new ParseAmountError-variant Bolt11ParseError
184          */
185         public static Bolt11ParseError parse_amount_error(org.ldk.util.UnqualifiedError a) {
186                 long ret = bindings.Bolt11ParseError_parse_amount_error(0);
187                 GC.KeepAlive(a);
188                 if (ret >= 0 && ret <= 4096) { return null; }
189                 org.ldk.structs.Bolt11ParseError ret_hu_conv = org.ldk.structs.Bolt11ParseError.constr_from_ptr(ret);
190                 if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.AddLast(ret_hu_conv); };
191                 return ret_hu_conv;
192         }
193
194         /**
195          * Utility method to constructs a new MalformedSignature-variant Bolt11ParseError
196          */
197         public static Bolt11ParseError malformed_signature(Secp256k1Error a) {
198                 long ret = bindings.Bolt11ParseError_malformed_signature(a);
199                 GC.KeepAlive(a);
200                 if (ret >= 0 && ret <= 4096) { return null; }
201                 org.ldk.structs.Bolt11ParseError ret_hu_conv = org.ldk.structs.Bolt11ParseError.constr_from_ptr(ret);
202                 if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.AddLast(ret_hu_conv); };
203                 return ret_hu_conv;
204         }
205
206         /**
207          * Utility method to constructs a new BadPrefix-variant Bolt11ParseError
208          */
209         public static Bolt11ParseError bad_prefix() {
210                 long ret = bindings.Bolt11ParseError_bad_prefix();
211                 if (ret >= 0 && ret <= 4096) { return null; }
212                 org.ldk.structs.Bolt11ParseError ret_hu_conv = org.ldk.structs.Bolt11ParseError.constr_from_ptr(ret);
213                 if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.AddLast(ret_hu_conv); };
214                 return ret_hu_conv;
215         }
216
217         /**
218          * Utility method to constructs a new UnknownCurrency-variant Bolt11ParseError
219          */
220         public static Bolt11ParseError unknown_currency() {
221                 long ret = bindings.Bolt11ParseError_unknown_currency();
222                 if (ret >= 0 && ret <= 4096) { return null; }
223                 org.ldk.structs.Bolt11ParseError ret_hu_conv = org.ldk.structs.Bolt11ParseError.constr_from_ptr(ret);
224                 if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.AddLast(ret_hu_conv); };
225                 return ret_hu_conv;
226         }
227
228         /**
229          * Utility method to constructs a new UnknownSiPrefix-variant Bolt11ParseError
230          */
231         public static Bolt11ParseError unknown_si_prefix() {
232                 long ret = bindings.Bolt11ParseError_unknown_si_prefix();
233                 if (ret >= 0 && ret <= 4096) { return null; }
234                 org.ldk.structs.Bolt11ParseError ret_hu_conv = org.ldk.structs.Bolt11ParseError.constr_from_ptr(ret);
235                 if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.AddLast(ret_hu_conv); };
236                 return ret_hu_conv;
237         }
238
239         /**
240          * Utility method to constructs a new MalformedHRP-variant Bolt11ParseError
241          */
242         public static Bolt11ParseError malformed_hrp() {
243                 long ret = bindings.Bolt11ParseError_malformed_hrp();
244                 if (ret >= 0 && ret <= 4096) { return null; }
245                 org.ldk.structs.Bolt11ParseError ret_hu_conv = org.ldk.structs.Bolt11ParseError.constr_from_ptr(ret);
246                 if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.AddLast(ret_hu_conv); };
247                 return ret_hu_conv;
248         }
249
250         /**
251          * Utility method to constructs a new TooShortDataPart-variant Bolt11ParseError
252          */
253         public static Bolt11ParseError too_short_data_part() {
254                 long ret = bindings.Bolt11ParseError_too_short_data_part();
255                 if (ret >= 0 && ret <= 4096) { return null; }
256                 org.ldk.structs.Bolt11ParseError ret_hu_conv = org.ldk.structs.Bolt11ParseError.constr_from_ptr(ret);
257                 if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.AddLast(ret_hu_conv); };
258                 return ret_hu_conv;
259         }
260
261         /**
262          * Utility method to constructs a new UnexpectedEndOfTaggedFields-variant Bolt11ParseError
263          */
264         public static Bolt11ParseError unexpected_end_of_tagged_fields() {
265                 long ret = bindings.Bolt11ParseError_unexpected_end_of_tagged_fields();
266                 if (ret >= 0 && ret <= 4096) { return null; }
267                 org.ldk.structs.Bolt11ParseError ret_hu_conv = org.ldk.structs.Bolt11ParseError.constr_from_ptr(ret);
268                 if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.AddLast(ret_hu_conv); };
269                 return ret_hu_conv;
270         }
271
272         /**
273          * Utility method to constructs a new DescriptionDecodeError-variant Bolt11ParseError
274          */
275         public static Bolt11ParseError description_decode_error(org.ldk.util.UnqualifiedError a) {
276                 long ret = bindings.Bolt11ParseError_description_decode_error(0);
277                 GC.KeepAlive(a);
278                 if (ret >= 0 && ret <= 4096) { return null; }
279                 org.ldk.structs.Bolt11ParseError ret_hu_conv = org.ldk.structs.Bolt11ParseError.constr_from_ptr(ret);
280                 if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.AddLast(ret_hu_conv); };
281                 return ret_hu_conv;
282         }
283
284         /**
285          * Utility method to constructs a new PaddingError-variant Bolt11ParseError
286          */
287         public static Bolt11ParseError padding_error() {
288                 long ret = bindings.Bolt11ParseError_padding_error();
289                 if (ret >= 0 && ret <= 4096) { return null; }
290                 org.ldk.structs.Bolt11ParseError ret_hu_conv = org.ldk.structs.Bolt11ParseError.constr_from_ptr(ret);
291                 if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.AddLast(ret_hu_conv); };
292                 return ret_hu_conv;
293         }
294
295         /**
296          * Utility method to constructs a new IntegerOverflowError-variant Bolt11ParseError
297          */
298         public static Bolt11ParseError integer_overflow_error() {
299                 long ret = bindings.Bolt11ParseError_integer_overflow_error();
300                 if (ret >= 0 && ret <= 4096) { return null; }
301                 org.ldk.structs.Bolt11ParseError ret_hu_conv = org.ldk.structs.Bolt11ParseError.constr_from_ptr(ret);
302                 if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.AddLast(ret_hu_conv); };
303                 return ret_hu_conv;
304         }
305
306         /**
307          * Utility method to constructs a new InvalidSegWitProgramLength-variant Bolt11ParseError
308          */
309         public static Bolt11ParseError invalid_seg_wit_program_length() {
310                 long ret = bindings.Bolt11ParseError_invalid_seg_wit_program_length();
311                 if (ret >= 0 && ret <= 4096) { return null; }
312                 org.ldk.structs.Bolt11ParseError ret_hu_conv = org.ldk.structs.Bolt11ParseError.constr_from_ptr(ret);
313                 if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.AddLast(ret_hu_conv); };
314                 return ret_hu_conv;
315         }
316
317         /**
318          * Utility method to constructs a new InvalidPubKeyHashLength-variant Bolt11ParseError
319          */
320         public static Bolt11ParseError invalid_pub_key_hash_length() {
321                 long ret = bindings.Bolt11ParseError_invalid_pub_key_hash_length();
322                 if (ret >= 0 && ret <= 4096) { return null; }
323                 org.ldk.structs.Bolt11ParseError ret_hu_conv = org.ldk.structs.Bolt11ParseError.constr_from_ptr(ret);
324                 if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.AddLast(ret_hu_conv); };
325                 return ret_hu_conv;
326         }
327
328         /**
329          * Utility method to constructs a new InvalidScriptHashLength-variant Bolt11ParseError
330          */
331         public static Bolt11ParseError invalid_script_hash_length() {
332                 long ret = bindings.Bolt11ParseError_invalid_script_hash_length();
333                 if (ret >= 0 && ret <= 4096) { return null; }
334                 org.ldk.structs.Bolt11ParseError ret_hu_conv = org.ldk.structs.Bolt11ParseError.constr_from_ptr(ret);
335                 if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.AddLast(ret_hu_conv); };
336                 return ret_hu_conv;
337         }
338
339         /**
340          * Utility method to constructs a new InvalidRecoveryId-variant Bolt11ParseError
341          */
342         public static Bolt11ParseError invalid_recovery_id() {
343                 long ret = bindings.Bolt11ParseError_invalid_recovery_id();
344                 if (ret >= 0 && ret <= 4096) { return null; }
345                 org.ldk.structs.Bolt11ParseError ret_hu_conv = org.ldk.structs.Bolt11ParseError.constr_from_ptr(ret);
346                 if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.AddLast(ret_hu_conv); };
347                 return ret_hu_conv;
348         }
349
350         /**
351          * Utility method to constructs a new InvalidSliceLength-variant Bolt11ParseError
352          */
353         public static Bolt11ParseError invalid_slice_length(string a) {
354                 long ret = bindings.Bolt11ParseError_invalid_slice_length(a);
355                 GC.KeepAlive(a);
356                 if (ret >= 0 && ret <= 4096) { return null; }
357                 org.ldk.structs.Bolt11ParseError ret_hu_conv = org.ldk.structs.Bolt11ParseError.constr_from_ptr(ret);
358                 if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.AddLast(ret_hu_conv); };
359                 return ret_hu_conv;
360         }
361
362         /**
363          * Utility method to constructs a new Skip-variant Bolt11ParseError
364          */
365         public static Bolt11ParseError skip() {
366                 long ret = bindings.Bolt11ParseError_skip();
367                 if (ret >= 0 && ret <= 4096) { return null; }
368                 org.ldk.structs.Bolt11ParseError ret_hu_conv = org.ldk.structs.Bolt11ParseError.constr_from_ptr(ret);
369                 if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.AddLast(ret_hu_conv); };
370                 return ret_hu_conv;
371         }
372
373         /**
374          * Checks if two Bolt11ParseErrors contain equal inner contents.
375          * This ignores pointers and is_owned flags and looks at the values in fields.
376          */
377         public bool eq(org.ldk.structs.Bolt11ParseError b) {
378                 bool ret = bindings.Bolt11ParseError_eq(this.ptr, b == null ? 0 : b.ptr);
379                 GC.KeepAlive(this);
380                 GC.KeepAlive(b);
381                 return ret;
382         }
383
384         public override bool Equals(object o) {
385                 if (!(o is Bolt11ParseError)) return false;
386                 return this.eq((Bolt11ParseError)o);
387         }
388         /**
389          * Get the string representation of a Bolt11ParseError object
390          */
391         public string to_str() {
392                 string ret = bindings.Bolt11ParseError_to_str(this.ptr);
393                 GC.KeepAlive(this);
394                 return ret;
395         }
396
397 }
398 } } }