UNPKG

lightningdevkit

Version:
70 lines 2.52 kB
import { CommonBase } from './CommonBase.mjs'; import * as bindings from '../bindings.mjs'; /** * The minimum amount required for an item in an [`Offer`], denominated in either bitcoin or * another currency. */ export class Amount extends CommonBase { constructor(_dummy, ptr) { super(ptr, bindings.Amount_free); } /* @internal */ static constr_from_ptr(ptr) { const raw_ty = bindings.LDKAmount_ty_from_ptr(ptr); switch (raw_ty) { case 0: return new Amount_Bitcoin(ptr); case 1: return new Amount_Currency(ptr); default: throw new Error('oops, this should be unreachable'); // Unreachable without extending the (internal) bindings interface } } clone_ptr() { const ret = bindings.Amount_clone_ptr(this.ptr); return ret; } /** * Creates a copy of the Amount */ clone() { const ret = bindings.Amount_clone(this.ptr); const ret_hu_conv = Amount.constr_from_ptr(ret); CommonBase.add_ref_from(ret_hu_conv, this); return ret_hu_conv; } /** * Utility method to constructs a new Bitcoin-variant Amount */ static constructor_bitcoin(amount_msats) { const ret = bindings.Amount_bitcoin(amount_msats); const ret_hu_conv = Amount.constr_from_ptr(ret); CommonBase.add_ref_from(ret_hu_conv, ret_hu_conv); return ret_hu_conv; } /** * Utility method to constructs a new Currency-variant Amount */ static constructor_currency(iso4217_code, amount) { const ret = bindings.Amount_currency(bindings.encodeUint8Array(iso4217_code), amount); const ret_hu_conv = Amount.constr_from_ptr(ret); CommonBase.add_ref_from(ret_hu_conv, ret_hu_conv); return ret_hu_conv; } } /** A Amount of type Bitcoin */ export class Amount_Bitcoin extends Amount { /* @internal */ constructor(ptr) { super(null, ptr); this.amount_msats = bindings.LDKAmount_Bitcoin_get_amount_msats(ptr); } } /** A Amount of type Currency */ export class Amount_Currency extends Amount { /* @internal */ constructor(ptr) { super(null, ptr); const iso4217_code = bindings.LDKAmount_Currency_get_iso4217_code(ptr); const iso4217_code_conv = bindings.decodeUint8Array(iso4217_code); this.iso4217_code = iso4217_code_conv; this.amount = bindings.LDKAmount_Currency_get_amount(ptr); } } //# sourceMappingURL=Amount.mjs.map