UNPKG

lightningdevkit

Version:
307 lines 12.5 kB
import { Option_boolZ } from '../structs/Option_boolZ.mjs'; import { UntrustedString } from '../structs/UntrustedString.mjs'; import { CommonBase } from './CommonBase.mjs'; import * as bindings from '../bindings.mjs'; /** * The reason the channel was closed. See individual variants for more details. */ export class ClosureReason extends CommonBase { constructor(_dummy, ptr) { super(ptr, bindings.ClosureReason_free); } /* @internal */ static constr_from_ptr(ptr) { const raw_ty = bindings.LDKClosureReason_ty_from_ptr(ptr); switch (raw_ty) { case 0: return new ClosureReason_CounterpartyForceClosed(ptr); case 1: return new ClosureReason_HolderForceClosed(ptr); case 2: return new ClosureReason_LegacyCooperativeClosure(ptr); case 3: return new ClosureReason_CounterpartyInitiatedCooperativeClosure(ptr); case 4: return new ClosureReason_LocallyInitiatedCooperativeClosure(ptr); case 5: return new ClosureReason_CommitmentTxConfirmed(ptr); case 6: return new ClosureReason_FundingTimedOut(ptr); case 7: return new ClosureReason_ProcessingError(ptr); case 8: return new ClosureReason_DisconnectedPeer(ptr); case 9: return new ClosureReason_OutdatedChannelManager(ptr); case 10: return new ClosureReason_CounterpartyCoopClosedUnfundedChannel(ptr); case 11: return new ClosureReason_FundingBatchClosure(ptr); case 12: return new ClosureReason_HTLCsTimedOut(ptr); case 13: return new ClosureReason_PeerFeerateTooLow(ptr); default: throw new Error('oops, this should be unreachable'); // Unreachable without extending the (internal) bindings interface } } clone_ptr() { const ret = bindings.ClosureReason_clone_ptr(this.ptr); return ret; } /** * Creates a copy of the ClosureReason */ clone() { const ret = bindings.ClosureReason_clone(this.ptr); const ret_hu_conv = ClosureReason.constr_from_ptr(ret); CommonBase.add_ref_from(ret_hu_conv, this); return ret_hu_conv; } /** * Utility method to constructs a new CounterpartyForceClosed-variant ClosureReason */ static constructor_counterparty_force_closed(peer_msg) { const ret = bindings.ClosureReason_counterparty_force_closed(CommonBase.get_ptr_of(peer_msg)); const ret_hu_conv = ClosureReason.constr_from_ptr(ret); CommonBase.add_ref_from(ret_hu_conv, ret_hu_conv); return ret_hu_conv; } /** * Utility method to constructs a new HolderForceClosed-variant ClosureReason */ static constructor_holder_force_closed(broadcasted_latest_txn) { const ret = bindings.ClosureReason_holder_force_closed(CommonBase.get_ptr_of(broadcasted_latest_txn)); const ret_hu_conv = ClosureReason.constr_from_ptr(ret); CommonBase.add_ref_from(ret_hu_conv, ret_hu_conv); return ret_hu_conv; } /** * Utility method to constructs a new LegacyCooperativeClosure-variant ClosureReason */ static constructor_legacy_cooperative_closure() { const ret = bindings.ClosureReason_legacy_cooperative_closure(); const ret_hu_conv = ClosureReason.constr_from_ptr(ret); CommonBase.add_ref_from(ret_hu_conv, ret_hu_conv); return ret_hu_conv; } /** * Utility method to constructs a new CounterpartyInitiatedCooperativeClosure-variant ClosureReason */ static constructor_counterparty_initiated_cooperative_closure() { const ret = bindings.ClosureReason_counterparty_initiated_cooperative_closure(); const ret_hu_conv = ClosureReason.constr_from_ptr(ret); CommonBase.add_ref_from(ret_hu_conv, ret_hu_conv); return ret_hu_conv; } /** * Utility method to constructs a new LocallyInitiatedCooperativeClosure-variant ClosureReason */ static constructor_locally_initiated_cooperative_closure() { const ret = bindings.ClosureReason_locally_initiated_cooperative_closure(); const ret_hu_conv = ClosureReason.constr_from_ptr(ret); CommonBase.add_ref_from(ret_hu_conv, ret_hu_conv); return ret_hu_conv; } /** * Utility method to constructs a new CommitmentTxConfirmed-variant ClosureReason */ static constructor_commitment_tx_confirmed() { const ret = bindings.ClosureReason_commitment_tx_confirmed(); const ret_hu_conv = ClosureReason.constr_from_ptr(ret); CommonBase.add_ref_from(ret_hu_conv, ret_hu_conv); return ret_hu_conv; } /** * Utility method to constructs a new FundingTimedOut-variant ClosureReason */ static constructor_funding_timed_out() { const ret = bindings.ClosureReason_funding_timed_out(); const ret_hu_conv = ClosureReason.constr_from_ptr(ret); CommonBase.add_ref_from(ret_hu_conv, ret_hu_conv); return ret_hu_conv; } /** * Utility method to constructs a new ProcessingError-variant ClosureReason */ static constructor_processing_error(err) { const ret = bindings.ClosureReason_processing_error(bindings.encodeString(err)); const ret_hu_conv = ClosureReason.constr_from_ptr(ret); CommonBase.add_ref_from(ret_hu_conv, ret_hu_conv); return ret_hu_conv; } /** * Utility method to constructs a new DisconnectedPeer-variant ClosureReason */ static constructor_disconnected_peer() { const ret = bindings.ClosureReason_disconnected_peer(); const ret_hu_conv = ClosureReason.constr_from_ptr(ret); CommonBase.add_ref_from(ret_hu_conv, ret_hu_conv); return ret_hu_conv; } /** * Utility method to constructs a new OutdatedChannelManager-variant ClosureReason */ static constructor_outdated_channel_manager() { const ret = bindings.ClosureReason_outdated_channel_manager(); const ret_hu_conv = ClosureReason.constr_from_ptr(ret); CommonBase.add_ref_from(ret_hu_conv, ret_hu_conv); return ret_hu_conv; } /** * Utility method to constructs a new CounterpartyCoopClosedUnfundedChannel-variant ClosureReason */ static constructor_counterparty_coop_closed_unfunded_channel() { const ret = bindings.ClosureReason_counterparty_coop_closed_unfunded_channel(); const ret_hu_conv = ClosureReason.constr_from_ptr(ret); CommonBase.add_ref_from(ret_hu_conv, ret_hu_conv); return ret_hu_conv; } /** * Utility method to constructs a new FundingBatchClosure-variant ClosureReason */ static constructor_funding_batch_closure() { const ret = bindings.ClosureReason_funding_batch_closure(); const ret_hu_conv = ClosureReason.constr_from_ptr(ret); CommonBase.add_ref_from(ret_hu_conv, ret_hu_conv); return ret_hu_conv; } /** * Utility method to constructs a new HTLCsTimedOut-variant ClosureReason */ static constructor_htlcs_timed_out() { const ret = bindings.ClosureReason_htlcs_timed_out(); const ret_hu_conv = ClosureReason.constr_from_ptr(ret); CommonBase.add_ref_from(ret_hu_conv, ret_hu_conv); return ret_hu_conv; } /** * Utility method to constructs a new PeerFeerateTooLow-variant ClosureReason */ static constructor_peer_feerate_too_low(peer_feerate_sat_per_kw, required_feerate_sat_per_kw) { const ret = bindings.ClosureReason_peer_feerate_too_low(peer_feerate_sat_per_kw, required_feerate_sat_per_kw); const ret_hu_conv = ClosureReason.constr_from_ptr(ret); CommonBase.add_ref_from(ret_hu_conv, ret_hu_conv); return ret_hu_conv; } /** * Checks if two ClosureReasons contain equal inner contents. * This ignores pointers and is_owned flags and looks at the values in fields. */ eq(b) { const ret = bindings.ClosureReason_eq(this.ptr, CommonBase.get_ptr_of(b)); return ret; } /** * Get the string representation of a ClosureReason object */ to_str() { const ret = bindings.ClosureReason_to_str(this.ptr); const ret_conv = bindings.decodeString(ret); return ret_conv; } /** * Serialize the ClosureReason object into a byte array which can be read by ClosureReason_read */ write() { const ret = bindings.ClosureReason_write(this.ptr); const ret_conv = bindings.decodeUint8Array(ret); return ret_conv; } } /** A ClosureReason of type CounterpartyForceClosed */ export class ClosureReason_CounterpartyForceClosed extends ClosureReason { /* @internal */ constructor(ptr) { super(null, ptr); const peer_msg = bindings.LDKClosureReason_CounterpartyForceClosed_get_peer_msg(ptr); const peer_msg_hu_conv = new UntrustedString(null, peer_msg); CommonBase.add_ref_from(peer_msg_hu_conv, this); this.peer_msg = peer_msg_hu_conv; } } /** A ClosureReason of type HolderForceClosed */ export class ClosureReason_HolderForceClosed extends ClosureReason { /* @internal */ constructor(ptr) { super(null, ptr); const broadcasted_latest_txn = bindings.LDKClosureReason_HolderForceClosed_get_broadcasted_latest_txn(ptr); const broadcasted_latest_txn_hu_conv = Option_boolZ.constr_from_ptr(broadcasted_latest_txn); CommonBase.add_ref_from(broadcasted_latest_txn_hu_conv, this); this.broadcasted_latest_txn = broadcasted_latest_txn_hu_conv; } } /** A ClosureReason of type LegacyCooperativeClosure */ export class ClosureReason_LegacyCooperativeClosure extends ClosureReason { /* @internal */ constructor(ptr) { super(null, ptr); } } /** A ClosureReason of type CounterpartyInitiatedCooperativeClosure */ export class ClosureReason_CounterpartyInitiatedCooperativeClosure extends ClosureReason { /* @internal */ constructor(ptr) { super(null, ptr); } } /** A ClosureReason of type LocallyInitiatedCooperativeClosure */ export class ClosureReason_LocallyInitiatedCooperativeClosure extends ClosureReason { /* @internal */ constructor(ptr) { super(null, ptr); } } /** A ClosureReason of type CommitmentTxConfirmed */ export class ClosureReason_CommitmentTxConfirmed extends ClosureReason { /* @internal */ constructor(ptr) { super(null, ptr); } } /** A ClosureReason of type FundingTimedOut */ export class ClosureReason_FundingTimedOut extends ClosureReason { /* @internal */ constructor(ptr) { super(null, ptr); } } /** A ClosureReason of type ProcessingError */ export class ClosureReason_ProcessingError extends ClosureReason { /* @internal */ constructor(ptr) { super(null, ptr); const err = bindings.LDKClosureReason_ProcessingError_get_err(ptr); const err_conv = bindings.decodeString(err); this.err = err_conv; } } /** A ClosureReason of type DisconnectedPeer */ export class ClosureReason_DisconnectedPeer extends ClosureReason { /* @internal */ constructor(ptr) { super(null, ptr); } } /** A ClosureReason of type OutdatedChannelManager */ export class ClosureReason_OutdatedChannelManager extends ClosureReason { /* @internal */ constructor(ptr) { super(null, ptr); } } /** A ClosureReason of type CounterpartyCoopClosedUnfundedChannel */ export class ClosureReason_CounterpartyCoopClosedUnfundedChannel extends ClosureReason { /* @internal */ constructor(ptr) { super(null, ptr); } } /** A ClosureReason of type FundingBatchClosure */ export class ClosureReason_FundingBatchClosure extends ClosureReason { /* @internal */ constructor(ptr) { super(null, ptr); } } /** A ClosureReason of type HTLCsTimedOut */ export class ClosureReason_HTLCsTimedOut extends ClosureReason { /* @internal */ constructor(ptr) { super(null, ptr); } } /** A ClosureReason of type PeerFeerateTooLow */ export class ClosureReason_PeerFeerateTooLow extends ClosureReason { /* @internal */ constructor(ptr) { super(null, ptr); this.peer_feerate_sat_per_kw = bindings.LDKClosureReason_PeerFeerateTooLow_get_peer_feerate_sat_per_kw(ptr); this.required_feerate_sat_per_kw = bindings.LDKClosureReason_PeerFeerateTooLow_get_required_feerate_sat_per_kw(ptr); } } //# sourceMappingURL=ClosureReason.mjs.map