UNPKG

lightningdevkit

Version:
123 lines 5.86 kB
import { Option_ThirtyTwoBytesZ } from '../structs/Option_ThirtyTwoBytesZ.mjs'; import { CommonBase } from './CommonBase.mjs'; import * as bindings from '../bindings.mjs'; /** * Used by [`ChannelManager::list_recent_payments`] to express the status of recent payments. * These include payments that have yet to find a successful path, or have unresolved HTLCs. */ export class RecentPaymentDetails extends CommonBase { constructor(_dummy, ptr) { super(ptr, bindings.RecentPaymentDetails_free); } /* @internal */ static constr_from_ptr(ptr) { const raw_ty = bindings.LDKRecentPaymentDetails_ty_from_ptr(ptr); switch (raw_ty) { case 0: return new RecentPaymentDetails_AwaitingInvoice(ptr); case 1: return new RecentPaymentDetails_Pending(ptr); case 2: return new RecentPaymentDetails_Fulfilled(ptr); case 3: return new RecentPaymentDetails_Abandoned(ptr); default: throw new Error('oops, this should be unreachable'); // Unreachable without extending the (internal) bindings interface } } clone_ptr() { const ret = bindings.RecentPaymentDetails_clone_ptr(this.ptr); return ret; } /** * Creates a copy of the RecentPaymentDetails */ clone() { const ret = bindings.RecentPaymentDetails_clone(this.ptr); const ret_hu_conv = RecentPaymentDetails.constr_from_ptr(ret); CommonBase.add_ref_from(ret_hu_conv, this); return ret_hu_conv; } /** * Utility method to constructs a new AwaitingInvoice-variant RecentPaymentDetails */ static constructor_awaiting_invoice(payment_id) { const ret = bindings.RecentPaymentDetails_awaiting_invoice(bindings.encodeUint8Array(payment_id)); const ret_hu_conv = RecentPaymentDetails.constr_from_ptr(ret); CommonBase.add_ref_from(ret_hu_conv, ret_hu_conv); return ret_hu_conv; } /** * Utility method to constructs a new Pending-variant RecentPaymentDetails */ static constructor_pending(payment_id, payment_hash, total_msat) { const ret = bindings.RecentPaymentDetails_pending(bindings.encodeUint8Array(payment_id), bindings.encodeUint8Array(payment_hash), total_msat); const ret_hu_conv = RecentPaymentDetails.constr_from_ptr(ret); CommonBase.add_ref_from(ret_hu_conv, ret_hu_conv); return ret_hu_conv; } /** * Utility method to constructs a new Fulfilled-variant RecentPaymentDetails */ static constructor_fulfilled(payment_id, payment_hash) { const ret = bindings.RecentPaymentDetails_fulfilled(bindings.encodeUint8Array(payment_id), CommonBase.get_ptr_of(payment_hash)); const ret_hu_conv = RecentPaymentDetails.constr_from_ptr(ret); CommonBase.add_ref_from(ret_hu_conv, ret_hu_conv); return ret_hu_conv; } /** * Utility method to constructs a new Abandoned-variant RecentPaymentDetails */ static constructor_abandoned(payment_id, payment_hash) { const ret = bindings.RecentPaymentDetails_abandoned(bindings.encodeUint8Array(payment_id), bindings.encodeUint8Array(payment_hash)); const ret_hu_conv = RecentPaymentDetails.constr_from_ptr(ret); CommonBase.add_ref_from(ret_hu_conv, ret_hu_conv); return ret_hu_conv; } } /** A RecentPaymentDetails of type AwaitingInvoice */ export class RecentPaymentDetails_AwaitingInvoice extends RecentPaymentDetails { /* @internal */ constructor(ptr) { super(null, ptr); const payment_id = bindings.LDKRecentPaymentDetails_AwaitingInvoice_get_payment_id(ptr); const payment_id_conv = bindings.decodeUint8Array(payment_id); this.payment_id = payment_id_conv; } } /** A RecentPaymentDetails of type Pending */ export class RecentPaymentDetails_Pending extends RecentPaymentDetails { /* @internal */ constructor(ptr) { super(null, ptr); const payment_id = bindings.LDKRecentPaymentDetails_Pending_get_payment_id(ptr); const payment_id_conv = bindings.decodeUint8Array(payment_id); this.payment_id = payment_id_conv; const payment_hash = bindings.LDKRecentPaymentDetails_Pending_get_payment_hash(ptr); const payment_hash_conv = bindings.decodeUint8Array(payment_hash); this.payment_hash = payment_hash_conv; this.total_msat = bindings.LDKRecentPaymentDetails_Pending_get_total_msat(ptr); } } /** A RecentPaymentDetails of type Fulfilled */ export class RecentPaymentDetails_Fulfilled extends RecentPaymentDetails { /* @internal */ constructor(ptr) { super(null, ptr); const payment_id = bindings.LDKRecentPaymentDetails_Fulfilled_get_payment_id(ptr); const payment_id_conv = bindings.decodeUint8Array(payment_id); this.payment_id = payment_id_conv; const payment_hash = bindings.LDKRecentPaymentDetails_Fulfilled_get_payment_hash(ptr); const payment_hash_hu_conv = Option_ThirtyTwoBytesZ.constr_from_ptr(payment_hash); CommonBase.add_ref_from(payment_hash_hu_conv, this); this.payment_hash = payment_hash_hu_conv; } } /** A RecentPaymentDetails of type Abandoned */ export class RecentPaymentDetails_Abandoned extends RecentPaymentDetails { /* @internal */ constructor(ptr) { super(null, ptr); const payment_id = bindings.LDKRecentPaymentDetails_Abandoned_get_payment_id(ptr); const payment_id_conv = bindings.decodeUint8Array(payment_id); this.payment_id = payment_id_conv; const payment_hash = bindings.LDKRecentPaymentDetails_Abandoned_get_payment_hash(ptr); const payment_hash_conv = bindings.decodeUint8Array(payment_hash); this.payment_hash = payment_hash_conv; } } //# sourceMappingURL=RecentPaymentDetails.mjs.map