UNPKG

lightningdevkit

Version:
46 lines 1.92 kB
import { Result_SchnorrSignatureNoneZ } from '../structs/Result_SchnorrSignatureNoneZ.mjs'; import { UnsignedInvoiceRequest } from '../structs/UnsignedInvoiceRequest.mjs'; import { CommonBase } from './CommonBase.mjs'; import * as bindings from '../bindings.mjs'; class LDKSignInvoiceRequestFnHolder { constructor() { this.held = null; } } /** * A function for signing an [`UnsignedInvoiceRequest`]. */ export class SignInvoiceRequestFn extends CommonBase { /* @internal */ constructor(_dummy, ptr) { super(ptr, bindings.SignInvoiceRequestFn_free); this.bindings_instance = null; } /** Creates a new instance of SignInvoiceRequestFn from a given implementation */ static new_impl(arg) { const impl_holder = new LDKSignInvoiceRequestFnHolder(); let structImplementation = { sign_invoice_request(message) { const message_hu_conv = new UnsignedInvoiceRequest(null, message); const ret = arg.sign_invoice_request(message_hu_conv); const result = ret.clone_ptr(); return result; }, }; const ptr_idx = bindings.LDKSignInvoiceRequestFn_new(structImplementation); impl_holder.held = new SignInvoiceRequestFn(null, ptr_idx[0]); impl_holder.held.instance_idx = ptr_idx[1]; impl_holder.held.bindings_instance = structImplementation; return impl_holder.held; } /** * Signs a [`TaggedHash`] computed over the merkle root of `message`'s TLV stream. */ sign_invoice_request(message) { const ret = bindings.SignInvoiceRequestFn_sign_invoice_request(this.ptr, CommonBase.get_ptr_of(message)); const ret_hu_conv = Result_SchnorrSignatureNoneZ.constr_from_ptr(ret); CommonBase.add_ref_from(this, message); return ret_hu_conv; } } //# sourceMappingURL=SignInvoiceRequestFn.mjs.map