2 import CommonBase from './CommonBase';
3 import * as bindings from '../bindings' // TODO: figure out location
5 export default class MessageSendEvent extends CommonBase {
6 protected constructor(_dummy: object, ptr: number) { super(ptr); }
9 if (this.ptr != 0) { bindings.MessageSendEvent_free(this.ptr); }
11 static constr_from_ptr(ptr: number): MessageSendEvent {
12 const raw_val: bindings.LDKMessageSendEvent = bindings.LDKMessageSendEvent_ref_from_ptr(ptr);
13 if (raw_val instanceof bindings.LDKMessageSendEvent.SendAcceptChannel) {
14 return new SendAcceptChannel(this.ptr, raw_val);
16 if (raw_val instanceof bindings.LDKMessageSendEvent.SendOpenChannel) {
17 return new SendOpenChannel(this.ptr, raw_val);
19 if (raw_val instanceof bindings.LDKMessageSendEvent.SendFundingCreated) {
20 return new SendFundingCreated(this.ptr, raw_val);
22 if (raw_val instanceof bindings.LDKMessageSendEvent.SendFundingSigned) {
23 return new SendFundingSigned(this.ptr, raw_val);
25 if (raw_val instanceof bindings.LDKMessageSendEvent.SendFundingLocked) {
26 return new SendFundingLocked(this.ptr, raw_val);
28 if (raw_val instanceof bindings.LDKMessageSendEvent.SendAnnouncementSignatures) {
29 return new SendAnnouncementSignatures(this.ptr, raw_val);
31 if (raw_val instanceof bindings.LDKMessageSendEvent.UpdateHTLCs) {
32 return new UpdateHTLCs(this.ptr, raw_val);
34 if (raw_val instanceof bindings.LDKMessageSendEvent.SendRevokeAndACK) {
35 return new SendRevokeAndACK(this.ptr, raw_val);
37 if (raw_val instanceof bindings.LDKMessageSendEvent.SendClosingSigned) {
38 return new SendClosingSigned(this.ptr, raw_val);
40 if (raw_val instanceof bindings.LDKMessageSendEvent.SendShutdown) {
41 return new SendShutdown(this.ptr, raw_val);
43 if (raw_val instanceof bindings.LDKMessageSendEvent.SendChannelReestablish) {
44 return new SendChannelReestablish(this.ptr, raw_val);
46 if (raw_val instanceof bindings.LDKMessageSendEvent.BroadcastChannelAnnouncement) {
47 return new BroadcastChannelAnnouncement(this.ptr, raw_val);
49 if (raw_val instanceof bindings.LDKMessageSendEvent.BroadcastNodeAnnouncement) {
50 return new BroadcastNodeAnnouncement(this.ptr, raw_val);
52 if (raw_val instanceof bindings.LDKMessageSendEvent.BroadcastChannelUpdate) {
53 return new BroadcastChannelUpdate(this.ptr, raw_val);
55 if (raw_val instanceof bindings.LDKMessageSendEvent.HandleError) {
56 return new HandleError(this.ptr, raw_val);
58 if (raw_val instanceof bindings.LDKMessageSendEvent.PaymentFailureNetworkUpdate) {
59 return new PaymentFailureNetworkUpdate(this.ptr, raw_val);
61 if (raw_val instanceof bindings.LDKMessageSendEvent.SendChannelRangeQuery) {
62 return new SendChannelRangeQuery(this.ptr, raw_val);
64 if (raw_val instanceof bindings.LDKMessageSendEvent.SendShortIdsQuery) {
65 return new SendShortIdsQuery(this.ptr, raw_val);
67 throw new Error('oops, this should be unreachable'); // Unreachable without extending the (internal) bindings interface
71 export class SendAcceptChannel extends MessageSendEvent {
72 public node_id: byte[];
73 public msg: AcceptChannel;
74 private constructor(ptr: number, obj: bindings.LDKMessageSendEvent.SendAcceptChannel) {
76 this.node_id = obj.node_id;
77 const msg: uint32_t = obj.msg;
78 AcceptChannel msg_hu_conv = new AcceptChannel(null, msg);
79 this.msg = msg_hu_conv;
82 export class SendOpenChannel extends MessageSendEvent {
83 public node_id: byte[];
84 public msg: OpenChannel;
85 private constructor(ptr: number, obj: bindings.LDKMessageSendEvent.SendOpenChannel) {
87 this.node_id = obj.node_id;
88 const msg: uint32_t = obj.msg;
89 OpenChannel msg_hu_conv = new OpenChannel(null, msg);
90 this.msg = msg_hu_conv;
93 export class SendFundingCreated extends MessageSendEvent {
94 public node_id: byte[];
95 public msg: FundingCreated;
96 private constructor(ptr: number, obj: bindings.LDKMessageSendEvent.SendFundingCreated) {
98 this.node_id = obj.node_id;
99 const msg: uint32_t = obj.msg;
100 FundingCreated msg_hu_conv = new FundingCreated(null, msg);
101 this.msg = msg_hu_conv;
104 export class SendFundingSigned extends MessageSendEvent {
105 public node_id: byte[];
106 public msg: FundingSigned;
107 private constructor(ptr: number, obj: bindings.LDKMessageSendEvent.SendFundingSigned) {
109 this.node_id = obj.node_id;
110 const msg: uint32_t = obj.msg;
111 FundingSigned msg_hu_conv = new FundingSigned(null, msg);
112 this.msg = msg_hu_conv;
115 export class SendFundingLocked extends MessageSendEvent {
116 public node_id: byte[];
117 public msg: FundingLocked;
118 private constructor(ptr: number, obj: bindings.LDKMessageSendEvent.SendFundingLocked) {
120 this.node_id = obj.node_id;
121 const msg: uint32_t = obj.msg;
122 FundingLocked msg_hu_conv = new FundingLocked(null, msg);
123 this.msg = msg_hu_conv;
126 export class SendAnnouncementSignatures extends MessageSendEvent {
127 public node_id: byte[];
128 public msg: AnnouncementSignatures;
129 private constructor(ptr: number, obj: bindings.LDKMessageSendEvent.SendAnnouncementSignatures) {
131 this.node_id = obj.node_id;
132 const msg: uint32_t = obj.msg;
133 AnnouncementSignatures msg_hu_conv = new AnnouncementSignatures(null, msg);
134 this.msg = msg_hu_conv;
137 export class UpdateHTLCs extends MessageSendEvent {
138 public node_id: byte[];
139 public updates: CommitmentUpdate;
140 private constructor(ptr: number, obj: bindings.LDKMessageSendEvent.UpdateHTLCs) {
142 this.node_id = obj.node_id;
143 const updates: uint32_t = obj.updates;
144 CommitmentUpdate updates_hu_conv = new CommitmentUpdate(null, updates);
145 this.updates = updates_hu_conv;
148 export class SendRevokeAndACK extends MessageSendEvent {
149 public node_id: byte[];
150 public msg: RevokeAndACK;
151 private constructor(ptr: number, obj: bindings.LDKMessageSendEvent.SendRevokeAndACK) {
153 this.node_id = obj.node_id;
154 const msg: uint32_t = obj.msg;
155 RevokeAndACK msg_hu_conv = new RevokeAndACK(null, msg);
156 this.msg = msg_hu_conv;
159 export class SendClosingSigned extends MessageSendEvent {
160 public node_id: byte[];
161 public msg: ClosingSigned;
162 private constructor(ptr: number, obj: bindings.LDKMessageSendEvent.SendClosingSigned) {
164 this.node_id = obj.node_id;
165 const msg: uint32_t = obj.msg;
166 ClosingSigned msg_hu_conv = new ClosingSigned(null, msg);
167 this.msg = msg_hu_conv;
170 export class SendShutdown extends MessageSendEvent {
171 public node_id: byte[];
172 public msg: Shutdown;
173 private constructor(ptr: number, obj: bindings.LDKMessageSendEvent.SendShutdown) {
175 this.node_id = obj.node_id;
176 const msg: uint32_t = obj.msg;
177 Shutdown msg_hu_conv = new Shutdown(null, msg);
178 this.msg = msg_hu_conv;
181 export class SendChannelReestablish extends MessageSendEvent {
182 public node_id: byte[];
183 public msg: ChannelReestablish;
184 private constructor(ptr: number, obj: bindings.LDKMessageSendEvent.SendChannelReestablish) {
186 this.node_id = obj.node_id;
187 const msg: uint32_t = obj.msg;
188 ChannelReestablish msg_hu_conv = new ChannelReestablish(null, msg);
189 this.msg = msg_hu_conv;
192 export class BroadcastChannelAnnouncement extends MessageSendEvent {
193 public msg: ChannelAnnouncement;
194 public update_msg: ChannelUpdate;
195 private constructor(ptr: number, obj: bindings.LDKMessageSendEvent.BroadcastChannelAnnouncement) {
197 const msg: uint32_t = obj.msg;
198 ChannelAnnouncement msg_hu_conv = new ChannelAnnouncement(null, msg);
199 this.msg = msg_hu_conv;
200 const update_msg: uint32_t = obj.update_msg;
201 ChannelUpdate update_msg_hu_conv = new ChannelUpdate(null, update_msg);
202 this.update_msg = update_msg_hu_conv;
205 export class BroadcastNodeAnnouncement extends MessageSendEvent {
206 public msg: NodeAnnouncement;
207 private constructor(ptr: number, obj: bindings.LDKMessageSendEvent.BroadcastNodeAnnouncement) {
209 const msg: uint32_t = obj.msg;
210 NodeAnnouncement msg_hu_conv = new NodeAnnouncement(null, msg);
211 this.msg = msg_hu_conv;
214 export class BroadcastChannelUpdate extends MessageSendEvent {
215 public msg: ChannelUpdate;
216 private constructor(ptr: number, obj: bindings.LDKMessageSendEvent.BroadcastChannelUpdate) {
218 const msg: uint32_t = obj.msg;
219 ChannelUpdate msg_hu_conv = new ChannelUpdate(null, msg);
220 this.msg = msg_hu_conv;
223 export class HandleError extends MessageSendEvent {
224 public node_id: byte[];
225 public action: ErrorAction;
226 private constructor(ptr: number, obj: bindings.LDKMessageSendEvent.HandleError) {
228 this.node_id = obj.node_id;
229 const action: uint32_t = obj.action;
230 ErrorAction action_hu_conv = ErrorAction.constr_from_ptr(action);
231 action_hu_conv.ptrs_to.add(this);
232 this.action = action_hu_conv;
235 export class PaymentFailureNetworkUpdate extends MessageSendEvent {
236 public update: HTLCFailChannelUpdate;
237 private constructor(ptr: number, obj: bindings.LDKMessageSendEvent.PaymentFailureNetworkUpdate) {
239 const update: uint32_t = obj.update;
240 HTLCFailChannelUpdate update_hu_conv = HTLCFailChannelUpdate.constr_from_ptr(update);
241 update_hu_conv.ptrs_to.add(this);
242 this.update = update_hu_conv;
245 export class SendChannelRangeQuery extends MessageSendEvent {
246 public node_id: byte[];
247 public msg: QueryChannelRange;
248 private constructor(ptr: number, obj: bindings.LDKMessageSendEvent.SendChannelRangeQuery) {
250 this.node_id = obj.node_id;
251 const msg: uint32_t = obj.msg;
252 QueryChannelRange msg_hu_conv = new QueryChannelRange(null, msg);
253 this.msg = msg_hu_conv;
256 export class SendShortIdsQuery extends MessageSendEvent {
257 public node_id: byte[];
258 public msg: QueryShortChannelIds;
259 private constructor(ptr: number, obj: bindings.LDKMessageSendEvent.SendShortIdsQuery) {
261 this.node_id = obj.node_id;
262 const msg: uint32_t = obj.msg;
263 QueryShortChannelIds msg_hu_conv = new QueryShortChannelIds(null, msg);
264 this.msg = msg_hu_conv;