import CommonBase from './CommonBase.mjs';
import * as bindings from '../bindings.mjs'
+/**
+ * The reason the channel was closed. See individual variants more details.
+ */
export class ClosureReason extends CommonBase {
protected constructor(_dummy: object, ptr: number) { super(ptr, bindings.ClosureReason_free); }
/* @internal */
return ret;
}
+ /**
+ * Creates a copy of the ClosureReason
+ */
public clone(): ClosureReason {
const ret: number = bindings.ClosureReason_clone(this.ptr);
const ret_hu_conv: ClosureReason = ClosureReason.constr_from_ptr(ret);
return ret_hu_conv;
}
+ /**
+ * Utility method to constructs a new CounterpartyForceClosed-variant ClosureReason
+ */
public static constructor_counterparty_force_closed(peer_msg: string): ClosureReason {
const ret: number = bindings.ClosureReason_counterparty_force_closed(bindings.encodeString(peer_msg));
const ret_hu_conv: ClosureReason = ClosureReason.constr_from_ptr(ret);
return ret_hu_conv;
}
+ /**
+ * Utility method to constructs a new HolderForceClosed-variant ClosureReason
+ */
public static constructor_holder_force_closed(): ClosureReason {
const ret: number = bindings.ClosureReason_holder_force_closed();
const ret_hu_conv: ClosureReason = ClosureReason.constr_from_ptr(ret);
return ret_hu_conv;
}
+ /**
+ * Utility method to constructs a new CooperativeClosure-variant ClosureReason
+ */
public static constructor_cooperative_closure(): ClosureReason {
const ret: number = bindings.ClosureReason_cooperative_closure();
const ret_hu_conv: ClosureReason = ClosureReason.constr_from_ptr(ret);
return ret_hu_conv;
}
+ /**
+ * Utility method to constructs a new CommitmentTxConfirmed-variant ClosureReason
+ */
public static constructor_commitment_tx_confirmed(): ClosureReason {
const ret: number = bindings.ClosureReason_commitment_tx_confirmed();
const ret_hu_conv: ClosureReason = ClosureReason.constr_from_ptr(ret);
return ret_hu_conv;
}
+ /**
+ * Utility method to constructs a new FundingTimedOut-variant ClosureReason
+ */
public static constructor_funding_timed_out(): ClosureReason {
const ret: number = bindings.ClosureReason_funding_timed_out();
const ret_hu_conv: ClosureReason = ClosureReason.constr_from_ptr(ret);
return ret_hu_conv;
}
+ /**
+ * Utility method to constructs a new ProcessingError-variant ClosureReason
+ */
public static constructor_processing_error(err: string): ClosureReason {
const ret: number = bindings.ClosureReason_processing_error(bindings.encodeString(err));
const ret_hu_conv: ClosureReason = ClosureReason.constr_from_ptr(ret);
return ret_hu_conv;
}
+ /**
+ * Utility method to constructs a new DisconnectedPeer-variant ClosureReason
+ */
public static constructor_disconnected_peer(): ClosureReason {
const ret: number = bindings.ClosureReason_disconnected_peer();
const ret_hu_conv: ClosureReason = ClosureReason.constr_from_ptr(ret);
return ret_hu_conv;
}
+ /**
+ * Utility method to constructs a new OutdatedChannelManager-variant ClosureReason
+ */
public static constructor_outdated_channel_manager(): ClosureReason {
const ret: number = bindings.ClosureReason_outdated_channel_manager();
const ret_hu_conv: ClosureReason = ClosureReason.constr_from_ptr(ret);
return ret_hu_conv;
}
+ /**
+ * Serialize the ClosureReason object into a byte array which can be read by ClosureReason_read
+ */
public write(): Uint8Array {
const ret: number = bindings.ClosureReason_write(this.ptr);
const ret_conv: Uint8Array = bindings.decodeUint8Array(ret);
}
}
+/** A ClosureReason of type CounterpartyForceClosed */
export class ClosureReason_CounterpartyForceClosed extends ClosureReason {
+ /**
+ * The error which the peer sent us.
+ *
+ * The string should be sanitized before it is used (e.g emitted to logs
+ * or printed to stdout). Otherwise, a well crafted error message may exploit
+ * a security vulnerability in the terminal emulator or the logging subsystem.
+ */
public peer_msg: string;
/* @internal */
public constructor(ptr: number) {
this.peer_msg = peer_msg_conv;
}
}
+/** A ClosureReason of type HolderForceClosed */
export class ClosureReason_HolderForceClosed extends ClosureReason {
/* @internal */
public constructor(ptr: number) {
super(null, ptr);
}
}
+/** A ClosureReason of type CooperativeClosure */
export class ClosureReason_CooperativeClosure extends ClosureReason {
/* @internal */
public constructor(ptr: number) {
super(null, ptr);
}
}
+/** A ClosureReason of type CommitmentTxConfirmed */
export class ClosureReason_CommitmentTxConfirmed extends ClosureReason {
/* @internal */
public constructor(ptr: number) {
super(null, ptr);
}
}
+/** A ClosureReason of type FundingTimedOut */
export class ClosureReason_FundingTimedOut extends ClosureReason {
/* @internal */
public constructor(ptr: number) {
super(null, ptr);
}
}
+/** A ClosureReason of type ProcessingError */
export class ClosureReason_ProcessingError extends ClosureReason {
+ /**
+ * A developer-readable error message which we generated.
+ */
public err: string;
/* @internal */
public constructor(ptr: number) {
this.err = err_conv;
}
}
+/** A ClosureReason of type DisconnectedPeer */
export class ClosureReason_DisconnectedPeer extends ClosureReason {
/* @internal */
public constructor(ptr: number) {
super(null, ptr);
}
}
+/** A ClosureReason of type OutdatedChannelManager */
export class ClosureReason_OutdatedChannelManager extends ClosureReason {
/* @internal */
public constructor(ptr: number) {