1 package org.ldk.structs;
3 import org.ldk.impl.bindings;
4 import org.ldk.enums.*;
6 import java.util.Arrays;
8 @SuppressWarnings("unchecked") // We correctly assign various generic arrays
9 public class Event extends CommonBase {
10 private Event(Object _dummy, long ptr) { super(ptr); }
11 long conv_to_c() { assert false; return 0; /* Should only be called on subclasses */ }
12 static Event constr_from_ptr(long ptr) {
13 bindings.LDKEvent raw_val = bindings.LDKEvent_ref_from_ptr(ptr);
14 if (raw_val.getClass() == bindings.LDKEvent.FundingGenerationReady.class) {
15 return new FundingGenerationReady(null, ptr);
17 if (raw_val.getClass() == bindings.LDKEvent.FundingBroadcastSafe.class) {
18 return new FundingBroadcastSafe(null, ptr);
20 if (raw_val.getClass() == bindings.LDKEvent.PaymentReceived.class) {
21 return new PaymentReceived(null, ptr);
23 if (raw_val.getClass() == bindings.LDKEvent.PaymentSent.class) {
24 return new PaymentSent(null, ptr);
26 if (raw_val.getClass() == bindings.LDKEvent.PaymentFailed.class) {
27 return new PaymentFailed(null, ptr);
29 if (raw_val.getClass() == bindings.LDKEvent.PendingHTLCsForwardable.class) {
30 return new PendingHTLCsForwardable(null, ptr);
32 if (raw_val.getClass() == bindings.LDKEvent.SpendableOutputs.class) {
33 return new SpendableOutputs(null, ptr);
35 assert false; return null; // Unreachable without extending the (internal) bindings interface
38 public final static class FundingGenerationReady extends Event {
39 public byte[] temporary_channel_id;
40 public long channel_value_satoshis;
41 public byte[] output_script;
42 public long user_channel_id;
43 private FundingGenerationReady(Object _dummy, long ptr) { super(null, ptr); }
44 @Override long conv_to_c() { return 0; /*XXX*/ }
46 public final static class FundingBroadcastSafe extends Event {
47 public OutPoint funding_txo;
48 public long user_channel_id;
49 private FundingBroadcastSafe(Object _dummy, long ptr) { super(null, ptr); }
50 @Override long conv_to_c() { return 0; /*XXX*/ }
52 public final static class PaymentReceived extends Event {
53 public byte[] payment_hash;
54 public byte[] payment_secret;
56 private PaymentReceived(Object _dummy, long ptr) { super(null, ptr); }
57 @Override long conv_to_c() { return 0; /*XXX*/ }
59 public final static class PaymentSent extends Event {
60 public byte[] payment_preimage;
61 private PaymentSent(Object _dummy, long ptr) { super(null, ptr); }
62 @Override long conv_to_c() { return 0; /*XXX*/ }
64 public final static class PaymentFailed extends Event {
65 public byte[] payment_hash;
66 public boolean rejected_by_dest;
67 private PaymentFailed(Object _dummy, long ptr) { super(null, ptr); }
68 @Override long conv_to_c() { return 0; /*XXX*/ }
70 public final static class PendingHTLCsForwardable extends Event {
71 public long time_forwardable;
72 private PendingHTLCsForwardable(Object _dummy, long ptr) { super(null, ptr); }
73 @Override long conv_to_c() { return 0; /*XXX*/ }
75 public final static class SpendableOutputs extends Event {
76 public SpendableOutputDescriptor[] outputs;
77 private SpendableOutputs(Object _dummy, long ptr) { super(null, ptr); }
78 @Override long conv_to_c() { return 0; /*XXX*/ }