Update auto-generated bindings
[ldk-java] / ts / structs / NetAddress.ts
1
2 import CommonBase from './CommonBase';
3 import * as bindings from '../bindings' // TODO: figure out location
4
5 export default class NetAddress extends CommonBase {
6         protected constructor(_dummy: object, ptr: number) { super(ptr); }
7         protected finalize() {
8                 super.finalize();
9                 if (this.ptr != 0) { bindings.NetAddress_free(this.ptr); }
10         }
11         static constr_from_ptr(ptr: number): NetAddress {
12                 const raw_val: bindings.LDKNetAddress = bindings.LDKNetAddress_ref_from_ptr(ptr);
13                 if (raw_val instanceof bindings.LDKNetAddress.IPv4) {
14                         return new IPv4(this.ptr, raw_val);
15                 }
16                 if (raw_val instanceof bindings.LDKNetAddress.IPv6) {
17                         return new IPv6(this.ptr, raw_val);
18                 }
19                 if (raw_val instanceof bindings.LDKNetAddress.OnionV2) {
20                         return new OnionV2(this.ptr, raw_val);
21                 }
22                 if (raw_val instanceof bindings.LDKNetAddress.OnionV3) {
23                         return new OnionV3(this.ptr, raw_val);
24                 }
25                 throw new Error('oops, this should be unreachable'); // Unreachable without extending the (internal) bindings interface
26         }
27
28 }
29 export class IPv4 extends NetAddress {
30         public addr: Uint8Array;
31         public port: number;
32         private constructor(ptr: number, obj: bindings.LDKNetAddress.IPv4) {
33                 super(null, ptr);
34                 this.addr = obj.addr;
35                 this.port = obj.port;
36         }
37 }
38 export class IPv6 extends NetAddress {
39         public addr: Uint8Array;
40         public port: number;
41         private constructor(ptr: number, obj: bindings.LDKNetAddress.IPv6) {
42                 super(null, ptr);
43                 this.addr = obj.addr;
44                 this.port = obj.port;
45         }
46 }
47 export class OnionV2 extends NetAddress {
48         public addr: Uint8Array;
49         public port: number;
50         private constructor(ptr: number, obj: bindings.LDKNetAddress.OnionV2) {
51                 super(null, ptr);
52                 this.addr = obj.addr;
53                 this.port = obj.port;
54         }
55 }
56 export class OnionV3 extends NetAddress {
57         public ed25519_pubkey: Uint8Array;
58         public checksum: number;
59         public version: number;
60         public port: number;
61         private constructor(ptr: number, obj: bindings.LDKNetAddress.OnionV3) {
62                 super(null, ptr);
63                 this.ed25519_pubkey = obj.ed25519_pubkey;
64                 this.checksum = obj.checksum;
65                 this.version = obj.version;
66                 this.port = obj.port;
67         }
68 }
69         public number clone_ptr() {
70                 number ret = bindings.NetAddress_clone_ptr(this.ptr);
71                 return ret;
72         }
73
74         public NetAddress clone() {
75                 number ret = bindings.NetAddress_clone(this.ptr);
76                 NetAddress ret_hu_conv = NetAddress.constr_from_ptr(ret);
77                 ret_hu_conv.ptrs_to.add(this);
78                 return ret_hu_conv;
79         }
80
81         public static NetAddress constructor_ipv4(Uint8Array addr, number port) {
82                 number ret = bindings.NetAddress_ipv4(InternalUtils.check_arr_len(addr, 4), port);
83                 NetAddress ret_hu_conv = NetAddress.constr_from_ptr(ret);
84                 ret_hu_conv.ptrs_to.add(ret_hu_conv);
85                 return ret_hu_conv;
86         }
87
88         public static NetAddress constructor_ipv6(Uint8Array addr, number port) {
89                 number ret = bindings.NetAddress_ipv6(InternalUtils.check_arr_len(addr, 16), port);
90                 NetAddress ret_hu_conv = NetAddress.constr_from_ptr(ret);
91                 ret_hu_conv.ptrs_to.add(ret_hu_conv);
92                 return ret_hu_conv;
93         }
94
95         public static NetAddress constructor_onion_v2(Uint8Array addr, number port) {
96                 number ret = bindings.NetAddress_onion_v2(InternalUtils.check_arr_len(addr, 10), port);
97                 NetAddress ret_hu_conv = NetAddress.constr_from_ptr(ret);
98                 ret_hu_conv.ptrs_to.add(ret_hu_conv);
99                 return ret_hu_conv;
100         }
101
102         public static NetAddress constructor_onion_v3(Uint8Array ed25519_pubkey, number checksum, number version, number port) {
103                 number ret = bindings.NetAddress_onion_v3(InternalUtils.check_arr_len(ed25519_pubkey, 32), checksum, version, port);
104                 NetAddress ret_hu_conv = NetAddress.constr_from_ptr(ret);
105                 ret_hu_conv.ptrs_to.add(ret_hu_conv);
106                 return ret_hu_conv;
107         }
108
109         public Uint8Array write() {
110                 Uint8Array ret = bindings.NetAddress_write(this.ptr);
111                 return ret;
112         }
113
114         public static Result_NetAddressDecodeErrorZ constructor_read(Uint8Array ser) {
115                 number ret = bindings.NetAddress_read(ser);
116                 Result_NetAddressDecodeErrorZ ret_hu_conv = Result_NetAddressDecodeErrorZ.constr_from_ptr(ret);
117                 return ret_hu_conv;
118         }
119
120 }