X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Forg%2Fldk%2Fstructs%2FClosureReason.java;h=88ac15738986e379f8fb1fb346a484dbaf7ed1aa;hb=6d094e745feaf94c1059555cd1c997965a34bc36;hp=495f5ab2c349b394a9fc9e5f1dbb2a5a2091a358;hpb=a7653cf8717b1f9df4d3f4c4bd0b1f50f3bbc230;p=ldk-java diff --git a/src/main/java/org/ldk/structs/ClosureReason.java b/src/main/java/org/ldk/structs/ClosureReason.java index 495f5ab2..88ac1573 100644 --- a/src/main/java/org/ldk/structs/ClosureReason.java +++ b/src/main/java/org/ldk/structs/ClosureReason.java @@ -44,6 +44,12 @@ public class ClosureReason extends CommonBase { assert false; return null; // Unreachable without extending the (internal) bindings interface } + /** + * Closure generated from receiving a peer error message. + * + * Our counterparty may have broadcasted their latest commitment state, and we have + * as well. + */ public final static class CounterpartyForceClosed extends ClosureReason { /** * The error which the peer sent us. @@ -58,21 +64,38 @@ public class ClosureReason extends CommonBase { this.peer_msg = obj.peer_msg; } } + /** + * Closure generated from [`ChannelManager::force_close_channel`], called by the user. + * + * [`ChannelManager::force_close_channel`]: crate::ln::channelmanager::ChannelManager::force_close_channel. + */ public final static class HolderForceClosed extends ClosureReason { private HolderForceClosed(long ptr, bindings.LDKClosureReason.HolderForceClosed obj) { super(null, ptr); } } + /** + * The channel was closed after negotiating a cooperative close and we've now broadcasted + * the cooperative close transaction. Note the shutdown may have been initiated by us. + */ public final static class CooperativeClosure extends ClosureReason { private CooperativeClosure(long ptr, bindings.LDKClosureReason.CooperativeClosure obj) { super(null, ptr); } } + /** + * A commitment transaction was confirmed on chain, closing the channel. Most likely this + * commitment transaction came from our counterparty, but it may also have come from + * a copy of our own `ChannelMonitor`. + */ public final static class CommitmentTxConfirmed extends ClosureReason { private CommitmentTxConfirmed(long ptr, bindings.LDKClosureReason.CommitmentTxConfirmed obj) { super(null, ptr); } } + /** + * Closure generated from processing an event, likely a HTLC forward/relay/reception. + */ public final static class ProcessingError extends ClosureReason { /** * A developer-readable error message which we generated. @@ -83,22 +106,38 @@ public class ClosureReason extends CommonBase { this.err = obj.err; } } + /** + * The `PeerManager` informed us that we've disconnected from the peer. We close channels + * if the `PeerManager` informed us that it is unlikely we'll be able to connect to the + * peer again in the future or if the peer disconnected before we finished negotiating + * the channel open. The first case may be caused by incompatible features which our + * counterparty, or we, require. + */ public final static class DisconnectedPeer extends ClosureReason { private DisconnectedPeer(long ptr, bindings.LDKClosureReason.DisconnectedPeer obj) { super(null, ptr); } } + /** + * Closure generated from `ChannelManager::read` if the ChannelMonitor is newer than + * the ChannelManager deserialized. + */ public final static class OutdatedChannelManager extends ClosureReason { private OutdatedChannelManager(long ptr, bindings.LDKClosureReason.OutdatedChannelManager obj) { super(null, ptr); } } + long clone_ptr() { + long ret = bindings.ClosureReason_clone_ptr(this.ptr); + return ret; + } + /** * Creates a copy of the ClosureReason */ public ClosureReason clone() { long ret = bindings.ClosureReason_clone(this.ptr); - if (ret < 1024) { return null; } + if (ret >= 0 && ret <= 4096) { return null; } ClosureReason ret_hu_conv = ClosureReason.constr_from_ptr(ret); ret_hu_conv.ptrs_to.add(this); return ret_hu_conv; @@ -109,7 +148,7 @@ public class ClosureReason extends CommonBase { */ public static ClosureReason counterparty_force_closed(java.lang.String peer_msg) { long ret = bindings.ClosureReason_counterparty_force_closed(peer_msg); - if (ret < 1024) { return null; } + if (ret >= 0 && ret <= 4096) { return null; } ClosureReason ret_hu_conv = ClosureReason.constr_from_ptr(ret); ret_hu_conv.ptrs_to.add(ret_hu_conv); return ret_hu_conv; @@ -120,7 +159,7 @@ public class ClosureReason extends CommonBase { */ public static ClosureReason holder_force_closed() { long ret = bindings.ClosureReason_holder_force_closed(); - if (ret < 1024) { return null; } + if (ret >= 0 && ret <= 4096) { return null; } ClosureReason ret_hu_conv = ClosureReason.constr_from_ptr(ret); ret_hu_conv.ptrs_to.add(ret_hu_conv); return ret_hu_conv; @@ -131,7 +170,7 @@ public class ClosureReason extends CommonBase { */ public static ClosureReason cooperative_closure() { long ret = bindings.ClosureReason_cooperative_closure(); - if (ret < 1024) { return null; } + if (ret >= 0 && ret <= 4096) { return null; } ClosureReason ret_hu_conv = ClosureReason.constr_from_ptr(ret); ret_hu_conv.ptrs_to.add(ret_hu_conv); return ret_hu_conv; @@ -142,7 +181,7 @@ public class ClosureReason extends CommonBase { */ public static ClosureReason commitment_tx_confirmed() { long ret = bindings.ClosureReason_commitment_tx_confirmed(); - if (ret < 1024) { return null; } + if (ret >= 0 && ret <= 4096) { return null; } ClosureReason ret_hu_conv = ClosureReason.constr_from_ptr(ret); ret_hu_conv.ptrs_to.add(ret_hu_conv); return ret_hu_conv; @@ -153,7 +192,7 @@ public class ClosureReason extends CommonBase { */ public static ClosureReason processing_error(java.lang.String err) { long ret = bindings.ClosureReason_processing_error(err); - if (ret < 1024) { return null; } + if (ret >= 0 && ret <= 4096) { return null; } ClosureReason ret_hu_conv = ClosureReason.constr_from_ptr(ret); ret_hu_conv.ptrs_to.add(ret_hu_conv); return ret_hu_conv; @@ -164,7 +203,7 @@ public class ClosureReason extends CommonBase { */ public static ClosureReason disconnected_peer() { long ret = bindings.ClosureReason_disconnected_peer(); - if (ret < 1024) { return null; } + if (ret >= 0 && ret <= 4096) { return null; } ClosureReason ret_hu_conv = ClosureReason.constr_from_ptr(ret); ret_hu_conv.ptrs_to.add(ret_hu_conv); return ret_hu_conv; @@ -175,7 +214,7 @@ public class ClosureReason extends CommonBase { */ public static ClosureReason outdated_channel_manager() { long ret = bindings.ClosureReason_outdated_channel_manager(); - if (ret < 1024) { return null; } + if (ret >= 0 && ret <= 4096) { return null; } ClosureReason ret_hu_conv = ClosureReason.constr_from_ptr(ret); ret_hu_conv.ptrs_to.add(ret_hu_conv); return ret_hu_conv;